
:root{
  --ink:#4f6157;--deep:#35463e;--paper:#fbf8f3;--sage:#b7c8bd;--sage2:#e5ece7;
  --sand:#eadfd2;--gold:#b89d75;--line:rgba(79,97,87,.14);--muted:#76847c;--rail:120px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}img{display:block;width:100%}button,input,textarea,select{font:inherit}
.chapter-rail{
  position:fixed;left:0;top:0;bottom:0;width:var(--rail);background:var(--deep);color:#fff;z-index:65;
  display:flex;flex-direction:column;align-items:center;padding:1rem 0
}
.rail-brand{writing-mode:vertical-rl;transform:rotate(180deg);font:700 1.15rem Georgia,serif;margin-top:.6rem}
.progress-track{position:relative;width:2px;flex:1;background:#ffffff28;margin:1.2rem 0}
.progress-fill{position:absolute;left:0;top:0;width:100%;height:0;background:#d9c1a0}
.chapter-nav{display:flex;flex-direction:column;gap:.45rem;align-items:center}
.chapter-nav a{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid #ffffff38;font-size:.63rem;font-weight:800}
.chapter-nav a.active,.chapter-nav a:hover{background:#d9c1a0;color:var(--deep);border-color:#d9c1a0}
.rail-book{writing-mode:vertical-rl;transform:rotate(180deg);margin-top:1rem;background:#d9c1a0;color:var(--deep);padding:.85rem .65rem;font-size:.65rem;font-weight:900}
.main{margin-left:var(--rail)}
.mobile-top{display:none}
.hero{min-height:100vh;display:grid;grid-template-columns:.9fr 1.1fr;background:linear-gradient(135deg,#e9f0eb,#f1e5d8)}
.hero-copy{padding:10vw 5vw 7vw;display:flex;flex-direction:column;justify-content:center}
.kicker{font-size:.65rem;letter-spacing:.2em;font-weight:800;color:#8a9c91}
h1,h2,h3{font-family:Georgia,serif;letter-spacing:-.03em}
h1{font-size:clamp(4rem,7vw,7.2rem);line-height:.92;margin:.7rem 0 1.4rem}
.hero-copy p,.section p{color:var(--muted);max-width:620px}
.actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.7rem}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.1rem;border:1px solid var(--deep);border-radius:999px;font-weight:800;cursor:pointer}
.btn.primary{background:var(--deep);color:#fff}
.hero-art{padding:5vw;display:flex;align-items:center}.hero-art img{border-radius:50% 50% 28px 28px;box-shadow:0 35px 85px rgba(79,97,87,.12)}
.flow-strip{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);background:#fff}
.flow-strip article{padding:1.3rem;border-right:1px solid var(--line)}.flow-strip article:last-child{border-right:0}
.flow-strip b{display:block;font:700 1.5rem Georgia}.flow-strip span{font-size:.72rem;color:var(--muted)}
.section{padding:7vw 6vw}.soft{background:var(--sage2)}
.section-head{display:grid;grid-template-columns:.75fr 1.25fr;gap:4vw;align-items:end;margin-bottom:2.7rem}
.section-head h2{font-size:clamp(2.8rem,5vw,5.1rem);line-height:.95;margin:.4rem 0}
.rituals{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.ritual{background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden}.ritual img{aspect-ratio:1.15/1;object-fit:cover}.ritual div{padding:1.2rem}.ritual h3{margin:.2rem 0}.ritual p{color:var(--muted)}.ritual strong{color:#9a7d5d}
.selector{display:grid;grid-template-columns:.8fr 1.2fr;background:var(--deep);color:#fff}
.selector-copy{padding:7vw 6vw}.selector-copy p{color:#cbd4cf}.selector-ui{margin:5vw;background:#fff;color:var(--ink);padding:2rem;border-radius:30px}
.option{margin-bottom:1.25rem}.option>span{display:block;font-size:.7rem;letter-spacing:.12em;font-weight:800;margin-bottom:.55rem}
.choice-row{display:flex;gap:.45rem;flex-wrap:wrap}.choice-row button{border:1px solid var(--line);background:#fff;padding:.7rem .85rem;border-radius:999px;cursor:pointer}.choice-row button.active{background:var(--sage);border-color:var(--sage)}
.selector-result{border-top:1px solid var(--line);padding-top:1.1rem}.selector-result strong{display:block;font:700 2rem Georgia;color:#8c7a61}.selector-result p{color:var(--muted)}
.route{display:grid;grid-template-columns:.9fr 1.1fr;gap:5vw}.route-steps{border-left:2px solid var(--sage);padding-left:1.5rem}.route-step{position:relative;padding:0 0 1.5rem}.route-step:before{content:"";position:absolute;left:-1.95rem;top:.25rem;width:14px;height:14px;border-radius:50%;background:var(--deep)}.route-step h3{margin:0 0 .35rem}.route-step p{margin:0;color:var(--muted)}
.pagehero{padding:9vw 6vw 5vw;background:linear-gradient(135deg,#e8efe9,#f2e6da)}.pagehero h1{font-size:clamp(3.5rem,7vw,7rem)}
.catalog{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.card{background:#fff;border:1px solid var(--line);padding:1.3rem;border-radius:24px}.card h3{margin:.2rem 0}.card p{color:var(--muted)}.card.hidden{display:none}
.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}.filters button{border:1px solid var(--line);background:#fff;padding:.62rem .8rem;border-radius:999px;cursor:pointer}.filters button.active{background:var(--deep);color:#fff}
.timeline{display:grid;grid-template-columns:140px 1fr;gap:1rem 2rem}.timeline .time{border-top:1px solid var(--line);padding-top:1rem;font-weight:800;color:#8d7a61}.timeline .event{border-top:1px solid var(--line);padding:1rem 0}.timeline .event h3{margin:0 0 .35rem}.timeline .event p{color:var(--muted)}
.formlayout{display:grid;grid-template-columns:.8fr 1.2fr;gap:5vw;padding:6vw}.form{display:grid;gap:1rem}.field label{display:block;font-size:.7rem;font-weight:800;letter-spacing:.12em;margin-bottom:.35rem}.field input,.field textarea,.field select{width:100%;padding:.9rem;border:1px solid var(--line);background:#fff;border-radius:14px}.status{min-height:1.3em;color:#8d7a61;font-weight:800}
.footer{padding:3rem 6vw;border-top:1px solid var(--line);display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:2rem}.footer h4{font-size:.78rem;letter-spacing:.12em}.footer a,.footer p{display:block;color:var(--muted);font-size:.8rem;margin:.25rem 0}
@media(max-width:940px){
  .chapter-rail{display:none}.main{margin-left:0}.mobile-top{display:flex;position:sticky;top:0;z-index:70;background:#ffffffed;backdrop-filter:blur(14px);padding:.85rem 1rem;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
  .mobile-top nav{display:flex;gap:.35rem;overflow:auto}.mobile-top nav a{white-space:nowrap;border:1px solid var(--line);padding:.45rem .55rem;border-radius:999px;font-size:.64rem}.mobile-top nav a.active{background:var(--deep);color:#fff}
  .hero,.selector,.route,.formlayout{grid-template-columns:1fr}.hero-copy{padding:14vw 5vw 5vw}.hero-art{padding:0 5vw 9vw}.section-head{grid-template-columns:1fr}.rituals,.catalog{grid-template-columns:1fr 1fr}.selector-copy{padding-bottom:2vw}.selector-ui{margin-top:0}
}
@media(max-width:620px){
  .hero-copy{padding:18vw 20px 5vw}.hero-art{padding:0 20px 12vw}h1{font-size:clamp(3.2rem,17vw,5rem)}
  .section,.pagehero,.formlayout{padding-left:20px;padding-right:20px}.flow-strip,.rituals,.catalog{grid-template-columns:1fr}.flow-strip article{border-right:0;border-bottom:1px solid var(--line)}
  .selector-copy{padding:14vw 20px 4vw}.selector-ui{margin:0 20px 14vw}.timeline{grid-template-columns:1fr}.timeline .time{padding-bottom:0}.footer{grid-template-columns:1fr;padding-left:20px;padding-right:20px}
}
