@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-vietnamese-wdth-normal.rJmnGBSt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-ext-wdth-normal.7khWdh9v.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-wdth-normal.DY7AcnAa.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--green:#1f6f5c;--green-deep:#16302a;--ink:#2b3a36;--muted:#5d6f6a;--paper:#f7f9f8;--grid:#d5e4dc;--grid-strong:#b9d3c6;--hivis:#e8590c;--hivis-text:#b8480a;--white:#fff;--planned:#e8eef7;--planned-border:#9fb3d1;--progress:#fff4d6;--progress-border:#e0b44a;--done:#e3f4ea;--done-border:#6fbf8e;--today:#fffbe9;--font:"Archivo Variable", "Archivo", system-ui, sans-serif;--wrap:76rem;--gutter:clamp(1.25rem, 4vw, 3rem);--section:clamp(4.5rem, 9vw, 8rem);color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5.5rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font);color:var(--ink);background:var(--white);text-rendering:optimizelegibility;margin:0;font-size:1.125rem;line-height:1.6}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}h1,h2{letter-spacing:-.02em;text-wrap:balance;font-weight:780;font-stretch:118%;line-height:1.04}h1{font-size:clamp(2.35rem,4.6vw,4rem)}h2{margin-bottom:clamp(2rem,4vw,3rem);font-size:clamp(1.85rem,3.2vw,2.75rem)}h3{font-size:1.25rem;font-weight:680;line-height:1.3}p,li,dd{text-wrap:pretty;max-width:38em}a{color:var(--green);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--hivis);outline-offset:3px;border-radius:2px}.wrap{width:100%;max-width:var(--wrap);padding-inline:var(--gutter);margin-inline:auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:10;background:var(--ink);color:var(--white);padding:.6rem 1rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.lead{font-size:clamp(1.15rem,1.6vw,1.3rem);line-height:1.55}.button{border:2px solid var(--green);background:var(--green);min-height:3rem;color:var(--white);border-radius:4px;align-items:center;padding:.7rem 1.4rem;font-size:1rem;font-weight:650;text-decoration:none;transition:background-color .15s;display:inline-flex}.button:hover{background:#185a4a}.button-quiet{color:var(--green);background:0 0}.button-quiet:hover{background:var(--done)}.site-header{z-index:5;backdrop-filter:blur(8px);border-bottom:1px solid var(--grid);background:#fffffff0;position:sticky;top:0}.header-row{align-items:center;gap:2rem;min-height:4.5rem;display:flex}.logo{display:block}.logo svg{width:auto;height:100%;display:block}.header-logo{height:2.25rem;display:block}.header-logo .logo{height:100%}.header-nav{gap:1.75rem;margin-left:auto;font-size:1rem;display:flex}.header-nav a{color:var(--ink);text-decoration:none}.header-nav a:hover{color:var(--green);text-decoration:underline}.header-actions{align-items:center;gap:1.25rem;font-size:1rem;display:flex}.header-actions .button{min-height:2.5rem;padding:.4rem 1rem}.lang-switch{color:var(--ink)}@media (width<=960px){.header-nav{display:none}.header-actions{margin-left:auto}}@media (width<=420px){.header-logo{height:1.9rem}.header-actions{gap:.9rem}}.hero{border-bottom:1px solid var(--grid-strong);overflow:hidden}.hero-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:clamp(2rem,4vw,4rem);display:grid}.hero-copy{padding-block:clamp(3rem,7vw,6.5rem)}.hero-copy .lead{color:var(--ink);margin-top:1.5rem}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:2.25rem;display:flex}.hero-note{color:var(--muted);margin-top:.75rem;font-size:.95rem}@media (width<=960px){.hero-grid{grid-template-columns:minmax(0,1fr)}.hero-copy{padding-bottom:0}}.sheet{margin-right:calc(-1 * var(--gutter) - max(0px, (100vw - var(--wrap)) / 2));background-color:var(--paper);background-image:linear-gradient(var(--grid-strong) 1px, transparent 1px), linear-gradient(90deg, var(--grid-strong) 1px, transparent 1px), linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);border-left:1px solid var(--grid-strong);background-size:60px 60px,60px 60px,12px 12px,12px 12px;align-self:stretch;align-items:center;padding:clamp(2.5rem,5vw,4.5rem) clamp(1.25rem,3vw,3rem);display:flex;position:relative}.sheet-inner{width:100%;max-width:46rem;padding-bottom:11rem;position:relative}.week-dim,.hours-dim{color:var(--hivis-text);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-size:.85rem;font-weight:650;font-stretch:85%;display:flex;position:relative}.dim-line{background:var(--hivis);height:1.5px;position:absolute;inset:50% 0 auto}.dim-line:before,.dim-line:after{content:"";background:var(--hivis);width:1.5px;height:13px;position:absolute;top:-6px}.dim-line:before{left:0}.dim-line:after{right:0}.dim-label{background:var(--paper);padding:0 .5rem;line-height:1.2;position:relative}.week-dim{height:1.25rem;margin:0 0 .75rem calc(4.75rem + 1px)}.board{background:var(--white);border:1px solid var(--grid-strong);box-shadow:0 1px 0 var(--grid-strong);border-radius:6px;grid-template-rows:2.25rem repeat(3,5.75rem);grid-template-columns:4.75rem repeat(5,minmax(6.75rem,1fr));font-size:.8rem;line-height:1.25;display:grid}.board-corner,.board-day{border-bottom:1px solid var(--grid);grid-row:1}.board-day{color:var(--muted);border-left:1px solid var(--grid);align-items:center;padding:0 .6rem;font-weight:650;font-stretch:85%;display:flex}.board-day.today{color:var(--ink);background:var(--today)}.board-col{border-left:1px solid var(--grid);grid-row:2/span 3}.board-col.today{background:var(--today)}.board-row{border-top:1px solid var(--grid);grid-column:1/-1}.board-person{grid-column:1;align-items:center;padding:0 .75rem;font-weight:650;display:flex}.task,.live-slot{margin:.4rem}.task{z-index:1;border:1px solid;border-left-width:4px;border-radius:4px;flex-direction:column;gap:.15rem;min-width:0;padding:.45rem .55rem;display:flex;position:relative}.task-planned{background:var(--planned);border-color:var(--planned-border)}.task-progress{background:var(--progress);border-color:var(--progress-border)}.task-done{background:var(--done);border-color:var(--done-border)}.task-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:650;display:-webkit-box;overflow:hidden}.task-project,.task-state{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-stretch:85%;overflow:hidden}.live-slot{z-index:2;grid-template-rows:auto 1fr;gap:.35rem;display:grid;position:relative}.live-slot .task{margin:0}.task-live{background:var(--done);border-color:var(--done-border)}.task-state,.phone-status,.phone-button{display:grid}.task-state>*,.phone-status>*,.phone-button>*{grid-area:1/1}.live-planned,.live-running{opacity:0}.hours-dim{height:1rem;font-size:.75rem}.hours-dim .dim-label{background:var(--today)}.phone{z-index:3;background:var(--ink);border-radius:1.9rem;width:12.5rem;padding:.55rem;position:absolute;top:15rem;right:clamp(-1.5rem,-2vw,-.5rem);box-shadow:0 18px 40px -18px #16302a8c}.phone-screen{background:var(--white);border-radius:1.45rem;flex-direction:column;gap:.2rem;padding:1.4rem 1rem 1rem;font-size:.8rem;line-height:1.3;display:flex}.phone-today{color:var(--muted);font-weight:650;font-stretch:85%}.phone-task{margin-top:.35rem;font-size:1.05rem;font-weight:720;font-stretch:105%}.phone-meta{color:var(--muted)}.phone-status{margin-top:.75rem;font-weight:650}.phone-status .live-running{color:#8a6512}.phone-status .live-done{color:var(--green)}.phone-button{margin-top:.6rem}.phone-button>span{letter-spacing:.04em;border-radius:10px;place-items:center;height:3.25rem;font-size:1.05rem;font-weight:800;font-stretch:115%;display:grid}.btn-start{background:var(--green);color:var(--white)}.btn-finish{background:var(--ink);color:var(--white)}.btn-done{background:var(--done);color:var(--green);font-variant-numeric:tabular-nums}.phone-small{grid-template-columns:1fr 1fr;gap:.4rem;margin-top:.5rem;display:grid}.phone-small span{border:1px solid var(--grid-strong);text-align:center;min-height:2.25rem;color:var(--muted);border-radius:8px;place-items:center;padding:.2rem;font-size:.7rem;display:grid}@media (prefers-reduced-motion:no-preference){.sheet .live-planned,.sheet .live-running,.sheet .live-done,.task-live,.phone-button,.hours-dim .dim-line,.hours-dim .dim-label{animation-duration:4.6s;animation-timing-function:linear;animation-delay:.8s;animation-fill-mode:both}.sheet .live-planned{animation-name:board-planned}.sheet .live-running{animation-name:board-running}.sheet .live-done{animation-name:board-done}.task-live{animation-name:board-task}.phone-button{animation-name:board-press}.hours-dim .dim-line{transform-origin:0;animation-name:board-measure}.hours-dim .dim-label{animation-name:board-value}}@keyframes board-planned{0%,14%{opacity:1}16%,to{opacity:0}}@keyframes board-running{0%,14%{opacity:0}16%,63%{opacity:1}65%,to{opacity:0}}@keyframes board-done{0%,63%{opacity:0}65%,to{opacity:1}}@keyframes board-task{0%,14%{background-color:var(--planned);border-color:var(--planned-border)}16%,63%{background-color:var(--progress);border-color:var(--progress-border)}65%,to{background-color:var(--done);border-color:var(--done-border)}}@keyframes board-press{0%,10%,15%,58%,63%,to{transform:none}12%,60%{transform:scale(.94)}}@keyframes board-measure{0%,68%{transform:scaleX(0)}84%,to{transform:scaleX(1)}}@keyframes board-value{0%,84%{opacity:0}94%,to{opacity:1}}@media (width<=960px){.sheet{margin-left:calc(-1 * var(--gutter));border-left:none;border-top:1px solid var(--grid-strong)}}@media (width<=640px){.sheet{overflow:hidden}.sheet-inner{width:38rem;max-width:none}.week-dim{justify-content:flex-start;padding-left:5.5rem}.phone{width:11rem;left:min(100vw - 13.5rem,14rem);right:auto}}.section{padding-block:var(--section)}.steps{counter-reset:step;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;border-top:2px solid var(--ink);padding-top:4.25rem;position:relative}.steps li:before{content:counter(step);color:var(--green);font-variant-numeric:tabular-nums;font-size:2.25rem;font-weight:800;font-stretch:118%;line-height:1;position:absolute;top:1rem;left:0}.steps li:after{content:"";background:var(--ink);width:2px;height:14px;position:absolute;top:-8px;left:0}.steps h3{margin-bottom:.6rem}.steps p{color:var(--muted);font-size:1.05rem}@media (width<=960px){.steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:3rem}}@media (width<=560px){.steps{grid-template-columns:minmax(0,1fr)}}.features{background:var(--paper);border-block:1px solid var(--grid)}.feature-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2rem,4vw,3.5rem);display:grid}.feature-group h3{border-bottom:6px solid var(--green);margin-bottom:1.5rem;padding-bottom:.9rem;font-size:1.4rem;font-weight:750;font-stretch:110%}.feature-group dl{gap:1.4rem;display:grid}.feature-group dt{font-weight:680}.feature-group dd{color:var(--muted);margin-top:.2rem;font-size:1.02rem}@media (width<=960px){.feature-groups{grid-template-columns:minmax(0,1fr);gap:3.5rem}.feature-group dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 2rem}}@media (width<=560px){.feature-group dl{grid-template-columns:minmax(0,1fr)}}.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,6vw,6rem);display:grid}@media (width<=860px){.split{grid-template-columns:minmax(0,1fr)}}.simple{background:var(--green-deep);color:var(--white)}.simple h2{margin-bottom:1.5rem}.simple .lead{color:#d6e4de}.simple-points{gap:1.25rem;padding:0;font-size:1.15rem;list-style:none;display:grid}.simple-points li{padding-left:2.25rem;position:relative}.simple-points li:before{content:"";background:var(--white);width:1.25rem;height:5px;position:absolute;top:.72em;left:0}.data-points{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;display:grid}.data-points div{border-left:6px solid var(--green);padding-left:1.25rem}.data-points dt{font-size:1.2rem;font-weight:700}.data-points dd{color:var(--muted);margin-top:.3rem}@media (width<=860px){.data-points{grid-template-columns:minmax(0,1fr)}}.about{border-top:1px solid var(--grid)}.about h2{margin-bottom:1.5rem}.about p+p{margin-top:1rem}.about h3{margin-bottom:1rem}.services{padding:0;list-style:none}.services li{border-bottom:1px solid var(--grid-strong);padding-block:.85rem}.services li:first-child{border-top:2px solid var(--ink)}.contact{background:var(--paper);border-top:1px solid var(--grid)}.contact h2{margin-bottom:1.25rem}.contact-email{letter-spacing:-.01em;overflow-wrap:anywhere;background:linear-gradient(var(--hivis), var(--hivis)) left bottom 5px / 100% 2px no-repeat, linear-gradient(var(--hivis), var(--hivis)) left bottom / 2px 12px no-repeat, linear-gradient(var(--hivis), var(--hivis)) right bottom / 2px 12px no-repeat;margin-top:2rem;padding-bottom:.6rem;font-size:clamp(1.6rem,4.6vw,3.25rem);font-weight:760;font-stretch:112%;line-height:1.1;text-decoration:none;display:inline-block}.contact-email:hover{color:#185a4a}.contact-login{color:var(--muted);margin-top:2rem}.site-footer{background:var(--green-deep);color:#c7d8d1;padding-block:3rem;font-size:.95rem}.site-footer a{color:var(--white)}.footer-row{grid-template-columns:1fr auto auto;align-items:end;gap:2rem 3rem;display:grid}.footer-brand .logo{height:2rem;margin-bottom:.9rem}.footer-brand a{display:inline-block}.footer-langs{gap:1.25rem;display:flex}.footer-langs [aria-current]{color:var(--white);font-weight:650}.footer-legal{flex-direction:column;align-items:flex-end;gap:.2rem;display:flex}@media (width<=760px){.footer-row{grid-template-columns:minmax(0,1fr);align-items:start}.footer-legal{align-items:flex-start}}.not-found{align-content:center;gap:2.5rem;min-height:100vh;padding-block:3rem;display:grid}.not-found .header-logo{height:2.5rem}.not-found h1,.not-found h2{margin-bottom:.75rem;font-size:clamp(1.75rem,3vw,2.5rem)}.not-found p{color:var(--muted);margin-bottom:1.25rem}
