/* CrumbPilot shared styles — home and privacy pages */
/* Design tokens */
:root {
  --background:#eaf6ee; --surface:#f8fcf9; --text:#192e1c; --muted:#526f5c;
  --primary:#75751a; --secondary:#60b635; --accent:#2cdd67; --on-primary:#ffffff;
  --deep:color-mix(in srgb,var(--primary),var(--text) 36%); --line:color-mix(in srgb,var(--primary),transparent 76%);
  --heading:'Source Sans 3',sans-serif; --body:'Source Serif 4',Georgia,serif;
  --s1:.25rem; --s2:.5rem; --s3:.75rem; --s4:1rem; --s6:1.5rem; --s8:2rem; --s12:3rem; --s16:4rem; --s24:6rem; --s32:8rem;
  --r-sm:.75rem; --r-md:1.5rem; --r-lg:2.5rem;
  --shadow-1:0 .25rem .75rem color-mix(in srgb,var(--primary),transparent 87%),0 .06rem .2rem color-mix(in srgb,var(--text),transparent 93%);
  --shadow-2:0 1rem 2rem color-mix(in srgb,var(--primary),transparent 85%),0 .25rem .7rem color-mix(in srgb,var(--secondary),transparent 85%);
  --shadow-3:0 2rem 4rem color-mix(in srgb,var(--primary),transparent 77%),0 .8rem 1.7rem color-mix(in srgb,var(--secondary),transparent 76%);
  --z-header:10; --z-top:20; --ease:cubic-bezier(.2,.8,.2,1);
}
/* Reset */
*,*::before,*::after{box-sizing:border-box}
html{font-size:clamp(16px,.55vw + 11px,22px);scroll-behavior:smooth;overflow-x:clip}
body{margin:0;overflow-x:clip;color:var(--text);background-color:var(--background);font-family:var(--body);line-height:1.72;background-image:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--primary),transparent 91%) 1px,transparent 1.5px);background-size:2.5rem 2.5rem}
img,svg{max-width:100%}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}::selection{background:var(--accent);color:var(--text)}:focus-visible{outline:.2rem solid var(--secondary);outline-offset:.25rem}button{font:inherit}
/* Typography */
h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--heading);font-weight:600;line-height:1.15;letter-spacing:-.035em;text-wrap:balance}
h2{font-size:clamp(2rem,4vw,3.7rem)}h3{font-size:clamp(1.3rem,2vw,1.8rem)}p{font-size:1.05rem;max-width:75ch;text-wrap:pretty}strong{font-weight:700}
/* Layout */
.container{width:min(100% - 2.5rem,1360px);margin-inline:auto}.section{padding:clamp(4rem,10vw,8rem) 0;min-height:70svh}.section-intro{max-width:53rem;margin-bottom:var(--s12)}.section-intro p{color:var(--muted);font-size:1.15rem}.section-decoration{margin-top:var(--s12);font-family:var(--heading);font-size:clamp(1.2rem,3vw,2.6rem);font-weight:600;color:var(--primary);letter-spacing:.1em}
/* Components */
.site-header{position:relative;z-index:var(--z-header);padding:var(--s3) 0}.header-inner{min-height:4rem;display:flex;justify-content:space-between;align-items:center;gap:var(--s2);padding:var(--s2) var(--s4);border:.08rem solid var(--line);border-radius:var(--r-lg);background:color-mix(in srgb,var(--surface),transparent 12%);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-1),0 .35rem 0 color-mix(in srgb,var(--secondary),var(--background) 64%)}
.brand{display:flex;align-items:center;gap:var(--s3);text-decoration:none;font:700 1.45rem/1 var(--heading);letter-spacing:-.04em;min-width:0}.brand img,.footer-brand img{height:2.5rem;width:2.5rem;object-fit:contain;border-radius:var(--r-sm);flex-shrink:0}.brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.button{display:inline-flex;justify-content:center;align-items:center;gap:var(--s3);min-height:3rem;padding:.8rem 1.75rem;border:.12rem solid var(--deep);border-radius:999px;background:var(--primary);color:var(--on-primary);font:600 1rem/1.2 var(--heading);text-decoration:none;position:relative;isolation:isolate;overflow:hidden;box-shadow:0 .35rem 0 var(--deep);transition:transform .2s var(--ease),box-shadow .2s var(--ease),color .2s var(--ease)}.button::before{content:"";position:absolute;z-index:-1;inset:0;background:var(--secondary);transform:translateX(-105%);transition:transform .22s var(--ease)}.button:hover::before,.button:focus-visible::before{transform:translateX(0)}.button:hover{transform:translateY(-.15rem)}.button:active{transform:translateY(.2rem);box-shadow:0 .1rem 0 var(--deep)}.button--small{white-space:nowrap;padding:.65rem 1.15rem;min-height:2.75rem;font-size:.92rem}.skip-link{position:fixed;top:-5rem;left:1rem;z-index:100;background:var(--surface);padding:var(--s3);border-radius:var(--r-sm)}.skip-link:focus{top:1rem}
/* Hero */
.hero{height:100vh;height:100svh;height:100dvh;min-height:0;--hs:1;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:radial-gradient(ellipse at 50% 78%,color-mix(in srgb,var(--accent),transparent 80%),transparent 58%),var(--background)}.hero-frame{display:contents}.hero .site-header{grid-row:1}.hero-content{grid-row:2;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--hs) * min(2svh,1.25rem));padding:calc(var(--hs) * min(2svh,1.25rem)) var(--s4);text-align:center}.hero-copy{flex:0 0 auto}.hero h1{font-size:calc(var(--hs) * clamp(2.1rem,min(10vw,10svh),8rem));line-height:.93;letter-spacing:-.07em;margin-bottom:calc(var(--hs) * min(1.5svh,1rem))}.hero h1 span{font-weight:400}.hero h1 strong{font-weight:700;color:var(--primary)}.hero-copy p{font-family:var(--body);font-size:calc(var(--hs) * clamp(.9rem,min(2.4vw,2.5svh),1.5rem));max-width:35rem;margin:0 auto calc(var(--hs) * min(2.5svh,1.5rem));line-height:1.35}.button--hero{min-height:2.75rem}.hero-art{position:relative;flex:0 1 auto;height:calc(var(--hs) * min(42svh,29rem));width:min(83vw,43rem);max-height:calc(var(--hs) * min(42svh,29rem));transform:translateZ(0);filter:drop-shadow(0 1rem 1.8rem color-mix(in srgb,var(--primary),transparent 85%))}.chrome-blob{position:absolute;inset:9% 22% 4%;border-radius:47% 53% 58% 42%/46% 42% 58% 54%;background:radial-gradient(ellipse at 26% 19%,var(--surface) 0%,color-mix(in srgb,var(--accent),var(--surface) 36%) 14%,var(--secondary) 38%,var(--deep) 67%,var(--accent) 90%);box-shadow:inset -.7rem -1rem 1.3rem color-mix(in srgb,var(--deep),transparent 32%),inset .5rem .9rem 1rem color-mix(in srgb,var(--surface),transparent 18%),var(--shadow-3);animation:levitate 7s ease-in-out infinite}.floating-card{position:absolute;width:37%;min-height:30%;padding:var(--s4);border:1px solid var(--line);border-radius:var(--r-md);background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--surface),var(--accent) 15%));box-shadow:inset 0 .2rem 0 color-mix(in srgb,var(--surface),transparent 20%),0 .25rem 0 var(--secondary),var(--shadow-2);transform:rotate(-9deg)}.floating-card--order{left:4%;top:20%}.floating-card--recipe{right:4%;top:6%;transform:rotate(9deg)}.floating-card--chart{right:12%;bottom:0;transform:rotate(-5deg)}.tiny-label{display:block;font:600 .78rem/1.3 var(--heading);letter-spacing:.09em;color:var(--deep);margin-bottom:var(--s3)}.ui-line{display:block;height:.65rem;width:65%;margin-bottom:var(--s2);border-radius:999px;background:color-mix(in srgb,var(--secondary),var(--surface) 65%)}.ui-line--wide{width:93%}.ui-pill{display:inline-block;margin-top:var(--s1);border-radius:999px;padding:.1rem .5rem;background:var(--accent);font:600 .75rem var(--heading)}.ui-bubbles{display:flex;gap:.35rem;margin-bottom:var(--s3)}.ui-bubbles i{display:block;width:1.2rem;height:1.2rem;background:var(--secondary);border-radius:50%;box-shadow:inset -.2rem -.2rem .2rem var(--deep)}.ui-bubbles i:nth-child(2){background:var(--accent)}.ui-bubbles i:nth-child(3){background:var(--primary)}.ui-chart{display:flex;align-items:flex-end;gap:.4rem;height:3.3rem}.ui-chart i{flex:1;border-radius:.3rem .3rem 0 0;background:var(--secondary);height:55%}.ui-chart i:nth-child(2){height:85%}.ui-chart i:nth-child(3){height:70%;background:var(--accent)}.ui-chart i:nth-child(4){height:100%;background:var(--primary)}.scroll-cue{grid-row:3;text-align:center;display:block;padding-bottom:var(--s3);font:600 .82rem var(--heading);color:var(--muted)}.hero--compact .scroll-cue{display:none}.hero--compact .chrome-blob{animation:none}
/* Page sections */
.section--about{background:linear-gradient(180deg,var(--background),var(--surface))}.facts-strip{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--s6)}.fact-tile,.feature-tile,.step-tile,.glance-card,.why-note{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);padding:var(--s6);box-shadow:inset 0 .2rem 0 color-mix(in srgb,var(--surface),transparent 18%),0 .25rem 0 color-mix(in srgb,var(--primary),var(--background) 65%),var(--shadow-1);transition:transform .2s var(--ease)}.fact-tile:hover,.feature-tile:hover{transform:translateY(.2rem)}.fact-tile:nth-child(3){grid-column:span 2}.fact-tile:nth-child(4){grid-column:span 1}.fact-tile p,.feature-tile p,.step-tile p,.glance-item p,.why-note p{color:var(--muted);margin:0}.fact-tile h3,.feature-tile h3,.step-tile h3,.glance-item h3,.why-note h3{margin-bottom:var(--s3)}
.section--features{background:color-mix(in srgb,var(--secondary),var(--background) 90%)}.feature-rail{display:flex;gap:var(--s6);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:5vw;padding:var(--s4) max(1.25rem,calc((100vw - 1360px)/2)) var(--s8);scrollbar-color:var(--secondary) transparent}.feature-tile{flex:0 0 clamp(17rem,29vw,26rem);scroll-snap-align:center;min-height:20rem;padding:var(--s8)}.feature-tile::before{content:'✦';display:block;font:600 3rem var(--heading);color:var(--secondary);margin-bottom:var(--s8)}.rail-note{font-style:italic;color:var(--muted)}
.section--steps{background:var(--surface)}.step-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s4);position:relative}.step-track::before{content:"";position:absolute;top:2.4rem;left:5%;right:5%;height:.3rem;background:var(--secondary);border-radius:999px}.step-tile{position:relative;padding:var(--s8) var(--s4);margin-top:var(--s12)}.step-tile h3{font-size:1.2rem}.step-tile::before{content:"";position:absolute;top:-2.7rem;left:50%;width:1.2rem;height:1.2rem;border-radius:50%;background:var(--accent);border:.3rem solid var(--primary)}
.section--glance{background:var(--background)}.glance-card{border:.25rem solid var(--primary);display:grid;grid-template-columns:1fr 3fr;gap:var(--s8);padding:var(--s8);box-shadow:0 .5rem 0 var(--deep),var(--shadow-2)}.glance-mark{font:700 clamp(5rem,18vw,13rem)/1 var(--heading);color:var(--secondary);align-self:center;text-align:center}.glance-list{display:grid;gap:var(--s4)}.glance-item{padding-left:var(--s8);position:relative;border-bottom:1px solid var(--line);padding-bottom:var(--s4)}.glance-item::before{content:"✓";position:absolute;left:0;top:.1rem;color:var(--primary);font:700 1.3rem var(--heading)}
.section--choices{background:var(--surface)}.choice-stack{max-width:66rem}.choice-item{display:grid;grid-template-columns:5rem 1fr;gap:var(--s8);padding:var(--s8) 0;border-bottom:.14rem solid var(--line)}.choice-item>span{font:700 3.4rem/1 var(--heading);color:var(--secondary);font-variant-numeric:tabular-nums}.choice-item p{color:var(--muted);margin:0}
.section--why{background:linear-gradient(145deg,var(--background),color-mix(in srgb,var(--accent),var(--background) 85%))}.why-statement{font:600 clamp(2.3rem,5vw,5rem)/1.16 var(--heading);max-width:57rem;letter-spacing:-.045em;margin:var(--s16) 0;color:var(--deep)}.why-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6)}.why-note:nth-child(4){grid-column:span 2}
.closing-band{padding:var(--s24) 0;background:linear-gradient(115deg,var(--primary) 0 50%,var(--secondary) 50% 100%);color:var(--surface)}.closing-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s8)}.closing-inner h2{max-width:42rem}.button--closing{background:var(--surface);color:var(--text);white-space:nowrap}.button--closing::before{background:var(--accent)}
/* Privacy page */
.privacy-main{padding:var(--s16) var(--s4) var(--s24)}.policy-column{width:min(100%,760px);margin:auto}.policy-title{margin-bottom:var(--s8)}.policy-title h1{font-size:clamp(2.5rem,6vw,5rem);margin-bottom:var(--s4)}.eyebrow{font:600 1rem var(--heading);color:var(--primary)}.double-rule{height:.45rem;border-block:1px solid var(--primary);margin:var(--s4) 0 var(--s6)}.policy-original-title,.policy-equals{font-family:var(--heading);font-weight:600;letter-spacing:0;overflow-wrap:anywhere}.policy-equals{font-size:.85rem;letter-spacing:-.05em;color:var(--muted)}.policy-card{margin:var(--s6) 0;border:.16rem solid var(--line);border-radius:var(--r-md);background:var(--surface);overflow:hidden;box-shadow:var(--shadow-1)}.policy-card h2{font-size:1.55rem;margin:0 0 var(--s6);padding:var(--s4) var(--s6);background:color-mix(in srgb,var(--secondary),var(--surface) 72%);border-bottom:.2rem solid var(--secondary)}.policy-card p,.policy-card ul{padding:0 var(--s6);margin:0 0 var(--s6);font-size:1rem}.policy-card li{margin-bottom:var(--s3)}.policy-card ul{padding-left:calc(var(--s6) + var(--s6))}
/* Footer */
.site-footer{background:color-mix(in srgb,var(--primary),var(--background) 83%);padding:var(--s16) 0 var(--s8);border-top:1px solid var(--line)}.footer-inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--s8)}.footer-brand{font-family:var(--heading);font-weight:600;font-size:1.5rem}.footer-brand img{vertical-align:middle;margin-right:var(--s2)}.footer-brand p{font-family:var(--body);font-weight:400;font-size:.95rem;margin:var(--s2) 0}.footer-links{display:flex;flex-direction:column;gap:var(--s4);align-items:flex-end;text-align:right}.footer-links a{text-underline-offset:.25rem}.back-top{position:fixed;z-index:var(--z-top);bottom:var(--s6);right:var(--s6);width:3.5rem;height:3.5rem;border:0;border-radius:50%;background:var(--surface);color:var(--text);box-shadow:var(--shadow-2);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(var(--s4));transition:opacity .2s var(--ease),transform .2s var(--ease)}.back-top.is-visible{opacity:1;pointer-events:auto;transform:none}.back-top svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);fill:none;stroke-width:2.5}.ring-track{stroke:var(--line)}.ring-progress{stroke:var(--primary);stroke-dasharray:113.097;stroke-dashoffset:113.097}.back-top span{font:700 1.7rem var(--heading)}
/* Utilities */
.reveal{opacity:0;transform:translateY(1rem);transition:opacity .55s var(--ease),transform .55s var(--ease)}.reveal.is-shown{opacity:1;transform:none}
/* Responsive rules */
@media(min-width:768px){.container{width:min(100% - 4rem,1360px)}.hero-content{padding-inline:var(--s8)}}
@media(min-width:1280px){.container{width:min(100% - 6rem,1360px)}}
@media(max-width:1023px){.step-track{grid-template-columns:repeat(2,minmax(0,1fr))}.step-track::before,.step-tile::before{display:none}.step-tile{margin-top:0}.why-notes{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.section{padding:var(--s16) 0}.section-intro{margin-bottom:var(--s8)}.facts-strip{grid-template-columns:1fr}.fact-tile:nth-child(3){grid-column:auto}.glance-card{grid-template-columns:1fr}.glance-mark{font-size:5rem;line-height:.7}.why-notes{grid-template-columns:1fr}.why-note:nth-child(4){grid-column:auto}.closing-inner{flex-direction:column;align-items:flex-start}.closing-band{padding:var(--s16) 0}.footer-inner{grid-template-columns:1fr}.footer-links{align-items:flex-start;text-align:left}.hero-art{width:min(90vw,36rem)}.floating-card{padding:var(--s3)}.feature-tile{flex-basis:82vw;min-height:18rem}}
@media(max-width:480px){.header-inner{padding:var(--s2)}.brand{font-size:1.12rem;gap:var(--s2)}.brand img{width:2.1rem;height:2.1rem}.button--small{font-size:.82rem;padding:.6rem .8rem}.step-track{grid-template-columns:1fr}.choice-item{grid-template-columns:3.2rem 1fr;gap:var(--s4)}.choice-item>span{font-size:2.4rem}.hero-art{width:95vw}.floating-card{width:40%;border-radius:var(--r-sm)}.tiny-label{font-size:.65rem}.hero-copy p{max-width:19rem}.policy-card h2{font-size:1.25rem}}
@media(max-height:600px){.hero-content{flex-direction:row;justify-content:center;gap:var(--s4)}.hero-copy{width:50%;max-width:35rem}.hero-art{width:43%;height:36svh;max-height:36svh}.hero h1{font-size:calc(var(--hs) * clamp(1.5rem,min(7vw,11svh),5rem))}.scroll-cue{display:none}}
@media(max-height:420px){.hero-art{display:none}.hero-copy{width:100%}.hero-content{padding-block:0}.hero h1{font-size:calc(var(--hs) * clamp(1.6rem,10svh,4rem))}}
/* Motion and reduced motion */
@keyframes levitate{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-.8rem) rotate(-2deg)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none;transition:none}.reveal{opacity:1;transform:none}}
/* Print */
@media print{.site-header,.site-footer,.back-top,.scroll-cue{display:none}.policy-card{break-inside:avoid;box-shadow:none}.reveal{opacity:1;transform:none}body{background:white}}
