:root{
  --ink:#111009;
  --bone:#f3eddf;
  --orange:#ef4b23;
  --acid:#c8ff35;
  --brown:#3b2118;
  --line:rgba(17,16,9,.22);
  --display:"Archivo Black",Impact,sans-serif;
  --body:"Space Grotesk",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bone);color:var(--ink);font-family:var(--body);overflow-x:hidden}
body.is-loading{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,summary,a{font:inherit}
::selection{background:var(--orange);color:var(--bone)}
:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.skip{position:fixed;z-index:500;top:8px;left:8px;background:var(--acid);border:2px solid var(--ink);padding:10px 16px;transform:translateY(-150%)}
.skip:focus{transform:none}
.progress{position:fixed;z-index:190;top:0;left:0;width:100%;height:5px;pointer-events:none}.progress i{display:block;width:0;height:100%;background:var(--orange)}

.loader{position:fixed;z-index:400;inset:0;background:var(--ink);color:var(--bone);display:grid;place-items:center;align-content:center;gap:24px;transition:transform .7s cubic-bezier(.85,0,.15,1)}
.loader.is-done{transform:translateY(-105%)}
.loader__brand{font:400 clamp(28px,5vw,62px)/1 var(--display);letter-spacing:-.05em}.loader__brand span{color:var(--orange)}
.loader__count{display:flex;align-items:start;color:var(--orange)}.loader__count b{font:400 clamp(64px,11vw,130px)/.8 var(--display)}.loader__count small{font-weight:700;margin:6px 0 0 5px}
.loader__bar{width:min(440px,74vw);height:5px;background:rgba(255,255,255,.17)}.loader__bar i{display:block;width:0;height:100%;background:var(--orange)}

.nav{position:fixed;z-index:180;top:0;left:0;right:0;height:82px;padding:15px 34px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:2px solid var(--ink);background:rgba(243,237,223,.91);backdrop-filter:blur(10px)}
.nav__brand{justify-self:start;display:flex;align-items:center;gap:8px;border:2px solid var(--ink);padding:5px 12px 5px 6px;box-shadow:4px 4px 0 var(--ink);background:var(--bone)}
.nav__brand img{width:30px;height:26px;object-fit:contain}.nav__brand span{font:400 13px var(--display)}
.nav nav{display:flex;gap:36px}.nav nav a{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;position:relative}.nav nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:var(--orange);transition:right .25s}.nav nav a:hover:after{right:0}
.chip{justify-self:end;background:var(--ink);color:var(--bone);border:2px solid var(--ink);box-shadow:5px 5px 0 var(--orange);padding:12px 17px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;display:flex;gap:22px;transition:transform .2s,box-shadow .2s}.chip:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--orange)}.chip span{color:var(--orange)}

.hero{position:relative;min-height:100svh;padding:135px 34px 25px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border-bottom:2px solid var(--ink)}
.hero__asterisk{position:absolute;right:-4vw;top:40px;color:var(--orange);font:400 clamp(180px,28vw,430px)/1 var(--display);transform:rotate(13deg);opacity:.13;pointer-events:none}
.eyebrow,.section-label{font:700 11px/1.3 var(--body);letter-spacing:.18em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 20px}.eyebrow:before,.section-label:before{content:"";display:inline-block;width:35px;height:2px;background:currentColor;vertical-align:middle;margin-right:12px}
.hero h1{position:relative;z-index:1;margin:0;font:400 clamp(66px,10.3vw,158px)/.75 var(--display);letter-spacing:-.075em;text-transform:uppercase}.line{display:block;overflow:hidden;padding:0 .04em}.line i{display:block;font-style:normal;transform:translateY(112%)}.line--outline{color:transparent;-webkit-text-stroke:2px var(--ink)}.line--last{padding-left:11vw}.line em{font-style:normal;color:var(--orange)}
.hero__lower{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) 320px minmax(0,1fr);gap:38px;align-items:end;margin-top:30px}
.hero__copy{align-self:center;max-width:420px}.hero__copy>p{font-size:clamp(16px,1.35vw,20px);line-height:1.48;margin:0 0 28px}.hero__copy strong{background:var(--orange);color:var(--bone);padding:0 5px}
.micro-proof{display:flex;align-items:center;gap:13px;border-top:2px solid var(--ink);padding-top:14px}.micro-proof b{font:400 22px var(--display)}.micro-proof span{max-width:150px;font-size:11px;line-height:1.25;text-transform:uppercase;letter-spacing:.06em}
.portrait{position:relative;margin:0}.portrait__frame{height:310px;overflow:hidden;border:3px solid var(--ink);box-shadow:10px 10px 0 var(--ink);background:#333}.portrait__frame img{width:100%;height:100%;object-fit:cover;object-position:center 20%}.portrait figcaption{position:absolute;left:13px;bottom:10px;color:white;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;text-shadow:0 1px 8px #000}.portrait figcaption span{font-weight:400;opacity:.8}.portrait__badge{position:absolute;right:-33px;top:-26px;width:86px;height:86px;border-radius:50%;border:2px solid var(--ink);background:var(--orange);display:grid;place-items:center;text-align:center;font:400 10px/1.05 var(--display);transform:rotate(10deg)}
.hero__action{justify-self:end;text-align:right;display:grid;justify-items:end;gap:15px}.brand-seal{width:128px;height:128px;display:grid;place-items:center;perspective:800px}.brand-seal img{width:100%;filter:drop-shadow(8px 12px 10px rgba(17,16,9,.22));transform-style:preserve-3d;transition:transform .2s ease-out}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--orange);border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink);padding:18px 24px;font:400 15px var(--display);text-transform:uppercase;transition:transform .2s,box-shadow .2s}.button:hover{transform:translate(-3px,-3px);box-shadow:12px 12px 0 var(--ink)}.button span{font-size:22px}.hero__action p{font-size:11px;line-height:1.4;margin:0;letter-spacing:.03em}

