@font-face{font-family:Montserrat;src:url('/assets/fonts/montserrat-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('/assets/fonts/montserrat-bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
:root{--black:#000;--white:#fff;--ink:#090909;--page-pad:clamp(24px,7.1vw,135px);--grid-gap:24px;--font:Montserrat,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#000}
body{margin:0;color:var(--ink);background:#fff;font-family:var(--font);font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}
body.is-modal-open{overflow:hidden}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
main{overflow:hidden}
.section-dark{color:#fff;background:#000}
.section-light{color:#000;background:#fff}
.layout-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);padding-inline:var(--page-pad)}
h1,h2,h3,p{margin-top:0}
h1,h2{font-weight:400;letter-spacing:-.045em}
h1 strong,h2 strong{font-weight:700}
p{letter-spacing:-.025em}
.pill-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:57px;padding:0 25px;border:0;border-radius:16px;font-size:13px;font-weight:400;letter-spacing:-.02em;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.pill-button:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.pill-button--light{color:#1a1a1a;background:#fff}
.pill-button--dark{color:#fff;background:#000}

.hero{position:relative;height:clamp(720px,46.05vw,874px);min-height:720px;isolation:isolate}
.hero__image,.hero__shade{position:absolute;inset:0;width:100%;height:100%}
.hero__image{z-index:-2;object-fit:cover;object-position:50% 50%}
.hero__shade{z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.77) 0,rgba(0,0,0,.59) 31%,rgba(0,0,0,.12) 68%,rgba(0,0,0,.02) 100%)}
.hero__content{height:100%;position:relative}
.hero__copy{grid-column:1/9;padding-top:clamp(168px,12.12vw,230px)}
.hero h1{max-width:870px;margin:0 0 26px;font-size:clamp(58px,3.864vw,73.34px);line-height:1.04}
.hero__copy>p{max-width:1060px;margin-bottom:38px;font-size:clamp(16px,1.124vw,21.34px);line-height:1.28}
.hero__ribbon{position:absolute;top:43px;right:-2px;width:121px;height:410px;object-fit:contain}

.proof{height:195px}
.proof__grid{height:100%;align-items:center}
.proof-stat{align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0;padding-right:24px}
.proof-stat--one{grid-column:1/3}.proof-stat--two{grid-column:3/5}.proof-stat--three{grid-column:5/7}
.proof-stat strong{display:block;font-size:33px;font-weight:400;line-height:1}
.proof-stat span{margin-top:9px;font-size:12px}
.proof-stat i{display:block;width:100%;height:1px;margin:17px 0;background:rgba(255,255,255,.65)}
.proof-stat p{margin:0;font-size:10px;line-height:1.45}
.proof__award{grid-column:8/9;justify-self:end;width:88px;height:134px;object-fit:contain}
.proof__copy{grid-column:9/13;margin:0;font-size:16px;line-height:1.05;letter-spacing:-.04em}
.proof__copy strong{font-weight:700}

.services{height:899px;padding-top:131px}
.section-intro h2{grid-column:1/7;max-width:850px;margin-bottom:0;font-size:clamp(54px,3.864vw,73.34px);line-height:1.06}
.section-intro>p,.section-intro>div{grid-column:8/13;align-self:start;margin-top:20px;font-size:clamp(16px,1.124vw,21.34px);line-height:1.23}
.section-intro>div p{margin-bottom:22px}
.service-list{margin-top:235px}
.service-list article{grid-column:span 4;padding-right:20px}
.service-list h3,.process-steps h3,.why__items h3,.faq__items h3{margin-bottom:19px;font-size:clamp(15px,1.124vw,21.34px);line-height:1.12;font-weight:700;letter-spacing:-.035em}
.service-list p,.process-steps p,.why p,.faq__items p{margin-bottom:0;font-size:clamp(14px,.984vw,18.67px);line-height:1.16}

.projects{padding:131px 0 88px}
.section-intro--dark h2{color:#fff}
.section-intro--dark>p,.section-intro--dark>div{color:#fff}
.project-carousel{margin-top:130px}
.project-carousel__viewport{overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain}
.project-carousel__viewport::-webkit-scrollbar{display:none}
.project-rail{display:grid;grid-auto-flow:column;grid-auto-columns:min(814px,42.9vw);gap:22px;width:max-content;padding-inline:var(--page-pad)}
.project-rail figure{height:clamp(420px,32.2vw,611px);margin:0;overflow:hidden;background:#111;scroll-snap-align:start}
.project-rail img{width:100%;height:100%;object-fit:cover}
.project-carousel__controls{display:flex;align-items:center;justify-content:flex-end;gap:19px;padding-inline:var(--page-pad);margin-top:32px}
.project-carousel__controls button{display:grid;place-items:center;width:49px;height:49px;border:1px solid rgba(255,255,255,.7);border-radius:50%;color:#fff;background:transparent;font-size:21px;cursor:pointer}
.project-carousel__controls p{display:flex;align-items:center;gap:10px;margin:0;font-size:12px;letter-spacing:.03em}
.project-carousel__controls i{display:block;width:45px;height:1px;background:rgba(255,255,255,.55)}

.process{padding:123px 0 120px}
.process-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-inline:var(--page-pad);margin-top:78px}
.process-card-grid figure{margin:0;overflow:hidden;border-radius:18px;background:#000}
.process-card-grid img{width:100%;height:auto}
.process-steps{row-gap:60px;margin-top:88px}
.process-steps article{grid-column:span 4;padding-right:20px}

.experience{padding:87px 0 120px}
.tour-shell{position:relative;width:calc(100% - 2 * var(--page-pad));height:auto;aspect-ratio:1661/962;margin:80px var(--page-pad) 0;background:#171717 var(--tour-poster) center/cover no-repeat;overflow:hidden}
.tour-shell iframe{display:block;width:100%;height:100%;border:0;background:transparent}
.why{margin-top:112px}
.why__heading{grid-column:1/13;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--grid-gap)}
.why__heading h2{margin:0;font-size:clamp(53px,3.864vw,73.34px);line-height:1.07}
.why__heading h2 span{font-weight:400}
.why__copy{grid-column:1/13;margin:72px 0 0;font-size:clamp(15px,1.124vw,21.34px)!important;line-height:1.35!important}
.why__items{grid-column:1/13;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 90px;margin-top:78px}
.why__items article{max-width:none;padding-right:9%}

.faq{padding:120px 0}
.faq__grid{align-items:start}
.faq h2{grid-column:1/6;align-self:start;margin:0;font-size:clamp(55px,3.864vw,73.34px);line-height:1.05}
.faq__items{grid-column:7/13;align-self:start}
.faq__items details{border-top:1px solid #000}
.faq__items details:last-child{border-bottom:1px solid #000}
.faq__items summary{position:relative;padding:20px 45px 20px 0;font-size:clamp(14px,.984vw,18.67px);font-weight:700;line-height:1.25;letter-spacing:-.035em;list-style:none;cursor:pointer}
.faq__items summary::-webkit-details-marker{display:none}
.faq__items summary::after{content:'+';position:absolute;top:50%;right:3px;transform:translateY(-50%);font-size:25px;font-weight:400}
.faq__items details[open] summary::after{content:'−'}
.faq__items p{max-width:95%;margin:0;padding:0 0 24px;font-size:clamp(13px,.984vw,18.67px);line-height:1.35}

.closing{display:grid;place-items:start center;padding:110px var(--page-pad) 125px;text-align:center}
.closing__content{padding-top:0}
.closing h2{margin-bottom:45px;font-size:clamp(55px,3.864vw,73.34px);line-height:1.05}
.closing p{margin-bottom:55px;font-size:clamp(14px,.984vw,18.67px);line-height:1.3}

.site-footer{border-top:1px solid rgba(255,255,255,.28);padding:78px 0 36px}
.site-footer__grid{row-gap:66px}
.site-footer__brand{grid-column:1/5;margin:0;font-size:clamp(34px,3.2vw,61px);font-weight:700;letter-spacing:-.06em}
.site-footer__grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:9px;font-size:14px;line-height:1.4}
.site-footer__grid>div:nth-of-type(1){grid-column:6/8}.site-footer__grid>div:nth-of-type(2){grid-column:8/11}.site-footer__grid>div:nth-of-type(3){grid-column:11/13}
.site-footer__grid>div>p{margin:0 0 9px;font-size:11px;font-weight:700;letter-spacing:.08em}
.site-footer address{font-style:normal}
.site-footer a:hover{text-decoration:underline}
.site-footer__legal{grid-column:1/13;margin:0;padding-top:26px;border-top:1px solid rgba(255,255,255,.28);font-size:11px;color:rgba(255,255,255,.7)}

.whatsapp-float{position:fixed;z-index:50;right:25px;bottom:25px;display:flex;align-items:center;gap:10px;min-height:50px;padding:7px 16px 7px 8px;color:#fff;background:#000;border:1px solid rgba(255,255,255,.72);border-radius:999px;box-shadow:0 8px 26px rgba(0,0,0,.32);font-size:11px;font-weight:700;letter-spacing:.05em;transition:transform .18s ease}
.whatsapp-float:hover{transform:translateY(-2px)}
.whatsapp-float svg{width:34px;height:34px;padding:7px;fill:#000;background:#fff;border-radius:50%}

.lead-modal{width:min(1180px,calc(100vw - 40px));max-height:calc(100dvh - 40px);margin:auto;padding:0;color:#000;background:#fff;border:0;border-radius:0;box-shadow:0 30px 100px rgba(0,0,0,.45);overflow:auto}
.lead-modal::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(5px)}
.lead-modal__close{position:sticky;z-index:3;top:18px;float:right;width:44px;height:44px;margin:18px 18px -62px 0;border:1px solid #000;border-radius:50%;color:#000;background:#fff;font-size:30px;line-height:1;cursor:pointer}
.lead-modal__intro{padding:70px 70px 35px}
.lead-modal__intro>p:first-child{margin-bottom:23px;font-size:11px;font-weight:700;letter-spacing:.08em}
.lead-modal__intro h2{margin-bottom:26px;font-size:clamp(43px,4.2vw,70px);line-height:1.02}
.lead-modal__intro>p:last-child{max-width:710px;margin-bottom:0;font-size:16px;line-height:1.4}
.lead-form{padding:0 70px 70px}
.lead-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 26px}
.lead-form label:not(.lead-form__consent){display:grid;gap:8px}
.lead-form label>span{font-size:11px;font-weight:700;line-height:1.3}
.lead-form input,.lead-form select,.lead-form textarea{width:100%;border:0;border-bottom:1px solid #000;border-radius:0;color:#000;background:#fff;font-size:15px;outline:none}
.lead-form input,.lead-form select{height:52px;padding:0}
.lead-form textarea{min-height:96px;padding:14px 0;resize:vertical}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{border-bottom-width:2px}
.lead-form__message{margin-top:22px}
.lead-form__honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.lead-form__consent{display:grid;grid-template-columns:18px 1fr;gap:11px;align-items:start;margin-top:23px;color:#4a4a4a;font-size:12px;line-height:1.45}
.lead-form__consent input{width:17px;height:17px;margin:0;accent-color:#000}
.lead-form__consent span{font:inherit!important}.lead-form__consent a{text-decoration:underline}
.lead-form__actions{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;margin-top:28px}
.lead-form__actions p{margin:0;color:#255832;font-size:13px;line-height:1.35}.lead-form__actions p.is-error{color:#9a332d}
.lead-form button:disabled{opacity:.55;cursor:wait}

@media(max-width:1100px){
  :root{--page-pad:clamp(28px,5vw,60px);--grid-gap:18px}
  .layout-grid{grid-template-columns:repeat(8,minmax(0,1fr))}
  .hero__copy{grid-column:1/7}.hero__ribbon{right:0;width:92px;height:312px}
  .proof-stat--one{grid-column:1/2}.proof-stat--two{grid-column:2/3}.proof-stat--three{grid-column:3/4}.proof__award{grid-column:5/6}.proof__copy{grid-column:6/9}
  .section-intro h2{grid-column:1/6}.section-intro>p,.section-intro>div{grid-column:6/9}
  .service-list article,.process-steps article{grid-column:span 8}.service-list{margin-top:100px;row-gap:46px}
  .services,.process,.experience,.faq{height:auto;min-height:0;padding-bottom:110px}
  .project-rail{grid-auto-columns:55vw}
  .process-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .why__heading,.why__copy,.why__items{grid-column:1/9}
  .faq h2{grid-column:1/4}.faq__items{grid-column:4/9}
}

@media(max-width:720px){
  :root{--page-pad:22px;--grid-gap:12px}
  .layout-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .hero{height:auto;min-height:790px}
  .hero__copy{grid-column:1/5;padding-top:135px;padding-bottom:85px}
  .hero h1{max-width:90%;font-size:45px;line-height:1.02}
  .hero__copy>p{max-width:94%;font-size:14px;line-height:1.42}
  .hero__ribbon{top:18px;right:0;width:68px;height:228px}
  .pill-button{min-height:52px;padding-inline:20px;font-size:11px;border-radius:14px}
  .proof{height:auto;padding:30px 0}
  .proof__grid{row-gap:34px}
  .proof-stat--one{grid-column:1/3}.proof-stat--two{grid-column:3/5}.proof-stat--three{grid-column:1/3}.proof__award{grid-column:3/4;justify-self:start}.proof__copy{grid-column:4/5;font-size:10px;line-height:1.15}
  .proof-stat p{font-size:9px}.proof-stat strong{font-size:28px}
  .services,.projects,.process,.experience,.faq{height:auto;padding-top:78px;padding-bottom:78px}
  .section-intro h2{grid-column:1/5;font-size:43px;line-height:1.02}
  .section-intro>p,.section-intro>div{grid-column:1/5;margin-top:32px;font-size:15px;line-height:1.4}
  .service-list{margin-top:70px}.service-list article,.process-steps article{grid-column:1/5}.service-list h3,.process-steps h3{font-size:16px}.service-list p,.process-steps p{font-size:14px;line-height:1.38}
  .project-carousel{margin-top:70px}.project-rail{grid-auto-columns:82vw;gap:12px;padding-inline:22px}
  .project-rail figure{height:58vw;min-height:270px}
  .project-carousel__controls{justify-content:space-between;padding-inline:22px;margin-top:24px}
  .process-card-grid{grid-template-columns:1fr;gap:16px;padding-inline:22px;margin-top:55px}
  .process-card-grid figure{border-radius:14px}
  .process-steps{margin-top:60px;row-gap:38px}
  .tour-shell{width:calc(100% - 44px);margin:55px 22px 0;aspect-ratio:4/3}
  .why{margin-top:75px}.why__heading{grid-column:1/5;grid-template-columns:1fr;gap:32px}.why__heading h2{font-size:42px}.why__copy{grid-column:1/5;margin-top:48px;font-size:14px!important;line-height:1.4!important}.why__items{grid-column:1/5;grid-template-columns:1fr;gap:36px;margin-top:50px}.why__items h3{font-size:15px}.why__items p{font-size:14px;line-height:1.38}
  .faq{padding-top:78px}.faq__grid{height:auto;min-height:0;padding-top:0;padding-bottom:0}.faq h2{grid-column:1/5;align-self:start;margin-bottom:48px;font-size:48px}.faq__items{grid-column:1/5}.faq__items summary{padding-block:18px;font-size:14px}.faq__items p{font-size:14px;line-height:1.4}
  .closing{height:auto;padding:78px 22px 90px}.closing__content{padding-top:0}.closing h2{font-size:44px;margin-bottom:36px}.closing p{font-size:14px;line-height:1.45;margin-bottom:44px}.closing p br{display:none}
  .site-footer{padding:58px 0 28px}.site-footer__grid{row-gap:38px}.site-footer__brand{grid-column:1/5}.site-footer__grid>div:nth-of-type(1),.site-footer__grid>div:nth-of-type(2),.site-footer__grid>div:nth-of-type(3){grid-column:1/5}.site-footer__legal{grid-column:1/5;margin-top:10px}
  .whatsapp-float{right:14px;bottom:14px;padding-right:8px}.whatsapp-float span{display:none}
  .lead-modal{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.lead-modal__intro{padding:62px 24px 30px}.lead-modal__intro h2{font-size:42px}.lead-form{padding:0 24px 40px}.lead-form__grid{grid-template-columns:1fr}.lead-form__actions{grid-template-columns:1fr}.lead-form__actions .pill-button{width:100%}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
