@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Montserrat:wght@400;500;600&display=swap');
:root { --green:#174f3d; --lime:#3a9914; --ivory:#f7f4ee; --paper:#fffdf9; --gold:#b88935; --ink:#16231d; --muted:#5e625f; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--ivory); font-family:Montserrat,Arial,sans-serif; }
img { display:block; max-width:100%; }
a { color:inherit; }
.container { width:calc(100% - 72px); max-width:none; margin-inline:auto; }
.site-header { height:68px; padding:0 40px; display:flex; align-items:center; gap:28px; background:rgba(255,253,249,.98); position:relative; z-index:20; }
.brand { display:inline-flex; align-items:center; gap:10px; text-decoration:none; min-width:190px; }
.brand-mark { color:var(--lime); font-family:"Cormorant Garamond",Georgia,serif; font-style:italic; font-size:40px; line-height:.8; letter-spacing:-7px; transform:rotate(-7deg); }
.brand-mark span { color:var(--gold); font-size:12px; vertical-align:top; margin-left:3px; }
.brand-copy { display:flex; flex-direction:column; gap:2px; border-left:1px solid #d9d2c5; padding-left:10px; }
.brand-copy strong { font-size:13px; letter-spacing:3px; white-space:nowrap; }
.brand-copy small { font-family:"Cormorant Garamond",Georgia,serif; font-size:10px; letter-spacing:1.2px; color:#6d6a64; }
.main-nav { display:flex; align-items:center; justify-content:center; gap:31px; flex:1; }
.main-nav a { font-size:15px; text-decoration:none; white-space:nowrap; }
.main-nav a:hover { color:var(--lime); }
.menu-toggle { display:none; }
.button { min-height:44px; padding:0 27px; border:1px solid var(--green); border-radius:7px; display:inline-flex; justify-content:center; align-items:center; gap:14px; color:#fff; background:var(--green); font:600 14px Montserrat,sans-serif; text-decoration:none; cursor:pointer; }
.button span,.text-link span,.service-card a span,.advice-card a span { font-size:17px; line-height:1; font-weight:400; }
.button-small { min-height:44px; padding-inline:24px; }
.header-cta { margin-left:auto; white-space:nowrap; }
.hero { height:440px; position:relative; overflow:hidden; }
.hero>img { width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-wash { position:absolute; inset:0; background:linear-gradient(90deg,rgba(247,244,238,.99) 0%,rgba(247,244,238,.95) 28%,rgba(247,244,238,.42) 48%,rgba(247,244,238,0) 66%); }
.hero-content { position:absolute; inset:0; padding-top:58px; }
.eyebrow { margin:0 0 15px; text-transform:uppercase; color:var(--gold); font-size:11px; font-weight:600; letter-spacing:3px; }
h1,.section h2,.planner-section h2,.project-cta h2 { font-family:"Cormorant Garamond",Georgia,serif; font-weight:600; }
h1 { margin:0; font-size:58px; line-height:1.03; letter-spacing:-.7px; }
.hero-lead { margin:15px 0 24px; color:var(--muted); font-size:18px; line-height:1.45; }
.hero-actions { display:flex; gap:14px; }
.button-outline { color:var(--ink); background:rgba(255,253,249,.7); border-color:var(--gold); }
.hero-caption { position:absolute; right:22px; bottom:12px; margin:0; color:#fff; font-size:12px; text-shadow:0 1px 3px rgba(0,0,0,.65); }
.trust-strip { height:71px; display:grid; grid-template-columns:repeat(3,1fr); align-items:center; padding:0 52px; background:rgba(255,253,249,.96); box-shadow:0 -6px 20px rgba(23,41,32,.06); }
.trust-item { min-width:0; display:flex; align-items:center; gap:17px; padding:0 32px; border-right:1px solid #d6c9b4; }
.trust-item:first-child { padding-left:0; }
.trust-item:last-child { border-right:0; padding-right:0; }
.round-icon,.line-icon { flex:0 0 auto; width:42px; height:42px; border-radius:50%; display:grid; place-items:center; color:var(--gold); background:#f7f0e2; font-family:Georgia,serif; font-size:25px; }
.trust-item h2 { margin:0 0 4px; font:600 18px "Cormorant Garamond",Georgia,serif; }
.trust-item p { margin:0; color:var(--muted); font-size:12px; line-height:1.4; }
.trust-numbers { position:relative; overflow:hidden; padding:42px 0 46px; color:#fff; background:linear-gradient(120deg,#174f3d 0%,#1f684f 58%,#2d7a5c 100%); }
.trust-numbers::before { content:""; position:absolute; inset:-45% auto auto 58%; width:560px; height:560px; border:1px solid rgba(255,255,255,.11); border-radius:50%; box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.02); }
.trust-numbers .container { position:relative; }
.trust-overline { margin:0 0 8px; color:#d7bd7d; text-align:center; text-transform:uppercase; font-size:10px; font-weight:600; letter-spacing:2.6px; }
.trust-numbers h2 { margin:0 0 34px; color:#fff; text-align:center; font:600 clamp(32px,3.2vw,48px)/1.05 "Cormorant Garamond",Georgia,serif; }
.trust-number-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.trust-number-grid article { min-width:0; padding:3px 26px; text-align:center; border-right:1px solid rgba(255,255,255,.26); }
.trust-number-grid article:last-child { border-right:0; }
.trust-number-grid strong { display:block; margin-bottom:6px; color:#fff; font:500 clamp(36px,4vw,58px)/1 Montserrat,Arial,sans-serif; letter-spacing:-2px; }
.trust-number-grid span { display:block; color:rgba(255,255,255,.9); font-size:14px; line-height:1.5; }
.section { background:var(--paper); }
.services-section { padding:27px 0 24px; }
.section-heading-row { display:flex; justify-content:space-between; align-items:center; margin-bottom:17px; }
.section-heading-row h2 { margin:0; font-size:42px; line-height:1; }
.section-kicker { margin:0; color:#997131; text-transform:uppercase; font-size:10px; letter-spacing:1.8px; font-weight:600; display:flex; align-items:center; gap:12px; }
.section-kicker span { width:46px; height:1px; background:var(--gold); }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.service-card img { width:100%; height:clamp(189px,18vw,300px); object-fit:cover; border-radius:5px; }
.service-card h3 { margin:10px 0 4px; font:500 27px/1 "Cormorant Garamond",Georgia,serif; }
.service-card p { margin:0 0 9px; color:var(--muted); font-size:14px; }
.service-card a,.text-link,.advice-card a { color:var(--green); font-size:14px; text-underline-offset:4px; }
.brand-partners { padding:34px 0 38px; background:#fff; }
.brand-partners-heading { margin-bottom:23px; }
.brand-partners-heading .eyebrow { margin-bottom:8px; }
.brand-partners-heading h2 { margin:0 0 7px; font:600 clamp(34px,3.2vw,45px)/1 "Cormorant Garamond",Georgia,serif; }
.brand-partners-heading>p:last-child { margin:0; color:var(--muted); font-size:14px; }
.brand-logo-grid { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:11px; }
.brand-logo-card { min-width:0; height:100px; display:grid; place-items:center; padding:15px; border:1px solid #e7e3dc; border-radius:9px; background:#fff; box-shadow:0 4px 14px rgba(18,65,50,.035); transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease; }
.brand-logo-card img { width:100%; height:100%; max-width:145px; max-height:64px; object-fit:contain; transition:transform .28s ease; }
.brand-logo-card:hover { transform:translateY(-5px); border-color:#c8d7ce; box-shadow:0 12px 24px rgba(18,65,50,.11); }
.brand-logo-card:hover img { transform:scale(1.045); }
.brand-partners.logo-motion-ready .brand-logo-card { opacity:0; transform:translateY(22px) scale(.97); }
.brand-partners.logo-motion-ready.logos-visible .brand-logo-card { opacity:1; transform:translateY(0) scale(1); transition:opacity .52s ease,transform .52s cubic-bezier(.22,.8,.24,1),border-color .28s ease,box-shadow .28s ease; }
.brand-partners.logo-motion-ready.logos-visible .brand-logo-card:nth-child(2) { transition-delay:.07s; }
.brand-partners.logo-motion-ready.logos-visible .brand-logo-card:nth-child(3) { transition-delay:.14s; }
.brand-partners.logo-motion-ready.logos-visible .brand-logo-card:nth-child(4) { transition-delay:.21s; }
.brand-partners.logo-motion-ready.logos-visible .brand-logo-card:nth-child(5) { transition-delay:.28s; }
.brand-partners.logo-motion-ready.logos-visible .brand-logo-card:nth-child(6) { transition-delay:.35s; }
.brand-partners.logo-motion-ready.logos-visible .brand-logo-card:nth-child(7) { transition-delay:.42s; }
.brand-partners.logo-motion-ready.logos-visible .brand-logo-card:nth-child(8) { transition-delay:.49s; }
.youtube-section { padding:32px 0 36px; background:#f0f1eb; }
.youtube-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-bottom:28px; }
.youtube-heading .eyebrow { margin-bottom:10px; }
.youtube-heading h2 { margin:0 0 8px; font:600 clamp(34px,3.4vw,46px)/1 "Cormorant Garamond",Georgia,serif; }
.youtube-heading p:last-child { margin:0; color:var(--muted); font-size:15px; line-height:1.55; }
.youtube-channel-button { flex:0 0 auto; }
.youtube-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.short-card { overflow:hidden; border:1px solid #ddd8cf; border-radius:7px; background:#fff; box-shadow:0 5px 18px rgba(18,65,50,.05); }
.short-media { position:relative; display:block; width:100%; aspect-ratio:16/9; overflow:hidden; border:0; padding:0; background:#12241e; cursor:pointer; text-align:left; }
.short-media img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.short-media::after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(4,20,15,.34)); pointer-events:none; }
.short-media:hover img { transform:scale(1.025); }
.play-button { position:absolute; z-index:1; left:50%; top:50%; width:52px; height:52px; display:grid; place-items:center; translate:-50% -50%; padding-left:3px; border-radius:50%; background:rgba(255,255,255,.94); color:var(--green); font-size:19px; box-shadow:0 4px 16px rgba(0,0,0,.2); }
.short-card-copy { padding:13px 15px 15px; }
.short-card-copy span { color:var(--gold); text-transform:uppercase; font-size:9px; font-weight:600; letter-spacing:1.8px; }
.short-card-copy h3 { margin:5px 0 0; font:600 21px/1.08 "Cormorant Garamond",Georgia,serif; }
.video-modal { position:fixed; inset:0; z-index:100; display:none; place-items:center; padding:20px; background:rgba(4,20,15,.82); }
.video-modal.open { display:grid; }
.video-modal-card { width:min(470px,94vw); padding:12px; border:1px solid rgba(255,255,255,.2); border-radius:14px; background:#102b22; box-shadow:0 24px 70px rgba(0,0,0,.4); }
.video-modal-head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:3px 3px 12px 8px; }
.video-modal-head h2 { margin:0; color:#fff; font-size:23px; line-height:1.1; }
.video-modal-close { width:38px; height:38px; flex:0 0 auto; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:transparent; color:#fff; cursor:pointer; font-size:27px; line-height:1; }
.video-modal iframe { display:block; width:100%; aspect-ratio:9/16; max-height:76vh; border:0; border-radius:8px; background:#000; }
body.video-open { overflow:hidden; }
.planner-section { padding:26px 0 24px; background:linear-gradient(90deg,#eff0e6,#f6f6ef 48%,#eef1e8); }
.planner-layout { display:grid; grid-template-columns:37% 63%; gap:26px; align-items:center; }
.planner-intro h2 { margin:0 0 14px; font-size:48px; line-height:.95; }
.planner-intro p { margin:0; color:var(--muted); font-size:16px; line-height:1.45; max-width:480px; }
.gold-rule { display:block; width:75px; height:1px; margin-top:19px; background:var(--gold); }
.planner-card { padding:17px 18px 18px; background:#fff; border-radius:10px; box-shadow:0 4px 16px rgba(29,50,42,.05); }
.planner-card-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:22px; }
.planner-card h3 { margin:0; font:500 22px "Cormorant Garamond",Georgia,serif; }
.curtain-symbol { color:var(--gold); font-size:24px; margin-right:7px; }
.steps { margin:0; padding:0; list-style:none; display:flex; gap:14px; align-items:center; }
.steps li { display:flex; align-items:center; gap:5px; color:#777; font-size:11px; }
.steps li span { width:24px; height:24px; display:grid; place-items:center; border-radius:50%; border:1px solid #ddd; font-size:11px; }
.steps .active { color:var(--ink); font-weight:600; }
.steps .active span { color:#fff; background:var(--green); border-color:var(--green); }
.planner-fields { display:grid; grid-template-columns:1.25fr .84fr .84fr; gap:13px; margin-bottom:13px; }
.planner-fields label { display:grid; gap:7px; font-size:13px; font-weight:500; }
.planner-fields input,.planner-fields select { width:100%; height:42px; border:1px solid #d8d8d8; border-radius:4px; background:#fff; color:#555; font:14px Montserrat,sans-serif; padding:0 12px; }
.planner-button { width:100%; height:44px; min-height:44px; }
.commitment-section { padding:23px 0 24px; }
.section-heading-row.compact { margin-bottom:12px; }
.section-heading-row.compact h2 { font-size:38px; }
.commitment-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.commitment-grid article { min-height:91px; display:flex; gap:14px; align-items:flex-start; padding:14px 13px; border:1px solid #e6e1d9; border-radius:6px; background:#fff; }
.line-icon { width:42px; height:42px; font-size:24px; }
.commitment-grid h3 { margin:2px 0 7px; font:500 19px "Cormorant Garamond",Georgia,serif; }
.commitment-grid p { margin:0; color:var(--muted); font-size:12px; line-height:1.5; }
.text-link { display:inline-block; margin-top:11px; }
.advice-section { padding:0 0 17px; }
.advice-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.advice-card { min-height:127px; display:grid; grid-template-columns:49% 51%; overflow:hidden; border:1px solid #e3ded6; border-radius:5px; background:#fff; }
.advice-card img { width:100%; height:100%; object-fit:cover; }
.advice-card>div { padding:13px 16px 10px; }
.advice-card h3 { margin:0 0 8px; font:500 22px/1 "Cormorant Garamond",Georgia,serif; }
.advice-card p { margin:0 0 9px; color:var(--muted); font-size:13px; line-height:1.5; }
.project-cta { height:106px; position:relative; overflow:hidden; color:#fff; background:linear-gradient(110deg,#164e3c,#0d4535); }
.mountain-art { position:absolute; inset:0; opacity:.14; background:radial-gradient(ellipse at 55% 105%,transparent 0 28%,#96b1a2 28.5% 29%,transparent 29.5% 38%,#96b1a2 38.5% 39%,transparent 39.5%),linear-gradient(140deg,transparent 45%,#8ba99a 46% 47%,transparent 48%); }
.project-cta-inner { height:100%; display:flex; align-items:center; justify-content:space-between; position:relative; }
.project-cta h2 { margin:0; font-size:34px; line-height:1.08; }
.project-cta-inner>div { text-align:center; }
.button-light { min-width:157px; color:var(--ink); background:var(--ivory); border-color:var(--ivory); }
.project-cta p { margin:9px 0 0; font-size:12px; }
.site-footer { height:51px; padding:0 41px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; background:var(--paper); }
.footer-brand { transform:scale(.72); transform-origin:left center; }
.site-footer nav { display:flex; gap:13px; align-items:center; font-size:12px; color:#444; }
.site-footer nav a { text-decoration:none; }
.site-footer>p { margin:0; text-align:right; font-size:10px; color:#666; }
@media (max-width:760px) {
  .container { width:calc(100% - 32px); max-width:none; }
  .site-header { height:64px; padding:0 16px; }
  .brand { min-width:0; }
  .brand-mark { font-size:34px; }
  .brand-copy strong { font-size:9px; }
  .main-nav { display:none; position:absolute; top:64px; left:0; right:0; padding:24px; flex-direction:column; gap:22px; background:var(--paper); box-shadow:0 10px 20px rgba(0,0,0,.1); }
  .main-nav.open { display:flex; }
  .menu-toggle { display:block; margin-left:auto; border:0; background:transparent; font:600 10px Montserrat,sans-serif; }
  .header-cta { display:none; }
  .hero { height:540px; }
  .hero>img { object-position:64% center; }
  .hero-wash { background:linear-gradient(180deg,rgba(247,244,238,.97) 0%,rgba(247,244,238,.86) 45%,rgba(247,244,238,.05) 73%); }
  .hero-content { padding-top:55px; }
  h1 { font-size:42px; }
  .hero-lead br { display:none; }
  .hero-caption { display:none; }
  .trust-strip { height:auto; grid-template-columns:1fr; padding:18px 16px; }
  .trust-item { padding:12px 0; border-right:0; border-bottom:1px solid #ddd3c3; }
  .trust-item:last-child { border-bottom:0; }
  .trust-numbers { padding:36px 0; }
  .trust-numbers h2 { margin-bottom:26px; }
  .trust-number-grid { grid-template-columns:1fr 1fr; gap:0; }
  .trust-number-grid article { padding:20px 12px; border-right:1px solid rgba(255,255,255,.2); border-bottom:1px solid rgba(255,255,255,.2); }
  .trust-number-grid article:nth-child(2n) { border-right:0; }
  .trust-number-grid article:nth-child(n+3) { border-bottom:0; }
  .section-heading-row { align-items:flex-start; gap:20px; }
  .section-heading-row h2 { font-size:34px; }
  .section-kicker { margin-top:8px; }
  .section-kicker span { display:none; }
  .service-grid { grid-template-columns:1fr; gap:24px; }
  .service-card img { height:230px; }
  .brand-partners { padding:30px 0 33px; }
  .brand-logo-grid { grid-template-columns:repeat(4,1fr); }
  .youtube-heading { align-items:flex-start; flex-direction:column; }
  .youtube-grid { grid-template-columns:repeat(3,78vw); overflow-x:auto; padding:0 2px 14px; scroll-snap-type:x mandatory; }
  .short-card { scroll-snap-align:start; }
  .planner-layout { grid-template-columns:1fr; }
  .planner-card-head { align-items:flex-start; gap:20px; }
  .steps { gap:7px; }
  .steps li { font-size:0; }
  .planner-fields { grid-template-columns:1fr; }
  .commitment-grid { grid-template-columns:1fr 1fr; }
  .advice-grid { grid-template-columns:1fr; }
  .project-cta { height:auto; padding:28px 0; }
  .project-cta-inner { flex-direction:column; align-items:flex-start; gap:22px; }
  .project-cta-inner>div { text-align:left; }
  .site-footer { height:auto; padding:22px 16px; grid-template-columns:1fr; }
  .footer-brand { transform:none; }
  .site-footer>p { text-align:left; }
}
@media (max-width:440px) {
  .brand-copy small { display:none; }
  .hero-actions { align-items:stretch; flex-direction:column; width:190px; }
  .commitment-grid { grid-template-columns:1fr; }
  .advice-card { grid-template-columns:45% 55%; }
  .brand-logo-grid { grid-template-columns:repeat(2,1fr); }
  .brand-logo-card { height:88px; }
  .trust-number-grid { grid-template-columns:1fr; }
  .trust-number-grid article,.trust-number-grid article:nth-child(2n),.trust-number-grid article:nth-child(n+3) { border-right:0; border-bottom:1px solid rgba(255,255,255,.2); }
  .trust-number-grid article:last-child { border-bottom:0; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .brand-partners.logo-motion-ready .brand-logo-card { opacity:1; transform:none; transition:none; }
  .brand-logo-card img { transition:none; }
}
