/* BatchNest stylesheet — home and privacy pages */
/* Design tokens */
:root{--bg:#143e35;--bg-dark:#0f342e;--bg-mid:#20594a;--accent:#c5e96c;--split:#f4b66a;--paper:#f1f6df;--paper-2:#d9ecc1;--ink:#173d32;--muted:#bad3c5;--line:rgba(219,248,204,.24);--logo-primary:#6750b5;--font-head:Manrope,Arial,sans-serif;--font-body:'DM Sans',Arial,sans-serif;--s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s6:1.5rem;--s8:2rem;--s12:3rem;--s16:4rem;--s24:6rem;--s32:8rem;--r1:.5rem;--r2:1.25rem;--r3:2.5rem;--shadow1:0 6px 18px rgba(11,48,31,.12),0 2px 8px rgba(65,99,36,.08);--shadow2:0 18px 45px rgba(6,40,30,.19),0 6px 16px rgba(81,113,38,.13);--shadow3:0 30px 75px rgba(5,37,29,.32),0 10px 28px rgba(66,102,33,.17);--ease:cubic-bezier(.2,.8,.2,1);--section-space:clamp(4rem,10vw,8rem)}
/* 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}button,a{-webkit-tap-highlight-color:transparent}img,svg{display:block;max-width:100%}
/* Base typography */
body{font-family:var(--font-body);font-size:1rem;line-height:1.72;color:var(--paper);background:var(--bg)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-head);line-height:1.16;letter-spacing:-.045em;text-wrap:balance}p{text-wrap:pretty}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--ink)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
/* Layout */
.container{width:min(100% - 2.5rem,1360px);margin-inline:auto}.site-header{height:4rem;position:relative;z-index:5}.header-inner,.footer-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}.brand{display:inline-flex;align-items:center;gap:var(--s3);font-family:var(--font-head);font-weight:700;letter-spacing:-.04em;font-size:1.2rem;min-width:0}.brand span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.brand img{width:2.35rem;height:2.35rem;object-fit:contain;border-radius:var(--r1)}.brand::after{content:"";height:2px;background:var(--accent);position:absolute;bottom:.4rem;width:0;transition:width .2s var(--ease)}.brand:hover::after{width:6rem}
/* Components */
.pill{display:inline-flex;align-items:center;justify-content:center;gap:var(--s4);background:var(--accent);color:var(--ink);border:1px solid rgba(255,255,255,.25);border-radius:99rem;font-weight:700;line-height:1.2;padding:.875rem 1.75rem;min-height:3rem;box-shadow:var(--shadow1);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.pill:hover{transform:translateY(-3px);box-shadow:var(--shadow2)}.nav-pill{font-size:.875rem;padding:.75rem 1.1rem}.eyebrow,.hero-kicker{font-size:.875rem;letter-spacing:.15em;font-weight:700;color:var(--accent)}.skip-link{position:absolute;top:-8rem;left:var(--s4);z-index:200;background:var(--accent);color:var(--ink);padding:var(--s3)}.skip-link:focus{top:var(--s4)}.back-top{position:fixed;right:var(--s6);bottom:var(--s6);border-radius:50%;background:var(--accent);color:var(--ink);border:1px solid var(--line);height:3rem;width:3rem;font-size:1.5rem;box-shadow:var(--shadow2);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .2s,transform .2s;z-index:10}.back-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}
/* Page sections */
.hero{height:100vh;height:100svh;height:100dvh;min-height:0;background:radial-gradient(ellipse at 50% 35%,#2b7054 0%,var(--bg) 55%,var(--bg-dark) 100%);position:relative;isolation:isolate}.hero::before,.detail-section::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.11;background:repeating-radial-gradient(circle at 5% 100%,transparent 0 3rem,rgba(215,247,178,.16) 3.04rem 3.1rem,transparent 3.15rem 6rem)}.hero-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr)}.hero-body{--hs:1;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;min-height:0;gap:calc(var(--hs) * min(1.5svh,1rem));text-align:center;padding-bottom:calc(var(--hs) * min(2svh,1.5rem))}.hero-cluster{position:relative;width:min(80vw,calc(var(--hs) * 54svh),35rem);height:calc(var(--hs) * min(30svh,19rem));flex-shrink:1;filter:drop-shadow(0 .7rem 2rem rgba(13,52,34,.28))}.constellation{width:100%;height:100%;color:var(--accent);stroke:var(--accent);filter:drop-shadow(0 0 1rem rgba(208,240,116,.25))}.constellation circle{fill:rgba(189,237,127,.07);stroke:var(--accent);stroke-width:2}.float-card{position:absolute;background:linear-gradient(155deg,var(--paper),var(--paper-2));color:var(--ink);padding:.45rem .8rem;border-radius:var(--r1);font-weight:700;box-shadow:var(--shadow2);font-size:calc(var(--hs) * .82rem);border:1px solid rgba(255,255,255,.5);transform:rotate(-4deg)}.float-card span{color:#408068;margin-left:.5rem}.float-card--one{top:15%;left:1%}.float-card--two{top:32%;right:0;transform:rotate(5deg)}.float-card--three{bottom:0;left:29%;transform:rotate(3deg)}.hero-stamp{position:absolute;top:1%;right:18%;border:2px dashed var(--split);background:#285f49;color:var(--split);border-radius:50%;width:calc(var(--hs) * 4.1rem);height:calc(var(--hs) * 4.1rem);display:grid;place-content:center;font-weight:700;line-height:1.15;font-size:calc(var(--hs) * .65rem);transform:rotate(17deg)}.hero-copy{position:relative;z-index:2;max-width:56rem}.hero h1{font-size:calc(var(--hs) * clamp(2rem,min(7vw,9svh),7rem));margin:.25em 0 .12em;line-height:1.02;letter-spacing:-.065em;background:linear-gradient(110deg,var(--paper) 35%,#fff 48%,var(--paper) 60%);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:250% auto;animation:light-sweep 1.4s ease-out 1}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--accent);font-size:.75em;letter-spacing:-.07em}.hero-copy p{font-size:calc(var(--hs) * clamp(1rem,min(2.3vw,2.7svh),1.3rem));max-width:41rem;margin:0 auto calc(var(--hs) * min(2svh,1.5rem));line-height:1.45;color:var(--paper-2)}.hero-cta{min-height:3rem}.detail-section{position:relative;padding:var(--section-space) 0;min-height:75svh;border-bottom:6px dotted rgba(198,237,136,.28)}.detail-section:nth-child(even){background:#205344}.detail-section:nth-child(odd){background:#153f35}.section-heading{max-width:58rem;margin-bottom:var(--s12)}.section-heading h2{font-size:clamp(2rem,4.5vw,4rem);margin:.5rem 0 1rem}.section-heading>p{font-size:1.12rem;max-width:55rem;color:#e0eadc;line-height:1.8}.section-content{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.3fr);gap:var(--s8);align-items:stretch}.section-art{min-height:27rem;position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#356e52,#184739);border:1px solid var(--line);border-radius:var(--r3);box-shadow:var(--shadow2)}.section-art strong{font-family:var(--font-head);font-size:clamp(7rem,18vw,17rem);line-height:1;letter-spacing:-.12em;color:var(--accent);text-shadow:10px 12px 0 #164637;transform:rotate(-8deg)}.art-ring{position:absolute;border:1px solid rgba(235,248,215,.27);border-radius:50%;width:95%;aspect-ratio:1}.art-ring--two{width:70%}.art-spark{position:absolute;right:12%;top:13%;font-size:3rem;color:var(--split)}.detail-list{display:grid;gap:var(--s4)}.detail-item{display:grid;grid-template-columns:3rem 1fr;align-items:start;gap:var(--s4);padding:var(--s6);background:var(--paper);color:var(--ink);border:1px solid rgba(255,255,255,.55);border-radius:var(--r2);box-shadow:var(--shadow1);transition:transform .2s var(--ease)}.detail-item:hover{transform:translateY(-3px)}.detail-icon{height:2.75rem;width:2.75rem;border-radius:50%;background:#d1eaa8;color:#255c41;display:grid;place-items:center}.detail-icon svg{width:1.5rem;height:1.5rem}.detail-item h3{font-size:1.18rem;margin:0 0 .4rem;letter-spacing:-.025em}.detail-item p{margin:0;color:#345a49;font-size:1rem;line-height:1.65}.section--uses .section-content,.section--glance .section-content,.section--matters .section-content{grid-template-columns:minmax(0,1.3fr) minmax(0,.72fr)}.section--uses .detail-list,.section--glance .detail-list,.section--matters .detail-list{order:-1}.section--glance{background:var(--accent)!important;color:var(--ink)}.section--glance .eyebrow,.section--glance .section-heading>p{color:#234d35}.section--glance .detail-item{background:#e5f3c9}.section--glance .section-art{background:#337051}.section--choices .detail-item{border-left:.4rem solid var(--split)}.closing-band{padding:var(--s24) 0;background:linear-gradient(110deg,var(--split) 0 50%,var(--accent) 50% 100%);color:var(--ink)}.closing-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s8)}.closing-inner p{font-family:var(--font-head);font-size:clamp(1.5rem,3vw,2.6rem);line-height:1.3;font-weight:700;margin:0;max-width:46rem}.closing-band .pill{background:var(--ink);color:var(--paper);white-space:nowrap}.site-footer{padding:var(--s16) 0 var(--s8);background:var(--bg-dark);font-size:.875rem}.footer-inner{flex-wrap:wrap}.footer-meta{color:var(--muted);overflow-wrap:anywhere}.site-footer a:not(.brand){text-decoration:underline;text-underline-offset:.3rem}
/* Privacy page */
.privacy-page{background:#174338}.policy-main{padding-bottom:var(--s24)}.policy-heading{padding:var(--s16) 0 var(--s8);max-width:760px}.policy-heading h1{font-size:clamp(2.3rem,6vw,5rem);display:table;max-width:100%;background:linear-gradient(90deg,rgba(197,233,108,.23),transparent);padding:.15em .3em .15em 0;margin:.5rem 0}.policy-heading p{color:var(--paper-2)}.policy-article{max-width:760px;width:min(100% - 2.5rem,760px);margin-inline:auto}.policy-article>p{margin:0 0 1.4rem}.policy-name{font-weight:700;font-size:1.2rem}.policy-date{color:var(--muted)}.policy-row{padding:var(--s8) 0;border-top:2px dotted rgba(218,244,186,.4)}.policy-row h2{font-size:1.38rem;color:var(--accent);letter-spacing:-.018em;margin:0 0 var(--s6)}.policy-row p{margin:0 0 var(--s6);overflow-wrap:anywhere}.policy-row p:last-child{margin-bottom:0}
/* Utilities */
.reveal{opacity:1;transform:none}.js-reveal .reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease-out,transform .55s var(--ease)}.js-reveal .reveal.is-shown{opacity:1;transform:translateY(0)}
/* Responsive rules */
@media(min-width:768px){.container{width:min(100% - 4rem,1360px)}.site-header{height:4.5rem}.policy-article{width:min(100% - 4rem,760px)}}
@media(min-width:1280px){.container{width:min(100% - 6rem,1360px)}}
@media(max-width:767px){.section-content,.section--uses .section-content,.section--glance .section-content,.section--matters .section-content{grid-template-columns:1fr}.section-art{min-height:15rem}.section--uses .detail-list,.section--glance .detail-list,.section--matters .detail-list{order:0}.detail-section{min-height:0}.closing-inner{flex-direction:column;align-items:flex-start}.hero-cluster{width:min(90vw,31rem)}.hero-copy{max-width:90vw}.hero-stamp{right:9%}.footer-inner{align-items:flex-start;flex-direction:column}.hero-kicker{font-size:.75rem}}
@media(max-width:480px){.brand{font-size:1.03rem}.nav-pill{font-size:.8rem;padding:.7rem .9rem}.brand img{width:2rem;height:2rem}.hero-cluster{height:calc(var(--hs) * 26svh)}.float-card{font-size:calc(var(--hs) * .7rem)}.hero-stamp{width:calc(var(--hs) * 3.2rem);height:calc(var(--hs) * 3.2rem)}.section-heading{margin-bottom:var(--s8)}.detail-item{padding:var(--s6)}.section-art{min-height:12rem}}
@media(max-height:600px){.hero-body{flex-direction:row;gap:1rem}.hero-cluster{width:35%;height:calc(var(--hs) * 36svh)}.hero-copy{width:65%}.hero h1{font-size:calc(var(--hs) * clamp(1.7rem,min(5vw,9svh),4rem))}.hero-copy p{font-size:calc(var(--hs) * .9rem)}.float-card{font-size:.65rem}.hero-stamp{display:none}}
@media(max-height:420px){.hero-cluster{display:none}.hero-copy{width:100%}.hero h1{margin:.1em 0}}
.hero--compact .hero-stamp,.hero--compact .float-card{display:none}
/* Motion and reduced motion */
@keyframes light-sweep{from{background-position:130% 0}to{background-position:-60% 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero h1{animation:none}.js-reveal .reveal{opacity:1;transform:none;transition:none}.pill,.detail-item,.back-top{transition:none}}
/* Print */
@media print{body{background:#fff;color:#222}.site-header,.site-footer,.back-top,.hero-cluster{display:none}.policy-row{break-inside:avoid;color:#222}.policy-row h2{color:#222}.policy-heading{color:#222}}
