:root {
  --ink:#17372d;
  --forest:#174c3d;
  --paper:#fffdf9;
  --cream:#f5f0e8;
  --amber:#e99b64;
  --muted:#65736e;
  --rule:#ddd7cf;
  --gutter:clamp(20px,4vw,64px);
  --page-title:clamp(2.25rem,4vw,4.5rem);
  --section-title:clamp(2rem,3vw,3.5rem);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font:400 16px/1.7 "DM Sans",Arial,sans-serif}
img{display:block;width:100%}
a{color:inherit}
.container{width:min(1380px,calc(100% - var(--gutter)*2));margin:auto}
.eyebrow{color:var(--amber);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}

.site-header{position:sticky;top:0;z-index:20;height:88px;border-bottom:1px solid var(--rule);background:rgba(255,253,249,.97)}
.site-header .nav{position:relative;width:calc(100% - var(--gutter)*2);height:100%;margin:auto;display:grid;grid-template-columns:250px minmax(0,1fr) auto;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:14px;width:250px;min-width:0;text-decoration:none}
.brand img{width:92px;height:54px;object-fit:contain}
.brand-copy{display:grid;gap:3px;min-width:0}
.brand-name{font-size:1.12rem;font-weight:700;line-height:1.1}
.brand-sub{color:var(--muted);font-size:.68rem;white-space:nowrap}
.nav-links{display:flex;justify-content:center;align-items:center;gap:clamp(16px,1.8vw,32px);min-width:0;margin:0;padding:0;list-style:none}
.nav-links a{display:block;padding:4px 0;font-size:.84rem;font-weight:600;line-height:1.35;text-decoration:none;white-space:nowrap}
.nav-links a:hover,.nav-links a:focus-visible,.nav-links a[aria-current="page"]{box-shadow:inset 0 -2px currentColor}
.nav-actions{position:static;display:flex;align-items:center;gap:12px}
.language-switch{display:grid;grid-template-columns:repeat(2,42px);border:1px solid var(--forest);border-radius:999px;overflow:hidden}
.language-switch a{display:grid;place-items:center;min-height:38px;font-size:.75rem;font-weight:700;text-decoration:none}
.language-switch a[aria-current="page"]{background:var(--forest);color:#fff}
.line-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:999px;background:#078b4c;color:#fff;font-weight:700;text-decoration:none}
.phone{display:grid;gap:1px;font-size:.76rem;line-height:1.25;white-space:nowrap}
.phone small{display:block;color:var(--muted);font-size:.67rem}
.phone a{font-weight:700;text-decoration:none}
.menu-btn{display:none;width:44px;height:44px;padding:10px;border:0;background:none;color:var(--ink)}
.menu-btn span{display:block;height:2px;margin:5px 0;background:currentColor;transition:transform 160ms ease,opacity 160ms ease}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.hero{display:grid;grid-template-columns:minmax(500px,46%) 1fr;min-height:610px;border-bottom:1px solid var(--rule)}
.hero-copy{padding:70px clamp(35px,6vw,110px);display:flex;flex-direction:column;justify-content:center}
.hero h1,.page-hero h1{font-size:var(--page-title);line-height:1.15;letter-spacing:-.045em;margin:18px 0 25px}
.hero p,.page-hero p{max-width:650px;color:#42554e;font-size:1.08rem}
.hero-image{position:relative;min-height:500px}
.hero-image img{height:100%;object-fit:cover}
.buttons{display:flex;align-items:center;gap:18px;margin-top:28px}
.primary,.outline{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:0 24px;font-weight:700;text-decoration:none}
.primary{background:var(--amber);color:#42281b}
.outline{border:1px solid var(--ink)}
.proof{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--rule)}
.proof div{padding:28px var(--gutter);border-right:1px solid var(--rule)}
.proof div:last-child{border:0}
.proof strong{display:block;font-size:1.1rem}
.proof span{color:var(--muted);font-size:.8rem}
section{padding:clamp(75px,9vw,125px) 0}
.split{display:grid;grid-template-columns:4fr 7fr;gap:9vw}
.intro{padding-right:7vw;border-right:1px solid var(--rule)}
.intro h2,.section-title{font-size:var(--section-title);line-height:1.2;letter-spacing:-.035em;margin:15px 0 25px}
.intro p,.lead{color:var(--muted)}
.list{border-top:1px solid var(--rule)}
.item{display:grid;grid-template-columns:50px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid var(--rule)}
.item span{color:var(--amber)}
.item h3{margin:0 0 5px;font-size:1.2rem;line-height:1.35}
.item p{margin:0;color:var(--muted);font-size:.9rem}
.cream{border-block:1px solid var(--rule);background:var(--cream)}
.image-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}
.image-grid figure{margin:0}
.image-grid img{height:360px;object-fit:cover}
.image-grid p{color:var(--muted);font-size:.8rem}
.page-hero{padding:clamp(75px,9vw,130px) var(--gutter);border-bottom:1px solid var(--rule)}
.page-hero h1{max-width:950px}
.context-image{padding:0 var(--gutter) clamp(36px,6vw,88px)}
.context-image figure{width:min(1380px,100%);margin:0 auto}
.context-image img{width:100%;height:clamp(260px,42vw,560px);object-fit:cover}
.context-image figcaption{padding-top:10px;color:var(--muted);font-size:.82rem}
.cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule)}
.card{padding:35px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.card:nth-child(3n){border-right:0}
.card h2,.card h3{font-size:1.4rem;line-height:1.35}
.card p{color:var(--muted);font-size:.9rem}
.card img{height:260px;margin-bottom:25px;object-fit:cover}
.cta{background:var(--forest);color:#fff}
.cta-grid{display:grid;grid-template-columns:7fr 3fr;gap:60px;align-items:end}
.cta h2{font-size:var(--section-title);line-height:1.2;letter-spacing:-.035em;margin:10px 0}
.cta p{color:#c7d7d1}
.faq-list{border-top:1px solid var(--rule)}
.faq-list details{padding:20px 0;border-bottom:1px solid var(--rule)}
.faq-list summary{cursor:pointer;font-size:1.05rem;font-weight:600}
.faq-list p{max-width:760px;color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:4fr 7fr;gap:9vw}
.details{border-top:1px solid var(--rule)}
.detail{display:grid;grid-template-columns:100px 1fr;padding:18px 0;border-bottom:1px solid var(--rule)}
.detail dt{color:var(--muted);font-size:.78rem}
.detail dd{margin:0}
footer{padding:50px var(--gutter) 25px;background:#102f27;color:#fff}
.footer{display:grid;grid-template-columns:2fr 1fr 1fr;gap:55px}
.footer img{width:125px}
.footer p,.footer a{color:#bdcdc7;font-size:.8rem}
.footer ul{padding:0;list-style:none}
.copy{margin-top:30px;padding-top:18px;border-top:1px solid #315248;color:#8fa89f;font-size:.73rem}

@media(max-width:1240px){
  .site-header{height:72px}
  .site-header .nav{grid-template-columns:minmax(0,1fr) auto;gap:12px}
  .brand{width:auto}
  .brand img{width:76px}
  .nav-links{display:none;position:absolute;top:72px;left:calc(var(--gutter)*-1);right:calc(var(--gutter)*-1);z-index:30;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:12px var(--gutter) 20px;border-bottom:1px solid var(--rule);background:var(--paper);box-shadow:0 14px 24px rgba(23,55,45,.08)}
  .nav-links.open{display:flex}
  .nav-links li{border-bottom:1px solid var(--rule)}
  .nav-links li:last-child{border-bottom:0}
  .nav-links a{width:100%;padding:13px 0;font-size:.95rem}
  .line-btn,.phone{display:none}
  .menu-btn{display:block}
  .hero{grid-template-columns:1fr}
  .hero-image{order:-1;min-height:440px}
  .proof,.split,.cta-grid,.contact-grid{grid-template-columns:1fr}
  .intro{padding:0 0 35px;border-right:0;border-bottom:1px solid var(--rule)}
  .cards{grid-template-columns:repeat(2,1fr)}
  .card:nth-child(3n){border-right:1px solid var(--rule)}
  .card:nth-child(even){border-right:0}
  .image-grid{grid-template-columns:1fr 1fr}
  .image-grid figure:first-child{grid-column:1/-1}
  .footer{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .brand-sub{display:none}
  .brand-name{font-size:1rem}
  .language-switch{grid-template-columns:repeat(2,38px)}
  .language-switch a{min-height:36px}
  .hero-copy,.page-hero{padding:50px 20px}
  .hero h1,.page-hero h1{font-size:2.25rem;line-height:1.18}
  .hero-image{min-height:330px}
  .buttons{align-items:stretch;flex-direction:column}
  .primary,.outline{width:100%}
  .proof,.cards,.image-grid{grid-template-columns:1fr}
  .proof div{padding:22px 20px;border-right:0;border-bottom:1px solid var(--rule)}
  .card:nth-child(n){border-right:0}
  .image-grid figure:first-child{grid-column:auto}
  .image-grid img{height:260px}
  .footer{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.menu-btn span{transition:none}}
