:root{--navy:#10294a;--blue:#1b7fd6;--green:#3f8f5a;--paper:#f7f3ea;--ink:#16202e;--rule:#d9d2c0}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font-family:'Instrument Sans',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-size:1.05rem;line-height:1.7}
h1,h2,h3,.serif{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.1;color:var(--navy)}
.nav-wfw{background:var(--paper);border-bottom:1px solid var(--rule)}
.nav-wfw .navbar-brand{display:flex;align-items:center;gap:.6rem;font-family:'Fraunces',serif;font-weight:600;color:var(--navy);font-size:1.1rem}
.nav-wfw .navbar-brand img{width:42px;height:42px}
.nav-wfw .nav-link{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--navy)}
.nav-wfw .nav-link:hover{color:var(--blue)}
.btn-main{background:var(--navy);color:#fff;border-radius:2px;padding:.8rem 1.6rem;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;font-weight:600;border:1px solid var(--navy)}
.btn-main:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.btn-line{border:1px solid var(--navy);color:var(--navy);border-radius:2px;padding:.8rem 1.6rem;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;font-weight:600}
.btn-line:hover{background:var(--navy);color:#fff}
.hero{padding:64px 0 72px}
.eyebrow{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--green);font-weight:600}
.hero h1{font-size:clamp(2.3rem,5vw,4rem);margin:.6rem 0 1rem}
.hero h1 em{color:var(--blue);font-style:italic}
.hero-photo{width:100%;max-height:min(66vh,480px);object-fit:cover;object-position:30% 60%;border-radius:4px;aspect-ratio:3/2}
.sprout{display:block;width:100%;height:60px;margin-top:-4px}
section{padding:88px 0}
.alt{background:#fff;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
h2{font-size:clamp(1.9rem,3.5vw,2.8rem);margin-bottom:1rem}
.rule{width:56px;height:2px;background:var(--green);margin:0 0 1.5rem}
.ledger{border-top:2px solid var(--navy)}
.ledger .row-l{display:grid;grid-template-columns:90px 1fr;gap:1.5rem;padding:1.4rem 0;border-bottom:1px solid var(--rule)}
.ledger .no{font-family:'Fraunces',serif;font-size:1.8rem;color:var(--blue)}
.ledger h3{font-size:1.4rem;margin-bottom:.3rem}
.ledger p{margin:0;max-width:60ch}
.plan{border:1px solid var(--rule);background:var(--paper);padding:2rem 1.6rem;height:100%;position:relative;border-radius:2px}
.plan.best{border:2px solid var(--navy);background:#fff}
.plan .tag{position:absolute;top:-12px;left:1.4rem;background:var(--green);color:#fff;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;padding:.2rem .7rem}
.plan .price{font-family:'Fraunces',serif;font-size:3rem;color:var(--navy);line-height:1}
.plan .price sup{font-size:1.3rem}
.plan ul{padding-left:1.1rem;margin:1rem 0 1.4rem}
.plan .valid{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green);font-weight:600}
.quote{border-left:2px solid var(--green);padding-left:1.4rem;height:100%}
.quote p{font-family:'Fraunces',serif;font-size:1.12rem;color:var(--navy)}
.quote cite{font-style:normal;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--green);font-weight:600}
.band{background:var(--navy);color:#fff;padding:72px 0;text-align:center}
.band blockquote{font-family:'Fraunces',serif;font-size:clamp(1.4rem,3vw,2.2rem);font-style:italic;max-width:800px;margin:0 auto .6rem}
.band small{letter-spacing:.2em;text-transform:uppercase;color:#9cc5ef}
.about-img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:50% 60%;border-radius:4px}
.accordion-button{font-family:'Fraunces',serif;font-weight:600;color:var(--navy);background:#fff;font-size:1.1rem}
.accordion-button:not(.collapsed){background:var(--paper);color:var(--navy);box-shadow:none}
.accordion-item{border-color:var(--rule);border-radius:0!important}
.contact-big{font-family:'Fraunces',serif;font-size:clamp(2rem,5vw,3.4rem);color:var(--navy);text-decoration:none}
.contact-big:hover{color:var(--blue)}
footer{background:var(--navy);color:#cfd9e8;padding:40px 0;font-size:.9rem}
footer a{color:#fff}
@media(max-width:767px){section{padding:60px 0}.hero{padding:36px 0 48px}.ledger .row-l{grid-template-columns:52px 1fr;gap:.8rem}}
