:root{
  --paper:#f5f2ea;--ink:#10100f;--line:rgba(16,16,15,.16);--muted:#68635b;
  --lime:#efff52;--pink:#ff59b2;--orange:#ff6b39;--violet:#7558ff;
  --blue:#93b9dc;--yellow:#ffd74f;--cream:#eadfce;--pad:clamp(18px,3.2vw,54px);--r:22px
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
body.menu-open{overflow:hidden}img{display:block;width:100%;height:100%;object-fit:cover;image-rendering:auto}a{color:inherit;text-decoration:none}button{font:inherit}
::selection{background:var(--lime);color:#111}.skip{position:fixed;left:12px;top:12px;z-index:999;transform:translateY(-180%);background:#111;color:#fff;padding:11px 15px;border-radius:999px}.skip:focus{transform:none}
.progress{position:fixed;left:0;top:0;right:0;height:3px;z-index:200}.progress i{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--violet),var(--pink),var(--orange),var(--lime));transform:scaleX(0);transform-origin:left}
.header{height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--pad);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100;background:rgba(245,242,234,.86);backdrop-filter:blur(16px)}
.brand{display:flex;align-items:center;gap:11px;width:max-content}.brand>b{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#111;color:#fff;font-size:11px;letter-spacing:.08em}.brand>span{font-size:11px;font-weight:800;line-height:1.05}.brand small{display:block;font-weight:500;color:var(--muted)}
.nav{display:flex;gap:24px;font-size:11px;font-weight:800}.nav a:hover{color:var(--violet)}
.hire{justify-self:end;display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;padding:10px 13px;border-radius:999px;font-size:10px;font-weight:850;letter-spacing:.04em}.hire i{width:7px;height:7px;border-radius:50%;background:#2fd568;box-shadow:0 0 0 4px rgba(47,213,104,.13)}
.menu{display:none;justify-self:end;width:44px;height:44px;border:0;border-radius:50%;background:#111;position:relative}.menu span{position:absolute;left:12px;right:12px;height:1px;background:#fff;transition:.2s}.menu span:first-child{top:17px}.menu span:last-child{bottom:17px}.menu[aria-expanded=true] span:first-child{top:21px;transform:rotate(45deg)}.menu[aria-expanded=true] span:last-child{bottom:22px;transform:rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:90;background:var(--lime);padding:100px 20px 25px;display:flex;flex-direction:column;justify-content:space-between}.mobile-menu[hidden]{display:none}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{font-family:Georgia,serif;font-size:11vw;letter-spacing:-.055em;padding:14px 0;border-bottom:1px solid rgba(16,16,15,.25)}.mobile-menu>div{display:flex;gap:18px;font-size:12px;font-weight:800}

.hero{padding:clamp(38px,5vw,72px) var(--pad) clamp(76px,9vw,130px);min-height:calc(100svh - 76px);display:flex;flex-direction:column;justify-content:space-between}
.hero__meta{display:flex;justify-content:space-between;font-size:9px;font-weight:900;letter-spacing:.14em}
.hero h1{margin:clamp(45px,6vw,90px) 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(76px,11vw,180px);line-height:.73;letter-spacing:-.075em;font-weight:400}
.hero h1 span{display:block}.hero h1 .shift{padding-left:17vw;color:var(--violet);font-style:italic}.hero h1 .accent{padding-left:7vw;color:var(--pink)}
.hero__bottom{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}.hero__bottom p{margin:0;max-width:630px;font-size:clamp(16px,1.4vw,22px);line-height:1.55}
.hero__stamp{width:134px;height:134px;border-radius:50%;background:var(--lime);display:grid;place-items:center;text-align:center;transform:rotate(6deg)}.hero__stamp small{font-size:7px;font-weight:900;letter-spacing:.14em}.hero__stamp b{font-family:Georgia,serif;font-size:48px;line-height:.8;font-weight:400}.hero__stamp span{font-size:10px;font-weight:800}

.capabilities{display:flex;flex-wrap:wrap;gap:8px;padding:18px var(--pad);border-top:1px solid #111;border-bottom:1px solid #111;background:#111}.capabilities span{padding:9px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:9px;font-weight:900;letter-spacing:.1em}

.category{padding:clamp(75px,9vw,135px) var(--pad)}.category--dark{background:#111;color:#fff}.category--soft{background:#e9e4d9}.category--violet{background:var(--violet);color:#fff}
.category__head{display:grid;grid-template-columns:.32fr 1fr .62fr;gap:28px;align-items:end;margin-bottom:44px}.category__head>span{align-self:start;font-size:9px;font-weight:900;letter-spacing:.15em;color:var(--muted)}.category--dark .category__head>span,.category--violet .category__head>span{color:#bdb8b0}
.category__head h2{margin:0;font-family:Georgia,serif;font-size:clamp(55px,7.5vw,118px);line-height:.79;font-weight:400;letter-spacing:-.065em}.category__head h2 em{font-weight:400;color:var(--pink)}.category--dark h2 em{color:var(--lime)}.category--violet h2 em{color:var(--lime)}
.category__head p{margin:0;font-size:14px;line-height:1.6;max-width:430px;color:#4b4640}.category--dark .category__head p,.category--violet .category__head p{color:#d6d1ca}

.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.project{border-radius:var(--r);overflow:hidden;padding:14px;background:#fff;color:#111}.project--medium{grid-column:span 5}.project--wide{grid-column:span 7}.project--feature{grid-column:span 12}
.project__visual{border-radius:15px;overflow:hidden;background:#ddd}.ratio-4-3{aspect-ratio:4/3}.project__gallery{display:grid;gap:10px}.gallery-3{grid-template-columns:1.25fr .75fr .75fr}.project__gallery figure{margin:0;border-radius:15px;overflow:hidden;min-height:220px}
.project__info{padding:17px 4px 6px}.project__info>span,.promo span,.webcase__copy>span,.printcase>div>span,.ai-case__copy>span{font-size:8px;font-weight:900;letter-spacing:.13em}.project__info h3{margin:10px 0 8px;font-size:clamp(29px,3.1vw,50px);line-height:.92;letter-spacing:-.045em}.project__info p{margin:0 0 12px;font-size:14px;line-height:1.55;max-width:700px}.project__info a,.printcase a,.ai-case a{font-size:10px;font-weight:850;border-bottom:1px solid currentColor}
.tone-blue{background:#cbdcf0}.tone-yellow{background:var(--yellow)}.tone-orange{background:#e09a55}.tone-cream{background:#ede7dc}.tone-sky{background:#9cc2e6}.tone-cobalt{background:#2421ff;color:#fff}.tone-stone{background:#dfddd9}.tone-red{background:#ef4a34}.tone-forest{background:#53694d;color:#fff}

.sv-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:360px 360px;gap:10px}.sv-grid figure{margin:0;border-radius:15px;overflow:hidden}.sv-grid__hero{grid-row:1/span 2}

.promo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.promo{border-radius:var(--r);overflow:hidden;padding:12px}.promo>img{aspect-ratio:4/5;border-radius:15px}.promo>div{padding:16px 5px 8px}.promo h3{margin:8px 0 8px;font-size:28px;line-height:.95;letter-spacing:-.04em}.promo p{margin:0;font-size:13px;line-height:1.5}

.webcase{display:grid;grid-template-columns:1.35fr .65fr;gap:16px;padding:16px;border-radius:var(--r);background:#aac6e2}.webcase__browser{border-radius:17px;overflow:hidden;background:#fff;max-height:760px}.browserbar{height:38px;display:flex;align-items:center;gap:6px;padding:0 12px;background:#f1f1ef;border-bottom:1px solid #ddd;font-size:9px;color:#777}.browserbar i{width:8px;height:8px;border-radius:50%;background:#bbb}.browserbar span{margin-left:5px}.webcase__browser img{height:auto;object-fit:contain}.webcase__copy{align-self:end;padding:16px}.webcase__copy h3{font-family:Georgia,serif;font-size:55px;font-weight:400;letter-spacing:-.05em;margin:9px 0}.webcase__copy p{font-size:14px;line-height:1.58}

.print-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.printcase{grid-column:span 12;padding:14px;background:#fff;border-radius:var(--r)}.printcase--small{grid-column:span 4}.printcase__gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.printcase__gallery img{aspect-ratio:4/3;border-radius:14px}.printcase .single{aspect-ratio:4/3;border-radius:14px}.printcase>div:last-child{padding:15px 5px 5px}.printcase h3{font-size:28px;margin:8px 0;letter-spacing:-.04em}.printcase p{font-size:13px;line-height:1.5;margin:0 0 10px}

.ai-case{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.ai-case__visual{border-radius:var(--r);overflow:hidden;background:#ddd;aspect-ratio:1.45}.ai-case__copy{align-self:end;padding:18px}.ai-case__copy h3{font-family:Georgia,serif;font-size:62px;line-height:.87;font-weight:400;letter-spacing:-.055em;margin:10px 0}.ai-case__copy p{font-size:15px;line-height:1.6;max-width:560px}

.tools{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;padding:clamp(80px,10vw,145px) var(--pad);background:var(--lime)}.tools__copy>span{font-size:9px;font-weight:900;letter-spacing:.14em}.tools__copy h2{font-family:Georgia,serif;font-size:clamp(53px,6.5vw,100px);line-height:.82;letter-spacing:-.06em;font-weight:400;margin:20px 0}.tools__copy h2 em{color:var(--violet);font-weight:400}.tools__copy p{font-size:15px;line-height:1.6;max-width:650px}.tools__grid{align-self:end;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.tools__grid b{aspect-ratio:1;border-radius:18px;display:grid;place-items:center;background:#111;color:#fff;font-size:35px}.tools__grid span{text-align:center;font-size:9px;font-weight:850}

.contact{padding:clamp(80px,10vw,140px) var(--pad);background:var(--pink)}.contact>span{font-size:9px;font-weight:900;letter-spacing:.14em}.contact h2{font-family:Georgia,serif;font-size:clamp(65px,9vw,145px);line-height:.78;letter-spacing:-.07em;font-weight:400;margin:35px 0 60px}.contact h2 em{font-weight:400;color:#fff}.contact__cta{display:flex;justify-content:space-between;align-items:center;padding:22px 0;border-top:1px solid #111;border-bottom:1px solid #111;font-size:clamp(25px,4vw,52px);font-weight:800}.contact__cta b{font-size:1.4em;font-weight:400}.contact__links{display:flex;gap:24px;margin-top:28px;font-size:12px;font-weight:800}
footer{display:flex;justify-content:space-between;padding:20px var(--pad) 28px;background:#111;color:#fff;font-size:8px;font-weight:850;letter-spacing:.12em}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .78s ease,transform .78s cubic-bezier(.2,.75,.2,1)}.reveal.in{opacity:1;transform:none}

@media(max-width:1050px){
  .category__head{grid-template-columns:.3fr 1fr}.category__head p{grid-column:2}
  .project--medium,.project--wide{grid-column:span 12}.promo-grid{grid-template-columns:repeat(2,1fr)}
  .webcase{grid-template-columns:1fr}.printcase--small{grid-column:span 6}.ai-case{grid-template-columns:1fr}.tools{grid-template-columns:1fr}
}
@media(max-width:760px){
  :root{--pad:18px;--r:17px}.header{height:66px;grid-template-columns:1fr auto}.nav,.hire{display:none}.menu{display:block}.brand>b{width:35px;height:35px}.brand>span{font-size:10px}
  .hero{min-height:auto;padding-top:34px}.hero__meta{flex-direction:column;gap:7px;font-size:8px}.hero h1{font-size:16vw;line-height:.82;margin:45px 0}.hero h1 .shift,.hero h1 .accent{padding-left:0}.hero h1 .shift{margin-left:14vw}.hero h1 .accent{margin-left:5vw}
  .hero__bottom{grid-template-columns:1fr auto}.hero__bottom p{font-size:15px}.hero__stamp{width:92px;height:92px}.hero__stamp b{font-size:34px}
  .category{padding-top:68px;padding-bottom:68px}.category__head{grid-template-columns:1fr;gap:16px}.category__head p{grid-column:auto}.category__head h2{font-size:17vw}
  .project-grid,.promo-grid{grid-template-columns:1fr}.project--medium,.project--wide,.project--feature{grid-column:auto}.gallery-3{grid-template-columns:1fr}.project__gallery figure{min-height:0;aspect-ratio:4/3}
  .sv-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.sv-grid figure,.sv-grid__hero{grid-row:auto;aspect-ratio:3/4}.sv-grid__hero{grid-column:1/-1;aspect-ratio:4/3}
  .promo>img{aspect-ratio:4/5}.webcase{padding:10px}.webcase__browser{max-height:620px}.webcase__copy h3{font-size:45px}
  .print-grid{grid-template-columns:1fr}.printcase,.printcase--small{grid-column:auto}.printcase__gallery{grid-template-columns:1fr 1fr}.printcase__gallery img{aspect-ratio:4/3}
  .ai-case__visual{aspect-ratio:1.15}.ai-case__copy{padding:8px 0}.ai-case__copy h3{font-size:46px}
  .tools{padding-top:70px;padding-bottom:70px}.tools__copy h2{font-size:16vw}.tools__grid b{font-size:24px;border-radius:13px}.tools__grid span{font-size:7px}
  .contact h2{font-size:17vw}.contact__links{flex-wrap:wrap}footer{font-size:7px;gap:10px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}


/* v10 refinements */
.hero__bottom{grid-template-columns:minmax(0,.86fr) minmax(420px,1.14fr);align-items:end}
.hero__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.hero-mini{min-height:150px;border-radius:20px;padding:16px;display:flex;flex-direction:column;justify-content:space-between}
.hero-mini small{font-size:7px;font-weight:900;letter-spacing:.13em}
.hero-mini strong{font-family:Georgia,serif;font-size:26px;line-height:.92;font-weight:400;letter-spacing:-.04em}
.hero-mini--lime{background:var(--lime)}
.hero-mini--pink{background:var(--pink)}
.hero-mini--violet{background:var(--violet);color:#fff}
.hero__stamp{display:none!important}

.gallery-3--mixed{grid-template-columns:1.2fr .8fr .8fr}
.gallery-note{border-radius:15px;background:#fff7c8;padding:18px;display:flex;flex-direction:column;justify-content:space-between;min-height:220px}
.gallery-note small{font-size:8px;font-weight:900;letter-spacing:.12em}
.gallery-note strong{font-family:Georgia,serif;font-size:34px;line-height:.9;font-weight:400;letter-spacing:-.045em}
.gallery-note span{font-size:10px;font-weight:700;line-height:1.4}
.gallery-note--dark{background:#4b5b7d;color:#fff}

.sv-showcase{display:grid;grid-template-columns:1.1fr .72fr .72fr .72fr;grid-auto-rows:255px;gap:10px}
.sv-showcase figure{margin:0;border-radius:15px;overflow:hidden;background:#ddd}
.sv-showcase__wide{grid-column:span 2;grid-row:span 2}
.sv-showcase__note{grid-column:span 2;background:#111;color:#fff;border-radius:15px;padding:22px;display:flex;flex-direction:column;justify-content:flex-end}
.sv-showcase__note small{font-size:8px;font-weight:900;letter-spacing:.13em;color:#bbb}
.sv-showcase__note strong{font-family:Georgia,serif;font-size:38px;line-height:.92;font-weight:400;letter-spacing:-.045em;margin:12px 0}
.sv-showcase__note p{font-size:13px;line-height:1.5;color:#d8d4ce;margin:0;max-width:540px}
.project__info--sv{display:grid;grid-template-columns:.35fr 1fr .9fr;gap:18px;align-items:start}
.project__info--sv h3{margin:0}
.project__info--sv p{margin:0}

.single--contain{object-fit:contain!important;background:#000}

.webcase{display:block;background:#aac6e2;padding:16px}
.webcase__copy{display:grid;grid-template-columns:.32fr .58fr 1.1fr;gap:20px;align-items:end;padding:10px 8px 24px}
.webcase__copy h3{margin:0;font-size:52px}
.webcase__copy p{margin:0}
.webcase__browser--full{max-height:none!important}
.prototype-sheet{background:#fff}
.prototype-sheet img{width:100%;height:auto!important;max-height:none!important;object-fit:contain!important;display:block}

@media(max-width:1050px){
  .hero__bottom{grid-template-columns:1fr}
  .hero__cards{max-width:760px}
  .project__info--sv{grid-template-columns:1fr}
  .webcase__copy{grid-template-columns:1fr}
  .sv-showcase{grid-template-columns:1fr 1fr;grid-auto-rows:280px}
  .sv-showcase__wide{grid-column:1/-1;grid-row:auto}
  .sv-showcase__note{grid-column:1/-1}
}
@media(max-width:760px){
  .hero__cards{grid-template-columns:1fr;gap:8px}
  .hero-mini{min-height:110px}
  .hero-mini strong{font-size:24px}
  .gallery-3--mixed{grid-template-columns:1fr}
  .gallery-note{min-height:170px}
  .sv-showcase{grid-template-columns:1fr;grid-auto-rows:auto}
  .sv-showcase figure,.sv-showcase__wide{grid-column:auto;aspect-ratio:4/5}
  .sv-showcase__wide{aspect-ratio:4/3}
  .sv-showcase__note{grid-column:auto;min-height:200px}
  .webcase{padding:10px}
  .webcase__copy h3{font-size:43px}
}

/* v11 interaction layer */
.cursor-dot,.cursor-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:9999;border-radius:50%;opacity:0;will-change:transform}.cursor-dot{width:7px;height:7px;background:var(--lime);transform:translate(-50%,-50%);mix-blend-mode:difference}.cursor-ring{width:34px;height:34px;border:1px solid rgba(255,255,255,.8);transform:translate(-50%,-50%);mix-blend-mode:difference;transition:width .18s ease,height .18s ease,opacity .18s ease}.cursor-active .cursor-dot,.cursor-active .cursor-ring{opacity:1}.cursor-hover .cursor-ring{width:54px;height:54px}.cursor-hover .cursor-dot{scale:.55}@media(pointer:coarse){.cursor-dot,.cursor-ring{display:none!important}}
.hero-title .hero-word{display:block;opacity:0;transform:translateY(46px) rotate(.8deg);filter:blur(8px);transition:opacity .9s cubic-bezier(.2,.75,.2,1),transform .9s cubic-bezier(.2,.75,.2,1),filter .9s ease}.hero-title.is-visible .hero-word{opacity:1;transform:none;filter:blur(0)}.hero-title.is-visible .hero-word:nth-child(1){transition-delay:.05s}.hero-title.is-visible .hero-word:nth-child(2){transition-delay:.13s}.hero-title.is-visible .hero-word:nth-child(3){transition-delay:.21s}.hero-title.is-visible .hero-word:nth-child(4){transition-delay:.29s}
.reveal{transform:translateY(30px) scale(.992);filter:blur(4px);transition:opacity .82s ease,transform .82s cubic-bezier(.2,.75,.2,1),filter .82s ease}.reveal.in{transform:none;filter:blur(0)}
.section-animated{position:relative;isolation:isolate}.section-animated::before{content:"";position:absolute;width:34vw;height:34vw;border-radius:50%;left:78%;top:10%;transform:translate(-50%,-50%) scale(.75);opacity:0;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 68%);pointer-events:none;z-index:-1;transition:opacity 1s ease,transform 1.2s cubic-bezier(.2,.75,.2,1)}.section-animated.section-in::before{opacity:1;transform:translate(-50%,-50%) scale(1)}
[data-tilt="true"]{transform-style:preserve-3d;transform:perspective(1200px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .22s ease-out,box-shadow .25s ease;will-change:transform}[data-tilt="true"]:hover{box-shadow:0 28px 70px rgba(0,0,0,.12)}[data-spotlight="true"]{position:relative;overflow:hidden}[data-spotlight="true"]::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(420px circle at var(--spot-x,50%) var(--spot-y,50%),rgba(255,255,255,.18),transparent 58%);opacity:0;transition:opacity .25s ease;mix-blend-mode:soft-light}[data-spotlight="true"]:hover::after{opacity:1}
.magnetic{--mag-x:0px;--mag-y:0px;transform:translate(var(--mag-x),var(--mag-y));transition:transform .22s cubic-bezier(.2,.75,.2,1);will-change:transform}
.project img,.promo img,.sv-showcase img,.printcase img,.ai-case img{transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .45s ease;will-change:transform}.project:hover img,.promo:hover img,.printcase:hover img,.ai-case:hover img{transform:scale(1.025)}
.hero-mini{animation:heroFloat 6s ease-in-out infinite;will-change:transform}.hero-mini:nth-child(2){animation-delay:-2s}.hero-mini:nth-child(3){animation-delay:-4s}@keyframes heroFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(.35deg)}}
.prototype-sheet{position:relative;overflow:hidden}.prototype-sheet img{transform:translateY(var(--proto-y,0px));transition:transform .25s ease-out;will-change:transform}.category__head h2 em{display:inline-block;transition:transform .35s cubic-bezier(.2,.75,.2,1)}.category__head:hover h2 em{transform:translateX(10px) rotate(-1deg)}
.contact__cta{overflow:hidden;position:relative}.contact__cta::before{content:"";position:absolute;inset:0;background:var(--lime);transform:translateY(101%);transition:transform .45s cubic-bezier(.2,.75,.2,1);z-index:0}.contact__cta:hover::before{transform:translateY(0)}.contact__cta span,.contact__cta b{position:relative;z-index:1}.contact__cta:hover{color:#111}.contact__cta b{transition:transform .3s ease}.contact__cta:hover b{transform:translate(8px,-8px) rotate(8deg)}
.nav a{position:relative}.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:right .25s ease}.nav a:hover::after{right:0}
.webcase__browser{box-shadow:0 20px 50px rgba(25,45,70,.10);transition:transform .5s cubic-bezier(.2,.75,.2,1),box-shadow .5s ease}.webcase:hover .webcase__browser{transform:translateY(-6px);box-shadow:0 30px 70px rgba(25,45,70,.16)}
@media(max-width:760px){.hero-mini{animation:none}[data-tilt="true"]{transform:none!important}[data-spotlight="true"]::after{display:none}.hero-title .hero-word{transform:translateY(24px);filter:blur(4px)}}
@media(prefers-reduced-motion:reduce){.cursor-dot,.cursor-ring{display:none!important}.hero-title .hero-word{opacity:1!important;transform:none!important;filter:none!important}.hero-mini{animation:none!important}[data-tilt="true"],.magnetic,.prototype-sheet img{transform:none!important}.section-animated::before{transition:none!important}}


/* v13 SEO / service architecture */
.seo-block{
  padding:clamp(78px,9vw,135px) var(--pad);
  background:#f5f2ea;
  border-top:1px solid var(--line);
}
.seo-block__head{
  display:grid;
  grid-template-columns:.38fr 1.2fr .7fr;
  gap:28px;
  align-items:end;
  margin-bottom:38px;
}
.seo-block__head>span{
  align-self:start;
  font-size:9px;
  font-weight:900;
  letter-spacing:.15em;
  color:var(--muted)
}
.seo-block__head h2{
  margin:0;
  font-family:Georgia,serif;
  font-size:clamp(54px,7vw,108px);
  line-height:.8;
  font-weight:400;
  letter-spacing:-.065em
}
.seo-block__head h2 em{font-weight:400;color:var(--violet)}
.seo-block__head p{margin:0;font-size:14px;line-height:1.6;color:#4a4540;max-width:470px}
.seo-services{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.seo-services article{
  padding:20px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(16,16,15,.08)
}
.seo-services h3{margin:0 0 9px;font-size:22px;letter-spacing:-.03em}
.seo-services p{margin:0;font-size:13px;line-height:1.55;color:var(--muted)}
.seo-faq{margin-top:24px;border-top:1px solid #111}
.seo-faq details{border-bottom:1px solid rgba(16,16,15,.24);padding:0}
.seo-faq summary{
  cursor:pointer;
  list-style:none;
  padding:20px 0;
  font-size:clamp(18px,2vw,26px);
  font-weight:750;
  letter-spacing:-.03em
}
.seo-faq summary::-webkit-details-marker{display:none}
.seo-faq summary::after{content:"+";float:right;font-weight:400}
.seo-faq details[open] summary::after{content:"−"}
.seo-faq details p{max-width:760px;margin:0 0 20px;font-size:14px;line-height:1.6;color:var(--muted)}
.locations-link{
  margin-top:28px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:20px 22px;
  border-radius:20px;
  background:var(--lime);
  font-size:clamp(20px,2.8vw,38px);
  font-weight:800;
  letter-spacing:-.035em
}
.locations-link b{font-size:.42em;letter-spacing:.08em}
@media(max-width:900px){
  .seo-block__head{grid-template-columns:1fr}
  .seo-services{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .seo-block{padding-top:68px;padding-bottom:68px}
  .seo-block__head h2{font-size:16vw}
  .seo-services{grid-template-columns:1fr}
  .locations-link{align-items:flex-start;gap:20px;flex-direction:column}
}


.locations-page{
  max-width:1180px;
  margin:0 auto;
  padding:clamp(30px,6vw,80px) 20px 100px;
}
.locations-page>a:first-child{font-size:12px;font-weight:800}
.locations-page header{padding:70px 0 50px;border-bottom:1px solid #111}
.locations-page header>span{font-size:9px;font-weight:900;letter-spacing:.15em}
.locations-page h1{
  margin:20px 0;
  font-family:Georgia,serif;
  font-size:clamp(58px,8vw,120px);
  line-height:.82;
  letter-spacing:-.065em;
  font-weight:400
}
.locations-page h1 em{font-weight:400;color:var(--violet)}
.locations-page header p,.locations-page section p{
  max-width:820px;font-size:16px;line-height:1.65;color:#4b4640
}
.locations-page section{padding:36px 0;border-bottom:1px solid rgba(16,16,15,.18)}
.locations-page section h2{font-size:30px;letter-spacing:-.04em;margin:0 0 12px}
.locations-page code{font-size:.9em}
.locations-page ul{columns:2;gap:30px;line-height:1.8}
@media(max-width:640px){.locations-page ul{columns:1}}


/* PATCH v14.2 — full-width WEB / AI + language switch */
.digital-grid,
.ai-grid{
  display:block;
  width:100%;
}
.digital-grid .webcase,
.ai-grid .ai-case{
  width:100%;
  max-width:none;
  grid-column:1 / -1;
}
.digital-grid .webcase{
  min-height:0;
}
.digital-grid .webcase__browser{
  width:100%;
}
.digital-grid .prototype-sheet{
  width:100%;
}
.digital-grid .prototype-sheet img{
  width:100%;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
}
.ai-grid .ai-case{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
  gap:18px;
}
.ai-grid .ai-case__visual{
  width:100%;
  min-width:0;
}
.ai-grid .ai-case__visual img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.ai-grid .ai-case__copy{
  min-width:0;
}

.header{
  grid-template-columns:1fr auto auto auto;
}
.lang-switch{
  display:flex;
  align-items:center;
  gap:3px;
  justify-self:end;
  margin-right:8px;
  padding:3px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.66);
}
.lang-switch a{
  min-width:31px;
  padding:7px 8px;
  border-radius:999px;
  text-align:center;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  color:#777;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.lang-switch a:hover{
  transform:translateY(-1px);
  color:#111;
}
.lang-switch a.active{
  background:#111;
  color:#fff;
}

@media(max-width:1050px){
  .ai-grid .ai-case{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .header{
    grid-template-columns:1fr auto auto;
  }
  .nav,.hire{display:none}
  .lang-switch{margin-right:2px}
  .lang-switch a{min-width:28px;padding:7px 6px}
}


/* PATCH v14.3 — regional pages as full portfolio */
.regional-hero{
  padding:clamp(38px,5vw,72px) var(--pad) clamp(70px,8vw,118px);
  min-height:calc(100svh - 76px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:
    radial-gradient(circle at 85% 24%,rgba(117,88,255,.10),transparent 23rem),
    var(--paper);
}
.regional-hero__meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
}
.regional-hero__meta a{
  letter-spacing:0;
  font-size:11px;
  text-transform:none;
}
.regional-hero h1{
  margin:clamp(45px,6vw,84px) 0;
  max-width:1300px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(72px,10.5vw,170px);
  line-height:.73;
  font-weight:400;
  letter-spacing:-.075em;
}
.regional-hero h1 span{display:block}
.regional-hero h1 .accent{
  color:var(--violet);
  font-style:italic;
  padding-left:9vw;
}
.regional-hero__bottom{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:30px;
  align-items:end;
}
.regional-hero__bottom p{
  max-width:760px;
  margin:0;
  font-size:clamp(16px,1.35vw,21px);
  line-height:1.58;
}
.regional-cta{
  display:flex;
  align-items:center;
  gap:32px;
  min-width:260px;
  justify-content:space-between;
  padding:17px 20px;
  border-radius:999px;
  background:var(--lime);
  font-size:13px;
  font-weight:850;
}
.regional-cta b{font-size:24px;font-weight:400}

.regional-info{
  padding:clamp(80px,9vw,135px) var(--pad);
  background:#f5f2ea;
}
.regional-info__head{
  display:grid;
  grid-template-columns:.34fr 1.66fr;
  gap:28px;
  align-items:start;
  margin-bottom:36px;
}
.regional-info__head>span{
  font-size:9px;
  font-weight:900;
  letter-spacing:.15em;
  color:var(--muted);
}
.regional-info__head h2{
  margin:0;
  font-family:Georgia,serif;
  font-size:clamp(55px,7vw,108px);
  line-height:.8;
  font-weight:400;
  letter-spacing:-.065em;
}
.regional-info__head h2 em{font-weight:400;color:var(--pink)}
.regional-info__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.regional-info__grid article{
  min-height:250px;
  padding:22px;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(16,16,15,.08);
}
.regional-info__grid article:nth-child(1){background:#cbdcf0}
.regional-info__grid article:nth-child(2){background:var(--lime)}
.regional-info__grid article:nth-child(3){background:#fff}
.regional-info__grid article:nth-child(4){background:#f7c9df}
.regional-info__grid article>span{
  display:inline-flex;
  min-width:34px;
  height:34px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-size:10px;
  font-weight:900;
}
.regional-info__grid h3{
  margin:42px 0 12px;
  font-size:clamp(24px,3vw,42px);
  line-height:.95;
  letter-spacing:-.045em;
}
.regional-info__grid p{
  max-width:650px;
  margin:0;
  font-size:14px;
  line-height:1.6;
}
.regional-districts{
  margin-top:16px;
  padding:22px;
  border-radius:20px;
  background:#111;
  color:#fff;
}
.regional-districts>span{
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
  color:#aaa;
}
.regional-districts ul{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:0;
  margin:18px 0 0;
  list-style:none;
}
.regional-districts li{
  padding:9px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.24);
  font-size:11px;
  font-weight:700;
}

.field-help{
  display:block;
  margin-top:4px;
  color:#888;
  font-size:10px;
  line-height:1.35;
  font-weight:500;
}

@media(max-width:900px){
  .regional-info__head{grid-template-columns:1fr}
  .regional-info__grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .regional-hero{min-height:auto;padding-top:34px}
  .regional-hero__meta{align-items:flex-start;flex-direction:column}
  .regional-hero h1{font-size:15.5vw;line-height:.82}
  .regional-hero h1 .accent{padding-left:0;margin-left:6vw}
  .regional-hero__bottom{grid-template-columns:1fr}
  .regional-cta{width:100%}
  .regional-info{padding-top:68px;padding-bottom:68px}
  .regional-info__head h2{font-size:16vw}
  .regional-info__grid article{min-height:0}
  .regional-info__grid h3{margin-top:30px}
}


/* PATCH v14.4 — flag language switch */
.lang-switch--flags{
  gap:5px;
  padding:5px;
  background:rgba(255,255,255,.82);
  box-shadow:0 8px 25px rgba(16,16,15,.06);
}
.lang-switch--flags a{
  width:36px;
  min-width:36px;
  height:36px;
  padding:0;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-size:19px;
  line-height:1;
  overflow:hidden;
  filter:saturate(.88);
}
.lang-switch--flags a span{
  display:block;
  transform:translateY(-.5px);
}
.lang-switch--flags a:hover{
  transform:translateY(-2px) scale(1.04);
  background:#f4f1e9;
}
.lang-switch--flags a.active{
  background:#111;
  box-shadow:0 0 0 2px #111,0 0 0 4px var(--lime);
  filter:saturate(1);
}
.lang-switch--flags a.active span{
  filter:none;
}
@media(max-width:760px){
  .lang-switch--flags{gap:2px;padding:3px}
  .lang-switch--flags a{width:31px;min-width:31px;height:31px;font-size:16px}
}


/* PATCH v14.5 — real SVG flags, not emoji */
.lang-switch--flags a{
  width:38px;
  min-width:38px;
  height:38px;
  padding:0;
  display:grid;
  place-items:center;
  border-radius:50%;
  overflow:hidden;
  background:#f5f2ea;
  border:1px solid rgba(16,16,15,.12);
  box-shadow:none;
  filter:none;
}
.lang-switch--flags a svg{
  width:24px;
  height:16px;
  display:block;
  border-radius:3px;
  box-shadow:0 0 0 1px rgba(0,0,0,.10);
}
.lang-switch--flags a:hover{
  background:#fff;
  transform:translateY(-2px);
}
.lang-switch--flags a.active{
  background:#111;
  border-color:#111;
  box-shadow:0 0 0 2px #111,0 0 0 4px var(--lime);
}
.lang-switch--flags a.active svg{
  box-shadow:0 0 0 1px rgba(255,255,255,.25);
}
.lang-switch--flags a span{
  display:none!important;
}
@media(max-width:760px){
  .lang-switch--flags a{
    width:33px;
    min-width:33px;
    height:33px;
  }
  .lang-switch--flags a svg{
    width:21px;
    height:14px;
  }
}


/* PATCH v14.6 — prevent header language switch from colliding with navigation */
.header{
  grid-template-columns:auto minmax(0,1fr) auto auto;
  column-gap:14px;
}
.brand{
  flex:0 0 auto;
}
.nav{
  justify-self:center;
  min-width:0;
  gap:clamp(14px,1.7vw,24px);
  white-space:nowrap;
}
.lang-switch{
  flex:0 0 auto;
  justify-self:end;
  margin-right:0;
}
.hire{
  flex:0 0 auto;
  white-space:nowrap;
}

/* Collapse the text navigation before it gets cramped. */
@media(max-width:1180px){
  .header{
    grid-template-columns:auto minmax(0,1fr) auto auto;
  }
  .nav{
    display:none;
  }
  .menu{
    display:block;
    grid-column:2;
    justify-self:end;
  }
  .lang-switch{
    grid-column:3;
  }
  .hire{
    grid-column:4;
  }
}

/* On narrower tablets keep the flags, but hide the long CTA. */
@media(max-width:860px){
  .header{
    grid-template-columns:auto 1fr auto auto;
  }
  .hire{
    display:none;
  }
  .menu{
    grid-column:2;
  }
  .lang-switch{
    grid-column:3;
  }
}

/* Mobile: brand + language + burger, with comfortable spacing. */
@media(max-width:760px){
  .header{
    grid-template-columns:minmax(0,1fr) auto auto;
    column-gap:8px;
  }
  .brand{
    min-width:0;
  }
  .brand>span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .lang-switch{
    grid-column:2;
    justify-self:end;
  }
  .menu{
    grid-column:3;
    justify-self:end;
  }
}
