:root{--bg:#faf7f8;--surface:#fff;--ink:#1b1217;--muted:#625660;--line:#e7dee2;--accent:#a3123a;--accent-ink:#fff;--b1:#7a0f2e;--b2:#22030f;--serif:"Fraunces",Georgia,serif;--sans:"Instrument Sans",system-ui,sans-serif;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#120d11;--surface:#1d1519;--ink:#f4eef2;--muted:#b7aab2;--line:#33252d;--accent:#f27c97;--accent-ink:#120d11}}:root[data-theme=dark]{--bg:#120d11;--surface:#1d1519;--ink:#f4eef2;--muted:#b7aab2;--line:#33252d;--accent:#f27c97;--accent-ink:#120d11}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{background:var(--bg);color:var(--ink);font:400 1.0625rem/1.7 var(--sans);margin:0}h1,h2,h3{font-family:var(--serif);letter-spacing:-.02em;margin:0;font-weight:500;line-height:1.08}a{color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.wrap{max-width:72rem;margin:0 auto;padding:0 1.5rem}.btn{background:var(--accent);color:var(--accent-ink);border:1.5px solid #0000;border-radius:999px;padding:.85rem 1.6rem;font-size:1rem;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-block}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px -8px #a3123a8c}.btn.ghost{color:var(--ink);border-color:var(--line);background:0 0}.dark .btn{color:#5e0a24;background:#fff}.dark .btn.ghost{color:#fff;background:0 0;border-color:#fff6}.cta{flex-wrap:wrap;gap:.75rem;display:flex}nav.top{z-index:10;-webkit-backdrop-filter:blur(14px);color:#fff;padding-top:env(safe-area-inset-top,0px);background:#22030f8c;position:sticky;top:0}nav.top .wrap{justify-content:space-between;align-items:center;height:4rem;display:flex}.brand{font:600 1.3rem var(--serif);text-decoration:none}nav.top ul{gap:1.75rem;margin:0;padding:0;font-size:.97rem;list-style:none;display:flex}nav.top ul a{opacity:.8;text-decoration:none}nav.top ul a:hover{opacity:1}.nav-btn{padding:.55rem 1.2rem}.band{background:radial-gradient(90% 90% at 80% 10%,var(--b1),var(--b2) 70%);color:#fff;overflow:hidden}.hero{grid-template-columns:1.2fr 1fr;align-items:end;gap:3rem;padding:4rem 0 0;display:grid}.eyebrow{background:#ffffff0f;border:1px solid #ffffff4d;border-radius:999px;margin-bottom:1.5rem;padding:.3rem .9rem;font-size:.9rem;display:inline-block}.hero h1{font-size:clamp(2.9rem,7vw,5.8rem)}.hero h1 em{color:#ffb3c6;font-style:italic}.lead{color:#ffffffc7;max-width:33rem;margin:1.5rem 0 2rem;font-size:1.2rem}.copy{padding-bottom:4.5rem}.pic{justify-self:end;width:100%;max-width:25rem;position:relative}.pic img{aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:999px 999px 0 0;width:100%;height:auto;display:block}.badge{-webkit-backdrop-filter:blur(12px);background:#ffffff24;border:1px solid #ffffff4d;border-radius:1rem;padding:.8rem 1.1rem;font-size:.9rem;line-height:1.35;animation:5s ease-in-out infinite bob;position:absolute;bottom:3rem;left:-1.5rem}.badge b{font:600 1.5rem var(--serif);display:block}.ticker{background:var(--accent);color:var(--accent-ink);white-space:nowrap;font:600 1.05rem var(--sans);padding:.8rem 0;overflow:hidden}.track{width:max-content;animation:34s linear infinite roll;display:inline-flex}.ticker span{padding:0 1.25rem}section{padding:6rem 0 0}.kicker{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.75rem;font-size:.9rem;font-weight:600}h2{max-width:40rem;margin-bottom:2.5rem;font-size:clamp(2.1rem,4.6vw,3.4rem)}.grid3{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:1.5rem;padding:2rem 1.75rem;transition:transform .3s,border-color .3s,box-shadow .3s;position:relative;overflow:hidden}.card:after{content:"";background:var(--accent);width:0;height:3px;transition:width .4s;position:absolute;bottom:0;left:0}.card:hover{border-color:var(--accent);transform:translateY(-6px);box-shadow:0 24px 40px -24px #a3123a66}.card:hover:after{width:100%}.card .n{font:500 .95rem var(--serif);color:var(--accent);font-style:italic}.card h3{margin:.6rem 0 .5rem;font-size:1.5rem}.card p{color:var(--muted);margin:0;font-size:1rem}.case{background:var(--surface);border:1px solid var(--line);border-radius:2rem;margin-bottom:1.5rem;padding:clamp(1.5rem,4vw,3rem)}.case .tag{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.88rem;font-weight:600}.case h3{max-width:44rem;margin:.6rem 0 1.75rem;font-size:clamp(1.7rem,3.2vw,2.4rem)}.facts{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:2rem;padding-top:1.75rem;display:grid}.facts h4{font:600 .85rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem}.facts p{margin:0}.pull{border-left:4px solid var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent);font:italic 500 1.2rem/1.5 var(--serif);border-radius:0 1rem 1rem 0;margin:2rem 0 0;padding:1.25rem 1.5rem}.pull cite{font:500 .9rem var(--sans);color:var(--muted);margin-top:.5rem;font-style:normal;display:block}.quotes{background:var(--surface);border:1px solid var(--line);border-radius:2rem;padding:clamp(2rem,5vw,4rem);display:grid;position:relative}.q{margin:0 0 2rem}.js .q{grid-area:1/1;margin:0}.q p{font:500 clamp(1.35rem,2.6vw,2rem)/1.4 var(--serif);max-width:50rem;margin:0 0 1.5rem}.q cite{color:var(--muted);font-size:.95rem;font-style:normal}.js .q{opacity:0;visibility:hidden;transition:opacity .6s,transform .6s,visibility .6s;transform:translateY(14px)}.js .q.on{opacity:1;visibility:visible;transform:none}.dots{gap:.5rem;margin-top:2rem;display:flex}.dots button{background:var(--line);cursor:pointer;border:0;border-radius:99px;width:2.2rem;height:.5rem;padding:0;transition:background .3s,width .3s}.dots button[aria-current=true]{background:var(--accent);width:3.4rem}.chips{flex-wrap:wrap;gap:.6rem;margin:0 0 1.5rem;padding:0;list-style:none;display:flex}.chips li{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:.55rem 1.1rem;transition:all .2s}.chips li:hover{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);transform:translateY(-2px)}.langs{color:var(--muted);margin:0}.contact{background:radial-gradient(100% 140% at 90% 0%,var(--b1),var(--b2));color:#fff;border-radius:2rem;margin:6rem 0;padding:clamp(2rem,6vw,4.5rem)}.contact h2{margin-bottom:1rem}.contact p{color:#fffc;max-width:34rem;margin:0 0 2rem}footer{color:var(--muted);padding:0 0 3rem;font-size:.95rem}.samples{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.sample{background:var(--surface);border:1px solid var(--line);border-radius:1.5rem;margin:0;overflow:hidden}.sample img{aspect-ratio:1.35;object-fit:cover;object-position:top;width:100%;display:block}.sample figcaption{color:var(--muted);padding:1.1rem 1.25rem;font-size:.95rem}.sample figcaption strong{color:var(--ink);font:500 1.15rem var(--serif);margin-bottom:.25rem;display:block}.terms{max-width:48rem;color:var(--muted);margin:-1.25rem 0 0}.social-intro{color:#fffc;margin:0 0 1rem}.socials{flex-wrap:wrap;gap:.65rem;margin:1rem 0 0;display:flex}.socials a{color:#fff;font:500 .92rem var(--sans);border:1px solid #ffffff59;border-radius:999px;align-items:center;gap:.5rem;padding:.6rem .85rem;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.socials a:hover{background:#ffffff1f;transform:translateY(-2px)}.socials a.primary{color:#5e0a24;background:#fff;border-color:#fff}.socials a.primary:hover{background:#f3e5ea}.socials svg{fill:currentColor;width:1.1rem;height:1.1rem}.footer-inner{border-top:1px solid var(--line);padding-top:1.75rem}.footer-inner p{margin:.3rem 0}.privacy{max-width:50rem;color:var(--muted);font-size:.88rem}@media (width<=820px){.samples{grid-template-columns:1fr}}@keyframes up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@keyframes arch{0%{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}@keyframes roll{to{transform:translate(-50%)}}@keyframes bob{50%{transform:translateY(-8px)}}.copy>*{animation:1s cubic-bezier(.2,.7,.2,1) both up}.copy>:nth-child(2){animation-delay:.1s}.copy>:nth-child(3){animation-delay:.2s}.copy>:nth-child(4){animation-delay:.3s}.pic img{animation:1.2s cubic-bezier(.2,.7,.2,1) .15s both arch}.js .rv{opacity:0;transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s);transform:translateY(28px)}.js .rv.in{opacity:1;transform:none}.grid3 .rv:nth-child(3n+2){--d:.1s}.grid3 .rv:nth-child(3n){--d:.2s}@media (width<=820px){.wrap{padding:0 1.25rem}nav.top ul{display:none}.hero{grid-template-columns:1fr;gap:2rem;padding-top:2.5rem}.copy{padding-bottom:0}.pic{justify-self:center;max-width:19rem}.badge{bottom:2rem;left:-.5rem}.grid3,.facts{grid-template-columns:1fr}.facts{gap:1.25rem}section{padding-top:4.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.js .rv{opacity:1;transform:none}}.about{grid-template-columns:1fr 1.2fr;align-items:start;gap:3rem;display:grid}.about h2{margin:0}.about-p{color:var(--muted);margin:0 0 1.5rem;font-size:1.2rem}.sub{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .75rem;font-size:.9rem;font-weight:600}@media (width<=820px){.about{grid-template-columns:1fr;gap:1.5rem}}.faq{max-width:48rem}.faq details{border-top:1px solid var(--line);padding:1.25rem 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font:500 1.35rem var(--serif);justify-content:space-between;align-items:center;gap:1rem;list-style:none;transition:color .2s;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font:400 1.8rem var(--sans);color:var(--accent);transition:transform .3s}.faq summary:hover{color:var(--accent)}.faq details[open] summary:after{transform:rotate(45deg)}.faq details p{color:var(--muted);max-width:40rem;margin:.75rem 0 0;animation:.5s both up}.tz{gap:1rem;margin-top:2rem;display:grid}.tzr{grid-template-columns:8rem 1fr 11rem;align-items:center;gap:1rem;display:grid}.tzr b{font:500 1.15rem var(--serif)}.tzr small{color:var(--muted);font-size:.95rem}.bar{background:var(--line);border-radius:99px;height:1.1rem;position:relative}.seg{background:var(--accent);transform-origin:0;transition:transform 1.2s cubic-bezier(.2,.7,.2,1) .2s;position:absolute;top:0;bottom:0;transform:scaleX(0)}.tz.in .seg{transform:none}.biz{border:2px solid var(--ink);opacity:.55;border-radius:6px;position:absolute;top:-5px;bottom:-5px}.note{color:var(--muted);max-width:40rem;margin:1.25rem 0 0;font-size:.92rem}@media (width<=820px){.tzr{grid-template-columns:1fr;gap:.35rem}}.status{align-items:center;gap:.6rem;margin:1.5rem 0 0;font-weight:600;display:flex}.dot{background:#2bb673;border-radius:50%;width:.7rem;height:.7rem;animation:2s infinite pulse;box-shadow:0 0 #2bb67399}.dot.off{background:var(--muted);animation:none}@keyframes pulse{70%{box-shadow:0 0 0 .7rem #2bb67300}to{box-shadow:0 0 #2bb67300}}.tzr.me b{color:var(--accent)}.picker{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.5rem;display:flex}.picker label{font-weight:600}.picker input{min-width:min(100%,22rem)}.picker select,.picker input{font:inherit;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:999px;max-width:100%;padding:.7rem 1.1rem}.result{font:500 clamp(1.3rem,2.6vw,1.9rem)/1.35 var(--serif);max-width:44rem;margin:1.25rem 0 0}.result strong{color:var(--accent);font-weight:600}.cb{min-width:min(100%,26rem);position:relative}.cb input{width:100%}#tzbox{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:1rem;max-height:19rem;margin:0;padding:.4rem;list-style:none;position:absolute;top:calc(100% + .4rem);left:0;right:0;overflow:auto;box-shadow:0 24px 40px -20px #00000073}#tzbox li{cursor:pointer;border-radius:.6rem;justify-content:space-between;gap:1rem;padding:.6rem .8rem;line-height:1.35;display:flex}#tzbox li small{color:var(--muted);white-space:nowrap}#tzbox li[aria-selected=true],#tzbox li:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)}.contact .alt{color:#ffffffbf;margin:1.5rem 0 0;font-size:1rem}.contact .alt a{color:#fff;text-underline-offset:4px}@media (width<=820px){#services .grid3,#resources .grid3{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.9rem;margin:0 -1.25rem;padding:.6rem 1.25rem 1.2rem;scroll-padding-left:1.25rem;display:flex;overflow-x:auto}#services .grid3::-webkit-scrollbar,#resources .grid3::-webkit-scrollbar{display:none}#services .grid3 .card,#resources .grid3 .card{scroll-snap-align:start;flex:0 0 80%}.js #services .grid3 .rv,.js #resources .grid3 .rv{opacity:1;transition:none;transform:none}#services .kicker:after,#resources .kicker:after{content:"  · Swipe →";color:var(--muted);letter-spacing:.04em;text-transform:none;font-weight:500}#work-samples .samples{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;align-items:flex-start;gap:.9rem;margin:0 -1.25rem;padding:.6rem 1.25rem 1.2rem;scroll-padding-left:1.25rem;display:flex;overflow-x:auto}#work-samples .samples::-webkit-scrollbar{display:none}#work-samples .samples .sample{scroll-snap-align:start;flex:0 0 80%;min-width:0;margin:0}.js #work-samples .samples .rv{opacity:1;transition:none;transform:none}#work-samples .kicker:after{content:"  · Swipe →";color:var(--muted);letter-spacing:.04em;text-transform:none;font-weight:500}}.hero .alt{color:#ffffffbf;margin:1.25rem 0 0;font-size:1rem}.hero .alt a{color:#fff;text-underline-offset:4px}@media (width<=820px){#cases .cases-track{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;align-items:flex-start;gap:.9rem;margin:0 -1.25rem;padding:.6rem 1.25rem 1.2rem;scroll-padding-left:1.25rem;display:flex;overflow-x:auto}#cases .cases-track::-webkit-scrollbar{display:none}#cases .cases-track .case{scroll-snap-align:start;flex:0 0 86%;min-width:0;margin:0}.js #cases .cases-track .rv{opacity:1;transition:none;transform:none}#cases .kicker:after{content:"  · Swipe →";color:var(--muted);letter-spacing:.04em;text-transform:none;font-weight:500}#cases .case{padding:1.25rem}#cases .case h3{margin-bottom:1.1rem;font-size:1.4rem}#cases .facts{gap:1rem;padding-top:1.1rem}#cases .pull{margin-top:1.25rem;padding:1rem 1.1rem;font-size:1.05rem}}
