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

:root{
  --deep:#061C14;--ink:#040E0A;--mint:#28D890;--pale:#EDFAF4;--green:#0A6840;
  --card:#0E2C1C;--soft:#A8E0C0;--line:#286840;
  --footer-bg:#030E08;--footer-text:#78C8A0;--footer-muted:#1A4830;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--pale);color:var(--ink);font:16px/1.7 'Work Sans',sans-serif}
h1,h2,h3{font-family:'Cormorant Garamond',serif;line-height:1.05;margin:0 0 20px}
h1{font-size:clamp(42px,6vw,78px)}
h2{font-size:clamp(35px,5vw,60px)}
h3{font-size:28px}
p{margin:0 0 18px}
ul,ol{margin:0 0 18px;padding-left:22px}
li{margin-bottom:8px}
img{max-width:100%}

/* header / nav */
.site-header{background:var(--deep);color:#fff;padding:20px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.logo{font:700 34px 'Cormorant Garamond',serif;color:#fff;text-decoration:none}
.nav{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.nav a{color:#fff;text-decoration:none;text-transform:uppercase;font-size:12px;letter-spacing:.08em}
.nav a:hover{color:var(--mint)}
.nav-cta{border:1px solid var(--mint);padding:10px 15px;color:var(--mint)!important}

/* hero (full-bleed exception) */
.hero{min-height:85vh;position:relative;display:flex;align-items:center;background:var(--deep);overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.3));z-index:0}
.hero-inner{position:relative;z-index:1;color:#fff;max-width:900px;padding:80px 5%}
.hero h1,.hero p{color:#fff}
.hero p{color:var(--soft);font-size:20px;max-width:720px}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}

/* buttons */
.btn{display:inline-block;padding:13px 22px;text-decoration:none;border:1px solid var(--green);background:var(--green);color:#fff;font-weight:600;cursor:pointer}
.btn-primary{background:var(--mint);border-color:var(--mint);color:var(--deep)}
.btn-outline{background:transparent;border-color:#fff;color:#fff}
.light .btn-outline{border-color:var(--green);color:var(--green)}

/* section layout — centered container, never clumped left */
.section{padding:88px 5%}
.section-inner{max-width:1180px;margin:0 auto;width:100%}
.light{background:var(--pale);color:var(--ink)}
.dark{background:var(--deep);color:#fff}
.dark h1,.dark h2,.dark h3,.dark p,.dark li,.dark span,.dark strong{color:#fff}
.dark .btn-outline{border-color:#fff;color:#fff}
.section-intro{max-width:760px;margin:0 auto 48px;text-align:center}
.section-intro h2{margin-bottom:16px}

/* split (image + text), full width, image fills its 50% column */
.split{display:flex;align-items:stretch;gap:48px;width:100%}
.split > *{flex:1 1 50%;min-width:0}
.split img{width:100%;height:100%;min-height:340px;max-height:520px;object-fit:cover;display:block}
.split > div{display:flex;flex-direction:column;justify-content:center}
@media (max-width:768px){
  .split{flex-direction:column;gap:28px}
  .split img{min-height:220px;max-height:320px}
}

/* grids */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media (max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

/* cards */
.card{padding:28px;background:#fff;color:var(--ink);border:1px solid var(--green);overflow:hidden}
.card h3{color:var(--green)}
.dark .card,.card.on-dark{background:var(--card);color:#fff;border:1px solid var(--mint)}
.dark .card h3{color:var(--mint)}
.light .card{background:#fff;color:var(--ink);border:1px solid var(--green)}

/* quotes */
.quote{display:block;padding:26px;background:var(--card);border-left:3px solid var(--mint);color:#fff;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:19px;margin:0}
.light .quote{background:#fff;color:var(--ink);border-left:3px solid var(--green)}

/* stats row — always horizontal, never column */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.stats .stat{display:flex;flex-direction:column;gap:6px}
.stats .stat strong{font-family:'Cormorant Garamond',serif;font-size:48px;line-height:1;color:var(--mint)}
.light .stats .stat strong{color:var(--green)}
.stats .stat span{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--soft)}
.light .stats .stat span{color:var(--green)}
@media (max-width:768px){.stats{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.stats{grid-template-columns:1fr}}

/* callout */
.callout{padding:22px 26px;background:var(--card);border-left:4px solid var(--mint);color:#fff;margin:28px 0}
.callout h3{color:var(--mint);margin-bottom:8px;font-size:20px}
.light .callout,.article-layout .callout{background:var(--pale);border-left:4px solid var(--green);color:var(--ink)}
.light .callout h3,.article-layout .callout h3{color:var(--green)}

/* tables */
.table-wrap{overflow-x:auto;margin:0 0 28px}
table,.data-table{width:100%;border-collapse:collapse;margin:0 0 28px;font-size:15px}
table th,table td,.data-table th,.data-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line)}
table th,.data-table th{background:var(--green);color:#fff;font-weight:600;text-transform:uppercase;font-size:12px;letter-spacing:.04em}
.dark table th,.dark .data-table th{background:var(--mint);color:var(--deep)}
table tr:nth-child(even) td{background:rgba(10,104,64,.05)}

/* article / inner content pages */
.article-layout{max-width:920px;margin:0 auto;padding:64px 5%}
.article-layout .content-image{width:100%;max-height:480px;object-fit:cover;display:block;margin:0 0 28px}
.content-image{width:100%;max-height:480px;object-fit:cover;display:block;margin:0 0 28px}

/* page hero for inner pages */
.page-hero{background:var(--deep);color:#fff;padding:70px 5% 50px}
.page-hero h1,.page-hero p{color:#fff}
.page-hero .breadcrumb{color:var(--soft);text-transform:uppercase;font-size:12px;letter-spacing:.08em;margin-bottom:14px}

/* forms */
.form{display:flex;flex-direction:column;gap:16px;background:#fff;padding:32px;border:1px solid var(--line)}
.form label{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--green)}
.form input,.form textarea{padding:12px 14px;border:1px solid var(--line);background:#fff;color:var(--ink);font:16px 'Work Sans',sans-serif}
.form input:focus,.form textarea:focus{outline:2px solid var(--mint);border-color:var(--mint)}
.form textarea{min-height:140px;resize:vertical}
.form button{align-self:flex-start;padding:13px 28px;background:var(--green);color:#fff;border:none;font-weight:600;cursor:pointer}
.form-success{background:#1A5C2A;color:#fff;padding:16px;margin-top:16px}

/* footer */
.footer{background:var(--footer-bg);color:var(--footer-text);padding:64px 5% 32px}
.footer-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
.footer h3{color:var(--mint);text-transform:uppercase;font-size:11px;letter-spacing:.08em;margin-bottom:14px}
.footer a{display:block;color:var(--footer-text);text-decoration:none;font-size:14px;margin-bottom:8px}
.footer a:hover{color:var(--mint)}
.footer .logo{color:#fff;margin-bottom:12px;display:inline-block}
.footer p{color:var(--footer-text)}
.copyright{color:var(--footer-muted);text-transform:uppercase;font-size:11px;max-width:1180px;margin:32px auto 0}
.disclaimer{color:var(--footer-muted);font-style:italic;font-size:13px;max-width:1180px;margin:16px auto 0}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.footer-grid{grid-template-columns:1fr}}

/* cookie banner */
.cookie{position:fixed;left:20px;right:20px;bottom:20px;max-width:640px;margin:0 auto;background:var(--deep);border:2px solid var(--mint);color:#fff;padding:20px 24px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;z-index:50}
.cookie p{color:#fff;margin:0;flex:1 1 260px;font-size:14px}
.cookie div{display:flex;gap:10px;flex-wrap:wrap}
.cookie button{border:1px solid var(--mint);background:transparent;color:var(--mint);padding:9px 16px;font-size:13px;cursor:pointer}
.cookie button.accept{background:var(--mint);color:var(--deep)}
.cookie button:last-child{border-color:transparent;color:var(--soft)}
.cookie button:last-child:hover{color:var(--mint)}
.cookie.hidden{display:none}

@media (max-width:768px){
  .hero{min-height:60vh}
  .hero h1{font-size:36px}
  .section{padding:56px 5%}
  .article-layout{padding:48px 5%}
}

td{color:#172033}
/* BUG-IMG: Safe image sizing */
img{max-width:100%;height:auto;display:block}
.card img,.article-card img,.info-card img{width:100%;height:220px;object-fit:cover;display:block}
.card,.article-card,.info-card{overflow:hidden}
.hero img,.hero-img,.banner img{width:100%;height:100%;object-fit:cover;display:block;max-width:none}
.split img{width:100%;max-height:460px;object-fit:cover;display:block}
/* BUG2: paragraph link blue highlight */
.section p a,.content p a,.policy p a,.prose p a,.article p a,.legal p a,
.wrap p a,.page-content p a,.container p a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.dark p a,.hero p a,.stats p a,.cta p a,.callout p a,.site-footer p a,.footer p a{color:#fff;text-decoration:underline}
/* BUG3: prevent double-grid section+wrap */
section.split,section.grid-2,section.grid-3,section.grid-4,
section.timeline,section.stats,section.stat-grid,section.articles,
section.features,section.collection,section.showcase,section.hero{display:block}
.split > div,.grid-2 > div,.grid-3 > div{min-width:0}