/* ===== tokens (the ONLY place raw hex lives) ===== */
:root{
  /* palette (CONCEPT.md) */
  --case-grey:#D9DDE1;
  --deck-black:#0D0D0F;
  --mixer-black:#1A1A1A;
  --chalk-grey:#E6E8EA;
  --aluminium:#9A9A9C;
  --felt:#4A4A4A;
  --tag-yellow:#FFD400;
  --rec-red:#C8102E;
  /* frosted surfaces */
  --frost-alpha:.62;
  --frost:rgba(255,255,255,var(--frost-alpha));
  --frost-blur:18px;
  --frost-veil:rgba(255,255,255,.25);
  --chalk-50:rgba(230,232,234,.5);
  /* hero media scrim (deck black, top to bottom) */
  --scrim-top:rgba(13,13,15,.35);
  --scrim-bot:rgba(13,13,15,.6);
  --scrim-bundle:rgba(13,13,15,.7);
  /* problems spotlight */
  --spot-r:160px;
  --lift-sm:-4px;
  --prob-num-min:64px;
  --prob-num-max:96px;
  /* wordmark variants */
  --pill-h:2.75rem;
  --logo-size:1.4rem;
  --hole-x:.95em;
  --hole-r:.3em;
  --tag-pad-l:1.7em;
  --chamfer:8px;
  --cap-w:10px;
  --cap-h:16px;
  --cap-r:2px;
  --fader-pos:30%;
  --word-ghost:rgba(255,255,255,.24);
  --hairline:rgba(154,154,156,.5);
  --card-shadow:rgba(13,13,15,.14);
  /* type */
  --font-display:"Big Shoulders Display", sans-serif;
  --font-body:"Hanken Grotesk", sans-serif;
  --font-mono:"JetBrains Mono", monospace;
  /* spacing scale */
  --s-1:.25rem; --s-2:.5rem; --s-3:.75rem; --s-4:1rem; --s-5:1.5rem;
  --s-6:2rem; --s-7:3rem; --s-8:4.5rem; --s-9:6.5rem;
  /* radius scale */
  --r-1:8px; --r-2:14px; --r-3:20px; --r-4:28px; --r-pill:999px;
  /* motion tokens (one each, shared site-wide) */
  --ease:cubic-bezier(.22,.61,.36,1);
  --dur:.24s;
  --dur-reveal:.6s;
  /* layout */
  --container:1400px;
  --pad-x:clamp(1rem, 5vw, 4rem);
  --nav-top:16px;
  --icon:18px;
  --card-max:1100px;
  --news-max:340px;
  /* foam field */
  --foam-cell:28px;
  --foam-gap:2px;
  --foam-press:90px;
  /* shadows */
  --shadow-1:0 6px 24px;
  --shadow-2:0 24px 60px;
  --shadow-3:0 18px 40px;
  /* focus */
  --focus-w:2px;
  --focus-off:3px;
  /* hairline grow */
  --line-sm:24px;
  --line-lg:64px;
  /* reveal offset */
  --reveal-y:24px;
  /* tiles */
  --tile-h:280px;
  --tile-h-sm:200px;
  --blur-tile:6px;
  /* cards + tag */
  --lift:-6px;
  --tag-w:64px;
  --tag-h:34px;
  --persp:600px;
  /* chip triangle hole */
  --tri-h:5px;
  --tri-w:6px;
  /* bundle glow */
  --glow-r:220px;
  /* display word clamps */
  --word-min:96px;
  --word-hero-max:260px;
  --word-foot-max:160px;
  --word-sm-min:64px;
  --word-sm-max:120px;
  /* section rhythm */
  --sec-pad:5rem;
  --sec-pad-phone:3rem;
  /* round 6 */
  --hairline-20:rgba(154,154,156,.2);
  --chalk-40:rgba(230,232,234,.4);
  --word-ghost-yellow:rgba(255,212,0,.24);
  --foam-dot:16px;
  --bar-h:4px;
  --drawer-w:420px;
  --scrim-panel:rgba(13,13,15,.5);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{overflow-x:hidden;overflow-x:clip}
html{scroll-behavior:auto}
body{
  background:var(--case-grey);
  color:var(--mixer-black);
  font-family:var(--font-body);
  font-weight:400;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:var(--font-display);line-height:.94;letter-spacing:-.01em;text-transform:none}
a{color:inherit;text-decoration:none}
img,canvas,video{display:block;max-width:100%}
:focus-visible{outline:var(--focus-w) solid var(--tag-yellow);outline-offset:var(--focus-off)}

/* ===== layout utilities ===== */
.ps-container{max-width:var(--container);margin-inline:auto;padding-inline:var(--pad-x);width:100%}
.ps-bleed{width:100vw;margin-inline:calc(50% - 50vw)}
.ps-section{padding-block:var(--sec-pad)}
.ps-section--flush{padding-block:0}
.ps-section--dark{border-top:1px solid var(--hairline-20)}

/* ===== eyebrow + heading ===== */
.ps-eyebrow{display:flex;align-items:center;gap:var(--s-3);font-family:var(--font-mono);font-weight:500;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--felt);margin-bottom:var(--s-3)}
.ps-eyebrow::before{content:"";display:block;height:1px;width:var(--line-sm);background:var(--aluminium);transition:width .5s var(--ease)}
.ps-section.ps-in .ps-eyebrow::before{width:var(--line-lg)}
.ps-h2{font-weight:900;font-size:clamp(2rem,5vw,3.5rem);text-transform:uppercase}
.ps-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-5);flex-wrap:wrap;margin-bottom:var(--s-6)}

