/* peakslope — independent theme */
@font-face{font-family:'Outfit';src:url('/assets/fonts/outfit-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Outfit';src:url('/assets/fonts/outfit-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Outfit';src:url('/assets/fonts/outfit-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Outfit';src:url('/assets/fonts/outfit-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Space Grotesk';src:url('/assets/fonts/spacegrotesk-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Space Grotesk';src:url('/assets/fonts/spacegrotesk-500.woff2') format('woff2');font-weight:500;font-display:swap}
:root{
  --bg:#E8EEE9; --ink:#1C2A24; --accent:#3D6B52; --muted:#5C6F66;
  --card:#F4F7F5; --line:#D3DDD6;
  --display:"Outfit", system-ui, sans-serif;
  --body:"Space Grotesk", system-ui, sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);line-height:1.55}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.kicker{letter-spacing:.18em;text-transform:uppercase;font-size:11px;color:var(--accent);margin:0 0 8px}
.lede{font-size:18px;max-width:28em;color:var(--muted)}
.meta{color:var(--muted);font-size:14px}
.btn{display:inline-block;background:var(--ink);color:var(--bg);padding:12px 22px;border-radius:999px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;border:0;cursor:pointer;font:inherit}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.wordmark{font-family:var(--display);font-weight:500;font-size:42px;margin:8px 0 28px}
.wrap{width:min(1180px,calc(100% - 48px));margin:0 auto}
.section{padding:64px 0}
.empty{padding:80px 0;text-align:center}

.ph-announce{background:var(--ink);color:#F6F1EA;text-align:center;font-size:12px;letter-spacing:.08em;padding:8px 16px;text-transform:uppercase}
.ph-mast{padding:18px 0 8px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(246,241,234,.92);backdrop-filter:blur(8px);z-index:20}
.ph-mast-row{width:min(1180px,calc(100% - 48px));margin:0 auto;display:flex;align-items:center;justify-content:space-between}
.ph-wordmark{font-family:var(--display);font-size:28px;font-weight:500;letter-spacing:-.03em}
.ph-nav{display:flex;gap:22px;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.ph-nav a:hover{color:var(--accent)}

.hero{display:grid;grid-template-columns:1fr 1fr;min-height:0}
.hero-copy{padding:48px 48px;display:flex;flex-direction:column;justify-content:center;gap:16px}
.hero h1{font-family:var(--display);font-size:clamp(32px,4.4vw,52px);line-height:1.02;font-weight:500;margin:0}
.hero-photo{margin:0;background:#ddd;overflow:hidden;max-height:380px}
.hero-photo img{width:100%;height:380px;object-fit:cover;object-position:center 30%;display:block;transition:transform .6s ease}
.hero:hover .hero-photo img{transform:scale(1.04)}

.albums{display:grid;grid-template-columns:repeat(4,1fr)}
.album{position:relative;min-height:240px;overflow:hidden;color:#F6F1EA}
.album img{width:100%;height:100%;object-fit:cover;min-height:240px;filter:brightness(.72);transition:transform .5s ease,filter .4s ease}
.album:hover img{transform:scale(1.06);filter:brightness(.85)}
.album div{position:absolute;left:22px;bottom:22px;right:22px}
.album h3{font-family:var(--display);font-weight:500;font-size:22px;margin:6px 0 0}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.card{background:var(--card);border:1px solid var(--line);padding:14px 14px 22px;transition:transform .25s ease,box-shadow .25s ease}
.card:hover{transform:translateY(-6px);box-shadow:0 16px 32px rgba(42,33,24,.12)}
.card img{aspect-ratio:1;object-fit:cover;background:#eee;transition:transform .45s ease}
.card:hover img{transform:scale(1.04)}
.card h3{font-family:var(--display);font-weight:500;margin:14px 0 4px;font-size:22px}

.story{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--bg)}
.story>div{padding:64px}
.story h2{font-family:var(--display);font-weight:500;font-size:42px;margin:8px 0 16px}
.story p{color:#C9B5A4;max-width:28em}
.story .kicker{color:#E8C2A8}
.story .btn.ghost{color:#F6F1EA;border-color:#F6F1EA}
.story figure{margin:0;overflow:hidden}
.story img{width:100%;height:100%;object-fit:cover;min-height:360px}

.pdp{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;padding:48px 0 40px}
.gallery{display:grid;gap:12px}
.gallery img[data-main]{width:100%;background:#eee}
.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.thumbs img{aspect-ratio:1;object-fit:cover;cursor:pointer;border:1px solid transparent}
.thumbs img.on{border-color:var(--ink)}
.pdp h1{font-family:var(--display);font-weight:500;font-size:44px;margin:0 0 8px}
.price{font-size:22px;margin:8px 0 18px}
.was{color:var(--muted);text-decoration:line-through;margin-left:10px;font-size:16px}
.variants{margin:16px 0}
.v-attr{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.v-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.v-pill{border:1px solid var(--line);background:var(--card);padding:8px 14px;border-radius:999px;font-size:13px;cursor:pointer;font:inherit}
.v-pill.on,.v-pill:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.qty{display:flex;gap:8px;align-items:center;margin:16px 0}
.qty input{width:64px;padding:10px;border:1px solid var(--line);background:var(--card);font:inherit}
.pdp a{color:var(--accent)}

.pdp-body{padding:0 0 80px}
.hl-block h2{font-family:var(--display);font-weight:500;font-size:32px;margin:6px 0 16px}
.hl-list{margin:0;padding:0;list-style:none;counter-reset:n}
.hl-list li{counter-increment:n;padding:14px 0 14px 48px;border-bottom:1px solid var(--line);position:relative}
.hl-list li:before{content:counter(n, decimal-leading-zero);position:absolute;left:0;font-family:var(--display);color:var(--accent)}
.specs{width:100%;border-collapse:collapse;margin:12px 0 28px;font-size:14px}
.specs td{border-bottom:1px solid var(--line);padding:8px 0}
.specs td:first-child{color:var(--muted);width:180px}
.note-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:12px}
.note-grid article{background:var(--card);border:1px solid var(--line);padding:22px}
.note-grid h3{font-family:var(--display);font-weight:500;margin:0 0 8px}

.ph-foot{border-top:1px solid var(--line);background:#2A2118;color:#F6F1EA;margin-top:24px}
.ph-foot a{color:#F6F1EA}
.ph-foot-inner{width:min(1180px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:1.4fr .8fr .8fr 1.2fr;gap:40px;padding:64px 0 48px}
.ph-foot-brand .ph-wordmark{color:#F6F1EA;font-size:36px}
.ph-foot-tag{color:#C9B5A4;max-width:22em;margin:10px 0 22px}
.ph-ghost{display:inline-block;color:#F6F1EA;border:1px solid #F6F1EA;padding:10px 16px;border-radius:999px;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.ph-ghost:hover{background:#F6F1EA;color:#2A2118}
.ph-foot-col{display:flex;flex-direction:column;gap:8px;font-size:14px}
.ph-foot-col h3{margin:0 0 10px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#C46A3A}
.ph-foot-col a:hover{color:#E8C2A8}
.ph-foot-col p{margin:0 0 12px;color:#C9B5A4;line-height:1.55}
.ph-foot-bar{width:min(1180px,calc(100% - 48px));margin:0 auto;border-top:1px solid #4A3C32;padding:18px 0 28px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#A89282;font-size:12px}

.ph-policy{padding:48px 0 96px}
.ph-policy-hero{max-width:38em;margin-bottom:40px}
.ph-kicker{letter-spacing:.18em;text-transform:uppercase;font-size:11px;color:var(--accent);margin:0 0 8px}
.ph-policy-hero h1{font-family:var(--display);font-weight:500;font-size:clamp(36px,5vw,56px);line-height:1.05;margin:8px 0 14px}
.ph-lede{color:var(--muted);font-size:16px}
.ph-policy-split{display:grid;grid-template-columns:1.4fr .8fr;gap:40px}
.ph-policy-copy h2{font-family:var(--display);font-weight:500;font-size:26px;margin:28px 0 8px}
.ph-policy-copy p{color:var(--muted);line-height:1.7}
.ph-policy-copy a,.ph-policy a{color:var(--accent)}
.ph-policy-card{background:var(--card);border:1px solid var(--line);padding:28px;position:sticky;top:88px}
.ph-policy-card p{margin:0 0 12px;color:var(--muted)}
.ph-policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:8px 0 36px}
.ph-policy-grid article{background:var(--card);border:1px solid var(--line);padding:22px}
.ph-policy-grid h2{font-family:var(--display);font-weight:500;font-size:22px;margin:0 0 8px}
.ph-policy-grid p{color:var(--muted);margin:0}
.ph-policy-steps{list-style:none;margin:0;padding:0;counter-reset:p}
.ph-policy-steps li{counter-increment:p;padding:22px 0 22px 56px;border-bottom:1px solid var(--line);position:relative}
.ph-policy-steps li:before{content:counter(p, decimal-leading-zero);position:absolute;left:0;top:22px;font-family:var(--display);color:var(--accent);font-size:20px}
.ph-policy-steps h2{font-family:var(--display);font-weight:500;font-size:24px;margin:0 0 8px}
.ph-policy-steps p{color:var(--muted);margin:0}
.ph-updated{color:var(--muted);font-size:13px;margin-top:28px}
.ph-form{display:grid;gap:12px;max-width:520px}
.ph-form input,.ph-form textarea{width:100%;padding:12px 14px;border:1px solid var(--line);background:var(--card);font:inherit}
.ph-flash{background:#e7f3ea;border:1px solid #b7d7c2;padding:12px 14px;margin:16px 0}
.ph-flash.err{background:#fbe9e6;border-color:#e3b6ad}

.wa{position:fixed;right:22px;bottom:22px;background:#25D366;color:#083b1a;padding:13px 18px;letter-spacing:.12em;text-transform:uppercase;font-size:11px;z-index:40;box-shadow:0 10px 28px rgba(0,0,0,.22);border-radius:999px;animation:wa-float 2.8s ease-in-out infinite}
.wa:hover{filter:brightness(1.05)}
@keyframes wa-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

.ps-banner{position:relative;max-height:320px;overflow:hidden}
.ps-banner img{width:100%;height:320px;object-fit:cover;filter:brightness(.55)}
.ps-banner-copy{position:absolute;left:40px;bottom:36px;color:#f4f7f5;max-width:28em}
.ps-banner-copy h1{font-family:var(--display);font-size:clamp(28px,4vw,44px);margin:8px 0}
.ps-kit{padding:48px 0 80px}
.ps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ps-card{background:var(--card);border:1px solid var(--line);padding:10px 10px 16px}
.ps-card img{aspect-ratio:1;object-fit:cover}
.ps-card h3{font-family:var(--display);font-size:18px;margin:10px 0 4px}
.ps-pdp{padding-bottom:60px}
.ps-stage img[data-main]{width:100%;max-height:52vh;object-fit:cover;background:var(--card)}
.ps-thumbs{display:flex;gap:8px;padding:10px 0;overflow:auto}
.ps-thumbs img{width:88px;height:88px;object-fit:cover;opacity:.6;cursor:pointer}
.ps-thumbs img.on{opacity:1;outline:2px solid var(--accent)}
.ps-info{padding-top:28px}
.ps-info h1{font-family:var(--display);font-size:34px;margin:0 0 8px}
.ps-table{width:100%;border-collapse:collapse;margin-top:22px}
.ps-table th,.ps-table td{border-bottom:1px solid var(--line);padding:10px 0;text-align:left}
.ps-table th{width:160px;color:var(--muted);font-weight:500}

@media (max-width:900px){
  .hero,.pdp,.story,.grid,.albums,.note-grid,.ph-foot-inner,.ph-policy-split,.ph-policy-grid,.ps-grid{grid-template-columns:1fr}
  .hero-copy,.story>div{padding:36px 22px}
  .ph-policy-card{position:static}
}

/* soft pass — trail kit, 12px outdoor */
img,figure{border-radius:12px}
.btn,.v-pill{border-radius:999px}
.ps-hero,.ps-thumbs img,.ps-card,.ps-card img,.ps-banner,.ps-banner img,.ph-policy-card,.ph-policy-grid article,.card{border-radius:14px;overflow:hidden}
.ps-stock{border-radius:999px}
.ph-form input,.ph-form textarea,.ph-flash{border-radius:12px}
.ph-nav a{padding:6px 10px;border-radius:999px}

/* --- rebuilt home --- */
.ps-banner{position:relative;min-height:460px;overflow:hidden;border-radius:0}
.ps-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.62)}
.ps-banner-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,30,26,.88) 0%,rgba(20,30,26,.62) 45%,rgba(20,30,26,.18) 100%)}
.ps-banner-copy{position:relative;z-index:2;width:min(1180px,calc(100% - 48px));margin:0 auto;padding:64px 0;display:flex;flex-direction:column;justify-content:flex-end;min-height:460px}
.ps-banner-copy .kicker{color:#8FBF9F}
.ps-banner-copy h1{font-family:var(--display);font-size:clamp(30px,4.6vw,52px);margin:8px 0 12px;color:#fff;line-height:1.08}
.ps-banner-copy p{color:#DCE6DF;max-width:32em;margin:0 0 18px}
.ps-banner-cta{display:flex;gap:12px;flex-wrap:wrap}
.ps-banner .btn.ghost{color:#fff;border-color:rgba(255,255,255,.6);background:transparent}
.ps-cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:28px 0 8px}
.ps-cat{background:var(--card);border:1px solid var(--line);overflow:hidden}
.ps-cat img{width:100%;height:190px;object-fit:cover}
.ps-cat div{padding:12px 14px 16px}
.ps-cat span{font-size:11px;letter-spacing:.18em;color:var(--accent)}
.ps-cat h3{font-family:var(--display);font-size:19px;margin:2px 0 2px;font-weight:500}
.ps-cat p{margin:0;font-size:12.5px;color:var(--muted)}
.ps-spec{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:22px 0 8px}
.ps-spec article{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--accent);padding:16px}
.ps-spec strong{display:block;font-family:var(--display);font-size:19px;margin-bottom:4px}
.ps-spec span{font-size:12.5px;color:var(--muted);line-height:1.5}
.ps-kit h2{font-family:var(--display);font-size:clamp(24px,3.2vw,34px);margin:6px 0 18px;font-weight:500}
.ps-cat-tag{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:10px 0 2px}
.ps-card h3{margin:0 0 4px}
.ps-desc{font-size:13px;color:var(--muted);margin:0 0 8px;line-height:1.5}
.ps-price{display:flex;align-items:center;gap:10px;margin:0;font-size:15px}
.ps-price span{margin-left:auto;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ps-row{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.ps-row img{width:96px;height:96px;object-fit:cover}
.ps-row h3{font-family:var(--display);font-size:20px;margin:2px 0;font-weight:500}
.ps-row p{margin:0;color:var(--muted);font-size:13px}
.ps-all{padding:22px 0 64px}
@media (max-width:900px){.ps-cats,.ps-spec{grid-template-columns:1fr}.ps-banner-copy{padding:28px 0;min-height:340px}}
