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

:root {
  --green: #12ad55;
  --green-2: #079447;
  --green-3: #056735;
  --lime: #9be15d;
  --cyan: #1bb8d6;
  --ink: #0c1813;
  --ink-2: #12251c;
  --panel: #162b21;
  --panel-2: #1d3629;
  --paper: #f3f6f4;
  --paper-2: #e8efeb;
  --white: #fff;--text: #26372f;
  --muted: #67776f;
  --line: rgba(17, 57, 38, .13);
  --shadow: 0 24px 60px rgba(5, 29, 18, .14);
  --shadow-dark: 0 26px 80px rgba(0, 0, 0, .28);
  --radius: 26px;
  --radius-sm: 16px;
  --max: 1200px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Roboto, Arial, sans-serif; color: var(--text); background: var(--paper); line-height: 1.65; overflow-x: hidden; }
body.menu-open, body.modal-open { overflow: hidden; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
::selection { background: var(--green); color: #fff; }

.container { width: min(var(--max), calc(100% - 42px)); margin: auto; }
.section { padding: 104px 0; position: relative; }
.section-dark { background: var(--ink); color: #fff; }
.section-forest { background: var(--ink-2); color: #fff; }
.section-paper { background: var(--paper); }
.section-soft { background: var(--paper-2); }
.grid { display: grid; gap: 28px; }

h1, h2, h3, h4 { font-family: Montserrat, sans-serif; line-height: 1.12; margin: 0 0 18px; letter-spacing: -.025em; }
h1 { font-size: clamp(2.7rem, 5.8vw, 5.6rem); font-weight: 800; }
h2 { font-size: clamp(2rem, 3.6vw, 3.7rem); font-weight: 800; }
h3 { font-size: 1.24rem; font-weight: 700; }
p { margin: 0 0 18px; }
.lead { font-size: clamp(1.05rem, 1.4vw, 1.22rem); color: var(--muted); max-width: 760px; }
.section-dark .lead, .section-forest .lead { color: #b9c9c0; }
.section-heading { max-width: 820px; margin-bottom: 48px; }
.section-heading.row { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 36px; }
.section-heading.row > p { max-width: 520px; margin: 0; }

.eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 17px; color: var(--green-2); font: 800 .78rem/1 Montserrat, sans-serif; letter-spacing: .15em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 30px; height: 3px; background: currentColor; border-radius: 999px; }
.eyebrow.light { color: #9df1bc; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 13px 22px; border: 1px solid transparent; border-radius: 999px; font: 800 .9rem/1 Montserrat, sans-serif; cursor: pointer; transition: transform .22s ease, background .22s ease, border-color .22s ease, color .22s ease, box-shadow .22s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: #fff; background: linear-gradient(135deg, var(--green), var(--green-2)); box-shadow: 0 12px 28px rgba(18, 173, 85, .24); }
.btn-primary:hover { box-shadow: 0 16px 34px rgba(18, 173, 85, .34); }
.btn-dark { color: #fff; background: var(--ink); }
.btn-outline { color: #fff; border-color: rgba(255,255,255,.45); background: rgba(10, 28, 20, .35); backdrop-filter: blur(8px); }
.btn-outline:hover { background: #fff; color: var(--ink); border-color: #fff; }
.btn-ghost { border-color: var(--line); background: rgba(255,255,255,.72); color: var(--ink); }

.ui-icon { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.icon-box { width: 58px; height: 58px; border-radius: 18px; display: grid; place-items: center; background: rgba(18,173,85,.11); color: var(--green-2); flex: 0 0 auto; }
.section-dark .icon-box, .section-forest .icon-box { background: rgba(155,225,93,.12); color: #9df1bc; border: 1px solid rgba(155,225,93,.16); }

/* Header */
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(8, 24, 17, .94); border-bottom: 1px solid rgba(255,255,255,.08); backdrop-filter: blur(16px); transition: box-shadow .2s ease, background .2s ease; }
.site-header.scrolled { background: rgba(7, 22, 15, .985); box-shadow: 0 12px 40px rgba(0,0,0,.22); }
.nav { height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: inline-flex; align-items: center; min-width: 0; }
.brand-logo { width: 214px; height: 68px; object-fit: contain; object-position: left center; }
.nav-links { display: flex; align-items: center; gap: 26px; color: #dce7e1; font: 700 .92rem/1 Montserrat, sans-serif; }
.nav-links > a { position: relative; padding: 13px 0; }
.nav-links > a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 6px; height: 2px; background: var(--green); transition: right .22s ease; }
.nav-links > a:hover, .nav-links > a.active { color: #fff; }
.nav-links > a:hover::after, .nav-links > a.active::after { right: 0; }
.nav-toggle { display: none; width: 46px; height: 46px; border-radius: 13px; border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.06); color: #fff; cursor: pointer; }
.nav-toggle span { display: block; width: 20px; height: 2px; margin: 4px auto; background: currentColor; border-radius: 99px; transition: .2s; }

/* Home hero */
.hero { min-height: calc(100svh - 88px); position: relative; display: flex; align-items: center; overflow: hidden; background: #07150f; color: #fff; isolation: isolate; }
.hero-video { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; }
.hero-overlay { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(5,19,13,.96) 0%, rgba(6,28,17,.86) 42%, rgba(7,38,22,.53) 70%, rgba(4,20,13,.35) 100%), linear-gradient(0deg, rgba(4,15,10,.5), transparent 45%); }
.hero::after { content: ""; position: absolute; z-index: -1; width: 650px; height: 650px; right: -250px; bottom: -300px; border-radius: 50%; border: 1px solid rgba(255,255,255,.13); box-shadow: 0 0 0 95px rgba(255,255,255,.025), 0 0 0 190px rgba(255,255,255,.018); }
.hero-content { width: 100%; padding: 100px 0 84px; }
.hero-copy { max-width: 860px; }
.hero h1 { max-width: 900px; text-wrap: balance; text-shadow: 0 8px 40px rgba(0,0,0,.25); }
.hero h1 em { font-style: normal; color: #9df1bc; }
.hero p { max-width: 700px; color: #dbe8e0; font-size: clamp(1.05rem,1.5vw,1.22rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }
.hero-stats { display: grid; grid-template-columns: repeat(3, minmax(130px, 190px)); gap: 18px; margin-top: 62px; }
.stat { padding: 18px 18px 16px; border: 1px solid rgba(255,255,255,.13); border-radius: 16px; background: rgba(6,29,18,.34); backdrop-filter: blur(8px); }
.stat strong { display: block; font: 800 1.8rem/1 Montserrat, sans-serif; color: #fff; }
.stat span { display: block; margin-top: 6px; color: #bcd1c5; font-size: .88rem; }

/* Home sections */
.intro-grid { grid-template-columns: .95fr 1.05fr; align-items: center; gap: clamp(42px,7vw,92px); }
.visual-stack { position: relative; }
.visual-stack > img { width: 100%; height: 530px; object-fit: cover; border-radius: 30px; box-shadow: var(--shadow); }
.visual-stack::before { content: ""; position: absolute; z-index: -1; width: 68%; height: 56%; right: -22px; top: -22px; border-radius: 30px; background: linear-gradient(135deg,var(--green),var(--cyan)); opacity: .18; }
.float-card { position: absolute; left: -28px; bottom: 28px; max-width: 290px; padding: 20px 22px; border-radius: 18px; background: var(--ink); color: #fff; box-shadow: var(--shadow-dark); }
.float-card strong { display: block; font: 700 1rem Montserrat, sans-serif; }
.float-card span { color: #a9beb2; font-size: .87rem; }
.feature-list { display: grid; gap: 15px; margin: 28px 0 32px; }
.feature-item { display: flex; gap: 14px; align-items: flex-start; }
.feature-item .check { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: rgba(18,173,85,.12); color: var(--green-2); font-weight: 900; flex: 0 0 auto; }

.services-showcase { grid-template-columns: repeat(4, 1fr); }
.service-card { min-height: 310px; padding: 30px; border-radius: 24px; background: var(--panel); border: 1px solid rgba(255,255,255,.08); transition: transform .25s ease, background .25s ease, border-color .25s ease; }
.service-card:hover { transform: translateY(-7px); background: var(--panel-2); border-color: rgba(155,225,93,.28); }
.service-card .number { display: block; margin-bottom: 42px; color: rgba(255,255,255,.24); font: 800 .82rem Montserrat, sans-serif; letter-spacing: .15em; }
.service-card h3 { color: #fff; }
.service-card p { color: #aebfb5; font-size: .94rem; }
.service-card .service-link { display: inline-flex; gap: 8px; align-items: center; margin-top: 10px; color: #9df1bc; font-weight: 700; }
.service-card .icon-box { margin-bottom: 24px; }

.sector-panel { position: relative; overflow: hidden; padding: 58px; border-radius: 32px; background: linear-gradient(120deg,#0a3c27,#075b35 55%,#078d58); color: #fff; box-shadow: var(--shadow); }
.sector-panel::after { content: ""; position: absolute; right: -120px; top: -130px; width: 380px; height: 380px; border-radius: 50%; border: 1px solid rgba(255,255,255,.12); box-shadow: 0 0 0 70px rgba(255,255,255,.025); }
.sector-grid { position: relative; z-index: 1; grid-template-columns: repeat(6,1fr); margin-top: 34px; }
.sector-item { padding: 22px 10px; text-align: center; border: 1px solid rgba(255,255,255,.15); border-radius: 17px; background: rgba(255,255,255,.05); font: 700 .9rem Montserrat, sans-serif; }

.mvv-preview { grid-template-columns: repeat(3, 1fr); }
.mvv-card { position: relative; padding: 34px; border-radius: 24px; background: #fff; border: 1px solid var(--line); overflow: hidden; box-shadow: 0 10px 30px rgba(11, 49, 31, .06); }
.mvv-card::after { content: ""; position: absolute; width: 120px; height: 120px; right: -50px; bottom: -52px; border-radius: 50%; background: rgba(18,173,85,.07); }
.mvv-card h3 { margin-top: 24px; }
.mvv-card p { color: var(--muted); }

/* Inner hero */
.page-hero { position: relative; min-height: 430px; display: flex; align-items: end; overflow: hidden; color: #fff; background: var(--ink); }
.page-hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .26; }
.page-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(6,22,15,.97),rgba(6,45,25,.84) 55%,rgba(4,29,19,.58)); }
.page-hero::after { content: ""; position: absolute; right: -130px; top: -230px; width: 520px; height: 520px; border: 1px solid rgba(255,255,255,.11); border-radius: 50%; box-shadow: 0 0 0 80px rgba(255,255,255,.02); }
.page-hero .container { position: relative; z-index: 2; padding-top: 90px; padding-bottom: 70px; }
.page-hero h1 { max-width: 950px; font-size: clamp(2.6rem,5vw,4.8rem); }
.breadcrumbs { display: flex; gap: 8px; align-items: center; margin-bottom: 20px; color: #a9bbb1; font-size: .88rem; }
.breadcrumbs a:hover { color: #fff; }

/* About */
.about-intro { grid-template-columns: 1fr 1fr; gap: clamp(46px,7vw,90px); align-items: center; }
.about-photo { position: relative; min-height: 590px; border-radius: 30px; overflow: hidden; background: var(--ink); box-shadow: var(--shadow); }
.about-photo img { width: 100%; height: 590px; object-fit: cover; }
.about-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(6,29,18,.66),transparent 45%); }
.about-photo-caption { position: absolute; z-index: 2; left: 26px; right: 26px; bottom: 24px; padding: 20px; border: 1px solid rgba(255,255,255,.16); border-radius: 17px; background: rgba(6,29,18,.72); color: #fff; backdrop-filter: blur(9px); }
.about-photo-caption strong { display: block; font: 700 1.05rem Montserrat, sans-serif; }
.about-photo-caption span { color: #b9c9c0; font-size: .9rem; }
.highlight-grid { grid-template-columns: repeat(3,1fr); margin-top: 60px; }
.highlight-card { display: flex; gap: 18px; padding: 24px; border-top: 1px solid var(--line); }
.highlight-card .num { color: var(--green-2); font: 800 .82rem Montserrat,sans-serif; letter-spacing: .12em; }
.highlight-card p { margin: 0; color: var(--muted); font-size: .92rem; }

.mission-vision { grid-template-columns: repeat(2,1fr); }
.statement-card { position: relative; overflow: hidden; min-height: 430px; padding: 42px; border-radius: 28px; background: #fff; border: 1px solid var(--line); }
.statement-card.dark { background: linear-gradient(135deg,#0e271b,#173c28); color: #fff; border-color: rgba(255,255,255,.06); box-shadow: var(--shadow-dark); }
.statement-card .icon-box { margin-bottom: 52px; }
.statement-card p { font-size: 1.04rem; color: var(--muted); }
.statement-card.dark p { color: #c0d0c7; }
.statement-card .watermark { position: absolute; right: 24px; bottom: -30px; color: rgba(18,173,85,.08); font: 800 8rem/1 Montserrat,sans-serif; pointer-events: none; }
.statement-card.dark .watermark { color: rgba(255,255,255,.045); }

.values-grid { grid-template-columns: repeat(4,1fr); }
.value-card { min-height: 225px; padding: 28px; border-radius: 22px; background: #fff; border: 1px solid var(--line); transition: transform .23s ease, box-shadow .23s ease; }
.value-card:hover { transform: translateY(-5px); box-shadow: 0 20px 46px rgba(8,43,25,.10); }
.value-card .icon-box { width: 50px; height: 50px; margin-bottom: 22px; border-radius: 15px; }
.value-card h3 { font-size: 1.03rem; }
.value-card p { margin: 0; color: var(--muted); font-size: .91rem; }

/* Services */
.toolbar { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:38px; }
.view-switch { display:flex; padding:5px; border-radius:14px; background:#fff; border:1px solid var(--line); }
.view-switch button { border:0; background:transparent; padding:10px 14px; border-radius:10px; cursor:pointer; font-weight:700; color:var(--muted); }
.view-switch button.active { background:var(--ink); color:#fff; }
.services-grid { grid-template-columns: repeat(2,1fr); }
.services-grid.list-view { grid-template-columns:1fr; }
.service-detail { overflow:hidden; border-radius:26px; background:#fff; border:1px solid var(--line); box-shadow:0 12px 35px rgba(10,43,27,.05); }
.service-detail .service-image { width:100%; height:300px; object-fit:cover; }
.service-detail .service-body { padding:30px; }
.service-detail .service-body p { color:var(--muted); }
.services-grid.list-view .service-detail { display:grid; grid-template-columns:380px 1fr; align-items:stretch; }
.services-grid.list-view .service-image { height:100%; min-height:280px; }
.tag { display:inline-flex; padding:7px 11px; margin-bottom:12px; border-radius:999px; background:rgba(18,173,85,.10); color:var(--green-2); font-weight:800; font-size:.76rem; }
.capability-band { grid-template-columns: repeat(4,1fr); }
.capability { padding:24px; border-left:1px solid rgba(255,255,255,.12); }
.capability:first-child { border-left:0; }
.capability strong { display:block; color:#fff; font:700 1rem Montserrat,sans-serif; margin-bottom:6px; }
.capability span { color:#9fb5a8; font-size:.9rem; }

/* Projects */
.filter-bar { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:34px; }
.filter-btn { border:1px solid var(--line); background:#fff; border-radius:999px; padding:10px 16px; font-weight:800; cursor:pointer; }
.filter-btn.active { background:var(--ink); border-color:var(--ink); color:#fff; }
.projects-grid { grid-template-columns:repeat(2,1fr); }
.project-card { position:relative; min-height:420px; border-radius:28px; overflow:hidden; background:var(--ink); box-shadow:var(--shadow); }
.project-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.project-card:hover img { transform:scale(1.045); }
.project-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(4,20,13,.9),rgba(4,20,13,.08) 70%); }
.project-overlay { position:absolute; z-index:2; left:28px; right:28px; bottom:24px; color:#fff; }
.project-overlay .tag { color:#b9f3cc; background:rgba(18,173,85,.2); }
.project-overlay p { margin:0; color:#c6d4cc; }

/* News */
.news-grid { grid-template-columns:repeat(3,1fr); }
.news-card { overflow:hidden; border-radius:24px; background:#fff; border:1px solid var(--line); transition:transform .25s ease,box-shadow .25s ease; }
.news-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); }
.news-card img { width:100%; height:230px; object-fit:cover; }
.news-body { padding:26px; }
.news-meta { margin-bottom:11px; color:var(--green-2); font-weight:800; font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; }
.news-body p { color:var(--muted); }
.news-link { display:inline-flex; align-items:center; gap:8px; color:var(--green-2); font-weight:800; }

/* CTA / footer */
.cta-wrap { padding-top: 0; }
.cta { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:40px; padding:58px; border-radius:30px; background:linear-gradient(115deg,#0a3b26,#07894a); color:#fff; box-shadow:var(--shadow); }
.cta::after { content:""; position:absolute; width:300px; height:300px; right:-110px; top:-130px; border-radius:50%; border:1px solid rgba(255,255,255,.14); box-shadow:0 0 0 55px rgba(255,255,255,.025); }
.cta > * { position:relative; z-index:1; }
.cta h2 { max-width:750px; font-size:clamp(2rem,3.2vw,3.3rem); }
.footer { padding:76px 0 26px; background:#07150f; color:#d2ded7; }
.footer-grid { grid-template-columns:1.35fr .7fr .9fr 1fr; }
.footer-brand .brand-logo { width:220px; height:90px; object-position:left center; margin-bottom:12px; }
.footer p { color:#9db0a5; font-size:.92rem; }
.footer h3 { color:#fff; font-size:.95rem; margin-bottom:18px; }
.footer a:not(.brand) { display:block; margin:9px 0; color:#a9bcb1; font-size:.92rem; }
.footer a:hover { color:#fff; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:48px; padding-top:23px; border-top:1px solid rgba(255,255,255,.08); color:#789084; font-size:.85rem; }

/* Modal */
.modal { position:fixed; inset:0; z-index:100; display:none; align-items:center; justify-content:center; padding:22px; background:rgba(2,13,8,.78); backdrop-filter:blur(6px); }
.modal.open { display:flex; }
.modal-panel { width:min(780px,100%); max-height:calc(100svh - 44px); overflow:auto; border-radius:26px; background:#fff; box-shadow:0 36px 90px rgba(0,0,0,.38); animation:pop .22s ease; }
.modal-head { display:flex; justify-content:space-between; gap:20px; padding:28px 32px; background:linear-gradient(120deg,#0c3523,#078b49); color:#fff; }
.modal-head h2 { font-size:1.75rem; margin:0; }
.modal-close { width:43px; height:43px; flex:0 0 auto; border:1px solid rgba(255,255,255,.18); border-radius:50%; background:rgba(255,255,255,.09); color:#fff; font-size:1.45rem; cursor:pointer; }
.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:17px; padding:30px; }
.field { display:flex; flex-direction:column; gap:7px; font-size:.9rem; font-weight:700; color:var(--ink); }
.field.full { grid-column:1/-1; }
.field input,.field select,.field textarea { width:100%; border:1px solid #cfdbd4; border-radius:13px; padding:13px 14px; outline:none; background:#f9fbfa; color:var(--text); }
.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(18,173,85,.1); }
.toast { position:fixed; z-index:120; right:24px; bottom:24px; max-width:380px; padding:15px 19px; border-radius:13px; background:var(--ink); color:#fff; box-shadow:var(--shadow-dark); transform:translateY(120px); opacity:0; transition:.3s; }
.toast.show { transform:none; opacity:1; }
@keyframes pop { from{transform:scale(.96);opacity:0} to{transform:none;opacity:1} }

/* Whatsapp */
.whatsapp-float { position:fixed; right:24px; bottom:24px; z-index:80; width:60px; height:60px; display:grid; place-items:center; border-radius:50%; background:#25d366; color:#fff; box-shadow:0 14px 34px rgba(0,0,0,.25); transition:.2s; }
.whatsapp-float:hover { transform:translateY(-4px) scale(1.04); }
.whatsapp-float svg { width:31px; height:31px; fill:currentColor; }
.whatsapp-tooltip { position:absolute; right:72px; width:max-content; max-width:210px; padding:9px 12px; border-radius:9px; background:var(--ink); color:#fff; font-size:.82rem; font-weight:700; opacity:0; visibility:hidden; transform:translateX(8px); transition:.2s; }
.whatsapp-float:hover .whatsapp-tooltip,.whatsapp-float:focus-visible .whatsapp-tooltip { opacity:1; visibility:visible; transform:none; }

/* Reveal */
.reveal { opacity:0; transform:translateY(22px); transition:opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity:1; transform:none; }

@media (max-width: 1020px) {
  .services-showcase,.values-grid { grid-template-columns:repeat(2,1fr); }
  .sector-grid { grid-template-columns:repeat(3,1fr); }
  .footer-grid { grid-template-columns:1.3fr 1fr 1fr; }
  .footer-grid > :last-child { grid-column:2/4; }
  .news-grid { grid-template-columns:repeat(2,1fr); }
  .news-card:last-child { grid-column:1/-1; }
}

@media (max-width: 900px) {
  .nav-toggle { display:block; }
  .nav-links { position:fixed; top:88px; left:0; right:0; height:calc(100svh - 88px); padding:28px 22px; flex-direction:column; align-items:stretch; gap:8px; background:rgba(7,22,15,.99); transform:translateX(100%); transition:transform .27s ease; }
  .nav-links.open { transform:none; }
  .nav-links > a { padding:15px 4px; border-bottom:1px solid rgba(255,255,255,.08); font-size:1.08rem; }
  .nav-links > a::after { display:none; }
  .nav-links .btn { margin-top:15px; }
  .intro-grid,.about-intro { grid-template-columns:1fr; }
  .visual-stack > img,.about-photo,.about-photo img { height:500px; min-height:500px; }
  .mission-vision { grid-template-columns:1fr; }
  .projects-grid { grid-template-columns:1fr; }
  .mvv-preview { grid-template-columns:1fr; }
  .capability-band { grid-template-columns:repeat(2,1fr); }
  .capability:nth-child(3) { border-left:0; }
  .section-heading.row,.toolbar { align-items:flex-start; flex-direction:column; }
  .services-grid { grid-template-columns:1fr; }
  .services-grid.list-view .service-detail { grid-template-columns:300px 1fr; }
  .cta { padding:44px; flex-direction:column; align-items:flex-start; }
}

@media (max-width: 640px) {
  .container { width:min(var(--max),calc(100% - 30px)); }
  .section { padding:76px 0; }
  .brand-logo { width:176px; height:60px; }
  .nav { height:76px; }
  .nav-links { top:76px; height:calc(100svh - 76px); }
  .hero { min-height:700px; }
  .hero-content { padding:84px 0 64px; }
  .hero-overlay { background:linear-gradient(180deg,rgba(5,19,13,.77),rgba(5,19,13,.94) 62%,rgba(5,19,13,.98)); }
  .hero-stats { grid-template-columns:1fr 1fr; margin-top:40px; }
  .hero-stats .stat:last-child { grid-column:1/-1; }
  .visual-stack > img,.about-photo,.about-photo img { height:410px; min-height:410px; }
  .float-card { position:relative; left:auto; bottom:auto; margin:-40px 15px 0; }
  .services-showcase,.values-grid,.highlight-grid,.news-grid { grid-template-columns:1fr; }
  .news-card:last-child { grid-column:auto; }
  .sector-panel { padding:38px 22px; border-radius:24px; }
  .sector-grid { grid-template-columns:1fr 1fr; gap:12px; }
  .statement-card { min-height:0; padding:30px; }
  .statement-card .icon-box { margin-bottom:34px; }
  .services-grid.list-view .service-detail { grid-template-columns:1fr; }
  .services-grid.list-view .service-image { min-height:0; height:260px; }
  .capability-band { grid-template-columns:1fr; }
  .capability { border-left:0; border-top:1px solid rgba(255,255,255,.1); }
  .capability:first-child { border-top:0; }
  .project-card { min-height:360px; }
  .cta { padding:34px 26px; border-radius:24px; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-grid > :last-child { grid-column:auto; }
  .footer-bottom { flex-direction:column; }
  .contact-form { grid-template-columns:1fr; padding:22px; }
  .field.full { grid-column:auto; }
  .modal-head { padding:24px 22px; }
  .whatsapp-float { right:17px; bottom:18px; width:56px; height:56px; }
  .whatsapp-tooltip { display:none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .hero-video { display:none; }
  .hero { background:linear-gradient(90deg,rgba(5,19,13,.94),rgba(6,45,25,.76)),url('../img/brochure-02.jpg') center/cover; }
  .reveal { opacity:1; transform:none; }
}


/* ==========================
   HERO - ESPACIADO MEJORADO
   ========================== */

.hero-content {
    position: relative;
    z-index: 2;
    min-height: calc(100vh - 88px);
    display: flex;
    align-items: center;

    /* separación estética desde el borde izquierdo */
    padding-left: clamp(32px, 5vw, 90px);
    padding-right: 32px;
}

.hero-copy {
    max-width: 780px;
}

/* Mantiene el contenido respirando mejor */
.hero-copy .eyebrow {
    margin-bottom: 22px;
}

.hero-copy h1 {
    margin-top: 0;
}

.hero-copy p {
    max-width: 680px;
}


/* Tablet */
@media (max-width: 1024px) {
    .hero-content {
        padding-left: 40px;
        padding-right: 40px;
    }
}


/* Móvil */
@media (max-width: 768px) {
    .hero-content {
        padding-left: 22px;
        padding-right: 22px;
    }
}