/* ===== buttons + links ===== */
.ps-btn{display:inline-flex;align-items:center;gap:var(--s-2);font-family:var(--font-body);font-weight:600;font-size:.95rem;padding:.85em 1.6em;border-radius:var(--r-pill);border:1px solid var(--mixer-black);background:var(--mixer-black);color:var(--case-grey);cursor:pointer;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease)}
.ps-btn:hover{background:var(--tag-yellow);border-color:var(--tag-yellow);color:var(--mixer-black)}
.ps-btn--outline{background:transparent;border-color:var(--aluminium);color:var(--mixer-black)}
.ps-btn--outline:hover{background:transparent;border-color:var(--mixer-black);color:var(--mixer-black)}
.ps-btn--on-dark{background:var(--tag-yellow);border-color:var(--tag-yellow);color:var(--mixer-black)}
.ps-btn--on-dark:hover{background:var(--tag-yellow);border-color:var(--tag-yellow);color:var(--mixer-black)}
/* dark sections: invert primary, chalk outline, keep the yellow accent */
.ps-section--dark .ps-btn{background:var(--chalk-grey);border-color:var(--chalk-grey);color:var(--mixer-black)}
.ps-section--dark .ps-btn:hover{background:var(--tag-yellow);border-color:var(--tag-yellow);color:var(--mixer-black)}
.ps-section--dark .ps-btn--outline{background:transparent;border-color:var(--chalk-50);color:var(--chalk-grey)}
.ps-section--dark .ps-btn--outline:hover{background:transparent;border-color:var(--chalk-grey);color:var(--chalk-grey)}
.ps-section--dark .ps-btn--on-dark{background:var(--tag-yellow);border-color:var(--tag-yellow);color:var(--mixer-black)}
.ps-section--dark .ps-btn--on-dark:hover{background:var(--tag-yellow);border-color:var(--tag-yellow);color:var(--mixer-black)}
.ps-link{position:relative;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-repeat:no-repeat;background-position:left bottom;transition:background-size .2s var(--ease)}
.ps-link:hover{background-size:100% 1px}

