/* ModelLocation application layer. Shared ModelFood DNA lives in brand.css/location.css. */
.lead{font-size:var(--fs-lead);line-height:1.55;color:var(--mute);max-width:50ch}.s-paper .lead,.s-cream .lead{color:var(--mute-dark)}
.rv-img{overflow:hidden}.rv-img img{transform:scale(1.05);filter:saturate(.84);transition:transform 1.3s var(--ease),filter 1.3s var(--ease)}.rv-img.is-in img{transform:none;filter:none}
.nav__links{display:flex;align-items:center;gap:clamp(16px,2.2vw,34px)}.nav__cta{border:1px solid rgba(241,238,229,.26);background:transparent}.nav__cta:hover{background:var(--accent);color:var(--white)}
.nav-toggle{display:none;background:transparent;border:1px solid rgba(241,238,229,.28);color:var(--paper);width:44px;height:44px;place-items:center}.nav-toggle svg{width:22px;height:22px}
.create,.scale,.calculator,.blog-preview{padding:var(--sec) 0}.type-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule-light);border-left:1px solid var(--rule-light)}.type-card{min-height:245px;padding:28px;border-right:1px solid var(--rule-light);border-bottom:1px solid var(--rule-light);display:flex;flex-direction:column}.type-card .mono{color:var(--clay)}.type-card h3{margin-top:auto;font-size:clamp(1.25rem,2vw,1.8rem);line-height:1.03;letter-spacing:-.035em}.type-card p{margin-top:14px;color:var(--mute-dark);line-height:1.55}
.projects__item p{margin-top:10px;color:var(--mute);font-size:.92rem;line-height:1.5}.calc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(48px,8vw,120px);align-items:start}.calc-grid .lead{margin-top:24px}.calc-card,.request-form{display:grid;gap:18px}.calc-card{padding:clamp(26px,4vw,50px);background:var(--paper);border:1px solid var(--rule-light)}.calc-card label,.request-form label{display:grid;gap:8px;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.calc-card input,.calc-card select,.request-form input,.request-form select,.request-form textarea{width:100%;border:1px solid var(--rule-light);background:rgba(255,255,255,.24);padding:14px 15px;outline:none;border-radius:0;text-transform:none;letter-spacing:0;font-weight:400}.request-form input,.request-form select,.request-form textarea{border-color:var(--rule);color:var(--paper);background:rgba(255,255,255,.035)}.request-form option{color:var(--ink)}.calc-card input:focus,.calc-card select:focus{border-color:var(--clay)}.request-form input:focus,.request-form select:focus,.request-form textarea:focus{border-color:var(--accent-lit)}.calc-options{display:flex;gap:26px;flex-wrap:wrap}.calc-options label{display:flex;align-items:center;gap:8px}.calc-options input{width:auto}.calc-result{font-size:.9rem;color:var(--mute-dark);padding-top:14px;border-top:1px solid var(--rule-light)}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.blog-card img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.8);transition:transform .9s var(--ease),filter .9s var(--ease)}.blog-card:hover img{transform:scale(1.025);filter:saturate(1)}.blog-card .mono{display:block;margin-top:18px;color:var(--clay)}.blog-card h3,.blog-card h2{margin-top:7px;font-size:clamp(1.3rem,2vw,2rem);line-height:1.05;letter-spacing:-.035em}.blog-card p{margin-top:12px;color:var(--mute-dark);line-height:1.55}
.contact{padding:var(--sec) 0}.request-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(48px,8vw,120px);align-items:start}.request-grid .lead{margin-top:28px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-success{padding:14px;border:1px solid rgba(152,161,135,.5);color:var(--accent-lit)}
.footer{padding:70px 0 24px}.footer__grid{display:grid;grid-template-columns:1.7fr repeat(3,1fr);gap:40px;padding-bottom:52px}.footer__grid>div{display:flex;flex-direction:column;gap:9px}.footer__grid>div:first-child{gap:18px}.footer__grid p{color:var(--mute);max-width:28ch}.footer__grid .mono{color:var(--accent-lit);margin-bottom:8px}.footer__grid a:not(.brand){color:var(--mute);font-size:.9rem}.footer__grid a:hover{color:var(--paper)}.footer__bottom{display:flex;justify-content:space-between;gap:20px;padding-top:22px;border-top:1px solid var(--rule);color:var(--mute);font-size:.8rem}
.page-hero,.detail-hero{padding:clamp(150px,20vw,240px) 0 clamp(80px,10vw,140px)}.page-hero .lead{margin-top:28px}.listing,.detail-body,.article-body{padding:var(--sec) 0}.project-list{display:grid;gap:1px;background:var(--rule-light);border:1px solid var(--rule-light)}.list-card{display:grid;grid-template-columns:minmax(300px,.8fr) 1.2fr;background:var(--paper)}.list-card figure{min-height:360px;overflow:hidden}.list-card img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.list-card:hover img{transform:scale(1.025)}.list-card>div{padding:clamp(28px,5vw,70px);display:flex;flex-direction:column;justify-content:center}.list-card .mono{color:var(--clay)}.list-card h2{font-size:clamp(2rem,4vw,4rem);line-height:.95;letter-spacing:-.05em;margin-top:12px}.list-card p{margin:20px 0 28px;color:var(--mute-dark);max-width:50ch}.detail-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(44px,7vw,100px);align-items:center}.detail-grid figure{aspect-ratio:4/3}.detail-grid figure img{width:100%;height:100%;object-fit:cover}.coord{margin-top:28px;color:var(--accent-lit)}.prose-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(45px,8vw,120px)}.prose{max-width:760px;font-size:1.05rem;line-height:1.75}.prose p+p{margin-top:1.25em}.prose h2{font-size:2rem;line-height:1.1;margin:2em 0 .8em}.prose .btn{margin-top:34px}.facts{margin-top:40px;border-top:1px solid var(--rule-light)}.facts>div{display:grid;grid-template-columns:140px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid var(--rule-light)}.facts dt{font-family:var(--mono);font-size:.75rem;text-transform:uppercase;color:var(--clay)}
.blog-list{display:grid;grid-template-columns:repeat(2,1fr);gap:50px 24px}.blog-card--large img{aspect-ratio:16/10}.article-hero{padding:clamp(150px,20vw,240px) 0 90px}.article-head{max-width:1000px}.article-head .dsp{margin-top:22px}.article-head .lead{margin-top:28px}.article-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(50px,8vw,120px);align-items:start}.article-layout aside{position:sticky;top:110px}.article-layout aside img{width:100%;aspect-ratio:4/3;object-fit:cover}.article-layout aside .mono{display:block;margin-top:14px;color:var(--clay);line-height:1.6}.prose--article{font-size:1.12rem}
@media (max-width:1100px){.type-grid{grid-template-columns:repeat(2,1fr)}.footer__grid{grid-template-columns:1.4fr 1fr 1fr}.footer__grid>div:last-child{grid-column:2}.calc-grid,.request-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.detail-grid figure{max-height:640px}}
@media (max-width:1000px){.nav-toggle{display:grid}.nav{display:none;position:absolute;top:var(--header-height);left:0;right:0;background:rgba(23,22,18,.98);padding:22px var(--pad) 30px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);align-items:stretch}.nav.is-open{display:flex;flex-direction:column}.nav__links{flex-direction:column;align-items:flex-start}.nav__cta{align-self:stretch;justify-content:space-between}.list-card{grid-template-columns:1fr}.list-card figure{min-height:0;aspect-ratio:16/10}.prose-grid{grid-template-columns:1fr}.article-layout{grid-template-columns:1fr}.article-layout aside{position:static}.footer__grid{grid-template-columns:1fr 1fr}.footer__grid>div:last-child{grid-column:auto}}
@media (max-width:680px){.type-grid,.blog-grid,.blog-list{grid-template-columns:1fr}.type-card{min-height:210px}.form-row{grid-template-columns:1fr}.footer__grid{grid-template-columns:1fr}.footer__bottom{flex-direction:column}.page-hero,.detail-hero{padding-top:140px}.facts>div{grid-template-columns:1fr;gap:4px}}
@media (prefers-reduced-motion:reduce){.rv-img img{transform:none!important}}

