@font-face{font-family:Ppneuemontreal;src:url(../vendor/fonts/ppneuemontreal-bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Ppneuemontreal;src:url(../vendor/fonts/ppneuemontreal-medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Ppneuemontreal Book";src:url(../vendor/fonts/ppneuemontreal-book.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Tr 3 A";src:url(../vendor/fonts/tr3a-bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Tr 3 A";src:url(../vendor/fonts/tr3a-regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Tr 3 A";src:url(../vendor/fonts/tr3a-medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{--orange:#f2502f;--cream:#d8d2c3;--paper:#e9e5db;--ink:#111;--panel:#1d1d1d;--line:#343434;--white:#fff;--hero-p:0;--journey-p:0;--work-p:0;--overview-p:0;--clients-p:0}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"Ppneuemontreal Book",Arial,sans-serif;font-size:clamp(12px,1.18vw,24px);line-height:1.45;overflow-x:clip}
img,video{display:block;width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}

.hero-track{position:relative;z-index:5;height:300vh;background:var(--cream)}
.hero-stage{position:sticky;top:0;height:100vh;min-height:620px;overflow:hidden;background:var(--cream)}
.hero-word{position:absolute;z-index:0;left:2.7vw;right:2.7vw;top:5.5vh;margin:0;color:var(--orange);font-family:Ppneuemontreal,Arial,sans-serif;font-size:clamp(290px,33.5vw,650px);font-weight:700;line-height:.72;letter-spacing:-.065em;text-align:center;white-space:nowrap;transform:translateY(calc(var(--hero-p)*17vh)) scale(calc(1 + var(--hero-p)*.06));transform-origin:center top;opacity:calc(1 - var(--hero-p)*2.28);animation:word-intro .9s cubic-bezier(.16,.9,.3,1)}
@keyframes word-intro{0%{opacity:0;filter:blur(15px);letter-spacing:-.12em}100%{opacity:1;filter:blur(0);letter-spacing:-.065em}}
.hero-person{position:absolute;z-index:2;left:50%;bottom:0;width:min(77vw,1160px);height:96vh;object-fit:contain;object-position:center bottom;transform:translateX(-50%) translateY(calc(var(--hero-p)*24vh)) scale(calc(1 - var(--hero-p)*.12));opacity:calc(1 - var(--hero-p)*.7);filter:blur(calc(var(--hero-p)*90px));clip-path:inset(0);animation:person-intro 1.1s .08s cubic-bezier(.16,.9,.3,1)}
@keyframes person-intro{0%{clip-path:inset(100% 0 0)}100%{clip-path:inset(0)}}
.hero-nav{position:absolute;z-index:6;left:2.8vw;right:2.8vw;top:61.5%;display:flex;justify-content:space-between;font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(11px,.92vw,18px);font-weight:700;text-transform:uppercase;opacity:calc(1 - var(--hero-p)*20);transform:translateY(calc(var(--hero-p)*2vw))}
.hero-nav div{display:flex;align-items:center;gap:1.1vw}
.hero-nav i{display:block;width:1px;height:16px;background:currentColor}
.hero-title{position:absolute;z-index:7;left:50%;bottom:5.5%;width:min(510px,34vw);color:#fff;transform:translateX(-50%) translateY(calc(var(--hero-p)*-5vh)) scale(calc(1 - var(--hero-p)*.3));opacity:calc(1 - var(--hero-p)*1.8);filter:blur(calc(var(--hero-p)*30px));will-change:transform,opacity,filter}
.hero-title h1{margin:0;font-family:Ppneuemontreal,Arial,sans-serif;font-size:clamp(54px,5.3vw,102px);font-weight:700;line-height:.84;letter-spacing:-.06em}
.hero-title h1 span{display:block;animation:title-line .75s cubic-bezier(.16,.9,.3,1) both}
.hero-title h1 span:nth-child(2){animation-delay:.08s}.hero-title h1 span:nth-child(3){animation-delay:.16s}
@keyframes title-line{from{transform:translateY(110%);opacity:0}to{transform:none;opacity:1}}
.hero-buttons{display:flex;gap:.83vw;margin-top:1.3vw}
.hero-buttons a{min-width:8.8vw;padding:.68vw 1.3vw;border-radius:.7vw;background:var(--orange);font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(11px,.8vw,16px);font-weight:700;text-align:center}
.hero-stat,.hero-traits{--hero-tilt-x:50%;--hero-tilt-y:50%;--hero-tilt-rx:0deg;--hero-tilt-ry:0deg;--hero-tilt-scale:1;--hero-tilt-opacity:0;position:absolute;z-index:8;isolation:isolate;overflow:hidden;border:1px solid #ffffff42;border-radius:.56vw;background:#766f6647;color:#fff;backdrop-filter:blur(18px);box-shadow:0 1vw 2vw #00000012;transform-style:preserve-3d;will-change:transform;animation:glass-intro .65s .55s cubic-bezier(.16,.9,.3,1) both}
@keyframes glass-intro{from{clip-path:inset(100% 0 0);opacity:0}to{clip-path:inset(0);opacity:1}}
.hero-stat{display:flex;align-items:center;gap:.75vw;padding:1.35vw 1.5vw;font-family:"Tr 3 A",Arial,sans-serif;font-weight:500;line-height:1}
.hero-stat b{display:block;color:var(--orange);font-family:Ppneuemontreal,Arial,sans-serif;font-size:clamp(32px,3.1vw,58px);line-height:.85}
.hero-stat-projects{left:18.7%;bottom:28%;transform:translate(calc(var(--hero-p)*-17vw),calc(var(--hero-p)*-20vh)) scale(calc(1 - var(--hero-p)*.5)) perspective(1200px) rotateX(var(--hero-tilt-rx)) rotateY(var(--hero-tilt-ry)) scale(var(--hero-tilt-scale));opacity:calc(1 - var(--hero-p)*2.5)}
.hero-stat-projects img{width:4.3vw;max-width:82px}.hero-stat-projects span b{font-size:clamp(20px,1.7vw,34px)}
.hero-stat-years{left:21.8%;bottom:3%;transform:translate(calc(var(--hero-p)*-20vw),calc(var(--hero-p)*-2vh)) scale(calc(1 - var(--hero-p)*.45)) perspective(1200px) rotateX(var(--hero-tilt-rx)) rotateY(var(--hero-tilt-ry)) scale(var(--hero-tilt-scale));opacity:calc(1 - var(--hero-p)*2.5)}
.hero-traits{right:22.7%;bottom:19%;display:grid;gap:.43vw;padding:1.45vw 1.65vw;font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(11px,.95vw,18px);font-weight:500;opacity:calc(1 - var(--hero-p)*5);transform:translate(calc(var(--hero-p)*-25vw),calc(var(--hero-p)*-5vw)) scale(calc(1 - var(--hero-p)*.7)) perspective(1200px) rotateX(var(--hero-tilt-rx)) rotateY(var(--hero-tilt-ry)) scale(var(--hero-tilt-scale))}
.hero-stat.hero-tilt-active,.hero-traits.hero-tilt-active{z-index:10;transition:transform .2s ease-out}
.hero-stat::after,.hero-traits::after{content:"";position:absolute;z-index:0;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--hero-tilt-x) var(--hero-tilt-y),rgba(255,255,255,.34) 0,rgba(255,255,255,.14) 19%,transparent 49%);opacity:var(--hero-tilt-opacity);transition:opacity .28s ease;pointer-events:none}
.hero-stat>*,.hero-traits>*{position:relative;z-index:1;transform:translateZ(18px)}
.hero-traits span::first-letter{color:var(--orange)}
@media(hover:none){.hero-stat::after,.hero-traits::after{display:none}}
.hero-copy{position:absolute;z-index:6;bottom:5.5%;width:clamp(170px,19vw,360px);margin:0;font-size:clamp(13px,1.08vw,21px);line-height:1.5;opacity:calc(2 - var(--hero-p)*20);transform:translateY(calc(var(--hero-p)*-10vh))}
.hero-copy-left{left:3.4%;width:clamp(140px,12vw,230px)}.hero-copy-right{right:3.5%}

.sidebar{--side-p:0;position:fixed;z-index:100;left:1.39vw;top:1.25vw;width:clamp(270px,18.54vw,356px);height:calc(100vh - 2.5vw);display:flex;flex-direction:column;gap:.83vw;color:#f4f2eb;pointer-events:none;opacity:var(--side-p);transform:translateX(calc((1 - var(--side-p))*-2vw));font-size:clamp(10px,.82vw,16px)}
.sidebar.is-ready{pointer-events:auto}
.side-panel{--show:0;border:1px solid #343434;border-radius:.75vw;background:var(--panel);opacity:var(--show);transform:scale(calc(.5 + var(--show)*.5));transform-origin:left center}
.side-top{padding:1.1vw}
.side-topbar{display:flex;justify-content:space-between;align-items:center}
.side-logo{display:grid;place-items:center;width:5.7vw;min-width:88px;min-height:2.55vw;padding:.5vw .65vw;border-radius:.55vw;background:var(--cream)}
.side-logo img{height:auto;max-height:32px;object-fit:contain}
.side-social{display:flex;gap:.42vw}.side-social a{display:grid;place-items:center;width:2vw;height:2vw;min-width:28px;min-height:28px;border-radius:.45vw;background:#444;font-family:"Tr 3 A",Arial,sans-serif;font-size:10px;font-weight:700}
.side-top p{margin:1.8vw 0 0;line-height:1.45}
.side-stats{display:grid;grid-template-columns:1fr 1fr;min-height:7.4vw;padding:1.15vw}
.side-stats>div{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:"Tr 3 A",Arial,sans-serif;font-weight:700;line-height:1.05}
.side-stats>div+div{border-left:1px solid var(--line)}
.side-stats img{width:2.8vw;max-width:54px;height:2vw;object-fit:contain}.side-stats b{color:var(--orange);font-family:Ppneuemontreal,Arial,sans-serif;font-size:clamp(22px,2.3vw,44px);line-height:.8}.side-stats span{margin-top:.35vw}
.side-menu{flex:1;min-height:17vw;padding:1vw;overflow:hidden}
.side-menu nav{display:flex;flex-direction:column;align-items:flex-start;gap:.55vw}
.side-menu a{display:flex;align-items:center;gap:.42vw;width:max-content;padding:.35vw .55vw;border-radius:.42vw;background:#404040;font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(12px,1.02vw,20px);font-weight:700;line-height:1.05;text-transform:uppercase;transition:background .25s,color .25s,transform .25s}
.side-menu a:hover,.side-menu a.active{background:var(--orange);color:#fff;transform:translateX(.2vw)}
.menu-icon{display:grid;place-items:center;width:1vw;font-size:.75em}
.side-clients{display:flex;justify-content:space-between;align-items:center;padding:.9vw .4vw;font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(8px,.7vw,13px);font-weight:700}
.side-email{display:flex;align-items:center;justify-content:space-between;padding:.58vw .7vw}.side-email span{width:100%;padding:.12vw .35vw;border-radius:.35vw;background:#3f3f3f;text-align:center}.side-email b{padding-left:.5vw}
.side-cta{--show:0;display:grid;place-items:center;min-height:3.3vw;border-radius:.75vw;background:var(--orange);color:#fff;font-family:Ppneuemontreal,Arial,sans-serif;font-size:clamp(18px,1.55vw,30px);font-weight:700;opacity:var(--show);transform:scale(calc(.5 + var(--show)*.5));transform-origin:left center}

.experience{position:relative;z-index:20;margin-top:-130vh}
.page{min-width:0;margin-left:21vw}
.about{position:relative;min-height:3200px;padding:0 1.39vw 12vw;background:linear-gradient(to bottom,#d8d2c300 0,#e9e5dbef 22vh,var(--paper) 48vh)}
.section-intro{position:relative;z-index:3;max-width:78vw;padding-top:0}
.label{display:inline-flex;width:max-content;margin:0;padding:.38vw .7vw;border-radius:.35vw;background:var(--orange);color:#fff;font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(9px,.7vw,13px);font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.section-intro h2,.work-heading h2,.services h2,.contact h2{margin:2vw 0;font-family:Ppneuemontreal,Arial,sans-serif;font-size:clamp(62px,6.8vw,130px);font-weight:700;line-height:.82;letter-spacing:-.065em}
.section-lead{max-width:27vw;margin:0;font-size:clamp(14px,1.25vw,24px);line-height:1.35}
.journey{position:relative;height:3400px;margin-top:7vw}
.journey-line{position:absolute;z-index:0;inset:0;width:100%;height:100%;overflow:visible}
.journey-path-base,.journey-path-progress{fill:none;stroke-width:3;vector-effect:non-scaling-stroke}
.journey-path-base{stroke:#111;opacity:.12}.journey-path-progress{stroke:#111;stroke-linecap:round;stroke-linejoin:round;will-change:stroke-dashoffset}
.journey-dots circle{fill:var(--paper);stroke:#878378;stroke-width:3;vector-effect:non-scaling-stroke;transition:fill .35s,stroke .35s,transform .35s;transform-box:fill-box;transform-origin:center}.journey-dots circle.active{fill:var(--orange);stroke:var(--ink);transform:scale(1.22)}
.journey-card{position:absolute;z-index:2;left:var(--x);top:var(--y);width:clamp(340px,29.58vw,560px);min-height:250px;padding:2vw;border:1px solid #ffffff55;border-radius:.83vw;background:#dfdecedd;backdrop-filter:blur(14px);box-shadow:0 1.2vw 3vw #0000000b;opacity:0;transform:translateY(10%) scale(.6);transition:opacity 1.05s cubic-bezier(.16,.9,.3,1),transform 1.05s cubic-bezier(.16,.9,.3,1)}
.journey-card.visible{opacity:1;transform:none}
.journey-card small{color:var(--orange);font-family:Ppneuemontreal,Arial,sans-serif;font-size:clamp(30px,3.3vw,64px);font-weight:700;line-height:1}
.journey-card h3{margin:.9vw 0 .5vw;font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(22px,1.67vw,34px);font-weight:500;line-height:1.05}
.journey-card p{max-width:90%;margin:0;opacity:.72;font-size:clamp(13px,1.05vw,20px);line-height:1.35}
.journey-card footer{display:flex;justify-content:space-between;margin-top:2vw;padding-top:.75vw;border-top:1px solid #00000022;font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(9px,.68vw,13px);text-transform:uppercase}.journey-card footer b{font-weight:500;opacity:.5}

.work-scroll{position:relative;background:#111;color:#fff}
.work-viewport{position:sticky;top:0;height:100vh;min-height:640px;overflow:hidden;background:linear-gradient(#050505,#222 48%)}
.work-heading{position:absolute;z-index:1;left:1.39vw;top:7vh;width:38vw;opacity:calc(1 - var(--work-p)*4);transform:translateY(calc(var(--work-p)*-10vh));pointer-events:none}
.work-heading .label{background:var(--orange)}
.work-heading h2{margin:1.6vw 0;font-size:clamp(56px,5.7vw,106px)}
.work-heading>p:last-child{max-width:29vw;margin:0;opacity:.75;font-size:clamp(13px,1vw,19px)}
.work-rail{display:flex;align-items:center;gap:2.08vw;width:max-content;height:100%;padding-left:40vw;padding-right:3vw;will-change:transform}
.work-card{position:relative;flex:0 0 clamp(350px,27vw,480px);width:clamp(350px,27vw,480px);height:min(74vh,680px);border-radius:.83vw;background:#080808;overflow:hidden;opacity:.48;transform:scale(.965);transition:opacity .42s ease,transform .42s ease}
.work-card.is-active{opacity:1;transform:scale(1)}
.work-card-link{color:#fff;text-decoration:none;cursor:pointer}
.work-card-link::after{content:"VIEW PROJECT \2197";position:absolute;z-index:4;right:1.25vw;top:1.25vw;padding:.45vw .7vw;border:1px solid #ffffff55;border-radius:999px;background:#0009;color:#fff;font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(9px,.62vw,12px);font-weight:700;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .4s cubic-bezier(.16,.9,.3,1)}
.work-card-link:hover::after,.work-card-link:focus-visible::after{opacity:1;transform:none}
.media{position:absolute;inset:0;width:100%;height:100%;background:#090909}
.media img,.media video{width:100%;height:100%;object-fit:cover;object-position:center}
.work-card:nth-child(2) .media img{object-fit:contain;background:#090909}.work-card:nth-child(7) .media img{object-fit:cover;object-position:center}
.work-meta{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:1.25vw 1.25vw 1.55vw;background:linear-gradient(#0008,#0000 40%,#000c)}
.work-meta>span{position:absolute;left:1.25vw;top:1.25vw;padding:.2vw .7vw;border:1px solid #ffffff45;border-radius:99px;background:#000b;font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(11px,.8vw,16px)}
.work-meta h3{margin:0;font-family:Ppneuemontreal,Arial,sans-serif;font-size:clamp(30px,2.15vw,42px);font-weight:700;line-height:.96;letter-spacing:-.04em}
.work-meta p{margin:.6vw 0 0;font-size:clamp(13px,1.05vw,20px);line-height:1.2}
.work-progress{position:absolute;z-index:5;left:1.39vw;right:1.39vw;bottom:1.1vw;height:2px;background:#ffffff2a}.work-progress i{display:block;width:100%;height:100%;background:var(--orange);transform:scaleX(var(--work-p));transform-origin:left}

.services{padding:12vw 1.39vw;background:var(--paper)}
.services h2{font-size:clamp(68px,8vw,150px)}
.services ol{list-style:none;margin:7vw 0 0;padding:0;border-top:1px solid #0003}
.services li{display:grid;grid-template-columns:5vw 1fr auto;align-items:center;padding:1.25vw 0;border-bottom:1px solid #0003;font-family:Ppneuemontreal,Arial,sans-serif;font-size:clamp(32px,4.4vw,82px);font-weight:700;line-height:.95;letter-spacing:-.05em}.services li span,.services li b{font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(9px,.72vw,14px);letter-spacing:0}
.studio{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:var(--orange);color:#fff}.studio-person{overflow:hidden;background:var(--cream)}.studio-person img{height:100%;object-fit:contain;object-position:center bottom}.studio>div:last-child{display:flex;flex-direction:column;justify-content:center;padding:5vw 3vw}.studio h2{margin:2vw 0;font-family:Ppneuemontreal,Arial,sans-serif;font-size:clamp(50px,5.8vw,108px);line-height:.84;letter-spacing:-.06em}
.contact{display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;padding:10vw 1.39vw 2vw;background:var(--paper)}.contact h2{font-size:clamp(68px,8.4vw,160px)}.contact footer{display:flex;gap:2vw;padding-top:1.1vw;border-top:1px solid #0003;font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(9px,.7vw,13px);font-weight:700;text-transform:uppercase}.contact footer a{margin-left:auto}
.reveal{opacity:0;transform:translateY(44px);transition:opacity .85s ease,transform .85s cubic-bezier(.16,.9,.3,1)}.reveal.visible{opacity:1;transform:none}.reveal.sp-text-ready{opacity:1;transform:none;transition:none}
.sp-line-mask{overflow:clip}

@media(max-height:790px) and (min-width:901px){.sidebar{gap:.45vw}.side-top{padding:.75vw}.side-top p{margin:.75vw 0 0}.side-stats{min-height:5.5vw;padding:.65vw}.side-menu{padding:.65vw}.side-menu nav{gap:.28vw}.side-menu a{padding:.25vw .45vw}.side-clients{padding:.55vw .35vw}.side-cta{min-height:2.7vw}}
@media(max-width:767px){
  body{font-size:16px}.hero-track{height:220vh}.hero-stage{min-height:650px}.hero-word{left:2vw;right:2vw;top:7vh;font-size:40vw}.hero-person{width:140vw;height:80vh}.hero-nav{top:38%;font-size:9px}.hero-nav div:last-child{display:none}.hero-title{bottom:8%;width:88%}.hero-title h1{font-size:54px}.hero-buttons{gap:10px;margin-top:18px}.hero-buttons a{min-width:125px;padding:11px 18px;border-radius:8px}.hero-stat,.hero-traits,.hero-copy{display:none}
  .sidebar{position:fixed;left:0;right:0;top:0;width:100%;height:58px;padding:8px 12px;background:#161616;transform:translateY(calc((1 - var(--side-p))*-60px));display:block}.side-top,.side-stats,.side-clients,.side-email,.side-cta{display:none}.side-menu{height:42px;min-height:0;padding:0;border:0;background:transparent;opacity:1!important;transform:none!important}.side-menu nav{height:100%;flex-direction:row;align-items:center;gap:8px;overflow:auto}.side-menu a{flex:none;padding:7px 9px;font-size:10px}.side-menu a:nth-child(n+5){display:none}
  .experience{margin-top:-70vh}.page{margin-left:0}.about{min-height:auto;padding:25vh 16px 80px}.section-intro{max-width:none}.section-intro h2,.work-heading h2,.services h2,.contact h2{font-size:56px}.section-lead{max-width:100%}.journey{height:auto;margin-top:70px;padding-left:26px}.journey-line{left:0;width:20px;height:100%}.journey-card{position:relative;left:auto!important;top:auto!important;width:100%;min-height:0;margin-bottom:24px;padding:24px;border-radius:12px}.journey-card small{font-size:42px}.journey-card h3{font-size:26px}.journey-card p{max-width:none}.journey-card footer{margin-top:24px;padding-top:12px}.journey-path-base,.journey-path-progress{stroke-width:4}
  .work-heading{left:16px;top:70px;width:85vw}.work-heading>p:last-child{max-width:80vw}.work-rail{gap:16px;padding-left:72vw;padding-right:16px}.work-card{flex-basis:82vw;width:82vw;height:72vh;border-radius:12px}.work-meta{padding:20px}.work-meta>span{left:20px;top:20px;padding:4px 12px}.work-meta h3{font-size:34px}.work-progress{left:16px;right:16px;bottom:14px}
  .services,.contact{padding:100px 16px 24px}.services li{grid-template-columns:40px 1fr auto;padding:18px 0;font-size:34px}.studio{grid-template-columns:1fr}.studio-person{height:60vh}.studio>div:last-child{padding:70px 16px}.contact footer{gap:12px;flex-wrap:wrap}.contact footer a{width:100%;margin-left:0}
}

/* What You Get — source-matched document flow. The reference is not sticky:
   its heading, label and copy move together with the page while chips reveal
   at viewport thresholds measured from the copy block. */
.overview{position:relative;height:auto;min-height:100vh;padding:15vw 6.39vw 15vw 21vw;overflow:hidden;background:var(--paper)}
.overview-sticky{position:relative;top:auto;height:auto;min-height:0;overflow:visible;display:flex;flex-flow:column;align-items:center;text-align:center;background:radial-gradient(circle at 52% 58%,#f5f0e5 0,var(--paper) 58%)}
.overview-title{position:static;z-index:1;margin:0 0 2.78vw;font-family:Ppneuemontreal,Arial,sans-serif;font-size:clamp(10rem,12.5vw,200px);font-weight:700;line-height:.9;letter-spacing:-.25vw;text-align:center;transform:none;white-space:nowrap;opacity:1}
.overview-label{position:relative;z-index:6;left:auto;top:auto;width:max-content;min-width:0;margin:0 0 2.08vw;padding:.14vw .45vw;border:2px solid #8d897f;border-radius:999px;background:transparent;color:#111;font-size:clamp(15px,1vw,20px);line-height:1;text-align:center;transform:none;transform-origin:center;overflow:hidden;white-space:nowrap}
.overview-copy,.overview-copy-mobile{position:relative;z-index:3;left:auto;top:auto;width:clamp(760px,62.24vw,1120px);margin:0;font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(3.5rem,4.72vw,5.5rem);font-weight:700;line-height:1;letter-spacing:-.09vw;text-align:center;opacity:1;-webkit-mask-image:none;mask-image:none;filter:none;transform:none;pointer-events:none}
.overview-copy-mobile{display:none}
.overview-copy .cap-slot,.overview-copy-mobile .cap-slot{display:inline-block;height:.82em;vertical-align:-.06em}
.overview-copy .cap-slot[data-anchor="w"]{width:5.51vw}.overview-copy .cap-slot[data-anchor="seo"]{width:7.34vw}.overview-copy .cap-slot[data-anchor="integration"]{width:.92vw}.overview-copy .cap-slot[data-anchor="motion"]{width:6.42vw}.overview-copy .cap-slot[data-anchor="performance"]{width:.92vw}
.overview-card,.overview-card:not(.visible){position:absolute!important;inset:0 auto auto 0!important;opacity:0;transform:translate3d(var(--cap-x),var(--cap-y),0) scale(calc(.5 + var(--show)*.5));pointer-events:none}
.overview-card.visible{pointer-events:auto;background:#e4e0ce!important}

@media(max-width:767px){
 .overview{height:auto;min-height:0;padding:clamp(4.27rem,21.33vw,10.23rem) clamp(1.07rem,4.27vw,2.56rem)}
 .overview-sticky{position:relative;height:auto;min-height:0;padding:0;overflow:visible}
 .overview-title{position:static;margin:0 0 clamp(2.03rem,10.13vw,4.86rem);font-size:clamp(3.58rem,17.87vw,8.56rem);line-height:.9;transform:none;white-space:normal;opacity:1}
 .overview-label{position:relative;left:auto;top:auto;width:max-content;min-width:0;margin:0 0 clamp(.96rem,4.8vw,2.3rem);padding:clamp(.16rem,.8vw,.38rem) clamp(.27rem,1.33vw,.64rem);font-size:clamp(.75rem,3.73vw,1.79rem);opacity:1;transform:none}
 .overview-copy{display:none}
 .overview-copy-mobile{display:block;position:relative;left:auto;top:auto;width:100%;font-size:clamp(1.65rem,8.27vw,3.96rem);line-height:1.2;letter-spacing:clamp(-.082rem,-.17vw,-.034rem);text-align:center;opacity:1;transform:none}
 .overview-copy-mobile .cap-slot,.overview-copy-mobile .cap-slot[data-anchor]{width:74px!important;height:56px;margin:0 3px;vertical-align:-.34em}
 .overview-card,.overview-card:not(.visible){width:74px;margin:0;padding:10px;border-radius:9px;opacity:0!important;transform:translate3d(var(--cap-x),var(--cap-y),0) scale(calc(.5 + var(--show)*.5))!important;transition:none!important}
 .overview-card.visible{opacity:1!important}
}
@media(max-width:479px){.overview-copy-mobile{margin-left:-6%;width:106%}}

/* V7.5 cascade lock: reference portrait layout must win over legacy mobile rules. */
@media(max-width:767px){
 body .sidebar{z-index:120;left:16px;right:16px;top:14px;width:auto;height:auto;padding:0;background:transparent;transform:none!important}
 body .sidebar.mobile-open{bottom:14px;display:flex;height:auto;flex-direction:column;overflow:hidden}
 body .sidebar .side-top{display:block!important;flex:none;padding:9px 10px;border:1px solid #ffffffb0;border-radius:11px;background:#e4e0cef2}
 body .sidebar .side-social{display:none!important}
 body .sidebar .mobile-menu-toggle{display:grid;width:38px;height:36px;margin-left:auto;padding:8px}
 body .sidebar .side-cta{display:flex!important;position:absolute;z-index:13;right:48px;top:5px;align-items:center;justify-content:center;width:clamp(112px,24vw,154px);height:44px;min-height:0;padding:0 12px;border-radius:8px;background:var(--orange);color:#fff;font-size:clamp(11px,2.1vw,14px);opacity:1!important;transform:none!important}
 body .sidebar .side-stats,body .sidebar .side-clients{display:none!important}
 body .sidebar .side-menu{display:none!important;width:100%;height:auto;min-height:0;margin-top:8px;padding:20px 14px}
 body .sidebar.mobile-open .side-menu{display:block!important;flex:1;overflow:auto}
 body .sidebar.mobile-open .side-email{display:flex!important;position:relative;flex:none;width:100%;height:52px;min-height:0;margin-top:8px;padding:9px;opacity:1!important;transform:none!important}

 body .hero-track,body .hero-stage{height:auto;min-height:980px}
 body .hero-word{left:12px;right:12px;top:86px;font-size:29vw;line-height:.78}
 body .hero-person{left:50%;top:-20vw;bottom:auto;width:185vw;height:100%;margin:0;object-fit:contain;object-position:center top;transform:translateX(-50%)!important}
 body .hero-traits{display:grid!important;left:20px;right:auto;top:29%;bottom:auto;gap:7px;padding:14px 15px;opacity:1!important;transform:none!important;filter:none!important}
 body .hero-copy-right{display:none!important}
 body .hero-stat-projects{left:54%;top:68%}body .hero-stat-years{left:auto;right:20px;top:38%}
 body .hero-title{left:50%;bottom:24px;width:78%;transform:translateX(-50%)!important}
 body .hero-title h1{font-size:clamp(48px,10.8vw,68px)}

 body .work-scroll{height:auto!important}
 body .work-viewport{position:relative;top:auto;height:auto;min-height:0;padding:110px 0 64px;overflow:visible}
 body .work-heading{position:relative;left:auto;top:auto;width:auto;margin:0 20px 48px;opacity:1!important;transform:none!important}
 body .work-rail{display:flex;flex-direction:column;align-items:stretch;gap:18px;width:auto;height:auto;padding:0 20px;transform:none!important}
 body .work-card{flex:0 0 auto;width:100%;height:auto;aspect-ratio:4/5;border-radius:12px;opacity:1;transform:none}
 body .work-progress{display:none}
}
@media(max-width:479px){
 body .sidebar{left:12px;right:12px;top:10px}body .sidebar.mobile-open{bottom:10px}
 body .sidebar .side-cta{right:46px;width:112px;height:42px}
 body .hero-track,body .hero-stage{min-height:900px}body .hero-person{top:-20vw;width:190vw}
 body .hero-traits{left:14px;top:30%;padding:11px}body .hero-stat-projects{left:49%;top:66%}body .hero-stat-years{right:14px;top:40%}
 body .hero-title{width:86%}body .hero-title h1{font-size:clamp(44px,13vw,58px)}
 body .work-heading{margin-left:16px;margin-right:16px}body .work-rail{padding-left:16px;padding-right:16px}
}

/* V7.4 final portrait-tablet / phone composition. Keep this block last. */
body.mobile-nav-open{overflow:hidden}
@media(max-width:767px){
 .sidebar{z-index:120;left:16px;right:16px;top:14px;width:auto;height:auto;padding:0;color:#111;background:transparent;transform:none!important}
 .sidebar.mobile-open{bottom:14px;display:flex;height:auto;flex-direction:column;overflow:hidden}
 .side-top{display:block!important;flex:none;padding:9px 10px;border:1px solid #ffffffb0;border-radius:11px;background:#e4e0cef2;box-shadow:0 10px 28px #0000000b}
 .side-topbar{min-height:36px;gap:8px}.side-top p{display:none}
 .side-logo{z-index:12;width:clamp(100px,21vw,135px);min-width:0}.side-logo img{max-height:36px}
 .side-social{display:none!important}
 .mobile-menu-toggle{z-index:14;display:grid;width:38px;height:36px;margin:0 0 0 auto;padding:8px;border-radius:8px}
 .side-cta{display:flex!important;position:absolute;z-index:13;right:48px;top:5px;align-items:center;justify-content:center;width:clamp(112px,24vw,154px);height:44px;min-height:0;padding:0 12px;border:1px solid #ffffff80;border-radius:8px;background:var(--orange);color:#fff;font-size:clamp(11px,2.1vw,14px);opacity:1!important;transform:none!important}
 .side-cta .button-mask{width:100%}
 .side-stats,.side-clients{display:none!important}
 .side-menu{display:none!important;width:100%;height:auto;min-height:0;margin-top:8px;padding:20px 14px;border:1px solid #ffffffb0;border-radius:11px;background:#e4e0cef7;opacity:1!important;transform:none!important}
 .sidebar.mobile-open .side-menu{display:block!important;flex:1;overflow:auto}
 .side-menu nav{height:auto;display:flex;flex-direction:column;align-items:flex-start;gap:8px;overflow:visible}
 .side-menu a,.side-menu a:nth-child(n+5){display:flex;flex:none;padding:8px 10px;border-radius:7px;background:#f4f1e8;color:#111;font-size:clamp(13px,2.6vw,17px)}
 .side-menu .menu-icon{width:14px;height:14px}
 .side-email{display:none!important}
 .sidebar.mobile-open .side-email{display:flex!important;position:relative;flex:none;width:100%;height:52px;min-height:0;margin-top:8px;padding:9px;border:1px solid #ffffffb0;border-radius:11px;background:#e4e0cef7;opacity:1!important;transform:none!important}
 .sidebar.mobile-open .side-email>span{opacity:1!important}
 .sidebar.mobile-open .copy-control{right:18px;opacity:1!important}

 .hero-track,.hero-stage{height:auto;min-height:980px}
 .hero-stage{overflow:hidden}
 .hero-word{left:12px;right:12px;top:86px;font-size:29vw;line-height:.78}
 .hero-person{left:50%;top:-20vw;bottom:auto;width:185vw;height:100%;margin:0;object-fit:contain;object-position:center top;transform:translateX(-50%)!important}
 .hero-traits{display:grid!important;left:20px;right:auto;top:29%;bottom:auto;gap:7px;padding:14px 15px;border-radius:9px;font-size:clamp(11px,2.25vw,14px);opacity:1!important;transform:none!important;filter:none!important}
 .hero-stat{display:flex!important;bottom:auto;padding:10px 12px;border-radius:9px;font-size:11px;opacity:1!important;transform:none!important;filter:none!important}
 .hero-stat-projects{left:54%;top:68%}.hero-stat-years{left:auto;right:20px;top:38%}
 .hero-title{left:50%;bottom:24px;width:78%;transform:translateX(-50%)!important}
 .hero-title h1{font-size:clamp(48px,10.8vw,68px)}
 .hero-buttons{gap:8px;margin-top:16px}.hero-buttons a{padding:12px 10px;font-size:12px}
 .hero-copy-right{display:none!important}

 .about{padding-top:120px}.section-intro h2{font-size:clamp(50px,11.5vw,74px);line-height:.9}.section-lead{font-size:clamp(16px,3vw,20px)}
 .journey{margin-top:58px}.journey-card{margin-bottom:18px}.journey-card>p{font-size:clamp(14px,2.7vw,18px)}

 .work-scroll{height:auto!important}
 .work-viewport{position:relative;top:auto;height:auto;min-height:0;padding:110px 0 64px;overflow:visible;background:linear-gradient(#050505,#222)}
 .work-heading{position:relative;left:auto;top:auto;width:auto;margin:0 20px 48px;opacity:1!important;transform:none!important}
 .work-heading h2{font-size:clamp(52px,12vw,76px)}.work-heading>p:last-child{max-width:560px;font-size:clamp(15px,2.8vw,19px)}
 .work-rail{display:flex;flex-direction:column;align-items:stretch;gap:18px;width:auto;height:auto;padding:0 20px;transform:none!important}
 .work-card{flex:0 0 auto;width:100%;height:auto;aspect-ratio:4/5;border-radius:12px;opacity:1;transform:none}
 .work-progress{display:none}
 .work-meta{padding:22px}.work-meta>span{left:22px;top:22px}.work-meta h3{font-size:clamp(32px,6vw,42px)}
}
@media(max-width:479px){
 .sidebar{left:12px;right:12px;top:10px}.sidebar.mobile-open{bottom:10px}
 .side-logo{width:96px}.side-cta{right:46px;width:112px;height:42px}.mobile-menu-toggle{width:36px;height:34px}
 .hero-track,.hero-stage{min-height:900px}.hero-person{top:-20vw;width:190vw}.hero-traits{left:14px;top:30%;padding:11px}.hero-stat-projects{left:49%;top:66%}.hero-stat-years{right:14px;top:40%}
 .hero-title{width:86%}.hero-title h1{font-size:clamp(44px,13vw,58px)}
 .work-heading{margin-left:16px;margin-right:16px}.work-rail{padding-left:16px;padding-right:16px}
}

/* Reference mobile/tablet composition (portrait phones through small tablets). */
body.mobile-nav-open{overflow:hidden}
@media(max-width:767px){
  .sidebar{z-index:120;left:16px;right:16px;top:14px;width:auto;height:auto;padding:0;color:#111;background:transparent;transform:none!important}
  .sidebar.mobile-open{bottom:14px;display:flex;height:auto;flex-direction:column;overflow:hidden}
  .side-top{display:block!important;flex:none;padding:9px 10px;border:1px solid #ffffffb0;border-radius:11px;background:#e4e0cef2;box-shadow:0 10px 28px #0000000b}
  .side-topbar{min-height:36px;gap:8px}.side-top p{display:none}
  .side-logo{z-index:12;width:clamp(100px,21vw,135px);min-width:0}.side-logo img{max-height:36px}
  .side-social{display:none!important}
  .mobile-menu-toggle{z-index:14;display:grid;width:38px;height:36px;margin:0 0 0 auto;padding:8px;border-radius:8px}
  .side-cta{display:flex!important;position:absolute;z-index:13;right:48px;top:5px;align-items:center;justify-content:center;width:clamp(112px,24vw,154px);height:44px;min-height:0;padding:0 12px;border:1px solid #ffffff80;border-radius:8px;background:var(--orange);color:#fff;font-size:clamp(11px,2.1vw,14px);opacity:1!important;transform:none!important}
  .side-cta .button-mask{width:100%}
  .side-stats,.side-clients{display:none!important}
  .side-menu{display:none!important;width:100%;height:auto;min-height:0;margin-top:8px;padding:20px 14px;border:1px solid #ffffffb0;border-radius:11px;background:#e4e0cef7;opacity:1!important;transform:none!important}
  .sidebar.mobile-open .side-menu{display:block!important;flex:1;overflow:auto}
  .side-menu nav{height:auto;display:flex;flex-direction:column;align-items:flex-start;gap:8px;overflow:visible}
  .side-menu a,.side-menu a:nth-child(n+5){display:flex;flex:none;padding:8px 10px;border-radius:7px;background:#f4f1e8;color:#111;font-size:clamp(13px,2.6vw,17px)}
  .side-menu .menu-icon{width:14px;height:14px}
  .side-email{display:none!important}
  .sidebar.mobile-open .side-email{display:flex!important;position:relative;flex:none;width:100%;height:52px;min-height:0;margin-top:8px;padding:9px;border:1px solid #ffffffb0;border-radius:11px;background:#e4e0cef7;opacity:1!important;transform:none!important}
  .sidebar.mobile-open .side-email>span{opacity:1!important}
  .sidebar.mobile-open .copy-control{right:18px;opacity:1!important}

  .hero-track,.hero-stage{height:auto;min-height:980px}
  .hero-stage{overflow:hidden}
  .hero-word{left:12px;right:12px;top:86px;font-size:29vw;line-height:.78}
  .hero-person{left:50%;top:-20vw;bottom:auto;width:185vw;height:100%;margin:0;object-fit:contain;object-position:center top;transform:translateX(-50%)!important}
  .hero-traits{display:grid!important;left:20px;right:auto;top:29%;bottom:auto;gap:7px;padding:14px 15px;border-radius:9px;font-size:clamp(11px,2.25vw,14px);opacity:1!important;transform:none!important;filter:none!important}
  .hero-stat{display:flex!important;bottom:auto;padding:10px 12px;border-radius:9px;font-size:11px;opacity:1!important;transform:none!important;filter:none!important}
  .hero-stat-projects{left:54%;top:68%}.hero-stat-years{left:auto;right:20px;top:38%}
  .hero-title{left:50%;bottom:24px;width:78%;transform:translateX(-50%)!important}
  .hero-title h1{font-size:clamp(48px,10.8vw,68px)}
  .hero-buttons{gap:8px;margin-top:16px}.hero-buttons a{padding:12px 10px;font-size:12px}
  .hero-copy-right{display:none!important}

  .about{padding-top:120px}.section-intro h2{font-size:clamp(50px,11.5vw,74px);line-height:.9}.section-lead{font-size:clamp(16px,3vw,20px)}
  .journey{margin-top:58px}.journey-card{margin-bottom:18px}.journey-card>p{font-size:clamp(14px,2.7vw,18px)}

  .work-scroll{height:auto!important}
  .work-viewport{position:relative;top:auto;height:auto;min-height:0;padding:110px 0 64px;overflow:visible;background:linear-gradient(#050505,#222)}
  .work-heading{position:relative;left:auto;top:auto;width:auto;margin:0 20px 48px;opacity:1!important;transform:none!important}
  .work-heading h2{font-size:clamp(52px,12vw,76px)}.work-heading>p:last-child{max-width:560px;font-size:clamp(15px,2.8vw,19px)}
  .work-rail{display:flex;flex-direction:column;align-items:stretch;gap:18px;width:auto;height:auto;padding:0 20px;transform:none!important}
  .work-card{flex:0 0 auto;width:100%;height:auto;aspect-ratio:4/5;border-radius:12px;opacity:1;transform:none}
  .work-progress{display:none}
  .work-meta{padding:22px}.work-meta>span{left:22px;top:22px}.work-meta h3{font-size:clamp(32px,6vw,42px)}
}
@media(max-width:479px){
  .sidebar{left:12px;right:12px;top:10px}.sidebar.mobile-open{bottom:10px}
  .side-logo{width:96px}.side-cta{right:46px;width:112px;height:42px}.mobile-menu-toggle{width:36px;height:34px}
  .hero-track,.hero-stage{min-height:900px}.hero-person{top:-20vw;width:190vw}.hero-traits{left:14px;top:30%;padding:11px}.hero-stat-projects{left:49%;top:66%}.hero-stat-years{right:14px;top:40%}
  .hero-title{width:86%}.hero-title h1{font-size:clamp(44px,13vw,58px)}
  .work-heading{margin-left:16px;margin-right:16px}.work-rail{padding-left:16px;padding-right:16px}
}

/* V7.2 hero/menu layering, reference ticker, clipboard and journey cards. */
.hero-title{z-index:20}
.hero-buttons{position:relative;z-index:30;isolation:isolate}
.hero-buttons a{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;overflow:hidden}
[data-button-hover] .word+.word,.sp-line .word+.word{margin-left:.22em}
.hero-stat-years{width:clamp(112px,7.8vw,150px);flex-direction:column;justify-content:center;gap:.35vw;padding:1.15vw .9vw;text-align:center}
.hero-stat-years span{line-height:1.05}
.morph-ghost{box-sizing:border-box!important;will-change:transform,opacity!important}
@media(min-width:768px){
 .sidebar .side-panel{overflow:visible}
 .sidebar .side-panel::before{z-index:0}
 .sidebar .side-panel>*{position:relative;z-index:2}
 .side-menu nav{z-index:3}
 .side-menu a{position:relative;z-index:4}
 .side-email span{opacity:var(--show)}
}

.menu-icon{display:block;flex:none;width:1vw;height:1vw;min-width:12px;min-height:12px;overflow:visible;fill:currentColor}
.menu-icon-service{width:.68vw;min-width:8px;margin-left:.16vw;margin-right:.16vw}
.side-stats{height:8.25vw;min-height:124px;padding:.62vw 1.05vw}
.side-stats>div{min-width:0;gap:.08vw}
.side-stats img{width:2.55vw;height:1.8vw;margin:0 0 .08vw;object-fit:contain}
.side-stats b{font-size:clamp(32px,2.45vw,47px);line-height:.78}
.side-stats span{margin-top:.22vw;line-height:1.02}

.side-clients{display:block;height:3.47vw;min-height:48px;padding:0;overflow:hidden!important;white-space:nowrap}
.side-marquee-track{display:flex!important;align-items:center;width:max-content;height:100%;opacity:var(--show)!important;animation:side-slogan-marquee 13s linear infinite;animation-play-state:running;will-change:transform}
.side-marquee-track>span{display:block;flex:none;padding-right:1.6vw;font-size:clamp(8px,.68vw,13px);letter-spacing:.02em}
@keyframes side-slogan-marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

.side-email{position:relative;height:3.47vw;min-height:48px;padding:.69vw;cursor:pointer;overflow:visible!important}
.side-email>span{display:flex;align-items:center;justify-content:center;height:100%;padding:.15vw 2vw .15vw .35vw;background:#c9c5b8;border:1px solid #0000000d;border-radius:.42vw;opacity:var(--show)!important}
.copy-control{position:absolute!important;z-index:5!important;right:1.15vw;top:50%;display:grid;place-items:center;width:.9vw;height:.9vw;min-width:13px;min-height:13px;padding:0!important;opacity:var(--show)!important;transform:translateY(-50%)!important;color:currentColor}
.copy-control svg{display:block;width:100%;height:100%;fill:currentColor}
.side-email .copy-tooltip{position:absolute;right:-.25vw;bottom:calc(100% + .72vw);width:max-content!important;min-width:max-content;height:auto!important;padding:.52vw .72vw!important;border:0!important;border-radius:.42vw;background:#f4f1e8!important;color:#111!important;font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(9px,.68vw,13px);font-weight:700;line-height:1;text-align:center;white-space:nowrap;text-transform:uppercase;opacity:0;transform:translateY(5px) scale(.96);transform-origin:right bottom;transition:opacity .25s,transform .25s;pointer-events:none}
.side-email .copy-tooltip::after{content:"";position:absolute;right:.7vw;top:100%;border:.35vw solid transparent;border-top-color:#f4f1e8}
.side-email:hover .copy-tooltip,.side-email:focus-visible .copy-tooltip,.side-email.is-copied .copy-tooltip{opacity:1;transform:none}
.side-email.is-copied>span::after{display:none}
/* Keep the entire email control visually continuous with the dark sidebar. */
.sidebar:not(.light-mode) .side-email::before{background:#111}
.sidebar:not(.light-mode) .side-email>span{border-color:#ffffff1f;background:#111;color:#fff}
.sidebar:not(.light-mode) .side-email .copy-control{color:#fff}


.journey-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-height:0;margin-bottom:.83vw;padding:2.08vw;background:#dfdececc;border:1px solid #fff3;border-radius:.83vw;backdrop-filter:blur(10px);box-shadow:none;transform-origin:50% 100%}
.journey-card small{margin-bottom:.42vw;color:var(--orange);font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(4rem,5.56vw,6.25rem);font-weight:700;line-height:1}
.journey-card h3{margin:0 0 .42vw;font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(1rem,1.67vw,2.25rem);font-weight:500;line-height:1.1}
.journey-card>p{max-width:100%;margin:0;font-size:clamp(.75rem,.97vw,1.5rem);line-height:1.35;opacity:.72}
.journey-card footer{display:flex;align-items:flex-end;justify-content:space-between;width:100%;margin-top:1.39vw;padding:0;border:0;text-transform:none}
.journey-author{display:flex;align-items:center;gap:.97vw;min-width:0}
.journey-author>img{flex:none;width:clamp(3rem,4.44vw,5rem);height:clamp(3rem,4.44vw,5rem);border-radius:50%;object-fit:cover;background:var(--orange)}
.journey-author>span{display:flex;flex-direction:column;min-width:0;color:#00000080;font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(.625rem,.83vw,1rem);line-height:1.3}
.journey-author strong{color:#111;font-weight:500}
.journey-author em{font-style:normal;white-space:nowrap}
.journey-read{flex:none;padding:.69vw 1.39vw;border:1px solid #36363626;border-radius:.83vw;background:#ebeada;color:#111;font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(.625rem,.97vw,1.5rem);font-weight:500;line-height:1;transition:background-color .3s,color .3s;overflow:hidden}
.journey-read:hover{background:var(--orange);color:#fff}
.journey-read .button-mask{display:block;min-width:4.3em}

.journey-modal[hidden]{display:none}
.journey-modal{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:24px}
.journey-modal-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000b;backdrop-filter:blur(12px)}
.journey-modal-card{position:relative;z-index:1;width:min(92vw,680px);padding:clamp(28px,4vw,64px);border:1px solid #ffffff55;border-radius:clamp(14px,1.4vw,26px);background:#dfdece;color:#111;box-shadow:0 30px 100px #0005}
.journey-modal-card small{color:var(--orange);font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(52px,7vw,110px);font-weight:700;line-height:1}
.journey-modal-card h3{margin:16px 0 12px;font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(28px,3vw,52px);line-height:1}
.journey-modal-card p{max-width:54ch;margin:0 0 12px;line-height:1.45}
.journey-modal-extra{opacity:.65}
.journey-modal-close{position:absolute;right:18px;top:18px;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:10px;background:var(--orange);color:#fff;font-size:28px;line-height:1}
body.modal-open{overflow:hidden}

@media(max-width:991px) and (min-width:768px){
 .hero-stat-years{left:12%;width:112px;padding:12px 10px}
 .hero-stat-projects{left:10%}
 .hero-title{width:min(520px,46vw)}
}
@media(max-width:767px){
 .hero-title{z-index:20}
 .hero-buttons{z-index:30;width:100%}
 .hero-buttons a{flex:1;min-width:0}
 .journey-card{padding:24px;border-radius:12px}
 .journey-card small{margin-bottom:8px;font-size:42px}
 .journey-card h3{margin-bottom:8px;font-size:26px}
 .journey-card footer{margin-top:24px;padding:0}
 .journey-author{gap:10px}.journey-avatar-stack img{width:42px;height:42px}.journey-avatar-stack img+img{margin-left:-12px}.journey-author>span{font-size:11px}
 .journey-read{padding:10px 14px;border-radius:8px;font-size:12px}
}
/* Post-portfolio reconstruction */
.overview{position:relative;height:280vh;background:var(--paper)}
.overview-sticky{position:sticky;top:0;height:100vh;min-height:650px;overflow:hidden;background:radial-gradient(circle at 50% 58%,#f4f0e7 0,var(--paper) 55%)}
.overview-label{position:absolute;z-index:3;left:1.39vw;top:4vh;opacity:calc(var(--overview-p)*8);transform:scaleX(calc(.2 + var(--overview-p)*.8));transform-origin:left}
.overview-title{position:absolute;z-index:1;left:50%;top:48%;margin:0;font-family:Ppneuemontreal,Arial,sans-serif;font-size:clamp(78px,8.2vw,158px);font-weight:700;line-height:.78;letter-spacing:-.07em;text-align:center;transform:translate(-50%,calc(var(--overview-p)*-36vh)) scale(calc(1 - var(--overview-p)*.18));white-space:nowrap}
.overview-copy{position:absolute;z-index:2;left:50%;top:50%;width:min(63vw,1120px);margin:0;font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(50px,4.72vw,90px);font-weight:700;line-height:.92;letter-spacing:-.045em;text-align:center;opacity:calc(var(--overview-p)*6 - 1);transform:translate(-50%,calc((1 - var(--overview-p))*14vh));transition:opacity .08s linear}
.overview-copy em{position:relative;font-style:normal}.overview-copy em::after{content:"";position:absolute;left:0;right:0;bottom:.03em;height:.12em;background:var(--orange);transform:scaleX(calc(var(--overview-p)));transform-origin:left}
.overview-card{--show:0;position:absolute;z-index:5;width:clamp(180px,15vw,288px);padding:1vw;border:1px solid #ffffff80;border-radius:.63vw;background:#dedac9e8;box-shadow:0 1vw 3vw #00000012;backdrop-filter:blur(13px);opacity:var(--show);transform:scale(calc(.5 + var(--show)*.5));transition:box-shadow .3s,width .35s;transform-origin:center}
.overview-card:hover{width:clamp(260px,20vw,380px);box-shadow:0 1.3vw 4vw #0002}
.overview-card b{color:var(--orange);font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(9px,.7vw,13px)}
.overview-card h3{margin:2.4vw 0 .4vw;font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(17px,1.35vw,26px);font-weight:500;line-height:1}
.overview-card p{max-height:0;margin:0;overflow:hidden;opacity:0;font-size:clamp(11px,.78vw,15px);line-height:1.35;transition:max-height .35s,opacity .35s}.overview-card:hover p{max-height:120px;opacity:.7}
.overview-card>span{position:absolute;right:.75vw;top:.7vw;display:grid;place-items:center;width:2.2vw;height:2.2vw;min-width:28px;min-height:28px;border-radius:50%;background:var(--orange);color:#fff;font-size:14px}
.ov-card-1{right:4.5%;top:12%}.ov-card-2{right:10%;bottom:13%}.ov-card-3{left:5%;top:28%}.ov-card-4{left:18%;bottom:11%}.ov-card-5{right:31%;top:19%}

.services-new{padding:15vw 1.39vw;background:var(--paper)}
.post-header{max-width:42vw}.post-header h2,.clients-heading h2,.faq-header h2{margin:1.8vw 0;font-family:Ppneuemontreal,Arial,sans-serif;font-size:clamp(62px,6.6vw,126px);font-weight:700;line-height:.82;letter-spacing:-.065em}.post-header>p:last-child{max-width:25vw;margin:0;line-height:1.35}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.9vw;margin-top:4.2vw;padding:.9vw 2.36vw .9vw .9vw;border-radius:.7vw;background:#dcd8c8}
.service-card-new{display:flex;flex-direction:column;min-height:680px;padding:1.4vw;border-radius:.65vw;background:#e6e2d3}
.service-card-new:nth-child(2){background:#efecdf}.service-card-new:nth-child(3){background:#dedaca}
.service-card-new header{display:flex;align-items:center;gap:.7vw;margin-bottom:2.7vw}.service-card-new header span{display:grid;place-items:center;width:2.2vw;height:2.2vw;border-radius:.45vw;background:var(--orange);color:#fff;font-size:12px}.service-card-new h3{margin:0;font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(21px,1.55vw,30px);font-weight:500}.service-card-new>strong{margin-bottom:2vw;font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(28px,2.3vw,44px);font-weight:500}.service-card-new>p{margin:0;opacity:.76;line-height:1.35}.service-card-new ul{display:grid;gap:.7vw;margin:2.7vw 0;padding:0;list-style:none}.service-card-new li{display:flex;gap:.6vw;line-height:1.3}.service-card-new li::before{content:"";flex:none;width:.7vw;height:.7vw;margin-top:.35em;border:.14vw solid var(--orange);border-radius:50%}.service-card-new footer{margin-top:auto;padding-top:1vw;border-top:1px solid #0002;font-size:clamp(11px,.75vw,15px);opacity:.64}
.service-card-new:nth-child(2).visible{transition-delay:.12s}.service-card-new:nth-child(3).visible{transition-delay:.24s}

.growth{padding:10vw 1.39vw;background:var(--paper)}.growth-column{width:min(58vw,1050px);margin:0 auto}.growth-title{margin:0 0 2vw;font-family:Ppneuemontreal,Arial,sans-serif;font-size:clamp(82px,7.64vw,147px);font-weight:700;line-height:.86;letter-spacing:-.065em}.growth-title span{display:block}.growth-title .muted{color:#b6b1a5}.growth-copy{max-width:26vw;margin:0;line-height:1.4}.chat-wrap{display:flex;align-items:flex-start;gap:1.4vw;margin-top:3.5vw}.chat-wrap>img{width:3.1vw;height:3.1vw;border-radius:50%;background:var(--cream);object-fit:cover;object-position:top}.chat-wrap>div{position:relative;display:grid;grid-template-columns:auto auto;gap:.55vw}.chat-wrap p,.chat-wrap a{margin:0;padding:.65vw 1vw;border-radius:.55vw;background:#dfdbcc;font-family:"Tr 3 A",Arial,sans-serif}.chat-wrap a{background:var(--orange);color:#fff;font-weight:700}.chat-wrap i{grid-column:1;display:flex;gap:.2vw;width:max-content;padding:.45vw .7vw;border-radius:.5vw;background:#dfdbcc}.chat-wrap i span{width:.35vw;height:.35vw;border-radius:50%;background:#8e8a80;animation:typing 1s infinite alternate}.chat-wrap i span:nth-child(2){animation-delay:.2s}.chat-wrap i span:nth-child(3){animation-delay:.4s}@keyframes typing{to{transform:translateY(-.2vw);background:var(--orange)}}

.clients-scroll{position:relative;background:var(--paper)}.clients-viewport{position:sticky;top:0;height:100vh;min-height:650px;overflow:hidden;background:var(--paper)}.clients-heading{position:absolute;z-index:2;left:1.39vw;top:7vh}.clients-heading h2{font-size:clamp(58px,5.5vw,106px)}.clients-rail{position:absolute;left:0;top:36vh;display:flex;gap:.9vw;width:max-content;padding-left:1.39vw;padding-right:2vw;will-change:transform}.client-card{display:flex;flex:0 0 clamp(430px,31vw,595px);flex-direction:column;height:50vh;min-height:390px;padding:1.4vw;border:1px solid #00000018;border-radius:.65vw;background:#dfdbcc}.client-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:1vw}.client-card h3{max-width:72%;margin:0;font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(23px,1.7vw,33px);font-weight:500;line-height:1}.client-card header b{display:grid;place-items:center;width:2.2vw;height:2.2vw;border-radius:.45vw;background:var(--orange);color:#fff;font-size:1.5vw}.client-card>p{margin:2.2vw 0;line-height:1.45}.client-card footer{display:flex;align-items:center;gap:.7vw;margin-top:auto}.client-card footer i{display:grid;place-items:center;width:2.5vw;height:2.5vw;border-radius:50%;background:var(--ink);color:#fff;font-family:"Tr 3 A",Arial,sans-serif;font-size:.65vw;font-style:normal}.client-card footer span{display:flex;flex-direction:column}.client-card footer strong{font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(12px,.82vw,16px);font-weight:500}.client-card footer small{opacity:.55}.clients-progress{position:absolute;left:1.39vw;right:1.39vw;bottom:1.2vw;height:3px;background:#0002}.clients-progress i{display:block;width:100%;height:100%;background:var(--orange);transform:scaleX(var(--clients-p));transform-origin:left}

.brand-bridge{display:flex;align-items:center;min-height:68vh;padding:4vw 1.39vw;background:var(--paper);overflow:hidden}.bridge-word{display:flex;align-items:center;width:100%;font-family:Ppneuemontreal,Arial,sans-serif;font-size:clamp(230px,25.5vw,490px);font-weight:700;line-height:.7;letter-spacing:-.105em;white-space:nowrap}.bridge-word span{color:var(--orange)}.bridge-word .image-letter{background:url('../final-root/preview/media/david-beckham.webp') center/cover;-webkit-background-clip:text;background-clip:text;color:transparent}

.faq-section{min-height:110vh;padding:7vw 1.39vw 10vw;background:var(--paper)}.faq-header h2{font-size:clamp(62px,5.7vw,110px)}.faq-grid{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:.83vw;margin-top:5vw}.faq-column{display:flex;flex-direction:column;gap:.83vw;min-width:0}.faq-item{align-self:start;width:100%;border-radius:.55vw;background:#dedaca;overflow:hidden}.faq-item button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:1.25vw 1.67vw;border:0;background:transparent;color:var(--ink);font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(14px,1.12vw,22px);font-weight:500;text-align:left;cursor:pointer}.faq-item button b{font-size:1.5em;font-weight:400;transition:transform .4s}.faq-item>div{display:grid;grid-template-rows:0fr;transition:grid-template-rows .42s cubic-bezier(.16,.9,.3,1)}.faq-item>div p{min-height:0;margin:0;padding:0 1.67vw;overflow:hidden;opacity:.72;transition:padding .42s}.faq-item.open>div{grid-template-rows:1fr}.faq-item.open>div p{padding:0 1.67vw 1.25vw}.faq-item.open button b{transform:rotate(45deg)}
.final-contact{display:flex;justify-content:space-between;align-items:center;padding:3vw 1.39vw;background:var(--orange);color:#fff;font-family:"Tr 3 A",Arial,sans-serif}.final-contact p{margin:0}.final-contact a{padding:.7vw 1vw;border-radius:.55vw;background:#fff;color:var(--ink);font-weight:700}

@media(max-width:767px){.overview{height:auto}.overview-sticky{position:relative;height:auto;min-height:900px;padding:100px 16px}.overview-label{position:static}.overview-title{position:static;margin:40px 0;font-size:68px;transform:none;text-align:left;white-space:normal}.overview-copy{position:static;width:100%;font-size:34px;opacity:1;transform:none;text-align:left}.overview-card{position:relative;inset:auto!important;width:100%;margin-top:14px;padding:16px;opacity:1;transform:none}.overview-card h3{margin:28px 0 8px}.overview-card p{max-height:none;opacity:.7}.services-new,.growth,.faq-section{padding:100px 16px}.post-header{max-width:none}.post-header h2,.clients-heading h2,.faq-header h2{font-size:58px}.post-header>p:last-child,.growth-copy{max-width:none}.service-grid{grid-template-columns:1fr;gap:12px;margin-top:60px;padding:10px}.service-card-new{min-height:560px;padding:22px}.service-card-new header span{width:34px;height:34px}.service-card-new ul{gap:11px;margin:35px 0}.service-card-new li::before{width:10px;height:10px;border-width:2px}.growth-column{width:100%}.growth-title{font-size:59px}.chat-wrap>img{width:46px;height:46px}.chat-wrap p,.chat-wrap a{padding:10px 13px}.clients-heading{left:16px;top:70px}.clients-rail{top:37vh;gap:12px;padding-left:16px}.client-card{flex-basis:82vw;height:55vh;padding:20px}.client-card header b{width:34px;height:34px;font-size:24px}.client-card footer i{width:38px;height:38px;font-size:10px}.brand-bridge{min-height:45vh;padding:30px 16px}.bridge-word{font-size:35vw}.faq-grid{grid-template-columns:1fr;gap:10px}.faq-item button{padding:16px;font-size:16px}.faq-item.open>div p{padding:0 16px 16px}.final-contact{flex-direction:column;align-items:flex-start;gap:20px;padding:40px 16px}.final-contact a{padding:12px 15px}}
/* V6 reference-matched interactions */
.side-logo{display:block;width:7.2vw;min-width:108px;min-height:0;padding:0;border-radius:0;background:transparent}
.side-logo img{width:100%;max-height:40px;object-fit:contain;object-position:left center}
.side-social a{transition:transform .25s,background .25s,color .25s}
.side-social a:hover{transform:translateY(-2px);background:var(--orange);color:#fff}
.side-social svg{width:48%;height:48%;fill:currentColor}
.sidebar.light-mode{color:#111}
.sidebar.light-mode .side-panel{border-color:#ffffff80;background:#d8d2c3e8}
.sidebar.light-mode .side-menu a{background:#ebe7db;color:#111}
.sidebar.light-mode .side-menu a:hover,.sidebar.light-mode .side-menu a.active{background:var(--orange);color:#fff}
.sidebar.light-mode .side-social a{background:#ebe7db}
.sidebar.light-mode .side-social a:hover{background:var(--orange);color:#fff}
.sidebar.light-mode .side-stats>div+div{border-color:#0002}
.sidebar.light-mode .side-email span{background:#c9c5b8}

[data-button-hover].button-swap{position:relative;overflow:hidden}
[data-button-hover].button-swap .button-label{display:block;transition:transform .5s cubic-bezier(.22,1,.36,1)}
[data-button-hover].button-swap .button-label-clone{position:absolute;left:0;right:0;top:50%;transform:translateY(150%);text-align:center}
[data-button-hover].button-swap.is-swapped .button-label-original{transform:translateY(-180%)}
[data-button-hover].button-swap.is-swapped .button-label-clone{transform:translateY(-50%)}
.hero-buttons a{transition:transform .25s,box-shadow .25s}
.hero-buttons a:hover{transform:translateY(-3px);box-shadow:0 .7vw 1.5vw #0002}
.side-cta.button-swap .button-label-clone{top:50%}

.work-card .media img,.work-card .media video{width:100%;height:100%;object-fit:cover;object-position:center}
.work-card:nth-child(2) .media img,.work-card:nth-child(7) .media img{object-fit:cover;object-position:center}
.work-card-static .media::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 45%,#000b 100%);pointer-events:none}

.overview{height:300vh;background:var(--paper)}
.overview-sticky{position:sticky;top:0;height:100vh;min-height:650px;overflow:hidden;background:radial-gradient(circle at 56% 58%,#f5f0e5 0,var(--paper) 58%)}
.overview-title{z-index:1;left:50%;top:50%;font-size:clamp(10rem,12.5vw,200px);line-height:.9;letter-spacing:-.25vw;transform:translate(-50%,calc(-50% + (1 - var(--overview-p))*18vh - var(--overview-p)*62vh));white-space:nowrap}
.overview-label{z-index:6;left:50%;top:44.5%;min-width:12.7vw;padding:.14vw .45vw;border:2px solid #8d897f;border-radius:999px;background:transparent;color:#111;font-size:clamp(15px,1vw,20px);line-height:1;text-align:center;opacity:var(--overview-label-p,0);transform:translate(-50%,calc((1 - var(--overview-p))*18vh - var(--overview-p)*58vh)) scaleX(calc(.55 + var(--overview-label-p,0)*.45));transform-origin:center}
.overview-copy{z-index:3;left:50%;top:49%;width:clamp(760px,62.24vw,1120px);font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(3.5rem,4.72vw,5.5rem);font-weight:700;line-height:1;letter-spacing:-.09vw;text-align:center;opacity:var(--overview-copy-alpha,0);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 var(--overview-mask-solid,-22%),rgba(0,0,0,.72) var(--overview-mask-mid,-10%),transparent var(--overview-mask-end,18%));mask-image:linear-gradient(to bottom,#000 0%,#000 var(--overview-mask-solid,-22%),rgba(0,0,0,.72) var(--overview-mask-mid,-10%),transparent var(--overview-mask-end,18%));transform:translate(-50%,calc((1 - var(--overview-p))*24vh - var(--overview-p)*52vh));pointer-events:none}
.overview-copy .cap-slot{display:inline-block;height:.82em;vertical-align:-.06em}
.overview-copy .cap-slot[data-anchor="w"]{width:5.51vw}
.overview-copy .cap-slot[data-anchor="seo"]{width:7.34vw}
.overview-copy .cap-slot[data-anchor="integration"]{width:.92vw}
.overview-copy .cap-slot[data-anchor="motion"]{width:6.42vw}
.overview-copy .cap-slot[data-anchor="performance"]{width:.92vw}
.overview-card{--show:0;--cap-x:0px;--cap-y:0px;position:absolute;z-index:8;left:0;top:0;width:clamp(86px,6.4vw,116px);padding:.9vw 1.05vw;border:0;border-radius:.63vw;background:#e4e0ceeF;color:#111;box-shadow:none;backdrop-filter:blur(14px);opacity:var(--show);transform:translate3d(var(--cap-x),var(--cap-y),0) scale(calc(.5 + var(--show)*.5));transform-origin:center;transition:width .65s cubic-bezier(.22,1,.36,1),padding .65s cubic-bezier(.22,1,.36,1),box-shadow .35s;pointer-events:auto}
.overview-card:hover{z-index:30;width:clamp(260px,18.5vw,355px);padding:1.25vw 1.55vw;box-shadow:0 1.5vw 4vw #0002}
.cap-top{display:flex;align-items:center;justify-content:space-between;width:100%;color:var(--orange)}
.cap-top b{color:var(--orange);font-family:Ppneuemontreal,Arial,sans-serif;font-size:clamp(19px,1.5vw,29px);line-height:1}
.cap-top span{display:grid;place-items:center;width:1.25vw;height:1.25vw;min-width:16px;min-height:16px;color:var(--orange);font-size:clamp(11px,.75vw,15px);transition:transform .4s}
.overview-card:hover .cap-top span{transform:rotate(180deg)}
.cap-detail{display:grid;grid-template-rows:0fr;width:100%;opacity:0;transition:grid-template-rows .65s cubic-bezier(.22,1,.36,1),opacity .35s}
.cap-detail>*{overflow:hidden}
.overview-card:hover .cap-detail{grid-template-rows:1fr;opacity:1}
.cap-detail h3{width:clamp(220px,14.58vw,280px);margin:0;padding-top:3.47vw;font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(18px,1.39vw,27px);font-weight:500;line-height:1}
.cap-detail p{width:clamp(220px,14.58vw,280px);max-height:none;margin:.55vw 0 0;overflow:hidden;opacity:.72;font-size:clamp(12px,.82vw,16px);line-height:1.4}

.services-new{padding:15vw 1.39vw 10vw;background:var(--paper)}
.post-header{max-width:clamp(560px,42vw,810px)}
.post-header h2,.clients-heading h2{font-size:clamp(72px,6.8vw,130px);line-height:.82;letter-spacing:-.065em}
.post-header>p:last-child{max-width:clamp(320px,25vw,480px)}
.service-grid{display:grid;grid-template-columns:1.12fr 1fr 1fr;gap:2.36vw;margin-top:4.17vw;padding:.9vw 2.36vw .9vw .9vw;border-radius:.69vw;background:#dfdece}
.service-card-new{min-height:690px;padding:1.39vw;border:0;border-radius:.56vw;background:#e5e4d3}
.service-card-new:first-child{padding:1.39vw 2.22vw;background:#cecdbb}
.service-card-new:nth-child(2),.service-card-new:nth-child(3){background:#e5e4d3}
.service-card-new header{gap:.69vw;margin-bottom:2.78vw}
.service-card-new header span{width:2.78vw;height:2.78vw;border-radius:.55vw;background:var(--orange);font-size:clamp(12px,.8vw,16px)}
.service-card-new h3{font-size:clamp(1rem,1.53vw,1.75rem);line-height:1}
.service-card-new>strong{margin-bottom:2vw;font-size:clamp(30px,2.25vw,43px);line-height:1}
.service-card-new>strong small{font-size:.42em;font-weight:500}
.service-card-new>p{line-height:1.4}
.service-card-new ul{gap:.72vw;margin:2.8vw 0}
.service-card-new footer{line-height:1.35}

.clients-new{position:relative;padding:10vw 0 10vw 1.39vw;background:var(--paper);overflow:hidden}
.clients-new .clients-heading{position:relative;left:auto;top:auto;z-index:2}
.clients-new .clients-heading h2{margin:1.8vw 0 0}
.clients-slider{position:relative;margin-top:1.67vw;padding-bottom:5vw;overflow:hidden;cursor:grab;touch-action:pan-y;outline:none}
.clients-slider.dragging{cursor:grabbing}
.clients-new .clients-rail{position:relative;left:auto;top:auto;display:flex;gap:.97vw;width:max-content;padding:0 1.39vw 0 0;transform:translate3d(var(--clients-x,0),0,0);will-change:transform;user-select:none}
.clients-new .client-card{display:flex;flex:0 0 clamp(430px,31vw,595px);flex-direction:column;height:clamp(480px,35vw,670px);min-height:0;padding:1.67vw;border:1px solid #fff3;border-radius:.83vw;background:#dfdececc;backdrop-filter:blur(14px)}
.clients-new .client-card header{margin-bottom:1.67vw}
.clients-new .client-card h3{max-width:85%;font-size:clamp(25px,2.08vw,40px);line-height:1;color:#000b}
.clients-new .client-card header b{width:2.5vw;height:2.5vw;border-radius:.55vw;background:var(--orange);font-size:1.7vw}
.clients-new .client-card>p{margin:0;line-height:1.48}
.clients-new .client-card footer{gap:.97vw}
.clients-new .client-card footer img{width:3.2vw;height:3.2vw;min-width:42px;min-height:42px;border-radius:50%;object-fit:cover;object-position:var(--client-focus,50% 50%);flex:0 0 auto}
.clients-new .client-card footer span{line-height:1.15;min-width:0;max-width:calc(100% - 4.2vw)}
.clients-new .client-card footer strong{font-size:clamp(13px,.92vw,18px)}
.clients-new .client-card footer small,.clients-new .client-card footer a{font-size:clamp(11px,.72vw,14px);line-height:1.2;opacity:.64}
.clients-new .client-card footer a{text-decoration:underline;text-underline-offset:.15em}
.clients-pagination{display:flex;justify-content:flex-end;gap:.42vw;margin:1.5vw 1.39vw 0 0;padding:.69vw;border:1px solid #0002;border-radius:.56vw;width:max-content;margin-left:auto}
.clients-pagination button{width:.56vw;height:.56vw;min-width:8px;min-height:8px;padding:0;border:0;border-radius:99px;background:#0004;transition:width .35s,background .35s;cursor:pointer}
.clients-pagination button.active{width:2.5vw;background:var(--orange)}
.clients-drag{position:fixed;z-index:999;left:0;top:0;display:flex;align-items:center;gap:.55vw;padding:.45vw .65vw;border-radius:999px;background:#111;color:#fff;opacity:0;transform:translate(-50%,-50%) scale(.8);pointer-events:none;transition:opacity .2s,transform .2s}
.clients-drag.visible{opacity:1;transform:translate(-50%,-50%) scale(1)}
.clients-drag span{color:var(--orange);font-size:1.1vw}
.clients-drag i{display:block;height:1.1em;overflow:hidden;font-style:normal}
.clients-drag em{display:block;font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(10px,.68vw,13px);font-style:normal;line-height:1.1;transition:transform .25s}
.clients-drag.dragging em{transform:translateY(-100%)}

.brand-bridge{display:block;min-height:0;padding:15vw 1.39vw 5vw;background:var(--paper);overflow:hidden}
.bridge-svg{display:block;width:100%;height:auto;aspect-ratio:4.1065;overflow:visible;cursor:crosshair}

@media(max-width:767px){
  .side-logo{width:112px}.side-social{display:none}
  .overview{height:auto;min-height:1150px;padding:120px 16px}.overview-sticky{position:relative;height:auto;min-height:980px;overflow:visible}.overview-title{position:relative;left:auto;top:auto;margin:0 0 60px;font-size:clamp(58px,17vw,110px);transform:none;text-align:left}.overview-label{position:relative;left:auto;top:auto;transform:none;opacity:1;margin-bottom:28px}.overview-copy{position:relative;left:auto;top:auto;width:100%;font-size:clamp(30px,8.27vw,58px);line-height:1.15;text-align:left;opacity:1;transform:none}.overview-copy .cap-slot{width:23vw}.overview-card{width:80px;padding:10px 12px;border-radius:9px}.overview-card:hover{width:min(82vw,330px);padding:14px 16px}.cap-detail h3,.cap-detail p{width:min(72vw,280px)}.cap-detail h3{padding-top:36px;font-size:20px}
  .services-new{padding:100px 16px}.post-header{max-width:none}.post-header h2,.clients-heading h2{font-size:56px}.post-header>p:last-child{max-width:100%}.service-grid{grid-template-columns:1fr;gap:12px;margin-top:62px;padding:10px}.service-card-new,.service-card-new:first-child{min-height:0;padding:24px}.service-card-new header span{width:42px;height:42px}.service-card-new h3{font-size:24px}.service-card-new ul{gap:12px;margin:36px 0}
  .clients-new{padding:100px 0 100px 16px}.clients-slider{margin-top:48px;padding-bottom:38px}.clients-new .clients-rail{gap:14px}.clients-new .client-card{flex-basis:84vw;height:560px;padding:22px;border-radius:12px}.clients-new .client-card h3{font-size:28px}.clients-new .client-card header b{width:38px;height:38px;font-size:24px}.clients-new .client-card footer img{width:46px;height:46px}.clients-pagination{margin:22px 16px 0 auto;padding:10px;gap:7px}.clients-pagination button{width:9px;height:9px}.clients-pagination button.active{width:36px}.clients-drag{display:none}
  .brand-bridge{padding:100px 16px 40px}.bridge-svg{aspect-ratio:4.1}
}

.overview-card:not(.visible){pointer-events:none}


/* V7 — full-canvas reference reconstruction */
.page{margin-left:0}

/* Exact word-mask hover used by the reference buttons/navigation. */
[data-button-hover].button-swap{display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
[data-button-hover] .button-mask{position:relative;display:block;overflow:hidden;line-height:1.08}
[data-button-hover] .button-line{display:flex;justify-content:center;white-space:nowrap}
[data-button-hover] .button-line-clone{position:absolute;inset:0}
[data-button-hover] .word{position:relative;display:inline-block;will-change:transform}
.hero-nav [data-button-hover]{min-height:1.15em}
.hero-nav [data-button-hover] .button-mask{padding:.08em 0}
.hero-buttons [data-button-hover] .button-mask,.side-cta[data-button-hover] .button-mask,.chat-wrap [data-button-hover] .button-mask{width:100%}
.hero-buttons a:hover{transform:none;box-shadow:none}

/* Hero geometry follows the 93.06vw reference canvas. */
.hero-stage{padding-bottom:2.78vw}
.hero-word{left:3.47vw;right:3.47vw;top:4.8vh;font-size:clamp(300px,34vw,660px);line-height:.74}
.hero-person{width:100vw;height:100vh;margin-left:-3vw;object-fit:contain;object-position:50% 100%}
.hero-nav{left:3.47vw;right:3.47vw;top:61.5%;font-size:clamp(11px,1.18vw,22px)}
.hero-title{bottom:4.8%;width:min(36vw,690px)}
.hero-title h1{font-size:clamp(58px,5.15vw,99px)}
.hero-buttons a{min-width:9.7vw;padding:.72vw 1.35vw}
@media(min-width:768px){.hero-title{left:55%}}
.hero-stat-projects{left:18.7%;bottom:19%}
.hero-stat-years{left:21.7%;bottom:2.8%}
.hero-traits{right:22.6%;bottom:39%}
.hero-copy{bottom:4.7%}

/* Section backgrounds cover the viewport; only their content clears the fixed sidebar. */
.about{padding-right:1.39vw;padding-left:0}
.about>.section-intro,.about>.journey{width:calc(100% - 22.39vw);margin-left:21vw}
.journey-card{width:clamp(370px,29.58vw,600px);min-height:clamp(320px,22.2vw,425px);padding:2.08vw;border-radius:.83vw;transition:none}
.journey-card.visible{opacity:1;transform:none}
.journey-card small{font-size:clamp(44px,5.56vw,106px)}
.journey-card>p{font-size:clamp(14px,1.05vw,20px);line-height:1.45}
.journey-card footer{align-items:center;margin-top:auto;padding-top:1.67vw}
.journey-author>.journey-avatar-stack{display:flex;flex-direction:row;align-items:center;flex:none;padding-left:.35vw;color:inherit;font-size:inherit}
.journey-avatar-stack img{position:relative;width:clamp(46px,3.4vw,64px);height:clamp(46px,3.4vw,64px);aspect-ratio:1/1;border:1px solid #ffffff70;border-radius:50%;background:var(--paper);object-fit:cover}
.journey-avatar-stack img+img{z-index:2;margin-left:-.9vw}
.journey-read{padding:.85vw 1.45vw;background:#f2f0e6}

.work-heading{left:22.39vw}
.work-rail{padding-left:40vw}
.work-progress{left:22.39vw}

.overview-title,.overview-label,.overview-copy{left:57.3%}
.services-new{padding-left:22.39vw;padding-right:1.39vw}
.growth{padding-left:22.39vw;padding-right:1.39vw}
.growth-column{width:min(58vw,1050px);margin-left:auto;margin-right:auto}

/* Reference Swiper: one 33.13vw card per snap while neighbouring cards remain visible. */
.clients-new{padding:10vw 0 10vw 22.39vw}
.clients-slider.swiper{width:33.13vw;margin-top:1.67vw;padding:0;overflow:visible;cursor:none}
.clients-new .clients-rail.swiper-wrapper{position:relative;display:flex;gap:0;width:100%;padding:0;transform:none;user-select:none}
.clients-new .client-card.swiper-slide{box-sizing:border-box;flex:none;width:100%;height:auto;min-height:35.4vw;padding:1.67vw;border-radius:.83vw}
.clients-new .client-card header{margin-bottom:1.67vw}
.clients-new .client-card h3{font-size:2.08vw}
.clients-new .client-card header b{width:2.08vw;height:2.08vw;border-radius:.35vw}
.clients-pagination.swiper-pagination{position:relative;left:auto;right:auto;bottom:auto;display:flex;justify-content:flex-start;width:max-content;margin:1.67vw 0 0;padding:0;border:0;gap:.42vw}
.clients-pagination .swiper-bullet{display:block;width:1.25vw;height:.28vw;margin:0!important;border:0;border-radius:2.64vw;background:#a8a684;opacity:1;transition:width .35s,background .35s}
.clients-pagination .swiper-bullet.is-active{width:3.3vw;background:var(--orange)}

.drag-wrap{z-index:1000;position:fixed;left:0;top:0;display:flex;align-items:center;justify-content:center;gap:.278vw;color:#403f3c;opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.55);will-change:transform,opacity}
.drag-circle{display:flex;align-items:center;justify-content:center;width:4.722vw;height:4.722vw;border-radius:50%;background:var(--orange);color:#111;text-transform:uppercase;font-family:Ppneuemontreal,Arial,sans-serif;font-size:.972vw;font-weight:700}
.drag-circle-span{height:.972vw;line-height:.972vw;overflow:hidden}
.drag-circle-span span{display:block;transition:transform .25s}
.drag-wrap.is-dragging .drag-circle-span span{transform:translateY(-100%)}
.drag-left-icon,.drag-right-icon{display:block;width:.694vw;height:.694vw;font-size:.55vw;line-height:.694vw;transform:scale(1);transition:transform .2s}
.drag-wrap.to-left .drag-right-icon,.drag-wrap.to-right .drag-left-icon{transform:scale(0)}

/* Oversized footer logo, followed immediately by FAQ like the reference. */
.brand-bridge{padding:9vw 1vw 3vw;min-height:78vh}
.bridge-svg{width:100%;transform:scale(1.045);transform-origin:center}
.faq-section{padding-left:22.39vw;padding-right:1.39vw;padding-bottom:10vw}
.final-contact{display:none!important}

@media(max-width:767px){
  .hero-person{width:145vw;height:82vh;margin-left:0}
  .hero-nav{font-size:9px}
  .about>.section-intro,.about>.journey{width:auto;margin-left:0}
  .work-heading{left:16px}.work-progress{left:16px}
  .overview-title,.overview-label,.overview-copy{left:auto}
  .services-new,.growth,.faq-section{padding-left:16px;padding-right:16px}
  .clients-new{padding-left:16px}
  .clients-slider.swiper{width:84vw;margin-top:48px;cursor:grab}
  .clients-new .client-card.swiper-slide{min-height:560px;padding:22px}
  .clients-new .client-card h3{font-size:28px}
  .drag-wrap{display:none}
  .brand-bridge{min-height:45vh;padding:100px 16px 40px}
}


/* Behavior system additions from NESH_BEHAVIOR_SYSTEM.md */
@media(min-width:768px){
  .sidebar{--sidebar-scale:1;transform:translateX(calc((1 - var(--side-p))*-2vw)) scale(var(--sidebar-scale));transform-origin:top left}
  .hero-nav{opacity:1;transform:none}
  .hero-nav i{opacity:calc(1 - var(--hero-p)*12);transition:opacity .08s linear}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero-word,.hero-person,.hero-title h1 span,.hero-stat,.hero-traits{animation:none!important}
  .work-scroll{height:auto!important}
  .work-viewport{position:relative;height:auto;padding:100px 0}
  .work-rail{display:grid;width:auto;height:auto;padding:220px 16px 60px;transform:none!important}
  .work-card{width:min(100%,560px);opacity:1;transform:none}
}


/* V7.1 exact hero/menu timing + smoother scroll */
html.lenis,html.lenis body{height:auto}
.skip-preloader .site-preloader{display:none!important}
body.preloading{overflow:hidden!important}
.site-preloader{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;background:var(--cream);color:var(--orange);overflow:hidden;isolation:isolate}
.site-preloader::before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 50% 52%,rgba(242,80,47,.09),transparent 36%);opacity:.75;transform:scale(.85);animation:preloader-glow 1.8s ease-in-out infinite alternate}
.preloader-word{position:relative;width:min(91vw,1450px);transform:translateY(-1.5vh);will-change:transform,opacity,filter}
.preloader-word svg{display:block;width:100%;height:auto;overflow:visible}
.preloader-word text{font-family:Ppneuemontreal,Arial,sans-serif;font-size:310px;font-weight:700;letter-spacing:-.075em}
.preloader-outline{fill:rgba(242,80,47,.035);stroke:rgba(242,80,47,.34);stroke-width:2}
.preloader-liquid{fill:var(--orange);will-change:transform}
.preloader-wave{animation:preloader-wave 1.15s linear infinite;will-change:transform}
.preloader-count{position:absolute;left:50%;bottom:clamp(28px,5vh,62px);display:flex;align-items:flex-start;margin:0;font-family:Ppneuemontreal,Arial,sans-serif;font-size:clamp(28px,3vw,54px);font-weight:700;line-height:1;letter-spacing:-.06em;transform:translateX(-50%);font-variant-numeric:tabular-nums}
.preloader-count small{margin:.05em 0 0 .15em;font-size:.32em;letter-spacing:0}
.site-preloader.is-complete .preloader-word{animation:preloader-settle .36s cubic-bezier(.22,1,.36,1) both}
.site-preloader.is-complete .preloader-wave{animation-play-state:paused}
.site-preloader.is-leaving{pointer-events:none;animation:preloader-leave .72s cubic-bezier(.76,0,.24,1) forwards}
.site-preloader.is-leaving .preloader-count{opacity:0;transition:opacity .18s ease}
@keyframes preloader-wave{to{transform:translateX(-480px)}}
@keyframes preloader-glow{to{opacity:1;transform:scale(1.08)}}
@keyframes preloader-settle{0%{transform:translateY(-1.5vh) scale(1)}55%{transform:translateY(-1.5vh) scale(1.025)}100%{transform:translateY(-1.5vh) scale(1)}}
@keyframes preloader-leave{0%{opacity:1;filter:blur(0);transform:scale(1)}70%{opacity:.18;filter:blur(7px);transform:scale(1.035)}100%{opacity:0;visibility:hidden;filter:blur(14px);transform:scale(1.065)}}
@media(max-width:767px){.preloader-word{width:94vw}.preloader-word text{font-size:300px}.preloader-count{bottom:8vh}}
@media(prefers-reduced-motion:reduce){.preloader-wave,.site-preloader::before{animation:none}.site-preloader.is-leaving{animation-duration:.2s}}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
.lenis.lenis-smooth iframe{pointer-events:none}
.hero-letter{display:inline-block;will-change:transform,filter,opacity}
@media(min-width:768px){
  .sidebar{opacity:1;transform:scale(var(--sidebar-scale));transform-origin:top left}
  .hero-word,.hero-person,.hero-title h1 span,.hero-stat,.hero-traits{animation:none}
  .hero-nav{opacity:1}

  /* The panels and their travelling contents reveal independently. This keeps
     the hero-to-sidebar FLIP as one continuous object instead of two menus. */
  .sidebar .side-panel{position:relative;isolation:isolate;border-color:transparent;background:transparent;opacity:1;transform:none}
  .sidebar .side-panel::before{content:"";position:absolute;z-index:-1;inset:0;border:1px solid #343434;border-radius:inherit;background:var(--panel);opacity:var(--show);transform:scale(calc(.5 + var(--show)*.5));transform-origin:left center}
  .sidebar.light-mode .side-panel{border-color:transparent;background:transparent}
  .sidebar.light-mode .side-panel::before{border-color:#ffffff80;background:#d8d2c3e8}
  .side-logo,.side-stats>div,.side-menu a,.side-email span{opacity:0}
  .side-top p,.side-social,.side-clients>span,.side-email>b{opacity:var(--show);transform:translateY(calc((1 - var(--show))*6px));transition:none}
}
.brand-bridge{display:flex;align-items:flex-start;min-height:66vh;padding:1.4vw 1.39vw 3vw 21vw}
.bridge-svg{display:block;width:100%;height:auto;aspect-ratio:4.1065;transform:none}
@media(max-width:767px){
  .brand-bridge{min-height:45vh;padding:100px 16px 40px}
}


/* What You Get: reference chip-to-card expansion */
.overview-card{width:clamp(86px,6.4vw,116px);min-height:0;padding:.9vw 1.25vw;overflow:visible;transform-origin:top left;transition:none;cursor:pointer}
.overview-card:hover{width:clamp(86px,6.4vw,116px);padding:.9vw 1.25vw;box-shadow:none}
.cap-top{min-height:2.5vw;gap:1.39vw}
.cap-symbol{display:flex;align-items:center;justify-content:flex-start;flex:none;width:3.47vw;height:2.5vw;color:var(--orange);font-family:Ppneuemontreal,Arial,sans-serif;font-size:2.2vw;font-weight:700;line-height:1}
.cap-symbol img{width:3.47vw;height:2.5vw;object-fit:contain;object-position:left center}
.cap-symbol svg{display:block;width:100%;height:100%;fill:currentColor}
.cap-symbol-blocks{width:2.15vw}.cap-symbol-gear{width:2.15vw}.cap-symbol-gsap{width:2.08vw;font-size:2.35vw;font-style:italic}.cap-symbol-gauge{width:2.43vw}
.cap-arrow{display:flex;align-items:center;justify-content:center;flex:none;width:.69vw;height:.69vw;color:var(--orange);font-size:.55vw;transform:rotate(0deg);transform-origin:center}
.cap-detail{display:grid;grid-template-rows:0fr;width:clamp(0px,calc(14.58vw * var(--cap-text,0)),280px);opacity:0;overflow:hidden;transition:none}
.cap-detail>div{min-height:0;overflow:hidden}
.cap-detail h3{width:clamp(220px,14.58vw,280px);margin:0;padding-top:3.47vw;font-size:1.39vw;line-height:1}
.cap-detail p{width:clamp(220px,14.58vw,280px);margin:.55vw 0 0;font-size:clamp(12px,.82vw,16px);line-height:1.4;opacity:.72}
/* GSAP owns the hover expansion so the panel grows out of the compact chip. */
.overview-card:hover .cap-detail{grid-template-rows:0fr;opacity:0}
.overview-card:hover .cap-top span{transform:none}
.overview-card[data-expanded="1"]{box-shadow:0 1.5vw 4vw #0002}
.overview-card[data-expanded="1"] .cap-top span{transform:rotate(180deg)}
.overview-card[data-expanded="1"] .cap-detail{width:clamp(220px,14.58vw,280px)}

/* Reference CTA conversation sequence. */
.chat-wrap>.cta-chat-column{position:relative;display:flex;flex-direction:column;grid-template-columns:none;gap:0}
.cta-column-item{display:flex;flex-direction:column;align-items:flex-start;padding-top:1.5%}
.cta-chat-grid,.cta-button-grid,.typing-grid{display:grid;grid-template-columns:1fr;grid-auto-columns:1fr;column-gap:16px;row-gap:16px}
.cta-chat-grid,.cta-button-grid{grid-template-rows:1fr}
.typing-grid{grid-template-rows:auto}
.cta-chat-grid-item,.cta-button-grid-item,.typing-grid-item{min-height:0;overflow:visible}
.chat-wrap .cta-chat{display:flex;align-items:center;justify-content:flex-start;margin:0 0 .69vw;padding:.76vw 1.32vw;border-radius:.83vw;background:#e4e0ce;overflow:hidden;white-space:nowrap}
.chat-wrap .cta-button{display:flex;align-items:center;justify-content:center;min-width:8.8vw;margin:0 0 .69vw;padding:clamp(.5rem,.695vw,1.25rem) 1.39vw;border-radius:.83vw;background:var(--orange);color:#fff;font-family:"Tr 3 A",Arial,sans-serif;font-weight:700;overflow:hidden}
.cta-text,.cta-button .button-text{display:block;white-space:nowrap}
.cta-chat-typing-wrap{display:flex;align-items:center;justify-content:flex-start;width:max-content;gap:.42vw;padding:.76vw 1.32vw;border-radius:.83vw;background:#e4e0ce;overflow:hidden}
.typing-dot{display:block;width:.35vw;height:.35vw;min-width:5px;min-height:5px;border-radius:50%;background:var(--orange)}
@media(max-width:767px){
 .cap-top{min-height:34px;gap:7px}.cap-symbol{width:32px;height:30px;font-size:25px}.cap-symbol img{width:32px;height:30px}.cap-symbol-blocks,.cap-symbol-gear,.cap-symbol-gsap,.cap-symbol-gauge{width:29px}.cap-arrow{width:8px;height:8px;font-size:7px}
 .overview-card[data-expanded="1"] .cap-detail{width:100%}
 .cap-detail h3,.cap-detail p{width:100%}.cap-detail h3{font-size:20px}
}

/* Reference responsive system: the desktop morph ends at 767px. */
.mobile-menu-toggle{display:none}
@media(max-width:767px){
  body{font-size:15px}
  .sidebar{--side-p:1;left:20px;right:20px;top:16px;width:auto;height:auto;padding:0;background:transparent;color:#111;opacity:1;transform:none!important;pointer-events:auto;display:block}
  .side-top{display:block!important;padding:10px;border:1px solid #ffffff80;border-radius:12px;background:#e4e0ceeF;opacity:1!important;transform:none!important}
  .side-topbar{gap:8px}.side-top p{display:none}
  .side-logo{width:118px;min-width:0}.side-logo img{width:100%;max-height:34px}
  .side-social{display:flex!important;margin-left:auto;gap:6px}.side-social a{width:30px;height:30px;min-width:30px;min-height:30px;border-radius:7px;background:#f4f1e8}
  .mobile-menu-toggle{display:grid;grid-template-columns:1fr 1fr;gap:3px;width:38px;height:32px;margin:0;padding:8px;border:0;border-radius:8px;background:var(--orange);color:#fff}
  .mobile-menu-toggle span{display:block;border-radius:3px;background:currentColor;transition:transform .3s,opacity .3s}
  .sidebar.mobile-open .mobile-menu-toggle span:first-child{transform:translate(3px,3px)}.sidebar.mobile-open .mobile-menu-toggle span:nth-child(2){transform:translate(-3px,3px)}.sidebar.mobile-open .mobile-menu-toggle span:nth-child(3){transform:translate(3px,-3px)}.sidebar.mobile-open .mobile-menu-toggle span:nth-child(4){transform:translate(-3px,-3px)}
  .side-stats,.side-clients,.side-email,.side-cta{display:none!important}
  .side-menu{display:none!important;position:relative;width:100%;height:auto;min-height:0;margin-top:8px;padding:12px;border:1px solid #ffffff80;border-radius:12px;background:#e4e0cef5;opacity:1!important;transform:none!important}
  .sidebar.mobile-open .side-menu{display:block!important}
  .side-menu nav{height:auto;display:flex;flex-direction:column;align-items:flex-start;gap:7px;overflow:visible}
  .side-menu a,.side-menu a:nth-child(n+5){display:flex;flex:none;padding:8px 10px;border-radius:7px;background:#f4f1e8;color:#111;font-size:13px}

  .hero-track{height:auto;min-height:clamp(728px,226vw,980px);background:var(--cream)}
  .hero-stage{position:relative;top:auto;height:auto;min-height:clamp(728px,226vw,980px);padding:0;overflow:hidden}
  .hero-word{left:12px;right:12px;top:94px;font-size:29vw;line-height:.78;letter-spacing:-.06em;opacity:1!important;transform:none!important;filter:none!important}
  .hero-person{left:50%;bottom:-1%;width:148vw;height:72%;margin:0;object-position:center bottom;opacity:1!important;transform:translateX(-50%)!important;filter:none!important}
  .hero-nav,.hero-traits,.hero-copy-left{display:none!important}
  .hero-title{left:50%;bottom:24px;width:88%;opacity:1!important;transform:translateX(-50%)!important;filter:none!important}
  .hero-title h1{font-size:clamp(43px,13.4vw,62px);line-height:.86}
  .hero-buttons{display:flex!important;position:relative;z-index:40;width:100%;gap:8px;margin-top:16px}
  .hero-buttons a{display:flex!important;min-width:0;padding:11px 10px;border-radius:8px;font-size:12px;box-shadow:0 8px 24px #0002}
  .hero-copy-right{display:block;left:20px;right:auto;top:225px;bottom:auto;width:78%;font-size:14px;line-height:1.45;opacity:.78!important;transform:none!important}
  .hero-stat{display:flex;bottom:auto;padding:10px 12px;border-radius:9px;font-size:11px;opacity:1!important;transform:none!important;filter:none!important;backdrop-filter:blur(12px)}
  .hero-stat b{font-size:30px}.hero-stat-projects{left:20px;top:39%}.hero-stat-years{left:auto;right:20px;top:39%}.hero-stat-projects img{width:40px}

  .experience{margin-top:0}.page{margin-left:0}
  .about{min-height:auto;padding:120px 20px 80px;background:var(--paper)}
  .about>.section-intro,.about>.journey{width:auto;margin-left:0}.section-intro{max-width:none;padding:0}.section-intro h2{font-size:clamp(48px,14vw,64px)}.section-lead{max-width:100%}
  .journey{height:auto;margin-top:70px;padding-left:26px}.journey-line{left:0;width:20px;height:100%}.journey-card{position:relative;left:auto!important;top:auto!important;width:100%;min-height:0;margin-bottom:24px;padding:24px;border-radius:12px}.journey-card small{font-size:42px}.journey-card h3{font-size:26px}.journey-card p{max-width:none}.journey-card footer{margin-top:24px;padding-top:12px}

  .work-heading{left:20px;top:76px;width:84vw}.work-heading h2{font-size:clamp(48px,14vw,64px)}.work-heading>p:last-child{max-width:82vw}.work-rail{gap:16px;padding-left:72vw;padding-right:20px}.work-card{flex-basis:82vw;width:82vw;height:72vh;border-radius:12px}.work-meta{padding:20px}.work-meta>span{left:20px;top:20px}.work-meta h3{font-size:34px}.work-progress{left:20px;right:20px;bottom:14px}

  .overview{height:auto;min-height:1080px;padding:100px 20px}.overview-sticky{position:relative;height:auto;min-height:920px;padding:0;overflow:visible}.overview-title{position:relative;left:auto;top:auto;margin:0 0 36px;font-size:clamp(58px,17vw,82px);transform:none;text-align:left}.overview-label{position:relative;left:auto;top:auto;min-width:0;width:max-content;margin-bottom:24px;padding:4px 8px;font-size:14px;opacity:1;transform:none}.overview-copy{position:relative;left:auto;top:auto;width:100%;font-size:clamp(30px,8.27vw,42px);line-height:1.2;text-align:left;opacity:1;transform:none}
  .overview-copy .cap-slot,.overview-copy .cap-slot[data-anchor]{width:74px!important;height:56px;margin:0 3px;vertical-align:-.34em}
  .overview-card,.overview-card:not(.visible){position:absolute!important;inset:0 auto auto 0!important;width:74px;margin:0;padding:10px;border-radius:9px;opacity:0!important;transform:translate3d(var(--cap-x),var(--cap-y),0) scale(1)!important;pointer-events:auto!important;transition:opacity .55s ease!important}
  .overview.mobile-in .overview-card{opacity:1!important}
  .overview-card:nth-of-type(1){transition-delay:.34s!important}.overview-card:nth-of-type(2){transition-delay:.42s!important}.overview-card:nth-of-type(3){transition-delay:.5s!important}.overview-card:nth-of-type(4){transition-delay:.58s!important}.overview-card:nth-of-type(5){transition-delay:.66s!important}
  .overview-title,.overview-label,.overview-copy{opacity:0;-webkit-mask-image:none;mask-image:none;filter:none;transition:opacity .65s ease,transform .85s cubic-bezier(.22,1,.36,1)}
  .overview-title{transform:translateY(48px)}.overview-label{transform:translateY(24px)}.overview-copy{transform:translateY(38px)}
  .overview.mobile-in .overview-title,.overview.mobile-in .overview-label,.overview.mobile-in .overview-copy{opacity:1;transform:translateY(0)}
  .overview.mobile-in .overview-label{transition-delay:.12s}.overview.mobile-in .overview-copy{transition-delay:.22s}

  .services-new,.growth,.faq-section{padding:100px 20px}.post-header h2,.clients-heading h2,.faq-header h2{font-size:56px}.service-grid{grid-template-columns:1fr;gap:12px;margin-top:60px;padding:10px}.service-card-new,.service-card-new:first-child{min-height:0;padding:24px}
  .growth-column{width:100%}.growth-title{font-size:clamp(54px,15vw,68px)}.growth-copy{max-width:none}.chat-wrap{gap:14px;margin-top:42px}.chat-wrap>img{width:46px;height:46px}.chat-wrap .cta-chat{margin-bottom:10px;padding:12px 16px;border-radius:12px}.chat-wrap .cta-button{min-width:132px;margin-bottom:10px;padding:12px 16px;border-radius:12px}.cta-chat-typing-wrap{gap:6px;padding:12px 16px;border-radius:12px}.typing-dot{width:5px;height:5px}
  .clients-new{padding:100px 0 100px 20px}.clients-slider.swiper{width:84vw;margin-top:48px;cursor:grab}.clients-new .client-card.swiper-slide{min-height:560px;padding:22px}.drag-wrap{display:none}
  .brand-bridge{min-height:0;padding:90px 20px 50px}.bridge-svg{aspect-ratio:4.1065}
  .faq-grid{grid-template-columns:1fr;gap:10px}.faq-column{gap:10px}.faq-item button{padding:16px;font-size:16px}.faq-item.open>div p{padding:0 16px 16px}
}

/* Final authoritative overview layout; kept last so earlier experimental
   sticky/mobile rules cannot override the source-matched behavior. */
.overview{position:relative;height:auto;min-height:100vh;padding:15vw 6.39vw 15vw 21vw;overflow:hidden;background:var(--paper)}
.overview-sticky{position:relative;top:auto;height:auto;min-height:0;padding:0;overflow:visible;display:flex;flex-flow:column;align-items:center;text-align:center;background:radial-gradient(circle at 52% 58%,#f5f0e5 0,var(--paper) 58%)}
.overview-title{position:static;left:auto;top:auto;z-index:1;margin:0 0 2.78vw;font-family:Ppneuemontreal,Arial,sans-serif;font-size:clamp(10rem,12.5vw,200px);font-weight:700;line-height:.9;letter-spacing:-.25vw;text-align:center;transform:none;white-space:nowrap;opacity:1}
.overview-label{position:relative;left:auto;top:auto;z-index:6;width:max-content;min-width:0;margin:0 0 .83vw;padding:.21vw;border:.14vw solid #0000004d;border-radius:4.86vw;background:transparent;color:#111;font-family:Ppneuemontreal,Arial,sans-serif;font-size:clamp(.625rem,.97vw,1.5rem);font-weight:700;line-height:1;text-align:center;text-transform:uppercase;transform:none;transform-origin:center;overflow:hidden;white-space:nowrap}
.overview-copy,.overview-copy-mobile{position:relative;left:auto;top:auto;z-index:3;width:clamp(760px,62.24vw,1120px);margin:0;font-family:"Tr 3 A",Arial,sans-serif;font-size:clamp(3.5rem,4.72vw,5.5rem);font-weight:700;line-height:1;letter-spacing:-.09vw;text-align:center;opacity:1;-webkit-mask-image:none;mask-image:none;filter:none;transform:none;pointer-events:none}
.overview-copy-mobile{display:none}
.overview-copy .cap-slot,.overview-copy-mobile .cap-slot{display:inline-block;height:.82em;vertical-align:-.06em}
.overview-copy .cap-slot[data-anchor="w"]{width:5.51vw}.overview-copy .cap-slot[data-anchor="seo"]{width:7.34vw}.overview-copy .cap-slot[data-anchor="integration"]{width:.92vw}.overview-copy .cap-slot[data-anchor="motion"]{width:6.42vw}.overview-copy .cap-slot[data-anchor="performance"]{width:.92vw}
.overview-card,.overview-card:not(.visible){position:absolute!important;inset:0 auto auto 0!important;opacity:0;transform:translate3d(var(--cap-x),var(--cap-y),0) scale(calc(.5 + var(--show)*.5));transform-origin:center;transition:none;pointer-events:none}
.overview-card.visible{pointer-events:auto}
@media(max-width:767px){
 .overview{height:auto;min-height:0;padding:clamp(4.27rem,21.33vw,10.23rem) clamp(1.07rem,4.27vw,2.56rem)}
 .overview-sticky{position:relative;height:auto;min-height:0;padding:0;overflow:visible}
 .overview-title{position:static;left:auto;top:auto;margin:0 0 clamp(2.03rem,10.13vw,4.86rem);font-size:clamp(3.58rem,17.87vw,8.56rem);line-height:.9;text-align:center;transform:none;white-space:normal;opacity:1}
 .overview-label{position:relative;left:auto;top:auto;width:max-content;min-width:0;margin:0 0 clamp(.96rem,4.8vw,2.3rem);padding:clamp(.16rem,.8vw,.38rem) clamp(.27rem,1.33vw,.64rem);border-width:clamp(.11rem,.53vw,.26rem);font-size:clamp(.75rem,3.73vw,1.79rem);opacity:1;transform:none}
 .overview-copy{display:none}
 .overview-copy-mobile{display:block;position:relative;left:auto;top:auto;width:100%;font-size:clamp(1.65rem,8.27vw,3.96rem);line-height:1.2;letter-spacing:clamp(-.082rem,-.17vw,-.034rem);text-align:center;opacity:1;transform:none}
 .overview-copy-mobile .cap-slot,.overview-copy-mobile .cap-slot[data-anchor]{width:74px!important;height:56px;margin:0 3px;vertical-align:-.34em}
 .overview-card,.overview-card:not(.visible){width:74px;margin:0;padding:10px;border-radius:9px;opacity:0!important;transform:translate3d(var(--cap-x),var(--cap-y),0) scale(calc(.5 + var(--show)*.5))!important;transition:none!important;pointer-events:none!important}
 .overview-card.visible{opacity:1!important;pointer-events:auto!important;background:#e4e0ce!important}
}
@media(max-width:479px){.overview-copy-mobile{margin-left:-6%;width:106%}}

/* V7.6 subtle constellation layer and final responsive composition. */
.constellation-grid{position:fixed;z-index:25;inset:0;display:block;width:100vw;height:100vh;pointer-events:none;opacity:.28;mix-blend-mode:multiply}
@media(prefers-reduced-motion:reduce){.constellation-grid{opacity:.18}}

@media(min-width:768px){
 body .overview-copy .cap-slot[data-anchor]{width:clamp(96px,7.2vw,124px)!important;margin:0 .12em;vertical-align:-.08em}
}

@media(max-width:767px){
 body .overview-copy-mobile .cap-slot[data-anchor]{width:86px!important;height:60px;margin:0 8px!important;vertical-align:-.36em}

 body .hero-track,body .hero-stage{height:auto;min-height:clamp(1320px,255vw,1640px)}
 body .hero-stage{position:relative;top:auto;isolation:isolate;overflow:hidden;background:var(--cream)}
 body .hero-stage::after{content:"";position:absolute;z-index:4;left:0;right:0;top:61%;bottom:10%;background:linear-gradient(to bottom,#d8d2c300 0,#d8d2c35c 34%,var(--cream) 78%);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 34%,#000 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 34%,#000 100%);pointer-events:none}
 body .hero-word{z-index:1;left:20px;right:20px;top:clamp(98px,18vw,136px);font-size:clamp(112px,30vw,194px);line-height:.78}
 body .hero-person{z-index:2;left:0;top:clamp(-135px,-16vw,-60px);bottom:auto;width:100%;height:calc(100% - 280px);margin:0;object-fit:cover;object-position:50% 22%;transform:none!important;clip-path:none!important;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 72%,rgba(0,0,0,.9) 80%,rgba(0,0,0,.42) 91%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0,#000 72%,rgba(0,0,0,.9) 80%,rgba(0,0,0,.42) 91%,transparent 100%)}
 body .hero-traits{z-index:8;display:grid!important;left:clamp(18px,5vw,34px);right:auto;top:28%;bottom:auto;gap:clamp(8px,1.6vw,12px);padding:clamp(15px,2.8vw,22px);border-radius:12px;font-size:clamp(13px,2.7vw,18px);opacity:1!important;transform:none!important;filter:none!important}
 body .hero-stat{z-index:8;display:flex!important;bottom:auto;border-radius:12px;opacity:1!important;transform:none!important;filter:none!important}
 body .hero-stat-years{left:auto;right:clamp(18px,4.5vw,30px);top:34%;width:clamp(132px,29vw,184px);padding:clamp(17px,3.5vw,25px) 14px}
 body .hero-stat-years b{font-size:clamp(48px,11vw,72px)}
 body .hero-title{z-index:9;left:clamp(44px,12vw,120px);top:50%;bottom:auto;width:min(78%,520px);transform:none!important}
 body .hero-title h1{font-size:clamp(52px,12.4vw,80px);line-height:.88}
 body .hero-buttons{display:none!important}
 body .hero-stat-projects{z-index:9;left:clamp(22px,5vw,34px);top:67%;right:auto;padding:clamp(16px,3vw,22px)}
 body .hero-stat-projects img{width:clamp(48px,10vw,66px)}
 body .hero-stat-projects span b{font-size:clamp(28px,6vw,40px)}
 body .hero-copy{z-index:10;display:block!important;right:auto;bottom:auto;width:auto;color:var(--ink);font-size:clamp(17px,3.7vw,24px);line-height:1.45;opacity:1!important;transform:none!important;filter:none!important}
 body .hero-copy-left{left:clamp(20px,5vw,32px);top:84%;width:86%}
 body .hero-copy-right{left:clamp(20px,5vw,32px);top:88%;width:88%}
}

@media(max-width:479px){
 body .hero-word{left:14px;right:14px;top:92px;font-size:29vw}
 body .hero-person{top:clamp(-96px,-16vw,-60px);height:calc(100% - 245px);object-position:50% 20%}
 body .hero-traits{left:14px;top:27.5%;padding:13px}
 body .hero-stat-years{right:14px;top:34%;width:126px;padding:15px 10px}
 body .hero-title{left:24px;top:50.5%;width:83%}
 body .hero-stat-projects{left:18px;top:67%}
 body .hero-copy-left{left:20px;top:84%;width:88%}
 body .hero-copy-right{left:20px;top:88.2%;width:88%}
}

/* V7.7 journey photography and compact mobile refinements. */
.journey-avatar-stack img:first-child{object-position:var(--photo-position,50% 50%)}
.journey-avatar-stack img:last-child{object-fit:contain;object-position:center;padding:7px;background:var(--orange)}

.journey-modal{padding:clamp(14px,2vw,28px)}
.journey-modal-backdrop{background:#111b;backdrop-filter:blur(16px)}
.journey-modal-card{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(310px,.92fr);width:min(94vw,1040px);max-height:min(86vh,720px);padding:10px;overflow:hidden;border:1px solid #ffffff70;border-radius:22px;background:#e9e5db;box-shadow:0 35px 120px #0006}
.journey-modal-media{position:relative;min-height:0;aspect-ratio:1/1;margin:0;overflow:hidden;border:1px solid #ffffff70;border-radius:15px;background:#d8d2c3}
.journey-modal-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,#1113);pointer-events:none}
.journey-modal-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,.9,.3,1)}
.journey-modal:not([hidden]) .journey-modal-media img{transform:scale(1.015)}
.journey-modal-content{display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,4vw,58px)}
.journey-modal-card small{align-self:flex-start;padding:7px 10px;border-radius:999px;background:var(--orange);color:#fff;font-size:12px;line-height:1;letter-spacing:.06em}
.journey-modal-card h3{margin:22px 0 16px;font-size:clamp(34px,3.2vw,54px);letter-spacing:-.045em}
.journey-modal-card p{font-size:clamp(15px,1.1vw,19px)}
.journey-modal-extra{margin-top:18px!important;padding-top:18px;border-top:1px solid #1112}
.journey-modal-close{z-index:3;right:20px;top:20px;border:1px solid #ffffff80;border-radius:50%;box-shadow:0 8px 24px #0002}

@media(max-width:767px){
 body .sidebar .side-cta{right:58px!important;width:clamp(104px,28vw,148px)!important}
 .journey-line{left:0;width:20px}
 .journey-modal-card{grid-template-columns:1fr;width:min(94vw,560px);max-height:90vh;padding:8px;border-radius:18px;overflow:auto}
 .journey-modal-media{min-height:0;aspect-ratio:1/1;border-radius:12px}
 .journey-modal-content{padding:24px 18px 22px}
 .journey-modal-card h3{margin:16px 0 12px;font-size:clamp(30px,9vw,42px)}
 .journey-modal-card p{font-size:15px}
 .journey-modal-close{position:fixed;right:22px;top:22px}
}

@media(max-width:390px){
 body .sidebar .side-cta{right:54px!important;width:104px!important}
}

/* Frosted-glass sidebar: content travelling behind the menu remains visible,
   but receives the same deep blur as the reference navigation. */
@media(min-width:768px){
 .sidebar .side-panel::before{
   border-color:#ffffff2e;
   background:rgba(24,24,24,.72);
   -webkit-backdrop-filter:blur(24px) saturate(1.16);
   backdrop-filter:blur(24px) saturate(1.16);
   box-shadow:inset 0 1px 0 #ffffff1f,0 16px 44px #00000014;
 }
 .sidebar.light-mode .side-panel::before{
   border-color:#ffffff8c;
   background:rgba(216,210,195,.64);
   -webkit-backdrop-filter:blur(24px) saturate(1.12);
   backdrop-filter:blur(24px) saturate(1.12);
   box-shadow:inset 0 1px 0 #ffffff99,0 16px 44px #5e574d14;
 }
}
@media(max-width:767px){
 .side-top,.side-menu{
   background:rgba(228,224,206,.68)!important;
   -webkit-backdrop-filter:blur(22px) saturate(1.12);
   backdrop-filter:blur(22px) saturate(1.12);
   box-shadow:inset 0 1px 0 #ffffffa6,0 14px 40px #4b463d1c;
 }
}

/* Keep the expanded mobile menu fitted to its contents after viewport changes.
   Earlier portrait rules pin the sidebar to both top and bottom; this final
   override releases the bottom edge so the glass panel never stretches. */
@media(max-width:767px){
  .sidebar.mobile-open{
    bottom:auto!important;
    display:block!important;
    height:auto!important;
    max-height:calc(100dvh - 28px);
    overflow:visible!important;
  }
  .sidebar.mobile-open .side-menu{
    display:block!important;
    flex:none!important;
    height:max-content!important;
    min-height:0!important;
    max-height:calc(100dvh - 92px);
    overflow:auto!important;
  }
  .sidebar.mobile-open .side-menu nav{
    height:max-content!important;
    min-height:0!important;
  }
}

/* The persistent desktop/tablet navigation also follows its content instead
   of absorbing all unused sidebar height on tall or narrow viewports. */
@media(min-width:768px){
  .sidebar .side-menu{
    flex:0 0 auto!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  .sidebar .side-menu nav{
    height:max-content!important;
    min-height:0!important;
  }
}

/* Super Pollo Journey — scroll-drawn football playbook. */
.journey-playbook{
  position:absolute;
  z-index:0;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events:none;
}
.journey-pitch-stroke,.journey-pitch-accent,.journey-route-mask,.journey-route{
  fill:none;
  vector-effect:non-scaling-stroke;
}
.journey-pitch-stroke{
  stroke:#111;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.72;
}
.journey-pitch-accent{
  stroke:var(--orange);
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.journey-center-circle{transform-box:fill-box;transform-origin:center;transform:scaleX(var(--journey-circle-x,1))}
.journey-route-mask{stroke:#fff;stroke-width:18;stroke-linecap:round}
.journey-route{
  stroke:#111;
  stroke-width:2.6;
  stroke-linecap:round;
  stroke-dasharray:13 11;
  opacity:.94;
}
.journey-arrow-tip path{
  fill:var(--orange);
  stroke:none;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.journey-goal{
  stroke:var(--orange);
  stroke-width:2;
  vector-effect:non-scaling-stroke;
  transform-box:fill-box;
  transform-origin:center;
  transform:scale(.72);
}
.journey-tactic-mark{opacity:0;transition:opacity .5s ease,transform .7s cubic-bezier(.22,1,.36,1)}
.journey-tactic-mark>*{transform-box:fill-box;transform-origin:center;transform:scale(.25);transition:transform .7s cubic-bezier(.22,1,.36,1)}
.journey-tactic-mark.active{opacity:1}
.journey-tactic-mark.active>*{transform:scale(1)}
.journey-goal.active{transform:scale(1)}
.journey-ball{fill:var(--orange);stroke:var(--paper);stroke-width:3;vector-effect:non-scaling-stroke}
.journey-ring circle{fill:var(--paper);stroke:var(--orange);stroke-width:3.2;vector-effect:non-scaling-stroke}
.journey-cross path{fill:none;stroke:#111;stroke-width:4;stroke-linecap:round;vector-effect:non-scaling-stroke}
.journey-card{
  z-index:2;
  isolation:isolate;
  transform-style:preserve-3d;
  will-change:transform;
  --tilt-x:50%;
  --tilt-y:50%;
  --tilt-opacity:0;
}
.journey-card.tilt-active{
  z-index:6;
  transition:transform .2s ease-out!important;
}
.journey-card::after{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  border-radius:inherit;
  background:radial-gradient(circle at var(--tilt-x) var(--tilt-y),rgba(255,255,255,.3) 0,rgba(255,255,255,.12) 18%,transparent 48%);
  opacity:var(--tilt-opacity);
  transition:opacity .28s ease;
  pointer-events:none;
}
.journey-card>*{position:relative;z-index:1}
@media(min-width:768px){
  .journey-card[data-step="0"]{--x:8%!important;--y:105px!important}
  .journey-card[data-step="1"]{--x:55%!important;--y:500px!important}
  .journey-card[data-step="2"]{--x:10%!important;--y:920px!important}
  .journey-card[data-step="3"]{--x:57%!important;--y:1375px!important}
  .journey-card[data-step="4"]{--x:9%!important;--y:1840px!important}
  .journey-card[data-step="5"]{--x:57%!important;--y:2300px!important}
  .journey-card[data-step="6"]{--x:10%!important;--y:2820px!important}
  .overview-card.visible{opacity:1!important;background:#e4e0ce!important}
}
@media(max-width:767px){
  .journey .journey-playbook{left:0!important;right:0!important;width:100%!important;height:100%!important;opacity:.48}
  .journey-pitch-stroke{stroke-width:1.5}.journey-pitch-accent{stroke-width:2}.journey-route{stroke-width:2.5;stroke-dasharray:14 13}
}
@media(prefers-reduced-motion:reduce){
  .journey-tactic-mark{opacity:1;transition:none}.journey-tactic-mark>*{transform:none;transition:none}
  .journey-card{transform:none!important}
}
@media(hover:none){.journey-card::after{display:none}}

/* Portrait desktop/tablet composition. The original desktop geometry is
   width-driven; on a tall monitor it leaves the subject too low and creates
   an empty middle band. This keeps the same hierarchy while scaling the
   portrait and controls from the viewport's shorter axis. */
@media(min-width:768px) and (max-aspect-ratio:4/5){
  .hero-stage{min-height:100svh;padding-bottom:0}
  .hero-word{
    left:3vw;
    right:3vw;
    top:4.2vh;
    font-size:clamp(210px,35vw,430px);
  }
  .hero-person{
    left:50%;
    bottom:0;
    width:100vw;
    max-width:none;
    height:75vh;
    margin-left:0;
    object-fit:cover;
    object-position:50% 100%;
  }
  .hero-nav{
    left:3.2vw;
    right:3.2vw;
    top:52.5%;
    gap:2vw;
    font-size:clamp(11px,1.38vw,16px);
  }
  .hero-nav div{gap:1.15vw}
  .hero-title{
    left:54%;
    bottom:5.2%;
    width:min(48vw,560px);
  }
  .hero-title h1{font-size:clamp(58px,7.3vw,86px)}
  .hero-stat-projects{left:17.5%;bottom:18.5%}
  .hero-stat-years{left:20%;bottom:2.8%}
  .hero-traits{right:9%;bottom:37%}
  .hero-copy{bottom:4.4%;font-size:clamp(13px,1.45vw,18px)}
  .hero-copy-left{left:3.2%;width:min(17vw,190px)}
  .hero-copy-right{right:3.2%;width:min(22vw,250px)}
}

/* Compact Journey story modal for laptop and short landscape screens. */
@media(min-width:768px) and (max-width:1400px),
       (min-width:768px) and (max-height:950px){
  .journey-modal{padding:18px}
  .journey-modal-card{
    grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);
    width:min(82vw,1040px);
    max-height:min(78vh,640px);
    border-radius:18px;
  }
  .journey-modal-media{border-radius:12px}
  .journey-modal-content{padding:clamp(24px,2.6vw,38px)}
  .journey-modal-card small{padding:6px 9px;font-size:10px}
  .journey-modal-card h3{
    margin:16px 0 12px;
    font-size:clamp(28px,2.45vw,38px);
    line-height:.98;
  }
  .journey-modal-card p{font-size:clamp(13px,1.05vw,16px);line-height:1.42}
  .journey-modal-extra{margin-top:14px!important;padding-top:14px}
  .journey-modal-close{right:16px;top:16px;width:40px;height:40px}
}

/* Mid-size desktop canvas: the persistent sidebar owns its column, so story
   cards are centered only inside the remaining canvas and never sit below it. */
@media(min-width:900px) and (max-width:1400px){
  .journey-modal{
    --story-canvas-start:calc(1.39vw + clamp(270px,18.54vw,356px) + 16px);
    place-items:center;
    padding:16px 18px 16px var(--story-canvas-start);
  }
  .journey-modal-card{
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    width:min(100%,960px);
    min-height:min(58vh,440px);
    max-height:min(74vh,540px);
    padding:9px;
  }
  .journey-modal-media{
    height:100%;
    min-height:min(55vh,420px);
    aspect-ratio:auto;
  }
  .journey-modal-content{padding:22px}
  .journey-modal-card h3{font-size:clamp(25px,2.8vw,32px)}
  .journey-modal-card p{font-size:clamp(12px,1.35vw,14px)}
}

@media(min-width:768px){
  /* Keep the hand-off from What You Get to Services visually connected. */
  .overview{padding-bottom:8vw}
  .services-new{padding-top:8vw}
}

@media(min-width:768px) and (max-height:760px){
  /* Short landscape screens should not inherit the tall desktop bridge gap. */
  .brand-bridge{min-height:0;padding-top:4.5vw;padding-bottom:1.5vw}
  .faq-section{padding-top:4.5vw}
}

/* Compact desktop / portrait-monitor rhythm. These widths have less usable
   canvas beside the persistent sidebar, so the panoramic section spacing
   must contract without changing the wide-desktop or mobile compositions. */
@media(min-width:768px) and (max-width:1400px){
  .growth{padding-bottom:4.5vw}
  .clients-new{padding-top:4.5vw}
  .brand-bridge{min-height:42vh;padding-top:1.4vw;padding-bottom:1.5vw}
  .faq-section{padding-top:3.5vw}
}

/* The two hero actions physically collapse into the single sidebar CTA. */
.hero-buttons-merge-ghost{box-sizing:border-box!important}
.hero-buttons-merge-ghost>a{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:none!important;
  min-width:0!important;
  margin:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}

/* The reference menu crosses the light/dark section boundary progressively.
   JS paints that moving boundary into every glass panel and gives each control
   the correct foreground at its own vertical position. */
@media(min-width:768px){
  .sidebar .side-panel::before{
    background:var(--panel-theme-bg,rgba(24,24,24,.72))!important;
    border-color:var(--panel-theme-border,rgba(255,255,255,.18))!important;
  }
  .sidebar .side-top>p,
  .sidebar .side-stats>div,
  .sidebar .side-clients{color:var(--menu-fg,#f4f2eb)!important}
  .sidebar .side-social a,
  .sidebar .side-menu a{
    background:var(--menu-chip-bg,rgba(64,64,64,.94))!important;
    color:var(--menu-fg,#f4f2eb)!important;
  }
  .sidebar .side-menu a:hover,
  .sidebar .side-menu a.active{background:var(--orange)!important;color:#fff!important}
  .sidebar .side-stats>div+div{border-color:var(--menu-divider,rgba(255,255,255,.16))!important}
  .sidebar .side-email>span{
    background:var(--menu-email-bg,#111)!important;
    border-color:var(--menu-border,rgba(255,255,255,.12))!important;
    color:var(--menu-fg,#fff)!important;
  }
  .sidebar .side-email .copy-control{color:var(--menu-fg,#fff)!important}
}

/* Minimal sticky footer — adapted from the supplied reference component. */
.site-footer{
  position:relative;
  z-index:22;
  height:clamp(650px,82svh,760px);
  overflow:hidden;
  clip-path:polygon(0 0,100% 0,100% 100%,0 100%);
  background:var(--orange);
  color:#111;
  isolation:isolate;
}
.site-footer-sticky{
  position:fixed;
  inset:auto 0 0;
  height:clamp(650px,82svh,760px);
  background:
    radial-gradient(circle at 17% 5%,rgba(255,244,219,.26),transparent 34%),
    radial-gradient(circle at 88% 82%,rgba(120,24,7,.18),transparent 38%),
    var(--orange);
}
.site-footer-inner{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  height:100%;
  padding:clamp(48px,4.4vw,84px) clamp(28px,3.1vw,60px) clamp(24px,2vw,38px) max(22.4vw,322px);
  overflow:hidden;
}
.site-footer-top{position:relative;z-index:2;display:grid;grid-template-columns:minmax(360px,1.25fr) minmax(420px,1fr);gap:clamp(46px,6vw,118px);align-items:start}
.site-footer-brand{max-width:720px}
.site-footer-logo{display:inline-flex;align-items:center;gap:13px;color:#111;text-decoration:none}
.site-footer-logo>span{display:grid;place-items:center;min-width:112px;height:54px;padding:0 17px;border:2px solid #111;border-radius:9px;font-size:31px;font-weight:900;line-height:1;letter-spacing:-.07em}
.site-footer-logo>small{font-size:10px;font-weight:800;line-height:1.05;letter-spacing:.05em}
.site-footer-kicker{margin:clamp(30px,4vh,52px) 0 10px;font-size:11px;font-weight:800;letter-spacing:.16em}
.site-footer-brand h2{margin:0;max-width:780px;font-size:clamp(50px,5vw,96px);font-weight:700;line-height:.82;letter-spacing:-.075em}
.site-footer-summary{max-width:590px;margin:clamp(24px,3vh,38px) 0 0;font-size:clamp(15px,1.05vw,20px);line-height:1.45}
.site-footer-nav{display:grid;grid-template-columns:repeat(3,minmax(105px,1fr));gap:clamp(20px,3vw,58px);padding-top:7px}
.site-footer-group{display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.site-footer-group h3{margin:0 0 10px;font-size:10px;text-transform:uppercase;letter-spacing:.15em;opacity:.62}
.site-footer-group a{position:relative;color:#111;text-decoration:none;font-size:clamp(13px,.9vw,17px);font-weight:650;line-height:1.25}
.site-footer-group a::after{position:absolute;right:0;bottom:-3px;left:0;height:1.5px;background:#111;content:"";transform:scaleX(0);transform-origin:right;transition:transform .3s ease}
.site-footer-group a:hover::after{transform:scaleX(1);transform-origin:left}
.site-footer-bottom{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto auto;gap:30px;align-items:center;padding-top:19px;border-top:1px solid rgba(17,17,17,.36);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.site-footer-bottom a{color:#111;text-decoration:none}
.site-footer-wordmark{position:absolute;right:-.045em;bottom:-.19em;z-index:0;color:rgba(17,17,17,.1);font-size:clamp(190px,24vw,470px);font-weight:800;line-height:.72;letter-spacing:-.085em;pointer-events:none;user-select:none}
.footer-reveal{opacity:0;filter:blur(12px);transform:translateY(36px);transition:opacity .75s ease var(--footer-delay,0ms),filter .75s ease var(--footer-delay,0ms),transform .75s cubic-bezier(.16,1,.3,1) var(--footer-delay,0ms)}
.site-footer.is-visible .footer-reveal{opacity:1;filter:blur(0);transform:translateY(0)}

@media(min-width:768px) and (max-width:1180px){
  .site-footer-inner{padding-left:max(24vw,300px)}
  .site-footer-top{grid-template-columns:minmax(270px,.9fr) minmax(350px,1.1fr);gap:32px}
  .site-footer-brand h2{font-size:clamp(47px,5.4vw,68px)}
  .site-footer-nav{gap:18px}
}

@media(max-width:767px){
  .site-footer{height:auto;min-height:820px;clip-path:none}
  .site-footer-sticky{position:relative;inset:auto;height:auto;min-height:820px}
  .site-footer-inner{min-height:820px;padding:34px 20px 22px}
  .site-footer-top{grid-template-columns:1fr;gap:45px}
  .site-footer-logo>span{min-width:96px;height:48px;font-size:27px}
  .site-footer-kicker{margin-top:36px}
  .site-footer-brand h2{font-size:clamp(50px,16vw,72px);line-height:.86}
  .site-footer-summary{max-width:540px;font-size:15px}
  .site-footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 24px}
  .site-footer-group:last-child{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-footer-group:last-child h3{grid-column:1/-1}
  .site-footer-bottom{grid-template-columns:1fr auto;gap:10px 20px;margin-top:48px;font-size:9px}
  .site-footer-bottom>span:nth-child(2){display:none}
  .site-footer-wordmark{right:-.03em;bottom:-.05em;font-size:47vw}
}

@media(max-width:420px){
  .site-footer{min-height:880px}
  .site-footer-sticky,.site-footer-inner{min-height:880px}
  .site-footer-logo>small{font-size:9px}
  .site-footer-brand h2{font-size:15vw}
  .site-footer-nav{gap:30px 18px}
}

@media(prefers-reduced-motion:reduce){
  .footer-reveal{opacity:1;filter:none;transform:none;transition:none}
}

/* Mobile hero reset: prevent desktop morph remnants from covering the opening banner. */
@media(max-width:767px){
  .morph-ghost{
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  .sidebar:not(.mobile-open) .side-top>p,
  .sidebar:not(.mobile-open) .side-stats,
  .sidebar:not(.mobile-open) .side-menu,
  .sidebar:not(.mobile-open) .side-clients,
  .sidebar:not(.mobile-open) .side-email{
    display:none!important;
  }
}