/* ===== reveal (visible-at-rest, hidden only under ps-js) ===== */
.ps-reveal{transition:opacity var(--dur-reveal) var(--ease),transform var(--dur-reveal) var(--ease)}
html.ps-js .ps-reveal:not(.is-in){opacity:0;transform:translateY(var(--reveal-y))}
html.ps-force-visible .ps-reveal{opacity:1 !important;transform:none !important}
.ps-vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ===== nav ===== */
.ps-nav{position:fixed;top:var(--nav-top);left:0;right:0;z-index:50;pointer-events:none;display:flex;padding-inline:var(--pad-x)}
.ps-nav__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);width:100%}
.ps-nav__group{display:flex;align-items:center;gap:var(--s-3);border:1px solid transparent;border-radius:var(--r-pill)}
.ps-nav--merged .ps-nav__group{background:var(--frost);-webkit-backdrop-filter:blur(var(--frost-blur));backdrop-filter:blur(var(--frost-blur));border-color:var(--hairline);box-shadow:var(--shadow-1) var(--card-shadow)}
.ps-nav__pill{pointer-events:auto;display:flex;align-items:center;gap:var(--s-5);min-height:var(--pill-h);background:var(--frost);-webkit-backdrop-filter:blur(var(--frost-blur));backdrop-filter:blur(var(--frost-blur));border:1px solid var(--hairline);border-radius:var(--r-pill);padding:.6em 1.2em;box-shadow:var(--shadow-1) var(--card-shadow)}
.ps-nav--merged .ps-nav__group .ps-nav__pill{background:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.ps-nav__pill--brand{position:relative}
.ps-nav__brand{display:inline-flex;align-items:center;color:var(--mixer-black)}
.ps-logo{display:none;font-family:var(--font-display);font-weight:900;text-transform:lowercase;letter-spacing:-.02em}
/* one-line wordmark (the only variant) */
.ps-logo--stencil{display:inline-flex;font-size:var(--logo-size);letter-spacing:-.01em;line-height:1}
.ps-nav__pill--brand{background:var(--deck-black);border-color:transparent}
.ps-logo__a{color:var(--chalk-grey);transition:color var(--dur) var(--ease)}
.ps-logo__b{color:var(--tag-yellow);transition:color var(--dur) var(--ease)}
.ps-nav__brand:hover .ps-logo__a{color:var(--tag-yellow)}
.ps-nav__menu{display:flex;gap:var(--s-5);font-family:var(--font-body);font-weight:500;font-size:.9rem}
.ps-nav__cart{font-family:var(--font-mono);font-weight:500;font-size:.85rem}
.ps-nav__icon{width:var(--icon);height:var(--icon)}
.ps-nav__pill--menu{display:none}

/* ===== hero ===== */
.ps-hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--deck-black)}
.ps-hero__media,.ps-hero__loop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.ps-hero__media img{width:100%;height:100%;object-fit:cover;display:block}
.ps-hero__scrim{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to bottom,var(--scrim-top),var(--scrim-bot))}
.ps-hero__card{position:relative;z-index:2;max-width:var(--card-max);width:100%;margin-inline:auto;background:var(--frost);-webkit-backdrop-filter:blur(var(--frost-blur));backdrop-filter:blur(var(--frost-blur));border:1px solid var(--hairline);border-radius:var(--r-4);padding:clamp(1.5rem,4vw,3.5rem);box-shadow:var(--shadow-2) var(--card-shadow);display:grid;grid-template-columns:1.4fr .8fr;gap:var(--s-6);align-items:center}
.ps-hero__card::before{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;background:linear-gradient(to right,var(--frost-veil),transparent 60%)}
.ps-hero__text,.ps-hero__tiles{position:relative;z-index:1}
.ps-hero__eyebrow{font-family:var(--font-mono);font-weight:500;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--felt);margin-bottom:var(--s-4)}
.ps-hero__title{font-weight:900;font-size:clamp(3rem,7vw,6rem);text-transform:uppercase;margin-bottom:var(--s-4)}
.ps-hero__sub{font-size:1.05rem;max-width:44ch;color:var(--felt);margin-bottom:var(--s-4)}
.ps-hero__anchor{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;color:var(--felt);margin-bottom:var(--s-5)}
.ps-hero__cta{display:flex;gap:var(--s-3);flex-wrap:wrap}
.ps-hero__tiles{position:relative;height:var(--tile-h)}
.ps-tile{position:absolute;border-radius:var(--r-2);background:linear-gradient(140deg,var(--deck-black),var(--felt));border:1px solid var(--hairline);display:flex;align-items:flex-end;padding:var(--s-2)}
.ps-tile__label{font-family:var(--font-mono);font-size:.6rem;color:var(--chalk-grey);opacity:.7}
.ps-tile--1{width:44%;height:56%;left:2%;top:6%;z-index:3}
.ps-tile--2{width:40%;height:50%;right:4%;top:22%;z-index:4}
.ps-tile--3{width:34%;height:40%;left:22%;bottom:2%;z-index:2;filter:blur(var(--blur-tile))}
.ps-tile--4{width:30%;height:36%;right:0;bottom:8%;z-index:1;filter:blur(var(--blur-tile))}
.ps-hero__word{position:absolute;left:var(--pad-x);bottom:-.14em;z-index:1;font-family:var(--font-display);font-weight:900;font-size:clamp(var(--word-min),18vw,var(--word-hero-max));color:var(--word-ghost);text-transform:lowercase;pointer-events:none;letter-spacing:-.03em;user-select:none}

