@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-vietnamese-wght-normal.D0rl6rjA.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-ext-wght-normal.D9tNdqV9.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-wght-normal.BhU9QXUp.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}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.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{--teal:#007a7c;--teal-2:#0d9a9c;--teal-deep:#005557;--teal-tint:#e3f1f1;--teal-glow:#007a7c38;--ink:#0b1b2e;--ink-2:#22324a;--mute:#657176;--mute-2:#8a949a;--line:#d7dddd;--line-2:#e6ebeb;--paper:#f7f9f9;--white:#fff;--font:"Space Grotesk Variable", "Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--container:1280px;--gutter:clamp(1.25rem, 5vw, 4rem);--radius:20px;--radius-sm:12px;--ease:cubic-bezier(.22, 1, .36, 1);--dur:.7s;--display:clamp(3.25rem, 10vw, 9.5rem);--h1:clamp(2.5rem, 6.5vw, 5.25rem);--h2:clamp(2rem, 4.6vw, 3.75rem);--h3:clamp(1.25rem, 1.8vw, 1.5rem)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1.0625rem;line-height:1.6;overflow-x:hidden}img,svg,video{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}h1,h2,h3,h4{letter-spacing:-.03em;text-wrap:balance;margin:0;font-weight:500;line-height:1.05}p{margin:0}::selection{background:var(--teal);color:#fff}:focus-visible{outline:2px solid var(--teal);outline-offset:4px;border-radius:4px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:1000;background:var(--ink);color:#fff;border-radius:999px;padding:.75rem 1rem;position:fixed;top:-100px;left:1rem}.skip:focus{top:1rem}.container{width:min(100% - 2 * var(--gutter), var(--container));margin-inline:auto}.section{padding-block:clamp(4.5rem,10vw,9rem);position:relative}.section--tight{padding-block:clamp(3rem,6vw,5rem)}.section+.section--flush{padding-top:0}.grid{gap:clamp(1rem,2vw,1.5rem);display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,21rem),1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}.split{align-items:start;gap:clamp(2rem,5vw,5rem);display:grid}@media (width>=900px){.split{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.split--even{grid-template-columns:1fr 1fr}}.rule{border:0;border-top:1px solid var(--line);margin:0}.eyebrow{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--teal);align-items:center;gap:.6em;margin-bottom:1.25rem;font-size:.75rem;font-weight:500;display:inline-flex}.display{font-size:var(--display);letter-spacing:-.045em;font-weight:500;line-height:.92}.h1{font-size:var(--h1)}.h2{font-size:var(--h2)}.h3{font-size:var(--h3);letter-spacing:-.015em;line-height:1.25}.lead{color:var(--ink-2);text-wrap:pretty;max-width:44ch;font-size:clamp(1.15rem,1.7vw,1.5rem);line-height:1.45}.muted{color:var(--mute)}.text{max-width:60ch;color:var(--ink-2);text-wrap:pretty}.mono{font-family:var(--mono)}.num{font-family:var(--mono);letter-spacing:.08em;color:var(--mute);font-size:.8rem}.teal{color:var(--teal)}.cursor{color:var(--teal);font-weight:500;animation:1.1s steps(2,start) infinite blink}@keyframes blink{to{visibility:hidden}}.section-head{gap:1.25rem;margin-bottom:clamp(2.5rem,5vw,4.5rem);display:grid}@media (width>=900px){.section-head--split{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:3rem}.section-head--split .text{justify-self:end;margin-bottom:.35rem}}.btn{--bg:var(--teal);--fg:#fff;isolation:isolate;background:var(--bg);color:var(--fg);transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .3s;white-space:nowrap;border-radius:999px;align-items:center;gap:.75rem;padding:.95rem 1.5rem .95rem 1.6rem;font-size:1rem;font-weight:500;line-height:1;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";z-index:-1;background:var(--teal-deep);transition:transform .45s var(--ease);border-radius:inherit;position:absolute;inset:0;transform:translateY(101%)}.btn:hover:before{transform:translateY(0)}.btn:hover{box-shadow:0 14px 30px -12px var(--teal-glow);transform:translateY(-2px)}.btn svg{width:1.05em;height:1.05em;transition:transform .35s var(--ease)}.btn:hover svg{transform:translate(4px)}.btn--ghost{--bg:transparent;--fg:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.btn--ghost:before{background:var(--ink)}.btn--ghost:hover{--fg:#fff;box-shadow:none}.btn--light{--bg:#fff;--fg:var(--ink)}.btn--light:before{background:var(--teal)}.btn--light:hover{--fg:#fff}.btn--lg{padding:1.15rem 1.9rem 1.15rem 2rem;font-size:1.1rem}.link{color:var(--teal);transition:background-size .4s var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;align-items:center;gap:.5rem;font-weight:500;display:inline-flex}.link:hover{background-size:100% 1px}.link svg{width:1em;height:1em;transition:transform .3s var(--ease)}.link:hover svg{transform:translate(3px)}.card{border-radius:var(--radius);background:var(--white);border:1px solid var(--line-2);transition:transform .5s var(--ease), border-color .4s, box-shadow .5s var(--ease);flex-direction:column;gap:1rem;padding:clamp(1.5rem,2.5vw,2.25rem);display:flex;position:relative}.card:after{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(600px circle at var(--mx,50%) var(--my,0%), #007a7c1a, transparent 45%);opacity:0;transition:opacity .5s;position:absolute;inset:0}.card:hover{border-color:#007a7c73;transform:translateY(-4px);box-shadow:0 30px 60px -30px #0b1b2e40}.card:hover:after{opacity:1}.card .num{justify-content:space-between;align-items:center;display:flex}.card .num i{background:var(--teal);width:8px;height:8px;box-shadow:0 0 0 4px var(--teal-tint);border-radius:50%;font-style:normal}.card .h3{margin-top:.25rem}.card ul{color:var(--ink-2);gap:.45rem;margin:.25rem 0 0;padding:0;font-size:.98rem;list-style:none;display:grid}.card ul li{align-items:baseline;gap:.65rem;display:flex}.card ul li:before{content:"_";color:var(--teal);font-family:var(--mono);font-weight:600}.card .link{margin-top:auto;padding-top:.5rem}.card--flat{border-color:var(--line);background:0 0}.card--flat:hover{box-shadow:none;transform:none}.stats{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);gap:1px;display:grid;overflow:hidden}@media (width>=640px){.stats{grid-template-columns:repeat(var(--cols,3), 1fr)}}.stat{background:var(--white);gap:.5rem;padding:clamp(1.5rem,3vw,2.5rem) clamp(1.25rem,2.5vw,2rem);display:grid}.stat b{font-family:var(--font);letter-spacing:-.04em;color:var(--ink);font-size:clamp(2.5rem,5vw,4.25rem);font-weight:500;line-height:1}.stat b small{color:var(--teal);letter-spacing:0;vertical-align:baseline;font-size:.45em}.stat>span{color:var(--mute);font-size:.95rem}.dark .stats{background:#ffffff1f;border-color:#ffffff1f}.dark .stat{background:#ffffff0a}.dark .stat b{color:#fff}.dark .stat>span{color:#fff9}.rows{border-top:1px solid var(--line)}.row{border-bottom:1px solid var(--line);gap:1rem 2rem;padding:clamp(1.75rem,3vw,2.75rem) 0;transition:background .3s;display:grid;position:relative}@media (width>=800px){.row{grid-template-columns:4rem minmax(0,5fr) minmax(0,7fr);align-items:start}}.row .num{color:var(--teal);padding-top:.55rem;font-size:.85rem}.row .h3{font-size:clamp(1.35rem,2.2vw,1.85rem)}.row .text{max-width:62ch}.row .text p+p{margin-top:1rem}.row:before{content:"";background:var(--teal);width:0;height:1px;transition:width .7s var(--ease);position:absolute;bottom:-1px;left:0}.row:hover:before{width:100%}.marquee{border-block:1px solid var(--line);padding:1.1rem 0;overflow:hidden;-webkit-mask:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.marquee__track{gap:3rem;width:max-content;animation:40s linear infinite marquee;display:flex}.marquee:hover .marquee__track{animation-play-state:paused}.marquee__track span{letter-spacing:-.01em;color:var(--ink-2);white-space:nowrap;align-items:center;gap:3rem;font-size:clamp(1rem,1.6vw,1.35rem);font-weight:500;display:inline-flex}.marquee__track span:after{content:"_";color:var(--teal);font-family:var(--mono);font-weight:600}@keyframes marquee{to{transform:translate(-50%)}}.hero{padding-top:clamp(7rem,16vw,12rem);padding-bottom:clamp(3rem,7vw,6rem);position:relative;overflow:hidden}.hero__bg{z-index:-1;pointer-events:none;background-image:radial-gradient(#0b1b2e29 1px,#0000 1.2px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask:radial-gradient(70% 70% at 50% 30%,#000 30%,#0000 100%);mask:radial-gradient(70% 70% at 50% 30%,#000 30%,#0000 100%)}.hero__glow{z-index:-1;pointer-events:none;background:radial-gradient(38rem circle at var(--mx,60%) var(--my,35%), var(--teal-glow), transparent 60%);filter:blur(20px);opacity:.9;transition:opacity .6s;position:absolute;inset:-20%}.hero__title{font-size:var(--display);letter-spacing:-.05em;margin:.25rem 0 1.5rem;font-weight:500;line-height:.9}.hero__title .cursor{margin:0 -.02em}.hero__grid{gap:2rem;display:grid}@media (width>=900px){.hero__grid{grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:end}}.hero__actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.pillars{border:1px solid var(--line);border-radius:var(--radius);background:var(--line);gap:1px;margin-top:clamp(2.5rem,6vw,4.5rem);display:grid;overflow:hidden}@media (width>=720px){.pillars{grid-template-columns:repeat(2,1fr)}}@media (width>=1100px){.pillars{grid-template-columns:repeat(4,1fr)}}.pillar{backdrop-filter:blur(6px);background:#ffffffb3;gap:.5rem;padding:1.5rem;display:grid}.pillar b{align-items:center;gap:.6rem;font-weight:500;display:flex}.pillar b:before{content:attr(data-n);font-family:var(--mono);color:var(--teal);letter-spacing:.1em;font-size:.7rem}.pillar span{color:var(--mute);font-size:.95rem}.dark{background:var(--ink);color:#fff;position:relative;overflow:hidden}.dark .eyebrow{color:var(--teal-2)}.dark .text,.dark .lead,.dark .muted{color:#ffffffb3}.dark:before{content:"";pointer-events:none;background:radial-gradient(60rem 30rem at 85% 110%,#0d9a9c59,#0000 60%),radial-gradient(40rem 20rem at 0 -20%,#0d9a9c2e,#0000 60%);position:absolute;inset:0}.dark>*{position:relative}.dark .card{background:#ffffff0a;border-color:#ffffff1f}.dark .card:hover{border-color:#0d9a9cb3}.dark .card ul{color:#ffffffbf}.dark .rows,.dark .row,.dark .rule{border-color:#ffffff24}.cta{gap:2rem;display:grid}@media (width>=900px){.cta{grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:end}.cta__side{justify-self:end}}.cta .h2{font-size:clamp(2.25rem,5.5vw,4.75rem)}.cta__contact{font-family:var(--mono);color:#ffffffb3;gap:.25rem;margin-top:2rem;font-size:.9rem;display:grid}.cta__contact a:hover{color:#fff}.steps{counter-reset:step;gap:1.5rem;display:grid;position:relative}@media (width>=900px){.steps{grid-template-columns:repeat(4,1fr);gap:1rem}}.step{gap:.5rem;padding-top:1.75rem;display:grid;position:relative}.step:before{content:"";background:var(--line);height:1px;position:absolute;top:0;left:0;right:0}.step:after{content:"";background:var(--teal);width:9px;height:9px;box-shadow:0 0 0 5px var(--teal-tint);border-radius:50%;position:absolute;top:-4px;left:0}.step .num{color:var(--teal)}.step .h3{font-size:1.35rem}.step p{color:var(--ink-2);font-size:.98rem}.steps.in .step:before{background:linear-gradient(90deg, var(--teal) 0%, var(--line) 0%);animation:fill 1.2s var(--ease) forwards;animation-delay:calc(var(--i) * .25s)}@keyframes fill{to{background:linear-gradient(90deg, var(--teal) 100%, var(--line) 100%)}}.case{gap:1.25rem;display:grid;position:relative}.case__media{border-radius:var(--radius);border:1px solid var(--line-2);aspect-ratio:16/9;background:var(--white);position:relative;overflow:hidden}.case__media img{object-fit:cover;object-position:top;width:100%;height:100%;transition:transform 1.2s var(--ease)}.case:hover .case__media img{transform:scale(1.04)}.case__media:after{content:"";opacity:0;background:linear-gradient(#0000 60%,#0b1b2e59);transition:opacity .5s;position:absolute;inset:0}.case:hover .case__media:after{opacity:1}.case__tags{flex-wrap:wrap;gap:.4rem;display:flex}.tag{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);color:var(--mute);border-radius:999px;padding:.35rem .6rem;font-size:.7rem}.case .h3{font-size:clamp(1.35rem,2vw,1.75rem)}.case p{color:var(--ink-2);max-width:60ch}.case>a.stretch{z-index:1;position:absolute;inset:0}.case--lg{grid-template-columns:1fr}@media (width>=900px){.case--lg{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:3rem}}.post-card{gap:1rem;display:grid;position:relative}.post-card__media{border-radius:var(--radius-sm);aspect-ratio:1200/630;border:1px solid var(--line-2);background:var(--white);overflow:hidden}.post-card__media img{object-fit:cover;width:100%;height:100%;transition:transform 1s var(--ease)}.post-card:hover .post-card__media img{transform:scale(1.04)}.post-card__meta{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);align-items:center;gap:.75rem;font-size:.72rem;display:flex}.post-card__meta .cat{color:var(--teal)}.post-card .h3{font-size:1.3rem}.post-card p{color:var(--ink-2);font-size:.98rem}.post-card>a.stretch{position:absolute;inset:0}.post-card--featured{grid-template-columns:1fr}@media (width>=900px){.post-card--featured{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:3rem}.post-card--featured .h3{font-size:clamp(1.75rem,3vw,2.5rem)}}.filters{flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem;display:flex}.chip{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);color:var(--ink-2);border-radius:999px;padding:.55rem .95rem;font-size:.75rem;transition:all .3s}.chip:hover{border-color:var(--teal);color:var(--teal)}.chip[aria-current=page]{background:var(--ink);color:#fff;border-color:var(--ink)}.article-head{padding-top:clamp(7rem,14vw,10rem)}.article-head .h1{max-width:22ch;font-size:clamp(2.1rem,4.8vw,3.9rem)}.article-meta{font-family:var(--mono);letter-spacing:.06em;color:var(--mute);flex-wrap:wrap;gap:1.25rem;margin-top:1.5rem;font-size:.78rem;display:flex}.article-meta a{color:var(--teal)}.article-cover{border-radius:var(--radius);border:1px solid var(--line-2);aspect-ratio:1200/630;background:var(--white);margin-top:clamp(2rem,5vw,3.5rem);overflow:hidden}.article-cover img{object-fit:cover;width:100%;height:100%}.article-grid{gap:3rem;display:grid}@media (width>=1000px){.article-grid{grid-template-columns:minmax(0,1fr) 17rem;gap:5rem}}.toc{align-content:start;align-self:start;gap:.5rem;font-size:.9rem;display:grid;position:sticky;top:6rem}.toc__title{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--mute);margin-bottom:.5rem;font-size:.7rem}.toc ol{border-left:1px solid var(--line);gap:.1rem;margin:0;padding:0;list-style:none;display:grid}.toc li a{color:var(--mute);border-left:1px solid #0000;margin-left:-1px;padding:.35rem .9rem;line-height:1.35;transition:all .3s;display:block}.toc li.d3 a{padding-left:1.6rem;font-size:.85rem}.toc li a:hover,.toc li a.active{color:var(--ink);border-left-color:var(--teal)}.toc__cta{border-radius:var(--radius-sm);background:var(--ink);color:#fff;gap:.75rem;margin-top:1.5rem;padding:1.25rem;display:grid}.toc__cta p{color:#ffffffbf;font-size:.9rem}.prose{max-width:72ch;color:var(--ink-2);font-size:1.1rem;line-height:1.75}.prose>*+*{margin-top:1.4em}.prose h2{color:var(--ink);margin-top:2.4em;scroll-margin-top:6rem;font-size:clamp(1.6rem,2.6vw,2.15rem)}.prose h3{color:var(--ink);margin-top:2em;scroll-margin-top:6rem;font-size:clamp(1.25rem,2vw,1.5rem)}.prose h4{color:var(--ink);margin-top:1.6em;font-size:1.1rem}.prose a{color:var(--teal);text-underline-offset:3px;text-decoration:underline 1px #007a7c66;transition:text-decoration-color .3s}.prose a:hover{text-decoration-color:var(--teal)}.prose strong{color:var(--ink);font-weight:600}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.45em}.prose li::marker{color:var(--teal);font-family:var(--mono);font-size:.9em}.prose img{border-radius:var(--radius-sm);border:1px solid var(--line-2);background:#fff;margin-inline:auto}.prose img+em,.prose p>em:only-child{text-align:center;color:var(--mute);margin-top:.75em;font-size:.9rem;font-style:normal;display:block}.prose blockquote{border-left:3px solid var(--teal);background:var(--teal-tint);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--ink);margin:0;padding:1rem 1.5rem}.prose code{font-family:var(--mono);background:var(--teal-tint);color:var(--teal-deep);border-radius:6px;padding:.15em .45em;font-size:.86em}.prose pre{border-radius:var(--radius-sm);border:1px solid #ffffff14;padding:1.25rem 1.5rem;font-size:.9rem;line-height:1.6;overflow-x:auto}.prose pre code{color:inherit;font-size:inherit;background:0 0;padding:0}.prose table{border-collapse:collapse;width:100%;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.75rem .9rem}.prose th{color:var(--ink);font-weight:600;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem}.prose tbody tr:hover{background:#007a7c0a}.prose hr{border:0;border-top:1px solid var(--line)}.prose iframe{aspect-ratio:16/9;border-radius:var(--radius-sm);border:0;width:100%;height:auto}.form,.form__row{gap:1.25rem;display:grid}@media (width>=640px){.form__row{grid-template-columns:1fr 1fr}}.field{gap:.5rem;display:grid}.field label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);font-size:.72rem}.field input,.field textarea{font:inherit;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;padding:.95rem 1.1rem;transition:border-color .3s,box-shadow .3s}.field textarea{resize:vertical;min-height:10rem}.field input:focus,.field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 4px var(--teal-tint);outline:0}.field input::placeholder,.field textarea::placeholder{color:var(--mute-2)}.form__foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.form__note{color:var(--mute);max-width:40ch;font-size:.85rem}.form__note a{text-decoration:underline}.contact-lines{gap:1.5rem;display:grid}.contact-line{border-top:1px solid var(--line);gap:.25rem;padding:1.5rem 0;display:grid}.contact-line .num{color:var(--teal)}.contact-line{min-width:0}.contact-line a{overflow-wrap:anywhere;letter-spacing:-.03em;font-size:clamp(1.1rem,1.9vw,1.6rem);font-weight:500;transition:color .3s}.contact-line a:hover{color:var(--teal)}.consent{z-index:90;background:var(--ink);color:#fff;border-radius:var(--radius);max-width:34rem;transition:transform .7s var(--ease);gap:1rem;margin-inline:auto;padding:1.25rem 1.5rem;display:grid;position:fixed;bottom:1rem;left:1rem;right:1rem;transform:translateY(150%);box-shadow:0 30px 60px -20px #0b1b2e80}.consent.show{transform:none}.consent p{color:#ffffffbf;font-size:.9rem}.consent p a{text-decoration:underline}.consent__actions{flex-wrap:wrap;gap:.5rem;display:flex}.consent .btn{padding:.7rem 1.1rem;font-size:.9rem}.reveal{opacity:0;transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);transition-delay:calc(var(--i,0) * 90ms);transform:translateY(26px)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}.header{z-index:100;position:fixed;inset:0 0 auto}.header:before{content:"";z-index:-1;-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line-2);opacity:0;pointer-events:none;background:#f7f9f9d9;transition:opacity .4s;position:absolute;inset:0}.header.scrolled:before{opacity:1}.menu-open .header:before{opacity:0}.header__inner{justify-content:space-between;align-items:center;gap:2rem;height:4.75rem;display:flex}.header.scrolled .header__inner{height:4.25rem}.logo{flex:none;align-items:center;gap:.7rem;display:flex}.logo img{flex:none;width:auto;height:34px}.logo__name{letter-spacing:-.02em;color:var(--ink);white-space:nowrap;font-size:1.15rem;font-weight:600}.nav{align-items:center;gap:2rem;display:none}@media (width>=1000px){.nav{display:flex}}.nav a{color:var(--ink-2);padding:.25rem 0;font-size:.95rem;font-weight:500;position:relative}.nav a:after{content:"";background:var(--teal);transform-origin:100%;width:100%;height:1px;transition:transform .4s var(--ease);position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.nav a:hover:after,.nav a[aria-current=page]:after{transform-origin:0;transform:scaleX(1)}.nav a[aria-current=page]{color:var(--ink)}.nav a.btn{color:#fff;white-space:nowrap;flex:none;padding:.7rem 1.15rem .7rem 1.25rem;font-size:.92rem}.nav a.btn:after{display:none}@media (width>=1280px){.nav a{white-space:nowrap}}@media (width>=1000px) and (width<=1439px){.nav{gap:1.25rem}.nav a{font-size:.9rem}.nav a.btn{padding-inline:1rem;font-size:.88rem}.header__inner{gap:1.25rem}}.burger{border:1px solid var(--line);z-index:120;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#ffffffb3;border-radius:999px;place-items:center;width:3rem;height:3rem;display:inline-grid;position:relative}@media (width>=1000px){.burger{display:none}}.burger span{background:var(--ink);width:18px;height:2px;transition:background .3s;display:block;position:relative}.burger span:before,.burger span:after{content:"";background:var(--ink);width:18px;height:2px;transition:transform .4s var(--ease), top .4s var(--ease);position:absolute;left:0}.burger span:before{top:-6px}.burger span:after{top:6px}.menu-open .burger span{background:0 0}.menu-open .burger span:before{top:0;transform:rotate(45deg)}.menu-open .burger span:after{top:0;transform:rotate(-45deg)}.mobile{z-index:110;background:var(--ink);color:#fff;height:100dvh;padding:var(--gutter);clip-path:circle(0 at calc(100% - 3rem) 2.4rem);transition:clip-path .8s var(--ease);visibility:hidden;align-content:center;display:grid;position:fixed;inset:0}.menu-open .mobile{clip-path:circle(150% at calc(100% - 3rem) 2.4rem);visibility:visible;overflow-y:auto}.mobile a{letter-spacing:-.03em;opacity:0;transition:opacity .5s var(--ease), transform .5s var(--ease);transition-delay:calc(var(--i) * 60ms + .3s);padding:.35rem 0;font-size:clamp(2rem,8vw,3.25rem);font-weight:500;display:block;transform:translateY(20px)}.menu-open .mobile a{opacity:1;transform:none}.mobile a:hover{color:var(--teal-2)}.mobile .mobile__meta{font-family:var(--mono);color:#fff9;gap:.35rem;margin-top:2.5rem;font-size:.85rem;display:grid}.mobile .mobile__meta a{letter-spacing:0;opacity:1;font-size:.95rem;font-weight:400;transition-delay:.5s;transform:none}.menu-open{overflow:hidden}.footer{background:var(--ink);color:#fff;position:relative;overflow:hidden}.footer:before{content:"";pointer-events:none;background:radial-gradient(50rem 20rem at 50% 120%,#0d9a9c40,#0000 60%);position:absolute;inset:0}.footer__top{border-bottom:1px solid #ffffff1f;gap:2.5rem;padding-block:clamp(3.5rem,7vw,6rem) 3rem;display:grid;position:relative}@media (width>=900px){.footer__top{grid-template-columns:minmax(0,6fr) repeat(2,minmax(0,3fr))}}.footer h4{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:#ffffff80;margin-bottom:1.1rem;font-size:.7rem}.footer ul{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.footer ul a{color:#ffffffd1;transition:color .3s}.footer ul a:hover{color:var(--teal-2)}.footer__brand p{color:#ffffffa6;max-width:36ch;margin-top:1rem}.footer__brand img{filter:brightness(0)invert();opacity:.95}.footer__brand .logo__name{color:#fff}.footer__bottom{font-family:var(--mono);color:#ffffff80;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:1.5rem 0 2rem;font-size:.78rem;display:flex;position:relative}.footer__bottom a:hover{color:#fff}.page-hero{padding-top:clamp(7rem,15vw,11rem);padding-bottom:clamp(2.5rem,6vw,5rem);position:relative}.page-hero .h1{max-width:16ch}.page-hero .lead{margin-top:1.5rem}.words{flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:1.5rem;display:flex}.words span{letter-spacing:-.03em;align-items:baseline;gap:.6rem;font-size:clamp(1.5rem,3.5vw,2.75rem);font-weight:500;display:inline-flex}.words span:before{content:attr(data-n);font-family:var(--mono);color:var(--teal);letter-spacing:.1em;font-size:.8rem}.manifest{gap:2rem;display:grid}@media (width>=900px){.manifest{grid-template-columns:1fr 1fr;gap:5rem}}.manifest .h2{font-size:clamp(1.9rem,4vw,3.25rem)}.manifest .text{font-size:1.1rem}.manifest .text p+p{margin-top:1rem}.metrics{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);gap:1px;display:grid;overflow:hidden}@media (width>=640px){.metrics{grid-template-columns:repeat(2,1fr)}}@media (width>=1000px){.metrics{grid-template-columns:repeat(4,1fr)}}.metric{background:var(--white);gap:.4rem;padding:1.75rem 1.5rem;display:grid}.metric b{letter-spacing:-.03em;font-size:clamp(1.6rem,2.6vw,2.25rem);font-weight:500;line-height:1.05}.metric span{color:var(--mute);font-size:.9rem}.notfound{text-align:center;place-items:center;min-height:80vh;padding-top:6rem;display:grid}.crumbs{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1.25rem;font-size:.75rem;display:flex}.crumbs a{color:var(--teal)}.crumbs a:hover{text-underline-offset:4px;text-decoration:underline}.map-layout{align-items:center;gap:2.5rem;display:grid}@media (width>=960px){.map-layout{grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:3rem}.map-layout--region{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}}.map-scene{padding:0}.map{shape-rendering:geometricprecision;text-rendering:geometricprecision;width:100%;height:auto;overflow:visible}.map__shadow path{fill:#0b1b2e24;filter:blur(10px);translate:0 30px}.map__base path{fill:#b9c9c9;stroke:#a9baba;stroke-width:1px;translate:0 16px}.map__top path{fill:#fff;stroke:var(--teal);stroke-width:1.5px;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:fill .35s, translate .5s var(--ease)}.map__top .region{cursor:pointer;outline:none}.map__top .region text{font-family:var(--font);fill:var(--ink-2);pointer-events:all;cursor:pointer;letter-spacing:-.01em;paint-order:stroke;stroke:#ffffffd9;stroke-width:3px;stroke-linejoin:round;transition:fill .3s, translate .5s var(--ease);font-size:16px;font-weight:500}.map__top .region:hover path,.map__top .region.is-hover path,.map__top .region:focus-visible path{fill:var(--teal);stroke:var(--teal-deep);translate:0 -10px}.map__top .region:hover text,.map__top .region.is-hover text,.map__top .region:focus-visible text{fill:#fff;stroke:var(--teal);translate:0 -10px}.map__top .region.is-current path{fill:var(--teal-tint)}.map--region .region-shape{fill:#fff}.cities .city{cursor:pointer;outline:none}.cities .city circle{fill:var(--teal);stroke:#fff;stroke-width:calc(var(--fs) * .18px);transition:fill .3s}.cities .city text{font-family:var(--font);font-size:calc(var(--fs) * 1px);fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:calc(var(--fs) * .3px);stroke-linejoin:round;pointer-events:all;cursor:pointer;font-weight:500;transition:fill .3s}.cities .city.is-capital text{font-weight:700}.cities .city:hover circle,.cities .city.is-hover circle,.cities .city:focus-visible circle{fill:var(--ink)}.cities .city:hover text,.cities .city.is-hover text{fill:var(--teal)}.cities .city.is-current circle{fill:var(--ink);stroke:var(--teal);stroke-width:calc(var(--fs) * .28px)}.cities .city.is-current text{fill:var(--teal)}.map-list{border-top:1px solid var(--line);columns:1;gap:0;margin:0;padding:0;list-style:none;display:grid}.map-layout--region .map-list{border-top:0;grid-template-columns:repeat(2,1fr);gap:0 1.5rem}.map-layout--region .map-list li:first-child,.map-layout--region .map-list li:nth-child(2){border-top:1px solid var(--line)}.map-list a{border-bottom:1px solid var(--line);color:var(--ink-2);transition:color .3s, padding-left .3s var(--ease);justify-content:space-between;align-items:baseline;gap:1rem;padding:.65rem 0;font-weight:500;display:flex}.map-list a:hover,.map-list a.is-hover{color:var(--teal);padding-left:.5rem}.map-list a[aria-current=page]{color:var(--teal)}.map-list__cap{font-family:var(--mono);letter-spacing:.06em;color:var(--mute);font-size:.72rem}.chips{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.chips .chip{text-transform:none;letter-spacing:0;font-family:var(--font);padding:.6rem 1rem;font-size:.95rem}.faq{gap:.5rem;display:grid}.faq__item{border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--white);padding:0 1.25rem;transition:border-color .3s}.faq__item[open]{border-color:#007a7c73}.faq__item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 0;font-weight:500;list-style:none;display:flex}.faq__item summary::-webkit-details-marker{display:none}.faq__item summary i{flex:none;width:1.1rem;height:1.1rem;position:relative}.faq__item summary i:before,.faq__item summary i:after{content:"";background:var(--teal);width:100%;height:2px;transition:transform .4s var(--ease);position:absolute;inset:50% auto auto 0;transform:translateY(-50%)}.faq__item summary i:after{transform:translateY(-50%)rotate(90deg)}.faq__item[open] summary i:after{transform:translateY(-50%)rotate(0)}.faq__item p{color:var(--ink-2);max-width:62ch;padding-bottom:1.25rem}@media (width>=1000px) and (width<=1240px){.nav{gap:1.25rem}.nav a{font-size:.88rem}}.nav__mega{position:relative}.nav__mega>a:after{display:none}.nav__mega>a{align-items:center;gap:.35rem;display:inline-flex}.nav__mega>a:before{content:"";opacity:.6;border-bottom:1.5px solid;border-right:1.5px solid;order:2;width:.4rem;height:.4rem;transition:transform .3s;transform:rotate(45deg)translate(-1px,-1px)}.nav__mega:hover>a:before,.nav__mega:focus-within>a:before{transform:rotate(225deg)translate(-2px,-2px)}.mega{opacity:0;visibility:hidden;transition:opacity .3s, transform .4s var(--ease), visibility .3s;padding-top:.5rem;position:fixed;top:4.75rem;left:0;right:0;transform:translateY(-6px)}.header.scrolled .mega{top:4.25rem}.nav__mega:hover .mega,.nav__mega:focus-within .mega{opacity:1;visibility:visible;transform:none}.mega__inner{width:min(100% - 2 * var(--gutter), var(--container));background:var(--white);border:1px solid var(--line-2);border-radius:var(--radius);grid-template-columns:16rem minmax(0,1fr);margin-inline:auto;display:grid;overflow:hidden;box-shadow:0 40px 80px -30px #0b1b2e59}.mega__col{padding:1.5rem}.mega__col--regions{background:var(--paper);border-right:1px solid var(--line-2)}.mega__title{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--mute);margin-bottom:.75rem;font-size:.7rem}.mega__title a{color:var(--teal);text-transform:none;letter-spacing:0;font-family:var(--font);font-size:.85rem}.mega__col ul{margin:0;padding:0;list-style:none}.mega__col--regions li a{color:var(--ink-2);border-radius:8px;justify-content:space-between;align-items:center;padding:.45rem .6rem;font-size:.92rem;font-weight:500;display:flex}.mega__col--regions li a:after{display:none}.mega__col--regions li a svg{opacity:0;width:.9em;height:.9em;transition:opacity .2s, transform .3s var(--ease)}.mega__col--regions li a.is-active,.mega__col--regions li a:hover{background:var(--white);color:var(--teal)}.mega__col--regions li a.is-active svg{opacity:1;transform:translate(2px)}.mega__cities ul{grid-template-columns:repeat(3,1fr);gap:.2rem 1.5rem;display:grid}.mega__cities li a{color:var(--ink-2);border-bottom:1px solid var(--line-2);padding:.35rem 0;font-size:.95rem;font-weight:400;display:block}.mega__cities li a:after{display:none}.mega__cities li a:hover{color:var(--teal)}.mega__foot{border-top:1px solid var(--line-2);grid-column:1/-1;padding:.9rem 1.5rem}.mega__foot .link:after{display:none}.mobile__details{opacity:0;transition:opacity .5s var(--ease), transform .5s var(--ease);transition-delay:calc(var(--i) * 60ms + .3s);transform:translateY(20px)}.menu-open .mobile__details{opacity:1;transform:none}.mobile__details summary{letter-spacing:-.03em;cursor:pointer;padding:.35rem 0;font-size:clamp(2rem,8vw,3.25rem);font-weight:500;list-style:none}.mobile__details summary::-webkit-details-marker{display:none}.mobile__regions{grid-template-columns:repeat(2,1fr);gap:0 1.5rem;padding:.5rem 0 1rem;display:grid}.mobile__regions a{letter-spacing:0;opacity:1;color:#fffc;padding:.3rem 0;font-size:1rem;font-weight:400;transform:none}.cities .city line{stroke:var(--mute-2);stroke-width:calc(var(--fs) * .09px);pointer-events:none}.cities .city:hover line,.cities .city.is-hover line{stroke:var(--teal)}.cities .city rect{fill:#0000;pointer-events:all;cursor:pointer}@media (hover:none){.mobile a:hover{color:inherit}.mobile a.teal:hover{color:var(--teal)}.map-list a:hover{color:var(--ink-2);padding-left:0}.map-list a[aria-current=page]:hover{color:var(--teal)}.nav a:hover:after{transform:scaleX(0)}.chip:hover{border-color:var(--line);color:var(--ink-2)}.card:hover{box-shadow:none;border-color:var(--line-2);transform:none}.btn:hover{box-shadow:none;transform:none}}.about{align-items:center;gap:clamp(2.5rem,5vw,4rem);display:grid}@media (width>=900px){.about{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}.about__intro .text{margin-top:1.25rem}.about__intro .text p+p{margin-top:.9rem}.about__actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.about__links{font-family:var(--mono);flex-wrap:wrap;gap:.5rem 1.5rem;margin:1.75rem 0 0;padding:0;font-size:.85rem;list-style:none;display:flex}.about__photo{justify-self:center;width:100%;max-width:30rem;margin:0;position:relative}.about__photo:before{content:"";border:1px solid var(--teal);border-radius:var(--radius);opacity:.45;position:absolute;inset:1.25rem -1.25rem -1.25rem 1.25rem}.about__photo img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);width:100%;position:relative;box-shadow:0 40px 80px -40px #0b1b2e59}.about__summary{border-top:1px solid var(--line);gap:.6rem;margin-top:1.75rem;padding-top:1.25rem;display:grid}.about__summary .num{color:var(--teal)}.about__summary .text p+p{margin-top:.8rem}.cv{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.cv__company{border-bottom:1px solid var(--line);gap:1.25rem 2rem;padding:clamp(1.75rem,3vw,2.75rem) 0;display:grid}@media (width>=900px){.cv__company{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}}.cv__head{align-content:start;gap:.35rem;display:grid}.cv__head .h3{font-size:clamp(1.35rem,2.2vw,1.85rem)}.cv__total{font-family:var(--mono);color:var(--mute);font-size:.8rem}.cv__roles{gap:2rem;display:grid}.cv__role{gap:.75rem 1.5rem;display:grid}@media (width>=640px){.cv__role{grid-template-columns:11rem minmax(0,1fr)}}.cv__role+.cv__role{border-top:1px dashed var(--line);padding-top:2rem}.cv__when{font-family:var(--mono);color:var(--teal);align-content:start;gap:.2rem;font-size:.78rem;display:grid}.cv__dur{color:var(--mute)}.cv__what{justify-items:start;gap:.75rem;display:grid}.cv__title{letter-spacing:-.01em;font-size:1.15rem;font-weight:500}.cv__what ul{color:var(--ink-2);gap:.5rem;margin:0;padding:0;font-size:.98rem;list-style:none;display:grid}.cv__what li{align-items:baseline;gap:.65rem;display:flex}.cv__what li:before{content:"_";color:var(--teal);font-family:var(--mono);flex:none;font-weight:600}.stack{border-top:1px solid #ffffff24;align-content:start;gap:.75rem;padding-top:1.25rem;display:grid}.stack ul{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.stack li{font-family:var(--mono);color:#fffc;border:1px solid #ffffff2e;border-radius:999px;padding:.35rem .6rem;font-size:.75rem}@media (width<=899px){.about__photo{order:-1;justify-self:start;max-width:15rem}.about__photo:before{inset:.75rem -.75rem -.75rem .75rem}}.city-hero{align-items:center;gap:clamp(2rem,5vw,4rem);display:grid}@media (width>=960px){.city-hero{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}.city-hero__text{justify-items:start;gap:1.75rem;display:grid}.sketch{color:var(--teal);background:var(--white);border:1px solid var(--line);border-radius:var(--radius);justify-self:center;width:100%;max-width:34rem;margin:0;padding:clamp(.75rem,2vw,1.25rem);box-shadow:0 30px 60px -40px #0b1b2e40}.sketch svg{width:100%;height:auto;display:block}.sketch .f{fill:var(--teal-tint)}.sketch .s{fill:currentColor}.sketch .t{stroke-width:1.2px;opacity:.75}.sketch .d{stroke-dasharray:4 6;stroke-width:1.4px}.sketch figcaption{font-family:var(--mono);color:var(--mute);text-align:center;margin-top:.5rem;font-size:.75rem}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}
