:root {
  --forest: #2d5a27;
  --moss:   #4a7c3f;
  --leaf:   #6ba355;
  --sage:   #a8c5a0;
  --mist:   #e8f0e5;
  --white:  #fafcf8;
  --ink:    #1c2b1a;
  --mid:    #4a5c48;
  --light:  #7a8f78;
  --border: rgba(74,124,63,0.18);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Noto Sans SC','Inter',sans-serif;background:var(--white);color:var(--ink);overflow-x:hidden;-webkit-font-smoothing:antialiased}

/* ── NAV ── */
nav{position:fixed;inset:0 0 auto 0;z-index:200;display:flex;justify-content:space-between;align-items:center;padding:1.1rem 5vw;background:rgba(250,252,248,0.95);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);transition:box-shadow .3s}
.nav-brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.nav-brand .cn{font-family:'Noto Serif SC',serif;font-size:1.15rem;font-weight:600;color:var(--forest);letter-spacing:.12em}
.nav-brand .sep{width:1px;height:14px;background:var(--border)}
.nav-brand .en{font-size:.72rem;font-weight:500;color:var(--light);letter-spacing:.1em}
.nav-links{display:flex;gap:2rem;list-style:none;align-items:center}
.nav-links a{text-decoration:none;font-size:.82rem;font-weight:400;color:var(--mid);letter-spacing:.04em;transition:color .2s}
.nav-links a:hover{color:var(--forest)}
.nav-lang{display:flex;gap:.35rem;margin-left:1.5rem}
.lang-btn{font-size:.7rem;font-weight:500;padding:.28rem .65rem;border-radius:2rem;border:1px solid var(--border);cursor:pointer;text-decoration:none;color:var(--light);letter-spacing:.06em;transition:all .2s;background:transparent}
.lang-btn.active,.lang-btn:hover{background:var(--forest);color:#fff;border-color:var(--forest)}

/* ── HERO ── */
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;padding-top:66px}
.hero-text{display:flex;flex-direction:column;justify-content:center;padding:5rem 5vw 5rem 7vw}
.eyebrow{font-size:.7rem;letter-spacing:.35em;text-transform:uppercase;color:var(--leaf);font-weight:500;margin-bottom:1.8rem;display:flex;align-items:center;gap:.8rem}
.eyebrow::before{content:'';display:block;width:28px;height:1px;background:var(--leaf)}
.hero-h1{font-family:'Noto Serif SC',serif;font-size:clamp(2.2rem,3.8vw,3.4rem);font-weight:600;line-height:1.22;color:var(--ink);letter-spacing:.05em;margin-bottom:1.2rem}
.hero-h1 em,.hero-h1 .accent{font-style:normal;color:var(--forest)}
.hero-sub{font-size:.96rem;color:var(--mid);line-height:1.9;font-weight:300;max-width:440px;margin-bottom:2.8rem}
.hero-stats{display:flex;gap:2.5rem;margin-bottom:2.8rem}
.stat-num{font-family:'DM Serif Display',serif;font-size:2rem;color:var(--forest);line-height:1;display:block}
.stat-label{font-size:.7rem;color:var(--light);font-weight:400;display:block;margin-top:.2rem}
.hero-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}