/* ===== handpicked ===== */
.ps-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-5)}
.ps-card{position:relative}
.ps-card:hover{transform:translateY(var(--lift))}
/* handpicked product tiles use the bundle-tile treatment */
#handpicked .ps-card{aspect-ratio:4/5;background:var(--deck-black);border-radius:var(--r-3);overflow:hidden;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
#handpicked .ps-card:hover{box-shadow:var(--shadow-3) var(--card-shadow)}
#handpicked .ps-card::before{content:"";position:absolute;left:0;right:0;top:0;height:35%;z-index:1;pointer-events:none;background:linear-gradient(to bottom,var(--scrim-top),transparent)}
#handpicked .ps-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:55%;z-index:1;pointer-events:none;background:linear-gradient(to top,var(--scrim-bundle),transparent)}
.ps-card__fill{position:absolute;inset:0;z-index:0;background:linear-gradient(160deg,var(--felt),var(--deck-black));transition:transform var(--dur) var(--ease)}
.ps-card--2 .ps-card__fill{background:linear-gradient(150deg,var(--deck-black),var(--felt))}
.ps-card--3 .ps-card__fill{background:linear-gradient(120deg,var(--felt),var(--mixer-black))}
.ps-card:hover .ps-card__fill{transform:scale(1.04)}
.ps-card__num{position:absolute;top:var(--s-3);left:var(--s-3);z-index:3;font-family:var(--font-mono);font-weight:500;font-size:1rem;color:var(--chalk-grey)}
.ps-card__ph{position:absolute;top:var(--s-3);right:var(--s-3);z-index:3;font-family:var(--font-mono);font-size:.6rem;color:var(--chalk-grey)}
.ps-card__body{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-3);padding:var(--s-5)}
.ps-card__name{font-weight:600;font-size:1rem;color:var(--chalk-grey)}
.ps-card__spec{font-family:var(--font-mono);font-size:.72rem;color:var(--aluminium);margin-top:var(--s-1)}
.ps-card__price{font-family:var(--font-mono);font-size:.9rem;color:var(--chalk-grey)}
.ps-tag{position:relative;width:var(--tag-w);height:var(--tag-h);perspective:var(--persp);cursor:pointer;flex:none}
.ps-tag__face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.7rem;background:var(--tag-yellow);color:var(--mixer-black);border-radius:var(--r-1);backface-visibility:hidden;transition:transform var(--dur) var(--ease)}
.ps-tag__face--back{transform:rotateY(180deg)}
.ps-card:hover .ps-tag__face--front{transform:rotateY(180deg)}
.ps-card:hover .ps-tag__face--back{transform:rotateY(360deg)}

/* ===== full-bleed video blocks ===== */
.ps-video{position:relative;background:var(--deck-black);color:var(--chalk-grey);min-height:56vw;max-height:80vh;display:flex;align-items:flex-end;overflow:hidden}
.ps-video__media{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(120deg,var(--deck-black),var(--felt))}
.ps-video__vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ps-video__label{font-family:var(--font-mono);font-size:.75rem;color:var(--aluminium)}
.ps-video__copy{position:relative;z-index:2;padding:var(--s-7) var(--pad-x)}
.ps-video__copy h2{color:var(--chalk-grey);font-weight:900;font-size:clamp(2rem,5vw,3.5rem);text-transform:uppercase;margin-bottom:var(--s-3)}
.ps-video__copy p{max-width:44ch;margin-bottom:var(--s-4)}

