:root{
  --forest:#30412d;
  --forest-soft:#52624f;
  --ink:#263225;
  --muted:#687266;
  --paper:#f8f8f4;
  --paper-2:#eef1ea;
  --line:rgba(38,50,37,.16);
  --glass:rgba(255,255,252,.88);
  --serif:"Didot","Bodoni 72","Bodoni MT","Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden;overflow-x:clip}
body{margin:0;min-height:100svh;max-width:100%;overflow-x:hidden;overflow-x:clip;color:var(--ink);background:radial-gradient(circle at 50% 9%,#fff 0%,var(--paper) 46%,var(--paper-2) 100%);font-family:var(--sans);-webkit-font-smoothing:antialiased;position:relative}
a{color:inherit}
button,input,textarea{font:inherit}
.forest-bg{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:-1}
.forest-mist,.forest-mist::before,.forest-mist::after{content:"";position:absolute;left:-10%;right:-10%;bottom:10vh;height:24vh;background:radial-gradient(ellipse at 18% 55%,rgba(255,255,255,.88),transparent 52%),radial-gradient(ellipse at 60% 45%,rgba(255,255,255,.73),transparent 54%),radial-gradient(ellipse at 88% 55%,rgba(255,255,255,.70),transparent 48%);filter:blur(24px);animation:mist-drift 20s ease-in-out infinite alternate}
.forest-mist::before{inset:-5vh 0 0 0;opacity:.65;animation-duration:28s}.forest-mist::after{inset:6vh 0 -4vh 0;opacity:.48;animation-duration:34s}
.forest-trees{position:absolute;left:0;right:0;bottom:-2px;height:24vh;opacity:.10;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1600' height='300' viewBox='0 0 1600 300'><g fill='%23263225'><path d='M86 290 L120 160 L95 160 L138 86 L120 86 L154 18 L188 86 L171 86 L214 160 L188 160 L222 290 Z'/><path d='M255 290 L282 180 L262 180 L298 120 L284 120 L314 62 L344 120 L330 120 L366 180 L346 180 L373 290 Z'/><path d='M465 290 L500 152 L476 152 L521 82 L502 82 L540 22 L578 82 L560 82 L605 152 L581 152 L616 290 Z'/><path d='M698 290 L726 182 L707 182 L744 123 L730 123 L760 69 L790 123 L776 123 L813 182 L794 182 L822 290 Z'/><path d='M930 290 L966 154 L941 154 L987 82 L968 82 L1006 20 L1044 82 L1026 82 L1072 154 L1047 154 L1083 290 Z'/><path d='M1167 290 L1194 188 L1177 188 L1210 135 L1197 135 L1225 89 L1253 135 L1240 135 L1273 188 L1256 188 L1283 290 Z'/><path d='M1392 290 L1428 158 L1404 158 L1448 88 L1431 88 L1467 26 L1504 88 L1486 88 L1531 158 L1506 158 L1542 290 Z'/></g></svg>");background-repeat:repeat-x;background-position:center bottom;background-size:auto 100%}
.site-header{position:sticky;top:0;z-index:70;padding:clamp(24px,5vw,58px) 22px 0;background:rgba(248,248,244,0);border-bottom:1px solid transparent;transition:padding .34s ease,background .34s ease,border-color .34s ease,box-shadow .34s ease,backdrop-filter .34s ease}
.header-inner{width:min(1120px,100%);margin:0 auto;position:relative;transition:max-width .34s ease}
.brand{display:block;width:min(620px,100%);margin-inline:auto;text-decoration:none;transition:width .38s cubic-bezier(.2,.75,.2,1),filter .38s ease,opacity .38s ease,transform .38s ease}.brand img{display:block;width:100%;height:auto}.site-header.is-scrolled{padding:9px 22px 7px;background:rgba(248,248,244,.86);border-bottom-color:rgba(38,50,37,.09);box-shadow:0 10px 34px rgba(35,48,35,.055);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.site-header.is-scrolled .brand{width:min(340px,72vw);filter:blur(1.7px);opacity:.72;transform:translateY(-1px)}.site-header.is-scrolled .menu-wrap{margin-top:1px}.site-header.is-scrolled .menu-trigger img{width:36px;height:30px}.site-header.is-scrolled .menu-trigger span{font-size:.72rem;opacity:.62}
.menu-wrap{position:relative;width:max-content;margin-top:10px;transition:margin-top .34s ease}
.menu-trigger{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--forest);padding:4px 2px;cursor:pointer}
.menu-trigger img{width:50px;height:38px;object-fit:contain;transition:transform .28s ease}.menu-trigger span{font-family:var(--serif);font-size:.84rem;letter-spacing:.12em;text-transform:uppercase;opacity:.72}
.menu-trigger[aria-expanded="true"] img{transform:rotate(-8deg) scale(1.05)}
.site-menu{position:absolute;top:calc(100% + 10px);left:0;width:min(460px,calc(100vw - 44px));padding:14px 0;background:rgba(250,250,246,.96);border:1px solid rgba(38,50,37,.12);box-shadow:0 22px 55px rgba(35,48,35,.12);backdrop-filter:blur(16px);z-index:20}
.site-menu[hidden]{display:none}.site-menu a{display:block;padding:12px 20px;text-decoration:none;font-family:var(--serif);font-size:1.1rem;letter-spacing:.035em;color:var(--ink);border-left:2px solid transparent;transition:.18s ease}.site-menu a:hover,.site-menu a:focus-visible,.site-menu a.is-active{background:rgba(48,65,45,.05);border-left-color:var(--forest);padding-left:24px}
.site-main{width:min(1120px,calc(100% - 44px));margin:0 auto;min-height:62vh;padding:clamp(28px,5vw,62px) 0 calc(118px + env(safe-area-inset-bottom))}
.home-intro{max-width:790px;margin-top:clamp(8px,2vw,24px)}
.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.22em;color:var(--muted);margin:0 0 16px}
.quote{font-family:var(--serif);font-size:clamp(2.05rem,5.5vw,4.6rem);font-weight:400;line-height:1.03;letter-spacing:-.025em;margin:0;color:var(--forest)}
.lead{font-family:var(--serif);font-size:clamp(1.25rem,2.3vw,1.75rem);line-height:1.45;color:var(--forest);margin:28px 0 12px;max-width:760px}
.body-copy{font-size:clamp(1rem,1.3vw,1.08rem);line-height:1.85;color:#465144;max-width:720px}
.hero-illustration{width:min(880px,96%);margin:clamp(36px,6vw,74px) auto 0;display:block;opacity:.94;filter:drop-shadow(0 18px 38px rgba(35,48,35,.035))}
.page-shell{max-width:850px;padding-top:clamp(8px,2vw,22px)}
.page-title{font-family:var(--serif);font-weight:400;font-size:clamp(2.8rem,7vw,5.8rem);line-height:.96;letter-spacing:-.03em;color:var(--forest);margin:0 0 26px}.page-lead{font-family:var(--serif);font-size:clamp(1.35rem,2.5vw,1.95rem);line-height:1.42;color:var(--forest-soft);margin:0 0 30px}.page-body{font-size:1.06rem;line-height:1.9;color:#465144;max-width:720px}
.page-divider{width:72px;height:1px;background:var(--line);margin:34px 0}
.site-footer{position:fixed;left:0;right:0;bottom:0;z-index:60;border-top:1px solid var(--line);background:rgba(248,248,244,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:12px 22px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px rgba(35,48,35,.045)}.footer-inner{width:min(1120px,100%);margin:0 auto;display:flex;gap:18px;align-items:center;justify-content:space-between;color:var(--muted);font-size:.84rem}.footer-links{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.footer-links a{text-decoration:none}.footer-links a:hover{text-decoration:underline}.login-link{opacity:.62}.sound-toggle{appearance:none;border:0;background:transparent;padding:0;margin:0;color:inherit;font:inherit;cursor:pointer;opacity:.72;text-decoration:none}.sound-toggle:hover,.sound-toggle:focus-visible{text-decoration:underline}.sound-toggle.is-muted{opacity:.52}.sound-toggle.needs-start{opacity:1}
@keyframes mist-drift{from{transform:translateX(-2.5%) translateY(0)}to{transform:translateX(2.5%) translateY(-1.5%)}}
@media(max-width:700px){
  .site-header{padding:24px 17px 0}
  .site-header.is-scrolled{padding:7px 17px 5px}
  .site-header.is-scrolled .brand{width:min(300px,68vw);filter:blur(1.45px);opacity:.7}
  .site-header.is-scrolled .menu-trigger img{width:32px;height:28px}
  .header-inner{width:100%}
  .brand{width:min(520px,100%);margin-inline:auto}
  .menu-wrap{margin-top:10px}
  .menu-trigger img{width:44px}
  .site-main{width:calc(100% - 34px);max-width:1120px;padding-top:34px;padding-bottom:calc(92px + env(safe-area-inset-bottom))}
  .quote{font-size:clamp(2rem,10.5vw,3.45rem)}
  .hero-illustration{width:100%;max-width:880px;margin-left:auto;margin-right:auto}
  .site-footer{padding:9px 17px calc(9px + env(safe-area-inset-bottom))}
  .footer-inner{align-items:center;flex-direction:row;justify-content:center}
  .footer-inner>span{display:none}
  .footer-links{width:100%;justify-content:space-between;gap:10px;flex-wrap:nowrap;font-size:.8rem}
  .site-menu{width:calc(100vw - 34px);max-width:none;min-width:0}
  .site-menu a{font-size:1.08rem;padding:13px 22px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.forest-mist,.forest-mist::before,.forest-mist::after{animation:none}.menu-trigger img,.brand,.site-header,.menu-wrap{transition:none}}