.ticker{overflow:hidden;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);height:54px;display:flex;align-items:center}.ticker>div{display:flex;width:max-content;animation:ticker 24s linear infinite}.ticker span{font:400 14px var(--display);letter-spacing:.08em;white-space:nowrap}.ticker b{font-size:15px;margin:0 36px;color:var(--orange)}.ticker--dark{background:var(--ink);color:var(--bone)}.ticker--orange{background:var(--orange);color:var(--ink)}.ticker--orange b{color:var(--bone)}
@keyframes ticker{to{transform:translateX(-50%)}}

.manifesto{background:var(--ink);color:var(--bone);padding:140px max(28px,7vw);position:relative;overflow:hidden}.manifesto:after{content:"✺";position:absolute;right:-8vw;bottom:-14vw;font:400 42vw/1 var(--display);color:rgba(239,75,35,.06);pointer-events:none}.manifesto .section-label{color:var(--orange)}
.manifesto__statement{position:relative;z-index:1;max-width:1250px;margin:55px 0 100px;font:400 clamp(36px,5.6vw,78px)/1.05 var(--display);letter-spacing:-.04em;text-transform:uppercase}.manifesto__statement span{color:var(--orange)}
.manifesto__bottom{position:relative;z-index:1;display:grid;grid-template-columns:minmax(220px,400px) 1fr;gap:8vw;align-items:end}.manifesto__bottom>p{font-size:18px;line-height:1.55;margin:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.3)}.stats div{padding:22px 20px;border-right:1px solid rgba(255,255,255,.3)}.stats div:last-child{border-right:0}.stats strong{display:block;color:var(--orange);font:400 clamp(44px,6vw,82px)/1 var(--display)}.stats span{display:block;margin-top:9px;font-size:11px;line-height:1.2;text-transform:uppercase;letter-spacing:.08em}

.method{background:var(--bone)}.section-intro{padding:130px 34px 80px;text-align:center}.section-intro .section-label{color:var(--orange)}.section-intro h2,.services__head h2{margin:20px 0 25px;font:400 clamp(50px,7.5vw,108px)/.88 var(--display);letter-spacing:-.06em;text-transform:uppercase}.section-intro h2 span,.services__head h2 span{color:var(--orange)}.section-intro__copy{max-width:560px;margin:0 auto;font-size:18px;line-height:1.5}
.method__cards{position:relative}.method-card{position:sticky;top:0;min-height:100svh;padding:110px 5vw 70px;display:grid;grid-template-columns:auto minmax(0,820px) auto;gap:6vw;align-items:center;border-top:3px solid var(--ink);overflow:hidden}.method-card__number{font:400 clamp(110px,18vw,270px)/.8 var(--display);letter-spacing:-.08em}.method-card__tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;margin:0 0 18px}.method-card h3{font:400 clamp(50px,8vw,118px)/.85 var(--display);letter-spacing:-.06em;margin:0 0 28px}.method-card>div:nth-child(2)>p:last-child{max-width:650px;font-size:clamp(17px,1.5vw,22px);line-height:1.5;margin:0}.method-card__mark{font-size:clamp(70px,10vw,150px);align-self:start;transform:rotate(10deg)}
.method-card--one{background:var(--bone)}.method-card--one .method-card__number,.method-card--one .method-card__mark{color:var(--orange)}
.method-card--two{background:var(--orange)}.method-card--two .method-card__number,.method-card--two .method-card__mark{color:var(--bone)}
.method-card--three{background:var(--ink);color:var(--bone)}.method-card--three .method-card__number,.method-card--three .method-card__mark{color:var(--orange)}
.method-card--four{background:var(--brown);color:var(--bone)}.method-card--four .method-card__number,.method-card--four .method-card__mark{color:var(--orange)}