/* ===== bundles ===== */
.ps-bundles__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-5)}
.ps-bundle{position:relative;aspect-ratio:3/4;background:var(--deck-black);color:var(--chalk-grey);border-radius:var(--r-3);overflow:hidden;transform-style:preserve-3d;will-change:transform}
.ps-bundle__fill{position:absolute;inset:0;z-index:0;background:linear-gradient(150deg,var(--felt),var(--deck-black))}
.ps-bundle--2 .ps-bundle__fill{background:linear-gradient(150deg,var(--deck-black),var(--felt))}
.ps-bundle--3 .ps-bundle__fill{background:linear-gradient(120deg,var(--felt),var(--mixer-black))}
.ps-bundle::before{content:"";position:absolute;left:0;right:0;bottom:0;height:60%;z-index:1;pointer-events:none;background:linear-gradient(to top,var(--scrim-bundle),transparent)}
.ps-bundle::after{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(var(--glow-r) circle at var(--mx,50%) var(--my,0%),rgba(255,255,255,.14),transparent 60%);opacity:0;transition:opacity var(--dur) var(--ease)}
.ps-bundle:hover::after{opacity:1}
.ps-bundle__foot{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:var(--s-5)}
.ps-bundle__name{font-family:var(--font-display);font-weight:700;font-size:1.6rem;text-transform:uppercase;line-height:1}
.ps-bundle__price{font-family:var(--font-mono);font-size:.9rem;color:var(--aluminium);margin-top:var(--s-2)}
.ps-bundle__contents{position:absolute;left:0;right:0;bottom:0;z-index:3;background:var(--mixer-black);padding:var(--s-5);transform:translateY(100%);transition:transform var(--dur) var(--ease)}
.ps-bundle:hover .ps-bundle__contents{transform:translateY(0)}
.ps-bundle__list{list-style:none;font-family:var(--font-mono);font-size:.72rem;color:var(--chalk-grey);margin-bottom:var(--s-4);display:grid;gap:var(--s-1)}

/* ===== problems ===== */
.ps-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-4)}
.ps-problem{position:relative;overflow:hidden;background:var(--deck-black);color:var(--chalk-grey);border-radius:var(--r-2);padding:var(--s-5);aspect-ratio:1;display:flex;flex-direction:column;justify-content:space-between;transition:transform var(--dur) var(--ease)}
.ps-problem:hover{transform:translateY(var(--lift-sm))}
.ps-problem__spot{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(var(--spot-r) circle at calc(var(--sx,50)*1%) calc(var(--sy,50)*1%),rgba(230,232,234,.14),transparent 70%)}
.ps-problem__num{position:relative;z-index:1;font-family:var(--font-display);font-weight:900;font-size:clamp(var(--prob-num-min),6vw,var(--prob-num-max));line-height:1;color:var(--chalk-grey);transition:color var(--dur) var(--ease)}
.ps-problem:hover .ps-problem__num{color:var(--tag-yellow)}
.ps-problem__body{position:relative;z-index:1}
.ps-problem__name{font-weight:600;font-size:1.1rem;color:var(--chalk-grey)}
.ps-problem__line{font-size:.85rem;color:var(--aluminium)}

/* ===== trust ===== */
.ps-trust__row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-6)}
.ps-trust__item{padding-top:var(--s-4)}
.ps-trust__item::before{content:"";display:block;height:1px;width:24px;background:var(--aluminium);margin-bottom:var(--s-4);transition:width .5s var(--ease)}
.ps-section.ps-in .ps-trust__item::before{width:100%}
.ps-trust__word{font-family:var(--font-display);font-weight:700;font-size:1.5rem;text-transform:uppercase;line-height:1;margin-bottom:var(--s-2)}
.ps-trust__item p{font-family:var(--font-mono);font-size:.9rem;color:var(--felt)}

