/* ============================================================
   Reuse network — shared stylesheet
   Tokens + components + modal. Identical across all regions.
   ============================================================ */
  /* ============ TOKENS ============ */
  :root{
    --limewash:#E9E7DD;        /* base – aged lime plaster, cooler than cream */
    --limewash-2:#E2DFD3;      /* raised panel */
    --paper-tag:#D8D3C2;       /* salvage tag stock */
    --slate:#20251F;           /* wet-slate ink / dark ground */
    --slate-2:#2C3327;         /* dark section alt */
    --slate-deep:#191D18;      /* footer */
    --oak:#8A5A38;             /* weathered oak / oxidised iron */
    --oak-deep:#6E4527;
    --moss:#5E6B43;            /* fern / moss – restoration */
    --moss-bright:#9DAB6E;     /* moss on dark grounds */
    --verdigris:#5E8B7E;       /* oxidised copper patina – secondary accent */
    --line:rgba(32,37,31,.16);
    --line-soft:rgba(32,37,31,.09);

    /* strata material tones (the section-drawing hero) */
    --st-moss:#6E7B4C;
    --st-lime:#CBC4AE;
    --st-oak:#7C5634;
    --st-brick:#9B5742;
    --st-slate:#3C4239;
    --st-earth:#5A4A38;

    --maxw:1180px;
    --r:3px;
    --ease:cubic-bezier(.22,.61,.36,1);
  }

  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    background:var(--limewash);
    color:var(--slate);
    font-family:"Hanken Grotesk",system-ui,sans-serif;
    font-size:17px;line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3{font-family:"Fraunces",Georgia,serif;font-optical-sizing:auto;line-height:1.04;letter-spacing:-.01em;font-weight:900}
  a{color:inherit;text-decoration:none}
  img{max-width:100%}

  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}

  /* salvage tag – the signature device */
  .tag{
    font-family:"IBM Plex Mono",monospace;font-size:11px;font-weight:500;
    letter-spacing:.12em;text-transform:uppercase;
    color:var(--oak-deep);background:var(--paper-tag);
    border:1px solid var(--line);border-radius:var(--r);
    padding:4px 9px;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
  }
  .tag::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--moss)}
  .tag--plain::before{display:none}

  a.skip{position:absolute;left:-999px;top:0;background:var(--slate);color:var(--limewash);padding:10px 16px;z-index:99}
  a.skip:focus{left:8px;top:8px}

  :focus-visible{outline:2.5px solid var(--verdigris);outline-offset:3px;border-radius:2px}

  /* ============ HEADER ============ */
  header{position:sticky;top:0;z-index:40;background:rgba(233,231,221,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:68px}
  .brand{display:flex;align-items:baseline;gap:10px}
  .brand .mark{font-family:"Fraunces";font-weight:900;font-size:25px;letter-spacing:-.02em}
  .brand .mark b{color:var(--moss)}
  .brand .region{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--oak-deep);border:1px solid var(--line);border-radius:var(--r);padding:2px 6px}
  .navlinks{display:flex;align-items:center;gap:28px}
  .navlinks a{font-size:14.5px;font-weight:500;color:var(--slate);opacity:.82;transition:opacity .2s}
  .navlinks a:hover{opacity:1}
  .navlinks .btn{opacity:1}
  .btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14.5px;
    background:var(--slate);color:var(--limewash);padding:10px 18px;border-radius:var(--r);
    border:1px solid var(--slate);transition:transform .18s var(--ease),background .2s;cursor:pointer}
  .btn:hover{transform:translateY(-1px);background:#2c3329}
  .btn--ghost{background:transparent;color:var(--slate);border-color:var(--line)}
  .btn--ghost:hover{background:var(--limewash-2)}
  .btn--moss{background:var(--moss);border-color:var(--moss);color:#F3F2E8}
  .btn--moss:hover{background:#52603a}
  .menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:var(--r);padding:8px 10px;cursor:pointer;font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.1em}

  /* ============ HERO ============ */
  .hero{padding:72px 0 64px;position:relative}
  .hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
  .hero-eyebrow{margin-bottom:22px}
  .triad{font-size:clamp(46px,6.6vw,84px);line-height:.98}
  .triad .s{color:var(--slate)}
  .triad .r1{color:var(--oak)}
  .triad .r2{color:var(--moss)}
  .triad .dot{color:var(--line);font-weight:400}
  .hero p.lead{font-size:19px;max-width:30em;margin:26px 0 30px;color:#373c33}
  /* search */
  .search{background:var(--limewash-2);border:1px solid var(--line);border-radius:6px;padding:10px;display:flex;gap:10px;max-width:560px;box-shadow:0 14px 40px -28px rgba(32,37,31,.55)}
  .search .field{flex:1;display:flex;flex-direction:column;gap:3px;padding:6px 10px}
  .search .field+.field{border-left:1px solid var(--line-soft)}
  .search label{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--oak-deep)}
  .search input{border:none;background:transparent;font-family:inherit;font-size:16px;color:var(--slate);width:100%}
  .search input::placeholder{color:#7d8275}
  .search input:focus{outline:none}
  .search .go{border:none}
  .hero .microtrust{margin-top:18px;display:flex;gap:18px;flex-wrap:wrap;align-items:center;font-size:13px;color:#5b604f}
  .hero .microtrust b{color:var(--slate)}

  /* strata section-drawing */
  .strata{position:relative;height:430px;display:flex;flex-direction:column;border-radius:6px;overflow:hidden;
    box-shadow:0 30px 60px -40px rgba(25,29,24,.7);border:1px solid rgba(25,29,24,.2)}
  .band{position:relative;flex:1;display:flex;align-items:center;padding-left:22px;
    transform-origin:left;}
  .band .blabel{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
    background:rgba(233,231,221,.9);color:var(--slate);padding:3px 8px;border-radius:2px;border:1px solid rgba(25,29,24,.15)}
  .band .code{font-family:"IBM Plex Mono",monospace;font-size:10px;color:rgba(255,255,255,.78);position:absolute;right:14px;top:50%;transform:translateY(-50%);letter-spacing:.1em}
  .b-moss{background:linear-gradient(var(--st-moss),#5d6a40);flex:1.25}
  .b-lime{background:repeating-linear-gradient(90deg,var(--st-lime),var(--st-lime) 26px,#c2bba4 26px,#c2bba4 27px)}
  .b-oak{background:repeating-linear-gradient(0deg,var(--st-oak),var(--st-oak) 7px,#71502f 7px,#71502f 8px)}
  .b-brick{background:repeating-linear-gradient(90deg,var(--st-brick),var(--st-brick) 38px,#8f4f3b 38px,#8f4f3b 40px)}
  .b-slate{background:linear-gradient(var(--st-slate),#333830)}
  .b-earth{background:linear-gradient(var(--st-earth),#4a3c2c);flex:.8}
  /* moss sprigs */
  .sprigs{position:absolute;top:-9px;left:0;right:0;height:14px;display:flex;gap:13px;justify-content:center;pointer-events:none}
  .sprigs i{width:2px;height:13px;background:#7d8a55;border-radius:2px;transform-origin:bottom}
  .sprigs i:nth-child(2n){height:9px;background:#8a9762}
  .sprigs i:nth-child(3n){height:15px}
  .strata-cap{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#6a6f60;margin-top:12px;text-align:center}

  /* ============ IMPACT STRIP ============ */
  .impact{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--limewash-2)}
  .impact .row{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
  .stat{padding:26px 24px;border-left:1px solid var(--line-soft)}
  .stat:first-child{border-left:none}
  .stat .n{font-family:"Fraunces";font-weight:900;font-size:34px;letter-spacing:-.02em;display:flex;align-items:baseline;gap:6px}
  .stat .n span{font-family:"IBM Plex Mono";font-size:13px;font-weight:500;color:var(--oak)}
  .stat .l{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#5b604f;margin-top:6px}

  /* ============ SECTION SCAFFOLD ============ */
  section.block{padding:78px 0}
  .head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:34px}
  .head-row h2{font-size:clamp(30px,3.6vw,42px)}
  .head-row .sub{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--oak-deep);margin-bottom:14px}
  .head-row p{max-width:34em;color:#474c40;margin-top:8px}

  /* materials toggle */
  .seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
  .seg button{border:none;background:transparent;padding:9px 16px;cursor:pointer;font:inherit;color:#5b604f}
  .seg button[aria-selected="true"]{background:var(--slate);color:var(--limewash)}

  .cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
  .cat{background:var(--limewash-2);border:1px solid var(--line);border-radius:5px;padding:20px 18px 18px;
    display:flex;flex-direction:column;gap:14px;min-height:158px;position:relative;
    transition:transform .2s var(--ease),box-shadow .2s,border-color .2s}
  .cat:hover{transform:translateY(-3px);box-shadow:0 18px 34px -26px rgba(32,37,31,.6);border-color:var(--oak)}
  .cat .ic{width:30px;height:30px;color:var(--oak)}
  .cat h3{font-family:"Fraunces";font-size:21px;font-weight:600;letter-spacing:-.01em}
  .cat .meta{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:8px}
  .cat .count{font-family:"IBM Plex Mono",monospace;font-size:11px;color:#5b604f}
  .cat .code{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.1em;color:var(--oak-deep);position:absolute;top:16px;right:16px}
  .leaf{display:inline-flex;align-items:center;gap:5px;font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.06em;color:var(--moss);text-transform:uppercase}
  .leaf svg{width:12px;height:12px}

  /* yards */
  .yard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .yard{border:1px solid var(--line);border-radius:5px;background:var(--limewash);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s var(--ease),box-shadow .2s}
  .yard:hover{transform:translateY(-3px);box-shadow:0 20px 38px -28px rgba(32,37,31,.6)}
  .yard .ph{height:118px;position:relative;border-bottom:1px solid var(--line)}
  .y1{background:linear-gradient(135deg,#7c5634,#9b5742)}
  .y2{background:linear-gradient(135deg,#3c4239,#5e6b43)}
  .y3{background:linear-gradient(135deg,#5e8b7e,#3c4239)}
  .yard .verified{position:absolute;top:12px;left:12px}
  .verified.tag::before{background:var(--verdigris)}
  .yard .body{padding:16px 18px 18px}
  .yard h3{font-family:"Fraunces";font-size:20px;font-weight:600}
  .yard .where{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#5b604f;margin:5px 0 12px}
  .chips{display:flex;flex-wrap:wrap;gap:6px}
  .chip{font-size:12px;color:#474c40;background:var(--limewash-2);border:1px solid var(--line-soft);border-radius:20px;padding:3px 10px}

  /* ============ RESTORE (dark earthy) ============ */
  .restore{background:var(--slate);color:#E4E3D7;position:relative;overflow:hidden}
  .restore .wrap{position:relative;z-index:2}
  .restore-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:86px 0}
  .restore .sub{color:var(--moss-bright)}
  .restore h2{color:#F1F0E6;font-size:clamp(32px,4vw,50px)}
  .restore h2 em{font-style:italic;color:var(--moss-bright);font-weight:400}
  .restore p{color:#C3C4B6;margin-top:20px;max-width:33em}
  .pledge{margin-top:30px;display:flex;flex-direction:column;gap:14px}
  .pledge .ln{display:flex;gap:14px;align-items:flex-start}
  .pledge .ln .k{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--moss-bright);min-width:74px;padding-top:3px}
  .pledge .ln .v{color:#D6D7C9}
  .pledge .ln .v b{color:#F1F0E6}
  /* restoration meter */
  .meter{border:1px solid rgba(228,227,215,.18);border-radius:6px;padding:26px;background:rgba(255,255,255,.03)}
  .meter .mh{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--moss-bright);display:flex;justify-content:space-between}
  .meter .big{font-family:"Fraunces";font-weight:900;font-size:52px;color:#F1F0E6;margin:14px 0 4px;letter-spacing:-.02em}
  .meter .cap{color:#A9AB9C;font-size:14px}
  .bar{height:9px;border-radius:6px;background:rgba(228,227,215,.14);margin-top:22px;overflow:hidden}
  .bar i{display:block;height:100%;width:64%;background:linear-gradient(90deg,var(--verdigris),var(--moss-bright));border-radius:6px}
  .meter .legend{display:flex;justify-content:space-between;font-family:"IBM Plex Mono",monospace;font-size:10.5px;color:#8d8f80;margin-top:10px;letter-spacing:.06em}

  /* ============ HOW (real sequence → numbered) ============ */
  .how-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}
  .how-col h3{font-family:"Fraunces";font-size:24px;font-weight:600;margin-bottom:22px;display:flex;align-items:center;gap:12px}
  .how-col h3 .t{font-size:12px}
  .step{display:flex;gap:18px;padding:18px 0;border-top:1px solid var(--line)}
  .step .no{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--oak-deep);padding-top:3px;min-width:26px;letter-spacing:.08em}
  .step h4{font-family:"Hanken Grotesk";font-size:16.5px;font-weight:700;margin-bottom:4px}
  .step p{font-size:14.5px;color:#4f5447}

  /* guides */
  .guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .guide{border:1px solid var(--line);border-radius:5px;padding:22px;display:flex;flex-direction:column;gap:12px;background:var(--limewash-2);transition:border-color .2s,transform .2s var(--ease)}
  .guide:hover{border-color:var(--moss);transform:translateY(-2px)}
  .guide .gk{align-self:flex-start}
  .guide h3{font-family:"Fraunces";font-size:19px;font-weight:600;line-height:1.15}
  .guide .more{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--oak);margin-top:auto}

  /* CTA */
  .cta{background:var(--moss);color:#F3F2E8}
  .cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:54px 28px}
  .cta h2{color:#F4F3E9;font-size:clamp(28px,3.4vw,40px);max-width:16em}
  .cta p{color:#E7E8D6;margin-top:10px;max-width:28em}
  .cta .acts{display:flex;gap:12px;flex-shrink:0}
  .cta .btn{background:var(--slate);border-color:var(--slate)}
  .cta .btn--ghost{background:transparent;border-color:rgba(243,242,232,.4);color:#F3F2E8}

  /* footer */
  footer{background:var(--slate-deep);color:#B7B9AB;padding:64px 0 40px}
  .foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;padding-bottom:40px;border-bottom:1px solid rgba(228,227,215,.1)}
  footer .mark{font-family:"Fraunces";font-weight:900;font-size:24px;color:#EDECE1}
  footer .mark b{color:var(--moss-bright)}
  footer .ftag{margin-top:14px;color:#8d8f80;max-width:26em;font-size:14.5px}
  footer .triad-mini{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--moss-bright);margin-top:18px}
  footer h5{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#7e8071;margin-bottom:14px}
  footer ul{list-style:none;display:flex;flex-direction:column;gap:9px}
  footer ul a{font-size:14.5px;color:#B7B9AB;transition:color .2s}
  footer ul a:hover{color:#EDECE1}
  .foot-base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:24px;font-size:12.5px;color:#74766a}

  /* reveal */
  .rv{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
  .rv.in{opacity:1;transform:none}

  /* load-in for strata */
  .band{opacity:0;transform:scaleY(.2)}
  .strata.go .band{opacity:1;transform:scaleY(1);transition:opacity .5s var(--ease),transform .55s var(--ease)}
  .strata.go .band:nth-child(1){transition-delay:.05s}
  .strata.go .band:nth-child(2){transition-delay:.15s}
  .strata.go .band:nth-child(3){transition-delay:.25s}
  .strata.go .band:nth-child(4){transition-delay:.35s}
  .strata.go .band:nth-child(5){transition-delay:.45s}
  .strata.go .band:nth-child(6){transition-delay:.55s}
  .sprigs i{transform:scaleY(0);transition:transform .4s var(--ease)}
  .strata.go .sprigs i{transform:scaleY(1)}
  .strata.go .sprigs i:nth-child(odd){transition-delay:.7s}
  .strata.go .sprigs i:nth-child(even){transition-delay:.8s}

  /* ============ RESPONSIVE ============ */
  @media(max-width:980px){
    .hero-grid{grid-template-columns:1fr;gap:40px}
    .strata{height:340px}
    .restore-grid{grid-template-columns:1fr;gap:40px;padding:64px 0}
    .cta .wrap{flex-direction:column;align-items:flex-start}
    .impact .row{grid-template-columns:repeat(2,1fr)}
    .stat:nth-child(3){border-left:none}
    .stat{border-top:1px solid var(--line-soft)}
    .stat:nth-child(-n+2){border-top:none}
    .cat-grid{grid-template-columns:repeat(2,1fr)}
    .yard-grid,.guide-grid{grid-template-columns:1fr 1fr}
    .how-grid{grid-template-columns:1fr;gap:34px}
    .foot-grid{grid-template-columns:1fr 1fr}
  }
  @media(max-width:640px){
    body{font-size:16px}
    .navlinks{display:none}
    .menu-toggle{display:inline-block}
    .navlinks.open{display:flex;position:absolute;top:68px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:var(--limewash);border-bottom:1px solid var(--line);padding:8px 28px 18px}
    .navlinks.open a{padding:11px 0;width:100%;border-bottom:1px solid var(--line-soft)}
    .search{flex-direction:column}
    .search .field+.field{border-left:none;border-top:1px solid var(--line-soft)}
    .cat-grid{grid-template-columns:1fr 1fr}
    .yard-grid,.guide-grid{grid-template-columns:1fr}
    .hero{padding:48px 0}
    section.block{padding:58px 0}
    .head-row{flex-direction:column;align-items:flex-start}
  }
  @media(prefers-reduced-motion:reduce){
    *{transition:none!important;animation:none!important}
    .rv{opacity:1;transform:none}
    .band,.sprigs i{opacity:1;transform:none}
  }
  #snap{position:fixed;inset:0;z-index:200;display:none;align-items:flex-start;justify-content:center;background:rgba(25,29,24,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow-y:auto;padding:32px 18px}
  #snap.open{display:flex}
  #snap .shell{max-width:620px;width:100%;margin:auto;position:relative}
  #snap .snap-close{position:absolute;top:14px;right:14px;z-index:3;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--limewash);color:var(--slate);font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
  #snap .snap-close:hover{background:var(--paper-tag)}
  #snap .card{background:var(--limewash-2);border:1px solid var(--line);border-radius:8px;padding:24px;box-shadow:0 24px 60px -30px rgba(25,29,24,.85);position:relative}
  #snap .tag{font-family:"IBM Plex Mono",monospace;font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--oak-deep);background:var(--paper-tag);border:1px solid var(--line);border-radius:var(--r);padding:4px 9px;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
  #snap .tag::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--moss)}
  #snap .tag.plain::before{display:none}
  #snap .tag.v::before{background:var(--verdigris)}
  #snap .head{margin-bottom:20px;padding-right:34px}
  #snap .head .brand{display:flex;align-items:baseline;gap:9px;margin-bottom:14px}
  #snap .head .mark{font-family:"Fraunces";font-weight:900;font-size:20px}
  #snap .head .mark b{color:var(--moss)}
  #snap .head h1{font-size:27px;margin-top:10px;font-family:"Fraunces";font-weight:900;letter-spacing:-.01em;line-height:1.05}
  #snap .head p{color:#474c40;margin-top:7px;font-size:15px}
  #snap .drop{border:1.5px dashed var(--line);border-radius:7px;background:rgba(255,255,255,.25);padding:34px 20px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;display:block}
  #snap .drop:hover,#snap .drop.drag{border-color:var(--oak);background:rgba(138,90,56,.05)}
  #snap .drop svg{width:38px;height:38px;color:var(--oak);margin-bottom:12px}
  #snap .drop .big{font-family:"Fraunces";font-weight:600;font-size:18px}
  #snap .drop .sm{font-size:13px;color:#5b604f;margin-top:5px}
  #snap .drop .ip{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.06em;color:var(--oak-deep);margin-top:14px}
  #snap input[type=file]{display:none}
  #snap .preview{position:relative;border-radius:7px;overflow:hidden;border:1px solid var(--line);margin-bottom:16px}
  #snap .preview img{display:block;width:100%;max-height:320px;object-fit:cover}
  #snap .preview .re{position:absolute;top:10px;right:10px;background:rgba(25,29,24,.82);color:#EDECE1;border:none;border-radius:var(--r);padding:7px 12px;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.06em;cursor:pointer}
  #snap .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:inherit;font-weight:600;font-size:15px;background:var(--slate);color:var(--limewash);padding:13px 20px;border-radius:var(--r);border:1px solid var(--slate);cursor:pointer;transition:transform .15s var(--ease),background .2s;width:100%}
  #snap .btn:hover{transform:translateY(-1px);background:#2c3329}
  #snap .btn:disabled{opacity:.55;cursor:default;transform:none}
  #snap .btn.moss{background:var(--moss);border-color:var(--moss);color:#F3F2E8}
  #snap .btn.moss:hover{background:#52603a}
  #snap .btn.ghost{background:transparent;color:var(--slate);border-color:var(--line)}
  #snap .btn.ghost:hover{background:rgba(32,37,31,.04)}
  #snap .btn-row{display:flex;gap:10px;margin-top:8px}
  #snap .loading{display:flex;align-items:center;gap:14px;padding:20px;background:rgba(255,255,255,.3);border:1px solid var(--line-soft);border-radius:7px;margin-top:6px}
  #snap .spin{width:22px;height:22px;border:2.5px solid var(--line);border-top-color:var(--oak);border-radius:50%;animation:snapspin .8s linear infinite;flex-shrink:0}
  @keyframes snapspin{to{transform:rotate(360deg)}}
  #snap .loading .lt{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.04em;color:#5b604f}
  #snap .note{font-size:13px;border-radius:6px;padding:12px 14px;margin-top:12px;line-height:1.45}
  #snap .note.warn{background:rgba(138,90,56,.08);border:1px solid rgba(138,90,56,.25);color:var(--oak-deep)}
  #snap .note.lo{background:rgba(94,139,126,.1);border:1px solid rgba(94,139,126,.3);color:#3c5a4f}
  #snap .draft{margin-top:4px}
  #snap .draft .conf{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:10px}
  #snap .field{margin-bottom:14px}
  #snap .field label{display:block;font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--oak-deep);margin-bottom:6px}
  #snap .field input,#snap .field select,#snap .field textarea{width:100%;font-family:inherit;font-size:15px;color:var(--slate);background:var(--limewash);border:1px solid var(--line);border-radius:var(--r);padding:11px 12px}
  #snap .field textarea{resize:vertical;min-height:64px;line-height:1.5}
  #snap .field input:focus,#snap .field select:focus,#snap .field textarea:focus{outline:2px solid var(--verdigris);outline-offset:1px;border-color:var(--verdigris)}
  #snap .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  #snap .hint{font-size:12px;color:#6a6f60;margin-top:5px}
  #snap .lockrow{display:flex;align-items:center;gap:9px;font-size:13px;color:#5b604f;background:rgba(32,37,31,.04);border:1px solid var(--line-soft);border-radius:6px;padding:10px 12px;margin-bottom:14px}
  #snap .lockrow svg{width:15px;height:15px;color:var(--moss);flex-shrink:0}
  #snap .seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;width:100%}
  #snap .seg button{flex:1;border:none;background:transparent;padding:10px;cursor:pointer;font:inherit;color:#5b604f}
  #snap .seg button[aria-pressed="true"]{background:var(--slate);color:var(--limewash)}
  #snap .listing{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:var(--limewash);margin-top:8px}
  #snap .listing .li-ph{position:relative}
  #snap .listing .li-ph img{display:block;width:100%;max-height:240px;object-fit:cover}
  #snap .listing .li-tags{position:absolute;top:10px;left:10px;display:flex;gap:6px;flex-wrap:wrap}
  #snap .listing .li-body{padding:16px 18px}
  #snap .listing h3{font-family:"Fraunces";font-size:20px;font-weight:600}
  #snap .listing .li-meta{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.06em;color:#5b604f;margin:6px 0 10px}
  #snap .listing p{font-size:14.5px;color:#474c40}
  #snap .success-h{display:flex;align-items:center;gap:10px;margin-bottom:6px}
  #snap .success-h svg{width:22px;height:22px;color:var(--moss)}
  #snap .success-h h2{font-size:23px;font-family:"Fraunces";font-weight:900}
  #snap .impact{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--moss);margin-top:14px;display:flex;align-items:center;gap:7px}
  #snap .impact svg{width:14px;height:14px}
  #snap .foot{font-size:12px;color:#74766a;margin-top:18px;line-height:1.5;border-top:1px solid var(--line-soft);padding-top:14px}
  #snap .foot b{color:#474c40}
  #snap .hidden{display:none!important}
  @media(max-width:480px){#snap .two{grid-template-columns:1fr}}
  @media(prefers-reduced-motion:reduce){#snap *{transition:none!important;animation:none!important}}
