@font-face{font-family:Bornia;src:url("fonts/Bornia-Regular.ttf") format("truetype");font-display:swap;font-weight:400}@font-face{font-family:Bornia;src:url("fonts/Bornia-Bold.ttf") format("truetype");font-display:swap;font-weight:700}@font-face{font-family:Bornia;src:url("fonts/Bornia-SemiBoldItalic.ttf") format("truetype");font-display:swap;font-style:italic;font-weight:600}@font-face{font-family:Archivo;src:url("fonts/Archivo-Black.ttf") format("truetype");font-display:swap;font-weight:900}
:root{--black:#070707;--paper:#f2f2ed;--orange:#ff4b0b;--gray:#999993;--line:rgba(255,255,255,.18);--inkline:rgba(7,7,7,.2);--pad:clamp(1rem,2.6vw,3rem);--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--black)}body{margin:0;background:var(--black);color:#fff;font-family:Bornia,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}figure,p,h1,h2,h3,ol,ul{margin:0}.wordmark-type{font-family:Archivo,sans-serif;font-weight:900;letter-spacing:-.075em;line-height:.8}.wordmark-type sup{display:inline-block;font-size:.18em;vertical-align:top;letter-spacing:0;margin-left:.4em}.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:999;top:1rem;left:1rem;background:#fff;color:#000;padding:.7rem 1rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.section-label{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid currentColor;padding-top:.72rem;font-size:.68rem;letter-spacing:.11em;text-transform:uppercase}.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.13em}.eyebrow i{display:inline-block;width:.48rem;height:.48rem;border-radius:50%;background:var(--orange);margin-right:.5rem}.reveal,.reveal-media{opacity:0;transform:translateY(2.3rem);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal-media{transform:translateY(2.8rem) scale(.985)}.reveal.is-visible,.reveal-media.is-visible{opacity:1;transform:none}
.page-loader{position:fixed;inset:0;z-index:1000;background:var(--black);display:grid;place-items:center;transition:transform .8s var(--ease);pointer-events:none}.page-loader .wordmark-type{font-size:clamp(3rem,11vw,10rem)}.page-loader i{position:absolute;bottom:2.5rem;left:var(--pad);right:var(--pad);height:1px;background:#222}.page-loader i:after{content:"";display:block;width:35%;height:100%;background:var(--orange);animation:load 1.2s var(--ease) infinite}.page-loader small{position:absolute;right:var(--pad);bottom:1rem;font-size:.52rem;letter-spacing:.14em;text-transform:uppercase;color:#666}.is-loaded .page-loader{transform:translateY(-100%)}@keyframes load{from{transform:translateX(-110%)}to{transform:translateX(320%)}}
.scroll-progress{position:fixed;z-index:700;left:0;right:0;top:0;height:2px}.scroll-progress i{display:block;height:100%;background:var(--orange);transform-origin:left;transform:scaleX(0)}.cursor{position:fixed;z-index:800;left:0;top:0;width:1rem;height:1rem;border-radius:50%;background:#fff;mix-blend-mode:difference;pointer-events:none;opacity:0;display:grid;place-items:center;transition:width .25s,height .25s,opacity .25s}.cursor span{font-size:0}.cursor.is-visible{opacity:1}.cursor.is-active{width:4rem;height:4rem}.cursor.is-active span{font-size:.52rem;text-transform:uppercase;letter-spacing:.1em;color:#000}
.site-header{position:fixed;z-index:600;top:0;left:0;right:0;height:4.1rem;padding:0 var(--pad);display:grid;grid-template-columns:2rem auto 1fr auto;gap:2rem;align-items:center;color:#fff;background:linear-gradient(#070707,rgba(7,7,7,.84),transparent);transition:.3s}.site-header.is-compact{height:3.55rem;background:rgba(7,7,7,.94);backdrop-filter:blur(16px);border-bottom:1px solid #242424}.brand .wordmark-type{font-size:1.1rem}.header-nav{justify-self:center;display:flex;gap:2rem}.header-nav a{font-size:.64rem;text-transform:uppercase;letter-spacing:.09em;color:#aaa;transition:.2s}.header-nav a:hover{color:#fff}.header-cta{background:#fff;color:#000;padding:.72rem .95rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;transition:.25s}.header-cta:hover{background:var(--orange);color:#fff}.menu-toggle{border:0;background:transparent;color:#fff;width:1.15rem;height:1rem;padding:0;display:flex;flex-direction:column;justify-content:center;gap:.28rem;cursor:pointer}.menu-toggle i{height:1px;background:currentColor;width:100%}.mobile-menu{position:fixed;z-index:590;inset:0;padding:7rem var(--pad) 2rem;background:var(--black);color:#fff;opacity:0;visibility:hidden;transition:.4s var(--ease)}.mobile-menu.is-open{opacity:1;visibility:visible}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{font-size:clamp(2.3rem,8vw,6rem);border-bottom:1px solid #292929;line-height:1.15}.mobile-menu small{font-size:.7rem}.mobile-menu p{position:absolute;bottom:2rem;color:#777;font-size:.7rem}
.button{min-height:3.7rem;padding:0 1.15rem;border:1px solid #555;display:inline-flex;align-items:center;justify-content:space-between;gap:2.4rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;transition:.25s}.button:hover{background:#fff;color:#000;border-color:#fff}.button--light{background:#fff;color:#000;border-color:#fff}.button--light:hover,.button--orange{background:var(--orange);color:#fff;border-color:var(--orange)}.button--orange:hover{background:#fff;color:#000;border-color:#fff}.button--ghost{background:transparent;color:#fff}
.hero{position:relative;min-height:54rem;height:100svh;max-height:72rem;padding:8rem var(--pad) 5rem;overflow:hidden;background:#070707}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:8vw 8vw;mask-image:linear-gradient(to bottom,#000,transparent 85%)}.hero-copy{position:relative;z-index:3;width:min(56rem,58%);padding-top:4vh}.hero-copy h1{font-size:clamp(4.5rem,8.1vw,9rem);font-weight:400;line-height:.82;letter-spacing:-.078em;margin:1.6rem 0 2rem}.hero-copy h1 em{font-weight:400;color:var(--orange)}.hero-description{font-size:clamp(1rem,1.25vw,1.3rem);line-height:1.5;color:#b4b4af;max-width:35rem}.hero-actions{display:flex;gap:.7rem;margin-top:2.1rem}.hero-system{position:absolute;z-index:2;right:1.5rem;top:13%;width:min(41rem,45vw);aspect-ratio:1;border:1px solid #303030;border-radius:50%;background:radial-gradient(circle at center,#181818 0,#090909 55%);overflow:hidden}.hero-system:after{content:"";position:absolute;inset:50% 0 auto;height:1px;background:#333}.hero-system__meta{position:absolute;z-index:4;left:10%;right:10%;top:8%;display:flex;justify-content:space-between;font-size:.55rem;text-transform:uppercase;letter-spacing:.12em;color:#777}.live:before{content:"";display:inline-block;width:.4rem;height:.4rem;margin-right:.45rem;border-radius:50%;background:var(--orange);box-shadow:0 0 0 .3rem rgba(255,75,11,.14)}.hero-system__orbit{position:absolute;left:50%;top:50%;border:1px solid #3b3b39;border-radius:50%;transform:translate(-50%,-50%)}.hero-system__orbit--one{width:74%;height:74%}.hero-system__orbit--two{width:48%;height:48%;border-style:dashed}.hero-system__core{position:absolute;z-index:3;left:50%;top:50%;width:8rem;height:8rem;border-radius:50%;background:var(--paper);color:#070707;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center}.hero-system__core strong{font-size:3.8rem;line-height:.8;letter-spacing:-.1em}.hero-system__core strong span{color:var(--orange)}.hero-system__core small{margin-top:.75rem;font-size:.43rem;text-transform:uppercase;letter-spacing:.12em;text-align:center}.hero-system__node{position:absolute;z-index:3;padding:.68rem .8rem;border:1px solid #444;background:#090909;font-size:.56rem;text-transform:uppercase;letter-spacing:.1em}.node--strategy{left:42%;top:18%}.node--brand{right:3%;top:47%}.node--marketing{left:39%;bottom:13%}.node--tech{left:3%;top:47%}.hero-system__signal{position:absolute;left:50%;top:50%;width:74%;height:74%;transform:translate(-50%,-50%);animation:orbit 18s linear infinite}.hero-system__signal i{position:absolute;left:50%;top:-.35rem;width:.7rem;height:.7rem;border-radius:50%;background:var(--orange);box-shadow:0 0 0 .5rem rgba(255,75,11,.13),0 0 2rem rgba(255,75,11,.5)}@keyframes orbit{to{transform:translate(-50%,-50%) rotate(360deg)}}.hero-system>p{position:absolute;z-index:3;right:8%;bottom:7%;text-align:right;font-size:clamp(1.1rem,1.7vw,1.9rem);line-height:1;letter-spacing:-.04em}.hero-system>p em{color:#888;font-weight:400}.hero-foot{position:absolute;z-index:4;left:var(--pad);right:var(--pad);bottom:1.2rem;border-top:1px solid #303030;padding-top:.65rem;display:flex;justify-content:space-between;color:#747470;font-size:.58rem;text-transform:uppercase;letter-spacing:.1em}
.client-strip{background:#070707;border-top:1px solid #272727;border-bottom:1px solid #272727;padding:1.2rem 0 1.35rem;overflow:hidden}.client-strip>p{padding:0 var(--pad) 1rem;color:#777;font-size:.57rem;text-transform:uppercase;letter-spacing:.12em}.client-strip__viewport{overflow:hidden}.client-strip__track{display:flex;width:max-content;align-items:center;gap:clamp(3.5rem,7vw,7rem);animation:logos 38s linear infinite}.client-strip img{width:clamp(5.5rem,8vw,9rem);height:2.2rem;object-fit:contain;filter:grayscale(1) brightness(0) invert(1);opacity:.74}.client-strip .logo-sazon{height:3rem}.client-strip__track:hover{animation-play-state:paused}@keyframes logos{to{transform:translateX(-50%)}}
.manifesto{padding:6rem var(--pad);background:var(--orange);color:#070707}.manifesto-layout{display:grid;grid-template-columns:1fr .42fr;gap:8vw;margin:6rem 0 7rem;align-items:end}.manifesto h2{font-size:clamp(3.6rem,7vw,8.3rem);font-weight:400;line-height:.85;letter-spacing:-.072em}.manifesto h2 em{font-weight:400;color:#fff}.manifesto-copy{font-size:1rem;line-height:1.55}.manifesto-copy p+p{margin-top:1.2rem}.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #070707;border-bottom:1px solid #070707}.problem-grid article{min-height:18rem;padding:1.25rem;border-right:1px solid #070707;display:flex;flex-direction:column}.problem-grid article:last-child{border:0}.problem-grid span{font-size:.6rem;text-transform:uppercase;letter-spacing:.1em}.problem-grid strong{font-size:clamp(1.8rem,2.6vw,3rem);line-height:.98;font-weight:400;letter-spacing:-.05em;margin:3rem 0 1rem}.problem-grid p{font-size:.85rem;line-height:1.5;max-width:20rem;margin-top:auto}
.method{padding:7rem var(--pad) 9rem;background:var(--paper);color:#070707}.method-intro{display:grid;grid-template-columns:.25fr 1fr;gap:5vw;margin:6rem 0}.method-intro>p{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.method-intro h2{font-size:clamp(3rem,5.6vw,6.6rem);font-weight:400;line-height:.9;letter-spacing:-.065em}.method-intro h2 em{font-weight:400;color:var(--orange)}.method-board{display:grid;grid-template-columns:.85fr 1.15fr;border:1px solid var(--inkline);min-height:42rem}.method-core{position:relative;overflow:hidden;background:#090909;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.method-core strong{position:relative;z-index:3;font-size:clamp(6rem,11vw,12rem);line-height:.8;letter-spacing:-.1em}.method-core strong span{color:var(--orange)}.method-core p{position:relative;z-index:3;text-align:center;margin-top:1.5rem;color:#aaa;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.method-rings i{position:absolute;left:50%;top:50%;border:1px solid #373735;border-radius:50%;transform:translate(-50%,-50%)}.method-rings i:nth-child(1){width:68%;aspect-ratio:1}.method-rings i:nth-child(2){width:95%;aspect-ratio:1;border-style:dashed}.method-rings i:nth-child(3){width:125%;aspect-ratio:1}.method-steps{list-style:none;padding:0}.method-steps li{min-height:10.5rem;padding:1.3rem;display:grid;grid-template-columns:3rem 1fr auto;gap:1.4rem;align-items:center;border-bottom:1px solid var(--inkline)}.method-steps li:last-child{border:0}.method-steps>li>span{color:var(--orange);font-size:.72rem}.method-steps h3{font-size:clamp(1.8rem,2.8vw,3.1rem);font-weight:400;letter-spacing:-.05em}.method-steps p{font-size:.83rem;line-height:1.45;color:#666;max-width:27rem;margin-top:.35rem}.method-steps i{font-style:normal;font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:#888}
.capabilities{padding:7rem var(--pad) 8rem;background:#080808;color:#fff}.capabilities-head{display:grid;grid-template-columns:1fr .35fr;gap:6vw;align-items:end;margin:6rem 0}.capabilities-head h2{font-size:clamp(3.4rem,6vw,7rem);font-weight:400;line-height:.88;letter-spacing:-.07em}.capabilities-head h2 em{font-weight:400;color:var(--orange)}.capabilities-head p{font-size:.94rem;line-height:1.55;color:#aaa}.capability-list{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #303030}.capability-list article{min-height:29rem;padding:1.2rem;border-right:1px solid #303030;display:flex;flex-direction:column;transition:background .3s,color .3s}.capability-list article:last-child{border:0}.capability-list article:hover{background:var(--orange);color:#070707}.capability-list span{font-size:.62rem;color:var(--orange)}.capability-list article:hover span{color:#070707}.capability-list h3{font-size:clamp(1.8rem,2.8vw,3.1rem);font-weight:400;line-height:.95;letter-spacing:-.052em;margin:4rem 0 1.2rem}.capability-list p{font-size:.82rem;line-height:1.5;color:#999}.capability-list article:hover p{color:#070707}.capability-list b{margin-top:auto;font-size:.6rem;font-weight:400;text-transform:uppercase;letter-spacing:.12em}.capability-footer{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #333;padding:2rem 0;font-size:clamp(1rem,2vw,2rem);text-transform:uppercase;letter-spacing:.08em}.capability-footer i{color:var(--orange);font-style:normal}
.projects{padding:7rem var(--pad) 10rem;background:var(--paper);color:#070707}.projects-heading{display:grid;grid-template-columns:1fr .38fr;gap:6vw;align-items:end;margin:6rem 0}.projects-heading h2{font-size:clamp(4rem,7vw,8rem);font-weight:400;line-height:.84;letter-spacing:-.072em}.projects-heading h2 em{font-weight:400;color:var(--orange)}.projects-heading p{font-size:.9rem;line-height:1.5;color:#5f5f5b}.projects-heading a{display:inline-block;margin-top:1.2rem;border-bottom:1px solid;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8rem 8%;max-width:82rem;margin:auto}.project a{display:block}.project figure{position:relative;background:#111;overflow:hidden;border:1px solid var(--inkline)}.project figure>span{position:absolute;left:.8rem;top:.8rem;background:var(--paper);padding:.45rem .6rem;font-size:.55rem;text-transform:uppercase;letter-spacing:.1em}.project img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06);transition:transform .8s var(--ease),filter .45s}.project:hover img{transform:scale(1.025);filter:grayscale(0)}.project-copy{display:grid;grid-template-columns:1fr auto;column-gap:1rem;margin-top:1rem}.project-copy>span{grid-column:1/-1;color:#777;font-size:.58rem;text-transform:uppercase;letter-spacing:.11em}.project h3{font-size:2.4rem;font-weight:400;letter-spacing:-.055em;margin:.55rem 0 .3rem}.project p{grid-column:1;max-width:26rem;font-size:.87rem;line-height:1.5;color:#666}.project-copy i{grid-column:2;grid-row:2/4;align-self:end;font-size:.62rem;font-style:normal;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid}.project--one{grid-column:1;margin-right:7%}.project--one figure{aspect-ratio:4/4.5}.project--two{grid-column:2;margin-top:9rem}.project--two figure{aspect-ratio:4/3}.project--three{grid-column:1/3;width:68%;margin:0 auto}.project--three figure{aspect-ratio:16/8}
.ways{padding:7rem var(--pad) 9rem;background:var(--paper);color:#070707}.ways-heading{display:grid;grid-template-columns:1fr .4fr;gap:6vw;align-items:end;margin:6rem 0}.ways-heading h2{font-size:clamp(3.5rem,6vw,7rem);font-weight:400;line-height:.88;letter-spacing:-.068em}.ways-heading p{font-size:.92rem;line-height:1.55;color:#666}.ways-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--inkline)}.way{min-height:36rem;padding:1.35rem;display:flex;flex-direction:column;border-right:1px solid var(--inkline)}.way:last-child{border:0}.way header{display:flex;justify-content:space-between;font-size:.58rem;text-transform:uppercase;letter-spacing:.09em}.way header b{font-weight:400}.way h3{font-size:clamp(2.3rem,3.6vw,4.2rem);font-weight:400;letter-spacing:-.06em;margin:5rem 0 1rem}.way>p{font-size:.85rem;line-height:1.5;color:#666}.way ul{list-style:none;margin:2rem 0;padding:0}.way li{padding:.75rem 0;border-bottom:1px solid currentColor;font-size:.76rem}.way a{margin-top:auto;border:1px solid;padding:1rem;display:flex;justify-content:space-between;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.way--orange{background:var(--orange)}.way--orange>p{color:#151515}.way--dark{background:#080808;color:#fff}.way--dark>p{color:#aaa}
.final-cta{position:relative;padding:9rem var(--pad) 1.5rem;background:#070707;color:#fff;overflow:hidden}.final-cta:before{content:"G.";position:absolute;right:-.06em;top:.12em;font:900 min(52vw,45rem)/.8 Archivo;color:#0f0f0f;letter-spacing:-.12em}.final-cta__signal{position:absolute;right:12%;top:10%;width:11rem;height:11rem;border:1px solid #313131;border-radius:50%}.final-cta__signal:after{content:"";position:absolute;inset:2.2rem;border:1px solid #313131;border-radius:50%}.final-cta__signal i{position:absolute;width:.55rem;height:.55rem;border-radius:50%;background:var(--orange)}.final-cta__signal i:nth-child(1){left:50%;top:-.28rem}.final-cta__signal i:nth-child(2){right:8%;bottom:12%}.final-cta__signal i:nth-child(3){left:12%;bottom:7%}.final-cta>h2{position:relative;z-index:2;width:min(73rem,88%);font-size:clamp(4rem,8vw,9rem);font-weight:400;line-height:.84;letter-spacing:-.075em;margin:2rem 0 3rem}.final-cta>h2 em{font-weight:400;color:var(--orange)}.final-cta__actions{position:relative;z-index:2;display:flex;gap:.7rem}.final-cta footer{position:relative;z-index:2;margin-top:10rem}.footer-top{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid #292929;padding-bottom:1.2rem}.footer-top .wordmark-type{font-size:clamp(5rem,15vw,15rem)}.footer-top>a{font-size:clamp(1.1rem,2vw,2.2rem);border-bottom:1px solid;margin-bottom:1rem}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1rem;color:#777;font-size:.55rem;text-transform:uppercase;letter-spacing:.1em}
@media(max-width:980px){.header-nav{display:none}.site-header{grid-template-columns:2rem 1fr auto}.hero{height:auto;min-height:62rem}.hero-copy{width:82%}.hero-copy h1{font-size:10vw}.hero-system{width:35rem;right:-11rem;top:42%}.manifesto-layout,.capabilities-head,.projects-heading,.ways-heading{grid-template-columns:1fr}.manifesto-copy,.capabilities-head p,.projects-heading>div,.ways-heading p{max-width:30rem;margin-left:auto}.method-board{grid-template-columns:1fr}.method-core{min-height:32rem}.capability-list{grid-template-columns:1fr 1fr}.capability-list article:nth-child(2){border-right:0}.capability-list article:nth-child(-n+2){border-bottom:1px solid #303030}.ways-grid{grid-template-columns:1fr}.way{border-right:0;border-bottom:1px solid var(--inkline);min-height:29rem}}
@media(max-width:640px){:root{--pad:1rem}.section-label{font-size:.58rem}.section-label span:last-child{text-align:right}.site-header{height:3.6rem;gap:1rem}.hero{min-height:58rem;padding-top:6rem}.hero-copy{width:100%;padding-top:0}.hero-copy h1{font-size:17vw;line-height:.84;margin:1.2rem 0}.hero-description{font-size:1rem;max-width:22rem}.hero-actions,.final-cta__actions{flex-direction:column;align-items:stretch}.button{width:100%}.hero-system{width:26rem;right:-8rem;top:53%}.hero-system__node{font-size:.47rem;padding:.5rem}.hero-system__core{width:6.5rem;height:6.5rem}.hero-system__core strong{font-size:3rem}.hero-system>p{font-size:1.1rem}.node--strategy{left:36%}.node--marketing{left:34%}.hero-foot{font-size:.47rem}.hero-foot span:first-child{display:none}.manifesto,.method,.capabilities,.projects,.ways{padding-top:5rem;padding-bottom:6rem}.manifesto-layout,.method-intro,.capabilities-head,.projects-heading,.ways-heading{margin:4rem 0}.manifesto h2,.capabilities-head h2,.projects-heading h2,.ways-heading h2{font-size:3.55rem}.manifesto-copy{margin:0}.problem-grid{grid-template-columns:1fr}.problem-grid article{min-height:15rem;border-right:0;border-bottom:1px solid #070707}.problem-grid article:last-child{border-bottom:0}.method-intro{grid-template-columns:1fr}.method-intro h2{font-size:3rem}.method-core{min-height:25rem}.method-steps li{grid-template-columns:2rem 1fr}.method-steps i{display:none}.capability-list{grid-template-columns:1fr}.capability-list article{min-height:22rem;border-right:0;border-bottom:1px solid #303030!important}.capability-list article:last-child{border-bottom:0!important}.capability-footer{font-size:.68rem}.projects-grid{display:block}.project{width:100%;margin:0 0 5rem!important}.project figure{aspect-ratio:4/3!important}.project h3{font-size:2rem}.project-copy i{display:none}.way{min-height:28rem}.final-cta{padding-top:7rem}.final-cta>h2{width:100%;font-size:3.9rem}.final-cta__signal{opacity:.45;right:-3rem}.footer-top{display:block}.footer-top .wordmark-type{display:block;font-size:24vw;margin-bottom:2rem}.footer-top>a{font-size:1.2rem}.cursor{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.page-loader{display:none}.reveal,.reveal-media{opacity:1;transform:none;transition:none}.client-strip__track,.hero-system__signal{animation:none}.cursor{display:none}}

/* v25 — Growy editorial system: clear, modular and commercially direct. */
body{background:var(--paper);color:#070707}
.site-header{color:#070707;background:rgba(242,242,237,.94);border-bottom:1px solid var(--inkline);backdrop-filter:blur(14px)}
.site-header.is-compact{background:rgba(242,242,237,.96);border-bottom-color:var(--inkline)}
.menu-toggle{color:#070707}.header-nav a{color:#575752}.header-nav a:hover{color:var(--orange)}.header-cta{background:#070707;color:#fff}.header-cta:hover{background:var(--orange)}
.menu-open .site-header{color:#fff;background:#070707;border-bottom-color:#292929}.menu-open .menu-toggle{color:#fff}.menu-open .header-cta{background:#fff;color:#070707}
.hero{min-height:52rem;height:100svh;max-height:68rem;padding:7.5rem var(--pad) 6rem;background:var(--paper);color:#070707;border-bottom:1px solid var(--inkline)}
.hero-grid{background-image:linear-gradient(rgba(7,7,7,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(7,7,7,.045) 1px,transparent 1px);mask-image:linear-gradient(to bottom,#000,transparent 92%)}
.hero-copy{width:49%;padding-top:2vh}.hero-copy h1{font-size:clamp(4rem,7vw,8rem);line-height:.84;margin:1.35rem 0 1.6rem}.hero-description{color:#5b5b57;max-width:34rem}.button--light{background:#070707;color:#fff;border-color:#070707}.button--light:hover{background:var(--orange);color:#fff;border-color:var(--orange)}.button--ghost{color:#070707;border-color:#8d8d87}.button--ghost:hover{background:#070707;color:#fff;border-color:#070707}
.hero-art{position:absolute;z-index:2;right:var(--pad);top:6.1rem;bottom:5.5rem;width:45%;overflow:hidden;background:#e9e5dc;border:1px solid var(--inkline)}.hero-art img{width:100%;height:calc(100% - 2.4rem);object-fit:cover}.hero-art figcaption{height:2.4rem;padding:0 .75rem;display:flex;justify-content:space-between;align-items:center;font-size:.53rem;text-transform:uppercase;letter-spacing:.1em;border-top:1px solid var(--inkline)}
.hero-proof{position:absolute;z-index:3;left:var(--pad);bottom:5.3rem;width:45%;display:grid;grid-template-columns:.72fr .72fr 1fr;border-top:1px solid var(--inkline);border-bottom:1px solid var(--inkline)}.hero-proof>div,.hero-proof>p{min-height:5.4rem;padding:.75rem;border-right:1px solid var(--inkline);display:flex;align-items:flex-end;gap:.65rem}.hero-proof>p{border:0;font-size:.64rem;text-transform:uppercase;letter-spacing:.09em}.hero-proof strong{font-size:2.6rem;font-weight:400;letter-spacing:-.08em}.hero-proof span{font-size:.56rem;text-transform:uppercase;line-height:1.2;letter-spacing:.07em}.hero-foot{color:#656560;border-top-color:var(--inkline)}
.client-strip{background:var(--paper);border-color:var(--inkline)}.client-strip>p{color:#656560}.client-strip img{filter:grayscale(1) brightness(0);opacity:.68}
.manifesto{background:#fff;color:#070707}.manifesto h2 em{color:var(--orange)}.problem-grid{gap:.8rem;border:0}.problem-grid article{background:#f1f1ed;border:1px solid var(--inkline)!important}.problem-grid article:nth-child(2){background:var(--orange)}
.method{background:var(--paper)}.method-board{background:#fff}.method-core{background:#ece9e1;color:#070707}.method-core strong span{color:var(--orange)}.method-core p{color:#666}.method-rings i{border-color:#bbb8b0}
.capabilities{background:#fff;color:#070707}.capabilities-head p{color:#5f5f5a}.capability-list{border-color:var(--inkline)}.capability-list article{background:#f3f3ef;border-color:var(--inkline)}.capability-list article:nth-child(even){background:#ecece7}.capability-list article:hover{background:var(--orange)}.capability-list p{color:#62625e}.capability-list span{color:var(--orange)}.capability-list article:hover span,.capability-list article:hover p{color:#070707}.capability-footer{border-color:var(--inkline)}
.projects{background:var(--paper)}.projects-heading h2 em{color:var(--orange)}
.ways{background:#fff}.final-cta{background:#070707}
@media(max-width:980px){.hero{min-height:67rem}.hero-copy{width:72%}.hero-art{top:27rem;width:53%;height:34rem;bottom:auto}.hero-proof{width:42%;bottom:4.5rem}.manifesto-copy,.capabilities-head p,.projects-heading>div,.ways-heading p{margin-left:0}.problem-grid{gap:.6rem}.capability-list article:nth-child(2){border-right:1px solid var(--inkline)}.capability-list article:nth-child(-n+2){border-bottom:1px solid var(--inkline)}}
@media(max-width:640px){.site-header{grid-template-columns:2rem 1fr auto}.header-cta{font-size:.56rem;padding:.6rem}.hero{min-height:78rem;padding-top:5.5rem}.hero-copy{width:100%}.hero-copy h1{font-size:15.5vw}.hero-description{font-size:.98rem}.hero-art{left:1rem;right:1rem;top:34rem;width:auto;height:31rem}.hero-proof{left:1rem;right:1rem;bottom:3.7rem;width:auto}.hero-proof>div,.hero-proof>p{min-height:4.6rem;padding:.55rem}.hero-proof strong{font-size:2rem}.hero-foot{display:none}.client-strip{padding-top:1rem}.problem-grid{display:grid}.manifesto h2,.capabilities-head h2,.projects-heading h2,.ways-heading h2{font-size:3.3rem}.capability-list article{background:#f3f3ef!important;border-color:var(--inkline)!important}.capability-list article:nth-child(2){background:var(--orange)!important}}

/* v26 — navegación con mayor presencia y mejor legibilidad */
.site-header{
  height:4.8rem;
  grid-template-columns:2.4rem auto 1fr auto;
  gap:2.4rem;
}
.site-header.is-compact{height:4.15rem}
.brand .wordmark-type{font-size:1.35rem}
.menu-toggle{width:1.45rem;height:1.15rem;gap:.34rem}
.header-nav{gap:2.7rem}
.header-nav a{font-size:.76rem;letter-spacing:.085em}
.header-cta{padding:.8rem 1.05rem;font-size:.72rem}

@media(max-width:640px){
  .site-header{height:4.25rem;grid-template-columns:2.2rem 1fr auto;gap:1rem}
  .site-header.is-compact{height:3.9rem}
  .brand .wordmark-type{font-size:1.2rem}
  .menu-toggle{width:1.3rem}
  .header-cta{padding:.68rem .72rem;font-size:.62rem}
}

/* v27 — hero limpio, sin retícula decorativa */
.hero-grid{display:none}

/* v28 — logos equilibrados por peso visual y tipo de archivo */
.client-strip__track{gap:clamp(3.75rem,6vw,6.5rem)}
.client-strip img{
  width:clamp(7.8rem,9vw,10rem);
  height:3.35rem;
  object-fit:contain;
  opacity:.76;
}
.client-strip img.logo-alpha{filter:grayscale(1) brightness(0)}
.client-strip img.logo-paper{
  filter:grayscale(1) brightness(0);
}
.client-strip .logo-tlocentli{width:clamp(8rem,9.4vw,10.5rem)}
.client-strip .logo-whip{width:clamp(6.6rem,7.3vw,8rem);height:3.5rem}
.client-strip .logo-isb{width:clamp(6.2rem,7vw,7.6rem)}
.client-strip .logo-sazon{width:clamp(7.2rem,8vw,8.8rem);height:3.65rem}
.client-strip .logo-essere{width:clamp(5.9rem,6.5vw,7.1rem);height:3.6rem}
.client-strip .logo-gothamania{width:clamp(9rem,10vw,11rem)}
.client-strip .logo-espiral{width:clamp(7.4rem,8.4vw,9.2rem)}

/* v30 — moodboard de marca dentro del método Growy */
.method-core.method-visual{
  display:block;
  min-height:42rem;
  background:#111;
  color:#fff;
}
.method-visual img{
  width:100%;
  height:100%;
  min-height:42rem;
  object-fit:cover;
  object-position:center;
}
.method-visual figcaption{
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  bottom:0;
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:.85rem 1rem;
  color:#fff;
  background:linear-gradient(transparent,rgba(7,7,7,.88));
  font-size:.52rem;
  text-transform:uppercase;
  letter-spacing:.11em;
}
@media(max-width:980px){
  .method-core.method-visual,.method-visual img{min-height:36rem}
}
@media(max-width:640px){
  .method-core.method-visual,.method-visual img{min-height:31rem}
  .method-visual figcaption span:last-child{display:none}
}

/* v31 — evita que las acciones y métricas del hero se encimen */
@media(min-width:981px) and (max-height:900px){
  .hero-proof{bottom:2.8rem}
}

/* v32 — iconografía Lucide integrada en las capacidades */
.capability-list article{position:relative;overflow:hidden}
.capability-icon{
  position:absolute;
  right:1.2rem;
  bottom:1rem;
  width:clamp(4.8rem,6vw,7rem);
  height:auto;
  fill:none;
  stroke:currentColor;
  stroke-width:1;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.13;
  transition:opacity .3s var(--ease),transform .45s var(--ease);
}
.capability-list article:hover .capability-icon{
  opacity:.34;
  transform:translate(-.2rem,-.2rem) rotate(-3deg);
}
.capability-list b{position:relative;z-index:2}
@media(max-width:640px){
  .capability-icon{width:6rem;opacity:.11}
}

/* v33 — formulario de contacto en lugar del monograma decorativo */
.final-cta:before,.final-cta__signal{display:none}
.final-cta__layout{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(22rem,.72fr);
  gap:clamp(3rem,7vw,8rem);
  align-items:end;
  margin-top:2rem;
}
.final-cta__copy h2{
  max-width:64rem;
  margin:0;
  font-size:clamp(4rem,6.3vw,8rem);
  font-weight:400;
  line-height:.87;
  letter-spacing:-.07em;
}
.final-cta__copy h2 em{font-weight:400;color:var(--orange)}
.final-cta__intro{
  max-width:34rem;
  margin:2.2rem 0 2rem;
  color:#9a9a9a;
  font-size:clamp(.95rem,1.15vw,1.15rem);
  line-height:1.6;
}
.final-cta__copy>.button{width:max-content}
.final-cta .button--ghost{color:#fff;border-color:#555}
.final-cta .button--ghost:hover{background:#fff;color:#070707;border-color:#fff}
.contact-form{
  position:relative;
  display:grid;
  gap:1.25rem;
  padding:1.5rem;
  border:1px solid #292929;
  background:#0d0d0d;
}
.contact-form:before{content:"";position:absolute;top:-1px;left:-1px;width:5rem;height:3px;background:var(--orange)}
.contact-form__head{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start;padding-bottom:1rem;border-bottom:1px solid #292929}
.contact-form__head>span,.contact-form label>span{
  color:#8f8f8f;
  font-size:.58rem;
  line-height:1.35;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.contact-form__head h3{max-width:19rem;margin:0;font-size:clamp(1.5rem,2vw,2.25rem);font-weight:400;line-height:.96;letter-spacing:-.045em}
.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.contact-form label{display:grid;gap:.35rem}
.contact-form input:not([type="checkbox"]),.contact-form textarea,.contact-form select{
  width:100%;
  min-height:2.8rem;
  padding:.55rem 0;
  border:0;
  border-bottom:1px solid #444;
  border-radius:0;
  outline:0;
  background:transparent;
  color:#fff;
  font:inherit;
  font-size:.92rem;
  transition:border-color .2s ease;
}
.contact-form textarea{min-height:5.8rem;resize:vertical;line-height:1.45}
.contact-form select{appearance:auto;color-scheme:dark}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#5f5f5f}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--orange)}
.contact-form [aria-invalid="true"]{border-color:#ff4b17!important}
.contact-form__consent{grid-template-columns:auto 1fr!important;align-items:start;gap:.6rem!important;cursor:pointer}
.contact-form__consent input{width:1rem;height:1rem;margin:.05rem 0 0;accent-color:var(--orange)}
.contact-form__consent>span{color:#8f8f8f!important;font-size:.62rem!important;line-height:1.45!important;letter-spacing:.04em!important;text-transform:none!important}
.contact-form__submit{
  display:flex;
  justify-content:space-between;
  align-items:center;
  width:100%;
  min-height:4rem;
  padding:0 1.2rem;
  border:0;
  background:var(--orange);
  color:#070707;
  font-size:.64rem;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .2s ease,color .2s ease;
}
.contact-form__submit:hover{background:#fff}
.contact-form__submit:disabled{cursor:wait;opacity:.62}
.contact-form__note{min-height:1rem;margin:0;color:#777;font-size:.68rem;line-height:1.4}
.contact-form__note a{color:#fff;text-decoration:underline;text-underline-offset:.2em}
.contact-form.is-sent .contact-form__note{color:#d9d9d9}
.contact-form__trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.final-cta footer{margin-top:7rem}
@media(max-width:980px){
  .final-cta__layout{grid-template-columns:1fr;align-items:start}
  .final-cta__copy h2{max-width:56rem}
  .contact-form{width:min(100%,44rem)}
}
@media(max-width:640px){
  .final-cta__layout{gap:3.2rem;margin-top:1.4rem}
  .final-cta__copy h2{font-size:3.65rem;line-height:.9}
  .final-cta__copy>.button{width:100%}
  .contact-form{padding:1.15rem;gap:1.1rem}
  .contact-form__head{display:block}
  .contact-form__head h3{margin-top:.75rem}
  .contact-form__row{grid-template-columns:1fr}
  .final-cta footer{margin-top:5rem}
}

/* v35 — CTAs más legibles y con una jerarquía comercial clara */
.way a{
  position:relative;
  align-items:center;
  min-height:4.35rem;
  padding:0 1.2rem;
  border-color:#070707;
  background:#070707;
  color:#fff;
  font-size:.76rem;
  font-weight:600;
  letter-spacing:.1em;
  transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;
}
.way--orange a{background:#fff;color:#070707;border-color:#fff}
.way--dark a{background:var(--orange);color:#070707;border-color:var(--orange)}
.way a span,.final-cta__copy>.button span{
  display:grid;
  place-items:center;
  width:2rem;
  height:2rem;
  flex:0 0 2rem;
  border:1px solid currentColor;
  border-radius:50%;
  font-size:.9rem;
  line-height:1;
  transition:transform .25s ease,background .25s ease,color .25s ease;
}
.way a:hover{background:var(--orange);color:#070707;border-color:var(--orange);transform:translateY(-2px)}
.way--orange a:hover,.way--dark a:hover{background:#fff;color:#070707;border-color:#fff}
.way a:hover span,.final-cta__copy>.button:hover span{transform:rotate(-38deg)}
.final-cta__copy>.button{
  min-height:4.35rem;
  padding:0 1.2rem;
  gap:2rem;
  border-color:#fff;
  background:#fff;
  color:#070707;
  font-size:.76rem;
  font-weight:600;
  letter-spacing:.1em;
}
.final-cta .final-cta__copy>.button--ghost{background:#fff;color:#070707;border-color:#fff}
.final-cta .final-cta__copy>.button--ghost:hover{background:var(--orange);color:#070707;border-color:var(--orange);transform:translateY(-2px)}
.contact-form__submit{
  min-height:4.45rem;
  padding:0 1.25rem;
  font-size:.72rem;
  letter-spacing:.11em;
}
.contact-form__submit span:last-child{
  display:grid;
  place-items:center;
  width:2rem;
  height:2rem;
  border:1px solid rgba(7,7,7,.42);
  border-radius:50%;
  font-size:.95rem;
  transition:transform .25s ease;
}
.contact-form__submit:hover span:last-child{transform:rotate(45deg)}
@media(max-width:640px){
  .way a,.final-cta__copy>.button,.contact-form__submit{font-size:.7rem}
}

/* v38 — hero tipográfico de alto impacto inspirado en una portada editorial */
.site-header:not(.is-compact){
  color:#070707;
  background:var(--paper);
  border-bottom-color:rgba(7,7,7,.3);
  backdrop-filter:none;
}
.site-header:not(.is-compact) .menu-toggle{color:#070707}
.site-header:not(.is-compact) .header-nav a{color:rgba(7,7,7,.72)}
.site-header:not(.is-compact) .header-nav a:hover{color:#070707}
.site-header:not(.is-compact) .header-cta{background:#070707;color:#fff}
.hero{
  display:flex;
  align-items:center;
  min-height:48rem;
  height:100svh;
  max-height:none;
  padding:8.5rem var(--pad) 7rem;
  background:var(--orange);
  color:#070707;
  border-bottom:1px solid rgba(7,7,7,.3);
}
.hero-copy{
  width:100%;
  padding:0;
  text-align:center;
}
.hero-kicker{
  margin:0 auto 1.6rem;
  font-size:clamp(1.35rem,2.65vw,3rem);
  line-height:1;
  letter-spacing:-.04em;
}
.hero-copy h1{
  margin:0;
  font-size:clamp(5.2rem,10.5vw,12.5rem);
  font-weight:700;
  line-height:.77;
  letter-spacing:-.085em;
}
.hero-copy h1 em{
  color:#070707;
  font-weight:600;
  font-style:italic;
}
.hero-description{
  max-width:46rem;
  margin:2.3rem auto 0;
  color:rgba(7,7,7,.72);
  font-size:clamp(.98rem,1.15vw,1.2rem);
  line-height:1.5;
}
.hero-actions{justify-content:center;margin-top:1.8rem}
.hero .button--light{background:#070707;color:#fff;border-color:#070707}
.hero .button--light:hover{background:#fff;color:#070707;border-color:#fff}
.hero .button--ghost{color:#070707;border-color:rgba(7,7,7,.55)}
.hero .button--ghost:hover{background:#070707;color:#fff;border-color:#070707}
.hero-art,.hero-proof,.hero-foot,.hero-grid{display:none}
.hero-meta{
  position:absolute;
  z-index:4;
  left:var(--pad);
  right:var(--pad);
  bottom:1.5rem;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  align-items:end;
  padding-top:.75rem;
  border-top:1px solid rgba(7,7,7,.34);
  font-size:.62rem;
  text-transform:uppercase;
  letter-spacing:.11em;
}
.hero-meta span:nth-child(2){text-align:center}
.hero-meta span:last-child{text-align:right}
@media(max-width:980px){
  .hero{min-height:52rem}
  .hero-copy{width:100%}
  .hero-copy h1{font-size:clamp(5rem,13vw,9rem)}
}
@media(max-width:640px){
  .site-header:not(.is-compact){background:var(--paper)}
  .hero{min-height:45rem;height:100svh;padding:6.5rem 1rem 6.5rem}
  .hero-kicker{max-width:21rem;margin-bottom:1.25rem;font-size:1.25rem;line-height:1.1}
  .hero-copy h1{font-size:17vw;line-height:.81}
  .hero-description{max-width:25rem;margin-top:1.6rem;font-size:.92rem}
  .hero-actions{display:grid;grid-template-columns:1fr;margin-top:1.4rem}
  .hero-meta{left:1rem;right:1rem;grid-template-columns:1fr 1fr;font-size:.52rem}
  .hero-meta span:nth-child(2){display:none}
  .hero-meta span:last-child{text-align:right}
}

/* v40 — selección final de clientes y tratamiento legible de Sazón Veracruzano */
.client-strip .logo-sazon{
  width:clamp(10rem,12vw,13rem);
  height:4.35rem;
  filter:grayscale(1) invert(1)!important;
  opacity:1;
}
@media(max-width:640px){
  .client-strip .logo-sazon{width:10.5rem;height:4rem}
}

/* v42 — contraste bicolor del titular del hero */
.hero-copy h1{color:#070707}
.hero-copy h1 em{color:#efefea}

/* v43 — entregables detallados y comparables en cada modalidad */
.way{min-height:49rem}
.way h3{margin:3.5rem 0 1rem}
.way ul{margin:2rem 0 2.25rem}
.way li{
  display:grid;
  gap:.28rem;
  padding:.78rem 0;
}
.way li strong{
  font-size:.76rem;
  font-weight:600;
}
.way li small{
  max-width:30rem;
  font-size:.66rem;
  line-height:1.35;
  color:#6b6b66;
}
.way--orange li small{color:rgba(7,7,7,.7)}
.way--dark li small{color:#92928d}
@media(max-width:980px){
  .way{min-height:auto}
  .way h3{margin-top:3rem}
}

/* v44 — catálogo de proyectos con rutas individuales y mejor lectura */
.way>p{
  font-size:clamp(.95rem,1vw,1.08rem);
  line-height:1.55;
}
.way li strong{font-size:.9rem}
.way li small{font-size:.76rem;line-height:1.45}
.project-type-links{
  display:grid;
  margin:2rem 0 1rem;
  border-top:1px solid rgba(7,7,7,.72);
}
.project-type-links a{
  display:grid;
  grid-template-columns:1fr auto 1.75rem;
  align-items:center;
  gap:.75rem;
  min-height:4.1rem;
  margin:0;
  padding:.65rem 0;
  border:0;
  border-bottom:1px solid rgba(7,7,7,.72);
  background:transparent;
  color:#070707;
  text-transform:none;
  letter-spacing:0;
  transform:none;
}
.project-type-links a:hover{
  padding-left:.65rem;
  padding-right:.65rem;
  background:#070707;
  color:#fff;
  border-color:#070707;
  transform:none;
}
.project-type-links a span{font-size:.9rem;font-weight:600}
.project-type-links a>span{
  display:block;
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  line-height:1.15;
  transform:none!important;
}
.project-type-links a small{font-size:.69rem;white-space:nowrap;color:inherit}
.project-type-links a i{font-size:1rem;font-style:normal;text-align:right;transition:transform .2s ease}
.project-type-links a:hover i{transform:translate(.15rem,-.15rem)}
.project-price-note{
  margin:0 0 1.35rem;
  font-size:.69rem!important;
  line-height:1.45!important;
  color:rgba(7,7,7,.68)!important;
}
@media(max-width:1200px) and (min-width:981px){
  .project-type-links a{grid-template-columns:1fr 1.3rem}
  .project-type-links a small{grid-column:1;font-size:.64rem}
  .project-type-links a i{grid-column:2;grid-row:1/3}
}
@media(max-width:640px){
  .way>p{font-size:1rem}
  .way li strong{font-size:.94rem}
  .way li small{font-size:.8rem}
  .project-type-links a{grid-template-columns:1fr 1.5rem;min-height:4.65rem}
  .project-type-links a span{font-size:.95rem}
  .project-type-links a small{grid-column:1;font-size:.72rem}
  .project-type-links a i{grid-column:2;grid-row:1/3}
}