/* ===== guides (dark tile treatment, like handpicked) ===== */
#guides .ps-card{position:relative;aspect-ratio:16/10;background:var(--deck-black);border-radius:var(--r-3);overflow:hidden;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
#guides .ps-card:hover{box-shadow:var(--shadow-3) var(--card-shadow)}
#guides .ps-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:65%;z-index:1;pointer-events:none;background:linear-gradient(to top,var(--scrim-bundle),transparent)}
.ps-guide__body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:var(--s-5)}
.ps-guide__title{font-weight:600;font-size:1.15rem;color:var(--chalk-grey)}
.ps-guide__read{font-family:var(--font-mono);font-size:.72rem;color:var(--aluminium);margin-top:var(--s-2)}

/* ===== footer ===== */
.ps-footer{background:var(--deck-black);color:var(--chalk-grey);padding-block:var(--s-8) var(--s-6)}
.ps-footer__word{font-family:var(--font-display);font-weight:900;font-size:clamp(var(--word-min),14vw,var(--word-foot-max));color:var(--word-ghost);text-transform:lowercase;line-height:.8;letter-spacing:-.03em}
.ps-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--s-6);margin-block:var(--s-7) var(--s-6)}
.ps-footer__col h3{font-family:var(--font-mono);font-weight:500;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--aluminium);margin-bottom:var(--s-4)}
.ps-footer__col a{display:block;font-size:.9rem;color:var(--chalk-grey);margin-bottom:var(--s-2);opacity:.85}
.ps-footer__col a:hover{opacity:1;color:var(--tag-yellow)}
.ps-news{display:flex;gap:var(--s-2);margin-top:var(--s-3);max-width:var(--news-max)}
.ps-news__input{flex:1;background:transparent;border:1px solid var(--aluminium);border-radius:var(--r-pill);padding:.7em 1.2em;color:var(--chalk-grey);font-family:var(--font-body);font-size:.9rem;transition:border-color var(--dur) var(--ease)}
.ps-news__input:focus{outline:none;border-color:var(--tag-yellow)}
.ps-news__submit{position:relative;font-family:var(--font-mono);font-size:.8rem;background:var(--tag-yellow);color:var(--mixer-black);border:none;border-radius:var(--r-1);padding:.6em 1.2em .6em 1.6em;cursor:pointer}
.ps-news__submit::before{content:"";position:absolute;left:.5em;top:50%;transform:translateY(-50%);width:0;height:0;border-top:var(--tri-h) solid transparent;border-bottom:var(--tri-h) solid transparent;border-right:var(--tri-w) solid var(--deck-black)}
.ps-news__reason{font-size:.8rem;color:var(--aluminium);margin-top:var(--s-2)}
.ps-footer__legal{border-top:1px solid rgba(154,154,156,.25);padding-top:var(--s-5);font-family:var(--font-mono);font-size:.72rem;color:var(--aluminium);display:flex;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap}
.ps-footer__b{color:var(--word-ghost-yellow)}

