:root{--sand:#e2c595;--ink:#2b2118;--l1:#6b4a2f;--l2:#8a5a36;--l3:#a88c6a;--l4:#4f4a45;--l5:#2a2420;--accent:#e0873a;
--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:16px/1.55 ui-rounded,"Nunito","Segoe UI",system-ui,sans-serif;color:#f6eee2;background:var(--l5)}
h1,h2,h3{font-family:Georgia,"Iowan Old Style",serif;font-weight:600;letter-spacing:.01em;margin:.2em 0}
.draftbar{position:fixed;inset:0 0 auto 0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 12px;font-size:12px;background:rgba(43,33,24,.82);backdrop-filter:blur(6px);color:#f3e3c8;letter-spacing:.04em}
.draftbar button{border:1px solid #f3e3c888;background:none;color:inherit;border-radius:20px;padding:3px 12px;font:inherit;cursor:pointer}
.hero{position:relative;height:100svh;min-height:520px;overflow:hidden;background:var(--sand);color:var(--ink)}
#sand{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-text{position:absolute;left:0;right:0;bottom:12%;text-align:center;padding:0 20px;opacity:0;transform:translateY(12px);transition:opacity 1.2s ease,transform 1.2s ease}
.hero.ready .hero-text{opacity:1;transform:none}
.hero h1{font-size:clamp(44px,11vw,104px);line-height:1;color:#5a3f25;text-shadow:0 1px 0 #f7e6c5,0 -1px 0 #9b7a50}
.kicker{text-transform:uppercase;letter-spacing:.2em;font-size:12px;color:#7a5a38;margin:0}
.lead{max-width:34em;margin:.6em auto 1.2em;color:#4a3522}
.btn{display:inline-block;padding:12px 22px;border-radius:30px;background:var(--ink);color:#f7ead5;text-decoration:none;font-weight:700;box-shadow:0 6px 18px #0003}
.btn small{font-weight:400;opacity:.7}
.btn.ghost{background:none;border:1px solid currentColor;color:inherit;box-shadow:none}
.scrollcue{position:absolute;left:50%;bottom:22px;width:26px;height:40px;margin-left:-13px;border:2px solid #6d5236;border-radius:14px;opacity:.6}
.scrollcue span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:#6d5236;animation:cue 1.8s infinite}
@keyframes cue{to{transform:translateY(14px);opacity:0}}
.layer{position:relative;padding:90px 0 80px;background-image:var(--grain)}
.layer::before{content:"";position:absolute;left:0;right:0;top:-38px;height:40px;background:inherit;background-color:inherit;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 26C120 8 220 34 360 20S600 2 760 18 1020 36 1200 14V40H0Z'/%3E%3C/svg%3E") 0 0/100% 100%;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 26C120 8 220 34 360 20S600 2 760 18 1020 36 1200 14V40H0Z'/%3E%3C/svg%3E") 0 0/100% 100%}
.l1{background-color:var(--l1)}.l2{background-color:var(--l2)}.l3{background-color:var(--l3);color:#2b2118}.l4{background-color:var(--l4)}.l5{background-color:var(--l5)}
.l1::after,.l4::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.12;
 background:repeating-radial-gradient(ellipse at 20% 120%,transparent 0 22px,#fff 23px 24px)}
.l4::after{background:repeating-radial-gradient(ellipse at 90% -20%,transparent 0 30px,#fff 31px 32px)}
.wrap{position:relative;z-index:1;max-width:1040px;margin:0 auto;padding:0 20px}
h2{font-size:clamp(30px,6vw,46px)}
.depth{font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.75;margin:0;border-left:3px solid var(--accent);padding-left:8px}
.note{font-size:14px;opacity:.8}
.grid{display:grid;gap:16px;margin-top:22px}
.cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card{background:#ffffff12;border:1px solid #ffffff22;border-radius:18px;padding:18px}
.card svg{width:40px;height:40px;fill:none;stroke:#f2c58c;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.card h3{font-size:20px}.card p{margin:.3em 0 0;font-size:15px;opacity:.9}
.machines{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.machine{position:relative;border-radius:18px;padding:22px 18px;background:linear-gradient(160deg,#ffffff1c,#00000014);border:1px dashed #ffffff55}
.machine ul{padding-left:18px;margin:.4em 0 0}
.mbadge{position:absolute;top:-14px;right:16px;background:var(--accent);color:#2b2118;font-weight:800;border-radius:20px;padding:3px 12px;font-size:14px}
.map{margin-top:18px;color:#2b2118;background:#f0e2c855;border-radius:22px;padding:14px}
.map svg{width:100%;max-width:640px;margin:0 auto;height:auto;display:block}
.map text{font:600 13px Georgia,serif;fill:#2b2118}.map .sm{font:12px system-ui;fill:#2b2118bb}
.pin{fill:var(--accent);stroke:#2b2118;stroke-width:2;transform-origin:200px 130px;animation:pulse 2.4s infinite}
@keyframes pulse{50%{transform:scale(1.35)}}
.steps{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));counter-reset:s}
.steps li{position:relative;padding:18px 16px 16px;border-radius:16px;background:#00000026;border-top:3px solid var(--accent)}
.steps b{font:700 34px Georgia,serif;color:var(--accent);line-height:1}
.steps h3{font-size:18px}.steps p{margin:.2em 0 0;font-size:14px;opacity:.85}
.l5{text-align:center;overflow:hidden}
.fol{position:absolute;left:50%;top:-30px;width:420px;margin-left:-210px;color:#e0873a;opacity:.13;z-index:-1}
.contact{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:18px 0}
.l5 .btn{background:var(--accent);color:#2b2118}.l5 .btn.ghost{background:none;color:#f6eee2}
.fine{font-size:12px;opacity:.6;max-width:34em;margin:30px auto 0}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.hero-text{opacity:1;transform:none}}

/* ---- zen hero ---- */
.zenui,.zenhint{display:none}
.mode-zen .zenui{display:flex;position:absolute;z-index:5;top:44px;right:12px;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.mode-zen .zenhint{display:block;position:absolute;z-index:4;left:0;right:0;bottom:64px;margin:0;text-align:center;font-size:12px;letter-spacing:.08em;color:#5b4a36aa;pointer-events:none;transition:color .9s}
.mode-zen{height:92svh;touch-action:none}
.mode-zen #sand{cursor:crosshair}
.seg{display:flex;border-radius:22px;padding:3px;background:rgba(255,250,240,.55);backdrop-filter:blur(8px);box-shadow:0 2px 10px #0002}
.seg button,.rerake{border:0;background:none;font:600 12px/1 system-ui,sans-serif;padding:8px 12px;border-radius:18px;color:#3b2e22;cursor:pointer;transition:background .4s,color .4s}
.seg button.on{background:#2b2118;color:#f3e8d6}
.rerake{background:rgba(255,250,240,.55);backdrop-filter:blur(8px);box-shadow:0 2px 10px #0002}
.mode-zen .hero-text{pointer-events:none;bottom:9%}
.mode-zen .hero-text .btn{pointer-events:auto}
.mode-zen h1{color:#3e3226;text-shadow:0 1px 0 #fffaf0aa,0 -1px 0 #0000001a;transition:color .9s,text-shadow .9s}
.mode-zen .lead,.mode-zen .kicker{transition:color .9s}
.mode-zen.volc h1{color:#f1ebe2;text-shadow:0 2px 14px #000a}
.mode-zen.volc .lead{color:#e4dccf}.mode-zen.volc .kicker,.mode-zen.volc .zenhint{color:#d8cdbdcc}
.mode-zen.volc .btn{background:#efe6d8;color:#1d1813}
.mode-zen.volc .seg,.mode-zen.volc .rerake{background:rgba(30,28,26,.55)}
.mode-zen.volc .seg button,.mode-zen.volc .rerake{color:#eee5d8}
.mode-zen.volc .seg button.on{background:#efe6d8;color:#1d1813}
.mode-zen .scrollcue{border-color:#6b5a48;z-index:4}
.mode-zen.volc .scrollcue{border-color:#d8cdbd}.mode-zen.volc .scrollcue span{background:#d8cdbd}
@media (max-width:699px){.mode-zen .zenui{top:58px}}
@media (max-width:699px){.mode-zen .zenhint{top:104px;bottom:auto;text-align:right;right:14px;left:auto;font-size:11px}}