.services{padding:140px 34px;background:var(--bone)}.services__head{max-width:1180px;margin:0 auto 65px}.services__head .section-label{color:var(--orange)}.services__grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;background:var(--ink);border:3px solid var(--ink)}
.service{position:relative;background:var(--bone);min-height:560px;padding:32px;display:flex;flex-direction:column;transition:background .25s,color .25s}.service--dark,.service:hover{background:var(--ink);color:var(--bone)}.service__index{font-size:12px;font-weight:700}.service__arrow{position:absolute;right:28px;top:24px;font:400 28px var(--display);color:var(--orange);transition:transform .25s}.service:hover .service__arrow{transform:translate(6px,-6px)}.service__for{color:var(--orange);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.13em;margin:58px 0 22px}.service h3{font:400 clamp(28px,2.6vw,42px)/.95 var(--display);letter-spacing:-.045em;margin:0 0 30px}.service>p:not(.service__for){font-size:16px;line-height:1.5;margin:0}.service ul{margin:auto 0 0;padding:25px 0 0;list-style:none;border-top:1px solid currentColor}.service li{font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin:9px 0}.service li:before{content:"→";color:var(--orange);margin-right:10px}

.about{background:var(--ink);color:var(--bone);padding:140px max(34px,8vw);display:grid;grid-template-columns:minmax(300px,430px) 1fr;gap:8vw;align-items:center}.about__portrait{position:relative}.about__portrait img{width:100%;max-height:650px;object-fit:cover;filter:grayscale(1) contrast(1.04);border:3px solid var(--bone);box-shadow:13px 13px 0 var(--orange)}.about__stamp{position:absolute;right:-30px;bottom:-25px;background:var(--acid);color:var(--ink);border:2px solid var(--bone);width:120px;height:120px;border-radius:50%;display:grid;place-items:center;text-align:center;font:400 10px/1.25 var(--display);transform:rotate(-9deg)}
.about .section-label{color:var(--orange)}.about h2{font:400 clamp(48px,6.5vw,98px)/.86 var(--display);letter-spacing:-.06em;margin:25px 0 40px}.about h2 span{color:var(--orange)}.about__copy{min-width:0}.about__copy>p:not(.section-label){font-size:17px;line-height:1.6;max-width:720px}.about__copy .lead{font-size:21px!important}.about__copy strong{color:var(--orange)}.credentials{display:flex;flex-wrap:wrap;gap:8px;margin:35px 0}.credentials span{max-width:100%;border:1px solid rgba(255,255,255,.5);padding:8px 12px;font-size:10px;font-weight:700;text-align:center;text-transform:uppercase;letter-spacing:.12em;overflow-wrap:anywhere}.text-link{display:inline-block;border-bottom:3px solid var(--orange);padding-bottom:5px;font:400 13px var(--display);text-transform:uppercase}

