@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');

:root { --navy:#0b1022; --ink:#151928; --muted:#687082; --blue:#2e49bd; --blue-deep:#1f318e; --orange:#ff8a00; --orange-soft:#fff0de; --paper:#fff; --soft:#f6f7fa; --line:#e7e9ef; --max:1200px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:'DM Sans',Arial,sans-serif; line-height:1.5; -webkit-font-smoothing:antialiased; }
body.locked { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button { cursor:pointer; }
.shell { width:min(calc(100% - 64px),var(--max)); margin-inline:auto; }
.topline { background:var(--navy); color:#dfe5ff; font-size:12px; letter-spacing:.02em; }
.topline__inner { display:flex; justify-content:space-between; gap:24px; padding:9px 0; }
.topline a { color:#fff; font-weight:700; }
.topline a span { color:var(--orange); padding-left:6px; }
.site-header { position:fixed; inset:36px 0 auto; z-index:20; transition:all .3s ease; }
.site-header.scrolled { inset:0 0 auto; background:rgba(255,255,255,.95); backdrop-filter:blur(16px); box-shadow:0 8px 30px rgba(12,22,47,.07); }
.nav-wrap { display:flex; align-items:center; justify-content:space-between; min-height:80px; }
.brand { display:flex; width:150px; align-items:center; }
.brand img { display:block; width:100%; height:auto; mix-blend-mode:multiply; }
.main-nav { display:flex; align-items:center; gap:28px; font-size:14px; font-weight:600; color:#fff; }
.scrolled .main-nav { color:var(--ink); }
.main-nav a { position:relative; opacity:.9; transition:color .2s ease,opacity .2s ease; }
.main-nav a:not(.nav-cta)::after { content:''; position:absolute; left:0; right:100%; bottom:-9px; height:2px; background:var(--orange); transition:right .2s ease; }
.main-nav a:not(.nav-cta):hover,.main-nav a.active { opacity:1; }
.main-nav a:not(.nav-cta):hover::after,.main-nav a.active::after { right:0; }
.nav-cta,.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; border-radius:999px; font-weight:700; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.nav-cta { padding:13px 18px; background:var(--orange); color:var(--navy); }
.nav-cta:hover,.button:hover { transform:translateY(-2px); box-shadow:0 12px 24px rgba(255,138,0,.22); }
.menu-toggle { display:none; background:transparent; border:0; padding:8px; }
.menu-toggle span { display:block; width:25px; height:2px; background:currentColor; margin:5px; }
.hero { position:relative; min-height:740px; overflow:hidden; background:var(--navy); color:#fff; display:flex; align-items:center; }
.hero__backdrop { position:absolute; inset:0; background:linear-gradient(90deg,rgba(6,11,27,.96) 0%,rgba(7,13,31,.76) 38%,rgba(7,13,31,.22) 100%),url('/images/project-18.jpg') center 58%/cover; transform:scale(1.03); }
.hero::after { content:''; position:absolute; inset:auto 0 0; height:130px; background:linear-gradient(transparent,var(--navy)); opacity:.5; }
.hero__content { position:relative; z-index:1; display:grid; grid-template-columns:1fr 340px; align-items:center; gap:80px; padding-top:80px; }
.eyebrow { display:flex; gap:9px; align-items:center; color:var(--blue); text-transform:uppercase; font-size:11px; font-weight:800; letter-spacing:.13em; }
.eyebrow span { width:22px; height:2px; background:var(--orange); display:inline-block; }
.eyebrow--light { color:#dfe5ff; }
h1,h2,h3 { font-family:'Manrope',Arial,sans-serif; letter-spacing:-.045em; line-height:1.02; margin:0; }
h1 { font-size:clamp(56px,7.1vw,100px); font-weight:800; margin:22px 0 27px; max-width:820px; }
h1 em { color:var(--orange); font-style:normal; }
.hero__lead { max-width:540px; color:#d3d9ec; font-size:18px; margin:0 0 34px; }
.hero__actions { display:flex; align-items:center; gap:30px; }
.button { padding:15px 21px; border:0; }
.button--orange { color:var(--navy); background:var(--orange); }
.button--blue { color:#fff; background:var(--blue); }
.button--full { width:100%; }
.text-link { display:inline-flex; align-items:center; gap:10px; color:var(--blue); font-size:14px; font-weight:700; }
.text-link span { color:var(--orange); transition:transform .2s ease; }
.text-link:hover span { transform:translate(3px,-3px); }
.text-link--light { color:#fff; }
.hero__signal { align-self:end; margin-bottom:80px; display:grid; gap:12px; }
.signal-card { padding:20px 0 20px 20px; border-left:1px solid rgba(255,255,255,.45); display:grid; gap:7px; }
.signal-card__number { color:var(--orange); font-size:12px; font-weight:800; }
.signal-card strong { font-size:18px; font-family:'Manrope'; }
.signal-card span:last-child { color:#c5cbe0; font-size:13px; }
.scroll-cue { position:absolute; z-index:2; left:max(32px,calc((100vw - var(--max))/2)); bottom:28px; color:#cad1e7; font-size:11px; letter-spacing:.08em; text-transform:uppercase; display:flex; gap:12px; align-items:center; }
.scroll-cue span { display:block; width:34px; height:1px; background:var(--orange); }
.section { padding:120px 0; }
.manifesto { background:#fff; }
.manifesto__grid { display:grid; grid-template-columns:1fr minmax(0,680px) 120px; gap:30px; align-items:start; }
.section-kicker { color:var(--muted); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
h2 { font-size:clamp(40px,5vw,66px); font-weight:800; }
.manifesto h2 { max-width:690px; margin-bottom:25px; }
.lead-copy { max-width:625px; font-size:19px; line-height:1.65; color:var(--muted); margin:0 0 28px; }
.manifesto__accent { border-left:1px solid var(--line); padding:15px 0 0 22px; color:var(--orange); }
.manifesto__accent span { font-size:70px; font-family:Georgia; line-height:1; display:block; }
.manifesto__accent small { display:block; margin-top:10px; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.section--soft { background:var(--soft); }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:50px; margin-bottom:55px; }
.section-heading h2 { margin-top:16px; max-width:670px; }
.section-heading > p { color:var(--muted); max-width:330px; margin:0 0 5px; line-height:1.7; }
.section-heading--tight { margin-bottom:42px; }
.solution-grid { display:grid; grid-template-columns:1.55fr 1fr 1fr; gap:18px; }
.solution-card { background:#fff; padding:29px; min-height:390px; display:flex; flex-direction:column; align-items:flex-start; transition:transform .3s ease,box-shadow .3s ease; }
.solution-card:hover { transform:translateY(-7px); box-shadow:0 22px 46px rgba(12,22,47,.11); }
.solution-card--featured { padding:0; overflow:hidden; }
.solution-card__visual { min-height:205px; width:100%; background:linear-gradient(180deg,transparent 45%,rgba(3,12,31,.32)),var(--image) center/cover; }
.solution-card__body { padding:25px 29px 28px; }
.card-index { display:block; color:var(--orange); font-weight:800; font-size:12px; margin-bottom:32px; }
.solution-card h3 { font-size:26px; margin-bottom:14px; }
.solution-card p { color:var(--muted); font-size:14px; line-height:1.65; margin:0 0 24px; }
.solution-card .text-link { margin-top:auto; }
.solution-card__icon { color:var(--blue); font-family:Georgia; font-size:48px; line-height:1; margin-bottom:18px; }
.calculator { background:var(--navy); color:#fff; overflow:hidden; position:relative; }
.calculator::before { content:''; position:absolute; width:530px; height:530px; border:1px solid rgba(255,255,255,.08); border-radius:50%; right:-180px; top:-130px; box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018); }
.calculator__grid { position:relative; display:grid; grid-template-columns:1fr 470px; gap:100px; align-items:center; }
.calculator h2 { max-width:550px; margin:20px 0 23px; }
.calculator__intro > p:not(.eyebrow) { color:#cbd2e7; max-width:480px; font-size:17px; line-height:1.65; }
.calculator__note { border-top:1px solid rgba(255,255,255,.2); max-width:450px; margin-top:45px; padding-top:18px; display:flex; gap:12px; color:#9fa8c5; font-size:12px; line-height:1.55; }
.calculator__note span:first-child { flex:0 0 auto; width:18px; height:18px; border:1px solid var(--orange); color:var(--orange); border-radius:50%; text-align:center; line-height:17px; }
.calculator-card { background:#fff; color:var(--ink); padding:30px; box-shadow:0 26px 60px rgba(0,0,0,.22); }
.calculator-card__top { display:flex; justify-content:space-between; text-transform:uppercase; font-size:10px; letter-spacing:.12em; color:var(--muted); margin-bottom:28px; }
.live-dot { color:var(--blue); }
.live-dot i { display:inline-block; width:7px; height:7px; background:#3bc48a; border-radius:50%; margin-right:5px; }
.calculator-card label,.choice-label { display:block; font-size:14px; font-weight:700; margin-bottom:10px; }
.bill-input { display:flex; align-items:center; border-bottom:2px solid var(--ink); padding:3px 0 9px; margin-bottom:24px; }
.bill-input span { color:var(--muted); font-size:14px; }
.bill-input input { border:0; outline:0; background:transparent; color:var(--ink); font-size:36px; font-family:'Manrope'; font-weight:800; width:100%; padding-left:10px; }
.choice-label { color:var(--muted); font-size:12px; margin-bottom:8px; }
.choice-group { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:24px; }
.choice { background:#f2f4f8; color:var(--muted); border:0; padding:12px 10px; border-radius:5px; font-size:13px; font-weight:700; }
.choice.active { background:var(--orange-soft); color:var(--navy); box-shadow:inset 0 -2px var(--orange); }
.estimate-results { border-top:1px solid var(--line); margin-bottom:24px; }
.estimate-results div { display:flex; justify-content:space-between; align-items:baseline; gap:20px; padding:14px 0; border-bottom:1px solid var(--line); }
.estimate-results span { color:var(--muted); font-size:12px; }
.estimate-results strong { font-family:'Manrope'; font-size:17px; }
.cases { background:#fff; }
.case-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.case-card { border:1px solid var(--line); background:#fff; }
.case-card__image { height:265px; position:relative; background:var(--image) center/cover; }
.case-card__tag { position:absolute; left:18px; top:18px; color:var(--navy); background:var(--orange); padding:7px 10px; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.case-card__body { padding:28px 30px 31px; }
.case-card__eyebrow { color:var(--blue); font-size:11px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; margin:0 0 12px; }
.case-card h3 { font-size:29px; max-width:430px; margin-bottom:24px; }
.case-card__body > p:last-child { color:var(--muted); font-size:14px; line-height:1.65; margin:18px 0 0; }
.case-metrics { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:18px 0; gap:15px; }
.case-metrics div { display:grid; gap:5px; }
.case-metrics strong { font-family:'Manrope'; font-size:17px; }
.case-metrics span { color:var(--muted); font-size:10px; line-height:1.25; }
.source-note { color:var(--muted); font-size:11px; margin:24px 0 0; }
.gallery-tabs { display:flex; gap:24px; border-bottom:1px solid var(--line); margin-bottom:25px; }
.gallery-tab { position:relative; color:var(--muted); background:none; border:0; padding:0 0 14px; font-size:13px; font-weight:700; }
.gallery-tab::after { content:''; position:absolute; left:0; right:100%; bottom:-1px; height:2px; background:var(--orange); transition:right .2s ease; }
.gallery-tab.active { color:var(--ink); }
.gallery-tab.active::after { right:0; }
.gallery-grid { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:190px; gap:12px; }
.gallery-item { border:0; padding:0; background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.25)),var(--image) center/cover; min-height:0; transition:transform .3s ease,filter .3s ease; }
.gallery-item:hover { transform:scale(.98); filter:saturate(1.16); }
.gallery-item--wide { grid-column:span 2; }
.gallery-item--tall { grid-row:span 2; }
.process { background:#fff; }
.process-line { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; position:relative; }
.process-line::before { content:''; position:absolute; top:19px; left:25px; right:25px; height:1px; background:var(--line); }
.process-step { position:relative; padding-top:55px; }
.process-step::before { content:''; position:absolute; top:13px; left:0; width:12px; height:12px; background:var(--orange); border:5px solid #fff; box-shadow:0 0 0 1px var(--orange); border-radius:50%; }
.process-step span { color:var(--blue); font-size:11px; font-weight:800; }
.process-step h3 { font-size:23px; margin:12px 0; }
.process-step p { color:var(--muted); font-size:14px; line-height:1.65; margin:0; max-width:230px; }
.faq__grid { display:grid; grid-template-columns:1fr 1.25fr; gap:100px; }
.faq__intro h2 { margin:18px 0 20px; }
.faq__intro > p:not(.eyebrow) { color:var(--muted); max-width:370px; line-height:1.65; margin:0 0 26px; }
.faq-list details { border-top:1px solid #dfe2e9; padding:21px 0; }
.faq-list details:last-child { border-bottom:1px solid #dfe2e9; }
.faq-list summary { cursor:pointer; list-style:none; padding-right:35px; font-family:'Manrope'; font-size:17px; font-weight:700; position:relative; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:'+'; position:absolute; right:0; color:var(--orange); font-size:25px; font-weight:400; line-height:1; }
.faq-list details[open] summary::after { content:'−'; }
.faq-list details p { color:var(--muted); font-size:14px; line-height:1.65; margin:13px 35px 0 0; }
.contact { background:var(--blue); color:#fff; padding:100px 0; position:relative; overflow:hidden; }
.contact::after { content:'eco'; position:absolute; color:rgba(255,255,255,.035); font:800 330px/1 'Manrope'; right:-20px; bottom:-100px; letter-spacing:-.1em; }
.contact__grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; position:relative; z-index:1; }
.contact h2 { max-width:570px; margin:20px 0; }
.contact__copy > p:last-child { color:#dbe0f4; font-size:17px; line-height:1.65; max-width:480px; }
.contact__actions { display:grid; gap:10px; }
.contact-action { display:grid; grid-template-columns:40px 1fr 20px; align-items:center; gap:13px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.14); padding:17px 18px; transition:background .2s ease,transform .2s ease; }
.contact-action:hover { background:rgba(255,255,255,.16); transform:translateX(5px); }
.contact-action__icon { width:35px; height:35px; border:1px solid rgba(255,255,255,.4); border-radius:50%; display:grid; place-items:center; color:var(--orange); font-weight:800; }
.contact-action span:nth-child(2) { display:grid; gap:3px; }
.contact-action small { color:#cbd2ea; font-size:11px; }
.contact-action strong { font-size:15px; word-break:break-word; }
.contact-action .arrow { color:var(--orange); font-size:20px; }
.site-footer { background:var(--navy); color:#fff; padding:55px 0 25px; }
.footer__top { display:grid; grid-template-columns:1fr 1fr auto; gap:30px; align-items:start; padding-bottom:55px; }
.brand--footer { width:auto; }
.brand-word { font:800 33px/1 'Manrope'; letter-spacing:-.09em; }
.brand-word b { color:var(--orange); font-weight:800; }
.brand--footer + p { color:#9ba6c4; font-size:12px; margin:12px 0 0; }
.footer__links { display:grid; grid-template-columns:repeat(2,max-content); gap:13px 35px; font-size:13px; color:#c4cbe0; }
.footer__links a:hover,.footer__bottom a:hover { color:var(--orange); }
.footer__cta { color:var(--orange); font-size:14px; font-weight:700; }
.footer__bottom { border-top:1px solid rgba(255,255,255,.12); padding-top:20px; display:flex; justify-content:space-between; color:#7f89a6; font-size:11px; }
.footer__bottom a { color:#c4cbe0; }
.floating-whatsapp { position:fixed; z-index:18; right:24px; bottom:24px; display:flex; align-items:center; gap:8px; color:#fff; background:#1dbf73; border-radius:999px; padding:12px 17px 12px 13px; box-shadow:0 10px 22px rgba(4,36,22,.25); font-weight:700; font-size:12px; transition:transform .2s ease; }
.floating-whatsapp:hover { transform:translateY(-3px); }
.floating-whatsapp span { font-size:19px; }
.lightbox { position:fixed; inset:0; z-index:40; background:rgba(5,9,22,.94); display:none; place-items:center; padding:50px; }
.lightbox.open { display:grid; }
.lightbox__image { width:min(1050px,82vw); height:min(720px,76vh); background:center/contain no-repeat; }
.lightbox__close,.lightbox__prev,.lightbox__next { position:absolute; color:#fff; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.25); border-radius:50%; width:42px; height:42px; font-size:24px; }
.lightbox__close { top:22px; right:25px; }
.lightbox__prev { left:25px; top:50%; }
.lightbox__next { right:25px; top:50%; }
.lightbox__caption { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); color:#fff; display:flex; gap:35px; text-transform:uppercase; letter-spacing:.12em; font-size:10px; }
.lightbox__caption strong { color:var(--orange); }
.reveal { opacity:0; transform:translateY(22px); transition:opacity .7s ease,transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }
.reveal--delay { transition-delay:.12s; }
.reveal--delay-2 { transition-delay:.22s; }
.reveal--delay-3 { transition-delay:.32s; }
@media (max-width: 980px) { .shell{width:min(calc(100% - 40px),var(--max));}.main-nav{gap:18px}.hero__content{grid-template-columns:1fr 250px;gap:35px}.hero{min-height:680px}.solution-grid{grid-template-columns:1fr 1fr}.solution-card--featured{grid-column:span 2}.calculator__grid{gap:50px}.faq__grid,.contact__grid{gap:50px} }
@media (max-width: 740px) { .shell{width:min(calc(100% - 34px),var(--max));}.topline__inner{font-size:10px}.site-header{inset:32px 0 auto}.nav-wrap{min-height:70px}.brand{width:125px}.menu-toggle{display:block;color:#fff}.scrolled .menu-toggle{color:var(--ink)}.main-nav{position:absolute; display:none; top:66px; left:0; right:0; padding:25px 22px; background:#fff; color:var(--ink); box-shadow:0 20px 30px rgba(12,22,47,.12); flex-direction:column; align-items:stretch; gap:19px}.main-nav.open{display:flex}.nav-cta{text-align:center}.hero{min-height:690px;align-items:end;padding-bottom:60px}.hero__backdrop{background:linear-gradient(90deg,rgba(6,11,27,.94),rgba(7,13,31,.48)),url('/images/project-18.jpg') 58% center/cover}.hero__content{display:block;padding-top:70px}.hero__signal{display:none}.hero__lead{font-size:16px}.hero__actions{align-items:flex-start;flex-direction:column;gap:18px}.scroll-cue{left:17px}.section{padding:78px 0}.manifesto__grid{grid-template-columns:1fr;gap:22px}.manifesto__accent{display:none}.section-heading{display:block;margin-bottom:32px}.section-heading > p{margin-top:20px}.solution-grid,.case-grid,.calculator__grid,.faq__grid,.contact__grid{grid-template-columns:1fr}.solution-card--featured{grid-column:auto}.calculator__grid{gap:45px}.calculator-card{padding:23px}.case-card__image{height:220px}.case-metrics{gap:10px}.case-metrics strong{font-size:14px}.gallery-tabs{gap:17px;overflow:auto}.gallery-tab{white-space:nowrap}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.gallery-item--wide{grid-column:span 2}.gallery-item--tall{grid-row:span 2}.process-line{grid-template-columns:1fr 1fr;gap:34px 20px}.process-line::before{display:none}.contact{padding:78px 0}.footer__top{grid-template-columns:1fr 1fr;gap:35px}.footer__cta{grid-column:span 2}.footer__bottom{gap:15px;flex-wrap:wrap}.floating-whatsapp{right:15px;bottom:15px}.lightbox{padding:20px}.lightbox__image{width:90vw;height:72vh}.lightbox__prev{left:10px}.lightbox__next{right:10px}.lightbox__caption{bottom:13px;gap:17px} }
@media (prefers-reduced-motion: reduce) { html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.nav-cta,.button,.solution-card,.contact-action,.gallery-item{transition:none} }

/* Premium editorial pass */
body { background: #fbfcfe; }
.brand { background:#fff; padding:8px 12px; width:154px; border-radius:2px; box-shadow:0 7px 25px rgba(6,12,30,.13); }
.hero { min-height:780px; }
.hero__backdrop { background:linear-gradient(90deg,rgba(4,9,24,.98) 0%,rgba(6,12,31,.79) 37%,rgba(6,12,31,.10) 100%),url('/images/editorial-hero.png') center/cover; }
.hero__backdrop::after { content:''; position:absolute; inset:0; background:linear-gradient(120deg,rgba(255,138,0,.13),transparent 38%,rgba(46,73,189,.14)); mix-blend-mode:screen; }
.hero__gridlines { position:absolute; z-index:1; inset:0; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px); background-size:80px 80px; mask-image:linear-gradient(90deg,#000,transparent 72%); pointer-events:none; }
.hero__badge { position:absolute; z-index:2; top:156px; right:max(32px,calc((100vw - var(--max))/2)); width:77px; height:77px; border:1px solid rgba(255,255,255,.34); border-radius:50%; display:grid; place-items:center; color:#fff; transform:rotate(12deg); }
.hero__badge span { position:absolute; top:18px; font:800 18px/1 'Manrope'; letter-spacing:-.08em; color:var(--orange); }
.hero__badge small { position:absolute; bottom:12px; font-size:7px; line-height:1.15; letter-spacing:.08em; text-align:center; text-transform:uppercase; }
.hero__copy { max-width:760px; }
.hero h1 { text-wrap:balance; }
.signal-card { backdrop-filter:blur(4px); }
.proof-strip { background:var(--navy); color:#fff; border-top:1px solid rgba(255,255,255,.15); border-bottom:1px solid rgba(255,255,255,.15); }
.proof-strip__inner { min-height:112px; display:grid; grid-template-columns:repeat(3,1fr) 1.2fr; align-items:center; gap:35px; }
.proof-strip__inner > div:not(.proof-strip__mark) { display:grid; grid-template-columns:30px 1fr; column-gap:12px; align-items:center; }
.proof-index { grid-row:span 2; color:var(--orange); font-size:11px; font-weight:800; }
.proof-strip strong { font:600 15px/1 'Manrope'; }
.proof-strip small { color:#9aa6c8; font-size:11px; }
.proof-strip__mark { justify-self:end; text-transform:uppercase; letter-spacing:-.06em; font:800 23px/1 'Manrope'; }
.proof-strip__mark span { color:var(--orange); }
.proof-strip__mark b { color:#91a1f2; font-weight:800; }
.statement { background:#f0f3f7; }
.statement__grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(55px,9vw,135px); align-items:center; }
.statement__visual { position:relative; min-height:530px; overflow:hidden; background:var(--navy); }
.statement__visual::after { content:''; position:absolute; inset:0; background:linear-gradient(145deg,rgba(10,16,34,.1),rgba(10,16,34,.64)); }
.statement__visual img { width:100%; height:100%; min-height:530px; display:block; object-fit:cover; }
.statement__caption { position:absolute; z-index:1; left:24px; bottom:22px; color:#fff; text-transform:uppercase; letter-spacing:.12em; font-size:10px; }
.statement__copy h2 { max-width:550px; margin:18px 0 24px; }
.statement__copy > p:not(.eyebrow) { color:var(--muted); font-size:17px; line-height:1.7; max-width:500px; }
.statement__list { border-top:1px solid #d9dfe8; margin-top:32px; }
.statement__list div { display:flex; align-items:center; gap:13px; border-bottom:1px solid #d9dfe8; padding:15px 0; font-size:13px; }
.statement__list span { color:var(--orange); font-size:17px; }
.statement__list strong { font-weight:700; }
.solution-card { border:1px solid transparent; border-top-color:#dfe3ea; }
.solution-card:hover { border-color:var(--orange); border-top-color:var(--orange); }
.case-card { box-shadow:0 10px 30px rgba(19,31,66,.04); transition:transform .3s ease,box-shadow .3s ease; }
.case-card:hover { transform:translateY(-5px); box-shadow:0 24px 50px rgba(19,31,66,.12); }
.gallery-item { position:relative; }
.gallery-item::after { content:'↗'; position:absolute; right:13px; bottom:11px; width:26px; height:26px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.65); border-radius:50%; color:#fff; opacity:0; transform:translateY(5px); transition:opacity .25s ease,transform .25s ease; }
.gallery-item:hover::after { opacity:1; transform:none; }
.gallery-item[hidden] { display:none; }
.floating-whatsapp { border:1px solid rgba(255,255,255,.5); }
@media (max-width:740px) {
  .hero { min-height:720px; }
  .hero__backdrop { background:linear-gradient(90deg,rgba(4,9,24,.94),rgba(6,12,31,.32)),url('/images/editorial-hero.png') 62% center/cover; }
  .hero__badge { top:125px; right:18px; width:58px; height:58px; }
  .hero__badge span { top:12px; font-size:15px; }
  .hero__badge small { bottom:8px; font-size:6px; }
  .proof-strip__inner { grid-template-columns:repeat(3,1fr); gap:12px; min-height:105px; }
  .proof-strip__inner > div:not(.proof-strip__mark) { grid-template-columns:1fr; gap:4px; }
  .proof-index { grid-row:auto; }
  .proof-strip strong { font-size:12px; }
  .proof-strip small { font-size:9px; line-height:1.25; }
  .proof-strip__mark { display:none; }
  .statement__grid { grid-template-columns:1fr; gap:42px; }
  .statement__visual,.statement__visual img { min-height:360px; }
}

/* Case-study spotlight */
.cases { background:#fbfcfe; }
.case-grid { gap:24px; }
.case-card { overflow:hidden; border:0; background:#fff; }
.case-card__image { height:335px; background-position:center; }
.case-card__image::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(5,12,30,.04) 35%,rgba(5,12,30,.68) 100%); }
.case-card__edition { position:absolute; z-index:1; right:20px; top:20px; color:#fff; text-transform:uppercase; letter-spacing:.13em; font-size:9px; }
.case-card__tag { z-index:1; border:1px solid rgba(255,255,255,.35); box-shadow:0 8px 20px rgba(0,0,0,.12); }
.case-card__body { padding:31px 32px 34px; }
.case-card__eyebrow { margin-bottom:14px; }
.case-card h3 { font-size:31px; max-width:440px; }
.case-metrics { background:#fbfcfe; padding:19px 14px; margin-inline:-2px; }
.case-metrics strong { color:var(--navy); }
@media (max-width:740px) { .case-card__image { height:245px; } .case-card__body { padding:25px 22px 27px; } .case-card h3 { font-size:27px; } }

/* Clean wordmark: sharp at every size, no bitmap box */
.brand,
.brand--footer { width:auto; padding:0; background:transparent; border-radius:0; box-shadow:none; }
.brand-word { display:inline-flex; align-items:baseline; white-space:nowrap; font:800 28px/1 'Manrope',Arial,sans-serif; letter-spacing:-.105em; }
.brand-word b { color:var(--orange); font-weight:800; letter-spacing:-.12em; }
.brand-word i { color:var(--blue); font-style:normal; font-weight:800; letter-spacing:-.105em; }
.site-header:not(.scrolled) .brand-word i { color:#b7c4ff; }
.site-footer .brand-word { font-size:34px; }
.site-footer .brand-word i { color:#95a7ff; }
.brand--footer + p { margin-top:14px; }
@media (max-width:740px) { .brand-word { font-size:24px; } .site-footer .brand-word { font-size:29px; } }

/* Verified installation portfolio */
.hero__backdrop { background:none; transform:none; overflow:hidden; }
.hero__backdrop::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(6,11,27,.94) 0%,rgba(7,13,31,.63) 45%,rgba(7,13,31,.18) 100%); pointer-events:none; }
.hero__backdrop-image { position:absolute; inset:0; background:url('/images/portfolio/Hero-Vivienda-Huajchilla.webp') center 58%/cover no-repeat; opacity:0; transform:scale(1.03); transition:opacity 1.35s ease; will-change:opacity; }
.hero__backdrop-image--active { opacity:1; }
.gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:clamp(190px,22vw,285px); gap:16px; }
.gallery-item { display:block; overflow:hidden; position:relative; background:#e9edf2; border:0; padding:0; text-align:left; }
.gallery-item::before { content:''; position:absolute; z-index:1; inset:28% 0 0; background:linear-gradient(180deg,transparent 0%,rgba(5,10,24,.72) 100%); pointer-events:none; }
.gallery-item img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease; }
.gallery-item__label { position:absolute; z-index:2; left:19px; right:45px; bottom:18px; color:#fff; font-size:14px; font-weight:700; line-height:1.35; text-shadow:0 2px 12px rgba(0,0,0,.35); }
.gallery-item:hover img,.gallery-item:focus-visible img { transform:scale(1.045); filter:saturate(1.08); }
.gallery-item:focus-visible { outline:3px solid var(--orange); outline-offset:3px; z-index:2; }
.gallery-item::after { z-index:2; right:16px; bottom:16px; }
.footer__top { grid-template-columns:1fr auto; align-items:center; }
.footer__cta { justify-self:end; }
.lightbox__caption { max-width:min(88vw,900px); align-items:center; }
#lightbox-title { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width:740px) {
  .hero__backdrop::after { background:linear-gradient(90deg,rgba(6,11,27,.94),rgba(7,13,31,.48)); }
  .hero__backdrop-image { background-position:58% center; }
  .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:clamp(155px,48vw,230px); gap:10px; }
  .gallery-item__label { left:12px; right:39px; bottom:13px; font-size:12px; }
  .gallery-item::after { right:10px; bottom:10px; width:23px; height:23px; }
  .footer__top { grid-template-columns:1fr auto; }
  .footer__cta { grid-column:auto; }
}
@media (prefers-reduced-motion:reduce) { .hero__backdrop-image { transition:none; } }