/* ===== reset (the signature piece) ===== */
.ps-reset{background:var(--deck-black);color:var(--chalk-grey);min-height:100vh}
.ps-reset__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-7);align-items:start}
.ps-reset__copy h2{color:var(--chalk-grey)}
.ps-reset__steps{list-style:none;margin-top:var(--s-6);display:grid;gap:var(--s-4)}
.ps-reset__step{font-family:var(--font-mono);font-size:1rem;color:var(--chalk-grey);transition:color var(--dur) var(--ease)}
html.ps-js .ps-reset__step:not(.is-lit){color:var(--chalk-40)}
.ps-reset__stage{position:relative;aspect-ratio:4/3;width:100%}
.ps-reset__case{position:absolute;inset:0;border-radius:var(--r-3);border:1px solid var(--aluminium);background:var(--deck-black);overflow:hidden}
.ps-reset__foam{position:absolute;inset:var(--s-4);border-radius:var(--r-2);background-color:var(--mixer-black);background-image:radial-gradient(circle,rgba(230,232,234,.06) 1px,transparent 1px);background-size:var(--foam-dot) var(--foam-dot)}
.ps-reset__slot{position:absolute;border-radius:var(--r-1);background:rgba(0,0,0,.45);border:1px solid rgba(0,0,0,.5)}
.ps-reset__slot--long{top:12%;left:8%;width:60%;height:16%}
.ps-reset__slot--square{top:42%;left:12%;width:28%;height:28%}
.ps-reset__slot--tall{top:34%;left:66%;width:22%;height:52%}
.ps-reset__lid{position:absolute;left:0;right:0;top:100%;height:1px;background:var(--chalk-grey);opacity:.3;z-index:3}
.ps-reset__piece{position:absolute;z-index:2;border-radius:var(--r-1);border:1px solid var(--hairline);display:flex;align-items:flex-end;padding:var(--s-2)}
.ps-reset__piece span{font-family:var(--font-mono);font-size:.6rem;color:var(--chalk-grey);opacity:.8}
.ps-reset__piece--1{top:12%;left:8%;width:60%;height:16%;background:linear-gradient(140deg,var(--felt),var(--deck-black))}
.ps-reset__piece--2{top:42%;left:12%;width:28%;height:28%;background:linear-gradient(150deg,var(--deck-black),var(--felt))}
.ps-reset__piece--3{top:34%;left:66%;width:22%;height:52%;background:linear-gradient(120deg,var(--felt),var(--mixer-black))}

/* ===== cable-tag cursor ===== */
.ps-cursor{position:fixed;top:0;left:0;z-index:60;pointer-events:none}
.ps-cursor__tag{position:relative;display:inline-flex;align-items:center;padding:.3em .7em .3em 1em;background:var(--tag-yellow);color:var(--mixer-black);font-family:var(--font-mono);font-size:.7rem;border-radius:var(--r-1);white-space:nowrap;opacity:0;transform:scale(.8);transform-origin:left center;transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}
.ps-cursor__tag::before{content:"";position:absolute;left:.4em;top:50%;transform:translateY(-50%);width:0;height:0;border-top:var(--tri-h) solid transparent;border-bottom:var(--tri-h) solid transparent;border-right:var(--tri-w) solid var(--deck-black)}
.ps-cursor.is-on .ps-cursor__tag{opacity:1;transform:scale(1)}

/* ===== cart drawer ===== */
.ps-drawer{position:fixed;inset:0;z-index:70;visibility:hidden}
html.ps-lock{overflow:hidden}
.ps-drawer.is-open{visibility:visible}
.ps-drawer__scrim{position:absolute;inset:0;background:var(--scrim-panel);opacity:0;transition:opacity .32s var(--ease)}
.ps-drawer.is-open .ps-drawer__scrim{opacity:1}
.ps-drawer__panel{position:absolute;top:0;right:0;height:100%;width:min(var(--drawer-w),100%);background:var(--frost);-webkit-backdrop-filter:blur(var(--frost-blur));backdrop-filter:blur(var(--frost-blur));border-left:1px solid var(--hairline);display:flex;flex-direction:column;gap:var(--s-4);padding:var(--s-6);overflow-y:auto;transform:translateX(100%);transition:transform .32s var(--ease)}
.ps-drawer.is-open .ps-drawer__panel{transform:translateX(0)}
.ps-drawer__head{display:flex;align-items:center;justify-content:space-between}
.ps-drawer__title{font-family:var(--font-display);font-weight:900;font-size:1.6rem;text-transform:uppercase}
.ps-drawer__close{background:none;border:none;cursor:pointer;font-family:var(--font-mono);font-size:1rem;color:var(--mixer-black)}
.ps-drawer__items{display:grid;gap:var(--s-3)}
.ps-drawer__empty{font-family:var(--font-mono);font-size:.8rem;color:var(--felt)}
.ps-drawer__item{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:var(--s-3)}
.ps-drawer__thumb{width:2.6rem;height:2.6rem;border-radius:var(--r-1);background:linear-gradient(140deg,var(--felt),var(--deck-black))}
.ps-drawer__iname{font-size:.9rem}
.ps-drawer__iprice{font-family:var(--font-mono);font-size:.85rem}
.ps-drawer__remove{background:none;border:none;cursor:pointer;font-family:var(--font-mono);color:var(--felt)}
.ps-drawer__sub{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--felt);margin-top:var(--s-3)}
.ps-drawer__addon{display:flex;align-items:center;gap:var(--s-3);margin-top:var(--s-2);font-size:.9rem}
.ps-drawer__chip{margin-left:auto;font-family:var(--font-mono);font-size:.72rem;background:var(--tag-yellow);color:var(--mixer-black);border:none;border-radius:var(--r-1);padding:.35em .8em;cursor:pointer}
.ps-drawer__track{height:var(--bar-h);border-radius:var(--r-pill);background:var(--hairline);overflow:hidden;margin-top:var(--s-4)}
.ps-drawer__fill{display:block;height:100%;width:0;background:var(--tag-yellow);transition:width var(--dur) var(--ease)}
.ps-drawer__shipnote{font-family:var(--font-mono);font-size:.72rem;color:var(--felt);margin-top:var(--s-2)}
.ps-drawer__footer{margin-top:auto;display:grid;gap:var(--s-3)}
.ps-drawer__total{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:.9rem}
.ps-drawer__checkout{justify-content:center;background:var(--deck-black);border-color:var(--deck-black);color:var(--chalk-grey)}
.ps-drawer__checkout:hover{background:var(--tag-yellow);border-color:var(--tag-yellow);color:var(--mixer-black)}

