/* Botanical identity: leaf silhouettes come from the generated serrated leaf. */
:root{--forest-deep:#244330;--leaf-light:#a2b68f}
.topline{background:linear-gradient(110deg,#d7e3c7,#eeeadb 50%,#d9e6ce)}
.hero{isolation:isolate}
.hero:before{inset:-25px -5%;border-radius:0;background:radial-gradient(ellipse at var(--spot-x,25%) var(--spot-y,45%),#c9dcb8d9,transparent 58%),radial-gradient(ellipse at 90% 75%,#d6bfa280,transparent 63%);filter:blur(12px);transition:background .4s}
.hero:after{content:'';position:absolute;pointer-events:none;width:490px;height:490px;left:-220px;top:18%;z-index:-1;background:linear-gradient(145deg,#668b4f4d,#bad0a32e 65%,transparent);mask:url('/assets/serrated-leaf.webp') center/contain no-repeat;-webkit-mask:url('/assets/serrated-leaf.webp') center/contain no-repeat;transform:translateY(calc(var(--hero-drift,0px)*-.65)) rotate(-27deg);transition:transform .2s linear}
.hero-art:before{background:radial-gradient(ellipse,#b3c89580,#dfcba570 52%,transparent 74%);filter:blur(30px)}
.hero-art.tilt-card,.hero-art.tilt-card:hover{transform:perspective(1200px) translateY(var(--hero-drift,0px)) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.hero-art>img{box-shadow:0 26px 65px #46613b18}
.hero-slogan{border-image:linear-gradient(#8ca677,#d6bd99) 1}
.values-strip{position:relative;background:linear-gradient(95deg,#e5ecdacc,#f1eadbcc,#e3ebd7cc)}
.route-card{background:linear-gradient(150deg,#fffef9,#f1f3e7);border-color:#d4dfc8}.route-card:hover{box-shadow:0 18px 40px #36583915}.route-cover img{filter:saturate(.84)}
.guide-section{position:relative;isolation:isolate;overflow:clip;background:radial-gradient(ellipse at 80% 0,#6c8956aa,transparent 60%),linear-gradient(125deg,#294a35,#466a48 55%,#25442f);color:#f7f7ed;border:0}
.guide-section:before{content:'';position:absolute;right:-190px;top:-220px;width:780px;height:780px;z-index:-1;pointer-events:none;background:linear-gradient(120deg,#afc99632,#d8e5c915);mask:url('/assets/serrated-leaf.webp') center/contain no-repeat;-webkit-mask:url('/assets/serrated-leaf.webp') center/contain no-repeat;transform:rotate(16deg) translateY(calc(var(--section-drift,0px)*-.35))}
.guide-section .section{position:relative;padding-block:86px}
.guide-section .eyebrow{color:#c7d7b5}.guide-section h2,.guide-section h3{color:#f7f7ed}.guide-section .guide-card p{color:#cbd9c2}.guide-section .guide-meta{color:#c5d6b9}.guide-section .guide-meta .icon{color:#dbe7d1}.guide-section .text-link{border-color:#b9ccaa}.guide-section .guide-art{box-shadow:0 20px 35px #122e2420}
.product-section{position:relative;background:radial-gradient(ellipse at 10% 50%,#d2e2bf,transparent 65%),linear-gradient(120deg,#e7ecdb,#f0e6d2 55%,#d9e6cd);background-size:130% 130%;animation:botanical-wash 18s ease-in-out infinite alternate}
.format-tabs button{border-radius:12px 12px 0 0;transition:background .25s,border-color .25s}.format-tabs button.active{background:#f7f8eb80}.format-photo{height:auto;box-shadow:0 15px 30px #47633c15}
.tools-section{position:relative;isolation:isolate;overflow:clip;background:radial-gradient(ellipse at 85% 20%,#d5e4c5,transparent 65%),linear-gradient(130deg,#eee2cc,#edf1e3 65%,#e1ebd5)}
.tools-section:before{content:'';pointer-events:none;position:absolute;left:-190px;bottom:-210px;width:670px;height:670px;z-index:-1;background:linear-gradient(150deg,#7f9b5e35,#aac58d12);mask:url('/assets/serrated-leaf.webp') center/contain no-repeat;-webkit-mask:url('/assets/serrated-leaf.webp') center/contain no-repeat;transform:rotate(-24deg)}
.route-picker{background:linear-gradient(140deg,#fffef9ed,#f5f7ede6);box-shadow:0 18px 50px #46613b08;backdrop-filter:blur(12px)}
.goal-buttons button{transition:background .25s,color .25s,transform .25s}.goal-buttons button:hover{transform:translateY(-2px);background:#dce7cd}.goal-buttons button.active:hover{background:#54724f}
.reading-route>a{background:linear-gradient(135deg,#e7eedb,#f3efe1);border-color:#d8e1cb}
.tool-panel{background:linear-gradient(145deg,#fffef9,#f2f5e9);box-shadow:0 12px 35px #46613b07}
.tool-field input:focus,.tool-field select:focus{outline:2px solid #8ea576;outline-offset:3px}.tool-result{background:linear-gradient(110deg,#dce9cc,#ece0c8)}
.evidence-block{position:relative}.principle-number{color:#79965e}.principle{transition:padding-left .3s}.principle:hover{padding-left:8px}
.ride-banner{position:relative;isolation:isolate;overflow:clip;background:radial-gradient(ellipse at 70% 20%,#91ac7640,transparent 58%),linear-gradient(115deg,#c9d9b4,#e8dcc3 60%,#d1dfbe)}
.ride-banner:before{content:'';position:absolute;right:23%;top:-85px;width:360px;height:360px;background:#78986222;mask:url('/assets/serrated-leaf.webp') center/contain no-repeat;-webkit-mask:url('/assets/serrated-leaf.webp') center/contain no-repeat;transform:rotate(42deg);z-index:-1}
.site-footer{background:radial-gradient(ellipse at 0 100%,#47683d70,transparent 60%),linear-gradient(120deg,#233f2e,#355439)}
.button .icon,.text-link .icon,.route-bottom .icon{transition:transform .3s}.button:hover .icon,.text-link:hover .icon,.route-card:hover .route-bottom .icon{transform:translateX(5px)}
.scroll-progress{height:4px;background:linear-gradient(90deg,#aec493,#687f49,#c4ab7c)}
@keyframes botanical-wash{from{background-position:0% 0%}to{background-position:100% 85%}}
@media(min-width:1000px){.hero h1{max-width:590px}.guide-section .guide-grid{gap:34px}.route-cover{aspect-ratio:5/4}}
@media(max-width:800px){.hero:after{left:-190px;width:420px;height:420px}.guide-section .section{padding-block:60px}.guide-section:before{right:-160px;top:-80px;width:560px;height:560px}}
@media(max-width:539px){.hero:after{top:2%;left:-230px;opacity:.7}.guide-section .section{padding-block:52px}.guide-section:before{top:-100px;right:-220px;width:600px;height:600px}.tools-section:before{left:-290px}.ride-banner:before{right:-80px;top:-20px}.hero-art.tilt-card{transform:none}}
@media(prefers-reduced-motion:reduce){.product-section{animation:none}.hero-art.tilt-card,.hero-art.tilt-card:hover,.hero:after,.guide-section:before{transform:none;transition:none}.button .icon,.text-link .icon,.route-bottom .icon,.principle,.goal-buttons button{transition:none}}