.fit{background:var(--orange);padding:120px max(34px,7vw);display:grid;grid-template-columns:1fr 1fr;gap:7vw;border-bottom:3px solid var(--ink)}.fit>div,.fit__right{min-width:0}.fit .section-label{margin-bottom:26px}.fit h2{font:400 clamp(50px,7vw,105px)/.86 var(--display);letter-spacing:-.06em;margin:0}.fit__list{border-top:3px solid var(--ink)}.fit__list p{display:grid;grid-template-columns:55px 1fr;gap:20px;font-size:18px;line-height:1.35;margin:0;padding:22px 0;border-bottom:2px solid var(--ink)}.fit__list span{font:400 15px var(--display)}.capacity{margin-top:28px;padding:24px;border:3px solid var(--ink);background:var(--ink);color:var(--bone);box-shadow:9px 9px 0 var(--acid)}.capacity span{display:block;margin-bottom:10px;color:var(--acid);font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.capacity strong{display:block;font:400 clamp(19px,2.15vw,31px)/1.05 var(--display);letter-spacing:-.035em}.capacity p{margin:12px 0 0;font-size:14px;line-height:1.4}

.faq{padding:130px max(34px,7vw);display:grid;grid-template-columns:.7fr 1fr;gap:8vw}.faq .section-label{color:var(--orange)}.faq h2{font:400 clamp(56px,7vw,104px)/.86 var(--display);letter-spacing:-.06em;margin:25px 0}.faq__items{border-top:3px solid var(--ink)}.faq details{border-bottom:2px solid var(--ink)}.faq summary{list-style:none;cursor:pointer;padding:26px 0;display:grid;grid-template-columns:1fr auto;gap:20px;font-size:19px;font-weight:700}.faq summary::-webkit-details-marker{display:none}.faq summary span{font:400 26px var(--display);color:var(--orange);transition:transform .25s}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{margin:0;padding:0 50px 28px 0;font-size:16px;line-height:1.55}

.closing{position:relative;min-height:92svh;padding:120px 24px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-top:3px solid var(--ink);overflow:hidden}.closing__asterisk{position:absolute;right:-8vw;top:-9vw;color:rgba(239,75,35,.18);font:400 39vw/1 var(--display);transform:rotate(14deg)}.closing .section-label{position:relative;color:var(--orange)}.closing h2{position:relative;margin:28px 0 36px;font:400 clamp(80px,15vw,220px)/.72 var(--display);letter-spacing:-.09em}.closing h2 span{position:relative;z-index:1}.closing h2 i{font-style:normal;color:transparent;-webkit-text-stroke:3px var(--ink)}.closing__copy{position:relative;max-width:620px;font-size:18px;line-height:1.5;margin:0 0 38px}.button--large{position:relative;padding:22px 30px;font-size:17px}.closing__mail{position:relative;margin-top:35px;font-size:14px;font-weight:700;border-bottom:2px solid var(--ink)}

.barcelona{position:relative;padding:64px max(24px,6vw) 58px;background:var(--orange);color:var(--bone);text-align:center;border-top:3px solid var(--ink);overflow:hidden}.barcelona__skyline{display:block;width:min(1180px,100%);height:auto;margin:0 auto;color:var(--bone);overflow:visible}.barcelona__skyline path{fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}.barcelona__skyline>path:first-child{stroke-width:1.5}.barcelona__skyline.is-visible path{animation:draw-line 1.7s cubic-bezier(.2,.65,.25,1) forwards}.barcelona__skyline.is-visible g:nth-of-type(2) path{animation-delay:.15s}.barcelona p{margin:18px auto 0;color:var(--ink);font:600 clamp(10px,1.4vw,17px)/1.5 var(--body);letter-spacing:.23em;text-transform:uppercase}.barcelona p span{padding:0 .35em}@keyframes draw-line{to{stroke-dashoffset:0}}

footer{background:var(--ink);color:var(--bone);padding:36px 34px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.footer__brand{display:flex;align-items:center;gap:9px;font:400 12px var(--display)}.footer__brand img{width:34px;height:28px;object-fit:contain;filter:invert(1)}footer>p{text-align:center;margin:0}footer>div{justify-self:end;display:flex;gap:24px}footer a:hover{color:var(--orange)}

.reveal{opacity:0;transform:translateY(36px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}

@media(max-width:980px){
  .nav{grid-template-columns:1fr auto;padding:14px 20px}.nav nav{display:none}
  .hero{padding:120px 20px 28px}.hero h1{font-size:11.7vw}.hero__lower{grid-template-columns:1fr 280px;gap:35px}.hero__copy{align-self:end}.portrait{grid-column:2;grid-row:1/3}.hero__action{justify-self:start;text-align:left;justify-items:start}.brand-seal{display:none}
  .manifesto__bottom{grid-template-columns:1fr;gap:55px}.method-card{grid-template-columns:auto 1fr}.method-card__mark{display:none}.services__grid{grid-template-columns:minmax(0,1fr)}.service{min-width:0;min-height:400px}.about{grid-template-columns:300px 1fr;gap:6vw;padding-left:34px;padding-right:34px}.fit{grid-template-columns:1fr}.faq{grid-template-columns:1fr}.faq h2 br{display:none}
  footer{grid-template-columns:1fr;text-align:center}footer .footer__brand{justify-content:center}footer>div{justify-self:center;flex-wrap:wrap;justify-content:center}
}

@media(max-width:640px){
  .nav{height:68px;padding:10px 16px}.nav__brand{box-shadow:3px 3px 0 var(--ink)}.nav__brand img{width:25px;height:22px}.nav__brand span{font-size:11px}.chip{padding:10px 12px;gap:10px;box-shadow:4px 4px 0 var(--orange)}
  .hero{min-height:auto;padding:105px 18px 30px}.eyebrow{font-size:9px;margin-bottom:24px}.hero h1{font-size:16.3vw;line-height:.79;letter-spacing:-.07em}.line--last{padding-left:0}.line--last em{display:block;font-size:.74em;letter-spacing:-.065em}.line--outline{-webkit-text-stroke:1.5px var(--ink)}
  .hero__lower{grid-template-columns:1fr;margin-top:38px;gap:34px}.hero__copy{order:2}.portrait{grid-column:auto;grid-row:auto;order:1;width:min(82vw,340px);margin:auto}.portrait__frame{height:360px}.portrait__badge{right:-14px}.hero__action{order:3;width:100%;justify-items:stretch}.hero__action .button{width:100%}.hero__action p{text-align:left}.micro-proof{max-width:310px}
  .ticker{height:48px}.ticker span{font-size:12px}.ticker b{margin:0 26px}
  .manifesto{padding:95px 18px}.manifesto__statement{font-size:10.4vw;margin:44px 0 65px}.manifesto__bottom>p{font-size:16px}.stats{grid-template-columns:1fr}.stats div{display:grid;grid-template-columns:110px 1fr;align-items:center;border-right:0;border-bottom:1px solid rgba(255,255,255,.3);padding:16px 0}.stats strong{font-size:52px}.stats span{margin:0}
  .section-intro{padding:90px 18px 55px}.section-intro h2,.services__head h2{font-size:13vw}.section-intro__copy{font-size:16px}
  .method-card{min-height:82svh;padding:80px 18px 55px;display:block}.method-card__number{font-size:29vw;margin-bottom:50px}.method-card h3{font-size:12vw}.method-card>div:nth-child(2)>p:last-child{font-size:16px}
  .services{padding:95px 18px}.services__grid{margin-top:40px}.service{min-height:470px;padding:26px}.service h3{font-size:clamp(23px,7.4vw,34px)}
  .about{padding:95px 18px;grid-template-columns:1fr;gap:80px}.about__portrait{width:min(85vw,380px);margin:auto}.about__stamp{right:-8px}.about h2{font-size:11.3vw}.about__copy .lead{font-size:19px!important}
  .fit{padding:90px 18px}.fit h2{font-size:12vw}.fit__list p{grid-template-columns:38px 1fr;font-size:16px;padding:19px 0}.capacity{margin-top:24px;padding:21px 18px}.capacity strong{font-size:21px}
  .faq{padding:90px 18px}.faq h2{font-size:14vw}.faq summary{font-size:16px}.faq details p{padding-right:0}
  .closing{min-height:86svh;padding:100px 18px}.closing h2{font-size:22vw}.closing h2 span,.closing h2 i{display:block}.closing h2 i{-webkit-text-stroke:2px var(--ink)}.closing__copy{font-size:16px}.button--large{width:100%;font-size:14px}
  .barcelona{padding:54px 18px 42px}.barcelona__skyline{width:145%;max-width:none;margin-left:-22.5%}.barcelona p{max-width:330px;font-size:9px;line-height:1.7;letter-spacing:.16em}.barcelona p span{padding:0 .15em}
  footer{padding:34px 18px}footer>div{gap:14px}
}

@media(max-width:360px){
  .nav{padding-left:10px;padding-right:10px}.nav__brand{padding-right:8px}.nav__brand span{font-size:9.5px}.chip{padding:9px 9px;font-size:10px;gap:6px}
  .hero{padding-left:14px;padding-right:14px}.hero h1{font-size:15.8vw}.line--last em{font-size:.73em}.portrait{width:min(88vw,320px)}.portrait__frame{height:340px}
  .manifesto{padding-left:14px;padding-right:14px}.manifesto__statement{font-size:9.9vw}
  .method-card,.services,.about,.fit,.faq,.closing{padding-left:14px;padding-right:14px}.method-card h3{font-size:11.8vw}.service{padding:22px}.about h2{font-size:11.2vw}.fit h2{font-size:11.9vw}.faq h2{font-size:13vw}
  .credentials span{font-size:9px;letter-spacing:.08em}.closing h2{font-size:22vw}.button--large{font-size:12px;padding-left:18px;padding-right:18px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.loader{display:none}.ticker>div{animation:none}.reveal{opacity:1;transform:none;transition:none}.line i{transform:none}.brand-seal img{transition:none}.barcelona__skyline path{stroke-dashoffset:0;animation:none!important}
}
