@font-face{font-family:Quentin;src:url('fonts/Quentin.otf') format('opentype');font-display:swap}
@font-face{font-family:Southampton;src:url('fonts/Southampton.ttf') format('truetype');font-display:swap}
:root{
  color-scheme:light;
  --ink:#170d17;--ink-2:#2a1725;--plum:#762654;--berry:#a33c70;--rose:#e66e9c;
  --blush:#f5d9e3;--white:#fff;--canvas:#f7f7f5;--sage:#a8b59f;--muted:#6e616a;
  --line:rgba(23,13,23,.14);--line-dark:rgba(255,255,255,.16);--shadow:0 30px 80px rgba(45,13,36,.14);
  --display:Georgia,'Times New Roman',serif;--body:Arial,Helvetica,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);--max:1220px;--nav-h:74px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}main{min-height:100vh}.wrap{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.skip-link{position:fixed;top:10px;left:10px;z-index:1000;padding:10px 14px;background:var(--white);color:var(--ink);transform:translateY(-150%)}.skip-link:focus{transform:none}
:focus-visible{outline:3px solid var(--rose);outline-offset:4px}.noise{position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}
.site-nav{position:fixed;inset:0 0 auto;z-index:100;height:var(--nav-h);color:var(--white);transition-property:background-color,box-shadow;transition-duration:.28s;background:linear-gradient(180deg,rgba(23,13,23,.68),transparent)}.site-nav.is-scrolled{background:rgba(23,13,23,.94);box-shadow:0 1px 0 rgba(255,255,255,.12)}.nav-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;min-height:44px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;font-family:var(--display);font-size:13px}.brand-text{font-family:var(--display);font-size:16px;line-height:1.05}.brand-text span{display:block;font:9px/1.3 var(--body);letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.67);margin-top:5px}.nav-links{display:flex;align-items:center;gap:3px}.nav-links>a{position:relative;display:flex;align-items:center;min-height:44px;padding:0 13px;font-size:13px;color:rgba(255,255,255,.77);transition-property:color,background-color,transform;transition-duration:.22s;border-radius:10px}.nav-links>a:hover,.nav-links>a[aria-current="page"]{color:var(--white);background:rgba(255,255,255,.08)}.nav-links .nav-hire{margin-left:8px;padding-inline:18px;background:var(--rose);color:var(--ink);font-weight:700}.nav-links .nav-hire:hover{background:#f28bb2;color:var(--ink)}.nav-toggle{display:none;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:var(--white);cursor:pointer}.nav-toggle svg{width:20px;height:20px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 20px;border-radius:12px;border:1px solid transparent;font-weight:700;font-size:14px;cursor:pointer;transition-property:transform,background-color,color,border-color,box-shadow;transition-duration:.25s}.btn:hover{transform:translateY(-2px)}.btn:active{transform:scale(.96)}.btn-primary{background:var(--rose);color:var(--ink);box-shadow:0 14px 34px rgba(230,110,156,.24)}.btn-primary:hover{background:#f28bb2;box-shadow:0 18px 38px rgba(230,110,156,.34)}.btn-outline{border-color:rgba(255,255,255,.45);color:var(--white);background:rgba(255,255,255,.05)}.btn-outline:hover{background:rgba(255,255,255,.11);border-color:var(--white)}.btn-dark{background:var(--ink);color:var(--white)}.btn-light{background:var(--white);color:var(--ink);border-color:var(--line)}.arrow{width:18px;height:18px;transition:transform .25s var(--ease)}a:hover>.arrow,.btn:hover .arrow{transform:translateX(4px)}
.hero{position:relative;min-height:100svh;background:var(--ink);color:var(--white);overflow:hidden;padding:calc(var(--nav-h) + 60px) 0 54px;display:flex;align-items:center}.hero::before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;right:-170px;top:-180px;background:#5e1c48;filter:blur(1px);opacity:.42}.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(255,255,255,.14)}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);align-items:end;gap:56px}.availability{display:inline-flex;align-items:center;gap:9px;font-size:12px;color:rgba(255,255,255,.73);margin-bottom:24px}.availability i{width:8px;height:8px;border-radius:50%;background:#8adb83;box-shadow:0 0 0 6px rgba(138,219,131,.11)}.hero h1{font-family:var(--display);font-weight:400;font-size:clamp(3.6rem,7.5vw,6rem);line-height:.95;letter-spacing:-.035em;margin:0;max-width:10ch;text-wrap:balance}.hero h1 .stroke{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.62)}.hero h1 .script{font-family:Quentin,Southampton,cursive;font-size:.83em;color:var(--rose);-webkit-text-stroke:0;letter-spacing:0}.hero-lead{max-width:620px;font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.62;color:rgba(255,255,255,.73);margin:28px 0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-proof{display:flex;gap:24px;flex-wrap:wrap;margin-top:34px;padding-top:24px;border-top:1px solid rgba(255,255,255,.15)}.proof-item strong{display:block;font-family:var(--display);font-size:23px;font-weight:400;color:var(--white)}.proof-item span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.53)}.portrait-stage{position:relative;align-self:end;justify-self:end;width:min(100%,440px)}.portrait-panel{position:relative;overflow:hidden;background:var(--blush);border-radius:220px 220px 18px 18px;box-shadow:0 40px 100px rgba(0,0,0,.34);isolation:isolate}.portrait-panel::before{content:"";position:absolute;inset:12px;border:1px solid rgba(118,38,84,.35);border-radius:210px 210px 12px 12px;z-index:2;pointer-events:none}.portrait-panel img{width:100%;height:auto;aspect-ratio:422/809;object-fit:cover;object-position:center top;filter:saturate(.92) contrast(1.03)}.portrait-note{position:absolute;left:-38px;bottom:36px;z-index:4;background:var(--white);color:var(--ink);padding:14px 18px;border-radius:12px;box-shadow:var(--shadow);font-size:12px}.portrait-note strong{display:block;font-family:var(--display);font-size:18px;font-weight:400}.hero-scroll{position:absolute;right:20px;bottom:32px;z-index:3;display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.46);font-size:10px;letter-spacing:.16em;text-transform:uppercase;transform:rotate(90deg);transform-origin:right center}.hero-scroll i{width:46px;height:1px;background:rgba(255,255,255,.35)}
.section{padding:110px 0;position:relative}.section-rose{background:#f5e3e9}.section-dark{background:var(--ink);color:var(--white)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:56px}.section-head h2,.page-intro h1,.case-hero h1{font:400 clamp(2.6rem,5.5vw,5rem)/.98 var(--display);letter-spacing:-.035em;margin:0;text-wrap:balance}.section-head p{max-width:500px;color:var(--muted);margin:0}.section-dark .section-head p{color:rgba(255,255,255,.64)}.section-label{display:block;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--berry);margin-bottom:14px}.section-dark .section-label{color:var(--rose)}
.about-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:80px;align-items:start}.about-quote{font:400 clamp(1.9rem,3.3vw,3.3rem)/1.08 var(--display);letter-spacing:-.025em;margin:0}.about-quote em{font-family:Quentin,Southampton,cursive;font-style:normal;color:var(--berry);letter-spacing:0}.about-copy{columns:2;column-gap:40px;color:#51434e}.about-copy p{margin:0 0 18px;break-inside:avoid}.role-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:70px}.role{padding:28px 24px;border-right:1px solid var(--line)}.role:last-child{border-right:0}.role svg{width:25px;height:25px;color:var(--berry);margin-bottom:16px}.role strong{display:block;font-family:var(--display);font-size:18px;font-weight:400;line-height:1.2}.role span{display:block;color:var(--muted);font-size:13px;margin-top:8px}
.project-list{border-top:1px solid var(--line-dark)}.project-row{position:relative;display:grid;grid-template-columns:70px minmax(0,.8fr) minmax(340px,1.2fr) 52px;gap:28px;align-items:center;min-height:220px;padding:30px 0;border-bottom:1px solid var(--line-dark);overflow:hidden}.project-row .project-no{align-self:start;padding-top:7px;font-size:12px;color:rgba(255,255,255,.45);font-variant-numeric:tabular-nums}.project-row h3{font:400 clamp(1.7rem,3.4vw,3.2rem)/1.02 var(--display);letter-spacing:-.028em;margin:0 0 14px}.project-row p{max-width:530px;margin:0;color:rgba(255,255,255,.64);font-size:14px}.project-row .project-meta{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--rose);margin-bottom:10px}.project-preview{position:relative;border:1px solid rgba(241,174,207,.18);border-radius:16px;overflow:hidden;aspect-ratio:8/5;background:#21121f;box-shadow:0 24px 60px rgba(0,0,0,.32)}.project-preview img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .75s var(--ease),filter .35s}.project-row:hover .project-preview img{transform:scale(1.035)}.project-go{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.3);border-radius:50%;transition-property:transform,background-color,color;transition-duration:.25s}.project-go svg{width:20px;height:20px}.project-row:hover .project-go{transform:rotate(-35deg);background:var(--rose);color:var(--ink)}
.services-ledger{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.service-line{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:30px 0;border-bottom:1px solid var(--line)}.service-line:nth-child(odd){padding-right:34px;border-right:1px solid var(--line)}.service-line:nth-child(even){padding-left:34px}.service-line svg{width:26px;height:26px;color:var(--berry)}.service-line h3{font:400 22px/1.15 var(--display);margin:0 0 9px}.service-line p{margin:0;color:var(--muted);font-size:14px}
.tools-cloud{display:flex;flex-wrap:wrap;gap:10px}.tool{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid rgba(255,255,255,.16);border-radius:10px;color:rgba(255,255,255,.75);font-size:13px;transition-property:background-color,color,transform;transition-duration:.22s}.tool:hover{background:rgba(255,255,255,.09);color:var(--white);transform:translateY(-2px)}
.contact-block{display:grid;grid-template-columns:minmax(0,.85fr) minmax(220px,.52fr) minmax(260px,.58fr);gap:clamp(28px,4vw,64px);align-items:center;padding:88px 0;border-top:1px solid var(--line)}.contact-block h2{font:400 clamp(2.7rem,5.5vw,5.4rem)/.95 var(--display);letter-spacing:-.04em;margin:0;max-width:12ch}.contact-block h2 em{font-family:Quentin,Southampton,cursive;font-style:normal;color:var(--berry);letter-spacing:0}.contact-portrait{position:relative;margin:0;width:100%;max-width:310px;justify-self:center;overflow:hidden;aspect-ratio:4/5.35;border-radius:170px 170px 20px 20px;background:var(--blush);box-shadow:0 28px 70px rgba(64,25,49,.17)}.contact-portrait::after{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,.5);border-radius:160px 160px 14px 14px;pointer-events:none}.contact-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:saturate(.92) contrast(1.02)}.contact-details{display:grid;gap:16px;min-width:300px}.contact-details a,.contact-details span{display:block}.contact-details small{display:block;color:var(--muted);font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:3px}.social-connect{display:grid;gap:7px}.social-tabs{display:flex;flex-wrap:wrap;gap:8px}.social-link{display:inline-flex!important;align-items:center;justify-content:center;gap:7px;width:max-content;min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:999px;color:var(--berry);font-size:12px;font-weight:700;line-height:1;transition:transform .22s var(--ease),background-color .22s,border-color .22s}.social-link svg{display:block;flex:0 0 16px;width:16px!important;height:16px!important;max-width:16px!important;max-height:16px!important;fill:currentColor}.social-link:hover{transform:translateY(-2px);background:var(--blush);border-color:rgba(118,38,84,.28)}.contact-call{display:flex!important;width:100%;min-height:52px;justify-content:center;gap:9px;color:var(--rose);font-size:15px;font-weight:700;letter-spacing:.01em;text-align:center}.contact-call .phone-icon{width:18px;height:18px;flex:0 0 18px}.contact-call .arrow{width:17px;height:17px;margin-left:1px}.contact-call:hover{color:#ffd4e8}.site-footer{background:var(--ink);color:rgba(255,255,255,.6);padding:28px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;font-size:12px}.footer-links{display:flex;gap:20px}.footer-links a:hover{color:var(--white)}
.page-intro{background:var(--ink);color:var(--white);padding:calc(var(--nav-h) + 80px) 0 80px}.page-intro .intro-grid{display:grid;grid-template-columns:1fr .7fr;gap:70px;align-items:end}.page-intro h1{max-width:10ch}.page-intro p{max-width:500px;color:rgba(255,255,255,.67);font-size:18px}.intro-count{font:400 clamp(5rem,12vw,10rem)/.75 var(--display);color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.23);text-align:right}.project-index{padding:70px 0 110px;background:var(--ink);color:var(--white)}
.case-hero{padding:calc(var(--nav-h) + 70px) 0 72px;background:var(--ink);color:var(--white)}.case-breadcrumb{display:flex;align-items:center;gap:10px;margin-bottom:40px;color:rgba(255,255,255,.56);font-size:12px}.case-breadcrumb a:hover{color:var(--white)}.case-hero-grid{display:grid;grid-template-columns:1.1fr .55fr;gap:70px;align-items:end}.case-hero h1{max-width:12ch}.case-summary{font-size:18px;color:rgba(255,255,255,.68);max-width:620px;margin:24px 0 0}.case-facts{display:grid;gap:18px;padding-left:30px;border-left:1px solid var(--line-dark)}.case-facts small{display:block;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--rose)}.case-facts strong{display:block;font-weight:400;margin-top:2px}.case-story{padding:90px 0}.story-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}.story-grid h2{font:400 clamp(2rem,4vw,3.6rem)/1 var(--display);letter-spacing:-.03em;margin:0}.story-copy{font-size:18px;color:#50434c}.story-copy p:first-child{font-size:24px;line-height:1.45;color:var(--ink);font-family:var(--display)}.outcomes{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:64px;border:1px solid var(--line)}.outcome{background:var(--canvas);padding:26px}.outcome strong{display:block;font:400 18px/1.2 var(--display);margin-bottom:8px}.outcome span{font-size:13px;color:var(--muted)}.gallery{padding:80px 0;background:#ece8e9}.gallery-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:34px}.gallery-head h2{font:400 clamp(2.3rem,4.5vw,4rem)/1 var(--display);margin:0}.gallery-head p{max-width:460px;color:var(--muted);margin:0}.slide-stack{display:grid;gap:28px}.slide{background:var(--white);padding:12px;border-radius:16px;box-shadow:0 18px 60px rgba(38,17,31,.1);content-visibility:auto;contain-intrinsic-block-size:607px}.slide img{width:100%;height:auto;border-radius:10px;outline:1px solid rgba(0,0,0,.08)}.tall-art{max-width:980px;margin-inline:auto;background:var(--white);padding:12px;border-radius:16px;box-shadow:var(--shadow)}.tall-art img{width:100%;height:auto;border-radius:10px;outline:1px solid rgba(0,0,0,.08)}.case-next{background:var(--plum);color:var(--white);padding:72px 0}.case-next a{display:flex;justify-content:space-between;align-items:center;gap:40px}.case-next small{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:rgba(255,255,255,.62)}.case-next strong{display:block;font:400 clamp(2rem,4.5vw,4rem)/1 var(--display);margin-top:10px}.case-next svg{width:52px;height:52px}
.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(26px);transition-property:opacity,transform;transition-duration:.8s;transition-timing-function:var(--ease)}.js .reveal.is-visible{opacity:1;transform:none}.hero .hero-kicker,.hero .hero-title,.hero .hero-lead,.hero .hero-actions,.hero .hero-proof,.hero .portrait-stage{opacity:0;transform:translateY(24px);animation:heroIn .9s var(--ease) forwards}.hero .hero-title{animation-delay:.08s}.hero .hero-lead{animation-delay:.16s}.hero .hero-actions{animation-delay:.24s}.hero .hero-proof{animation-delay:.32s}.hero .portrait-stage{animation-delay:.18s;transform:translateY(32px) scale(.97)}@keyframes heroIn{to{opacity:1;transform:none}}
/* Premium motion polish: subtle light, stagger, and depth without distracting from content. */
.contact-portrait::before{content:"";position:absolute;z-index:2;top:-18%;bottom:-18%;left:-38%;width:24%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);filter:blur(2px);transform:translateX(-220%) rotate(12deg);animation:contactSheen 8s var(--ease) infinite;pointer-events:none}
@keyframes contactSheen{0%,68%{opacity:0;transform:translateX(-220%) rotate(12deg)}74%{opacity:.22}90%,100%{opacity:0;transform:translateX(650%) rotate(12deg)}}
.contact-call{position:relative;overflow:hidden;isolation:isolate;box-shadow:0 14px 34px rgba(42,16,34,.16)}
.contact-call::before{content:"";position:absolute;z-index:0;inset:-50% auto -50% -34%;width:24%;background:linear-gradient(90deg,transparent,rgba(255,187,219,.22),transparent);transform:translateX(-260%) rotate(14deg);animation:callShimmer 5.8s var(--ease) infinite;pointer-events:none}
.contact-call>*{position:relative;z-index:1}
.contact-call .phone-icon{transform-origin:50% 60%;animation:phoneWink 5.8s ease-in-out infinite}
@keyframes callShimmer{0%,62%{transform:translateX(-260%) rotate(14deg)}86%,100%{transform:translateX(680%) rotate(14deg)}}
@keyframes phoneWink{0%,68%,82%,100%{transform:rotate(0) scale(1)}72%{transform:rotate(-9deg) scale(1.06)}76%{transform:rotate(8deg) scale(1.06)}}
.project-preview::after{content:"";position:absolute;z-index:2;inset:-35% auto -35% -32%;width:18%;background:linear-gradient(90deg,transparent,rgba(255,226,240,.16),transparent);transform:translateX(-260%) rotate(13deg);transition:transform 1s var(--ease);pointer-events:none}
.project-row:hover .project-preview::after,.project-row:focus-visible .project-preview::after{transform:translateX(880%) rotate(13deg)}
.js .services-ledger.reveal .service-line{opacity:0;transform:translateY(12px)}
.js .services-ledger.reveal.is-visible .service-line{animation:ledgerIn .7s var(--ease) both}
.js .services-ledger.reveal.is-visible .service-line:nth-child(2){animation-delay:.06s}.js .services-ledger.reveal.is-visible .service-line:nth-child(3){animation-delay:.12s}.js .services-ledger.reveal.is-visible .service-line:nth-child(4){animation-delay:.18s}.js .services-ledger.reveal.is-visible .service-line:nth-child(5){animation-delay:.24s}.js .services-ledger.reveal.is-visible .service-line:nth-child(6){animation-delay:.3s}
@keyframes ledgerIn{to{opacity:1;transform:none}}
.social-link svg{transition:transform .32s var(--ease)}.social-link:hover svg{transform:translateY(-1px) scale(1.08)}
/* Final premium motion layer: editorial reveals and a restrained atmospheric toolkit. */
#tools{overflow:hidden;isolation:isolate}#tools .wrap{position:relative;z-index:1}
#tools::before,#tools::after{content:"";position:absolute;z-index:0;width:48vw;height:48vw;min-width:430px;min-height:430px;border-radius:50%;pointer-events:none;opacity:.34;will-change:transform}
#tools::before{left:-24vw;top:-28%;background:radial-gradient(circle,rgba(181,78,137,.2),rgba(181,78,137,0) 68%);animation:ambientDriftA 18s ease-in-out infinite alternate}
#tools::after{right:-27vw;bottom:-42%;background:radial-gradient(circle,rgba(232,152,196,.13),rgba(232,152,196,0) 68%);animation:ambientDriftB 22s ease-in-out infinite alternate}
@keyframes ambientDriftA{to{transform:translate3d(9vw,7%,0) scale(1.1)}}@keyframes ambientDriftB{to{transform:translate3d(-8vw,-8%,0) scale(1.08)}}
.js .section-head.reveal h2,.js .contact-block.reveal h2{opacity:0;clip-path:inset(0 0 88% 0);transform:translateY(18px)}
.js .section-head.reveal.is-visible h2,.js .contact-block.reveal.is-visible h2{animation:headingUnveil .95s var(--ease) .08s both}
@keyframes headingUnveil{to{opacity:1;clip-path:inset(0);transform:none}}
.section-head .section-label{display:inline-flex;align-items:center}.section-head .section-label::after{content:"";width:32px;height:1px;margin-left:11px;background:currentColor;opacity:.48;transform:scaleX(0);transform-origin:left center}
.js .section-head.reveal.is-visible .section-label::after{animation:labelLine .75s var(--ease) .24s both}@keyframes labelLine{to{transform:scaleX(1)}}
.tool{position:relative;overflow:hidden;isolation:isolate;transition-timing-function:var(--ease)}
.js #tools .tools-cloud.reveal .tool{opacity:0;transform:translateY(10px) scale(.975)}
.js #tools .tools-cloud.reveal.is-visible .tool{animation:toolRise .62s var(--ease) both;animation-delay:calc(var(--i) * 35ms)}
@keyframes toolRise{to{opacity:1;transform:none}}
.tool:hover{border-color:rgba(232,152,196,.48);box-shadow:0 10px 30px rgba(0,0,0,.17),inset 0 1px 0 rgba(255,255,255,.08)}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr .65fr;gap:30px}.hero h1{font-size:clamp(3.2rem,8vw,5rem)}.portrait-note{left:-12px}.section-head{align-items:start;flex-direction:column}.about-layout{gap:46px}.project-row{grid-template-columns:48px 1fr 1fr 48px;gap:18px}.role-strip{grid-template-columns:repeat(2,1fr)}.role:nth-child(2){border-right:0}.role:nth-child(-n+2){border-bottom:1px solid var(--line)}.page-intro .intro-grid,.case-hero-grid{grid-template-columns:1fr}.intro-count{text-align:left}.case-facts{grid-template-columns:repeat(3,1fr);padding-left:0;padding-top:26px;border-left:0;border-top:1px solid var(--line-dark)}}
@media(max-width:760px){:root{--nav-h:68px}.wrap{width:min(100% - 30px,var(--max))}.nav-toggle{display:grid;place-items:center;flex:0 0 44px}.brand{min-width:0}.brand-text{min-width:0}.hero-grid>* ,.intro-grid>* ,.case-hero-grid>*{min-width:0}.nav-links{position:fixed;inset:var(--nav-h) 0 auto;display:grid;gap:4px;padding:18px 15px 24px;background:rgba(23,13,23,.98);transform:translateY(-120%);opacity:0;pointer-events:none;transition-property:transform,opacity;transition-duration:.36s}.nav-links.is-open{transform:none;opacity:1;pointer-events:auto}.nav-links>a{padding-inline:15px}.nav-links .nav-hire{margin:8px 0 0}.hero{padding-top:calc(var(--nav-h) + 42px);align-items:flex-start}.hero-grid{grid-template-columns:1fr;gap:48px}.hero h1{font-size:clamp(3rem,15vw,4.4rem);max-width:100%}.hero h1 .stroke{display:block}.hero-lead,.page-intro p{max-width:100%;overflow-wrap:anywhere}.portrait-stage{justify-self:center;max-width:400px}.portrait-note{left:8px}.hero-scroll{display:none}.hero-proof{gap:18px}.proof-item{min-width:90px}.section{padding:78px 0}.about-layout{grid-template-columns:1fr}.about-copy{columns:1}.role-strip{margin-top:45px;grid-template-columns:1fr}.role{border-right:0;border-bottom:1px solid var(--line)}.role:nth-child(-n+2){border-bottom:1px solid var(--line)}.role:last-child{border-bottom:0}.project-row{grid-template-columns:38px 1fr 46px;padding:26px 0}.project-row .project-copy{grid-column:2/4}.project-preview{grid-column:1/4;grid-row:2}.project-go{grid-column:3;grid-row:1}.services-ledger{grid-template-columns:1fr}.service-line:nth-child(n){padding:26px 0;border-right:0}.contact-block{grid-template-columns:1fr;align-items:start}.contact-details{min-width:0}.page-intro{padding-top:calc(var(--nav-h) + 55px)}.page-intro .intro-grid{gap:30px}.project-index{padding-top:30px}.case-hero{padding-top:calc(var(--nav-h) + 48px)}.case-facts{grid-template-columns:1fr}.story-grid{grid-template-columns:1fr;gap:32px}.outcomes{grid-template-columns:1fr}.gallery{padding:60px 0}.gallery-head{align-items:start;flex-direction:column}.slide{padding:7px;border-radius:11px}.slide img{border-radius:7px}.case-next a{align-items:flex-start}.case-next svg{width:38px;height:38px;flex:none}.footer-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.brand-text>span{display:none}.brand-text{font-size:15px}.social-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.social-link{width:100%;min-width:0;padding:0 7px;gap:5px;font-size:11px}.social-link svg{flex-basis:15px;width:15px!important;height:15px!important}.contact-call{min-height:54px;font-size:14px;gap:7px}}
@media(max-width:760px){.contact-block{gap:28px;padding:64px 0}.contact-details{width:100%}.contact-portrait{max-width:310px}.contact-portrait::before{display:none}.contact-call::before,.contact-call .phone-icon{animation-duration:7.2s}.js .services-ledger.reveal.is-visible .service-line:nth-child(n){animation-delay:0s}.project-preview::after{display:none}#tools::before,#tools::after{opacity:.22;animation-duration:26s}.js #tools .tools-cloud.reveal.is-visible .tool{animation-delay:calc(var(--i) * 18ms)}}
@media(hover:none){.project-row:hover .project-preview img{transform:none}.social-link:hover{transform:none}.social-link:hover svg{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js .reveal{opacity:1;transform:none}.project-row:hover .project-preview img{transform:none}}
