:root{--green:#0f3d2e;--gold:#e8b53a;--paper:#fbfaf6;--white:#fff;--ink:#14201b;--mute:#6b746f;--line:#e4e1d8;--coral:#0f3d2e}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:"Helvetica Neue",Inter,Arial,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}img{max-width:100%;display:block}
/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);color:var(--green);display:flex;align-items:center;justify-content:space-between;padding:14px clamp(16px,5vw,64px);gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.nav .brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;letter-spacing:.22em;text-transform:uppercase;font-size:.85rem}
.nav .brand img{width:38px;height:38px;border-radius:6px}
.nav nav{display:flex;gap:clamp(14px,3vw,36px);flex-wrap:wrap}
.nav nav a{text-decoration:none;font-size:.74rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;position:relative;padding:4px 0}
.nav nav a::after{content:"";position:absolute;left:0;bottom:-2px;height:1px;width:0;background:var(--green);transition:width .25s}
.nav nav a:hover::after{width:100%}
/* hero */
.hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,72px);align-items:center;max-width:1320px;margin:0 auto;padding:clamp(48px,8vw,110px) clamp(16px,5vw,64px)}
.hero-text{animation:rise .8s ease both}
.hero-img{margin:0;aspect-ratio:4/3;overflow:hidden;background:#eee}
.hero-img img{width:100%;height:100%;object-fit:cover}
.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--green);display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--gold)}
h1.display{font-size:clamp(2.8rem,6.4vw,5.6rem);line-height:.92;margin:.35em 0 .4em;font-weight:900;letter-spacing:-.025em;text-transform:uppercase;color:var(--green)}
.hero p.lede{max-width:440px;margin:0 0 34px;font-size:1.08rem;color:var(--mute)}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
/* buttons */
.btn,button{display:inline-block;border:1px solid var(--green);border-radius:0;padding:14px 26px;font-weight:700;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;text-decoration:none;background:var(--green);color:#fff;transition:background .2s,color .2s,border-color .2s;margin:0 6px 8px 0;font-family:inherit}
.btn:hover,button:hover{background:#0a2c21}
.btn.shop-cta{background:var(--gold);border-color:var(--gold);color:var(--green)}.btn.shop-cta:hover{background:#d9a52c}
.btn.ghost{background:transparent;color:var(--green)}.btn.ghost:hover{background:var(--green);color:#fff}
button.secondary{background:transparent;color:var(--green);padding:10px 16px;font-size:.7rem}button.secondary:hover{background:var(--green);color:#fff}
.btn.soon,button.soon{cursor:default}
button.soon{background:transparent;color:var(--mute);border-color:var(--line)}button.soon:hover{background:transparent}
.btn.shop-cta.soon:hover{background:var(--gold)}
/* sections */
section.band{padding:clamp(64px,9vw,120px) clamp(16px,5vw,64px);border-top:1px solid var(--line)}
.wrap{max-width:1192px;margin:0 auto}
h2.big{font-size:clamp(2rem,4.6vw,3.6rem);line-height:.98;font-weight:900;text-transform:uppercase;letter-spacing:-.02em;margin:.45em 0 .9em;color:var(--green);max-width:820px}
.dark,.ink{background:var(--white)}
.trust{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 48px;padding:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);color:var(--green);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700}
.trust span b{color:var(--gold)}.trust em{font-style:normal;color:var(--mute)}
.intro{margin:-28px 0 40px}
/* gallery */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 22px}
.gallery figure{margin:0;display:flex;flex-direction:column}
.gallery img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:opacity .4s}
.gallery figure:hover img{opacity:.88}
.gallery figcaption{padding-top:14px;margin-top:14px;border-top:1px solid var(--line);color:var(--green);font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:.72rem}
/* shop */
.shop{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.product{background:transparent;display:flex;flex-direction:column}
.product .img{aspect-ratio:1/1;overflow:hidden;background:var(--paper)}.product .img img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.product:hover .img img{transform:scale(1.04)}
.product .body{padding:18px 0 0;display:flex;flex-direction:column;gap:6px;flex:1;border-top:0}
.product h3{margin:4px 0 0;font-size:.95rem;text-transform:uppercase;letter-spacing:.1em;color:var(--green)}
.product .price{font-size:1.05rem;font-weight:700;color:var(--ink)}
.product .meta{color:var(--mute);font-size:.88rem;flex:1;margin:4px 0}
.product button{margin:10px 0 0;width:100%}
.tag{display:inline-block;color:var(--green);font-size:.64rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:0 0 3px;border-bottom:2px solid var(--gold);width:max-content}
.note{margin-top:8px;font-size:.8rem;color:var(--green);min-height:1.2em}
/* about + tools */
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:56px;align-items:start}
.split p{font-size:1.05rem;color:#3c4741}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0;border-top:1px solid var(--green)}
.card{background:var(--white);color:var(--ink);padding:24px;border:1px solid var(--line)}
.cards .card{border:0;border-bottom:1px solid var(--line);padding:30px 28px 30px 0;background:transparent}
a.card{text-decoration:none;display:block}
a.card h3{color:var(--green);text-transform:uppercase;letter-spacing:.1em;font-size:1rem}
a.card h3::after{content:" →";color:var(--gold);transition:margin .2s}a.card:hover h3::after{margin-left:8px}
.news{background:var(--paper);text-align:center}
.news .eyebrow{justify-content:center}.news h2.big{margin-left:auto;margin-right:auto}
.news p.lede{max-width:560px;margin:0 auto 30px;color:var(--mute)}
/* tool pages */
main{max-width:960px;margin:0 auto;padding:48px 18px 80px}
main h2{text-transform:uppercase;letter-spacing:.08em;color:var(--green);font-size:1.1rem;margin-top:40px}
main h3{text-transform:uppercase;letter-spacing:.1em;color:var(--green);font-size:.95rem;margin-top:0}
label{display:block;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-top:8px;color:var(--mute)}
input,select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:0;font-size:1rem;background:#fff;font-family:inherit;margin-top:6px}
input:focus,select:focus{outline:0;border-color:var(--green);box-shadow:0 0 0 1px var(--green)}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
table{width:100%;border-collapse:collapse;background:#fff;font-size:.92rem}td,th{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left}th{color:var(--green);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid var(--green)}
.stat{font-size:2rem;font-weight:900;color:var(--green)}.muted{color:var(--mute);font-size:.88rem}
.pagehead{background:var(--white);color:var(--green);padding:clamp(48px,7vw,90px) 18px 40px;text-align:center;border-bottom:1px solid var(--line)}
.pagehead .eyebrow{justify-content:center}
.pagehead h1{margin:.3em 0 .2em;font-size:clamp(2.2rem,6vw,4.4rem);font-weight:900;text-transform:uppercase;line-height:1;letter-spacing:-.02em}
.pagehead p{color:var(--mute);margin:0}
footer{background:var(--green);color:#c9d6cf;padding:64px clamp(16px,5vw,64px) 30px;font-size:.9rem}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px;max-width:1192px;margin:0 auto}
footer h4{color:#fff;text-transform:uppercase;letter-spacing:.22em;font-size:.7rem;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.15)}footer a{text-decoration:none}footer a:hover{color:var(--gold)}
footer .fine{max-width:1192px;margin:40px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);font-size:.72rem;letter-spacing:.06em;color:#8fa79b}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.nl-form{display:flex;gap:0;max-width:520px;margin:0 auto;flex-wrap:wrap;justify-content:center}
.nl-form input{flex:1 1 260px;width:auto;margin:0;padding:15px 18px;border-color:var(--green)}
.nl-form button{margin:0;background:var(--gold);border-color:var(--gold);color:var(--green)}.nl-form button:hover{background:#d9a52c}
.nl-msg{min-height:1.4em;margin-top:14px;font-weight:700}.nl-msg.ok{color:var(--green)}.nl-msg.err{color:#b4442b}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:900px){.hero{grid-template-columns:1fr}.hero-img{order:-1}.gallery{grid-template-columns:repeat(2,1fr)}.shop{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.shop{grid-template-columns:1fr}.gallery{gap:20px 12px}.gallery figcaption{font-size:.62rem;letter-spacing:.1em}.product .img{aspect-ratio:16/10}.nl-form input,.nl-form button{flex:1 1 100%}.nl-form button{margin-top:10px}.nav{justify-content:center}}
