﻿/* ── VARIABLES ── */
:root{
  --bg:#f2ece1;--surface:rgba(255,250,242,.82);--text:#18314f;--muted:#5e6a77;
  --blue:#2f648f;--blue-deep:#184470;--green:#4a7c3f;--green-light:#e5f0df;
  --orange:#d56a1a;--orange-deep:#b95411;
  --maroon:#7a1e3a;--maroon-light:#a0354e;
  --shadow:0 18px 40px rgba(25,45,67,.14);--shadow-soft:0 8px 22px rgba(25,45,67,.09);
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;font-size:18px}
body{
  color:var(--text);
  font-family:"Segoe UI","Trebuchet MS","Gill Sans",sans-serif;
  background:linear-gradient(180deg,#f7f2e8 0%,var(--bg) 36%,#efe5d6 100%);
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.container{width:min(1180px,calc(100% - 32px));margin:0 auto}

/* ── LEAF DECORATIONS ── */


/* ── CURVED SECTION DIVIDERS ── */
.curve-divider{position:relative;width:100%;overflow:hidden;line-height:0}
.curve-divider svg{display:block;width:100%;height:auto}
.curve-divider--top{margin-bottom:-2px}
.curve-divider--bottom{margin-top:-2px}

/* ── WAVE DIVIDERS ── */
.wave-divider{position:absolute;left:0;width:100vw;height:80px;z-index:3;line-height:0;pointer-events:none}
.wave-divider--top{top:-2px}
.wave-divider--bottom{bottom:-2px}
.wave-divider svg{display:block;width:100%;height:100%}

/* ── HEADER ── */
.site-header{position:absolute;top:0;left:0;right:0;z-index:100;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,0) 100%);border-bottom:none}
.header-inner{display:flex;align-items:center;gap:18px;padding:14px 0}
.brand{display:inline-flex;align-items:center}
.brand-mark{width:clamp(120px,14vw,190px);height:auto;object-fit:contain}
.menu-toggle{display:none;flex-direction:column;gap:5px;background:0 0;border:0;padding:8px;cursor:pointer}
.menu-toggle span{display:block;width:26px;height:3px;background:#fff;border-radius:2px;transition:transform .3s,opacity .3s}
.primary-nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.primary-nav a{padding:10px 14px;border-radius:10px;font-weight:700;font-size:1rem;color:#fff;transition:background .16s}
.primary-nav a:hover,.primary-nav a.active{background:rgba(255,255,255,.18)}

/* ── HERO ── */
.hero{position:relative;min-height:min(80vh,820px);overflow:visible;margin-top:0}
.hero .hero-slideshow{position:absolute;inset:0;border-radius:0;overflow:hidden}
.hero .hero-slideshow .slides{position:relative;width:100%;height:100%}
.hero .hero-slideshow .slide{position:absolute;inset:0;display:block;background-size:cover;background-position:center 30%;opacity:0;transition:opacity 1.2s ease}
.hero .hero-slideshow .slide.active{opacity:1}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(24,68,112,.85) 0%,rgba(24,68,112,.55) 30%,rgba(24,68,112,.15) 55%,transparent 70%)}
.hero-inner{position:relative;z-index:2;min-height:inherit;display:flex;align-items:center;padding:clamp(120px,14vw,160px) 0 clamp(80px,10vw,120px)}
.hero-copy{max-width:480px;padding:0 0 0 clamp(4px,1vw,12px);background:none;box-shadow:none;border-radius:0;backdrop-filter:none}
.eyebrow{font-size:clamp(1rem,1.8vw,1.35rem);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.hero-copy h1{margin:8px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.4rem,4.8vw,3.8rem);line-height:1.05;letter-spacing:-.02em;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.25)}
.hero-tagline{margin-top:12px;font-size:clamp(1.1rem,2vw,1.55rem);color:rgba(255,255,255,.92);font-weight:600;font-style:italic}
.hero-description{max-width:44ch;margin-top:14px;color:rgba(255,255,255,.82);line-height:1.6;font-size:1rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.hero .slide-dots{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:3}
/* Hero curve divider — sits at the bottom of the hero, overlapping into the next section */
.hero-curve{position:absolute;bottom:-1px;left:0;right:0;z-index:10;line-height:0;pointer-events:none}
.hero-curve svg{display:block;width:100%;height:auto}
/* Accent swoosh stripe — coloured curves along the wave edge */
.hero-swoosh{position:absolute;bottom:60px;left:0;right:0;z-index:5;pointer-events:none;line-height:0}
.hero-swoosh svg{display:block;width:100%;height:auto}

/* ── BUTTONS ── */
.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;border-radius:12px;font-weight:700;font-size:1rem;box-shadow:var(--shadow-soft);transition:transform .16s,box-shadow .16s}
.button:hover{transform:translateY(-1px);box-shadow:0 12px 20px rgba(25,45,67,.16)}
.button-orange{background:linear-gradient(180deg,#ef8a2f,var(--orange));color:#fffdf7}
.button-green{background:linear-gradient(180deg,#5a9c4a,var(--green));color:#fffdf7}
.button-light{background:linear-gradient(180deg,#fbfbfa,#f1e9da);color:var(--blue-deep)}
.button-ghost{background:rgba(255,255,255,.34);color:var(--blue-deep);box-shadow:inset 0 0 0 1px rgba(24,49,79,.14)}
.button-deep{background:linear-gradient(180deg,#285d92,var(--blue-deep));color:#fffdf7}

/* ── SECTION TITLES ── */
.section-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.7rem,3.2vw,2.5rem);color:var(--blue-deep);text-align:center;letter-spacing:-.02em;position:relative;padding-bottom:42px}
.section-title::after{content:"";display:block;width:clamp(180px,35vw,300px);height:24px;margin:10px auto 0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 40'%3E%3Cpath d='M10,22 C50,22 60,20 100,22 S160,18 200,22 S260,26 300,22 S360,18 390,22' fill='none' stroke='%233a6e2c' stroke-width='2.5' stroke-linecap='round'/%3E%3Cpath d='M45,22 C42,14 30,10 28,16 C26,22 38,20 45,22Z' fill='%234a8c38'/%3E%3Cpath d='M45,22 C48,14 58,12 60,18 C62,24 50,22 45,22Z' fill='%23559e40'/%3E%3Cpath d='M100,22 C96,14 86,11 84,17 C82,23 94,22 100,22Z' fill='%234a8c38'/%3E%3Cpath d='M100,22 C104,14 114,12 116,18 C118,24 106,22 100,22Z' fill='%23559e40'/%3E%3Cpath d='M155,20 C152,12 142,9 140,15 C138,21 150,20 155,20Z' fill='%234a8c38'/%3E%3Cpath d='M155,20 C158,12 168,10 170,16 C172,22 160,20 155,20Z' fill='%23559e40'/%3E%3Cpath d='M210,23 C207,15 197,12 195,18 C193,24 205,23 210,23Z' fill='%234a8c38'/%3E%3Cpath d='M210,23 C213,15 223,13 225,19 C227,25 215,23 210,23Z' fill='%23559e40'/%3E%3Cpath d='M265,21 C262,13 252,10 250,16 C248,22 260,21 265,21Z' fill='%234a8c38'/%3E%3Cpath d='M265,21 C268,13 278,11 280,17 C282,23 270,21 265,21Z' fill='%23559e40'/%3E%3Cpath d='M320,22 C317,14 307,11 305,17 C303,23 315,22 320,22Z' fill='%234a8c38'/%3E%3Cpath d='M320,22 C323,14 333,12 335,18 C337,24 325,22 320,22Z' fill='%23559e40'/%3E%3Cpath d='M370,22 C367,14 357,11 355,17 C353,23 365,22 370,22Z' fill='%234a8c38'/%3E%3Cpath d='M370,22 C373,14 383,12 385,18 C387,24 375,22 370,22Z' fill='%23559e40'/%3E%3Ccircle cx='70' cy='20' r='1.5' fill='%233a6e2c'/%3E%3Ccircle cx='130' cy='23' r='1.5' fill='%233a6e2c'/%3E%3Ccircle cx='240' cy='20' r='1.5' fill='%233a6e2c'/%3E%3Ccircle cx='350' cy='24' r='1.5' fill='%233a6e2c'/%3E%3C/svg%3E") center/contain no-repeat}
.section-subtitle{text-align:center;color:var(--muted);max-width:52ch;margin:10px auto 0;line-height:1.6}

/* ── WHY CHOOSE US ── */
.why-section{position:relative;padding:clamp(32px,6vw,60px) 0 clamp(48px,8vw,80px)}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px}
.why-card{background:var(--surface);border:1px solid rgba(24,49,79,.08);border-radius:28px;overflow:hidden;box-shadow:var(--shadow-soft);transition:transform .3s}
.why-card:hover{transform:translateY(-5px)}
.why-image{aspect-ratio:4/3;overflow:hidden;border-radius:0 0 40% 0}
.why-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.why-card:hover .why-image img{transform:scale(1.08)}
.why-slideshow{width:100%;height:100%;border-radius:0}
.why-slideshow .slides{height:100%}
.why-slideshow .slide{position:absolute;inset:0;display:block;background-size:cover;background-position:center;opacity:0;transition:opacity .8s}
.why-slideshow .slide.active{opacity:1}
.why-slideshow .slide-prev,.why-slideshow .slide-next{width:32px;height:32px;font-size:1rem}
.why-card h3{padding:16px 18px 0;font-size:1.12rem;color:var(--blue-deep)}
.why-card p{padding:8px 18px 18px;color:var(--muted);line-height:1.55;font-size:1rem}

/* ── FOREST SCHOOL ── */
.forest-section{position:relative;padding:clamp(40px,6vw,60px) 0;background:linear-gradient(180deg,#d5dcc8,#e0e6d4);overflow:visible}
.forest-layout{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1.15fr;gap:50px;align-items:center}
.badge{display:inline-block;padding:6px 14px;border-radius:999px;font-weight:700;font-size:1rem;margin-bottom:12px}
.badge-green{background:rgba(74,124,63,.14);color:var(--green)}
.forest-copy h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.6rem,3vw,2.3rem);color:var(--blue-deep);letter-spacing:-.02em}
.forest-copy p{margin-top:14px;line-height:1.7;color:var(--muted)}
.forest-highlights{margin:18px 0 22px;padding-left:20px;display:grid;gap:8px}
.forest-highlights li{color:var(--text);line-height:1.5}
.forest-highlights li::marker{color:var(--green)}
.forest-gallery{overflow:visible;box-shadow:none;border:none;width:100%;height:100%;position:relative;transform:rotate(-12deg)}
.forest-gallery .forest-slideshow{position:absolute;inset:0;
  clip-path:polygon(50% 0%, 65% 5%, 78% 14%, 88% 26%, 95% 40%, 98% 55%, 97% 70%, 92% 82%, 83% 90%, 72% 96%, 60% 99%, 50% 100%, 40% 99%, 28% 96%, 17% 90%, 8% 82%, 3% 70%, 2% 55%, 5% 40%, 12% 26%, 22% 14%, 35% 5%);
  -webkit-clip-path:polygon(50% 0%, 65% 5%, 78% 14%, 88% 26%, 95% 40%, 98% 55%, 97% 70%, 92% 82%, 83% 90%, 72% 96%, 60% 99%, 50% 100%, 40% 99%, 28% 96%, 17% 90%, 8% 82%, 3% 70%, 2% 55%, 5% 40%, 12% 26%, 22% 14%, 35% 5%);
  border-radius:0;
}
/* Leaf outline behind the image */
.forest-gallery::before{content:"";position:absolute;inset:-6px;z-index:-1;
  background:rgba(45,107,30,.3);
  clip-path:polygon(50% 0%, 65% 5%, 78% 14%, 88% 26%, 95% 40%, 98% 55%, 97% 70%, 92% 82%, 83% 90%, 72% 96%, 60% 99%, 50% 100%, 40% 99%, 28% 96%, 17% 90%, 8% 82%, 3% 70%, 2% 55%, 5% 40%, 12% 26%, 22% 14%, 35% 5%);
  -webkit-clip-path:polygon(50% 0%, 65% 5%, 78% 14%, 88% 26%, 95% 40%, 98% 55%, 97% 70%, 92% 82%, 83% 90%, 72% 96%, 60% 99%, 50% 100%, 40% 99%, 28% 96%, 17% 90%, 8% 82%, 3% 70%, 2% 55%, 5% 40%, 12% 26%, 22% 14%, 35% 5%);
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.15));
}

/* ── SLIDESHOWS ── */
.slideshow{position:relative;border-radius:22px;overflow:hidden}
.slideshow .slides{position:relative}
.slideshow .slide{display:none}
.slideshow .slide.active{display:block}
.forest-slideshow{aspect-ratio:3/4}
.forest-slideshow .slides{height:100%}
.forest-slideshow .slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .8s}
.forest-slideshow .slide.active{opacity:1;display:block}
/* Forest gallery wrapper — not rotated, holds the nav buttons level */
.forest-gallery-wrap{position:relative;max-width:420px;width:100%;justify-self:center;aspect-ratio:3/4}
/* Forest nav buttons — on the non-rotated wrapper so they stay level */
.forest-nav{position:absolute;top:50%;z-index:10;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.85);color:var(--text);font-size:1.2rem;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.15);transition:background .16s;transform:translateY(-50%)}
.forest-nav:hover{background:#fff}
.forest-nav.slide-prev{left:12px}
.forest-nav.slide-next{right:12px}
.slide-prev,.slide-next{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.85);color:var(--text);font-size:1.2rem;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.15);transition:background .16s}
.slide-prev:hover,.slide-next:hover{background:#fff}
.slide-prev{left:12px}
.slide-next{right:12px}
.slide-dots{display:flex;justify-content:center;gap:8px;padding:12px 0}
.slide-dot{width:10px;height:10px;border-radius:50%;border:2px solid rgba(255,255,255,.7);background:rgba(255,255,255,.3);cursor:pointer;transition:background .2s}
.slide-dot.active{background:#fff;border-color:#fff}

/* ── testimonial slideshow ── */
.testimonials-section{position:relative;padding:clamp(64px,10vw,100px) 0;background:linear-gradient(180deg,#eae4d8,var(--bg));overflow:hidden}
.testimonial-slideshow{max-width:700px;margin:32px auto 0;text-align:center;border-radius:0;overflow:visible}
.testimonial-slideshow .slide{display:none;padding:0 10px}
.testimonial-slideshow .slide.active{display:block}
.testimonial-slideshow p{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.15rem,2.2vw,1.45rem);line-height:1.6;color:var(--text)}
.testimonial-slideshow cite{display:block;margin-top:16px;font-style:normal;font-weight:700;color:var(--blue);font-size:1rem}
.testimonial-slideshow .slide-dots .slide-dot{border-color:var(--blue);background:rgba(47,100,143,.2)}
.testimonial-slideshow .slide-dots .slide-dot.active{background:var(--blue);border-color:var(--blue)}

/* ── SCHOOL LIFE GALLERY ── */
.life-section{position:relative;padding:clamp(64px,10vw,100px) 0}
.gallery-strip{margin-top:30px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none}
.gallery-strip::-webkit-scrollbar{display:none}
.gallery-track{display:flex;gap:20px;padding:4px 0 12px}
.gallery-item{flex:0 0 260px;scroll-snap-align:start;margin:0;border-radius:24px 24px 60px 24px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow-soft);transition:transform .3s}
.gallery-item:hover{transform:translateY(-5px) rotate(-1deg)}
.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gallery-item figcaption{padding:12px 14px;font-weight:700;font-size:1rem;color:var(--blue-deep)}

/* ── CTA BANNER ── */
.cta-section{position:relative;padding:clamp(80px,12vw,130px) 0;overflow:clip;text-align:center}
.cta-bg{position:absolute;inset:0;background-size:cover;background-position:center 30%;filter:brightness(.8)}
.cta-overlay{position:absolute;inset:0;background:rgba(20,40,62,.6)}
.cta-inner{position:relative;z-index:1;color:#fff}
.cta-inner h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,3.5vw,2.8rem);letter-spacing:-.02em}
.cta-inner p{max-width:48ch;margin:14px auto 0;line-height:1.6;opacity:.92}
.cta-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:24px}