/* Layout, responsive typography and controls. */
:root{--fs-dsp-xl:clamp(3rem,6.4vw,6.5rem);--fs-dsp:clamp(2.1rem,4.3vw,4.1rem)}
:is(h1,h2,h3,.brand,.prose,.form-row,.calc-card,.request-form,label){min-width:0}
:is(h1,h2,h3,p,dd,a){overflow-wrap:anywhere}
.dsp,.hero__title{text-wrap:pretty}
.sec-head>.tlink{justify-self:end;align-self:end;width:max-content;max-width:100%}
.hero{min-height:max(740px,100svh)}
.hero__in{padding-top:170px;padding-bottom:100px;align-items:center}
.hero__copy{width:100%;max-width:780px;min-width:0}
.hero__media{inset:9% -7% 8% 29%;transform:none;will-change:auto;mask-image:linear-gradient(90deg,transparent,#000 18%,#000 90%,transparent)}
.hero__media picture,.hero__media img{object-fit:contain;object-position:center}
.hero__media img{filter:saturate(.85) brightness(.95)}
.hero__wash{background:linear-gradient(90deg,var(--ink),rgba(23,22,18,.90) 22%,rgba(23,22,18,.48) 48%,transparent 76%),linear-gradient(0deg,var(--ink),transparent 20%,transparent 85%,var(--ink))}
.hero__topo{opacity:.35}
.hero__coord-card{top:auto;bottom:108px}
.hero__lead{max-width:44ch}
.hero__foot-in{justify-content:flex-start}
.hero__foot-in .mono{white-space:nowrap}
.type-card h3,.uses__card h3,.blog-card h3,.blog-card h2,.list-card h2{line-height:1.15}
.type-card .mono{margin-bottom:32px}
.calc-card,.request-form,.form-row{min-width:0}
.calc-card label,.request-form label{min-width:0;letter-spacing:.025em;line-height:1.5}
.calc-card input,.calc-card select,.request-form input,.request-form select,.request-form textarea{min-width:0;max-width:100%;font-size:1rem;line-height:1.5}
.request-form textarea{resize:vertical;min-height:130px}
.request-form input::placeholder,.request-form textarea::placeholder{color:#a49f93;opacity:1}
.request-form option{background:var(--paper);color:var(--ink)}
.request-form input[type=file]{padding:10px;font-size:.85rem;overflow:hidden}
.request-form input::file-selector-button{font:inherit;border:0;padding:9px 10px;margin-right:10px;background:var(--cream);color:var(--ink);cursor:pointer}
.btn--wide{width:100%;justify-content:space-between;text-align:left}
.btn:disabled{cursor:wait;opacity:.6}
.form-hint{font-size:.82rem;line-height:1.55;color:var(--mute);font-weight:400;letter-spacing:0;text-transform:none}
.form-hint a{text-decoration:underline;text-underline-offset:3px}
.form-status:empty{display:none}
.form-status{font-size:.95rem;line-height:1.5;padding:14px;border:1px solid var(--rule)}
.form-status.is-error{color:#edc4ae;border-color:var(--clay)}
.hdr:has(.nav.is-open){background:var(--ink)}
.nav-toggle{cursor:pointer;flex:none}
.nav-toggle[aria-expanded=true] svg{transform:rotate(90deg)}
.footer .brand{align-self:flex-start}
@media(min-width:1001px){.eco__link:nth-child(2){padding-left:28px}}
@media(max-width:1100px){.hero__copy{max-width:690px}.hero__media{inset:10% -18% 10% 25%}}
@media(max-width:1000px){
 .nav{max-height:calc(100dvh - var(--header-height));overflow-y:auto}
 .nav__links{align-items:stretch;gap:4px}.nav__links a{padding:10px 0;font-size:1rem}
 .sec-head>.tlink{justify-self:start}
}
@media(max-width:640px){
 :root{--header-height:66px;--fs-dsp-xl:clamp(2.25rem,9.5vw,3.8rem);--fs-dsp:clamp(2rem,8.5vw,3rem)}
 .hdr__in{gap:12px}.brand{gap:8px}.brand__name{font-size:.73rem;letter-spacing:.09em}.brand__mark{width:24px}
 .hero{min-height:100svh}
 .hero__in{padding-top:clamp(260px,72vw,400px);padding-bottom:38px;align-items:flex-end}
 .hero__media{inset:var(--header-height) 0 auto;height:clamp(260px,76vw,450px);mask-image:linear-gradient(180deg,#000 70%,transparent);transform:none!important}
 .hero__media img{object-fit:contain;object-position:center}
 .hero__wash{background:linear-gradient(0deg,var(--ink),transparent 68%)}
 .hero__topo{height:400px;opacity:.25}
 .hero__title{line-height:1.1;letter-spacing:-.045em}
 .hero__lead{margin-top:20px}.hero__actions{margin-top:24px}
 .hero__foot{padding:14px 0}.hero__foot-in{column-gap:8px;row-gap:8px}.hero__foot .mono{font-size:.61rem;letter-spacing:.035em}
 .intro__facts>div{grid-template-columns:1fr;gap:6px}
 .comparison-grid{gap:12px}.comparison-card img{height:260px}.comparison-card figcaption{padding:12px}.comparison-card .mono{font-size:.61rem;letter-spacing:.03em}.comparison-card figcaption>span:last-child{font-size:.95rem;line-height:1.4}
.calc-card{padding:22px}.eco__mark{font-size:.82rem;letter-spacing:.07em}
}
@media(max-width:380px){.comparison-grid{grid-template-columns:1fr}.comparison-card img{height:360px}.hero__foot-in{max-width:240px;margin-left:var(--pad)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.motion-ready :is(.rv,.rv-head){opacity:1!important;transform:none!important}}

@media(max-width:1000px){
 .no-js .nav-toggle{display:none}
 .no-js .hdr{position:static;background:var(--ink)}
 .no-js .hdr__in{height:auto;flex-wrap:wrap;padding-block:16px}
 .no-js .nav{display:flex;position:static;width:100%;padding:16px 0 0;max-height:none;flex-direction:column}
 .no-js .nav__links{flex-direction:row;flex-wrap:wrap;gap:8px 20px}
}

/* Scope comparison: every card represents a different territory and detail set. */
.scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.scope-card{min-width:0;border:1px solid var(--rule-light);background:var(--cream);display:flex;flex-direction:column}
.scope-card__media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--ink)}
.scope-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .8s var(--ease)}
.scope-card:hover .scope-card__media img{transform:scale(1.018);filter:saturate(1.04)}
.scope-card__note{position:absolute;left:14px;bottom:14px;padding:7px 9px;background:rgba(23,22,18,.76);color:var(--paper);font-size:.6rem;backdrop-filter:blur(8px)}
.scope-card__copy{padding:clamp(22px,3vw,38px);display:flex;flex-direction:column;flex:1}
.scope-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--rule-light)}
.scope-card__head .mono{color:var(--clay);flex:none}
.scope-card__extent{max-width:25ch;text-align:right;color:var(--mute-dark);font-size:.82rem;line-height:1.35}
.scope-card h3{margin-top:26px;font-size:clamp(1.65rem,2.6vw,2.8rem);line-height:1.05;letter-spacing:-.04em;max-width:16ch}
.scope-card ul{margin-top:auto;padding-top:28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
.scope-card li{position:relative;padding:10px 0 10px 16px;border-top:1px solid var(--rule-light);font-family:var(--mono);font-size:.7rem;line-height:1.4;text-transform:uppercase;letter-spacing:.055em}
.scope-card li::before{content:'';position:absolute;left:0;top:16px;width:5px;height:5px;background:var(--accent)}
.scope-disclaimer{margin-top:24px;max-width:78ch;color:var(--mute-dark);font-size:.9rem;line-height:1.6}

@media(max-width:760px){
 .scope-grid{grid-template-columns:1fr}
 .scope-card__media{aspect-ratio:16/9}
}
@media(max-width:680px){
 .scope-card__head{display:grid;gap:7px}
 .scope-card__extent{text-align:left}
 .scope-card ul{grid-template-columns:1fr}
}

/* Commercial journey: source, proposal, production, result. */
.process{position:relative;overflow:hidden}
.process::before{content:'';position:absolute;right:-16vw;top:5%;width:52vw;height:52vw;border:1px solid rgba(152,161,135,.08);border-radius:50%;box-shadow:0 0 0 90px rgba(152,161,135,.025),0 0 0 180px rgba(152,161,135,.018);pointer-events:none}
.process>.shell{position:relative}
.process-head{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.72fr);gap:clamp(48px,8vw,120px);align-items:end;margin-bottom:clamp(54px,7vw,96px)}
.process-head .dsp{max-width:12.5ch}
.process-offer{position:relative;padding:clamp(26px,3vw,38px);background:linear-gradient(145deg,rgba(102,113,90,.2),rgba(42,39,32,.76));border:1px solid var(--rule);border-top-color:var(--accent-lit)}
.process-offer .mono{display:block;color:var(--accent-lit);margin-bottom:16px}
.process-offer strong{display:block;font-size:clamp(1.45rem,2.3vw,2.3rem);line-height:1.08;letter-spacing:-.04em}
.process-offer p{margin:17px 0 24px;color:var(--mute);line-height:1.6}
.process-offer .btn{justify-content:space-between;width:100%}
.journey-brief{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);min-width:0;border-top:1px solid var(--accent-lit);background:var(--ink-2)}
.journey-brief figure,.journey-card figure,.journey-result figure{position:relative;overflow:hidden;background:var(--ink-3)}
.journey-brief figure{min-height:520px}
.journey-brief img,.journey-card img,.journey-result img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter 1s var(--ease)}
.journey-brief:hover img,.journey-card:hover img,.journey-result:hover img{transform:scale(1.018);filter:saturate(1.03)}
.journey-label{position:absolute;left:18px;bottom:18px;padding:8px 10px;background:rgba(23,22,18,.8);border:1px solid rgba(241,238,229,.18);color:var(--paper);font-size:.62rem;backdrop-filter:blur(8px)}
.journey-copy{padding:clamp(34px,5vw,68px);display:flex;flex-direction:column;justify-content:center}
.journey-number{display:block;color:var(--accent-lit);margin-bottom:20px}
.journey-copy h3,.journey-card h3,.journey-result h3{font-size:clamp(1.85rem,3vw,3.3rem);line-height:1.02;letter-spacing:-.045em;text-wrap:balance}
.journey-copy>p,.journey-card>div>p,.journey-result__copy>p{margin-top:20px;color:var(--mute);line-height:1.65;max-width:52ch}
.journey-inputs{margin-top:clamp(30px,4vw,48px);border-top:1px solid var(--rule)}
.journey-inputs>div{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:13px 0;border-bottom:1px solid var(--rule)}
.journey-inputs dt{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-lit)}
.journey-inputs dd{color:var(--paper)}
.journey-middle{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(20px,3vw,42px);margin-top:clamp(34px,5vw,72px)}
.journey-card{min-width:0;border-top:1px solid var(--rule);background:rgba(255,255,255,.018)}
.journey-card:nth-child(2){margin-top:clamp(30px,5vw,72px)}
.journey-card figure{aspect-ratio:16/10}
.journey-card>div{padding:clamp(28px,3.8vw,48px)}
.journey-card h3{font-size:clamp(1.6rem,2.4vw,2.55rem)}
.journey-outcome{padding-top:20px;border-top:1px solid var(--rule);font-family:var(--mono);font-size:.68rem!important;letter-spacing:.06em;text-transform:uppercase;line-height:1.75!important}
.journey-outcome span{display:block;color:var(--accent-lit);margin-bottom:5px}
.journey-result{display:grid;grid-template-columns:minmax(360px,.8fr) minmax(0,1.2fr);min-width:0;margin-top:clamp(58px,8vw,116px);background:linear-gradient(125deg,rgba(102,113,90,.27),var(--ink-2) 54%);border:1px solid var(--rule)}
.journey-result__copy{padding:clamp(36px,5vw,72px);display:flex;flex-direction:column;justify-content:center}
.journey-result h3{font-size:clamp(2rem,3.5vw,3.8rem)}
.journey-result ul{margin:30px 0;border-top:1px solid var(--rule)}
.journey-result li{position:relative;padding:12px 0 12px 20px;border-bottom:1px solid var(--rule);color:var(--paper);font-size:.9rem}
.journey-result li::before{content:'';position:absolute;left:0;top:20px;width:6px;height:6px;background:var(--accent-lit)}
.journey-result .btn{align-self:flex-start}
.journey-result figure{min-height:580px}
.journey-result figure img{object-position:center 42%}

@media(max-width:1000px){
 .process-head,.journey-brief,.journey-result{grid-template-columns:1fr}
 .process-head{align-items:start}.process-head .dsp{max-width:15ch}
 .process-offer{max-width:650px}
 .journey-brief figure{min-height:0;aspect-ratio:16/10}
 .journey-result figure{min-height:0;aspect-ratio:16/10;grid-row:1}
 .journey-result__copy{grid-row:2}
}
@media(max-width:760px){
 .journey-middle{grid-template-columns:1fr}
 .journey-card:nth-child(2){margin-top:0}
}
@media(max-width:640px){
 .process-head{margin-bottom:42px;gap:28px}
 .process-offer{padding:22px}
 .journey-brief figure,.journey-card figure,.journey-result figure{aspect-ratio:4/3}
 .journey-copy,.journey-card>div,.journey-result__copy{padding:26px 22px}
 .journey-inputs>div{grid-template-columns:1fr;gap:4px}
 .journey-middle{margin-top:28px;gap:28px}
 .journey-result{margin-top:42px}
 .journey-result .btn{width:100%;justify-content:space-between}
}
