*{box-sizing:border-box}html,body{margin:0}body{background:linear-gradient(180deg,var(--bpc-bg),var(--bpc-bg2));color:var(--bpc-ink);font:16px/1.65 var(--bpc-sans);-webkit-font-smoothing:antialiased;min-height:100vh}
h1,h2{font-family:var(--bpc-serif);font-weight:400;color:var(--bpc-sage-deep);line-height:1.15}h1{font-size:clamp(30px,4.5vw,44px);margin:8px 0 14px}h2{font-size:24px;margin:22px 0 6px}
.eb{font:700 12px/1 var(--bpc-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--bpc-rust)}
.card{background:var(--bpc-surface);border:1px solid var(--bpc-line);border-radius:22px;padding:30px;box-shadow:0 2px 10px rgba(47,47,45,.05);margin-top:18px}
.prose p{max-width:none}.prose a{color:var(--bpc-sage-deep)}.prose a.btn{color:#fff}.prose a.btn.ghost{color:var(--bpc-ink)}.small{font-size:13.5px;color:var(--bpc-muted)}
.hero.home{position:relative;overflow:hidden;text-align:center;background:linear-gradient(135deg,#e6efe9,#f7e6d6);border:1px solid var(--bpc-line);border-radius:28px;padding:34px 24px 150px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hero.home{background:linear-gradient(135deg,#1f2a25,#2a241e)}}
.logo-wrap{max-width:430px;margin:0 auto}.bpc-sunrise{width:100%;height:auto}
.hero .tag{font-style:italic;font-weight:700;color:var(--bpc-rust);margin:4px 0}.hero h1{color:var(--bpc-ink);max-width:26ch;margin:10px auto}.hero .big{max-width:52ch;margin:0 auto 18px;font-size:18px}
.hills{position:absolute;left:0;right:0;bottom:0;width:100%;height:130px}
.btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;position:relative;z-index:2}
.btn{display:inline-block;background:var(--bpc-sage-deep);color:#fff;text-decoration:none;font-weight:600;padding:12px 20px;border-radius:12px;margin-top:6px}.btn.ghost{background:var(--bpc-surface);color:var(--bpc-ink);border:1px solid var(--bpc-line)}
.mission{font-family:var(--bpc-serif);font-size:20px;font-style:italic;color:var(--bpc-sage-deep)}.sig{color:var(--bpc-muted)}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:18px}
.tile{display:block;text-decoration:none;color:var(--bpc-ink);background:var(--bpc-surface);border:1px solid var(--bpc-line);border-top:4px solid var(--bpc-sage);border-radius:16px;padding:16px 18px}.tile b{display:block;font-family:var(--bpc-serif);font-weight:400;font-size:21px;color:var(--bpc-sage-deep)}.tile span{font-size:14.5px;color:var(--bpc-muted)}.tile:hover{border-color:var(--bpc-sage)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:26px}.box{background:var(--bpc-surface2);border-radius:14px;padding:4px 18px 10px}
.fees{border-collapse:collapse;width:100%;max-width:520px;margin:10px 0}.fees td,.fees th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--bpc-line)}.fees th{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--bpc-muted)}
.mock-flag{white-space:normal!important;display:inline}
.card.milhero{position:relative;overflow:hidden;padding:0}.milbg{position:relative}.milmap{display:block;width:100%;height:auto}.mm-land{fill:var(--bpc-sage);opacity:.16}.mm-route{fill:none;stroke:var(--bpc-rust);stroke-width:2.2;stroke-dasharray:6 7;opacity:.55}.mm-dot{fill:var(--bpc-coral);stroke:#fff;stroke-width:2.5}.mm-dot.mm-home{fill:var(--bpc-surface);stroke:var(--bpc-coral);stroke-width:3}.mm-lab{font:600 17px var(--bpc-sans);fill:var(--bpc-ink);paint-order:stroke;stroke:var(--bpc-surface);stroke-width:5px}.mm-yr{font-weight:400;fill:var(--bpc-muted)}.milfront{padding:6px 30px 26px}@media (max-width:760px){.mm-lab{display:none}.mm-dot{r:11px}.milfront{padding:4px 18px 20px}}
.tgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;margin:8px 0 16px}.tgrp b{display:block;font-family:var(--bpc-serif);font-weight:400;color:var(--bpc-sage-deep);font-size:18px}.tgrp span{font-size:14.5px;color:var(--bpc-ink)}@media (max-width:760px){.tgrid{grid-template-columns:1fr}}
.fitgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px 0}.fitgrid fieldset{border:1px solid var(--bpc-line);border-radius:14px;padding:10px 16px 12px;margin:0;background:var(--bpc-surface2)}.fitgrid legend{font-family:var(--bpc-serif);font-size:19px;color:var(--bpc-sage-deep);padding:0 6px}.fitgrid label{display:flex;gap:10px;align-items:flex-start;padding:7px 0;border-bottom:1px solid var(--bpc-line);cursor:pointer}.fitgrid label:last-child{border-bottom:0}.fitgrid input{margin-top:5px;width:18px;height:18px;accent-color:var(--bpc-sage-deep);flex:none}.btnrow{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:6px}.btnrow .btn{margin-top:0}[hidden]{display:none!important}
.fitout{background:var(--bpc-surface2);border-left:4px solid var(--bpc-sage);border-radius:10px;padding:12px 16px}@media (max-width:760px){.fitgrid{grid-template-columns:1fr}}
.crisisline{background:#fbe9e5;border-left:4px solid var(--bpc-coral);border-radius:10px;padding:12px 16px}
.ppshots{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin:22px 0 6px}.ppshot{margin:0}.ppshot img{display:block;width:100%;height:auto;border:1px solid var(--bpc-line);border-radius:18px;box-shadow:0 4px 14px rgba(47,47,45,.10);background:#fff}.ppshot figcaption{font-size:13.5px;line-height:1.45;color:var(--bpc-muted);margin-top:8px}.ppnote{text-align:center;margin:8px 0 20px}
@media (max-width:980px){.ppshots{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.ppshot{flex:0 0 62%;max-width:260px;scroll-snap-align:start}}
@media (max-width:760px){.two{grid-template-columns:1fr}.card{padding:22px 18px}}
main{max-width:1120px;margin:0 auto;padding:18px 16px 0}
.play .sun-g{transform:translateY(42px);animation:rise 3s cubic-bezier(.22,.8,.3,1) .5s forwards}.play .ray-cream,.play .ray-olive{opacity:0;animation:fade 1.1s ease-out forwards}.play .ray-cream{animation-delay:calc(2.0s + var(--d) * 1.1s)}.play .ray-olive{animation-delay:calc(2.3s + var(--d) * 1.1s)}@keyframes rise{to{transform:translateY(0)}}@keyframes fade{to{opacity:1}}@media (prefers-reduced-motion:reduce){.play .sun-g{animation:none;transform:none}.play .ray-cream,.play .ray-olive{animation:none;opacity:1}}