.hero-img{position:relative;overflow:hidden}
.hero-img img{width:100%;height:100%;object-fit:cover;display:block}
.hero-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(250,252,248,.25) 0%,transparent 45%)}
.hero-chip{position:absolute;bottom:2.5rem;left:2rem;background:rgba(45,90,39,.92);backdrop-filter:blur(10px);color:#fff;padding:1rem 1.4rem;border-radius:6px}
.hero-chip .chip-big{font-family:'DM Serif Display',serif;font-size:1.7rem;color:#a8e89e;line-height:1;display:block}
.hero-chip .chip-sm{font-size:.7rem;opacity:.8;display:block;margin-top:.25rem;letter-spacing:.06em}

/* ── BUTTONS ── */
.btn-green{background:var(--forest);color:#fff;text-decoration:none;padding:.88rem 1.9rem;font-size:.84rem;font-weight:500;letter-spacing:.08em;border-radius:3px;transition:background .25s,transform .2s;display:inline-block}
.btn-green:hover{background:var(--moss);transform:translateY(-1px)}
.btn-link{color:var(--forest);text-decoration:none;font-size:.83rem;font-weight:500;display:flex;align-items:center;gap:.5rem;transition:gap .2s;padding:.88rem 0}
.btn-link:hover{gap:.9rem}

/* ── SECTION COMMONS ── */
section{padding:6rem 7vw}
.s-label{font-size:.69rem;letter-spacing:.35em;text-transform:uppercase;color:var(--leaf);font-weight:500;margin-bottom:1.1rem;display:flex;align-items:center;gap:.7rem}
.s-label::before{content:'';display:block;width:22px;height:1px;background:var(--leaf)}
.s-title{font-family:'Noto Serif SC',serif;font-size:clamp(1.7rem,2.6vw,2.3rem);font-weight:600;line-height:1.3;color:var(--ink);margin-bottom:1rem;letter-spacing:.04em}
.s-body{font-size:.94rem;line-height:1.95;color:var(--mid);font-weight:300;max-width:600px}

/* ── PHOTO BAND ── */
.photo-band{display:grid;grid-template-columns:repeat(4,1fr);height:340px;overflow:hidden}
.pb-item{overflow:hidden;position:relative}
.pb-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease;filter:saturate(.88);background:var(--mist)}
.pb-item:hover img{transform:scale(1.06)}
.pb-cap{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(28,43,26,.82) 0%,transparent 100%);padding:1.5rem 1.2rem 1rem;opacity:0;transition:opacity .3s}
.pb-item:hover .pb-cap{opacity:1}
.pb-cap span{font-size:.79rem;color:rgba(255,255,255,.92);font-family:'Noto Serif SC',serif;letter-spacing:.1em}

/* ── SCIENCE ── */
.science{background:var(--mist);display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.sci-img{border-radius:6px;overflow:hidden;aspect-ratio:4/5;position:relative;background:var(--sage)}
.sci-img img{width:100%;height:100%;object-fit:cover;display:block}
.sci-badge{position:absolute;bottom:1.5rem;right:1.5rem;background:var(--forest);color:#fff;padding:1.1rem 1.5rem;border-radius:4px;text-align:center}
.sci-badge .big{font-family:'DM Serif Display',serif;font-size:1.9rem;color:#b8f0ac;line-height:1;display:block}
.sci-badge .sm{font-size:.67rem;opacity:.8;display:block;margin-top:.3rem;letter-spacing:.1em}
.model-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.5rem}
.mc{background:#fff;border:1px solid var(--border);border-radius:6px;padding:1.3rem;border-left:3px solid var(--leaf);transition:border-left-color .2s,transform .2s}
.mc:hover{border-left-color:var(--forest);transform:translateY(-2px)}
.mc-icon{font-size:1.25rem;display:block;margin-bottom:.55rem}
.mc-title{font-family:'Noto Serif SC',serif;font-size:.88rem;font-weight:600;color:var(--ink);margin-bottom:.35rem}
.mc-text{font-size:.75rem;color:var(--light);line-height:1.6;font-weight:300}

/* ── MINERALS (dark) ── */
.minerals{background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.minerals .s-label{color:var(--sage)}
.minerals .s-label::before{background:var(--sage)}
.minerals .s-title{color:var(--white)}
.minerals .s-body{color:rgba(232,240,229,.7)}
.bar-rows{margin-top:2.5rem}
.bar-row{display:grid;grid-template-columns:74px 1fr 44px;align-items:center;gap:1rem;margin-bottom:1.15rem}
.bar-name{font-size:.81rem;color:var(--sage);font-weight:500}
.bar-track{height:6px;background:rgba(255,255,255,.1);border-radius:3px;overflow:hidden}
.bar-fill{height:100%;border-radius:3px;background:linear-gradient(to right,var(--leaf),var(--sage));transition:width 1.2s ease}
.bar-pct{font-family:'DM Serif Display',serif;font-size:1rem;color:#a8e89e;text-align:right}
.min-img{border-radius:6px;overflow:hidden;aspect-ratio:4/5;position:relative;background:var(--moss)}
.min-img img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.65) brightness(.6)}
.min-img-cap{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(28,43,26,.95) 0%,transparent 100%);padding:2rem 1.5rem 1.5rem}
.min-img-cap p{font-size:.81rem;color:rgba(232,240,229,.75);line-height:1.65;font-weight:300}

/* ── PROGRAMS ── */
.programs{background:var(--white)}
.prog-hdr{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3.5rem}
.prog-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1.5px solid var(--border);border-radius:8px;overflow:hidden}
.prog-card{background:var(--white);padding:2.4rem 1.9rem;border-right:1.5px solid var(--border);border-bottom:1.5px solid var(--border);transition:background .25s}
.prog-card:nth-child(3n){border-right:none}
.prog-card:nth-child(n+4){border-bottom:none}
.prog-card:hover{background:var(--mist)}
.prog-icon{width:42px;height:42px;background:var(--mist);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.15rem;margin-bottom:1.3rem;transition:background .25s}
.prog-card:hover .prog-icon{background:var(--sage)}
.prog-sub{font-family:'Noto Serif SC',serif;font-size:.73rem;color:var(--leaf);letter-spacing:.18em;display:block;margin-bottom:.35rem}
.prog-title{font-family:'Noto Serif SC',serif;font-size:1rem;font-weight:600;color:var(--ink);margin-bottom:.75rem}
.prog-desc{font-size:.81rem;color:var(--mid);line-height:1.7;font-weight:300;margin-bottom:1.1rem}
.prog-dur{font-size:.69rem;letter-spacing:.15em;text-transform:uppercase;color:var(--leaf);font-weight:500}

/* ── JOURNEY ── */
.journey{background:var(--mist)}
.journey-hdr{text-align:center;margin-bottom:4rem}
.steps{display:grid;grid-template-columns:repeat(5,1fr);position:relative}
.steps::before{content:'';position:absolute;top:21px;left:10%;right:10%;height:1px;background:linear-gradient(to right,transparent,var(--sage),transparent)}
.step{text-align:center;padding:0 .8rem}
.step-dot{width:42px;height:42px;border-radius:50%;background:#fff;border:1.5px solid var(--sage);display:flex;align-items:center;justify-content:center;margin:0 auto 1.15rem;font-family:'Noto Serif SC',serif;font-size:.93rem;color:var(--forest);font-weight:600;position:relative;z-index:1;transition:all .25s}
.step:hover .step-dot{background:var(--forest);color:#fff;border-color:var(--forest)}
.step-title{font-family:'Noto Serif SC',serif;font-size:.87rem;font-weight:600;color:var(--ink);margin-bottom:.45rem}
.step-text{font-size:.74rem;color:var(--light);line-height:1.65;font-weight:300}

/* ── DESTINATIONS ── */
.destinations{padding:6rem 0;background:var(--white)}
.dest-hdr{text-align:center;margin-bottom:3rem;padding:0 7vw}
.dest-row{display:grid;grid-template-columns:repeat(5,1fr)}
.dest-card{position:relative;overflow:hidden;height:420px;background:var(--mist)}
.dest-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease;filter:saturate(.82)}
.dest-card:hover img{transform:scale(1.07)}
.dest-info{position:absolute;inset:0;background:linear-gradient(to top,rgba(28,43,26,.88) 30%,transparent 70%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.8rem 1.5rem;transition:background .3s}
.dest-card:hover .dest-info{background:linear-gradient(to top,rgba(28,43,26,.94) 40%,transparent 70%)}
.dest-city{font-family:'Noto Serif SC',serif;font-size:1.15rem;font-weight:600;color:#fff;display:block;margin-bottom:.25rem}
.dest-desc{font-size:.73rem;color:var(--sage)}

/* ── TESTIMONIALS ── */
.testimonials{background:var(--mist)}
.testi-hdr{text-align:center;margin-bottom:3.5rem}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.testi-card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:2.1rem;position:relative}
.testi-card::before{content:'\201C';font-family:'DM Serif Display',serif;font-size:4rem;color:var(--sage);line-height:1;position:absolute;top:.9rem;right:1.4rem;opacity:.6}
.testi-text{font-size:.87rem;color:var(--mid);line-height:1.85;font-weight:300;margin-bottom:1.4rem}
.testi-auth{display:flex;align-items:center;gap:.8rem}
.testi-av{width:36px;height:36px;border-radius:50%;background:var(--forest);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.88rem;font-weight:600;flex-shrink:0}
.testi-name{font-size:.84rem;font-weight:600;color:var(--ink);display:block}
.testi-role{font-size:.7rem;color:var(--light);display:block;margin-top:.12rem}

/* ── CONTACT ── */
.contact{background:var(--forest);display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.contact .s-label{color:var(--sage)}
.contact .s-label::before{background:var(--sage)}
.contact .s-title{color:#fff;font-size:1.9rem}
.contact .s-body{color:rgba(232,240,229,.75)}
.contact-items{margin-top:2.2rem;display:flex;flex-direction:column;gap:.9rem}
.ci{display:flex;align-items:flex-start;gap:.85rem;font-size:.87rem;color:rgba(232,240,229,.8)}
.ci-icon{font-size:.95rem;flex-shrink:0;margin-top:1px}
.contact-form{background:#fff;border-radius:8px;padding:2.6rem}
.contact-form h3{font-family:'Noto Serif SC',serif;font-size:1.15rem;font-weight:600;color:var(--ink);margin-bottom:1.7rem}
.fg{margin-bottom:1.1rem}
.fg label{display:block;font-size:.73rem;font-weight:500;color:var(--mid);letter-spacing:.06em;margin-bottom:.45rem}
.fg input,.fg select,.fg textarea{width:100%;padding:.72rem .95rem;font-family:inherit;font-size:.87rem;color:var(--ink);background:var(--mist);border:1px solid var(--border);border-radius:4px;outline:none;transition:border-color .2s;appearance:none}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--moss);background:#fff}
.fg textarea{resize:vertical}
.form-btn{width:100%;background:var(--forest);color:#fff;border:none;padding:.88rem;font-family:inherit;font-size:.87rem;font-weight:500;letter-spacing:.1em;border-radius:4px;cursor:pointer;transition:background .25s}
.form-btn:hover{background:var(--moss)}

/* ── FOOTER ── */
footer{background:var(--ink);color:#fff;padding:4rem 7vw 2rem;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem}
.f-brand .logo{font-family:'Noto Serif SC',serif;font-size:1.15rem;font-weight:600;color:var(--sage);letter-spacing:.12em;display:block}
.f-brand .logo-sub{font-size:.68rem;color:rgba(255,255,255,.3);letter-spacing:.15em;display:block;margin-top:.2rem}
.f-brand p{font-size:.79rem;color:rgba(255,255,255,.42);line-height:1.7;font-weight:300;margin-top:.8rem;max-width:270px}
footer h4{font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.38);margin-bottom:1.1rem}
footer ul{list-style:none}
footer ul li{margin-bottom:.55rem}
footer ul a{font-size:.81rem;color:rgba(255,255,255,.52);text-decoration:none;transition:color .2s}
footer ul a:hover{color:var(--sage)}
.footer-bar{background:var(--ink);padding:1.1rem 7vw;border-top:1px solid rgba(255,255,255,.07);display:flex;justify-content:space-between;align-items:center}
.footer-bar p{font-size:.73rem;color:rgba(255,255,255,.28)}
.footer-bar-langs a{font-size:.7rem;color:rgba(255,255,255,.28);text-decoration:none;margin-left:1.1rem;transition:color .2s}
.footer-bar-langs a:hover,.footer-bar-langs a.active{color:var(--sage)}

/* ── REVEAL ANIMATION ── */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:none}

/* ── RESPONSIVE ── */
@media(max-width:1000px){
  .hero,.science,.minerals,.contact{grid-template-columns:1fr}
  .hero-img{height:55vw}
  .prog-grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .steps::before{display:none}
  .dest-row{grid-template-columns:repeat(3,1fr)}
  .testi-grid{grid-template-columns:1fr 1fr}
  footer{grid-template-columns:1fr 1fr}
  .photo-band{height:auto}
  .pb-item{height:200px}
}
@media(max-width:650px){
  nav{padding:.9rem 4vw}
  .nav-links{display:none}
  section{padding:3.5rem 5vw}
  .hero-text{padding:3rem 5vw}
  .prog-grid,.testi-grid{grid-template-columns:1fr}
  .dest-row{grid-template-columns:1fr 1fr}
  .photo-band{grid-template-columns:1fr 1fr}
  footer{grid-template-columns:1fr}
}