/* ── NEWS ── */
.news-section{position:relative;padding:clamp(64px,10vw,100px) 0}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}
.news-card{background:var(--surface);border:1px solid rgba(24,49,79,.08);border-radius:28px;overflow:hidden;box-shadow:var(--shadow-soft);transition:transform .3s}
.news-card:hover{transform:translateY(-5px)}
.news-image{aspect-ratio:16/10;overflow:hidden;border-radius:0 0 30% 0}
.news-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.news-card:hover .news-image img{transform:scale(1.06)}
.news-body{padding:16px 18px 20px}
.news-date{font-size:1rem;font-weight:700;color:var(--orange)}
.news-body h3{margin:6px 0 8px;font-size:1.1rem;color:var(--blue-deep)}
.news-body p{color:var(--muted);line-height:1.5;font-size:1rem}

/* ── EVENTS STRIP ── */
.events-strip{margin-top:36px;padding:24px;background:var(--surface);border-radius:28px;border:1px solid rgba(24,49,79,.08);box-shadow:var(--shadow-soft)}
.events-strip h3{font-size:1.15rem;color:var(--blue-deep);margin-bottom:14px}
.events-scroll{display:flex;gap:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.events-scroll::-webkit-scrollbar{display:none}
.event-chip{flex:0 0 auto;scroll-snap-align:start;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;background:rgba(47,100,143,.08);font-weight:600;font-size:1rem;white-space:nowrap}
.event-date-chip{display:inline-flex;align-items:center;justify-content:center;min-width:56px;padding:6px 10px;border-radius:8px;background:var(--orange);color:#fff;font-weight:700;font-size:1rem}

/* ── CONTACT / INFO ── */
.info-section{position:relative;padding:clamp(64px,10vw,100px) 0;background:linear-gradient(180deg,#f7f2e8,var(--bg))}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}
.info-card{text-align:center;padding:34px 22px;background:var(--surface);border:1px solid rgba(24,49,79,.08);border-radius:28px;box-shadow:var(--shadow-soft);transition:transform .3s}
.info-card:hover{transform:translateY(-4px)}
.info-icon{width:56px;height:56px;margin:0 auto 16px;color:var(--blue);background:rgba(47,100,143,.1);border-radius:50%;padding:12px}
.info-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.info-card h3{font-size:1.1rem;color:var(--blue-deep);margin-bottom:8px}
.info-card p{color:var(--muted);line-height:1.55;font-size:1rem}

/* ── NOTICES BAR ── */
.notices-bar{padding:16px 0;background:linear-gradient(90deg,var(--orange),var(--orange-deep));color:#fff;font-size:1rem;border-radius:999px;max-width:min(1100px,calc(100% - 40px));margin:30px auto 0;box-shadow:var(--shadow-soft)}
.notices-inner{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.notices-inner a{text-decoration:underline;font-weight:700}
.separator{opacity:.5}

/* ── FOOTER ── */
.site-footer{position:relative;background:linear-gradient(180deg,#24527e,#19426c);color:rgba(255,255,255,.96);margin-top:100px}
.site-footer>.wave-divider--top{top:-80px}
.footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:30px;padding:20px 0 30px}
.footer-brand{display:flex;flex-direction:column;gap:10px}
.footer-logo{width:160px;height:auto}
.footer-brand p{color:rgba(255,255,255,.7);font-size:1rem}
.footer-links{display:flex;flex-direction:column;gap:8px}
.footer-links h4{margin-bottom:6px;font-size:1rem;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.55)}
.footer-links a{color:rgba(255,255,255,.88);font-size:1rem;transition:color .16s}
.footer-links a:hover{color:#fff}
.footer-social h4{margin-bottom:10px;font-size:1rem;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.55)}
.social-row{display:flex;gap:10px}
.social-row a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.14);transition:background .16s}
.social-row a:hover{background:rgba(255,255,255,.25)}
.social-row svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.footer-bottom{padding:16px 0;border-top:1px solid rgba(255,255,255,.12);font-size:1rem;color:rgba(255,255,255,.5);text-align:center}

/* ── TABLET ── */
@media(max-width:980px){
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .forest-layout{grid-template-columns:1fr}
  .news-grid{grid-template-columns:1fr}
  .info-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr 1fr;gap:24px}
}

/* ── MOBILE ── */
@media(max-width:720px){
  html{font-size:16px}
  .container{width:min(100% - 20px,1180px)}
  .site-header{position:absolute;background:linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,0) 100%)}
  .header-inner{flex-wrap:wrap;padding:10px 0}
  .brand-mark{width:clamp(110px,36vw,160px)}
  .menu-toggle{display:flex;margin-left:auto}
  .primary-nav{display:none;width:100%;flex-direction:column;gap:0;padding:8px 0;background:rgba(0,0,0,.75);border-radius:10px;margin-top:4px}
  .primary-nav.open{display:flex}
  .primary-nav a{width:100%;padding:14px 12px;border-radius:0;border-bottom:1px solid rgba(255,255,255,.1);text-align:left;color:#fff}
  .hero{min-height:85vh}
  .hero-inner{align-items:flex-end;padding:0 0 clamp(60px,8vw,80px)}
  .hero-copy{max-width:100%;padding:0 10px}
  .hero-actions{flex-direction:column}
  .button{width:100%;justify-content:center}
  .why-grid{grid-template-columns:1fr;gap:16px}
  .forest-layout{gap:24px}
  .gallery-item{flex:0 0 75vw}
  .news-grid{grid-template-columns:1fr;gap:16px}
  .news-card{display:grid;grid-template-columns:120px 1fr}
  .news-image{aspect-ratio:1/1}
  .cta-inner h2{font-size:1.6rem}
  .info-grid{grid-template-columns:1fr;gap:14px}
  .info-card{padding:22px 16px}
  .footer-inner{grid-template-columns:1fr;gap:20px;padding:30px 0 20px;text-align:center}
  .footer-brand{align-items:center}
  .footer-logo{margin:0 auto}
  .footer-links{align-items:center}
  .social-row{justify-content:center}
  .events-scroll{gap:10px}
}

/* ── REDUCED MOTION ── */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
