:root{--paper:#f9f9f7;--white:#fff;--ink:#25232b;--muted:#67636e;--line:#dcd8e5;--accent:#b8a6ff;--purple:#6b4ec6;--font-body:'Bricolage Grotesque',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}img,video{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:600}::selection{background:var(--accent);color:var(--ink)}:focus-visible{outline:3px solid var(--purple);outline-offset:4px}.shell{width:min(100% - clamp(36px,7vw,116px),1500px);margin-inline:auto}.skip-link{position:fixed;z-index:2000;top:-80px;left:20px;background:var(--white);padding:12px 18px;border:1px solid var(--ink)}.skip-link:focus{top:12px}
.site-header{position:relative;z-index:40;display:flex;align-items:center;justify-content:space-between;min-height:84px;padding:0 clamp(18px,3.5vw,58px);border-bottom:1px solid var(--line);background:var(--paper)}.brand{display:inline-flex;align-items:baseline;gap:.17em;font-weight:800;font-size:1.65rem;line-height:1;letter-spacing:-.08em;text-decoration:none;white-space:nowrap}.brand span{font-weight:400;font-size:.57em;letter-spacing:-.045em}.site-nav{display:flex;align-items:center;gap:clamp(20px,2.6vw,44px)}.site-nav a{text-decoration:none;font-size:.94rem;font-weight:550}.site-nav a:not(.nav-contact):hover,.site-nav a[aria-current="page"]{color:var(--purple)}.site-nav .nav-contact{display:inline-flex;align-items:center;gap:2.5rem;background:var(--accent);padding:13px 16px 13px 20px;border-radius:2px}.site-nav .nav-contact:hover{background:#a892fa}.menu-toggle{display:none;background:none;border:0;font-weight:600}
.button{display:inline-flex;gap:2.5rem;align-items:center;justify-content:space-between;min-height:54px;background:var(--accent);border:1px solid var(--accent);padding:14px 18px;color:var(--ink);text-decoration:none;font-weight:650;border-radius:2px}.button:hover{background:#a894f3;border-color:#a894f3}.text-link{display:inline-flex;gap:1.2rem;align-items:center;width:max-content;max-width:100%;padding-bottom:5px;border-bottom:1px solid currentColor;font-weight:600;text-decoration:none}.text-link:hover{color:var(--purple)}.section-index{margin:0 0 23px;color:var(--purple);font-weight:600;font-size:.91rem;letter-spacing:-.01em}
span[aria-hidden="true"],.icon-arrow,.icon-arrow-down{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-variant-emoji:text}
.hero{min-height:min(760px,calc(100vh - 84px));display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);align-items:center;gap:clamp(48px,7vw,130px);padding-block:clamp(80px,10vw,150px)}.hero-overline{font-size:1.05rem;font-weight:550;margin-bottom:clamp(35px,4vw,70px)}.hero h1{font-size:clamp(4.4rem,7vw,8rem);line-height:.98;letter-spacing:-.035em;word-spacing:.035em;max-width:12ch;margin-bottom:38px}.hero-intro{max-width:560px;font-size:clamp(1.18rem,1.5vw,1.5rem);line-height:1.35;letter-spacing:-.025em;color:#494550}.hero-actions{display:flex;gap:27px;align-items:center;flex-wrap:wrap;margin-top:40px}.hero-art{align-self:stretch;min-height:490px;background:var(--accent);position:relative;overflow:hidden}.hero-art__frame{position:absolute;inset:30px;display:grid;place-items:center}.frame-corner{position:absolute;width:31px;height:31px;border-color:currentColor;pointer-events:none}.frame-corner--tl{left:0;top:0;border-top:2px solid;border-left:2px solid}.frame-corner--tr{right:0;top:0;border-top:2px solid;border-right:2px solid}.frame-corner--bl{left:0;bottom:0;border-bottom:2px solid;border-left:2px solid}.frame-corner--br{right:0;bottom:0;border-bottom:2px solid;border-right:2px solid}.hero-art__letter{font-size:clamp(18rem,38vw,40rem);font-weight:700;line-height:.7;letter-spacing:-.18em;transform:translateX(-.08em);animation:formShift 8s cubic-bezier(.76,0,.24,1) infinite alternate}.hero-art__caption{position:absolute;bottom:17px;left:24px;font-size:.88rem;font-weight:600}.hero-art .frame-corner{z-index:1}@keyframes formShift{0%{font-variation-settings:'wght' 300;transform:translateX(-.08em) rotate(-8deg) scale(.9)}50%{font-variation-settings:'wght' 800;transform:translateX(-.08em) rotate(0) scale(1.1)}100%{font-variation-settings:'wght' 450;transform:translateX(-.08em) rotate(8deg) scale(.92)}}
.work-section{padding-block:clamp(75px,10vw,160px)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:clamp(36px,5vw,70px)}.section-head h2{font-size:clamp(3.2rem,6.2vw,7rem);line-height:.96;letter-spacing:-.068em;margin:0}.section-head .text-link{margin-bottom:6px}.work-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(40px,5vw,80px) clamp(22px,3vw,48px);align-items:start}.work-card{display:block;text-decoration:none}.work-card:nth-child(4n+3){grid-column:1 / -1}.work-card__image{position:relative;aspect-ratio:1.2;background:#e6e1f1;overflow:hidden;color:var(--white)}.work-card--lead .work-card__image{aspect-ratio:1.18}.work-card:nth-child(4n+3) .work-card__image{aspect-ratio:2.1}.work-card__image img,.work-card__image video{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.work-card:hover .work-card__image img,.work-card:hover .work-card__image video{transform:scale(1.035)}.work-card__image .frame-corner{z-index:1;margin:20px;opacity:0;transform:scale(.6);transition:opacity .35s,transform .35s}.work-card:hover .frame-corner,.work-card:focus-visible .frame-corner{opacity:1;transform:scale(1)}.work-card__meta{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--ink);margin-top:14px;padding-top:12px}.work-card__meta h3{font-size:clamp(1.45rem,2vw,2.25rem);line-height:1.1;letter-spacing:-.045em;margin:0 0 5px}.work-card__meta p,.work-card__year{font-size:.91rem;color:var(--muted);margin:0}.work-card__meta p span{margin-inline:6px}.work-empty{min-height:460px;background:#ece8fa;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;padding:clamp(28px,5vw,75px);position:relative;overflow:hidden}.work-empty__shape{width:min(40vw,330px);aspect-ratio:1;position:relative;justify-self:center;transform:rotate(11deg)}.work-empty__shape span{position:absolute;width:38%;height:38%;border:20px solid var(--accent)}.work-empty__shape span:nth-child(1){left:0;top:0;border-right:0;border-bottom:0}.work-empty__shape span:nth-child(2){right:0;top:0;border-left:0;border-bottom:0}.work-empty__shape span:nth-child(3){left:0;bottom:0;border-right:0;border-top:0}.work-empty__shape span:nth-child(4){right:0;bottom:0;border-left:0;border-top:0}.work-empty h2,.work-empty h3{font-size:clamp(2.5rem,4vw,4.6rem);line-height:1;letter-spacing:-.065em;max-width:10ch;margin-bottom:22px}.work-empty p{line-height:1.5;max-width:45ch;color:#524b63;margin-bottom:25px}
.practice-section{padding-block:clamp(75px,8vw,130px)}.section-note{max-width:33ch;font-size:1.12rem;line-height:1.4;color:var(--muted);margin:0}.practice-list{border-top:1px solid var(--ink)}.practice-list a{display:grid;grid-template-columns:minmax(230px,1fr) minmax(200px,.7fr) 40px;gap:30px;align-items:center;min-height:148px;border-bottom:1px solid var(--line);text-decoration:none}.practice-list a:hover{padding-inline:20px;background:#eee9fb}.practice-list span{font-size:clamp(2rem,3.7vw,4.1rem);letter-spacing:-.065em;font-weight:600;line-height:1}.practice-list p{max-width:34ch;color:var(--muted);line-height:1.35;margin:0}.practice-list b{font-size:1.55rem;font-weight:400;text-align:right}.about-teaser{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;padding-block:clamp(80px,11vw,170px);border-top:1px solid var(--line)}.about-teaser__mark{font-size:clamp(14rem,31vw,34rem);font-weight:700;letter-spacing:-.17em;line-height:.65;color:var(--accent)}.about-teaser h2{font-size:clamp(3rem,5.7vw,6.4rem);line-height:.96;letter-spacing:-.07em;margin-bottom:29px}.about-teaser p:not(.section-index){font-size:1.16rem;line-height:1.4;max-width:43ch;color:var(--muted);margin-bottom:27px}
.site-footer{background:#e5defb;padding:clamp(58px,8vw,120px) clamp(18px,3.5vw,58px) 34px}.footer-kicker{font-size:1rem;margin-bottom:20px}.footer-cta{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;font-size:clamp(4rem,10vw,12rem);line-height:.86;letter-spacing:-.085em;text-decoration:none;font-weight:650;border-bottom:1px solid var(--ink);padding-bottom:70px}.footer-cta span{font-size:.52em;line-height:1}.footer-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px;align-items:end;padding-top:30px;font-size:.85rem}.footer-bottom p{margin:0;color:#5d546c}.footer-bottom>div{display:flex;gap:16px;justify-content:flex-end;flex-wrap:wrap}.footer-bottom a:not(.brand){text-decoration:none}.footer-bottom a:hover{text-decoration:underline}
.page-hero{padding-block:clamp(95px,10vw,165px) clamp(70px,8vw,130px)}.page-hero h1{font-size:clamp(5rem,10vw,11.8rem);letter-spacing:-.085em;line-height:.87;max-width:12ch;margin-bottom:40px}.page-hero>p:last-child{font-size:clamp(1.3rem,2vw,2rem);letter-spacing:-.025em;line-height:1.28;max-width:44ch;color:#4e4a55}.archive{padding-bottom:clamp(100px,12vw,180px)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:43px}.filter{border:1px solid var(--line);background:transparent;padding:10px 17px;border-radius:999px;color:var(--ink)}.filter:hover,.filter.is-active{background:var(--accent);border-color:var(--accent)}.work-grid--archive>div:nth-child(4n+3){grid-column:1/-1}.work-grid--archive .work-card:nth-child(4n+3){grid-column:auto}.work-grid--archive>div[hidden]{display:none}.case{padding-block:64px 150px}.back-link{text-decoration:none;border-bottom:1px solid;padding-bottom:3px}.case-header{padding-block:115px 75px}.case-header h1{font-size:clamp(5rem,10vw,11rem);letter-spacing:-.083em;line-height:.9;margin-bottom:34px}.case-header>p:last-child{font-size:clamp(1.5rem,2.4vw,2.6rem);line-height:1.25;max-width:35ch;color:var(--muted)}.case-lead{background:#ebe6f7}.case-lead img,.case-lead video{width:100%;max-height:84vh;object-fit:contain}.case-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;padding:30px 0 75px;border-bottom:1px solid var(--line)}.case-facts div{display:grid;gap:7px}.case-facts span{color:var(--muted);font-size:.9rem}.case-facts strong{font-weight:600}.case-story{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:90px 12vw;padding-block:100px}.case-story h2{font-size:clamp(2.7rem,4vw,4.8rem);letter-spacing:-.06em;margin-bottom:20px}.case-story p{font-size:1.18rem;line-height:1.5;max-width:55ch}.case-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.case-gallery figure{margin:0}.case-gallery figure:nth-child(3n){grid-column:1/-1}.case-gallery img,.case-gallery video{width:100%;background:#ebe6f7}.case-gallery figcaption{padding-top:10px;color:var(--muted);font-size:.88rem}.case-credits{border-top:1px solid var(--line);padding-top:25px;margin-top:70px;line-height:1.5}
.page-hero--about{border-bottom:1px solid var(--line)}.about-body{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding-block:clamp(90px,12vw,175px)}.about-body__mark{font-size:clamp(15rem,35vw,39rem);font-weight:700;line-height:.6;letter-spacing:-.18em;color:var(--accent)}.about-body h2{font-size:clamp(3rem,5vw,5.5rem);letter-spacing:-.065em;line-height:.96}.about-body p{font-size:1.18rem;line-height:1.5;max-width:45ch;color:var(--muted)}.about-body .button{margin-top:25px}.services-detail{padding-bottom:130px}.services-detail section{display:grid;grid-template-columns:14% 1fr;gap:45px;padding:55px 0;border-top:1px solid var(--ink);scroll-margin-top:30px}.services-detail section:last-child{border-bottom:1px solid var(--ink)}.services-detail__number{font-size:1.15rem;color:var(--purple)}.services-detail h2{font-size:clamp(3.2rem,6.4vw,7rem);letter-spacing:-.07em;line-height:.94;margin-bottom:22px}.services-detail p{font-size:1.18rem;line-height:1.45;max-width:52ch;color:var(--muted)}
.contact-page{display:grid;grid-template-columns:1fr .85fr;gap:8vw;padding-block:clamp(100px,11vw,175px) clamp(110px,13vw,200px)}.contact-page h1{font-size:clamp(5rem,9vw,10.5rem);line-height:.89;letter-spacing:-.085em;margin-bottom:38px}.contact-page>div:first-child>p:not(.section-index){max-width:30ch;font-size:1.45rem;line-height:1.32;color:var(--muted)}.contact-page .text-link{margin-top:23px}.contact-form-wrap{padding-top:40px}.contact-form-wrap form,.setup-card form{display:grid;gap:23px}.contact-form-wrap label,.setup-card label{display:grid;gap:8px;font-weight:600}.contact-form-wrap input,.contact-form-wrap textarea,.contact-form-wrap select,.setup-card input{width:100%;border:1px solid var(--line);background:var(--white);border-radius:2px;padding:15px 17px;color:var(--ink);outline:none}.contact-form-wrap input:focus,.contact-form-wrap textarea:focus,.contact-form-wrap select:focus,.setup-card input:focus{border-color:var(--purple);box-shadow:0 0 0 2px #b8a6ff77}.contact-form-wrap textarea{resize:vertical}.contact-form-wrap .button{justify-self:start}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;left:-9999px}.form-error{padding:14px 18px;background:#fbe8e8;color:#8b2222;border-left:3px solid #b63a3a}.success-message{padding:40px;background:#e5defb}.success-message h2{font-size:3rem;letter-spacing:-.06em}.setup-page{min-height:100vh;display:grid;place-items:center;padding:20px}.setup-card{width:min(100%,520px);background:var(--white);border:1px solid var(--line);padding:40px}.setup-card h1{font-size:2.8rem;letter-spacing:-.07em;margin-top:45px}.setup-card form{margin-top:35px}
.intro{display:none;position:fixed;inset:0;z-index:1000;background:var(--accent);color:var(--ink);overflow:hidden}.intro-ready .intro{display:grid;place-items:center}.intro-ready{overflow:hidden}.intro.is-leaving{opacity:0;transition:opacity .55s ease}.intro-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.intro[data-reel="video"] .intro-identity{display:none}.intro-identity{display:grid;justify-items:center;gap:14px;text-align:center}.intro-identity>p{font-size:clamp(2rem,4vw,4rem);font-weight:750;letter-spacing:-.08em;margin:0}.intro-identity>p span{font-size:.47em;font-weight:400;margin-left:.13em}.intro-identity>small{font-size:.9rem}.intro-mark{width:min(35vw,300px);aspect-ratio:1;position:relative;display:grid;place-items:center;animation:introTurn 3.6s cubic-bezier(.65,0,.25,1) both}.intro-mark span{position:absolute;width:35%;height:35%;border:6px solid var(--ink)}.intro-mark span:nth-child(1){left:0;top:0;border-right:0;border-bottom:0}.intro-mark span:nth-child(2){right:0;top:0;border-left:0;border-bottom:0}.intro-mark span:nth-child(3){left:0;bottom:0;border-right:0;border-top:0}.intro-mark span:nth-child(4){right:0;bottom:0;border-left:0;border-top:0}.intro-mark b{font-size:clamp(10rem,23vw,20rem);letter-spacing:-.16em;transform:translateX(-.08em);font-weight:700;line-height:1}@keyframes introTurn{0%{transform:scale(.63) rotate(-21deg);opacity:.1}50%{transform:scale(1.13) rotate(3deg);opacity:1}100%{transform:scale(1) rotate(0);opacity:1}}.intro-top,.intro-bottom{position:absolute;left:clamp(22px,4vw,65px);right:clamp(22px,4vw,65px);display:flex;justify-content:space-between;align-items:center;font-weight:650}.intro-top{top:32px}.intro-bottom{bottom:30px;gap:30px}.intro-progress{flex:1;max-width:400px;height:2px;background:#25232b55}.intro-progress span{display:block;width:0;height:100%;background:var(--ink)}.intro-actions{display:flex;gap:9px}.intro-actions button{border:1px solid var(--ink);background:var(--paper);padding:11px 16px;color:var(--ink);font-weight:650}.intro-actions button:hover{background:var(--white)}.replay-button{border:0;background:none;padding:4px 0;border-bottom:1px solid;font-weight:600;color:var(--ink)}
@media(max-width:1000px){.hero{grid-template-columns:1fr .72fr;gap:35px}.hero h1{font-size:clamp(4.3rem,9vw,7rem)}.hero-art{min-height:420px}.practice-list a{grid-template-columns:1.2fr .8fr 25px}.case-facts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.site-header{min-height:68px}.brand{font-size:1.45rem}.menu-toggle{display:block}.menu-toggle span{font-size:1.45rem;line-height:0;margin-left:9px}.site-nav{display:none;position:absolute;left:0;right:0;top:68px;background:var(--paper);padding:20px 24px 27px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:16px}.site-nav.is-open{display:flex}.site-nav a{font-size:1.2rem;padding:5px 0}.site-nav .nav-contact{justify-content:space-between;padding:14px 18px}.hero{grid-template-columns:1fr;padding-block:78px 0;gap:60px}.hero h1{font-size:clamp(4.4rem,14vw,7rem)}.hero-art{min-height:340px;margin-inline:-18px;width:calc(100% + 36px)}.hero-art__letter{font-size:23rem}.hero-art__frame{inset:23px}.section-head{display:block}.section-head .text-link{margin-top:26px}.section-head h2{font-size:clamp(3.3rem,11vw,5.8rem)}.work-grid{grid-template-columns:1fr;gap:46px}.work-card:nth-child(4n+3),.work-grid--archive>div:nth-child(4n+3){grid-column:auto}.work-card__image,.work-card--lead .work-card__image,.work-card:nth-child(4n+3) .work-card__image{aspect-ratio:1.15}.work-empty{grid-template-columns:1fr;padding:45px 28px}.work-empty__shape{width:170px;justify-self:start}.practice-list a{grid-template-columns:1fr 25px;gap:10px;padding:30px 0;min-height:0}.practice-list span{font-size:2.4rem}.practice-list p{grid-column:1;grid-row:2}.practice-list b{grid-column:2;grid-row:1}.about-teaser,.about-body{grid-template-columns:1fr;gap:40px}.about-teaser__mark,.about-body__mark{font-size:15rem}.footer-cta{font-size:clamp(4rem,12vw,7rem);padding-bottom:55px}.footer-bottom{grid-template-columns:1fr 1fr}.footer-bottom>div{grid-column:1/-1;justify-content:flex-start}.page-hero{padding-block:75px 65px}.page-hero h1{font-size:clamp(4.9rem,15vw,8rem)}.case{padding-block:40px 100px}.case-header{padding-block:90px 50px}.case-header h1{font-size:clamp(4.5rem,14vw,7rem)}.case-story,.case-gallery{grid-template-columns:1fr;gap:48px}.case-gallery figure:nth-child(3n){grid-column:auto}.services-detail section{grid-template-columns:1fr;gap:20px}.services-detail h2{font-size:3.8rem}.contact-page{grid-template-columns:1fr;gap:50px;padding-block:85px 120px}.contact-page h1{font-size:clamp(5rem,15vw,8rem)}.contact-form-wrap{padding-top:0}.intro-mark{width:50vw}.intro-mark b{font-size:28vw}.intro-bottom{align-items:flex-end}.intro-progress{display:none}}
@media(max-width:420px){.hero h1{font-size:15vw}.hero-actions{align-items:flex-start;flex-direction:column}.practice-list span{font-size:2rem}.footer-cta{font-size:13vw}.case-facts{gap:20px}.intro-top{font-size:.85rem}.intro-actions button{padding:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.intro-ready .intro{display:none}.intro-ready{overflow:auto}}
.reveal-pending{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.8,.2,1);transition-delay:var(--reveal-delay,0ms)}.reveal-pending.is-revealed{opacity:1;transform:none}html[data-motion="standard"] .reveal-pending{transform:translateY(15px);transition-duration:.5s}html[data-motion="off"] .reveal-pending{opacity:1;transform:none;transition:none}@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1;transform:none;transition:none}}
html[data-motion="off"] *,html[data-motion="off"] *::before,html[data-motion="off"] *::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
html[data-motion="standard"] .hero-art__letter{animation-iteration-count:1}
main:focus{outline:none}
.page-hero h1,.case-header h1,.contact-page h1,.section-head h2,.about-teaser h2,.about-body h2,.services-detail h2,.footer-cta{letter-spacing:-.035em;word-spacing:.04em}
.case-lead{margin:0}.case-lead figcaption{padding:12px 0;color:var(--muted);background:var(--paper);font-size:.9rem}

/* ===== Forma Best-of-Best layer: eyebrow, actions, cards, testimonials, marquee, case facts, forms, sticky CTA ===== */
.hero-eyebrow{display:flex;align-items:center;gap:10px;font-size:.8rem;font-weight:600;letter-spacing:.02em;color:var(--muted);margin:0 0 18px;text-transform:uppercase}
.avail-dot{width:9px;height:9px;border-radius:50%;background:#2ecc71;box-shadow:0 0 0 5px #2ecc7122;animation:pulse 2s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 9px #2ecc7108}}
.hero-actions-row{display:flex;gap:14px;flex-wrap:wrap;margin:26px 0 18px}
.button--ghost{background:transparent;border:1px solid var(--ink)}
.hero-proof{display:flex;gap:18px;flex-wrap:wrap;font-size:.82rem;color:var(--muted);margin-top:16px}
.hero-proof span{border-left:2px solid var(--accent);padding-left:10px}
.work-card{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.work-card:hover{transform:translateY(-6px)}
.work-card__image{position:relative}
.work-card__hover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s}
.work-card:hover .work-card__hover{opacity:1}
.work-card__result{position:absolute;left:14px;bottom:14px;background:#111;color:#fff;font-size:.72rem;font-weight:700;padding:7px 12px;border-radius:20px;letter-spacing:.02em}
.testimonials{padding-block:70px 20px}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
.testimonial-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;margin:0;display:flex;flex-direction:column;gap:18px}
.testimonial-card blockquote{font-size:1.02rem;line-height:1.55;margin:0;letter-spacing:-.01em}
.testimonial-card figcaption{display:flex;flex-direction:column;gap:3px}
.testimonial-card figcaption span{color:var(--muted);font-size:.82rem}
.logo-marquee{overflow:hidden;padding:34px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:60px}
.logo-marquee__track{display:flex;gap:54px;width:max-content;animation:marquee 22s linear infinite;font-weight:700;font-size:1.05rem;letter-spacing:.14em;text-transform:uppercase;color:#b9b2c7}
@keyframes marquee{to{transform:translateX(-50%)}}
.case-facts-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;background:#16131f;color:#fff;border-radius:14px;padding:22px 26px;margin:30px 0}
.case-facts-bar div{display:flex;flex-direction:column;gap:4px}
.case-facts-bar span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#b8a6ff}
.case-facts-bar strong{font-size:.95rem;font-weight:600}
.case-result{background:#f3ecfd;border:1px solid #e1d2f7;border-radius:14px;padding:22px 26px;margin:26px 0;font-size:1.08rem}
.case-quote{border-left:4px solid var(--accent);padding:6px 0 6px 22px;margin:30px 0;font-size:1.25rem;line-height:1.5}
.footer-cta__sub{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:26px}
.sticky-talk{position:fixed;right:22px;bottom:22px;z-index:90;background:var(--ink);color:#fff;text-decoration:none;font-weight:700;padding:14px 22px;border-radius:40px;box-shadow:0 12px 30px #0003;display:none}
@media(max-width:700px){.sticky-talk{display:inline-flex}.testimonial-grid{grid-template-columns:1fr}.case-facts-bar{grid-template-columns:1fr 1fr}}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.contact-aside{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;align-self:start}
.contact-aside ul{margin:14px 0 0;padding-left:20px;color:var(--muted);line-height:1.7}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:800px){.contact-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}}
.service-price{display:inline-block;background:#16131f;color:#fff;font-size:.78rem;font-weight:700;padding:7px 14px;border-radius:20px;margin:12px 0}
.about-tools{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 26px;margin:22px 0}
.filmstrip-strip{display:flex;gap:12px;overflow-x:auto;padding:10px 0 26px;scroll-snap-type:x mandatory}
.filmstrip-strip a{flex:0 0 200px;scroll-snap-align:start}
@media(prefers-reduced-motion:reduce){.logo-marquee__track,.avail-dot{animation:none}}

/* ═══════════════════════════════════════════════════════════
   SPLIT HERO — MuseMind style (text left, canvas right)
   ═══════════════════════════════════════════════════════════ */
.forma-hero--split{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:clamp(40px,6vw,100px);
  min-height:min(800px,calc(100vh - 84px));
  padding-block:clamp(80px,8vw,130px);
}
.hero-split__left{display:flex;flex-direction:column;align-items:flex-start}
.hero-split__left h1{font-size:clamp(3.8rem,6.5vw,7.5rem);line-height:.94;letter-spacing:-.065em;margin:22px 0 24px;max-width:13ch}
.hero-subtext{font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.5;color:var(--muted);max-width:44ch;margin:0 0 30px}
.hero-services-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.hero-services-tags span{border:1px solid var(--line);padding:7px 14px;border-radius:999px;font-size:.82rem;font-weight:600;color:var(--muted)}
.hero-split__right{
  position:relative;
  /* Bleeds slightly off the right edge like MuseMind's 3D block */
  margin-right:clamp(-60px,-5vw,-20px);
}
.hero-split__right .form-study{margin:0}

/* ═══════════════════════════════════════════════════════════
   DUAL-ROW CLIENT LOGO MARQUEE — MuseMind inspired
   ═══════════════════════════════════════════════════════════ */
.clients-marquee-section{
  padding:clamp(48px,6vw,90px) 0;
  overflow:hidden;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.clients-marquee-label{
  text-align:center;
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  margin:0 0 clamp(28px,3vw,48px);
}
.clients-marquee-outer{position:relative;display:flex;flex-direction:column;gap:20px;overflow:hidden}
.clients-marquee-track{
  display:flex;
  gap:clamp(28px,3vw,52px);
  width:max-content;
}
.clients-marquee-track--left{animation:marqueeLeft 28s linear infinite}
.clients-marquee-track--right{animation:marqueeRight 32s linear infinite}
@keyframes marqueeLeft{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes marqueeRight{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.clients-marquee-item{
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  height:44px;
  padding:6px 14px;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:8px;
}
.clients-marquee-item img{
  height:32px;width:auto;max-width:110px;
  object-fit:contain;filter:grayscale(1);opacity:.6;
  transition:filter .25s,opacity .25s
}
.clients-marquee-item:hover img{filter:none;opacity:1}
.marquee-fade{
  position:absolute;top:0;bottom:0;width:clamp(60px,8vw,140px);z-index:2;
  pointer-events:none;
}
.marquee-fade--left{left:0;background:linear-gradient(to right,var(--paper),transparent)}
.marquee-fade--right{right:0;background:linear-gradient(to left,var(--paper),transparent)}
@media(prefers-reduced-motion:reduce){
  .clients-marquee-track--left,.clients-marquee-track--right{animation:none}
}

/* ═══════════════════════════════════════════════════════════
   ABOUT SPLIT + LAYERED TESTIMONIAL CARD — MuseMind style
   Left: canvas/image. Right: text.
   Card overlaps the left column bottom-right corner.
   ═══════════════════════════════════════════════════════════ */
.about-split-section{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:clamp(48px,7vw,110px);
  padding-block:clamp(80px,10vw,150px);
  border-top:1px solid var(--line);
}
.about-split__image-col{position:relative}
.about-split__canvas-wrap{
  position:relative;
  aspect-ratio:1;
  background:var(--accent);
  border-radius:4px;
  overflow:hidden;
}
.about-split__canvas-wrap canvas{width:100%;height:100%}
.about-fallback{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
}

/* The layered testimonial card — overlaps bottom-right of the image */
.about-testimonial-card{
  position:absolute;
  bottom:-28px;
  right:-28px;
  width:min(85%,380px);
  background:var(--white);
  border:1px solid var(--line);
  border-radius:12px;
  padding:clamp(18px,2vw,26px) clamp(18px,2vw,28px);
  margin:0;
  box-shadow:0 12px 42px -8px rgba(107,78,198,.18);
  z-index:2;
}
.about-testimonial-card blockquote{
  font-size:clamp(.9rem,1.2vw,1.08rem);
  line-height:1.55;
  font-style:italic;
  margin:0 0 16px;
  color:var(--ink);
}
.about-testimonial-card blockquote::before{
  content:'\201C';font-size:2em;line-height:0;
  vertical-align:-.45em;color:var(--accent);margin-right:.1em
}
.about-testimonial-card figcaption strong{display:block;font-size:.88rem;font-weight:700}
.about-testimonial-card figcaption span{font-size:.78rem;color:var(--muted)}

.about-split__text-col{}
.about-split__text-col h2{
  font-size:clamp(3rem,5.5vw,6rem);
  line-height:.94;
  letter-spacing:-.065em;
  margin:18px 0 22px;
}
.about-split__text-col p{
  font-size:1.1rem;line-height:1.55;color:var(--muted);max-width:43ch;margin:0 0 30px
}
.about-split__links{display:flex;gap:32px;flex-wrap:wrap}

/* ═══ Responsive ═══ */
@media(max-width:900px){
  .forma-hero--split{grid-template-columns:1fr;min-height:auto;padding-block:clamp(64px,10vw,110px) 0}
  .hero-split__right{margin-right:0;margin-inline:-18px;width:calc(100% + 36px)}
  .about-split-section{grid-template-columns:1fr;gap:clamp(40px,6vw,70px)}
  .about-testimonial-card{position:relative;bottom:auto;right:auto;width:100%;margin-top:20px;box-shadow:none}
}
@media(max-width:600px){
  .hero-split__left h1{font-size:clamp(3.8rem,12vw,6rem)}
  .clients-marquee-item img{height:24px}
  .clients-marquee-item{height:36px}
}

/* ═══════════════════════════════════════════════════════════
   CONTACT — Loop-inspired redesign
   ═══════════════════════════════════════════════════════════ */

/* Hero — full-width heading */
.contact-hero{
  padding-block:clamp(80px,10vw,140px) clamp(40px,5vw,70px);
  border-bottom:1px solid var(--line);
}
.contact-sent{padding-block:clamp(100px,14vw,200px)}
.contact-sent h1{font-size:clamp(5rem,12vw,13rem);line-height:.88;letter-spacing:-.08em;margin-bottom:32px}
.contact-sent p{font-size:1.3rem;color:var(--muted);max-width:40ch;margin-bottom:28px;line-height:1.5}

/* The big heading — mixed weight+italic like Loop's "Start a project" */
.contact-heading{
  font-size:clamp(5.5rem,12vw,14rem);
  line-height:.88;
  letter-spacing:-.07em;
  word-spacing:.02em;
  margin:0 0 clamp(48px,6vw,90px);
  /* Allow wrapping at the "a" */
}
.contact-heading em{
  font-style:italic;
  font-weight:400;
  color:var(--purple);
}
.contact-dot{
  color:var(--accent);
  font-style:normal;
}

/* Direct contact links: Email + WhatsApp side by side */
.contact-direct{
  display:flex;
  gap:clamp(36px,6vw,100px);
  flex-wrap:wrap;
  align-items:flex-start;
}
.contact-direct__label{
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  margin:0 0 10px;
}
.contact-direct__link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:clamp(1.2rem,2.4vw,1.8rem);
  font-weight:650;
  text-decoration:none;
  color:var(--ink);
  border-bottom:2px solid var(--ink);
  padding-bottom:6px;
  transition:color .2s, border-color .2s;
  letter-spacing:-.02em;
}
.contact-direct__link:hover{
  color:var(--purple);
  border-color:var(--purple);
}
.contact-direct__link--wa{color:#075e54}
.contact-direct__link--wa:hover{color:#075e54;border-color:#075e54;opacity:.8}
.contact-arrow{flex-shrink:0;opacity:.7}
.contact-wa-logo{flex-shrink:0;color:#25D366}

/* Or divider */
.contact-or{
  display:flex;
  align-items:center;
  gap:20px;
  margin-top:clamp(40px,5vw,70px);
  color:var(--muted);
  font-size:.9rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.contact-or::before,.contact-or::after{
  content:'';flex:1;height:1px;background:var(--line);
}

/* Form section */
.contact-form-section{
  padding-block:clamp(48px,6vw,90px) clamp(80px,10vw,150px);
}
.contact-form-grid{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:clamp(40px,7vw,100px);
  align-items:start;
}
.contact-form-new{
  display:grid;
  gap:20px;
}
.contact-form-new label{
  display:grid;
  gap:8px;
  font-weight:600;
  font-size:.92rem;
}
.contact-form-new input,
.contact-form-new textarea,
.contact-form-new select{
  width:100%;
  border:1px solid var(--line);
  border-bottom:2px solid var(--ink);
  background:transparent;
  border-radius:0;
  padding:14px 0;
  color:var(--ink);
  outline:none;
  font:inherit;
  font-size:1rem;
  transition:border-color .2s;
}
.contact-form-new input:focus,
.contact-form-new textarea:focus,
.contact-form-new select:focus{
  border-bottom-color:var(--purple);
}
/* Remove side borders — only show bottom line (clean editorial look) */
.contact-form-new input,
.contact-form-new select{
  border-top:0;border-left:0;border-right:0;
}
.contact-form-new textarea{
  border:1px solid var(--line);
  border-radius:4px;
  padding:14px 16px;
  resize:vertical;
}
.contact-form-new textarea:focus{
  border-color:var(--purple);
  box-shadow:0 0 0 3px #b8a6ff33;
}

.form-two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}

.contact-submit{
  justify-self:start;
  margin-top:8px;
  gap:14px;
}

/* Process aside */
.contact-process-card{
  position:sticky;
  top:32px;
  background:var(--accent);
  padding:clamp(28px,3vw,44px);
  border-radius:4px;
}
.contact-process-list{
  list-style:none;
  padding:0;margin:24px 0 0;
  display:grid;gap:28px;
}
.contact-process-list li{
  display:flex;
  gap:18px;
  align-items:flex-start;
}
.cp-num{
  font-size:.78rem;font-weight:700;
  letter-spacing:.06em;
  color:var(--purple);
  flex-shrink:0;
  margin-top:3px;
}
.contact-process-list strong{
  display:block;font-size:.98rem;margin-bottom:5px;
}
.contact-process-list p{
  margin:0;font-size:.88rem;color:#4b4262;line-height:1.5;
}

/* ═══ Homepage spacing fixes — tighten dead space ═══ */
/* The about-split section had too much top padding since there's a marquee above */
.about-split-section{
  padding-block:clamp(60px,7vw,100px);
}
/* Practice section — tighter top */
.practice-section{
  padding-block:clamp(48px,6vw,90px);
}
/* Practice grid */
.practice-intro{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:end;
  margin-bottom:clamp(32px,4vw,60px);
}
.practice-intro h2{
  font-size:clamp(2.8rem,5vw,5.5rem);
  line-height:.94;letter-spacing:-.065em;margin:12px 0 0;
}
.practice-intro>p{
  font-size:1.08rem;color:var(--muted);line-height:1.55;
  max-width:40ch;align-self:end;margin:0;
}
.practice-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2px;
}
.practice-card{
  display:block;
  text-decoration:none;
  color:var(--ink);
  padding:clamp(28px,3vw,44px);
  border:1px solid var(--line);
  transition:background .2s;
}
.practice-card:hover{background:#f0ebfc}
.practice-card__top{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:clamp(24px,3vw,40px);
}
.practice-card__num{font-size:.78rem;font-weight:700;color:var(--muted);letter-spacing:.06em}
.practice-card__arrow{opacity:0;transition:opacity .2s,transform .2s;transform:translate(-4px,4px)}
.practice-card:hover .practice-card__arrow{opacity:1;transform:translate(0,0)}
.practice-card h3{font-size:clamp(1.6rem,2.5vw,2.4rem);letter-spacing:-.055em;line-height:1;margin:0 0 14px}
.practice-card p{font-size:.95rem;line-height:1.55;color:var(--muted);margin:0 0 20px;max-width:28ch}
.practice-card__tags{display:flex;flex-wrap:wrap;gap:6px}
.practice-card__tags span{border:1px solid var(--line);padding:5px 10px;border-radius:999px;font-size:.74rem;font-weight:600;color:var(--muted)}

/* Working together — tighten */
.working-together{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:clamp(48px,7vw,110px);
  align-items:start;
  padding-block:clamp(60px,8vw,120px);
  border-top:1px solid var(--line);
}
.working-together__intro h2{
  font-size:clamp(2.8rem,5vw,5.5rem);
  line-height:.94;letter-spacing:-.065em;margin:16px 0 18px;
}
.working-together__intro p{
  font-size:1.05rem;color:var(--muted);line-height:1.55;margin:0 0 26px;max-width:38ch;
}
.process-list{border-top:1px solid var(--line)}
.process-list details{border-bottom:1px solid var(--line)}
.process-list summary{
  display:flex;align-items:center;gap:18px;
  padding:22px 0;list-style:none;cursor:pointer;
}
.process-list summary::-webkit-details-marker{display:none}
.process-step{font-size:.74rem;font-weight:700;color:var(--muted);letter-spacing:.08em;min-width:24px}
.process-list summary h3{flex:1;margin:0;font-size:clamp(1.1rem,2vw,1.5rem);letter-spacing:-.03em}
.process-toggle{font-size:1.4rem;font-weight:300;color:var(--muted);transition:transform .3s}
details[open] .process-toggle{transform:rotate(45deg)}
.process-list details > div{padding:0 0 24px 42px}
.process-list details > div p{font-size:.97rem;line-height:1.6;color:var(--muted);margin:0 0 8px}
.process-list details > div span{font-size:.8rem;color:var(--purple);font-weight:600;letter-spacing:.04em}

/* Work section — reduce top pad since work comes right after marquee/about */
.work-section{padding-block:clamp(50px,7vw,110px)}

/* Testimonials section */
.testimonials{padding-block:clamp(50px,7vw,100px);border-top:1px solid var(--line)}
.testimonial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:clamp(36px,4vw,60px)}
.testimonial-card{
  margin:0;
  padding:clamp(24px,3vw,40px);
  background:var(--white);
  border:1px solid var(--line);
  border-radius:4px;
}
.testimonial-card blockquote{
  font-size:1.05rem;line-height:1.6;font-style:italic;
  margin:0 0 20px;color:var(--ink);
}
.testimonial-card figcaption strong{display:block;font-size:.9rem;font-weight:700}
.testimonial-card figcaption span{font-size:.82rem;color:var(--muted)}

/* ═══ Responsive — contact + homepage ═══ */
@media(max-width:900px){
  .contact-heading{font-size:clamp(4.5rem,14vw,10rem)}
  .contact-form-grid{grid-template-columns:1fr;gap:40px}
  .contact-process-card{position:static}
  .form-two-col,.form-three-col{grid-template-columns:1fr}
  .practice-intro{grid-template-columns:1fr;gap:16px}
  .practice-grid{grid-template-columns:1fr;gap:2px}
  .working-together{grid-template-columns:1fr;gap:40px}
  .testimonial-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .contact-heading{font-size:clamp(4rem,15vw,8rem)}
  .contact-direct{flex-direction:column;gap:24px}
  .contact-direct__link{font-size:clamp(1.1rem,5vw,1.6rem)}
  .work-awaiting{grid-template-columns:1fr;padding:40px 24px}
}
