@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,700;1,700&display=swap');

:root { --forest:#063f2d; --deep:#022a20; --lime:#a9cc54; --orange:#f6a72d; --cream:#f5f1e8; --ink:#17332a; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:'DM Sans',sans-serif; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.section { max-width:1200px; margin:0 auto; padding:110px 40px; }

.nav { height:84px; padding:0 max(40px,calc((100vw - 1200px)/2)); display:flex; align-items:center; gap:45px; background:#063f2df4; color:white; position:absolute; top:0; width:100%; z-index:20; border-bottom:1px solid #ffffff1c; }
.brand,.footer-brand { display:flex; align-items:center; gap:10px; margin-right:auto; }
.brand img { width:130px; height:66px; object-fit:contain; }
.footer-brand img { width:180px; height:auto; object-fit:contain; }
.nav nav { display:flex; align-items:center; gap:30px; font-size:13px; }
.nav nav a { opacity:.82; transition:.2s; }
.nav nav a:hover { opacity:1; color:var(--orange); }
.nav-cta { border:1px solid #ffffff55; padding:12px 17px; border-radius:30px; font-size:13px; }
.menu-button { display:none; }

.hero { min-height:820px; background:var(--forest); color:white; position:relative; display:grid; grid-template-columns:1.08fr .92fr; padding:150px max(40px,calc((100vw - 1200px)/2)) 80px; align-items:center; overflow:hidden; gap:55px; }
.hero-bg { position:absolute; inset:0; background:radial-gradient(circle at 72% 42%,#62852c55 0,transparent 38%),linear-gradient(120deg,transparent 45%,#002b21 45%); }
.hero:after { content:"M"; position:absolute; font:700 650px/1 'Playfair Display'; color:#ffffff08; left:-90px; bottom:-220px; }
.hero-content,.hero-card { position:relative; z-index:2; }
.eyebrow,.section-kicker { color:var(--orange); font-weight:700; font-size:11px; letter-spacing:2.8px; }
.eyebrow { display:flex; align-items:center; gap:10px; }
.eyebrow span { width:28px; height:2px; background:var(--orange); }
.hero h1 { font:700 clamp(54px,6vw,88px)/.98 'Playfair Display'; letter-spacing:-3px; margin:22px 0; max-width:730px; }
h2 { font:700 clamp(42px,4.5vw,66px)/1.05 'Playfair Display'; letter-spacing:-2px; margin:15px 0; }
em { color:var(--orange); font-weight:700; }
.hero-content>p { font-size:18px; line-height:1.7; color:#dce9e1; max-width:650px; }
.hero-actions { display:flex; gap:14px; margin:34px 0 48px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:28px; padding:16px 24px; border-radius:4px; font-size:14px; font-weight:700; transition:.25s; }
.button.primary { background:var(--orange); color:#122a21; box-shadow:0 12px 35px #f6a72d28; }
.button.primary:hover { transform:translateY(-3px); background:#ffb63c; }
.button.ghost { border:1px solid #ffffff55; color:white; }
.hero-proof { display:flex; gap:38px; padding-top:24px; border-top:1px solid #ffffff26; max-width:550px; }
.hero-proof div { display:flex; flex-direction:column; }
.hero-proof b { font:700 25px 'Playfair Display'; color:var(--lime); }
.hero-proof span { font-size:10px; letter-spacing:1.5px; text-transform:uppercase; opacity:.65; }
.hero-card { height:520px; transform:rotate(1.8deg); }
.hero-card:before { content:""; position:absolute; inset:-13px 13px 13px -13px; border:1px solid #a9cc5466; z-index:-1; }
.hero-card img { width:100%; height:100%; object-fit:cover; filter:saturate(.9) contrast(1.04); }
.floating-note { position:absolute; bottom:28px; left:-46px; display:flex; align-items:center; gap:12px; background:white; color:var(--ink); padding:15px 20px; box-shadow:0 20px 40px #001b1577; }
.floating-note>span { color:white; background:var(--lime); padding:8px; border-radius:50%; }
.floating-note b,.floating-note small { display:block; }
.floating-note small { font-size:10px; opacity:.6; margin-top:3px; }
.scroll { position:absolute; right:35px; bottom:35px; z-index:4; font-size:9px; letter-spacing:2px; writing-mode:vertical-rl; display:flex; gap:10px; align-items:center; opacity:.65; }

.intro-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:80px; align-items:end; margin-bottom:60px; }
.intro-grid p,.structure-heading p { line-height:1.8; color:#5a6c65; }
.audience-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.audience-card { height:410px; position:relative; overflow:hidden; background:#111; }
.audience-card img { width:100%; height:100%; object-fit:cover; transition:.6s; }
.audience-card:hover img { transform:scale(1.04); }
.audience-card:after { content:""; position:absolute; inset:25% 0 0; background:linear-gradient(transparent,#001b16df); }
.audience-card>div { position:absolute; z-index:2; left:32px; bottom:28px; color:white; }
.audience-card span { color:var(--orange); font-size:11px; letter-spacing:2px; }
.audience-card h3 { font:700 31px 'Playfair Display'; margin:6px 0; }
.audience-card p { margin:0; max-width:400px; color:#d9e4df; font-size:14px; }

.structures { background:var(--deep); color:white; padding-bottom:90px; overflow:hidden; }
.structure-heading { display:grid; grid-template-columns:1.1fr .9fr; gap:100px; align-items:end; padding-bottom:50px; }
.section-kicker.light { color:var(--lime); }
.structure-heading p { color:#b7c8c1; }
.slider-wrap { max-width:1400px; height:650px; margin:0 auto; position:relative; }
.slide { position:absolute; inset:0; opacity:0; transform:scale(.97); transition:.7s ease; overflow:hidden; }
.slide.active { opacity:1; transform:scale(1); }
.slide img { width:100%; height:100%; object-fit:cover; }
.slide-shade { position:absolute; inset:0; background:linear-gradient(90deg,#001b16ed 0,#001b1688 40%,transparent 75%); }
.slide-copy { position:absolute; left:9%; top:50%; transform:translateY(-50%); max-width:500px; }
.slide-copy>span { color:var(--orange); font-size:11px; letter-spacing:2.5px; text-transform:uppercase; }
.slide-copy h3 { font:700 52px/1.05 'Playfair Display'; margin:15px 0; }
.slide-copy p { line-height:1.7; color:#d7e3de; }
.slider-controls { position:absolute; left:9%; right:9%; bottom:34px; display:flex; align-items:center; justify-content:space-between; z-index:6; }
.slider-controls>button { width:48px; height:48px; border:1px solid #ffffff55; color:white; background:#062f25aa; cursor:pointer; }
.slider-controls>div { display:flex; gap:7px; }
.slider-controls>div button { width:24px; height:3px; border:0; background:#ffffff55; padding:0; cursor:pointer; }
.slider-controls>div button.active { width:55px; background:var(--orange); }

.benefits-top { display:flex; align-items:end; justify-content:space-between; gap:30px; }
.benefits-top>a { font-size:13px; border-bottom:1px solid var(--ink); padding-bottom:5px; margin-bottom:18px; }
.benefit-grid { display:grid; grid-template-columns:repeat(4,1fr); margin:55px 0 80px; border-top:1px solid #183a2d28; border-left:1px solid #183a2d28; }
.benefit-grid article { padding:32px 24px; border-right:1px solid #183a2d28; border-bottom:1px solid #183a2d28; }
.benefit-grid strong { font:700 26px 'Playfair Display'; color:var(--orange); display:block; height:38px; }
.benefit-grid h3 { font:700 21px 'Playfair Display'; margin:20px 0 9px; }
.benefit-grid p { color:#617069; line-height:1.6; font-size:13px; }
.partnership { display:grid; grid-template-columns:1.15fr .85fr; min-height:500px; background:#e7e8dc; }
.partnership img { width:100%; height:100%; object-fit:cover; }
.partnership>div { padding:60px; display:flex; flex-direction:column; justify-content:center; }
.partnership>div>span { color:#74893c; font-size:10px; letter-spacing:2px; font-weight:700; }
.partnership h3 { font:700 38px/1.1 'Playfair Display'; }
.partnership ul { list-style:none; padding:0; }
.partnership li { padding:12px 0 12px 24px; border-bottom:1px solid #17332a20; position:relative; }
.partnership li:before { content:"✓"; color:var(--orange); position:absolute; left:0; }

.how { background:var(--forest); color:white; text-align:center; }
.how .section { padding-top:100px; padding-bottom:110px; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); max-width:900px; margin:65px auto 0; }
.steps article { padding:0 45px; position:relative; }
.steps article+article { border-left:1px solid #ffffff25; }
.steps article>span { color:var(--orange); font-size:10px; letter-spacing:2px; }
.step-icon { width:75px; height:75px; border-radius:50%; border:1px solid var(--lime); display:grid; place-items:center; margin:20px auto; font-size:31px; color:var(--lime); }
.steps h3 { font:700 23px 'Playfair Display'; margin:10px; }
.steps p { font-size:13px; color:#c5d2cd; }

.cta { background:#102c24; color:white; position:relative; overflow:hidden; text-align:center; }
.cta:before,.cta:after { content:""; position:absolute; width:420px; height:420px; border:1px solid #a9cc5428; border-radius:50%; }
.cta:before { left:-180px; top:-200px; }.cta:after { right:-180px; bottom:-200px; }
.cta-inner { position:relative; z-index:2; }
.cta-inner>span { font-size:10px; letter-spacing:2.7px; color:var(--lime); }
.cta-inner p { color:#c8d3cf; max-width:600px; margin:25px auto 35px; }

footer { background:#011e17; color:white; padding:60px max(40px,calc((100vw - 1200px)/2)); display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:35px; }
footer>div:not(.footer-brand) { display:flex; flex-direction:column; gap:8px; font-size:13px; }
footer>div>span { color:var(--lime); font-size:9px; letter-spacing:2px; margin-bottom:8px; }
footer>small { grid-column:1/-1; border-top:1px solid #ffffff18; padding-top:24px; opacity:.45; }

@media (max-width:900px) {
  .nav { padding:0 22px; position:absolute; }.brand img { width:112px; height:60px; }.nav nav { display:none; position:absolute; top:84px; left:0; right:0; background:var(--deep); padding:25px; flex-direction:column; }.nav nav.open { display:flex; }.menu-button { display:block; background:none; border:0; color:white; font-size:22px; }.nav-cta { display:none; }
  .hero { grid-template-columns:1fr; padding:140px 24px 80px; }.hero-card { height:380px; }.hero h1 { font-size:56px; }.scroll { display:none; }
  .section { padding:80px 24px; }.intro-grid,.structure-heading,.partnership { grid-template-columns:1fr; gap:25px; }.audience-grid { grid-template-columns:1fr; }.structure-heading { padding-bottom:40px; }
  .slider-wrap { height:550px; }.slide-copy { left:7%; right:7%; }.slide-copy h3 { font-size:42px; }
  .benefit-grid { grid-template-columns:1fr 1fr; }.partnership>div { padding:40px 28px; }
  footer { grid-template-columns:1fr 1fr; padding:50px 24px; }.footer-brand { grid-column:1/-1; }
}
@media (max-width:560px) {
  .hero { min-height:auto; }.hero h1 { font-size:45px; letter-spacing:-2px; }.hero-actions { flex-direction:column; align-items:stretch; }.hero-proof { gap:20px; justify-content:space-between; }.hero-card { height:280px; }.floating-note { left:12px; bottom:12px; }
  h2 { font-size:40px; }.audience-card { height:320px; }.benefits-top { align-items:flex-start; flex-direction:column; }
  .benefit-grid { grid-template-columns:1fr; }.slide-copy h3 { font-size:35px; }.slider-wrap { height:520px; }.slide-shade { background:linear-gradient(0deg,#001b16ee 0,#001b1666 70%); }
  .steps { grid-template-columns:1fr; gap:35px; }.steps article+article { border-left:0; border-top:1px solid #ffffff25; padding-top:35px; }
  footer { grid-template-columns:1fr; }.footer-brand,footer>small { grid-column:auto; }
}
