:root{
  --ink:#14171A;
  --pine:#33574A;
  --pine-2:#457263;
  --gold:#A8894F;
  --gold-lt:#C9AE79;
  --paper:#FFFFFF;
  --mist:#F3F6F3;
  --line:#DCE1DC;
  --grey:#6E7873;
  --mincho:"Zen Old Mincho",serif;
  --gothic:"Zen Kaku Gothic New",sans-serif;
  --pad:clamp(20px,5vw,64px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--gothic);color:var(--ink);background:var(--paper);line-height:1.9;font-size:15px;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ---------- layout utilities ---------- */
.wrap{margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.sec{padding:clamp(48px,7vw,84px) 0}
.sec--mist{background:var(--mist)}
.sec--pine{background:var(--pine);color:#fff}

.eyebrow{font-size:11px;font-weight:500;letter-spacing:.22em;color:var(--gold);margin-bottom:14px;display:flex;align-items:center;gap:10px}
.eyebrow::after{content:"";height:1px;flex:1;background:var(--line);max-width:70px}
.sec--pine .eyebrow{color:var(--gold-lt)}
.sec--pine .eyebrow::after{background:rgba(255,255,255,.25)}
.h2{font-family:var(--mincho);font-weight:600;font-size:clamp(21px,3vw,31px);line-height:1.55;letter-spacing:.02em}
.lead{margin-top:14px;color:var(--grey);max-width:64ch;font-size:14px}
.sec--pine .lead{color:rgba(255,255,255,.74)}

/* ---------- header / nav ---------- */
header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:12px var(--pad);background:rgba(255,255,255,.96);box-shadow:0 1px 0 var(--line)}
.logo{font-family:var(--mincho);font-weight:900;font-size:17px;letter-spacing:.2em}
.logo small{display:block;font-family:var(--gothic);font-weight:400;font-size:8.5px;letter-spacing:.18em;color:var(--grey);margin-top:3px}
.nav{display:flex;align-items:center;gap:24px}
.nav a{font-size:12.5px;letter-spacing:.06em}
.nav a:hover{color:var(--gold)}
.nav-cta{background:var(--gold);color:#fff !important;padding:11px 20px;font-size:12.5px;font-weight:500}
.nav-cta:hover{background:#96793F}
@media(max-width:860px){.nav a:not(.nav-cta){display:none}}

/* ---------- mobile menu ---------- */
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:0;margin-left:14px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.mnav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid var(--line);box-shadow:0 12px 30px rgba(20,40,32,.1);flex-direction:column}
.mnav.open{display:flex}
.mnav a{padding:16px 20px;border-bottom:1px solid var(--line);font-size:14.5px;letter-spacing:.04em;color:var(--ink)}
.mnav a:active{background:var(--mist)}
.mnav .mnav-cta{background:var(--gold);color:#fff;border-bottom:none;text-align:center;font-weight:500}
@media(max-width:860px){ .burger{display:flex} }

/* ---------- buttons ---------- */
.btn{display:inline-block;background:var(--gold);color:#fff;padding:15px 30px;font-size:14px;font-weight:500;letter-spacing:.06em;transition:background .3s}
.btn:hover{background:#96793F}

/* ---------- note ---------- */
.note{margin-top:22px;border-left:2px solid var(--gold);padding:4px 0 4px 18px;font-size:12.5px;color:var(--grey);line-height:2.1}
.note b{color:var(--ink);font-weight:500}

/* ---------- page head banner ---------- */
.phead{background:var(--pine);color:#fff;padding:clamp(46px,7vw,78px) 0}
.phead__k{font-size:11px;letter-spacing:.28em;color:var(--gold-lt)}
.phead__h{font-family:var(--mincho);font-size:clamp(26px,4.6vw,42px);margin-top:14px;letter-spacing:.06em;line-height:1.5}
.phead__d{margin-top:18px;font-size:14px;color:rgba(255,255,255,.78);max-width:62ch}

/* ---------- final CTA ---------- */
.final{background:var(--ink);color:#fff;text-align:center;padding:clamp(52px,7vw,86px) 0}
.final__h{font-family:var(--mincho);font-size:clamp(23px,4vw,34px);line-height:1.5;letter-spacing:.04em}
.final__d{margin-top:18px;font-size:13.5px;color:rgba(255,255,255,.68);line-height:2}
.final .btn{margin-top:26px}

/* ---------- footer ---------- */
footer{background:var(--pine);color:rgba(255,255,255,.7);padding:44px 0 28px;font-size:12.5px}
.f__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:26px;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.15)}
.f__logo{font-family:var(--mincho);font-weight:900;font-size:18px;letter-spacing:.2em;color:#fff}
.f__nav{display:flex;flex-wrap:wrap;gap:8px 22px}
.f__nav a:hover{color:var(--gold-lt)}
.f__bot{padding-top:20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:11.5px;color:rgba(255,255,255,.45)}
