@font-face{font-family:Bornia;src:url("fonts/Bornia-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Bornia;src:url("fonts/Bornia-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Bornia;src:url("fonts/Bornia-SemiBoldItalic.ttf") format("truetype");font-weight:600;font-style:italic;font-display:swap}

:root{
  --ink:#050505;--paper:#efefec;--white:#fff;--blue:#fff;--gray:#a5a5a2;
  --line-dark:rgba(255,255,255,.2);--line-light:rgba(9,9,9,.2);
  --side:clamp(1.25rem,3.6vw,4.6rem);--header-h:5rem;--ease:cubic-bezier(.16,1,.3,1);
  --display:"Bornia","Helvetica Neue",sans-serif;--mono:"Bornia","Helvetica Neue",sans-serif;--velocity:0
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:4rem;background:var(--ink)}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--display);font-size:16px;line-height:1.45;overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}section[id]{scroll-margin-top:4rem}
::selection{color:var(--ink);background:var(--white)}
img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{color:inherit;font:inherit}button,select{cursor:pointer}
p,h1,h2,h3,figure,blockquote,ol,ul{margin:0}ul,ol{padding:0;list-style:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:10000;top:.75rem;left:.75rem;padding:.75rem 1rem;color:#fff;background:#000;transform:translateY(-180%);transition:transform .2s}.skip-link:focus{transform:translateY(0)}
.theme-dark{color:var(--white);background:var(--ink)}.theme-light{color:var(--ink);background:var(--white)}.theme-paper{color:var(--ink);background:var(--paper)}.theme-blue{color:var(--ink);background:var(--white)}

.page-loader{position:fixed;z-index:9999;inset:0;display:grid;align-content:center;padding:var(--side);color:#fff;background:#090909;transition:visibility 0s 1s,transform 1s var(--ease)}
.page-loader span{font-size:clamp(5rem,19vw,20rem);font-weight:900;line-height:.7;letter-spacing:-.09em;transition:transform .8s var(--ease)}
.page-loader i{display:block;width:0;height:1px;margin-top:3rem;background:#fff;animation:loadLine .8s var(--ease) forwards}.page-loader small{margin-top:.75rem;font-family:var(--mono);font-size:.6rem;letter-spacing:.05em;text-transform:uppercase}
body.is-loaded .page-loader{visibility:hidden;transform:translateY(-102%)}body.is-loaded .page-loader span{transform:translateY(-25%)}@keyframes loadLine{to{width:100%}}
.cursor{position:fixed;z-index:9998;top:0;left:0;display:grid;width:.75rem;height:.75rem;place-items:center;color:#fff;background:#fff;border-radius:50%;pointer-events:none;opacity:0;mix-blend-mode:difference;transform:translate3d(-50%,-50%,0);transition:width .45s var(--ease),height .45s var(--ease),opacity .25s}
.cursor span{font-family:var(--mono);font-size:.56rem;text-transform:uppercase;opacity:0}.cursor.is-visible{opacity:1}.cursor.is-active{width:4.75rem;height:4.75rem}.cursor.is-active span{opacity:1}
.scroll-progress{position:fixed;z-index:800;top:0;left:0;width:100%;height:2px;pointer-events:none}.scroll-progress i{display:block;width:100%;height:100%;background:#fff;mix-blend-mode:difference;transform:scaleX(0);transform-origin:left center;will-change:transform}

.site-header{position:fixed;z-index:500;top:0;left:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;height:var(--header-h);padding:0 var(--side);color:#fff;border-bottom:1px solid transparent;mix-blend-mode:difference;transition:height .4s var(--ease),border-color .3s}
.site-header.is-compact{height:4rem;border-color:rgba(255,255,255,.35)}.brand{justify-self:start;font-size:1.5rem;font-weight:900;line-height:1;letter-spacing:-.065em}.brand sup{margin-left:.15rem;font-family:var(--mono);font-size:.4rem;vertical-align:top}
.desktop-nav{display:flex;gap:clamp(1.1rem,2.1vw,2.8rem);font-family:var(--mono);font-size:.61rem;letter-spacing:.03em;text-transform:uppercase}.desktop-nav a,.header-cta{position:relative}.desktop-nav a:after,.header-cta:after{position:absolute;right:0;bottom:-.35rem;left:0;height:1px;background:currentColor;content:"";transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after,.header-cta:hover:after,.header-cta:focus-visible:after{transform:scaleX(1);transform-origin:left}
.header-cta{justify-self:end;font-family:var(--mono);font-size:.63rem;letter-spacing:.03em;text-transform:uppercase}.header-cta span{margin-left:.7rem}.menu-toggle{display:none;width:2.6rem;height:2.6rem;padding:0;color:inherit;background:none;border:0}.menu-toggle>i{display:block;width:1.65rem;height:1px;margin:.42rem auto;background:currentColor;transition:transform .4s var(--ease)}
.mobile-menu{position:fixed;z-index:450;inset:0;display:grid;align-content:space-between;padding:calc(var(--header-h) + 4rem) var(--side) 2rem;color:#fff;background:#090909;visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .8s var(--ease),visibility 0s .8s}.mobile-menu.is-open{visibility:visible;clip-path:inset(0);transition:clip-path .8s var(--ease)}
.mobile-menu nav a{display:flex;align-items:baseline;gap:1rem;padding:.3rem 0;font-size:clamp(2.5rem,12vw,5rem);font-weight:700;line-height:1;letter-spacing:-.06em}.mobile-menu nav small,.mobile-menu p{font-family:var(--mono);font-size:.58rem;letter-spacing:.03em;text-transform:uppercase}

.section-kicker{display:grid;grid-template-columns:5rem 1fr 1fr;align-items:center;padding:1rem var(--side);font-family:var(--mono);font-size:.58rem;letter-spacing:.03em;text-transform:uppercase;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.section-kicker span:last-child{justify-self:end}
.eyebrow{display:flex;align-items:center;gap:.75rem;font-family:var(--mono);font-size:.59rem;letter-spacing:.04em;text-transform:uppercase}.eyebrow>i{display:inline-block;width:.55rem;height:.55rem;background:currentColor;border-radius:50%;animation:blink 2s steps(2,end) infinite}@keyframes blink{50%{opacity:.2}}
.display,.method-heading h2,.relations-heading h2,.fit-heading h2,.insights-heading h2,.contact-intro h2{font-size:clamp(3.4rem,7.8vw,9.4rem);font-weight:700;line-height:.86;letter-spacing:-.075em}em{font-weight:400;font-style:italic}
.reveal{opacity:0;transform:translateY(3.5rem);transition:opacity .9s var(--ease),transform 1.1s var(--ease)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-media{clip-path:inset(100% 0 0 0);transition:clip-path 1.4s var(--ease)}.reveal-media.is-visible{clip-path:inset(0)}
.button-row{display:flex;align-items:center;gap:2rem}.button{display:inline-flex;min-height:3.7rem;align-items:center;justify-content:space-between;gap:2.2rem;padding:.9rem 1.2rem;font-family:var(--mono);font-size:.6rem;letter-spacing:.03em;text-transform:uppercase;border:1px solid;transition:color .35s var(--ease),background .35s var(--ease),transform .35s var(--ease)}.button:hover{transform:translateY(-.2rem)}.button-light{color:#090909;background:#fff;border-color:#fff}.button-light:hover{color:#fff;background:transparent}.button-dark{color:#fff;background:#090909;border-color:#090909}.button-dark:hover{color:#090909;background:transparent}.button-dark-on-blue{color:#fff;background:#090909;border-color:#090909}.button-dark-on-blue:hover{color:#090909;background:#fff;border-color:#fff}
.text-link{display:inline-flex;width:max-content;gap:1.4rem;padding-bottom:.35rem;font-family:var(--mono);font-size:.61rem;letter-spacing:.03em;text-transform:uppercase;border-bottom:1px solid currentColor}.text-link span{transition:transform .35s var(--ease)}.text-link:hover span{transform:translate(.2rem,-.2rem)}

/* Hero */
.hero{position:relative;min-height:100svh;padding:calc(var(--header-h) + 4rem) var(--side) 0;isolation:isolate;overflow:hidden}.hero-grid{position:absolute;z-index:-1;inset:0;width:100%;height:100%;opacity:.28;pointer-events:none}.hero:after{position:absolute;z-index:-1;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");content:"";opacity:.12;pointer-events:none}
.hero-meta{display:grid;grid-template-columns:1fr auto;align-items:start;min-height:4rem}.hero-meta>p:last-child{font-family:var(--mono);font-size:.58rem;line-height:1.6;letter-spacing:.03em;text-transform:uppercase}.hero-copy{position:relative;z-index:2}.hero h1{margin-top:clamp(2.5rem,8vh,7rem);font-size:clamp(4.2rem,10.7vw,13rem);font-weight:700;line-height:.78;letter-spacing:-.085em}.mask-line{display:block;overflow:hidden}.mask-line>span{display:block;transform:translateY(110%);transition:transform 1.2s var(--ease)}body.is-loaded .mask-line>span{transform:translateY(0)}body.is-loaded .mask-line:nth-child(2)>span{transition-delay:.1s}
.hero-intro{display:grid;grid-template-columns:minmax(16rem,31rem);gap:2rem;width:44%;min-width:25rem;margin:clamp(2.5rem,7vh,6rem) 0 5rem 50%}.hero-intro>p{font-size:clamp(1.2rem,1.6vw,1.85rem);line-height:1.23;letter-spacing:-.025em}
.hero-media{position:relative;z-index:1;width:76%;margin-left:24%;overflow:hidden}.hero-media img{aspect-ratio:16/8.5;object-fit:cover;object-position:center 44%;filter:grayscale(1) contrast(1.08);transform:scale(1.1);transition:transform 1.7s var(--ease)}.hero-media.is-visible img{transform:scale(1)}.hero-media figcaption{display:flex;justify-content:space-between;padding:.7rem 0 0;font-family:var(--mono);font-size:.55rem;letter-spacing:.03em;text-transform:uppercase}
.hero-wordmark{position:relative;z-index:2;margin-top:clamp(5rem,10vw,10rem);margin-right:-.025em;margin-bottom:-.08em;font-size:clamp(8rem,28.7vw,36rem);font-weight:900;line-height:.65;letter-spacing:-.092em;white-space:nowrap;transform:skewY(calc(var(--velocity) * -.02deg));transform-origin:left bottom;will-change:transform}

/* Client strip */
.client-strip{padding:0 0 3rem}.client-strip__head{display:flex;justify-content:space-between;padding:1rem var(--side);font-family:var(--mono);font-size:.56rem;text-transform:uppercase;border-bottom:1px solid var(--line-light)}.client-strip__viewport{overflow:hidden}.client-strip__track{display:flex;width:max-content;align-items:center;gap:4.5rem;padding:3.2rem 2rem;animation:clientMove 40s linear infinite}.client-strip__track img{width:auto;max-width:9rem;height:2.6rem;object-fit:contain;filter:grayscale(1);mix-blend-mode:multiply;opacity:.6}@keyframes clientMove{to{transform:translateX(-50%)}}

/* Tension */
.tension{padding-bottom:clamp(6rem,12vw,13rem)}.tension-grid{display:grid;grid-template-columns:2fr 1fr;gap:6vw;padding:clamp(6rem,12vw,13rem) var(--side) clamp(5rem,9vw,9rem)}.tension-copy{align-self:end;max-width:32rem}.tension-copy p:first-child{margin-bottom:3rem;font-size:clamp(1.25rem,1.8vw,2rem);line-height:1.25;letter-spacing:-.025em}.tension-copy p:last-child{color:#4c4c49}.friction-list{border-top:1px solid var(--line-light)}.friction-list>div{display:grid;grid-template-columns:6rem 1fr;align-items:center;min-height:6rem;padding:0 var(--side);border-bottom:1px solid var(--line-light);transition:color .5s var(--ease),background .5s var(--ease),padding .5s var(--ease)}.friction-list>div:hover{color:#fff;background:#090909;padding-left:calc(var(--side) + 1rem)}.friction-list span{font-family:var(--mono);font-size:.56rem}.friction-list p{font-size:clamp(1.35rem,2.1vw,2.6rem);letter-spacing:-.035em}

/* Route */
.route-promo{position:relative;min-height:100svh;padding-bottom:2rem;overflow:hidden}.route-promo__meta{display:grid;grid-template-columns:1fr 1fr 1fr;padding:1rem var(--side);font-family:var(--mono);font-size:.57rem;text-transform:uppercase;border-top:1px solid;border-bottom:1px solid}.route-promo__meta span:nth-child(2){text-align:center}.route-promo__meta span:last-child{text-align:right}.route-promo__grid{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;padding:clamp(6rem,11vw,12rem) var(--side)}.route-promo__copy h2{max-width:10ch;margin-top:2rem;font-size:clamp(4rem,8.5vw,10rem);font-weight:700;line-height:.82;letter-spacing:-.08em}.route-promo__detail{align-self:end}.route-promo__detail>p{max-width:31rem;font-size:clamp(1.1rem,1.5vw,1.55rem);line-height:1.3}.route-promo__detail ul{display:flex;flex-wrap:wrap;gap:.5rem;margin:2rem 0 3rem}.route-promo__detail li{padding:.5rem .65rem;font-family:var(--mono);font-size:.54rem;text-transform:uppercase;border:1px solid rgba(255,255,255,.45)}.route-promo__number{position:absolute;right:-.04em;bottom:-.1em;color:rgba(255,255,255,.12);font-size:clamp(9rem,28vw,34rem);font-weight:900;line-height:.7;letter-spacing:-.09em;white-space:nowrap}

/* Capabilities */
.capabilities{padding-bottom:clamp(7rem,12vw,14rem)}.capabilities-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:8vw;padding:clamp(6rem,10vw,11rem) var(--side) 0}.capabilities-intro{position:sticky;top:8rem;align-self:start}.capabilities-intro h2{max-width:10ch;margin:2rem 0 2.5rem;font-size:clamp(3rem,5.6vw,7rem);font-weight:700;line-height:.9;letter-spacing:-.07em}.capabilities-intro>p:last-child{max-width:29rem;color:#aaa;font-size:clamp(1rem,1.25vw,1.35rem)}
.capability{border-top:1px solid var(--line-dark)}.capability:last-child{border-bottom:1px solid var(--line-dark)}.capability>button{display:grid;grid-template-columns:3.5rem 1fr 2rem;align-items:center;width:100%;min-height:clamp(7rem,11vw,11.5rem);padding:0;color:inherit;text-align:left;background:transparent;border:0}.capability>button>b{font-size:clamp(2.1rem,4.2vw,5.1rem);font-weight:400;line-height:.95;letter-spacing:-.065em;transition:transform .45s var(--ease),font-weight .45s var(--ease)}.capability:hover>button>b,.capability.is-open>button>b{font-weight:700;transform:translateX(.6rem)}.capability>button>span{align-self:start;margin-top:2.75rem;font-family:var(--mono);font-size:.55rem}.capability>button>i{font-size:1.5rem;font-style:normal;transition:transform .5s var(--ease)}.capability.is-open>button>i{transform:rotate(135deg)}
.capability>div{max-height:0;padding-left:3.5rem;overflow:hidden;opacity:0;transition:max-height .7s var(--ease),opacity .5s,padding-bottom .6s var(--ease)}.capability.is-open>div{max-height:24rem;padding-bottom:2.75rem;opacity:1}.capability>div p{max-width:34rem;margin-bottom:1.5rem;color:#b7b7b7;font-size:1.05rem}.capability>div ul{display:flex;flex-wrap:wrap;gap:.5rem}.capability>div li{padding:.5rem .7rem;font-family:var(--mono);font-size:.54rem;text-transform:uppercase;border:1px solid var(--line-dark)}

/* Method */
.method{padding-bottom:clamp(8rem,15vw,16rem);overflow:hidden}.method-heading{display:grid;grid-template-columns:1.5fr .5fr;gap:5vw;align-items:end;padding:clamp(7rem,12vw,14rem) var(--side) clamp(7rem,12vw,12rem)}.method-heading p{max-width:27rem;padding-bottom:.5rem;color:#4c4c49}.cycle{display:grid;grid-template-columns:minmax(36rem,1.25fr) minmax(19rem,.75fr);gap:10vw;align-items:center;padding:0 calc(var(--side) + 4vw)}.cycle-visual{position:relative;width:min(42vw,42rem);aspect-ratio:1}.cycle-visual svg{width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}.cycle-visual circle{fill:none;stroke:rgba(9,9,9,.16);stroke-width:1}.cycle-visual .cycle-progress{stroke:#090909;stroke-width:2;stroke-dasharray:1395;stroke-dashoffset:1163;transition:stroke-dashoffset .8s var(--ease)}.cycle-center{position:absolute;top:50%;left:50%;display:grid;place-items:center;transform:translate(-50%,-50%)}.cycle-center span{font-family:var(--mono);font-size:.55rem;text-transform:uppercase}.cycle-center strong{font-size:clamp(5rem,10vw,9rem);font-weight:400;line-height:.9}
.cycle-point{position:absolute;display:flex;flex-direction:column;gap:.2rem;padding:.3rem;font-family:var(--mono);font-size:.59rem;text-align:left;text-transform:uppercase;background:var(--paper);border:0;transform:translate(-50%,-50%);transition:font-weight .3s,transform .4s var(--ease)}.cycle-point:before{position:absolute;top:50%;left:-.9rem;width:.45rem;height:.45rem;background:#090909;border-radius:50%;content:"";transform:translateY(-50%) scale(.5);transition:transform .4s var(--ease)}.cycle-point.is-active{font-weight:700;transform:translate(-50%,-50%) scale(1.12)}.cycle-point.is-active:before{transform:translateY(-50%) scale(1)}.cycle-point span{font-size:.5rem;color:#777}.point-1{top:12%;left:50%}.point-2{top:30%;left:88%}.point-3{top:72%;left:88%}.point-4{top:90%;left:50%}.point-5{top:72%;left:12%}.point-6{top:30%;left:12%}
.cycle-copy{padding-left:2rem;border-left:1px solid var(--line-light)}.cycle-count{display:flex;justify-content:space-between;margin-bottom:clamp(4rem,8vw,8rem);font-family:var(--mono);font-size:.59rem}.cycle-copy h3{margin-bottom:1.25rem;font-size:clamp(3rem,5vw,6rem);font-weight:700;line-height:.9;letter-spacing:-.065em}.cycle-copy>p{max-width:29rem;min-height:6.5rem;color:#4d4d49;font-size:1.05rem}.cycle-controls{display:flex;gap:.5rem;margin-top:3rem}.cycle-controls button{display:grid;width:3.5rem;height:3.5rem;place-items:center;background:transparent;border:1px solid var(--line-light);transition:color .3s,background .3s}.cycle-controls button:hover{color:#fff;background:#090909}

/* Cases */
.cases{padding-bottom:clamp(8rem,13vw,14rem)}.cases-heading{padding:clamp(7rem,12vw,13rem) var(--side)}.cases-heading h2{font-size:clamp(3.6rem,8vw,9.5rem);font-weight:700;line-height:.84;letter-spacing:-.08em}.case-slider{margin:0 var(--side);border-top:1px solid var(--line-dark)}.case-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.case-tabs button{display:flex;gap:1.2rem;align-items:baseline;padding:1.3rem 1rem;color:#777;text-align:left;background:none;border:0;border-bottom:1px solid var(--line-dark);font-size:1.1rem;transition:color .35s,background .35s}.case-tabs button+button{border-left:1px solid var(--line-dark)}.case-tabs button span{font-family:var(--mono);font-size:.52rem}.case-tabs button.is-active{color:#090909;background:#fff}
.case-panel{display:grid;grid-template-columns:1.05fr .95fr;min-height:45rem;animation:panelIn .8s var(--ease) both}.case-panel[hidden]{display:none}@keyframes panelIn{from{opacity:0;transform:translateY(2rem)}to{opacity:1;transform:none}}.case-image{position:relative;overflow:hidden}.case-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08);transition:transform 1s var(--ease)}.case-image:hover img{transform:scale(1.035)}.case-image>span{position:absolute;bottom:1rem;left:1rem;padding:.55rem .7rem;color:#090909;background:#fff;font-family:var(--mono);font-size:.54rem;text-transform:uppercase}.case-copy{display:flex;flex-direction:column;padding:clamp(2rem,4vw,5rem);border-left:1px solid var(--line-dark)}.case-copy>div{display:grid;grid-template-columns:auto 1fr;column-gap:1rem;align-items:end}.case-copy>div span{grid-column:1/-1;font-family:var(--mono);font-size:.54rem;text-transform:uppercase}.case-copy strong{font-size:clamp(5rem,10vw,12rem);font-weight:700;line-height:.8;letter-spacing:-.08em}.case-copy small{padding-bottom:.8rem;color:#aaa;font-family:var(--mono);font-size:.56rem;text-transform:uppercase}.case-copy h3{max-width:12ch;margin:auto 0 3rem;font-size:clamp(2.5rem,4.6vw,5.5rem);font-weight:400;line-height:.91;letter-spacing:-.06em}.case-copy blockquote{padding-top:1.5rem;color:#bbb;border-top:1px solid var(--line-dark);font-size:1.05rem}.case-copy>p{margin-top:.8rem;color:#777;font-family:var(--mono);font-size:.54rem;text-transform:uppercase}

/* Relations */
.relations{padding-bottom:clamp(7rem,13vw,14rem)}.relations-heading{padding:clamp(7rem,11vw,12rem) var(--side)}.relation-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:0 var(--side)}.relation-card{min-height:36rem;padding:1.5rem;border:1px solid var(--line-light);border-right:0;transition:transform .6s var(--ease)}.relation-card:last-child{border-right:1px solid var(--line-light)}.relation-card:hover{position:relative;z-index:2;transform:translateY(-1rem)}.relation-card>div{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.55rem;text-transform:uppercase}.relation-card h3{max-width:8ch;margin:clamp(5rem,10vw,9rem) 0 1.25rem;font-size:clamp(2.3rem,4.2vw,5rem);font-weight:700;line-height:.9;letter-spacing:-.06em}.relation-card>p{max-width:25rem;min-height:6rem;color:#575753}.relation-card ul{margin-top:3rem;border-top:1px solid var(--line-light)}.relation-card li{padding:.7rem 0;font-family:var(--mono);font-size:.55rem;text-transform:uppercase;border-bottom:1px solid var(--line-light)}.relation-card-dark{color:#fff;background:#090909}.relation-card-dark>p{color:#aaa}.relation-card-dark ul,.relation-card-dark li{border-color:var(--line-dark)}

/* Fit */
.fit{padding-bottom:clamp(8rem,12vw,14rem)}.fit-heading{padding:clamp(7rem,12vw,13rem) var(--side)}.fit-grid{display:grid;grid-template-columns:1fr 1fr;margin:0 var(--side);border:1px solid var(--line-light)}.fit-grid article{padding:clamp(1.5rem,3vw,3rem)}.fit-grid article:last-child{color:#fff;background:#090909}.fit-grid h3{padding-bottom:2rem;font-family:var(--mono);font-size:.58rem;text-transform:uppercase;border-bottom:1px solid currentColor}.fit-grid li{padding:1.2rem 0;font-size:clamp(1.2rem,1.8vw,2rem);line-height:1.12;letter-spacing:-.03em;border-bottom:1px solid currentColor}

/* About */
.about{padding-bottom:clamp(8rem,13vw,14rem)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:clamp(7rem,12vw,13rem) var(--side)}.about-media{align-self:start;overflow:hidden}.about-media img{aspect-ratio:4/5;object-fit:cover;filter:grayscale(1) contrast(1.1);transform:scale(1.1);transition:transform 1.4s var(--ease)}.about-media.is-visible img{transform:scale(1)}.about-copy h2{margin:2rem 0 3rem;font-size:clamp(3rem,6vw,7.2rem);font-weight:700;line-height:.86;letter-spacing:-.075em}.about-copy>p:not(.eyebrow){max-width:34rem;margin-bottom:1.5rem;color:#aaa;font-size:1.05rem}.beliefs{display:grid;grid-template-columns:repeat(4,1fr);padding:0 var(--side);border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}.beliefs span{min-height:10rem;padding:1.5rem;font-size:clamp(1.2rem,1.8vw,2rem);line-height:1.1;border-right:1px solid var(--line-dark)}.beliefs span:last-child{border-right:0}

/* Insights */
.insights{padding-bottom:clamp(8rem,13vw,14rem)}.insights-heading{display:grid;grid-template-columns:1.5fr .5fr;gap:5vw;align-items:end;padding:clamp(7rem,12vw,13rem) var(--side)}.insights-heading .text-link{margin-bottom:.6rem}.insight-grid{display:grid;grid-template-columns:1.25fr .875fr .875fr;gap:1px;margin:0 var(--side);background:#090909;border:1px solid #090909}.insight-card{background:var(--paper)}.insight-card>a{display:block;height:100%}.insight-card img{aspect-ratio:16/11;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter .5s,transform .8s var(--ease)}.insight-card:hover img{filter:grayscale(0) contrast(1.05)}.insight-card>a>div,.insight-card>div:last-child{padding:1.5rem}.insight-card span,.insight-card b{font-family:var(--mono);font-size:.54rem;font-weight:400;text-transform:uppercase}.insight-card h3{min-height:5.2em;margin:2.5rem 0 1.2rem;font-size:clamp(1.6rem,2.3vw,2.7rem);font-weight:700;line-height:.98;letter-spacing:-.05em}.insight-art{position:relative;display:grid;aspect-ratio:4/3;place-items:center;overflow:hidden;color:#fff;background:#090909}.insight-art>span{position:absolute;top:1rem;left:1rem}.insight-art i{position:relative;width:45%;aspect-ratio:1;border:1px solid #fff;border-radius:50%;transition:transform .8s var(--ease)}.insight-art i:before,.insight-art i:after{position:absolute;background:#fff;content:""}.insight-art i:before{top:50%;left:-50%;width:200%;height:1px}.insight-art i:after{top:-50%;left:50%;width:1px;height:200%}.insight-art-alt i{border-radius:0;transform:rotate(45deg)}.insight-card:hover .insight-art i{transform:rotate(18deg) scale(1.08)}.insight-card:hover .insight-art-alt i{transform:rotate(63deg) scale(1.08)}

/* FAQ */
.faq{padding-bottom:clamp(8rem,13vw,14rem)}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;padding:clamp(7rem,12vw,13rem) var(--side) 0}.faq-layout>h2{font-size:clamp(3rem,6vw,7.2rem);font-weight:700;line-height:.86;letter-spacing:-.075em}.faq-list{border-top:1px solid var(--line-light)}.faq-item{border-bottom:1px solid var(--line-light)}.faq-item>button{display:grid;grid-template-columns:1fr 2rem;align-items:center;width:100%;min-height:6rem;padding:0;text-align:left;background:none;border:0}.faq-item>button span{font-size:clamp(1.2rem,1.8vw,2rem);letter-spacing:-.03em}.faq-item>button i{font-size:1.5rem;font-style:normal;transition:transform .4s var(--ease)}.faq-item.is-open>button i{transform:rotate(135deg)}.faq-item>div{max-height:0;overflow:hidden;opacity:0;transition:max-height .6s var(--ease),opacity .4s}.faq-item.is-open>div{max-height:14rem;opacity:1}.faq-item>div p{max-width:39rem;padding:0 3rem 2rem 0;color:#555}

/* Contact */
.contact{display:grid;grid-template-columns:.83fr 1.17fr;gap:9vw;padding:clamp(8rem,13vw,14rem) var(--side)}.contact-intro{position:sticky;top:8rem;align-self:start}.contact-intro h2{margin:2.5rem 0 3rem}.contact-intro>p:not(.eyebrow){max-width:28rem;color:#555;font-size:1.05rem}.contact-intro>a{display:inline-block;margin-top:2rem;font-family:var(--mono);font-size:.58rem;text-transform:uppercase;border-bottom:1px solid}.strategy-form{padding-top:2rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.strategy-form label{display:grid;gap:.8rem;margin-bottom:3rem;font-family:var(--mono);font-size:.57rem;text-transform:uppercase}.strategy-form input,.strategy-form textarea,.strategy-form select{width:100%;padding:.8rem 0 1rem;font-family:var(--display);font-size:clamp(1.1rem,1.5vw,1.5rem);text-transform:none;background:transparent;border:0;border-bottom:1px solid #090909;border-radius:0;outline:none;resize:vertical}.strategy-form input:focus,.strategy-form textarea:focus,.strategy-form select:focus{border-bottom-width:3px}.strategy-form [aria-invalid=true]{border-bottom-color:#c60000}.strategy-form ::placeholder{color:#8a8a85;opacity:1}.form-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-top:1rem}.form-footer p{max-width:24rem;color:#666;font-family:var(--mono);font-size:.52rem}.form-note{margin-top:2rem;font-size:1rem}

/* Footer */
.footer{padding:4rem var(--side) 1.5rem;overflow:hidden}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;padding-bottom:6rem;font-family:var(--mono);font-size:.56rem;line-height:1.6;text-transform:uppercase}.footer-top>div{display:grid;justify-self:end;gap:.5rem;text-align:right}.footer-top a{border-bottom:1px solid var(--line-dark)}.footer-wordmark{margin-right:-.025em;font-size:clamp(8rem,28vw,34rem);font-weight:900;line-height:.68;letter-spacing:-.092em;white-space:nowrap}.footer-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;padding-top:1.2rem;font-family:var(--mono);font-size:.51rem;text-transform:uppercase;border-top:1px solid var(--line-dark)}.footer-bottom span:nth-child(2){text-align:center}.footer-bottom a{text-align:right}

@supports(animation-timeline:view()){
  .hero-media img,.about-media img,.case-image img{animation:nativeParallax linear both;animation-timeline:view();animation-range:entry 0% exit 100%}@keyframes nativeParallax{from{transform:scale(1.12) translateY(-3%)}to{transform:scale(1.12) translateY(3%)}}
}

@media(max-width:1100px){.desktop-nav{display:none}.site-header{grid-template-columns:1fr auto auto;gap:1.5rem}.menu-toggle{display:block}.menu-open .menu-toggle>i:first-of-type{transform:translateY(.22rem) rotate(45deg)}.menu-open .menu-toggle>i:last-of-type{transform:translateY(-.22rem) rotate(-45deg)}.capabilities-layout{grid-template-columns:.7fr 1.3fr;gap:4vw}.cycle{gap:4vw;padding:0 var(--side)}.cycle-visual{width:min(53vw,38rem)}}
@media(max-width:820px){
  :root{--header-h:4.3rem}.header-cta{display:none}.cursor{display:none}.site-header{grid-template-columns:1fr auto}.section-kicker{grid-template-columns:3rem 1fr}.section-kicker span:last-child{display:none}
  .hero{padding-top:calc(var(--header-h) + 2.5rem)}.hero-meta{grid-template-columns:1fr}.hero-meta>p:last-child{display:none}.hero h1{margin-top:4rem;font-size:clamp(4rem,17vw,8rem);line-height:.82}.hero-intro{width:100%;min-width:0;margin:3rem 0 4rem}.hero-intro>p{max-width:33rem}.hero-media{width:calc(100% + var(--side)*2);margin-left:calc(var(--side)*-1)}.hero-media img{aspect-ratio:4/5;object-position:63% center}.hero-media figcaption{padding:.7rem var(--side) 0}.hero-wordmark{margin-top:6rem;font-size:28vw}
  .client-strip__head span:last-child{display:none}.tension-grid{grid-template-columns:1fr;gap:4rem}.friction-list>div{grid-template-columns:3rem 1fr;min-height:5rem}
  .route-promo__grid{grid-template-columns:1fr;gap:5rem}.route-promo__detail{max-width:39rem}.route-promo__number{font-size:38vw}
  .capabilities-layout{grid-template-columns:1fr;gap:6rem}.capabilities-intro{position:relative;top:auto}.method-heading,.insights-heading{grid-template-columns:1fr;gap:3rem}.cycle{grid-template-columns:1fr;gap:5rem}.cycle-visual{width:min(82vw,38rem);margin:0 auto}.cycle-copy{max-width:34rem;padding-left:0;border-left:0}.cycle-count{margin-bottom:3rem}
  .case-panel{grid-template-columns:1fr}.case-image{aspect-ratio:4/3}.case-copy{min-height:36rem;border-top:1px solid var(--line-dark);border-left:0}.case-copy h3{margin:6rem 0 3rem}.case-tabs button{font-size:.9rem}.case-tabs button span{display:none}
  .relation-grid{grid-template-columns:1fr}.relation-card{min-height:31rem;border-right:1px solid var(--line-light);border-bottom:0}.relation-card:last-child{border-bottom:1px solid var(--line-light)}.relation-card h3{margin:5rem 0 1.25rem}
  .fit-grid{grid-template-columns:1fr}.about-grid{grid-template-columns:1fr}.about-media{width:74%}.beliefs{grid-template-columns:1fr 1fr}.beliefs span:nth-child(2){border-right:0}.beliefs span:nth-child(-n+2){border-bottom:1px solid var(--line-dark)}
  .insight-grid{grid-template-columns:1fr}.insight-card h3{min-height:0}.faq-layout{grid-template-columns:1fr;gap:5rem}.contact{grid-template-columns:1fr}.contact-intro{position:relative;top:auto}.footer-top{grid-template-columns:1fr 1fr;gap:3rem}.footer-top>div{grid-column:1/-1;justify-self:start;text-align:left}
}
@media(max-width:560px){
  :root{--side:1rem}.button-row{flex-direction:column;align-items:flex-start;gap:1.5rem}.button{width:100%}.hero h1{font-size:18vw}.hero-intro{margin-bottom:3rem}.hero-media figcaption span:last-child{display:none}.display,.method-heading h2,.relations-heading h2,.fit-heading h2,.insights-heading h2,.contact-intro h2{font-size:15vw}.tension-grid,.method-heading,.relations-heading,.fit-heading,.insights-heading{padding-top:6rem;padding-bottom:6rem}.friction-list>div:hover{padding-left:var(--side)}
  .route-promo__meta{grid-template-columns:1fr 1fr}.route-promo__meta span:nth-child(2){text-align:right}.route-promo__meta span:last-child{display:none}.route-promo__copy h2{font-size:17vw}.route-promo__grid{padding-top:5rem}.capability>button{grid-template-columns:2.5rem 1fr 1.5rem}.capability>button>b{font-size:2rem}.capability>button>span{margin-top:2.6rem}.capability>div{padding-left:2.5rem}
  .cycle{padding:0 1.8rem}.cycle-visual{width:78vw}.cycle-point{font-size:.48rem}.point-2,.point-3{left:92%}.point-5,.point-6{left:8%}.cases-heading{padding:6rem var(--side)}.cases-heading h2{font-size:15vw}.case-copy{padding:2rem}.case-tabs button{justify-content:center;padding:1rem .5rem;font-size:.72rem}.relation-card{min-height:28rem}.about-media{width:100%}.beliefs{grid-template-columns:1fr}.beliefs span{min-height:8rem;border-right:0;border-bottom:1px solid var(--line-dark)}.beliefs span:last-child{border-bottom:0}
  .form-row{grid-template-columns:1fr;gap:0}.form-footer{align-items:stretch;flex-direction:column}.footer{padding-top:3rem}.footer-top{grid-template-columns:1fr}.footer-wordmark{font-size:27vw}.footer-bottom{grid-template-columns:1fr;gap:.5rem}.footer-bottom span:nth-child(2),.footer-bottom a{text-align:left}
}

/* V8: CTAs con presencia editorial y área táctil clara. */
.button{min-width:17rem;min-height:4.7rem;padding:1.05rem 1.4rem;font-size:.82rem;font-weight:700;letter-spacing:.065em}
.button span{display:grid;min-width:2rem;height:2rem;place-items:center;font-size:1.15rem;line-height:1}
.button-row{gap:1.25rem}
.text-link{padding:.75rem 0;font-size:.8rem;font-weight:700;letter-spacing:.06em}
.hero .text-link{min-width:14rem;min-height:4.7rem;align-items:center;justify-content:space-between;padding:1rem 1.2rem;border:1px solid currentColor}
.header-cta{display:inline-flex;min-height:3.15rem;align-items:center;padding:.7rem 1rem;border:1px solid currentColor;font-size:.75rem;font-weight:700;letter-spacing:.06em}
.header-cta:after{display:none}
.contact-intro>a{display:inline-flex;min-width:19rem;min-height:4.2rem;align-items:center;margin-top:2.3rem;padding:1rem 1.2rem;font-size:.8rem;font-weight:700;letter-spacing:.06em;border:1px solid currentColor}

@media(max-width:820px){.header-cta{display:none}}
@media(max-width:560px){.button,.hero .text-link,.contact-intro>a{width:100%;min-width:0;min-height:4.6rem}.text-link{font-size:.78rem}}
@media(pointer:coarse),(prefers-reduced-motion:reduce){.cursor{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.page-loader{display:none}.reveal{opacity:1;transform:none}.reveal-media{clip-path:none}.mask-line>span{transform:none}.client-strip__track{animation:none}}

/* V9: bespoke 3D growth system — five connected capabilities, no generic renders. */
.capabilities-system{position:relative;width:100%;height:clamp(18rem,30vw,30rem);margin-top:clamp(3rem,5vw,5rem);overflow:hidden;scroll-margin-top:5.5rem;background:#050505;border:1px solid rgba(255,255,255,.32);isolation:isolate}
.capabilities-system:before,.capabilities-system:after{position:absolute;z-index:2;content:"";pointer-events:none}
.capabilities-system:before{top:0;right:2.75rem;width:1px;height:3.25rem;background:rgba(255,255,255,.32)}
.capabilities-system:after{top:3.25rem;right:calc(2.75rem - .22rem);width:.45rem;height:.45rem;background:#fff}
.capabilities-system canvas{position:absolute;inset:0;display:block;width:100%;height:100%}
.capabilities-system figcaption{position:absolute;z-index:3;top:0;right:0;left:0;display:flex;justify-content:space-between;padding:1rem;color:#fff;font-size:var(--type-detail);font-weight:500;line-height:1.35;letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.18);pointer-events:none}
.capabilities-system__mark{position:absolute;z-index:3;right:1rem;bottom:1rem;left:1rem;display:flex;align-items:flex-end;justify-content:space-between;color:#fff;pointer-events:none}
.capabilities-system__mark strong{font-family:"Archivo",sans-serif;font-size:clamp(2.5rem,4.5vw,4.5rem);font-weight:900;line-height:.75;letter-spacing:-.08em}
.capabilities-system__mark span{font-size:var(--type-detail);font-weight:500;line-height:1.35;letter-spacing:.07em;text-transform:uppercase}

@media(max-width:1100px) and (min-width:821px){.capabilities-system{height:24rem}}
@media(max-width:820px){.capabilities-system{width:100%;height:min(68vw,31rem);min-height:20rem;margin-top:3.5rem}.capabilities-layout{gap:5rem}}
@media(max-width:560px){.capabilities-system{height:21rem;min-height:0}.capabilities-system__mark span{display:none}}
@media(prefers-reduced-motion:reduce){.capabilities-system__mark span{display:none}}

/* V10: optical logo normalization — equal rhythm without distorting each mark. */
.client-strip__track{gap:3.5rem;padding:3.6rem 2rem;animation-duration:48s}
.client-strip__track img{flex:0 0 auto;width:9.5rem;max-width:none;height:3.25rem;object-fit:contain;object-position:center;filter:grayscale(1) invert(1) brightness(1.35) contrast(1.5);mix-blend-mode:screen;opacity:.8}
.client-strip__track img.client-logo--alpha{filter:brightness(0) invert(1);mix-blend-mode:normal;opacity:.84}
.client-strip__track img.client-logo--tlocentli{width:11rem;height:3.35rem}
.client-strip__track img.client-logo--whip{width:8.4rem;height:4.15rem}
.client-strip__track img.client-logo--isb{width:8.2rem;height:3.45rem}
.client-strip__track img.client-logo--sazon{width:8.8rem;height:4rem}
.client-strip__track img:nth-child(19n + 5){width:6.3rem;height:4.35rem}
.client-strip__track img:nth-child(19n + 6){width:6.6rem;height:4.3rem}
.client-strip__track img:nth-child(19n + 7){width:10.7rem;height:3.3rem}
.client-strip__track img:nth-child(19n + 8){width:9.3rem;height:3.8rem}
.client-strip__track img:nth-child(19n + 9){width:8.8rem;height:3.9rem}
.client-strip__track img:nth-child(19n + 10){width:8.7rem;height:3.9rem}
.client-strip__track img:nth-child(19n + 11){width:10.8rem;height:3.1rem}
.client-strip__track img:nth-child(19n + 12){width:6.2rem;height:4.4rem}
.client-strip__track img:nth-child(19n + 13){width:10.6rem;height:3.2rem}
.client-strip__track img:nth-child(19n + 14){width:10.7rem;height:3.1rem}
.client-strip__track img:nth-child(19n + 15){width:8.5rem;height:3.9rem}
.client-strip__track img:nth-child(19n + 16){width:10rem;height:3.5rem}
.client-strip__track img:nth-child(19n + 17){width:11.5rem;height:2.7rem}
.client-strip__track img:nth-child(19n + 18){width:9.5rem;height:3.7rem}
.client-strip__track img:nth-child(19n + 19){width:10rem;height:3.4rem}

@media(max-width:820px){.client-strip__track{gap:2.75rem;padding:3.1rem 1.4rem}.client-strip__track img{width:8.5rem;height:3rem}.client-strip__track img.client-logo--tlocentli{width:9.8rem;height:3rem}.client-strip__track img.client-logo--whip{width:7.5rem;height:3.75rem}.client-strip__track img.client-logo--isb{width:7.4rem;height:3.1rem}.client-strip__track img.client-logo--sazon{width:7.8rem;height:3.55rem}}

/* ================================================================
   GROWY / MONOCHROME KINETIC EDITION
   A deliberately asymmetric, full-screen editorial system.
   ================================================================ */

body{background:var(--ink)}
.theme-paper{background:#efefec}
.theme-light{background:#fff}
.theme-dark{background:#050505}

.edge-signature{
  position:fixed;z-index:420;right:0;top:40%;display:flex;width:2.8rem;height:15rem;
  flex-direction:column;align-items:center;justify-content:space-between;padding:.8rem 0;
  color:#fff;background:#050505;border:1px solid rgba(255,255,255,.22);border-right:0;
  font-family:var(--mono);font-size:.5rem;letter-spacing:.04em;text-transform:uppercase;
  mix-blend-mode:difference;pointer-events:none
}
.edge-signature strong{font-family:var(--display);font-size:1.35rem;line-height:1;letter-spacing:-.08em}
.edge-signature span{writing-mode:vertical-rl;transform:rotate(180deg)}

.site-header{height:6rem;padding-right:calc(var(--side) + 2.8rem);background:#050505;mix-blend-mode:normal}
.site-header.is-compact{height:4.5rem;background:rgba(5,5,5,.97);backdrop-filter:none}
.brand{font-size:clamp(2.65rem,3.55vw,4rem);font-weight:700;letter-spacing:-.075em}
.brand sup{font-size:.36rem}
.desktop-nav{font-size:.56rem}

.page-loader span{font-size:clamp(6rem,25vw,28rem);letter-spacing:-.085em}
.page-loader small{justify-self:end}

.section-kicker{grid-template-columns:7rem 1fr 1fr;padding:.9rem var(--side);font-size:.53rem;border-color:currentColor}
.section-kicker span:first-child:after{display:inline-block;width:2.5rem;height:1px;margin-left:.8rem;background:currentColor;vertical-align:middle;content:""}
.display,.method-heading h2,.relations-heading h2,.fit-heading h2,.insights-heading h2,.contact-intro h2{font-size:clamp(4rem,8.55vw,10.5rem);line-height:.82}

/* Hero: wide cinematic image, displaced title, oversized wordmark. */
.hero{min-height:100svh;padding:calc(var(--header-h) + 3.25rem) calc(var(--side) + 2.8rem) 0 var(--side)}
.hero-grid{opacity:.2}
.hero-meta{min-height:2rem}
.hero-meta>p:last-child{max-width:23rem;text-align:right}
.hero-copy{position:relative;margin-top:clamp(4.5rem,10vh,7.5rem)}
.hero h1{width:78%;margin-top:0;font-size:clamp(4.5rem,7.8vw,9.5rem);line-height:.79;letter-spacing:-.09em;transform:skewY(calc(var(--velocity) * -.012deg));transform-origin:left bottom;will-change:transform}
.hero h1 .mask-line:first-child>span{padding-left:21%}
.hero h1 .mask-line:last-child>span{padding-left:0}
.hero h1 .mask-line{padding-bottom:.13em;margin-bottom:-.13em}
.hero-intro{position:absolute;right:1%;top:0;width:31%;min-width:0;margin:0}
.hero-intro>p{font-size:clamp(1.15rem,1.55vw,1.75rem);line-height:1.2}
.hero-media{width:100%;margin:clamp(3rem,6vw,6rem) 0 0;isolation:isolate}
.hero-media:before{position:absolute;z-index:2;top:1rem;left:1rem;padding:.55rem .65rem;color:#050505;background:#fff;font-family:var(--mono);font-size:.5rem;letter-spacing:.03em;text-transform:uppercase;content:"01 / Growth is a system"}
.hero-media:after{position:absolute;z-index:1;inset:0;border:1px solid rgba(255,255,255,.28);content:"";pointer-events:none}
.hero-media img{aspect-ratio:16/8.2;filter:grayscale(1) contrast(1.32) brightness(.78)}
.hero-media figcaption{padding-top:.85rem;color:#aaa}
.hero-wordmark{margin-top:clamp(7rem,13vw,14rem);font-size:29vw;letter-spacing:-.09em}

/* Logos remain inside the black opening movement. */
.client-strip{color:#fff;background:#050505}
.client-strip__head{border-color:rgba(255,255,255,.22)}
.client-strip__track{gap:6rem;padding:4.25rem 2rem}
.client-strip__track img{height:2.4rem;filter:grayscale(1) invert(1) contrast(1.25);mix-blend-mode:screen;opacity:.72}

/* Problem statement. */
.tension-grid{grid-template-columns:1.4fr .6fr;padding-top:clamp(8rem,15vw,17rem)}
.tension .display{font-size:clamp(4.2rem,8.6vw,10.5rem)}
.tension-copy p:first-child{font-size:clamp(1.4rem,2vw,2.25rem)}
.friction-list>div{grid-template-columns:8rem 1fr;min-height:7.2rem}
.friction-list>div:hover{padding-left:calc(var(--side) + 2rem)}
.friction-list p{font-size:clamp(1.6rem,2.65vw,3.3rem)}

/* Diagnostic as an inset, poster-like white panel. */
.route-promo{width:auto;min-height:95svh;margin:0 var(--side);color:#050505;background:#fff;border-right:1px solid #050505;border-left:1px solid #050505}
.route-promo__meta{border-color:#050505}
.route-promo__grid{grid-template-columns:1.32fr .68fr;gap:7vw;padding-top:clamp(7rem,12vw,14rem)}
.route-promo__copy h2{max-width:9ch;font-size:clamp(4.5rem,9.2vw,11rem)}
.route-promo__detail li{border-color:rgba(5,5,5,.45)}
.route-promo__number{color:transparent;-webkit-text-stroke:1px rgba(5,5,5,.2)}

/* Capabilities: oversized typographic controls. */
.capabilities{padding-bottom:clamp(9rem,16vw,18rem)}
.capabilities-layout{grid-template-columns:.7fr 1.3fr;gap:9vw;padding-top:clamp(8rem,13vw,15rem)}
.capabilities-intro h2{font-size:clamp(3.5rem,6.2vw,7.5rem)}
.capability{transition:padding .55s var(--ease),background .45s,color .45s}
.capability>button{min-height:clamp(8rem,12vw,13rem)}
.capability>button>b{font-size:clamp(2.7rem,5.1vw,6.2rem);font-weight:400}
.capability:hover{padding-right:1.25rem;padding-left:1.25rem;color:#050505;background:#fff}
.capability:hover>div p,.capability:hover>button>span{color:#383838}
.capability:hover>div li{border-color:rgba(5,5,5,.25)}

/* The method remains circular, but gains much more negative space. */
.method-heading{grid-template-columns:1.42fr .58fr;padding-top:clamp(9rem,15vw,17rem)}
.method-heading h2{font-size:clamp(4.2rem,8.6vw,10.5rem)}
.cycle{grid-template-columns:minmax(37rem,1.3fr) minmax(20rem,.7fr);padding-right:calc(var(--side) + 4vw);padding-left:calc(var(--side) + 4vw)}
.cycle-visual{width:min(44vw,47rem)}
.cycle-center strong{font-size:clamp(6rem,12vw,12rem)}
.cycle-copy h3{font-size:clamp(3.5rem,5.8vw,7rem)}

/* Cases use the image as a full-screen business canvas. */
.cases-heading{padding-top:clamp(9rem,15vw,17rem)}
.cases-heading h2{font-size:clamp(4.4rem,9vw,11rem)}
.case-slider{margin-right:calc(var(--side) + 2.8rem)}
.case-tabs button{min-height:4.4rem;padding:1.2rem 1.4rem}
.case-panel{grid-template-columns:1.25fr .75fr;min-height:min(80svh,58rem)}
.case-image img{filter:grayscale(1) contrast(1.3) brightness(.86)}
.case-copy strong{font-size:clamp(6rem,11vw,13rem)}
.case-copy h3{font-size:clamp(2.8rem,4.6vw,5.7rem)}

/* Relationship cards are a strict black/white composition. */
.relations-heading{padding-top:clamp(9rem,15vw,17rem)}
.relation-grid{padding-right:calc(var(--side) + 2.8rem)}
.relation-card{min-height:42rem;padding:2rem}
.relation-card h3{font-size:clamp(2.7rem,4.7vw,5.7rem)}
.relation-card:hover{transform:translateY(-1.5rem)}

.fit-heading{padding-top:clamp(9rem,15vw,17rem)}
.fit-grid{margin-right:calc(var(--side) + 2.8rem)}
.fit-grid li{font-size:clamp(1.35rem,2vw,2.35rem)}

/* About becomes a photographic editorial spread. */
.about-grid{grid-template-columns:1.18fr .82fr;gap:7vw;padding-top:clamp(9rem,15vw,17rem)}
.about-media{width:110%;margin-left:-10%}
.about-media img{aspect-ratio:5/6;filter:grayscale(1) contrast(1.38) brightness(.76)}
.about-copy{padding-top:8vw}
.about-copy h2{font-size:clamp(3.8rem,6.8vw,8.2rem)}
.beliefs{padding-right:calc(var(--side) + 2.8rem)}
.beliefs span{min-height:13rem}

.insights-heading{padding-top:clamp(9rem,15vw,17rem)}
.insight-grid{margin-right:calc(var(--side) + 2.8rem)}
.insight-card img,.insight-card:hover img{filter:grayscale(1) contrast(1.25)}
.insight-card:hover img{transform:scale(1.025)}
.faq-layout{padding-top:clamp(9rem,15vw,17rem);padding-right:calc(var(--side) + 5vw)}
.contact{padding-top:clamp(9rem,15vw,17rem);padding-right:calc(var(--side) + 5vw)}

.footer{padding-right:calc(var(--side) + 2.8rem)}
.footer-wordmark{font-size:29vw;letter-spacing:-.09em}

@media(max-width:1100px){
  .edge-signature{display:none}
  .site-header{padding-right:var(--side)}
  .hero{padding-right:var(--side)}
  .case-slider,.relation-grid,.fit-grid,.insight-grid,.beliefs,.footer{margin-right:0;padding-right:var(--side)}
  .case-slider,.fit-grid,.insight-grid{margin-right:var(--side)}
}

@media(max-width:820px){
  .brand{font-size:2rem}
  .section-kicker{grid-template-columns:4rem 1fr}
  .section-kicker span:first-child:after{display:none}
  .hero{padding-top:calc(var(--header-h) + 3rem)}
  .hero-copy{margin-top:4.5rem}
  .hero h1{width:100%;margin-top:0;font-size:clamp(4rem,16.5vw,8rem)}
  .hero h1 .mask-line:first-child>span{padding-left:12%}
  .hero h1 .mask-line:last-child>span{padding-left:0}
  .hero-intro{position:static;width:100%;margin:3.5rem 0 4rem}
  .hero-media{width:calc(100% + var(--side)*2);margin-left:calc(var(--side)*-1)}
  .hero-media:before{left:var(--side)}
  .hero-media img{aspect-ratio:4/5;object-position:62% center}
  .client-strip__track{gap:4.5rem;padding:3.4rem 2rem}
  .tension-grid,.route-promo__grid,.capabilities-layout,.method-heading,.cycle,.case-panel,.about-grid{grid-template-columns:1fr}
  .tension-grid{gap:4rem}
  .friction-list>div{grid-template-columns:4rem 1fr;min-height:6rem}
  .route-promo{margin:0}
  .route-promo__grid{gap:5rem}
  .capabilities-intro{position:relative;top:auto}
  .capability:hover{padding-right:0;padding-left:0;color:#fff;background:transparent}
  .capability:hover>div p{color:#b7b7b7}.capability:hover>div li{border-color:var(--line-dark)}
  .cycle{padding-right:var(--side);padding-left:var(--side)}
  .cycle-visual{width:min(82vw,40rem)}
  .case-slider{margin-right:var(--side)}
  .case-panel{min-height:0}
  .case-image{min-height:58svh}
  .relation-grid,.beliefs{padding-right:var(--side)}
  .about-media{width:80%;margin-left:0}
  .about-copy{padding-top:0}
  .insight-grid,.fit-grid{margin-right:var(--side)}
  .faq-layout,.contact,.footer{padding-right:var(--side)}
}

@media(max-width:560px){
  .site-header{height:4.8rem}
  .brand{font-size:2.2rem}
  .page-loader span{font-size:25vw}
  .hero{padding-top:6.8rem}
  .hero h1{font-size:17vw;line-height:.82}
  .hero h1 .mask-line:first-child>span{padding-left:5%}
  .hero-intro>p{font-size:1.2rem}
  .hero-media:before{top:.75rem;font-size:.44rem}
  .hero-wordmark,.footer-wordmark{font-size:28vw}
  .display,.method-heading h2,.relations-heading h2,.fit-heading h2,.insights-heading h2,.contact-intro h2,.tension .display,.cases-heading h2{font-size:15vw}
  .route-promo__copy h2{font-size:16vw}
  .friction-list p{font-size:1.4rem}
  .capability>button>b{font-size:2.25rem}
  .case-image{min-height:auto;aspect-ratio:4/5}
  .about-media{width:100%}
}

@media(prefers-reduced-motion:reduce){.hero h1{transform:none}.edge-signature{mix-blend-mode:normal}}

.strategy-form [aria-invalid=true]{border-bottom-color:#050505;border-bottom-width:3px}

/* ================================================================
   GROWY / BRAND REFINEMENT V3
   One sans-serif family, original wordmark, fewer generic motifs.
   ================================================================ */

:root{--mono:"Bornia","Helvetica Neue",sans-serif}

/* The original vector wordmark replaces typeset approximations. */
.brand{display:block;width:clamp(10rem,13.5vw,12.5rem);font-size:0;line-height:0;letter-spacing:0}
.brand img{width:100%;height:auto;filter:invert(1)}
.loader-mark{display:block;width:min(86vw,68rem);line-height:0}
.page-loader .loader-mark img{width:100%;height:auto;filter:invert(1)}
.page-loader small{font-weight:500;letter-spacing:.11em}
.hero-wordmark,.footer-wordmark{font-size:0;line-height:0;letter-spacing:0}
.hero-wordmark img,.footer-wordmark img{width:100%;height:auto;filter:invert(1)}
.hero-wordmark{margin-top:clamp(7rem,13vw,14rem);margin-bottom:-.02em}
.footer-wordmark{margin:0}

/* All secondary type is sans serif; hierarchy comes from spacing, not novelty fonts. */
.desktop-nav,.header-cta,.mobile-menu nav small,.mobile-menu p,.section-kicker,.eyebrow,
.button,.text-link,.hero-meta>p:last-child,.hero-media figcaption,.client-strip__head,
.friction-list span,.route-promo__meta,.route-promo__detail li,.capability>button>span,
.capability>div li,.cycle-center span,.cycle-point,.cycle-count,.case-tabs button span,
.case-image>span,.case-copy>div span,.case-copy small,.case-copy>p,.relation-card>div,
.relation-card li,.fit-grid h3,.insight-card span,.insight-card b,.faq-item,
.contact-intro>a,.strategy-form label,.form-footer p,.footer-top,.footer-bottom{
  font-family:var(--display);font-weight:500;letter-spacing:.095em
}

/* Replace blinking dots and dense grids with one intentional editorial signal. */
.eyebrow{gap:.9rem}
.eyebrow>i{width:2.2rem;height:1px;background:currentColor;border-radius:0;animation:none}
.hero-grid{display:none}
.hero:after{opacity:.035}
.hero-rule{position:absolute;z-index:-1;top:calc(var(--header-h) + 7rem);right:calc(var(--side) + 2.8rem);left:var(--side);height:1px;background:rgba(255,255,255,.2);pointer-events:none}
.hero-rule:before{position:absolute;top:-.25rem;right:31%;width:.5rem;height:.5rem;background:#fff;content:""}
.hero-rule:after{position:absolute;top:0;right:31%;width:1px;height:5rem;background:rgba(255,255,255,.2);content:""}
.route-promo__number{display:none}

/* Bespoke typographic covers replace generic circle/diamond illustrations. */
.insight-art{position:relative;display:flex;aspect-ratio:4/3;align-items:stretch;justify-content:space-between;flex-direction:column;padding:1.5rem;color:#fff;background:#050505;border:0}
.insight-art:before{position:absolute;right:1.5rem;bottom:4.2rem;left:1.5rem;height:1px;background:rgba(255,255,255,.32);content:"";transform-origin:left;transition:transform .7s var(--ease)}
.insight-art>span{position:static;font-size:.5rem}
.insight-art>strong{align-self:center;margin:auto 0;font-size:clamp(3rem,5.8vw,7rem);font-weight:700;line-height:.75;letter-spacing:-.075em;transition:transform .7s var(--ease)}
.insight-art>small{font-size:.5rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase}
.insight-art-alt{color:#050505;background:#fff;box-shadow:inset 0 0 0 1px #050505}
.insight-art-alt:before{background:rgba(5,5,5,.32)}
.insight-card:hover .insight-art>strong{transform:translateX(.7rem)}
.insight-card:hover .insight-art:before{transform:scaleX(.55)}

@media(max-width:1100px){
  .hero-rule{right:var(--side)}
  .brand{width:10.5rem}
}

@media(max-width:820px){
  .brand{width:9.7rem}
  .hero-rule{top:calc(var(--header-h) + 5.4rem)}
  .hero-rule:before,.hero-rule:after{right:20%}
}

@media(max-width:560px){
  .brand{width:9.25rem}
  .loader-mark{width:92vw}
  .hero-rule{top:8.9rem}
  .hero-wordmark,.footer-wordmark{font-size:0}
}

/* Exact GROWY® lockup from the supplied reference. */
.wordmark-text{position:relative;display:inline-block;width:max-content;color:#fff;font-family:var(--display);font-weight:700;line-height:.72;letter-spacing:-.078em;white-space:nowrap}
.wordmark-text sup{position:absolute;top:.02em;right:-.68em;font-family:var(--display);font-size:.145em;font-weight:700;line-height:1;letter-spacing:0}
.brand{width:auto;font-size:clamp(2.55rem,3.6vw,3rem);line-height:0}
.brand .wordmark-text{-webkit-text-stroke:.28px currentColor;transform:scaleX(1.16);transform-origin:left center}
.brand .wordmark-text sup{top:-.04em;right:-.62em;font-size:.19em}
.loader-mark{width:max-content;font-size:clamp(6rem,25vw,28rem);-webkit-text-stroke:.012em currentColor}
.hero-wordmark .wordmark-text,.footer-wordmark .wordmark-text{font-size:29vw;-webkit-text-stroke:.008em currentColor}
.hero-wordmark .wordmark-text sup,.footer-wordmark .wordmark-text sup{right:-.42em;font-size:.075em}

@media(max-width:820px){.brand{width:auto;font-size:2.65rem}}
@media(max-width:560px){.brand{width:auto;font-size:2.55rem}.brand .wordmark-text{transform:scaleX(1.4)}.loader-mark{width:max-content;font-size:24vw}.hero-wordmark .wordmark-text,.footer-wordmark .wordmark-text{font-size:28vw}}

/* V5: the logo is the original outlined vector, never browser text. */
.wordmark-vector{position:relative;display:block;line-height:0;overflow:visible}
.wordmark-vector>img{display:block;width:105.7%;max-width:none;height:auto;clip-path:inset(0 5.7% 0 0);filter:invert(1)}
.wordmark-vector>i{position:absolute;z-index:2;top:1%;right:.3%;display:block;width:auto;height:auto;margin:0;color:#fff;background:transparent;font-family:"Helvetica Neue",sans-serif;font-size:.7rem;font-style:normal;font-weight:700;line-height:1;animation:none}
.brand{width:clamp(12rem,15.5vw,13.25rem);font-size:0;line-height:0}
.brand .wordmark-vector{width:100%}
.brand .wordmark-vector>i{top:-1%;right:-.2%;font-size:.72rem}
.loader-mark{width:min(86vw,68rem);font-size:0;-webkit-text-stroke:0}
.page-loader .wordmark-vector>i{top:0;right:0;width:auto;height:auto;margin:0;background:transparent;font-size:clamp(.75rem,1.5vw,1.5rem);animation:none}
.hero-wordmark .wordmark-vector,.footer-wordmark .wordmark-vector{width:100%}
.hero-wordmark .wordmark-vector>img,.footer-wordmark .wordmark-vector>img{width:105.7%;max-width:none}
.hero-wordmark .wordmark-vector>i,.footer-wordmark .wordmark-vector>i{top:0;right:0;font-size:2vw}

@media(max-width:820px){.brand{width:12rem;font-size:0}}
@media(max-width:560px){.brand{width:12rem;font-size:0}.loader-mark{width:92vw;font-size:0}}

/* V6: editable typographic lockup using the verified brand font file. */
@font-face{font-family:"Archivo";src:url("fonts/Archivo-Black.ttf") format("truetype");font-weight:900;font-style:normal;font-display:swap}
.wordmark-type{position:relative;display:inline-block;width:max-content;color:#fff;font-family:"Archivo",sans-serif;font-synthesis:none;font-weight:900;line-height:1;letter-spacing:-.07em;white-space:nowrap}
.wordmark-type sup{position:absolute;top:-.02em;right:-.58em;font-family:"Archivo",sans-serif;font-size:.19em;font-weight:900;line-height:1;letter-spacing:0}
.brand{width:auto;font-size:1.45rem;line-height:0}
.brand .wordmark-type{transform:none}
.loader-mark{width:max-content;font-size:clamp(6rem,25vw,28rem);-webkit-text-stroke:0}
.hero-wordmark .wordmark-type,.footer-wordmark .wordmark-type{font-size:29vw}
.hero-wordmark .wordmark-type sup,.footer-wordmark .wordmark-type sup{right:-.42em;font-size:.075em}

@media(max-width:820px){.brand{width:auto;font-size:1.45rem}}
@media(max-width:560px){.brand{width:auto;font-size:1.45rem}.brand .wordmark-type{transform:none}.loader-mark{width:max-content;font-size:24vw}.hero-wordmark .wordmark-type,.footer-wordmark .wordmark-type{font-size:28vw}}

/* V7: readability pass — editorial microcopy without microscopic type. */
:root{--type-meta:.75rem;--type-detail:.7rem}

.desktop-nav,.header-cta,.mobile-menu nav small,.mobile-menu p,
.section-kicker,.eyebrow,.button,.text-link,.hero-meta>p:last-child,
.hero-media figcaption,.client-strip__head,.friction-list span,
.route-promo__meta,.route-promo__detail li,.capability>button>span,
.capability>div li,.cycle-center span,.cycle-point,.cycle-count,
.case-tabs button span,.case-image>span,.case-copy>div span,
.case-copy small,.case-copy>p,.relation-card>div,.relation-card li,
.fit-grid h3,.insight-card span,.insight-card b,.contact-intro>a,
.strategy-form label,.form-footer p,.footer-top,.footer-bottom{
  font-size:var(--type-meta);
  line-height:1.35;
  letter-spacing:.07em;
}

.page-loader small,.cursor span,.edge-signature,
.cycle-point span,.insight-art>span,.insight-art>small{
  font-size:var(--type-detail);
  line-height:1.35;
  letter-spacing:.07em;
}

.hero-media:before{font-size:var(--type-detail);letter-spacing:.07em}
.route-promo__detail li,.capability>div li{padding:.6rem .78rem}
.relation-card li{padding:.85rem 0}
.form-footer p{max-width:28rem;line-height:1.55}

@media(max-width:560px){
  :root{--type-meta:.75rem;--type-detail:.72rem}
  .section-kicker{grid-template-columns:3rem 1fr;column-gap:.75rem}
  .section-kicker span:last-child{display:none}
  .cycle-point{font-size:.72rem}
  .cycle-point span{font-size:.7rem}
  .footer-top,.footer-bottom{line-height:1.5}
}

/* Final client wall calibration: this stays last so legacy logo rules cannot dilute it. */
.client-strip__track{gap:3.5rem;padding:3.6rem 2rem;animation-duration:48s}
.client-strip__track img:not(.client-logo--alpha){filter:grayscale(1) invert(1) brightness(1.35) contrast(1.5);mix-blend-mode:screen;opacity:.8}
.client-strip__track img.client-logo--alpha{filter:brightness(0) invert(1);mix-blend-mode:normal;opacity:.84}
.client-strip__track img.client-logo--alpha.client-logo--sazon{width:10rem;height:4.35rem;filter:grayscale(1) contrast(1.08);mix-blend-mode:normal;opacity:.96}
@media(max-width:820px){.client-strip__track{gap:2.75rem;padding:3.1rem 1.4rem}}
