@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-cyrillic-ext-wght-normal-lLTsRRxN.woff2)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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.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}@property --pct{syntax:"<integer>";inherits:false;initial-value:0}:root{--sapphire:#1d3fa8;--sapphire-600:#17348f;--navy:#0e1f5b;--navy-900:#0a1640;--sky:#12a5e3;--sunset:#ff7a2e;--sunset-600:#f0611a;--gold:#ffc23d;--ink:#111a33;--text:#2b3550;--muted:#5d6781;--line:#e2e8f2;--soft:#f3f6fc;--white:#fff;--grad-hero:radial-gradient(60rem 40rem at 85% 10%, #12a5e359, transparent 60%), radial-gradient(40rem 30rem at 10% 100%, #ff7a2e38, transparent 60%), linear-gradient(135deg, #0a1640 0%, #13307f 55%, #1d3fa8 100%);--grad-brand:linear-gradient(120deg, var(--sapphire) 0%, var(--sky) 100%);--grad-sunset:linear-gradient(120deg, #ff9a3d 0%, var(--sunset) 60%, #f0611a 100%);--font:"Plus Jakarta Sans Variable", "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--t-sm:.9rem;--t-base:1.0625rem;--t-lg:clamp(1.1rem, 1rem + .35vw, 1.25rem);--t-xl:clamp(1.3rem, 1.1rem + .7vw, 1.6rem);--t-2xl:clamp(1.85rem, 1.4rem + 1.8vw, 2.75rem);--t-3xl:clamp(2.3rem, 1.6rem + 3vw, 3.9rem);--t-hero:clamp(2.4rem, 1.5rem + 3.9vw, 4.6rem);--gutter:clamp(1rem, .6rem + 2vw, 2.5rem);--section:clamp(4rem, 3rem + 4.5vw, 7.5rem);--max:1240px;--header-h:76px;--r-sm:10px;--r:16px;--r-lg:24px;--r-xl:32px;--shadow-sm:0 2px 6px #0e1f5b0f, 0 1px 2px #0e1f5b0d;--shadow:0 14px 34px -14px #0e1f5b38;--shadow-lg:0 30px 60px -24px #0e1f5b59;--ease:cubic-bezier(.22, 1, .36, 1);--spring:cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px);overflow-x:clip}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{font-family:var(--font);font-size:var(--t-base);color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.65;overflow-x:clip}img,svg,iframe{max-width:100%;display:block}img{height:auto}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}ul[role=list],ol[role=list]{padding:0;list-style:none}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.025em;text-wrap:balance;font-weight:800;line-height:1.12}p{text-wrap:pretty}:focus-visible{outline:3px solid var(--sunset);outline-offset:3px;border-radius:4px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:500;background:var(--sunset);color:var(--ink);border-radius:var(--r-sm);padding:.75rem 1rem;font-weight:700;position:fixed;top:-100px;left:1rem}.skip-link:focus{top:1rem}.wrap{width:min(100% - 2 * var(--gutter), var(--max));margin-inline:auto}.section{padding-block:var(--section)}.section--soft{background:var(--soft)}.section--dark{background:var(--grad-hero);color:#d5def3}.section--dark h2,.section--dark h3{color:#fff}.head{gap:.9rem;max-width:44rem;margin-bottom:clamp(2rem,1.5rem + 2vw,3.25rem);display:grid}.head--center{text-align:center;justify-items:center;margin-inline:auto}.head h2{font-size:var(--t-2xl)}.head p{color:var(--muted);font-size:var(--t-lg)}.section--dark .head p{color:#b9c6e6}.head--split{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.5rem;max-width:none;display:flex}.head--split>div{gap:.9rem;max-width:40rem;display:grid}.tag{width:fit-content;color:var(--sapphire);background:#e7edfb;border-radius:999px;align-items:center;gap:.5rem;padding:.35rem .85rem;font-size:.85rem;font-weight:700;display:inline-flex}.tag:before{content:"";background:var(--sunset);border-radius:50%;width:7px;height:7px}.section--dark .tag,.on-dark .tag{color:#fff;background:#ffffff1a}.btn{white-space:nowrap;isolation:isolate;min-height:52px;transition:transform .25s var(--spring), box-shadow .25s, background-color .2s, color .2s;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.8rem 1.5rem;font-size:1rem;font-weight:700;line-height:1.1;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn svg{width:1.15em;height:1.15em;transition:transform .25s var(--spring);flex:none}.btn:hover{transform:translateY(-2px)}.btn:hover svg.arrow{transform:translate(4px)}.btn:active{transform:translateY(0)}.btn:after{content:"";z-index:-1;transition:transform .7s var(--ease);background:linear-gradient(110deg,#0000 30%,#ffffff59 50%,#0000 70%);position:absolute;inset:0;transform:translate(-120%)}.btn:hover:after{transform:translate(120%)}.btn--primary{background:var(--grad-sunset);color:var(--ink);box-shadow:0 10px 24px -10px #f0611ab3}.btn--primary:hover{box-shadow:0 16px 30px -10px #f0611acc}.btn--blue{background:var(--sapphire);color:#fff;box-shadow:0 10px 24px -12px #1d3fa8b3}.btn--blue:hover{background:var(--sapphire-600)}.btn--glass{color:#fff;background:#ffffff1a;box-shadow:inset 0 0 0 1.5px #ffffff59}.btn--glass:hover{background:#ffffff2e}.btn--outline{color:var(--sapphire);background:0 0;box-shadow:inset 0 0 0 1.5px #c3d0f0}.btn--outline:hover{box-shadow:inset 0 0 0 1.5px var(--sapphire)}.btn--wa{color:#fff;background:#1fa855}.btn[disabled]{opacity:.6;cursor:progress;transform:none}.btn-row{flex-wrap:wrap;gap:.75rem;display:flex}@media (width<=480px){.btn-row .btn{flex:100%}}.text-link{color:var(--sapphire);align-items:center;gap:.35rem;font-weight:700;text-decoration:none;display:inline-flex}.text-link svg{width:1.05em;height:1.05em;transition:transform .25s var(--spring)}.text-link:hover svg,.service-card:hover .text-link svg{transform:translate(4px)}.loader{display:none}html.intro .loader{z-index:400;background:var(--grad-hero);place-items:center;animation:.65s cubic-bezier(.76,0,.24,1) 1.55s forwards loader-out;display:grid;position:fixed;inset:0}html.intro body{overflow:hidden}.loader__inner{justify-items:center;gap:1.1rem;width:min(80vw,300px);display:grid}.loader__logo{opacity:0;width:150px;height:auto;animation:pop-in .7s .1s var(--spring) forwards;filter:drop-shadow(0 10px 22px #12a5e373);transform:translateY(18px)scale(.85)}.loader__name{color:#fff;letter-spacing:-.01em;opacity:0;animation:fade-up .6s .35s var(--ease) forwards;font-size:1.35rem;font-weight:800}.loader__bar{background:#ffffff24;border-radius:99px;width:100%;height:6px;overflow:hidden}.loader__bar span{border-radius:inherit;background:var(--grad-sunset);transform-origin:0;width:100%;height:100%;animation:1.35s cubic-bezier(.65,0,.35,1) .2s forwards bar-fill;display:block;transform:scaleX(0)}.loader__pct{color:#b9c6e6;font-variant-numeric:tabular-nums;counter-reset:pct var(--pct);font-size:.9rem;font-weight:700;animation:1.35s cubic-bezier(.65,0,.35,1) .2s forwards pct}.loader__pct:before{content:counter(pct) "%"}@keyframes pct{to{--pct:100}}@keyframes bar-fill{to{transform:scaleX(1)}}@keyframes pop-in{to{opacity:1;transform:none}}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes loader-out{to{visibility:hidden;transform:translateY(-100%)}}.site-header{z-index:100;-webkit-backdrop-filter:saturate(1.6)blur(14px);background:#ffffffe0;border-bottom:1px solid #0000;transition:border-color .3s,box-shadow .3s;position:sticky;top:0}.site-header.is-scrolled{border-bottom-color:var(--line);box-shadow:var(--shadow-sm)}.site-header__bar{height:var(--header-h);align-items:center;gap:1rem;display:flex}.brand{align-items:center;gap:.65rem;min-width:0;margin-right:auto;text-decoration:none;display:inline-flex}.brand__mark{width:auto;height:38px;transition:transform .4s var(--spring);flex:none}.brand:hover .brand__mark{transform:translateY(-2px)scale(1.04)}.brand__name{line-height:1;display:grid}.brand__name b{color:var(--ink);letter-spacing:.02em;font-size:1.3rem;font-weight:800}.brand__name span{color:var(--muted);letter-spacing:.16em;margin-top:4px;font-size:.7rem;font-weight:600}.on-dark .brand__name b{color:#fff}.on-dark .brand__name span{color:#b9c6e6}.nav{background:var(--soft);border-radius:999px;align-items:center;gap:.15rem;padding:.3rem;display:flex}.nav a{color:var(--muted);border-radius:999px;padding:.5rem 1rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:color .2s;position:relative}.nav a:hover{color:var(--ink)}.nav a[aria-current=page]{color:#fff}.nav__pill{background:var(--sapphire);z-index:0;border-radius:999px;position:absolute;inset:0}.nav__label{z-index:1;position:relative}.header-actions{align-items:center;gap:.6rem;display:flex}.header-actions .btn{min-height:46px;padding:.65rem 1.2rem;font-size:.95rem}.icon-btn{width:46px;height:46px;color:var(--sapphire);transition:background-color .2s, transform .25s var(--spring);background:#e7edfb;border:0;border-radius:50%;flex:none;place-items:center;text-decoration:none;display:grid}.icon-btn:hover{background:#d8e2f9;transform:scale(1.06)}.icon-btn svg{width:20px;height:20px}.burger{background:var(--sapphire);border:0;border-radius:14px;flex:none;width:48px;height:48px;display:none;position:relative;box-shadow:0 8px 18px -8px #1d3fa8b3}.burger span{height:2.5px;transition:transform .35s var(--ease), opacity .2s, top .35s var(--ease), right .35s var(--ease);background:#fff;border-radius:2px;position:absolute;left:13px;right:13px}.burger span:first-child{top:16px}.burger span:nth-child(2){top:23px;right:20px}.burger span:nth-child(3){top:30px}.burger:hover span:nth-child(2){right:13px}.burger[aria-expanded=true] span:first-child{top:23px;transform:rotate(45deg)}.burger[aria-expanded=true] span:nth-child(2){opacity:0}.burger[aria-expanded=true] span:nth-child(3){top:23px;transform:rotate(-45deg)}.header-call-mobile{display:none}@media (width<=1120px){.header-actions .icon-btn{display:none}}@media (width<=980px){.nav,.header-actions{display:none}.burger,.header-call-mobile{display:grid}}@media (width<=600px){:root{--header-h:66px}.brand__mark{height:30px}.brand__name b{font-size:1.1rem}.brand__name span{font-size:.62rem}}.menu{z-index:300;background:var(--grad-hero);color:#fff;padding:0 var(--gutter) calc(1.5rem + env(safe-area-inset-bottom));flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.menu__top{height:var(--header-h);flex:none;justify-content:space-between;align-items:center;gap:1rem;display:flex}.menu .burger{box-shadow:none;background:#ffffff24;display:grid}.menu nav{margin-top:1.25rem;display:grid}.menu nav a{letter-spacing:-.02em;color:#fff;border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;padding:.95rem .25rem;font-size:clamp(1.6rem,1.2rem + 2vw,2.2rem);font-weight:800;text-decoration:none;display:flex}.menu nav a svg{opacity:.55;width:26px;height:26px}.menu nav a[aria-current=page]{color:var(--gold)}.menu__foot{gap:.7rem;margin-top:auto;padding-top:2rem;display:grid}.menu__foot p{color:#b9c6e6;font-size:var(--t-sm);text-align:center}.hero{background:var(--grad-hero);color:#d5def3;padding-block:clamp(3rem,2rem + 4vw,6rem) clamp(6.5rem,5rem + 4vw,9.5rem);position:relative;overflow:hidden}.hero:before,.page-hero:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 70% 30%,#000 20%,#0000 75%);mask-image:radial-gradient(at 70% 30%,#000 20%,#0000 75%)}.hero__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(2.5rem,1rem + 4vw,5rem);display:grid;position:relative}.hero__copy{gap:1.5rem;display:grid}.hero h1{font-size:var(--t-hero);color:#fff;letter-spacing:-.035em;line-height:1.05}.hero__lede{font-size:var(--t-lg);color:#c9d4ee;max-width:34rem}.hero__points{font-size:var(--t-sm);color:#d5def3;flex-wrap:wrap;gap:.6rem 1.4rem;font-weight:600;display:flex}.hero__points span{align-items:center;gap:.45rem;display:inline-flex}.hero__points svg{width:18px;height:18px;color:var(--gold)}.hero__visual{position:relative}.hero__frame{border-radius:var(--r-xl);aspect-ratio:1;background:var(--navy);position:relative;overflow:hidden;box-shadow:0 40px 80px -30px #0009}.hero__frame img{object-fit:cover;width:100%;height:100%}.hero__thumb{aspect-ratio:4/5;border-radius:var(--r);width:32%;box-shadow:var(--shadow-lg);border:4px solid #fff;position:absolute;top:-1.25rem;right:-1rem;overflow:hidden;rotate:4deg}.hero__thumb img{object-fit:cover;width:100%;height:100%}.hero__thumb small{color:#fff;background:#0e1f5be0;border-radius:6px;padding:.2rem .5rem;font-size:.7rem;font-weight:700;position:absolute;bottom:.4rem;left:.4rem}.status-card{border-radius:var(--r);color:var(--ink);box-shadow:var(--shadow-lg);background:#fff;align-items:center;gap:.85rem;max-width:300px;padding:.9rem 1.1rem;display:flex;position:absolute;bottom:1.75rem;left:-1.5rem}.status-card b{font-size:.95rem;display:block}.status-card small{color:var(--muted);font-size:.8rem}.pulse{background:#22c55e;border-radius:50%;flex:none;width:12px;height:12px;position:relative}.pulse:after{content:"";background:#22c55e;border-radius:50%;position:absolute;inset:0}@media (prefers-reduced-motion:no-preference){.pulse:after{animation:1.8s ease-out infinite pulse}.float{animation:6s ease-in-out infinite float}.float--slow{animation:7.5s ease-in-out .8s infinite float}}@keyframes pulse{to{opacity:0;transform:scale(2.8)}}@keyframes float{50%{translate:0 -10px}}@media (width<=960px){.hero__grid{grid-template-columns:1fr}.hero__visual{width:100%;max-width:560px;margin-inline:auto}}@media (width<=560px){.hero__frame{border-radius:var(--r-lg)}.hero__thumb{width:30%;top:-1rem;right:.5rem}.status-card{max-width:none;bottom:.75rem;left:.75rem;right:.75rem}}.facts{z-index:2;margin-top:clamp(-4.5rem,-3rem - 2vw,-3rem);position:relative}.facts__grid{border-radius:var(--r-lg);box-shadow:var(--shadow-lg);background:#fff;grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.fact{border-left:1px solid var(--line);padding:clamp(1.25rem,1rem + 1vw,2rem)}.fact:first-child{border-left:0}.fact__value{overflow-wrap:anywhere;letter-spacing:-.03em;background:var(--grad-brand);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(1.5rem,1.1rem + 1.5vw,2.4rem);font-weight:800;line-height:1.05}.fact__label{color:var(--muted);font-size:var(--t-sm);margin-top:.5rem;font-weight:600}@media (width<=760px){.facts__grid{grid-template-columns:1fr 1fr}.fact:nth-child(3){border-left:0}.fact:nth-child(n+3){border-top:1px solid var(--line)}}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,.75rem + 1vw,1.75rem);display:grid}.service-card{border-radius:var(--r-lg);height:100%;box-shadow:var(--shadow-sm);border:1px solid var(--line);transition:transform .35s var(--ease), box-shadow .35s;background:#fff;flex-direction:column;text-decoration:none;display:flex;position:relative;overflow:hidden}.service-card:hover{box-shadow:var(--shadow);transform:translateY(-6px)}.service-card__art{aspect-ratio:4/3;background:#eaf1fb;overflow:hidden}.service-card__art img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease)}.service-card:hover .service-card__art img{transform:scale(1.06)}.service-card__body{flex:1;align-content:start;gap:.6rem;padding:1.4rem 1.5rem 1.6rem;display:grid}.service-card h3{font-size:var(--t-xl);align-items:center;gap:.65rem;display:flex}.chip{background:var(--grad-brand);color:#fff;border-radius:12px;flex:none;place-items:center;width:38px;height:38px;display:grid}.chip svg{width:20px;height:20px}.service-card p{color:var(--muted)}.service-card .text-link{margin-top:.4rem}@media (width<=1000px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.service-grid{grid-template-columns:1fr}}.svc-jump{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.svc-jump a{min-height:44px;box-shadow:inset 0 0 0 1.5px var(--line);font-weight:600;font-size:var(--t-sm);color:var(--ink);transition:box-shadow .2s, color .2s, transform .25s var(--spring);background:#fff;border-radius:999px;align-items:center;gap:.5rem;padding:.5rem 1rem;text-decoration:none;display:inline-flex}.svc-jump a:hover{box-shadow:inset 0 0 0 1.5px var(--sapphire);color:var(--sapphire);transform:translateY(-2px)}.svc-jump svg{width:18px;height:18px;color:var(--sapphire)}.svc-detail{scroll-margin-top:calc(var(--header-h) + 1rem);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,1rem + 4vw,5rem);padding-block:clamp(2.5rem,2rem + 3vw,4.5rem);display:grid}.svc-detail+.svc-detail{border-top:1px solid var(--line)}.svc-detail:nth-child(2n) .svc-detail__art{order:2}.svc-detail__art{border-radius:var(--r-lg);box-shadow:var(--shadow);background:#eaf1fb;overflow:hidden}.svc-detail__art img{aspect-ratio:4/3;object-fit:cover;width:100%}.svc-detail__body{gap:1rem;display:grid}.svc-detail__body h2{font-size:var(--t-2xl);align-items:center;gap:.75rem;display:flex}.svc-detail__lead{font-size:var(--t-lg);color:var(--ink);font-weight:600}.svc-detail__body>p:not(.svc-detail__lead){color:var(--muted)}.checklist{grid-template-columns:1fr 1fr;gap:.6rem 1.25rem;display:grid}.checklist li{color:var(--ink);grid-template-columns:22px 1fr;align-items:start;gap:.6rem;font-weight:500;display:grid}.checklist svg{color:#15803d;background:#e1f4ec;border-radius:50%;width:20px;height:20px;margin-top:.2rem;padding:3px}@media (width<=860px){.svc-detail{grid-template-columns:1fr}.svc-detail:nth-child(2n) .svc-detail__art{order:0}}@media (width<=520px){.checklist{grid-template-columns:1fr}}.project{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,1rem + 4vw,4.5rem);display:grid}.project__media{grid-template-columns:1.4fr 1fr;align-items:end;gap:1rem;display:grid}.project__media figure{border-radius:var(--r-lg);box-shadow:var(--shadow);background:var(--navy);margin:0;position:relative;overflow:hidden}.project__media img{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--ease)}.project__media figure:hover img{transform:scale(1.04)}.project__media figure:first-child{aspect-ratio:1}.project__media figure:last-child{aspect-ratio:4/5;margin-bottom:2.5rem}.project__media figcaption{color:var(--ink);background:#fffffff0;border-radius:999px;padding:.3rem .7rem;font-size:.78rem;font-weight:700;position:absolute;bottom:.75rem;left:.75rem}.project__body{gap:1.1rem;display:grid}.project__body h2{font-size:var(--t-2xl)}.project__body>p{color:var(--muted)}.section--dark .project__body>p{color:#c9d4ee}.project__meta{flex-wrap:wrap;gap:.5rem;display:flex}.chip-pill{background:var(--soft);color:var(--ink);border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .8rem;font-size:.85rem;font-weight:600;display:inline-flex}.chip-pill svg{width:15px;height:15px;color:var(--sapphire)}.chip-pill--live{color:#116534;background:#e3f7ea}.stages{margin-top:.25rem;display:grid}.stage{color:var(--muted);grid-template-columns:30px 1fr;align-items:center;gap:.9rem;padding-block:.5rem;font-weight:600;display:grid;position:relative}.stage:before{content:"";background:var(--line);width:2px;height:100%;position:absolute;top:50%;left:14px}.stage:last-child:before{display:none}.stage__dot{z-index:1;border:2px solid var(--line);background:#fff;border-radius:50%;place-items:center;width:30px;height:30px;display:grid;position:relative}.stage__dot svg{width:16px;height:16px}.stage.is-done{color:var(--ink)}.stage.is-done .stage__dot{color:#fff;background:#22c55e;border-color:#22c55e}.stage.is-done:before{background:#22c55e}.stage.is-current{color:var(--ink)}.stage.is-current .stage__dot{border-color:var(--sunset);background:#fff3eb}.stage.is-current .stage__dot:after{content:"";background:var(--sunset);border-radius:50%;width:10px;height:10px}.stage em{color:var(--sunset-600);margin-left:.4rem;font-size:.78rem;font-style:normal;font-weight:700}@media (width<=900px){.project{grid-template-columns:1fr}}.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,.75rem + 1vw,1.5rem);display:grid}.feature{border-radius:var(--r-lg);border:1px solid var(--line);height:100%;box-shadow:var(--shadow-sm);transition:transform .35s var(--ease), box-shadow .35s, border-color .35s;background:#fff;padding:1.75rem 1.5rem}.feature:hover{box-shadow:var(--shadow);border-color:#c9d6f2;transform:translateY(-6px)}.feature__icon{background:var(--grad-brand);color:#fff;width:52px;height:52px;transition:transform .4s var(--spring);border-radius:16px;place-items:center;margin-bottom:1.1rem;display:grid;box-shadow:0 10px 20px -10px #1d3fa8b3}.feature:hover .feature__icon{transform:rotate(-8deg)scale(1.08)}.feature-grid>:nth-child(2n) .feature__icon{background:var(--grad-sunset);box-shadow:0 10px 20px -10px #f0611ab3}.feature__icon svg{width:24px;height:24px}.feature h3{font-size:var(--t-lg);margin-bottom:.4rem}.feature p{color:var(--muted);font-size:var(--t-sm)}@media (width<=1000px){.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.feature-grid{grid-template-columns:1fr}}.process{grid-template-columns:repeat(5,minmax(0,1fr));gap:1.25rem;display:grid;position:relative}.process__line{background:#ffffff24;border-radius:3px;height:3px;list-style:none;position:absolute;top:27px;left:28px;right:28px;overflow:hidden}.process__step{position:relative}.process__num{background:var(--grad-sunset);width:56px;height:56px;color:var(--ink);border-radius:50%;place-items:center;margin-bottom:1.1rem;font-size:1.15rem;font-weight:800;display:grid;box-shadow:0 0 0 6px #ff7a2e33}.process__step h3{font-size:var(--t-lg);color:#fff;margin-bottom:.35rem}.process__step p{color:#b9c6e6;font-size:var(--t-sm)}@media (width<=900px){.process{grid-template-columns:1fr;gap:0}.process__line{width:3px;height:auto;inset:28px auto 28px 27px}.process__step{grid-template-columns:56px 1fr;column-gap:1.1rem;padding-bottom:1.75rem;display:grid}.process__num{grid-row:span 2;margin:0}}.cta{padding-block:var(--section)}.cta__card{border-radius:var(--r-xl);background:var(--grad-hero);color:#c9d4ee;box-shadow:var(--shadow-lg);grid-template-columns:1.3fr 1fr;align-items:center;gap:2rem 3rem;padding:clamp(2rem,1.25rem + 3.5vw,4.5rem);display:grid;position:relative;overflow:hidden}.cta__card:after{content:"";pointer-events:none;background:radial-gradient(circle,#ff7a2e73,#0000 65%);border-radius:50%;width:420px;height:420px;position:absolute;top:-160px;right:-120px}.cta__card>*{z-index:1;position:relative}.cta h2{font-size:var(--t-3xl);color:#fff}.cta p{font-size:var(--t-lg);margin-bottom:1.5rem}@media (width<=860px){.cta__card{grid-template-columns:1fr}}.page-hero{background:var(--grad-hero);text-align:center;padding-block:clamp(3rem,2rem + 5vw,6.5rem);position:relative;overflow:hidden}.page-hero .wrap{justify-items:center;gap:1.1rem;display:grid;position:relative}.page-hero h1{font-size:var(--t-3xl);color:#fff;max-width:22ch}.page-hero p{font-size:var(--t-lg);color:#c9d4ee;max-width:40rem}.crumbs{font-size:var(--t-sm);color:#b9c6e6;gap:.45rem;font-weight:600;display:flex}.crumbs a{color:#fff;text-decoration:none}.crumbs a:hover{text-decoration:underline}.story{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,1rem + 5vw,5.5rem);display:grid}.story__text{gap:1.1rem;display:grid}.story__text h2{font-size:var(--t-2xl)}.story__text p{color:var(--muted)}.story__text p.lead{color:var(--ink);font-size:var(--t-lg);font-weight:500}.story__media{position:relative}.story__media img{aspect-ratio:1/1.05;object-fit:cover;border-radius:var(--r-lg);width:100%;box-shadow:var(--shadow-lg)}.story__badge{border-radius:var(--r);background:var(--grad-sunset);color:var(--ink);box-shadow:var(--shadow-lg);padding:1rem 1.25rem;line-height:1.15;position:absolute;bottom:1.5rem;left:-1rem}.story__badge b{font-size:1.9rem;font-weight:800;display:block}.story__badge small{font-size:.82rem;font-weight:700}@media (width<=860px){.story{grid-template-columns:1fr}.story__badge{left:.75rem}}.journey{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}.journey__item{border-radius:var(--r-lg);background:#ffffff12;border:1px solid #ffffff24;height:100%;padding:1.75rem}.journey__item b{font-size:var(--t-xl);color:var(--gold);margin-bottom:.6rem;font-weight:800;display:inline-block}.journey__item p{color:#d5def3}@media (width<=860px){.journey{grid-template-columns:1fr}}.team{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;max-width:860px;margin-inline:auto;display:grid}.person{border-radius:var(--r-lg);border:1px solid var(--line);height:100%;box-shadow:var(--shadow-sm);background:#fff;grid-template-columns:88px 1fr;align-items:center;gap:1.25rem;padding:1.5rem;display:grid}.person img,.monogram{object-fit:cover;border-radius:50%;width:88px;height:88px}.monogram{background:var(--grad-brand);color:#fff;place-items:center;font-size:1.7rem;font-weight:800;display:grid}.person h3{font-size:var(--t-lg)}.person__role{color:var(--sapphire);font-weight:600;font-size:var(--t-sm);margin-top:.2rem}@media (width<=720px){.team{grid-template-columns:1fr}}.contact{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(2rem,1rem + 4vw,4.5rem);display:grid}.channels{gap:.75rem;display:grid}.channel{border-radius:var(--r);border:1px solid var(--line);transition:transform .3s var(--ease), box-shadow .3s, border-color .3s;background:#fff;grid-template-columns:48px 1fr;align-items:center;gap:1rem;padding:1rem 1.1rem;text-decoration:none;display:grid}a.channel:hover{box-shadow:var(--shadow);border-color:#c9d6f2;transform:translateY(-3px)}.channel__icon{background:var(--grad-brand);color:#fff;border-radius:14px;place-items:center;width:48px;height:48px;display:grid}.channel__icon--wa{background:#1fa855}.channel__icon svg{width:22px;height:22px}.channel small{color:var(--muted);font-size:.8rem;font-weight:600;display:block}.channel b{color:var(--ink);overflow-wrap:anywhere;font-weight:700}.map{border-radius:var(--r);border:1px solid var(--line);background:var(--soft);margin-top:1rem;overflow:hidden}.map iframe{border:0;width:100%;height:260px}.form{border-radius:var(--r-xl);border:1px solid var(--line);box-shadow:var(--shadow-lg);background:#fff;gap:1.2rem;padding:clamp(1.5rem,1rem + 2.5vw,2.75rem);display:grid}.form h2{font-size:var(--t-xl)}.form__intro{color:var(--muted);margin-top:-.5rem}.form__row{grid-template-columns:1fr 1fr;gap:1.2rem;display:grid}@media (width<=600px){.form__row{grid-template-columns:1fr}}.field{gap:.4rem;display:grid}.field label,.choice-group legend{font-weight:700;font-size:var(--t-sm);color:var(--ink)}.optional{color:var(--muted);font-weight:500}.field input,.field textarea{background:var(--soft);border:1.5px solid #d3dbea;border-radius:12px;width:100%;min-height:52px;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s,box-shadow .2s,background-color .2s}.field textarea{resize:vertical;min-height:140px}.field input:focus,.field textarea:focus{border-color:var(--sapphire);background:#fff;outline:none;box-shadow:0 0 0 4px #1d3fa824}.field [aria-invalid=true]{border-color:#c2261b}.field__error{color:#b42318;font-size:.82rem;font-weight:600}.field__hint{color:var(--muted);font-size:.8rem}.choice-group{border:0;flex-wrap:wrap;gap:.5rem;padding:0;display:flex}.choice-group legend{margin-bottom:.5rem}.choice{position:relative}.choice input{opacity:0;cursor:pointer;position:absolute;inset:0}.choice span{min-height:42px;font-size:var(--t-sm);transition:background-color .2s, border-color .2s, color .2s, transform .25s var(--spring);border:1.5px solid #d3dbea;border-radius:999px;align-items:center;padding:.45rem 1rem;font-weight:600;display:inline-flex}.choice:hover span{border-color:var(--sapphire)}.choice input:checked+span{background:var(--sapphire);border-color:var(--sapphire);color:#fff;transform:scale(1.03)}.choice input:focus-visible+span{outline:3px solid var(--sunset);outline-offset:2px}.consent{font-size:var(--t-sm);color:var(--muted);grid-template-columns:22px 1fr;gap:.75rem;display:grid}.consent input{width:20px;height:20px;accent-color:var(--sapphire);margin-top:.15rem}.consent a{color:var(--sapphire);font-weight:700}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.alert{font-size:var(--t-sm);border-radius:12px;grid-template-columns:24px 1fr;gap:.75rem;padding:1rem 1.1rem;display:grid}.alert svg{width:22px;height:22px}.alert--ok{color:#11532e;background:#e3f7ea}.alert--err{color:#7a1a14;background:#fdecea}.alert a{color:inherit;font-weight:700}@media (width<=900px){.contact{grid-template-columns:1fr}.contact__form-col{order:-1}}.prose{gap:1rem;max-width:44rem;margin-inline:auto;display:grid}.prose h2{font-size:var(--t-xl);margin-top:1.25rem}.prose ul{gap:.4rem;padding-left:1.2rem;display:grid}.prose a{color:var(--sapphire);font-weight:700}.site-footer{background:var(--navy-900);color:#b9c6e6;padding-top:clamp(3.5rem,2.5rem + 3vw,5.5rem)}.footer-grid{grid-template-columns:1.4fr 1fr 1.1fr 1.3fr;gap:2.5rem;padding-bottom:3rem;display:grid}.footer-about{max-width:22rem;font-size:var(--t-sm);margin-top:1.1rem}.footer-col h2{color:#fff;letter-spacing:0;margin-bottom:1rem;font-size:.95rem}.footer-col ul{font-size:var(--t-sm);gap:.6rem;display:grid}.footer-col a{text-decoration:none;transition:color .2s}.footer-col a:hover{color:#fff}.footer-contact li{grid-template-columns:18px 1fr;gap:.7rem;display:grid}.footer-contact svg{width:17px;height:17px;color:var(--sunset);margin-top:.25rem}.socials{gap:.5rem;margin-top:1.5rem;display:flex}.socials a{color:#fff;width:44px;height:44px;transition:background-color .2s, transform .25s var(--spring);background:#ffffff14;border-radius:50%;place-items:center;display:grid}.socials a:hover{background:var(--sunset);transform:translateY(-3px)}.socials svg{width:19px;height:19px}.footer-base{color:#8a99c2;border-top:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;gap:.75rem 2rem;padding-block:1.5rem;font-size:.82rem;display:flex}.footer-base a{color:inherit}@media (width<=1000px){.footer-grid{grid-template-columns:1fr 1fr}}@media (width<=560px){.footer-grid{grid-template-columns:1fr}}.wa-float{z-index:90;color:#fff;height:56px;transition:transform .25s var(--spring);background:#1fa855;border-radius:999px;align-items:center;gap:.6rem;padding:0 1.25rem 0 1rem;font-weight:700;text-decoration:none;display:inline-flex;position:fixed;bottom:1.25rem;right:1.25rem;box-shadow:0 14px 30px -12px #1fa855bf}.wa-float:hover{transform:translateY(-3px)scale(1.03)}.wa-float svg{width:26px;height:26px}.action-bar{display:none}@media (width<=980px){.wa-float{display:none}.action-bar{left:.75rem;right:.75rem;bottom:calc(.75rem + env(safe-area-inset-bottom));z-index:90;-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);background:#fffffff2;border-radius:999px;grid-template-columns:1fr 1fr 1.25fr;gap:.4rem;padding:.4rem;display:grid;position:fixed;box-shadow:0 16px 40px -14px #0e1f5b73}.action-bar a{min-height:46px;color:var(--sapphire);border-radius:999px;justify-content:center;align-items:center;gap:.4rem;font-size:.92rem;font-weight:700;text-decoration:none;display:inline-flex}.action-bar svg{width:19px;height:19px}.action-bar .is-wa{color:#168043}.action-bar .is-quote{background:var(--grad-sunset);color:var(--ink)}body{padding-bottom:calc(80px + env(safe-area-inset-bottom))}}.notfound{text-align:center;align-content:center;justify-items:center;gap:1.25rem;min-height:70svh;display:grid;position:relative}.notfound h1{font-size:var(--t-3xl);color:#fff}.notfound p{color:#c9d4ee;font-size:var(--t-lg);max-width:32rem}:root{--intro-delay:50ms}html.intro{--intro-delay:1.75s}.draw{background:var(--grad-sunset);transform-origin:0 0;width:100%;height:100%;display:block}@media (prefers-reduced-motion:no-preference){html.js .reveal{opacity:0;transform:translateY(var(--y,32px)) scale(.98);transition:opacity .7s var(--ease) var(--delay,0s), transform .85s var(--ease) var(--delay,0s)}html.js .reveal--left{transform:translate(-40px)}html.js .reveal--right{transform:translate(40px)}html.js .reveal--zoom{transform:scale(.9)}@media (width<=900px){html.js .reveal--left,html.js .reveal--right{transform:translateY(32px)}}html.js .reveal.is-in{opacity:1;transform:none}html.js .draw{transition:transform 1.4s var(--ease) .15s;transform:scaleX(0)}html.js .draw.is-in{transform:none}.enter{opacity:0;animation:fade-up .8s calc(var(--intro-delay) + var(--d,0s)) var(--ease) forwards}.enter-zoom{opacity:0;animation:pop-in 1s calc(var(--intro-delay) + var(--d,0s)) var(--ease) forwards;transform:scale(.94)}}@media (prefers-reduced-motion:no-preference) and (width<=900px){html.js .process__line .draw{transform:scaleY(0)}html.js .process__line .draw.is-in{transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width>=1800px){:root{--max:1380px}body{font-size:1.125rem}}@media (width<=620px){.service-card__art{aspect-ratio:16/9}}