/* ===== product media (round 2: real stills replace gradient placeholders) ===== */
.ps-tile{overflow:hidden}
.ps-reset__piece{overflow:hidden}
.ps-tile>img,.ps-card__fill>img,.ps-bundle__fill>img,.ps-reset__piece>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}

/* ===== responsive ===== */
@media (max-width:80em){
  .ps-footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:64em){
  .ps-hero__card{grid-template-columns:1fr}
  .ps-hero__tiles{height:var(--tile-h-sm);order:-1}
  .ps-grid-4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:40em){
  :root{--foam-cell:20px}
  .ps-section{padding-block:var(--sec-pad-phone)}
  .ps-reset__grid{grid-template-columns:none}
  .ps-reset{min-height:90vh}
  .ps-nav__pill--full{display:none}
  .ps-nav__pill--menu{display:flex}
  .ps-grid-3{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--s-4)}
  .ps-grid-3>*{scroll-snap-align:start}
  .ps-guides__grid{grid-auto-flow:row;grid-auto-columns:auto;overflow-x:visible;scroll-snap-type:none;display:grid;grid-template-columns:none;gap:var(--s-6)}
  .ps-bundles__grid{grid-template-columns:none}
  .ps-trust__row{grid-template-columns:none}
  .ps-footer__grid{grid-template-columns:none}
  .ps-hero__tiles{height:var(--tile-h-sm)}
  .ps-tile--3,.ps-tile--4{display:none}
  .ps-hero__word{font-size:clamp(var(--word-sm-min),22vw,var(--word-sm-max))}
}

/* ===== reduced motion ===== */
@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto}
  .ps-drawer__panel,.ps-drawer__scrim{transition:none}
}

/* ===== bricks resets (added for the Bricks port, not in the skeleton) ===== */
/* Bricks wraps sections/containers with .brxe-section > .brxe-container and gives
   them default padding plus a narrow container width. Neutralise those so the ps
   tokens win. frontend-layer caps every [class*="brxe-"] at max-width:100%, which
   would kill the .ps-bleed full-viewport blocks, so lift that cap where needed. */
.brxe-section.ps-section{padding:0}
.brxe-container.ps-container{max-width:var(--container);margin-inline:auto;padding-inline:var(--pad-x);width:100%}
.brxe-section.ps-bleed,.ps-bleed{max-width:none}
/* the reset section is a full-bleed grid container, keep its two-column grid */
.brxe-container.ps-reset__grid{display:grid}
