@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-cyrillic-ext-wght-normal.C8S-KRRz.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-cyrillic-wght-normal.Dvxsihut.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-greek-wght-normal.DL7QRZyv.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-vietnamese-wght-normal.usUDDRr7.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-latin-ext-wght-normal.Ch3YOpNY.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-latin-wght-normal.DHIcAJRg.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{--bg:#0a0908;--bg-raised:#131110;--glass:rgb(var(--ink-rgb) / .04);--glass-strong:rgb(var(--ink-rgb) / .07);--ink:#f4f1ec;--ink-soft:#a39b92;--ink-faint:#6d665f;--accent:#ff5a1f;--accent-soft:rgb(var(--accent-rgb) / .18);--bg-rgb:10 9 8;--raised-rgb:19 17 16;--ink-rgb:244 241 236;--accent-rgb:255 90 31;--accent-hi-rgb:255 138 76;--surface:#151311;--surface-2:#161412;--surface-hi:#1c1917;--surface-lo:#0f0d0c;--heading-from:#fff;--heading-to:#9c948b;--on-accent:#fff;--field:#00000059;--ok:var(--ok);--err:var(--err);--logo-filter:grayscale(1) brightness(0) invert(1);--shadow:#000000d9;--page-bg:var(--bg);--brand:var(--accent);--line:rgb(var(--ink-rgb) / .09);--line-strong:rgb(var(--ink-rgb) / .16);--font:"Manrope Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--max:76rem;--gutter:clamp(1.25rem, 5vw, 3rem);--radius:1rem;--ease:cubic-bezier(.22, 1, .36, 1);color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:400 1.0625rem/1.65 var(--font);-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}img,svg{max-width:100%;display:block}a{color:inherit}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.wrap{max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:clamp(5rem,11vw,9rem);position:relative}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:.5rem;margin:0 0 1.25rem;font-size:.78rem;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 12px var(--accent);border-radius:50%}h1,h2,h3{letter-spacing:-.035em;margin:0;font-weight:500;line-height:1.05}h1{font-size:clamp(2.25rem,8.6vw,5.75rem)}h2{margin-bottom:1.25rem;font-size:clamp(2rem,5vw,3.75rem)}h3{letter-spacing:-.02em;font-size:1.3rem;font-weight:600}p{max-width:60ch;margin:0 0 1rem}.muted{color:var(--ink-soft)}.gradient-text{background:linear-gradient(180deg, var(--heading-from) 30%, var(--heading-to));color:#0000;-webkit-background-clip:text;background-clip:text;padding-bottom:.12em}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:clamp(2.5rem,6vw,4rem);display:flex}.section-head h2{margin:0}.section-head p{max-width:34ch;margin:0}.skip{background:var(--accent);color:var(--on-accent);z-index:100;padding:.75rem 1rem;position:absolute;top:0;left:-999px}.skip:focus{left:0}.announce{border-bottom:1px solid var(--line);color:var(--ink-soft);font-size:.82rem}.announce .wrap{justify-content:center;align-items:center;gap:.6rem;height:2.4rem;display:flex}.announce a{color:var(--ink);font-weight:600;text-decoration:none}.announce a:hover{color:var(--accent)}.announce .dot{background:var(--ok);width:6px;height:6px;box-shadow:0 0 10px var(--ok);border-radius:50%}.site-header{z-index:50;background:rgb(var(--bg-rgb) / .7);-webkit-backdrop-filter:blur(14px)saturate(140%);border-bottom:1px solid var(--line);position:sticky;top:0}.site-header .wrap{justify-content:space-between;align-items:center;gap:1rem;height:4.25rem;display:flex}.brand{letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:.6rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{width:28px;height:28px}.brand-mark rect{fill:var(--accent)}.brand-mark path{stroke:var(--on-accent)}.nav{gap:2rem;font-size:.92rem;display:flex}.nav a{color:var(--ink-soft);text-decoration:none;transition:color .2s}.nav a:hover{color:var(--ink)}.header-cta{gap:.6rem;display:flex}.btn{background:var(--accent);color:var(--on-accent);font:inherit;cursor:pointer;box-shadow:0 0 0 0 var(--accent-soft), 0 8px 30px -8px rgb(var(--accent-rgb) / .6);transition:transform .3s var(--ease), box-shadow .3s, background .2s;border:1px solid #0000;border-radius:999px;align-items:center;gap:.5rem;padding:.8rem 1.35rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{box-shadow:0 0 0 6px var(--accent-soft), 0 12px 36px -8px rgb(var(--accent-rgb) / .7);transform:translateY(-2px)}.btn--glass{background:var(--glass-strong);border-color:var(--line-strong);color:var(--ink);box-shadow:none}.btn--glass:hover{background:rgb(var(--ink-rgb) / .12);box-shadow:none}.btn--text{box-shadow:none;color:var(--ink);background:0 0;padding-inline:.5rem}.btn--text:hover{box-shadow:none;color:var(--accent)}.btn--sm{padding:.55rem 1.05rem;font-size:.85rem}.btn .arrow{transition:transform .3s var(--ease)}.btn:hover .arrow{transform:translate(3px)}.js .reveal{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transform:translateY(28px)}.js .d1{transition-delay:90ms}.js .d2{transition-delay:.18s}.js .d3{transition-delay:.27s}.js .reveal.in{opacity:1;transform:none}.js h2.reveal{opacity:1;clip-path:inset(0 -.2em 100%);transition:clip-path 1.1s var(--ease), transform 1.1s var(--ease);transform:translateY(.4em)}.js h2.reveal.in{clip-path:inset(-.3em -.2em -.35em);transform:none}.section--dark{--bg:#0a0908;--bg-rgb:10 9 8;--ink:#f4f1ec;--ink-rgb:244 241 236;--ink-soft:#a39b92;--ink-faint:#6d665f;--surface:#151311;--surface-2:#161412;--surface-hi:#1c1917;--surface-lo:#0f0d0c;--heading-from:#fff;--heading-to:#9c948b;--line:#f4f1ec17;--line-strong:#f4f1ec29;--glass:#f4f1ec0a;--glass-strong:#f4f1ec12;--shadow:#000000d9}.section--brand{--bg:color-mix(in srgb, var(--brand) 95%, #000);--bg-rgb:110 32 6;--ink:#fff;--ink-rgb:255 255 255;--ink-soft:#fff;--ink-faint:#ffffffd9;--surface-hi:#ffffff29;--surface-lo:#ffffff0f;--heading-from:#fff;--heading-to:#ffe3d6;--line:#ffffff38;--line-strong:#ffffff52;--accent:#fff;--accent-rgb:255 255 255;--shadow:#5a190059}.section--brand ::selection{color:var(--brand);background:#fff}.section--dark,.section--brand{--fade:clamp(5rem, 10vw, 8rem);color:var(--ink);padding-block:calc(var(--fade) + clamp(3rem, 6vw, 5rem));background:var(--bg) linear-gradient(to bottom, var(--page-bg) calc(var(--fade) * 0), color-mix(in srgb, var(--bg) 3%, var(--page-bg)) calc(var(--fade) * .15), color-mix(in srgb, var(--bg) 12%, var(--page-bg)) calc(var(--fade) * .3), color-mix(in srgb, var(--bg) 30%, var(--page-bg)) calc(var(--fade) * .45), color-mix(in srgb, var(--bg) 55%, var(--page-bg)) calc(var(--fade) * .6), color-mix(in srgb, var(--bg) 78%, var(--page-bg)) calc(var(--fade) * .75), color-mix(in srgb, var(--bg) 93%, var(--page-bg)) calc(var(--fade) * .88), var(--bg) calc(var(--fade) * 1), var(--bg) calc(100% - var(--fade) * 1), color-mix(in srgb, var(--bg) 93%, var(--page-bg)) calc(100% - var(--fade) * .88), color-mix(in srgb, var(--bg) 78%, var(--page-bg)) calc(100% - var(--fade) * .75), color-mix(in srgb, var(--bg) 55%, var(--page-bg)) calc(100% - var(--fade) * .6), color-mix(in srgb, var(--bg) 30%, var(--page-bg)) calc(100% - var(--fade) * .45), color-mix(in srgb, var(--bg) 12%, var(--page-bg)) calc(100% - var(--fade) * .3), color-mix(in srgb, var(--bg) 3%, var(--page-bg)) calc(100% - var(--fade) * .15), var(--page-bg) calc(100% - var(--fade) * 0))}.services{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=60rem){.services{grid-template-rows:auto auto auto;grid-template-columns:repeat(3,1fr)}.service--1{grid-area:1/1}.service--2{grid-area:1/2}.service--3{grid-area:1/3/span 2}.service--4{grid-area:2/1/span 2}.service--5{grid-area:2/2}.service--6{grid-area:3/2/auto/span 2}}.service{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, var(--glass-strong), transparent);transition:border-color .4s, transform .4s var(--ease);padding:1.75rem;position:relative;overflow:hidden}.service:after{content:"";aspect-ratio:1;background:radial-gradient(closest-side, rgb(var(--accent-rgb) / .35), transparent);opacity:0;pointer-events:none;width:80%;transition:opacity .5s;position:absolute;inset:auto -30% -60% auto}.service:hover{border-color:rgb(var(--accent-rgb) / .45)}.service:hover:after{opacity:1}.service,.js .service.reveal.in{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--lift,0px))}.service:hover{--lift:-4px}.service.tilt{transition:border-color .4s,transform .25s ease-out}.service.tilt:after{aspect-ratio:auto;background:radial-gradient(16rem circle at var(--mx,50%) var(--my,50%), rgb(var(--accent-rgb) / .16), transparent 65%);width:auto;inset:0}.service-head{align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.service .icon{border:1px solid var(--line-strong);background:var(--surface-2);width:44px;height:44px;color:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.service .icon svg{width:22px;height:22px}.service h3{margin:0}.service .tools{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.service .tool{border:1px solid var(--line);color:var(--ink-soft);white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .7rem .25rem .25rem;font-size:.88rem;display:inline-flex}.service .tool:not(:has(.tool-logo)){padding-left:.7rem}.service .tool-logo{object-fit:contain;background:#fff;border-radius:50%;flex:none;width:24px;height:24px;padding:3px}.service p{color:var(--ink-soft);margin:0;font-size:.97rem}.work{overflow:hidden}.accordion{margin:clamp(1.5rem,4vw,3rem) 0 0;position:relative}.accordion ol{gap:.6rem;height:clamp(26rem,56vw,34rem);margin:0;padding:0;list-style:none;display:flex}.panel{min-width:0;transition:flex-grow .7s var(--ease);flex:1 1 0}.panel.is-open{flex-grow:9}.panel-link{isolation:isolate;border:1px solid var(--line-strong);height:100%;color:var(--ink);background:var(--surface);border-radius:22px;text-decoration:none;transition:border-color .5s;display:block;position:relative;overflow:hidden}.panel.is-open .panel-link{border-color:rgb(var(--accent-rgb) / .5)}.panel-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.panel-bg{z-index:-2;background:var(--thumb) center / cover no-repeat;position:absolute;inset:0}.panel:not(.is-open) .panel-bg{filter:blur(6px);opacity:.45}.panel-link:after{content:"";z-index:-1;background:linear-gradient(180deg, rgb(var(--bg-rgb) / .1), rgb(var(--bg-rgb) / .2) 50%, rgb(var(--bg-rgb) / .55));position:absolute;inset:0}.panel:not(.is-open) .panel-link:after{background:rgb(var(--bg-rgb) / .55)}.panel-num{background:rgb(var(--bg-rgb) / .8);-webkit-backdrop-filter:blur(8px);transition:left .7s var(--ease), transform .7s var(--ease);border-radius:999px;padding:.3rem .8rem;font-size:.8rem;font-weight:600;line-height:1.3;position:absolute;top:.9rem;left:.9rem}.panel-title{white-space:nowrap;transition:transform .7s var(--ease), left .7s var(--ease), bottom .7s var(--ease), font-size .7s var(--ease);font-size:clamp(1.4rem,2.6vw,2.1rem);font-weight:600;line-height:1.15;position:absolute;bottom:4.6rem;left:1.2rem}.panel-intro{color:var(--ink-soft);font-size:.95rem;line-height:1.5;transition:opacity .5s;position:absolute;bottom:1.2rem;left:1.2rem;right:1.2rem}.panel:not(.is-open) .panel-num{left:50%;transform:translate(-50%)}.panel:not(.is-open) .panel-title{writing-mode:vertical-rl;font-size:1.05rem;bottom:1.4rem;left:50%;transform:translate(-50%)rotate(180deg)}.panel:not(.is-open) .panel-intro{opacity:0;pointer-events:none}@media (width<=48rem){.accordion ol{flex-direction:column;height:auto}.panel{height:4.6rem;transition:height .6s var(--ease);flex:none}.panel.is-open{height:25rem}.panel:not(.is-open) .panel-num{top:50%;left:.9rem;transform:translateY(-50%)}.panel:not(.is-open) .panel-title{writing-mode:horizontal-tb;font-size:1.1rem;top:50%;bottom:auto;left:4.6rem;transform:translateY(-50%)}.panel-title{bottom:4.4rem}}@media (prefers-reduced-motion:reduce){.panel,.panel-title,.panel-num{transition:none}}.portfolio-band{margin-top:clamp(2rem,5vw,4rem)}.portfolio{padding-bottom:clamp(3rem,7vw,6rem)}.portfolio-band--fade{--band:#f4f3f0;--ink:#161412;--ink-soft:#5f5850;--ink-faint:#8a837b;--line:#1614121a;--line-strong:#16141229;--heading-from:#161412;--heading-to:#6f685f;color:var(--ink);--fade:clamp(16rem, 30vw, 26rem);padding-block:calc(var(--fade) * .85);background:var(--band) linear-gradient(to bottom, var(--bg) calc(var(--fade) * 0), color-mix(in srgb, var(--band) 3%, var(--bg)) calc(var(--fade) * .15), color-mix(in srgb, var(--band) 12%, var(--bg)) calc(var(--fade) * .3), color-mix(in srgb, var(--band) 30%, var(--bg)) calc(var(--fade) * .45), color-mix(in srgb, var(--band) 55%, var(--bg)) calc(var(--fade) * .6), color-mix(in srgb, var(--band) 78%, var(--bg)) calc(var(--fade) * .75), color-mix(in srgb, var(--band) 93%, var(--bg)) calc(var(--fade) * .88), var(--band) calc(var(--fade) * 1), var(--band) calc(100% - var(--fade) * 1), color-mix(in srgb, var(--band) 93%, var(--bg)) calc(100% - var(--fade) * .88), color-mix(in srgb, var(--band) 78%, var(--bg)) calc(100% - var(--fade) * .75), color-mix(in srgb, var(--band) 55%, var(--bg)) calc(100% - var(--fade) * .6), color-mix(in srgb, var(--band) 30%, var(--bg)) calc(100% - var(--fade) * .45), color-mix(in srgb, var(--band) 12%, var(--bg)) calc(100% - var(--fade) * .3), color-mix(in srgb, var(--band) 3%, var(--bg)) calc(100% - var(--fade) * .15), var(--bg) calc(100% - var(--fade) * 0))}.portfolio-area{padding-block:clamp(2.5rem,5vw,4rem);scroll-margin-top:5.5rem}.portfolio-area+.portfolio-area{border-top:1px solid var(--line)}.portfolio-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem 3rem;margin-bottom:clamp(1.5rem,4vw,3rem);display:flex}.portfolio-head h3{font-size:clamp(1.75rem,3.6vw,2.75rem)}.portfolio-head .muted{max-width:26rem;margin:0}.portfolio-back{color:var(--ink-soft);margin-top:1.5rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-block}.portfolio-back:hover{color:var(--accent)}.gallery{outline:none;position:relative}.gallery:focus-visible .gallery-track{outline:2px solid var(--accent);outline-offset:4px;border-radius:1.25rem}.gallery-track{--h:clamp(16rem, 38vw, 24rem);overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;align-items:stretch;gap:clamp(.6rem,1.2vw,1rem);margin:0;padding:.5rem clamp(1rem,4vw,3rem) 1rem;list-style:none;display:flex;overflow-x:auto}.gallery-track::-webkit-scrollbar{display:none}.gallery-item{scroll-snap-align:start;flex:none;margin:0}.gallery-card{height:var(--h);background:#ddd9d3;border-radius:clamp(1rem,2vw,1.5rem);display:block;position:relative;overflow:hidden;box-shadow:0 24px 48px -28px #281e1473}.gallery-card img{pointer-events:none;width:auto;max-width:none;height:100%;display:block}.gallery-card video,.gallery-card .art{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.gallery-item--video .gallery-card{width:calc(var(--h) * 9 / 16)}.gallery-item--wide .gallery-card{width:calc(var(--h) * 16 / 9)}.gallery-item--art .gallery-card{width:calc(var(--h) * .75)}.gallery-card[data-play]{cursor:pointer}.gallery-card[data-play]:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.gallery-play{color:#fff;white-space:nowrap;pointer-events:none;background:#0000008c;border-radius:999px;align-items:center;gap:.35rem;padding:.5rem .9rem .5rem .65rem;font-size:.85rem;font-weight:600;display:inline-flex;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.gallery-play svg{flex:none;width:1.1rem;height:1.1rem;display:block}.player{color:#fff;background:#000;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0}.player::backdrop{background:#000}.player[open]{place-items:center;display:grid}.player video{width:auto;max-width:100%;height:auto;max-height:100dvh;display:block}.player-close{top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));z-index:1;color:#fff;width:48px;height:48px;font:inherit;cursor:pointer;background:#ffffff29;border:0;border-radius:999px;font-size:1.75rem;line-height:1;position:absolute}.player-close:hover{background:#ffffff47}.player-close:focus-visible{outline:3px solid var(--accent);outline-offset:2px}html.player-open{overflow:hidden}.mock{display:grid;position:relative}.mock .bar{border-bottom:1px solid var(--line);gap:5px;padding:10px 12px;display:flex}.mock .bar i{background:var(--line-strong);border-radius:50%;width:7px;height:7px}.mock .art{aspect-ratio:16/10}.mock--phone .art{aspect-ratio:9/16}.mock--card .art{aspect-ratio:4/3}.mock .lines{gap:7px;padding:12px;display:grid}.mock .lines i{background:var(--line-strong);border-radius:4px;height:7px}.mock .lines i:nth-child(2){width:70%}.mock .lines i:nth-child(3){background:var(--accent);opacity:.8;width:45%}.g1{background:radial-gradient(circle at 30% 30%,#ff8a4c,#b8330c 55%,#2a0d04)}.g2{background:radial-gradient(circle at 70% 20%,#e8ff6a,#7fb800 50%,#1c2a00)}.g3{background:radial-gradient(circle at 30% 70%,#7aa7ff,#2c4fd6 55%,#0a1030)}.g4{background:radial-gradient(circle at 60% 40%,#ffc6d9,#d94f86 55%,#2b0616)}.g5{background:linear-gradient(160deg,#3a3531,#141210)}.g6{background:radial-gradient(circle at 50% 30%,#ffe2b8,#c98a3a 55%,#2a1a06)}.real{aspect-ratio:4/3}.real--phone{aspect-ratio:9/16}.real--desk{aspect-ratio:16/10}.real img,.real video{object-fit:cover;width:100%;height:100%;display:block}.filters{flex-wrap:wrap;gap:.5rem;margin:-1.5rem 0 2.5rem;display:none}.filters-ready .filters{display:flex}.filters button{font:inherit;border:1px solid var(--line-strong);background:var(--glass);color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:.5rem 1rem;font-size:.88rem;font-weight:600;transition:color .2s,border-color .2s,background .2s}.filters button:hover{color:var(--ink)}.filters button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.view-all{text-align:center;max-width:none;margin:clamp(1.5rem,4vw,3rem) 0 0}.work-page h1{font-size:clamp(2.4rem,6vw,4.5rem)}.work-page .filters{margin-top:0}.work-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));align-items:start;gap:2.5rem 1.25rem;display:grid}.work-card{color:var(--ink);gap:.3rem;text-decoration:none;display:grid}.work-card[hidden]{display:none}.work-card .shot{border:1px solid var(--line-strong);background:var(--surface);transition:transform .5s var(--ease), border-color .4s;border-radius:14px;margin-bottom:.6rem;overflow:hidden}.work-card .shot.real--phone{width:62%}.work-card:hover .shot,.work-card:focus-visible .shot{border-color:rgb(var(--accent-rgb) / .5);transform:translateY(-4px)}.work-card-title{font-size:1.05rem;font-weight:600}.work-card-meta{color:var(--ink-faint);font-size:.88rem}.case-hero{padding-block:clamp(3rem,8vw,6rem) clamp(2rem,5vw,3.5rem)}.case-back{margin:0 0 2rem;font-size:.9rem}.case-back a{color:var(--ink-soft);text-decoration:none}.case-back a:hover{color:var(--ink)}.case-hero h1{text-wrap:balance;max-width:18ch}.case-lede{color:var(--ink-soft);max-width:48ch;margin:1.5rem 0 0;font-size:clamp(1.1rem,2vw,1.35rem)}.case-facts{border-top:1px solid var(--line);flex-wrap:wrap;gap:1.25rem 3rem;margin:2.5rem 0 0;padding-top:1.5rem;display:flex}.case-facts div{gap:.2rem;display:grid}.case-facts dt{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-size:.75rem;font-weight:600}.case-facts dd{margin:0;font-weight:500}.case-facts a{color:var(--ink);text-decoration-color:var(--accent);text-underline-offset:4px}.case-media{margin-bottom:clamp(3rem,8vw,6rem)}.case-frame{border:1px solid var(--line-strong);background:var(--surface);box-shadow:0 40px 80px -30px var(--shadow);border-radius:18px;margin-inline:auto;overflow:hidden}.case-frame .bar{border-bottom:1px solid var(--line);gap:6px;padding:12px 14px;display:flex}.case-frame .bar i{background:var(--line-strong);border-radius:50%;width:9px;height:9px}.case-frame img,.case-frame video{width:100%;height:auto;display:block}.case-frame--phone{border-radius:28px;max-width:min(380px,80vw)}.case-frame--card{max-width:60rem}.case-story{max-width:44rem;margin-bottom:clamp(3rem,8vw,6rem);font-size:1.1rem;line-height:1.75}.case-story h2{margin:2.5rem 0 1rem;font-size:clamp(1.5rem,3vw,2rem)}.case-story h3{margin:2rem 0 .75rem}.case-story p,.case-story ul,.case-story ol{color:var(--ink-soft);max-width:none}.case-story strong{color:var(--ink)}.case-story a{color:var(--ink);text-decoration-color:var(--accent);text-underline-offset:4px}.case-story img{border-radius:12px;margin-block:1.5rem}.case-story blockquote{border-left:2px solid var(--accent);color:var(--ink);margin:2rem 0;padding-left:1.25rem;font-size:1.2rem}.case-gallery{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:1.25rem;margin-bottom:clamp(3rem,8vw,6rem);display:grid}.case-gallery figure{border:1px solid var(--line);background:var(--surface);border-radius:14px;margin:0;overflow:hidden}.case-gallery img{width:100%;height:auto;display:block}.case-next{padding-top:0}.next-link{border-block:1px solid var(--line);gap:.5rem;margin-bottom:3rem;padding-block:2.5rem;text-decoration:none;display:grid}.next-title{letter-spacing:-.035em;font-size:clamp(2rem,5vw,3.5rem);font-weight:500;line-height:1.1;transition:opacity .3s}.next-link:hover .next-title{opacity:.8}.case-cta{align-items:center}.case-cta h2{margin-bottom:.75rem}.case-cta-actions{justify-content:flex-end;display:flex}.about{grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));align-items:stretch;gap:clamp(2rem,5vw,4rem);display:grid}.team{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.avatar{aspect-ratio:3/4;border-radius:var(--radius);border:1px solid var(--line-strong);background:linear-gradient(180deg, var(--surface-hi), var(--surface-lo));color:var(--ink-soft);place-items:end start;padding:1rem;font-size:.85rem;display:grid}.avatar:nth-child(2){transform:translateY(2.5rem)}.avatar--photo{margin:0;padding:0;position:relative;overflow:hidden}.avatar--photo img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.avatar--photo figcaption{background:linear-gradient(transparent, rgb(var(--bg-rgb) / .85));width:100%;color:var(--ink);gap:.1rem;padding:2.5rem 1rem 1rem;font-size:.9rem;display:grid;position:relative}.avatar--photo figcaption span{color:var(--ink-soft);font-size:.8rem}.team:has(>.avatar:only-child){grid-template-columns:1fr}.team:has(>.avatar:only-child) .avatar--photo{aspect-ratio:auto;height:100%;min-height:28rem}.stats{flex-wrap:wrap;gap:2.5rem;margin-top:2.5rem;display:flex}.stats b{letter-spacing:-.04em;color:var(--ink);font-size:2.25rem;font-weight:600;display:block}.stats span{color:var(--ink-soft);font-size:.85rem}.contact-card{border:1px solid var(--line-strong);border-radius:calc(var(--radius) * 1.75);background:var(--bg-raised);isolation:isolate;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:clamp(2rem,5vw,4rem);padding:clamp(1.75rem,5vw,4rem);display:grid;position:relative;overflow:hidden}.contact-card:before{content:"";z-index:-1;aspect-ratio:1;background:radial-gradient(closest-side, rgb(var(--accent-rgb) / .35), transparent);filter:blur(30px);width:60%;position:absolute;inset:-40% -20% auto auto}.contact-direct{gap:.35rem;margin-top:2rem;font-size:.95rem;display:grid}.contact-direct .download{margin-top:.75rem;font-weight:600}.contact-direct a{color:var(--ink);text-decoration-color:var(--accent);text-underline-offset:4px}form{gap:1rem;display:grid}.field-row{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1rem;display:grid}label{color:var(--ink-soft);gap:.45rem;font-size:.85rem;font-weight:600;display:grid}input,select,textarea{font:inherit;border:1px solid var(--line-strong);background:var(--field);color:var(--ink);border-radius:.75rem;width:100%;padding:.85rem 1rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}textarea{resize:vertical;min-height:9rem}select option{background:var(--bg-raised)}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}form .btn{justify-self:start}.form-status{min-height:1.5rem;margin:0;font-size:.95rem;font-weight:600}.form-status.ok{color:var(--ok)}.form-status.err{color:var(--err)}footer{border-top:1px solid var(--line);color:var(--ink-faint);padding-block:2rem;font-size:.88rem}footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}footer a{color:var(--ink-soft);text-decoration:none}footer a:hover{color:var(--ink)}@media (width<=60rem){.nav{display:none}}@media (width<=48rem){.header-cta .btn--glass,.announce .hide-sm{display:none}.avatar:nth-child(2){transform:translateY(1.5rem)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.js .reveal{opacity:1;clip-path:none;transform:none}}.timeline{--progress:0;margin:0;padding:0;list-style:none;position:relative}.timeline:before,.timeline:after{content:"";width:1px;position:absolute;top:0;left:0}.timeline:before{background:var(--line-strong);bottom:0}.timeline:after{height:calc(var(--progress) * 100%);background:var(--accent);transition:height .25s linear}.timeline-item{grid-template-columns:minmax(8rem,12rem) 1fr;gap:clamp(1rem,3vw,2.5rem);padding:0 0 clamp(1.75rem,4vw,2.5rem) clamp(1.25rem,3vw,2rem);display:grid;position:relative}.timeline-item:before{content:"";background:var(--line-strong);width:9px;height:9px;transition:transform .4s var(--ease), background .4s, box-shadow .4s;border-radius:50%;position:absolute;top:.45rem;left:-5px}.timeline-item.is-active:before{background:var(--accent);box-shadow:0 0 0 6px rgb(var(--accent-rgb) / .18);transform:scale(1.5)}.timeline-period{color:var(--ink-faint);margin:0;padding-top:.2rem;font-size:.9rem;font-weight:600;transition:color .4s}.timeline-item.is-active .timeline-period{color:var(--accent)}.role summary{cursor:pointer;border-radius:.5rem;grid-template-columns:1fr auto;gap:.25rem 1rem;list-style:none;display:grid}.role summary::-webkit-details-marker{display:none}.role summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.role-title{font-size:clamp(1.1rem,2vw,1.3rem);font-weight:600;line-height:1.3;transition:color .3s}.role summary:hover .role-title,.timeline-item.is-active .role-title{color:var(--accent)}.timeline-org{color:var(--ink-soft);grid-column:1;margin:0;font-size:.95rem}.role-toggle{border:1px solid var(--line-strong);width:2rem;height:2rem;color:var(--ink);transition:transform .4s var(--ease), border-color .3s;border-radius:50%;grid-area:1/2/span 2;place-items:center;font-size:1.2rem;line-height:1;display:grid}.role summary:hover .role-toggle{border-color:rgb(var(--accent-rgb) / .6)}.role[open] .role-toggle{transform:rotate(45deg)}.role ul{color:var(--ink-soft);margin:.9rem 0 0;padding-left:1.1rem;font-size:.97rem}.role li+li{margin-top:.35rem}.edu-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:clamp(1.5rem,4vw,3rem);margin-top:clamp(1rem,3vw,2rem);display:grid}.edu-grid h3{margin-bottom:.6rem}.edu-grid p{color:var(--ink-soft);margin:0}.cert-list{color:var(--ink-soft);margin:0;padding-left:1.1rem}.cert-list li+li{margin-top:.35rem}.cv-download{color:#1a1714;background:#fff;border-color:#fff;margin-top:1.5rem}.cv-download:hover{color:#1a1714;background:#f4f3f0;border-color:#f4f3f0}.js .timeline-item{opacity:.15;transition:opacity .8s var(--ease), transform .8s var(--ease);transform:translate(-1.5rem)}.js .timeline-item.is-visible{opacity:1;transform:none}.js .role li{opacity:0;transition:opacity .6s var(--ease), transform .6s var(--ease);transform:translateY(.6rem)}.js .timeline-item.is-visible .role li{opacity:1;transform:none}.js .timeline-item.is-visible .role li:nth-child(2){transition-delay:.12s}.js .timeline-item.is-visible .role li:nth-child(3){transition-delay:.24s}.js .timeline-item.is-visible .role li:nth-child(4){transition-delay:.36s}.js .timeline-item.is-visible .role li:nth-child(5){transition-delay:.48s}@media (width<=36rem){.timeline-item{grid-template-columns:1fr;gap:.25rem}}@media (prefers-reduced-motion:reduce){.timeline:after,.timeline-item:before,.role-toggle,.js .timeline-item,.js .role li{transition:none}.js .timeline-item,.js .role li{opacity:1;transform:none}}.cursor-glow[data-astro-cid-2xu27y2b]{display:none}@media (hover:hover) and (pointer:fine){html.glow-cursor,html.glow-cursor *{cursor:none!important}html.glow-cursor input,html.glow-cursor textarea,html.glow-cursor select,html.glow-cursor [contenteditable]{cursor:auto!important}html.glow-cursor .cursor-glow[data-astro-cid-2xu27y2b]{z-index:9999;pointer-events:none;opacity:0;width:12px;height:12px;transition:opacity .25s, width .3s var(--ease), height .3s var(--ease), margin .3s var(--ease), background .3s;background:#111;border-radius:50%;margin:-6px 0 0 -6px;display:block;position:fixed;top:0;left:0;box-shadow:0 0 0 1px #ffffff8c,0 0 10px 3px #00000038,0 0 22px 6px #00000014}html.glow-cursor .cursor-glow[data-astro-cid-2xu27y2b].on{opacity:1}html.glow-cursor .cursor-glow[data-astro-cid-2xu27y2b].over{background:#11111129;width:32px;height:32px;margin:-16px 0 0 -16px}html.glow-cursor .cursor-glow[data-astro-cid-2xu27y2b].down{width:10px;height:10px;margin:-5px 0 0 -5px}html.glow-cursor .cursor-glow[data-astro-cid-2xu27y2b].on-dark{background:#fff;box-shadow:0 0 0 1px #00000059,0 0 10px 3px #ffffff47,0 0 22px 6px #ffffff1a}html.glow-cursor .cursor-glow[data-astro-cid-2xu27y2b].on-dark.over{background:#fff3}html.glow-cursor .cursor-glow[data-astro-cid-2xu27y2b].typing{opacity:0}}
