
:root{
  --forest:#12351f;
  --forest-2:#0d2818;
  --gold:#f6c84c;
  --paper:#fff8e8;
  --cream:#f8f2e4;
  --mint:#d7ead7;
  --ink:#162016;
  --muted:#667064;
  --line:rgba(18,53,31,.14);
  --shadow:0 22px 70px rgba(18,53,31,.16);
  --radius:24px;
  --radius-xl:36px;
  --max:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;background:#fff;padding:.8rem 1rem;border-radius:10px;z-index:99}
.container{max-width:var(--max);margin:0 auto;padding:0 clamp(1rem,3vw,2rem)}
.site-header{position:sticky;top:0;background:rgba(248,242,228,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);z-index:20}
.nav{max-width:var(--max);margin:0 auto;padding:.9rem clamp(1rem,3vw,2rem);display:flex;align-items:center;justify-content:space-between;gap:1rem}
.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;font-weight:900;color:var(--forest)}
.logo-mark{width:2rem;height:2rem;border-radius:10px;background:var(--gold);display:grid;place-items:center}
.nav-links{list-style:none;display:flex;align-items:center;gap:.35rem;margin:0;padding:0}
.nav-links a{display:inline-flex;padding:.7rem .9rem;border-radius:999px;text-decoration:none;font-weight:800;color:var(--forest)}
.nav-links a:hover,.nav-cta{background:var(--forest);color:#fff!important}
.nav-toggle,.nav-toggle-label{display:none}
h1,h2,h3{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.05;letter-spacing:-.04em;margin:0;color:var(--forest);font-weight:850}
h1{font-size:clamp(2.6rem,6vw,5.75rem);margin-bottom:1.25rem}
h2{font-size:clamp(2.1rem,4vw,4rem);margin-bottom:1rem}
h3{font-size:clamp(1.35rem,2.1vw,2rem);margin-bottom:.6rem}
p{margin:0 0 1rem}
.lead{font-size:clamp(1.08rem,1.7vw,1.35rem);color:#3b493d}
.eyebrow{display:inline-flex;align-items:center;gap:.4rem;background:var(--mint);color:var(--forest);border-radius:999px;padding:.42rem .75rem;font-weight:900;font-size:.86rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:1rem}
.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:999px;padding:1rem 1.25rem;font-weight:900;border:2px solid transparent;cursor:pointer;font-size:1rem}
.button-primary{background:var(--forest);color:#fff}
.button-secondary{background:#fff;color:var(--forest);border-color:var(--line)}
.button-accent{background:var(--gold);color:var(--forest)}
.hero{padding:clamp(3rem,7vw,7rem) 0 4rem}
.hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(3rem,7vw,7rem);align-items:center}
.hero-card{position:relative}
.hero-photo-wrap{border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow);background:#ddd}
.hero-photo-wrap img{width:100%;min-height:420px;object-fit:cover}
.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}
.floating-note{position:absolute;left:-1.2rem;bottom:1.7rem;background:var(--gold);color:var(--forest);padding:1rem 1.1rem;border-radius:20px;box-shadow:0 16px 40px rgba(0,0,0,.18);font-weight:900;transform:rotate(-3deg)}
.floating-note strong{display:block;font-size:1.08rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem}
.time-row span{display:block;white-space:nowrap}
.section{padding:clamp(3rem,6vw,6rem) 0}
.surface{background:rgba(255,255,255,.46)}
.dark{background:var(--forest);color:#fff}
.dark h2,.dark h3,.dark .eyebrow{color:#fff}
.dark .lead,.dark p{color:rgba(255,255,255,.80)}
.section-title{max-width:840px;margin-bottom:2rem}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.course-choice-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.photo-card,.course-choice-photo{border-radius:32px;overflow:hidden;box-shadow:var(--shadow)}
.photo-card img,.course-choice-photo img{width:100%;height:100%;object-fit:cover;border-radius:32px}
.course-choice-photo img{min-height:430px;object-position:50% 45%}
.course-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:2rem}
.course-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-xl);padding:clamp(1.4rem,3vw,2.2rem);box-shadow:var(--shadow)}
.course-pill{display:inline-flex;background:var(--forest);color:#fff;border-radius:999px;padding:.55rem .9rem;font-weight:900;font-size:.92rem;margin-bottom:1rem;text-decoration:none}
.course-meta{list-style:none;padding:0;margin:0;display:grid;gap:.8rem}
.price{font-weight:900;color:var(--forest)}
.mini-cta{margin-top:1.2rem}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.feature-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;box-shadow:0 10px 30px rgba(18,53,31,.07)}
.feature-icon{font-size:1.75rem;margin-bottom:.7rem}
.image-band{display:grid;grid-template-columns:1.28fr .72fr;gap:1rem;margin-top:2rem}
.image-band img{width:100%;height:100%;object-fit:cover;border-radius:32px;box-shadow:var(--shadow)}
.image-band>img{min-height:560px;object-position:50% 50%}
.stack{display:grid;gap:1rem}
.stack img{min-height:270px}
.process{display:grid;gap:1rem}
.process-item{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:24px;padding:1.25rem}
.price-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.price-box,.about-card,.contact-card,.form-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-xl);padding:clamp(1.4rem,3vw,2.3rem);box-shadow:var(--shadow)}
.price-line{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line);font-weight:800}
.price-line:last-child{border-bottom:0}
.highlight{margin:1.2rem 0;padding:1rem;border-radius:18px;background:var(--mint);color:var(--forest);font-weight:800}
.value-list{margin:1rem 0 0;padding-left:1.2rem;display:grid;gap:.45rem}
.about-layout{grid-template-columns:.9fr 1.1fr}
.about-photo img{min-height:clamp(460px,55vw,680px);object-position:50% 28%}
.about-links{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.2rem}
.contact-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.contact-list{list-style:none;margin:1.2rem 0 0;padding:0;display:grid;gap:.8rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{display:grid;gap:.4rem}
.form-group.full{grid-column:1/-1}
label{font-weight:850;color:var(--forest)}
input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:.9rem 1rem;font:inherit}
textarea{min-height:140px;resize:vertical}
.form-note{font-size:.92rem;color:var(--muted);margin-top:.5rem}
.honeypot{display:none}
.success-message,.error-message{display:none;border-radius:16px;padding:1rem;margin-bottom:1rem;font-weight:800}
.success-message.show{display:block;background:#dff3df;color:#12351f}
.error-message.show{display:block;background:#ffe1de;color:#6d1c16}
.download-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}
.download-card{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:24px;padding:1.2rem;box-shadow:0 10px 30px rgba(18,53,31,.07)}
.download-card strong{display:block;color:var(--forest);font-size:1.08rem;margin-bottom:.25rem}
.faq-grid{display:grid;gap:1rem}
details{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1rem 1.2rem}
summary{font-weight:900;color:var(--forest);cursor:pointer}
.site-footer{background:var(--forest-2);color:#fff;padding:3rem 0 1.6rem}
.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:2rem}
.site-footer a{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:2rem;padding-top:1.5rem;color:rgba(255,255,255,.72)}
.hosting-partner{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:1rem;color:rgba(255,255,255,.72);font-size:.9rem}
.hosting-partner img{width:185px;height:35px;border-radius:4px}
.legal-main{max-width:860px;margin:0 auto;padding:clamp(3rem,6vw,6rem) clamp(1rem,3vw,2rem)}
.legal-main article{background:#fff;border:1px solid var(--line);border-radius:32px;padding:clamp(1.3rem,3vw,2.4rem);box-shadow:var(--shadow)}
.legal-main h1{font-size:clamp(2.5rem,5vw,4rem)}
.legal-main h2{font-size:1.55rem;margin-top:2rem;letter-spacing:-.02em}
.legal-main ul{padding-left:1.2rem}
@media(max-width:900px){
  .nav-links{display:none}
  .hero-grid,.two-col,.course-choice-layout,.course-grid,.price-grid,.contact-layout,.footer-grid,.image-band{grid-template-columns:1fr}
  .hero-photo-wrap img{min-height:300px}
  .floating-note{position:relative;left:auto;bottom:auto;display:inline-block;margin-top:-1rem;margin-left:1rem}
  .feature-grid{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .image-band>img,.stack img{min-height:260px}
}
