:root{color-scheme:light;--paper:#f7f7f5;--white:#fff;--ink:#191919;--muted:#6f6e6a;--line:#deded9;--plum:#5e344b;--plum-dark:#432438;--max:1180px;--radius:22px;--ease:cubic-bezier(.2,.8,.2,1);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}a{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p{text-wrap:balance}.skip-link{position:fixed;z-index:30;top:12px;left:12px;padding:12px 16px;background:var(--ink);color:#fff;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{width:min(calc(100% - 48px),var(--max));height:82px;margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px}.brand{width:max-content;font-size:.95rem;font-weight:700;text-decoration:none}nav{display:flex;align-items:center;gap:34px}nav a{min-height:44px;display:inline-flex;align-items:center;color:#4b4a47;font-size:.9rem;text-decoration:none}nav a:hover{color:var(--plum)}.header-cta{justify-self:end;min-height:44px;display:inline-flex;align-items:center;padding:0 18px;border:1px solid var(--line);border-radius:999px;font-size:.9rem;font-weight:650;text-decoration:none;transition:180ms var(--ease)}.header-cta:hover{border-color:var(--ink);background:var(--ink);color:#fff}
.hero{width:min(calc(100% - 48px),var(--max));min-height:calc(100svh - 82px);margin:auto;padding:36px 0 86px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:clamp(56px,9vw,124px)}.hero-copy{padding-bottom:8px}.eyebrow,.section-label{margin:0 0 24px;color:var(--plum);font-size:.76rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow span{width:30px;height:1px;background:var(--plum)}h1{margin:0;font-size:clamp(4rem,7.2vw,7rem);font-weight:520;line-height:.9;letter-spacing:-.065em}.hero-lead{max-width:50ch;margin:34px 0 0;color:var(--muted);font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.6;text-wrap:pretty}.hero-actions{margin-top:36px;display:flex;align-items:center;flex-wrap:wrap;gap:26px}.button{min-height:52px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:.94rem;font-weight:700;text-decoration:none;transition:transform 180ms var(--ease),background 180ms var(--ease)}.button:hover{transform:translateY(-2px)}.button:active{transform:scale(.97)}.primary{background:var(--plum);color:#fff;box-shadow:0 10px 30px rgb(94 52 75/.16)}.primary:hover{background:var(--plum-dark)}.text-link{min-height:48px;display:inline-flex;align-items:center;gap:10px;font-size:.94rem;font-weight:650;text-underline-offset:5px}.portrait{position:relative;width:min(100%,475px);justify-self:end;margin:0}.portrait:before{content:"";position:absolute;inset:-18px 22px 24px -20px;border:1px solid #c8c1c4;border-radius:30px;z-index:-1}.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 42%;border-radius:var(--radius);box-shadow:0 22px 60px rgb(38 25 31/.13)}.portrait figcaption{position:absolute;right:-18px;bottom:26px;padding:13px 17px;border-radius:12px;background:rgb(255 255 255/.92);box-shadow:0 10px 35px rgb(25 25 25/.12);backdrop-filter:blur(10px);color:#4d4b49;font-size:.84rem}
.section{width:min(calc(100% - 48px),var(--max));margin:auto;padding:clamp(92px,11vw,142px) 0}.intro{display:grid;grid-template-columns:.7fr 2fr;gap:40px;border-top:1px solid var(--line)}.statement{max-width:37ch;margin:-7px 0 0;font-size:clamp(2rem,4.1vw,3.7rem);font-weight:450;line-height:1.15;letter-spacing:-.045em}.metrics{background:var(--plum);color:#fff;padding:clamp(62px,8vw,96px) max(24px,calc((100% - var(--max))/2))}.metrics-inner{display:grid;grid-template-columns:repeat(3,1fr)}.metrics-inner>div{min-height:175px;padding:8px clamp(24px,4vw,54px);display:flex;flex-direction:column;justify-content:space-between;border-left:1px solid rgb(255 255 255/.2)}.metrics-inner>div:first-child{padding-left:0;border-left:0}.metrics strong{font-size:clamp(2.9rem,5vw,5.1rem);font-weight:520;letter-spacing:-.06em;font-variant-numeric:tabular-nums}.metrics span{max-width:18ch;color:rgb(255 255 255/.72);line-height:1.45}.metrics>p{margin:34px 0 0;color:rgb(255 255 255/.54);font-size:.78rem}
.section-heading{display:grid;grid-template-columns:.65fr 1.5fr;gap:40px;margin-bottom:clamp(50px,7vw,80px)}.section-heading h2{margin:-10px 0 0;max-width:14ch;font-size:clamp(2.7rem,5vw,5rem);font-weight:500;line-height:1;letter-spacing:-.055em}.section-heading>p:last-child:not(.section-label){grid-column:2;max-width:52ch;margin:-46px 0 0;align-self:end;color:var(--muted);line-height:1.6}
.service-list{border-top:1px solid var(--line)}.service{min-height:138px;padding:31px 0;display:grid;grid-template-columns:70px .85fr 1.35fr .72fr;align-items:center;gap:26px;border-bottom:1px solid var(--line)}.service>span,.project-no{color:#92908c;font-size:.74rem;font-variant-numeric:tabular-nums}.service h3{margin:0;font-size:clamp(1.25rem,2vw,1.7rem);font-weight:600;letter-spacing:-.025em}.service p{max-width:48ch;margin:0;color:var(--muted);line-height:1.55;text-wrap:pretty}.service strong{justify-self:end;font-size:.95rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.work,.pricing{padding-top:70px}.project-list{border-top:1px solid var(--line)}.project{min-height:108px;padding:0 22px;display:grid;grid-template-columns:70px 1fr .7fr 34px;align-items:center;gap:20px;border-bottom:1px solid var(--line);text-decoration:none;transition:background 180ms var(--ease),padding 180ms var(--ease)}.project:hover{padding-left:30px;background:var(--white)}.project strong{font-size:clamp(1.35rem,2.4vw,2rem);font-weight:550;letter-spacing:-.03em}.project>span:nth-child(3){color:var(--muted);font-size:.9rem}.project b{font-size:1.2rem;font-weight:400;transition:transform 180ms var(--ease)}.project:hover b{transform:translate(3px,-3px)}
.price-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.price{min-height:350px;padding:32px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.price.featured{background:var(--plum);color:#fff;border-color:var(--plum)}.price h3{margin:0 0 15px;font-size:1.6rem;font-weight:600;letter-spacing:-.03em}.price p{margin:0;color:var(--muted);line-height:1.55;text-wrap:pretty}.price.featured p{color:rgb(255 255 255/.68)}.price .choice{width:max-content;margin:0 0 18px;padding:6px 10px;border:1px solid rgb(255 255 255/.28);border-radius:999px;color:#fff;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.price>strong{display:flex;flex-direction:column;gap:7px;font-size:clamp(1.8rem,3vw,2.7rem);font-weight:550;letter-spacing:-.045em;font-variant-numeric:tabular-nums}.price small{font-size:.82rem;font-weight:500;letter-spacing:0;opacity:.6}.offer-note{margin:14px 0 0;color:var(--muted);font-size:.76rem}
.process{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(50px,8vw,110px)}.process .section-heading{display:block;margin:0}.process .section-heading h2{margin-top:0}.process ol{margin:0;padding:0;list-style:none}.process li{min-height:136px;padding:30px 0;display:grid;grid-template-columns:58px 1fr;gap:20px;border-top:1px solid var(--line)}.process li>span{color:#92908c;font-size:.74rem}.process li strong{font-size:1.3rem}.process li p{max-width:48ch;margin:12px 0 0;color:var(--muted);line-height:1.55}
.contact{width:min(calc(100% - 32px),1380px);max-width:none;padding:clamp(70px,10vw,120px) max(24px,calc((100% - var(--max))/2));border-radius:28px;background:var(--ink);color:#fff}.contact .section-label{color:#caa8ba}.contact h2{margin:0;font-size:clamp(3.2rem,7vw,7rem);font-weight:480;line-height:.94;letter-spacing:-.065em}.contact>p:not(.section-label){max-width:54ch;margin:28px 0 35px;color:rgb(255 255 255/.64);font-size:1.05rem;line-height:1.55}.button.light{background:#fff;color:var(--ink)}footer{width:min(calc(100% - 48px),var(--max));min-height:150px;margin:auto;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:34px;color:var(--muted);font-size:.78rem}footer div{display:flex;flex-direction:column;gap:6px}footer strong{color:var(--ink);font-size:.85rem}footer a{min-height:44px;display:inline-flex;align-items:center;text-underline-offset:4px}
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity 600ms var(--ease),transform 600ms var(--ease)}.js .reveal.is-visible{opacity:1;transform:none}:focus-visible{outline:3px solid #b36f95;outline-offset:4px}
@media(max-width:860px){.site-header{grid-template-columns:1fr auto}nav{display:none}.hero{min-height:auto;padding-top:28px;grid-template-columns:1fr;gap:58px}.hero-copy{padding-top:24px}.portrait{width:min(88%,520px);justify-self:center}.intro,.section-heading,.process{grid-template-columns:1fr}.section-heading>p:last-child:not(.section-label){grid-column:1;margin:-18px 0 0}.metrics-inner{grid-template-columns:1fr}.metrics-inner>div{min-height:125px;padding:25px 0;border-left:0;border-top:1px solid rgb(255 255 255/.2)}.metrics-inner>div:first-child{border-top:0}.service{grid-template-columns:52px 1fr auto}.service p{grid-column:2/-1}.service strong{grid-column:3;grid-row:1}.price-list{grid-template-columns:1fr}.price{min-height:275px}.process{gap:45px}}
@media(max-width:560px){.site-header,.hero,.section,footer{width:min(calc(100% - 32px),var(--max))}.site-header{height:72px}.brand{font-size:.88rem}.header-cta{padding:0 15px}.hero{padding:26px 0 72px}h1{font-size:clamp(3.65rem,18vw,5rem)}.hero-lead{margin-top:26px}.hero-actions{align-items:flex-start;flex-direction:column;gap:12px}.portrait{width:calc(100% - 20px);margin-left:8px}.portrait:before{inset:-12px 15px 18px -12px}.portrait figcaption{right:-8px;bottom:18px}.intro{gap:18px}.statement{font-size:2rem}.metrics{padding-inline:24px}.section-heading{gap:12px}.service{padding:26px 0;grid-template-columns:36px 1fr;gap:12px}.service h3{font-size:1.3rem}.service p,.service strong{grid-column:2}.service strong{grid-row:auto;justify-self:start;margin-top:8px}.project{min-height:96px;padding:0 8px;grid-template-columns:34px 1fr 24px;gap:12px}.project>span:nth-child(3){display:none}.project:hover{padding-left:12px}.price{min-height:290px;padding:26px}.contact{width:calc(100% - 16px);padding-inline:24px;border-radius:22px}footer{min-height:190px;padding:34px 0;grid-template-columns:1fr;gap:12px;align-content:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.js .reveal{opacity:1;transform:none}}

/* Extended portfolio */
.metrics-inner{grid-template-columns:repeat(4,1fr)}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.case{min-height:300px;padding:30px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.case>span{color:var(--muted);font-size:.82rem;font-weight:700}.case>strong{margin-top:auto;font-size:clamp(2rem,3vw,3.35rem);font-weight:520;line-height:1;letter-spacing:-.055em;font-variant-numeric:tabular-nums}.case>p{margin:12px 0 24px;color:var(--muted)}.case>a{width:max-content;min-height:44px;display:inline-flex;align-items:center;gap:8px;font-size:.9rem;font-weight:700;text-underline-offset:5px}.case-accent{background:var(--plum);color:#fff;border-color:var(--plum)}.case-accent>span,.case-accent>p{color:rgb(255 255 255/.7)}.data-note{max-width:68ch;margin:18px 0 0;color:var(--muted);font-size:.78rem;line-height:1.5}
.account-directory{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.account{min-height:128px;padding:25px 24px;display:grid;grid-template-columns:42px 1fr;align-content:center;gap:14px;border-bottom:1px solid var(--line)}.account:nth-child(odd){border-right:1px solid var(--line)}.account>span{color:#92908c;font-size:.72rem;font-variant-numeric:tabular-nums}.account h3{margin:0;font-size:1.22rem;font-weight:620;letter-spacing:-.02em}.account>div{grid-column:2;display:flex;flex-wrap:wrap;gap:8px}.account a{min-height:40px;padding:0 13px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:var(--white);color:#55534f;font-size:.78rem;font-weight:650;text-decoration:none;transition:background 150ms ease-out,color 150ms ease-out,border-color 150ms ease-out,transform 150ms ease-out}.account a:hover{border-color:var(--plum);background:var(--plum);color:#fff}.account a:active{transform:scale(.96)}
.site-footer{width:min(calc(100% - 48px),var(--max));min-height:260px;padding:55px 0;grid-template-columns:1.15fr .8fr 1.25fr;align-items:start;border-top:1px solid var(--line);font-size:.8rem}.site-footer a{min-height:40px}.footer-identity,.footer-legal,.footer-meta{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.footer-legal a,.footer-meta a,.footer-identity a{text-underline-offset:4px}.footer-meta{line-height:1.5}.footer-meta span:first-child{max-width:36ch}

/* Legal pages */
.legal-page{background:var(--paper)}.legal-content{width:min(calc(100% - 48px),820px);margin:auto;padding:90px 0 120px}.legal-content>h1{max-width:12ch;font-size:clamp(3.2rem,7vw,6rem);line-height:.95}.legal-content section{margin-top:72px}.legal-content h2{margin:0 0 22px;font-size:clamp(1.6rem,3vw,2.25rem);font-weight:580;letter-spacing:-.035em}.legal-content p,.legal-content li,.legal-content dd{color:#53514d;font-size:1rem;line-height:1.75;text-wrap:pretty}.legal-content a{text-underline-offset:4px}.legal-content ul{padding-left:21px}.legal-content li+li{margin-top:8px}.legal-content dl{margin:0;border-top:1px solid var(--line)}.legal-content dl>div{padding:18px 0;display:grid;grid-template-columns:240px 1fr;gap:24px;border-bottom:1px solid var(--line)}.legal-content dt{color:var(--muted);font-size:.82rem}.legal-content dd{margin:0}.legal-updated{margin-top:72px!important;color:var(--muted)!important;font-size:.78rem!important}.legal-footer{width:min(calc(100% - 48px),820px);min-height:110px;margin:auto;display:flex;align-items:center;gap:24px;border-top:1px solid var(--line);font-size:.8rem}.legal-footer a{min-height:44px;display:inline-flex;align-items:center;text-underline-offset:4px}

@media(max-width:980px){.case-grid{grid-template-columns:repeat(2,1fr)}.metrics-inner{grid-template-columns:repeat(2,1fr)}.metrics-inner>div:nth-child(3){border-left:0}.site-footer{grid-template-columns:1fr 1fr}.footer-meta{grid-column:1/-1}}
@media(max-width:860px){.metrics-inner{grid-template-columns:1fr}.metrics-inner>div{border-left:0}.account-directory{grid-template-columns:1fr}.account:nth-child(odd){border-right:0}.site-footer{grid-template-columns:1fr 1fr}.footer-meta{grid-column:1/-1}}
@media(max-width:560px){.case-grid{grid-template-columns:1fr}.case{min-height:260px;padding:26px}.account{padding-inline:6px;grid-template-columns:30px 1fr}.site-footer{width:min(calc(100% - 32px),var(--max));min-height:auto;grid-template-columns:1fr;gap:32px}.footer-meta{grid-column:auto}.legal-content,.legal-footer{width:min(calc(100% - 32px),820px)}.legal-content{padding:64px 0 90px}.legal-content section{margin-top:52px}.legal-content dl>div{grid-template-columns:1fr;gap:6px}.legal-footer{padding:28px 0;flex-direction:column;align-items:flex-start;gap:4px}}
.brand{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:860px){.section-heading{display:block}.section-heading .section-label{margin-bottom:24px}.section-heading h2{margin:0}.section-heading>p:last-child:not(.section-label){margin:24px 0 0}}
.legal-content>h1{hyphens:auto;overflow-wrap:anywhere}
.account a,.site-footer a,.skip-link{min-height:44px}
.video-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.video-card{grid-column:span 7;display:grid;grid-template-columns:1fr auto;gap:8px 24px;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--white);text-decoration:none;transition:border-color 180ms ease-out,transform 180ms ease-out,box-shadow 180ms ease-out}.video-card:nth-child(even){grid-column:span 5}.video-card img{grid-column:1/-1;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 320ms var(--ease)}.video-card span,.video-card strong,.video-card small{margin-inline:24px}.video-card span{padding-top:16px;color:var(--plum);font-size:.72rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.video-card strong{grid-column:1/2;padding-bottom:22px;font-size:clamp(1.1rem,2vw,1.55rem);line-height:1.15}.video-card small{align-self:end;padding-bottom:22px;color:var(--muted);font-size:.8rem;font-weight:650;white-space:nowrap}.video-card:hover{border-color:#b9a6b1;transform:translateY(-3px);box-shadow:0 18px 36px rgba(25,25,25,.08)}.video-card:hover img{transform:scale(1.015)}.video-card:active{transform:translateY(-1px)}
@media(max-width:760px){.video-grid{grid-template-columns:1fr}.video-card,.video-card:nth-child(even){grid-column:1}.video-card{grid-template-columns:1fr}.video-card span,.video-card strong,.video-card small{margin-inline:18px}.video-card strong{padding-bottom:0}.video-card small{padding-bottom:20px}.video-card img{aspect-ratio:4/3}}
.section-heading>p:last-child:not(.section-label){margin:24px 0 0;align-self:start}
.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.contact-actions .button{margin-top:0}.outline-light{border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff}.outline-light:hover{border-color:#fff;background:rgba(255,255,255,.08)}
