/* ==================================================================
   NAIL GANG — "WD" editorial theme
   Loads on top of nailgang.css when <body> carries .wd.
   Paper white, hairline rules, all-caps monospace, zero radius,
   photography doing all the talking. The pink theme stays on disk:
   any page with ?theme=glam brings it back.
================================================================== */

/* ---------- tokens: the glam palette, reset to ink on paper -------- */
body.ng.wd{
  --mono:'Space Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --ui:'Roboto Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --hot:#111111; --hot2:#000000; --pink:#111111; --blush:#ededed; --tile:#f1f1f1;
  --cream:#ffffff; --page:#ffffff; --ink:#111111; --body:#242424; --muted:#8e8e8e;
  --line:#e3e3e3; --gold:#111111; --white:#ffffff;
  --accent:#FF2D87;
  --chrome:linear-gradient(90deg,#111 0%,#111 100%);
  --hotgrad:linear-gradient(90deg,#111 0%,#111 100%);
  --r:0px; --r-lg:0px; --sh:none; --sh-lg:none; --glow:none;
  --font:var(--ui); --serif:var(--mono); --script:var(--mono);
  --wrap:1560px;
  background:#fff;color:var(--body);
  font-family:var(--ui);font-size:13px;line-height:1.55;letter-spacing:.01em;
}

/* flatten every rounded, glowing, shadowed thing the glam sheet set */
body.wd *,body.wd *::before,body.wd *::after{
  border-radius:0 !important;box-shadow:none !important;text-shadow:none !important}
body.wd .ng-aura,body.wd .ng-sparkles,body.wd .ng-beams,body.wd .ng-hero-glow,
body.wd .ng-hero-floor,body.wd .ng-kit-fade,body.wd .ng-shine{display:none !important}
body.wd h1,body.wd h2,body.wd h3,body.wd h4{
  font-family:var(--mono);font-weight:700;text-transform:uppercase;letter-spacing:.02em;line-height:1.16}
body.wd ::selection{background:#111;color:#fff}
body.wd .ng-wrap{width:min(100% - 44px,var(--wrap))}
body.wd .ng-sec{padding:64px 0}
body.wd .ng-sec.tight{padding:40px 0}
body.wd em,body.wd .ng-chrome{font-style:normal}

/* small caps label, used all over this theme */
body.wd .ng-kicker,body.wd .ng-sec-sub,body.wd .ng-col-kicker,body.wd .ng-crumb,
body.wd .ng-note,body.wd .ng-revs{
  font-family:var(--ui);font-size:9.5px;font-weight:400;letter-spacing:.2em;
  text-transform:uppercase;color:var(--muted)}

/* ---------- announcement bar --------------------------------------- */
body.wd .ng-announce{background:#111;color:#fff;border:0}
body.wd .ng-marquee{padding:8px 0}
body.wd .ng-marquee-run{gap:22px;animation-duration:42s}
body.wd .ng-marquee-run span{font-family:var(--ui);font-size:9.5px;font-weight:400;letter-spacing:.22em}
body.wd .ng-marquee-run .ng-dot{opacity:.5}

/* ---------- header -------------------------------------------------- */
body.wd .ng-head{background:#fff;backdrop-filter:none;border-bottom:1px solid var(--line)}
body.wd .ng-head.stuck{background:#fff}
body.wd .ng-head-in{padding:11px 0}
body.wd .ng-nav{gap:22px}
body.wd .ng-nav a{font-family:var(--ui);font-size:10.5px;font-weight:400;letter-spacing:.16em;color:#111}
body.wd .ng-nav a::after{background:#111;height:1px}
body.wd .ng-logo img,body.wd .ng-foot-brand img,body.wd .ng-drawer-head img{display:none}
body.wd .ng-logo{display:flex;align-items:center;justify-content:center;position:relative;min-height:40px}
/* the glam sheet uses .ng-logo::after as an absolutely positioned glow halo;
   without resetting that the wordmark sits outside the anchor and overlaps the icons */
body.wd .ng-logo::after{content:"NAIL GANG";position:static;inset:auto;background:none;filter:none;
  font-family:var(--mono);font-weight:700;font-size:15px;letter-spacing:.36em;color:#111;white-space:nowrap}
body.wd .ng-icobtn{color:#111;background:transparent;border:0;width:34px;height:34px}
body.wd .ng-icobtn svg{stroke:#111;stroke-width:1.3}
body.wd .ng-icobtn:hover{background:#f2f2f2}
body.wd .ng-count{background:#111;color:#fff;font-family:var(--ui);font-size:9px;letter-spacing:0}
body.wd .ng-search input{background:#fff;border:1px solid var(--line);font-family:var(--ui);
  font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:9px 34px 9px 12px}
body.wd .ng-search input::placeholder{color:var(--muted);text-transform:uppercase;letter-spacing:.14em}
body.wd .ng-search input:focus{border-color:#111;outline:0}
body.wd .ng-suggest{background:#fff;border:1px solid var(--line);padding:0}
body.wd .ng-suggest a{border-bottom:1px solid var(--line);padding:10px 12px}
body.wd .ng-suggest a:last-child{border-bottom:0}
body.wd .ng-suggest b{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.02em}
body.wd .ng-burger span{background:#111;height:1px}

/* ---------- buttons -------------------------------------------------- */
body.wd .ng-btn{font-family:var(--ui);font-size:10px;font-weight:500;letter-spacing:.18em;
  text-transform:uppercase;padding:13px 22px;border:1px solid #111;background:transparent;color:#111;
  transition:background .22s ease,color .22s ease;display:inline-flex;gap:9px;align-items:center;justify-content:center}
body.wd .ng-btn:hover{background:#111;color:#fff}
body.wd .ng-btn-solid{background:#111;color:#fff}
body.wd .ng-btn-solid:hover{background:#fff;color:#111}
body.wd .ng-btn-line{background:transparent;color:#111}
body.wd .ng-btn-sm{padding:9px 14px;font-size:9.5px}
body.wd .ng-btn i{font-style:normal}
body.wd .ng-link-btn{font-family:var(--ui);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:#111;border-bottom:1px solid #111;padding:0;background:0}

/* ---------- editorial hero (wd markup only) ------------------------- */
.ng-whero{position:relative;height:min(92vh,900px);min-height:520px;overflow:hidden;background:#111}
/* one slow pan for the whole stack, so a slide never snaps when it fades out */
.ng-whero-slides{position:absolute;inset:0;animation:wdPan 26s ease-in-out infinite alternate}
.ng-whero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 38%;
  opacity:0;transition:opacity 1.1s ease}
.ng-whero-slide.on{opacity:1}
.ng-whero-nav{position:absolute;z-index:4;right:9px;top:50%;transform:translateY(-50%);
  display:flex;flex-direction:column;gap:6px}
/* the button is the tap target; the hairline is drawn inside it */
.ng-whero-bar{width:26px;height:44px;padding:0;border:0;background:transparent;cursor:pointer;
  display:grid;place-items:center}
.ng-whero-bar::after{content:"";width:2px;height:26px;background:rgba(255,255,255,.38);
  transition:background .25s,height .25s}
.ng-whero-bar:hover::after{background:rgba(255,255,255,.72)}
.ng-whero-bar.on::after{background:#fff;height:44px}
@keyframes wdPan{from{transform:scale(1.02)}to{transform:scale(1.13)}}
.ng-whero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.46) 0%,rgba(0,0,0,.08) 30%,rgba(0,0,0,.20) 52%,rgba(0,0,0,.66) 100%)}
.ng-rules{position:absolute;inset:0;z-index:2;pointer-events:none;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.32) 0 1px,transparent 1px 25%)}
.ng-whero-in{position:absolute;inset:0;z-index:3;display:grid;align-content:space-between;
  width:min(100% - 44px,var(--wrap));margin-inline:auto;padding:26px 0 34px;color:#fff}
.ng-whero-tag{font-family:var(--ui);font-size:10px;letter-spacing:.32em;text-transform:uppercase;
  display:flex;justify-content:space-between;gap:16px}
.ng-whero-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.ng-whero-word{font-family:var(--mono);font-weight:700;color:#fff;margin:0;
  font-size:clamp(46px,11vw,150px);line-height:.88;letter-spacing:-.02em}
.ng-whero-sub{font-family:var(--ui);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;
  margin:14px 0 0;max-width:34ch;line-height:1.9;color:rgba(255,255,255,.88)}
.ng-whero-cta{font-family:var(--ui);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;
  color:#fff;border:1px solid rgba(255,255,255,.75);padding:14px 26px;transition:background .22s,color .22s}
.ng-whero-cta:hover{background:#fff;color:#111}

/* ---------- second marquee strip (light) ---------------------------- */
.ng-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:#fff}
.ng-strip .ng-marquee-run{display:flex;gap:26px;width:max-content;align-items:center;
  animation:marq 46s linear infinite;padding:16px 0}
.ng-strip .ng-marquee-run span{font-family:var(--mono);font-weight:700;font-size:15px;
  letter-spacing:.22em;text-transform:uppercase;color:#111;white-space:nowrap}
.ng-strip .ng-marquee-run span.lite{font-weight:400;color:var(--muted);font-family:var(--ui);font-size:13px}

/* ---------- two-panel collection block ------------------------------ */
.ng-wduo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);
  border-block:1px solid var(--line)}
.ng-wduo-c{position:relative;display:block;height:clamp(360px,54vw,620px);overflow:hidden;background:var(--tile)}
.ng-wduo-c img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.ng-wduo-c:hover img{transform:scale(1.05)}
.ng-wduo-c::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.45))}
.ng-wduo-t{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:26px 24px;color:#fff;
  display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ng-wduo-t b{font-family:var(--mono);font-weight:700;font-size:clamp(20px,3.2vw,38px);
  line-height:1;letter-spacing:.01em;text-transform:uppercase}
.ng-wduo-t span{font-family:var(--ui);font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  border-bottom:1px solid rgba(255,255,255,.8);padding-bottom:3px}

/* ---------- thin word band ------------------------------------------ */
.ng-wband{border-bottom:1px solid var(--line);text-align:center}
.ng-wband a{display:block;padding:24px 16px;font-family:var(--mono);font-weight:700;
  font-size:clamp(14px,2vw,22px);letter-spacing:.3em;text-transform:uppercase;color:#111;
  transition:background .22s,color .22s}
.ng-wband a:hover{background:#111;color:#fff}

/* ---------- three offer columns ------------------------------------- */
.ng-woffers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);
  border-bottom:1px solid var(--line)}
.ng-woffer{background:#fff;padding:46px 26px;display:flex;flex-direction:column;align-items:center;
  text-align:center;gap:10px}
.ng-woffer b{font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.ng-woffer p{font-family:var(--ui);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);margin:0;line-height:1.9;max-width:26ch}
.ng-woffer a{margin-top:6px;font-family:var(--ui);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  border-bottom:1px solid #111;padding-bottom:3px;color:#111}

/* ---------- section headings ---------------------------------------- */
body.wd .ng-sec-head{border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:26px;align-items:flex-end}
body.wd .ng-h2{font-family:var(--mono);font-weight:700;font-size:clamp(13px,1.5vw,17px);letter-spacing:.24em}
body.wd .ng-sec-sub{margin:7px 0 0}
body.wd .ng-more{font-family:var(--ui);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:#111;border-bottom:1px solid #111;padding-bottom:3px}
body.wd .ng-more:hover{color:var(--accent);border-color:var(--accent)}

/* ---------- product grid: hairline gallery --------------------------- */
body.wd .ng-grid{gap:0;background:transparent;border:1px solid var(--line)}
body.wd .ng-card{border:0;overflow:visible}
/* the rules between cells are drawn by the cells, so a half-filled last row stays white */
body.wd .ng-grid>*{background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
body.wd .ng-grid .ng-card{padding:0 0 16px}
body.wd .ng-card-media{display:block;background:var(--tile);aspect-ratio:1/1;overflow:hidden;border:0}
body.wd .ng-card-media img{width:100%;height:100%;object-fit:cover;
  transition:transform .9s cubic-bezier(.2,.7,.2,1)}
body.wd .ng-card:hover .ng-card-media img{transform:scale(1.05)}
body.wd .ng-card-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;
  align-items:baseline;padding:13px 14px 0;flex:1}
body.wd .ng-badge{grid-column:1/-1;position:static;max-width:none;background:transparent;padding:0 0 5px;
  font-family:var(--ui);font-size:9px;font-weight:400;letter-spacing:.22em;color:var(--accent);
  white-space:normal;overflow:visible}
body.wd .ng-card-body h3{grid-column:1;font-family:var(--mono);font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.02em;line-height:1.4;min-height:2.8em;margin:0}
body.wd .ng-price{grid-column:2;justify-self:end;margin:0;font-family:var(--ui);font-size:11px;
  font-weight:400;letter-spacing:.06em;color:#111;background:none;-webkit-text-fill-color:currentColor}
body.wd .ng-price s{color:var(--muted);margin-left:7px}
body.wd .ng-rate{display:none}
body.wd .ng-btn-add{grid-column:1/-1;margin-top:11px;width:100%;padding:11px 10px;font-size:9.5px;
  letter-spacing:.2em;border:1px solid var(--line);color:#111;background:#fff}
body.wd .ng-card:hover .ng-btn-add,body.wd .ng-btn-add:hover{background:#111;color:#fff;border-color:#111}
body.wd .ng-btn-add.added{background:var(--accent);border-color:var(--accent);color:#fff}
body.wd .ng-fav{top:10px;right:10px;left:auto;width:30px;height:30px;background:rgba(255,255,255,.9);
  border:1px solid var(--line);color:#111}
body.wd .ng-fav svg{stroke:#111}
body.wd .ng-fav.on svg{fill:#111;stroke:#111}

/* ---------- collection cards ---------------------------------------- */
body.wd .ng-col-card{background:transparent;border:0;padding:0}
body.wd .ng-col-media{display:block;aspect-ratio:4/5;background:var(--tile);overflow:hidden}
body.wd .ng-col-media img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
body.wd .ng-col-card:hover .ng-col-media img{transform:scale(1.05)}
body.wd .ng-col-body{padding:14px 14px 4px;display:grid;gap:6px}
body.wd .ng-grid.ng-bleed .ng-col-body{padding:14px 18px 6px}
body.wd .ng-col-body strong{font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.06em;
  text-transform:uppercase;min-height:0;margin:0}
body.wd .ng-col-go{font-family:var(--ui);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  color:#111;justify-self:start;border-bottom:1px solid #111;padding-bottom:3px}

/* ---------- trust strip --------------------------------------------- */
body.wd .ng-trust{background:#fff;border-block:1px solid var(--line)}
body.wd .ng-trust-in{gap:1px;background:var(--line);padding:0;border:0}
body.wd .ng-trust-it{background:#fff;padding:26px 20px;justify-content:center;border:0;gap:0;
  flex-direction:column;align-items:center;text-align:center}
body.wd .ng-trust-it svg{display:none}
body.wd .ng-trust-it b{font-family:var(--mono);font-weight:700;font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;display:block}
body.wd .ng-trust-it span{font-family:var(--ui);font-size:9.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--muted);display:block;margin-top:6px}

/* ---------- editorial blocks on the home page ------------------------ */
body.wd .ng-kit,body.wd .ng-inspo,body.wd .ng-news{background:#fff;border:1px solid var(--line)}
body.wd .ng-kit-copy h2,body.wd .ng-inspo-copy h3,body.wd .ng-news-copy h3{
  font-family:var(--mono);font-weight:700;letter-spacing:.1em}
body.wd .ng-chrome{background:none;-webkit-text-fill-color:#111;color:#111;font-style:normal;
  display:inline;line-height:inherit;padding:0;margin:0}
body.wd .ng-kit-copy h2 .ng-chrome{display:block}
body.wd .ng-news-copy h3 small{font-family:var(--ui);font-size:10px;letter-spacing:.24em;color:var(--muted)}
body.wd .ng-newsform input,body.wd .ng-drawer-search input{border:1px solid var(--line);background:#fff;
  font-family:var(--ui);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;padding:13px 14px}
body.wd .ng-newsform button{background:#111;color:#fff;font-family:var(--ui);font-size:9.5px;
  letter-spacing:.2em;text-transform:uppercase;padding:13px 18px;border:0}
body.wd .ng-formnote{font-family:var(--ui);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* the editorial image+copy block becomes a clean half/half split */
body.wd .ng-kit{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:stretch;min-height:clamp(300px,30vw,420px);overflow:hidden;padding:0}
body.wd .ng-kit-img{position:static;grid-column:1;width:100%;height:100%;object-fit:cover;
  border-right:1px solid var(--line);inset:auto}
body.wd .ng-kit-copy{position:static;grid-column:2;padding:36px 34px;display:flex;flex-direction:column;
  justify-content:center;gap:12px;inset:auto;max-width:none}
body.wd .ng-kit-copy h2{margin:0;font-size:clamp(20px,2.4vw,30px);line-height:1.12}
body.wd .ng-kit-copy p{margin:0;font-family:var(--ui);font-size:12px;line-height:2}
body.wd .ng-kit-copy .ng-btn{align-self:flex-start;margin-top:6px}
body.wd .ng-inspo,body.wd .ng-news{overflow:hidden}
/* grid items default to min-width:auto, so the newsletter form refused to
   shrink and pushed its copy past the edge on a 320px phone */
body.wd .ng-kit>*,body.wd .ng-inspo>*,body.wd .ng-news>*{min-width:0}
body.wd .ng-newsform{background:#fff;border:1px solid var(--line);padding:0;gap:0}
body.wd .ng-newsform input{border:0;background:none;padding:13px 14px;min-width:0}
body.wd .ng-newsform button{border:0;background:#111;color:#fff;padding:13px 16px;white-space:nowrap}
body.wd .ng-newsform button:hover{background:#333}

/* stats and values run as one hairline strip, not floating boxes */
body.wd .ng-stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;
  border:1px solid var(--line)}
body.wd .ng-stat{border:0;border-right:1px solid var(--line);padding:34px 18px;text-align:center}
body.wd .ng-stat:last-child{border-right:0}
body.wd .ng-value{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--line)}
body.wd .ng-value>div{border:0;border-right:1px solid var(--line);padding:30px 26px}
body.wd .ng-value>div:last-child{border-right:0}

/* ---------- gallery -------------------------------------------------- */
body.wd .ng-gal{gap:0;background:transparent;border:1px solid var(--line)}
body.wd .ng-gal>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
body.wd .ng-gal-tile{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  background:var(--tile)}
body.wd .ng-gal-meta{background:linear-gradient(180deg,transparent,rgba(0,0,0,.55));color:#fff}
body.wd .ng-gal-meta em{font-family:var(--ui);font-style:normal;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase}

/* ---------- page headers, breadcrumbs, filters ----------------------- */
body.wd .ng-phero{background:#fff;border-bottom:1px solid var(--line);padding:56px 0 34px}
body.wd .ng-phero h1{font-family:var(--mono);font-weight:700;font-size:clamp(22px,4vw,44px);letter-spacing:.04em}
body.wd .ng-phero p{font-family:var(--ui);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);line-height:2}
body.wd .ng-crumb a{color:var(--muted)}
body.wd .ng-crumb a:hover{color:#111}
body.wd .ng-filters,body.wd .ng-sortbar,body.wd .ng-shop-top{border-color:var(--line)}
body.wd .ng-filters a,body.wd .ng-pick a,body.wd .ng-swatch{font-family:var(--ui);font-size:9.5px;
  letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--line);background:#fff;
  color:#111;padding:10px 15px}
body.wd .ng-filters a.on,body.wd .ng-pick a.on,body.wd .ng-swatch.on,
body.wd .ng-filters a:hover,body.wd .ng-pick a:hover,body.wd .ng-swatch:hover{background:#111;color:#fff;border-color:#111}
body.wd select,body.wd .ng-sortbar select{font-family:var(--ui);font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;border:1px solid var(--line);background:#fff;color:#111;padding:10px 14px}

/* ---------- product detail ------------------------------------------- */
body.wd .ng-pd-main,body.wd .ng-pd-thumbs button{background:var(--tile);border:1px solid var(--line)}
body.wd .ng-pd-thumbs button.on{border-color:#111}
body.wd .ng-pd-info h1{font-family:var(--mono);font-weight:700;font-size:clamp(18px,2.4vw,28px);letter-spacing:.04em}
body.wd .ng-pd-price{font-family:var(--ui);font-size:16px;font-weight:500;letter-spacing:.06em;color:#111;
  background:none;-webkit-text-fill-color:currentColor}
body.wd .ng-pd-sum{font-family:var(--ui);font-size:12px;line-height:1.95;color:var(--body)}
body.wd .ng-stepper{border:1px solid #111;background:#fff}
body.wd .ng-stepper button{color:#111;background:transparent;width:42px}
body.wd .ng-stepper button:hover{background:#111;color:#fff}
body.wd .ng-stepper span,body.wd .ng-qty{font-family:var(--ui);font-size:12px;letter-spacing:.08em}
body.wd .ng-tabs{border-bottom:1px solid var(--line);gap:0}
body.wd .ng-tabs button{font-family:var(--ui);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);padding:15px 20px;border:0;border-bottom:2px solid transparent;background:transparent}
body.wd .ng-tabs button.on{color:#111;border-bottom-color:#111}
body.wd .ng-tabpane{font-family:var(--ui);font-size:12px;line-height:2}
body.wd .ng-meta-list li,body.wd .ng-info-block li{border-bottom:1px solid var(--line)}
body.wd .ng-ship-strip{background:#fafafa;border:1px solid var(--line)}
body.wd .ng-stars i{color:#111}
body.wd .ng-stars i.on,body.wd .ng-stars i.half{color:#111}

/* ---------- thin section bar + full-bleed grids ------------------------
   The reference has no tall page headings: a collection is announced by a
   single hairline strip, then the product wall starts immediately. */
.ng-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:13px 22px;border-bottom:1px solid var(--line);
  font-family:var(--ui);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.ng-bar b{font-family:var(--mono);font-weight:700;font-size:10.5px;letter-spacing:.22em;color:#111}
.ng-bar-t{margin:0;font:inherit;letter-spacing:inherit;color:inherit;text-transform:inherit}
.ng-bar i{font-style:normal;margin-right:8px;color:#111}
.ng-bar a{color:var(--muted);border-bottom:1px solid transparent}
.ng-bar a:hover{color:#111;border-bottom-color:#111}
.ng-bar-note{display:flex;gap:18px;flex-wrap:wrap}
body.wd .ng-grid.ng-bleed{border-left:0;border-right:0;border-top:0}
.ng-bleed{width:100%;max-width:none;margin:0}

/* the story panel under a collection wall */
.ng-cstory{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  border-bottom:1px solid var(--line)}
.ng-cstory-img{position:relative;overflow:hidden;background:var(--tile);border-right:1px solid var(--line);
  min-height:clamp(340px,34vw,520px)}
.ng-cstory-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ng-cstory-copy{padding:44px 40px;display:flex;flex-direction:column;justify-content:center;gap:14px}
body.wd .ng-cstory-copy h2{font-family:var(--mono);font-size:clamp(15px,1.8vw,21px);letter-spacing:.18em;margin:0}
.ng-cstory-copy p{font-family:var(--ui);font-size:12px;line-height:2.05;color:var(--body);margin:0;max-width:56ch}
.ng-cstory-facts{list-style:none;margin:8px 0 0;padding:0}
.ng-cstory-facts li{padding:10px 0;border-bottom:1px solid var(--line);font-family:var(--ui);
  font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.ng-cstory-facts li:first-child{border-top:1px solid var(--line)}
.ng-cstory-copy .ng-more{align-self:flex-start;margin-top:6px}

/* the one-line intro that replaces a page hero */
.ng-bar-intro{padding:15px 22px;border-bottom:1px solid var(--line)}
.ng-bar-intro p{margin:0;max-width:92ch;font-family:var(--ui);font-size:11.5px;
  line-height:1.95;color:var(--muted)}

/* filter / sort strips above a product wall */
.ng-strips{border-bottom:1px solid var(--line)}
.ng-strip-row{display:flex;align-items:center;flex-wrap:wrap;gap:0 4px;padding:9px 18px;
  border-bottom:1px solid var(--line)}
.ng-strip-row:last-child{border-bottom:0}
.ng-strip-row.solo{border-bottom:1px solid var(--line)}
.ng-strip-lbl{font-family:var(--ui);font-size:9px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--muted);margin-right:14px;min-width:66px}
body.wd .ng-strip-row a{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;
  font-family:var(--ui);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:#111;
  border:1px solid transparent;transition:background .2s,color .2s,border-color .2s}
body.wd .ng-strip-row a:hover{border-color:var(--line)}
body.wd .ng-strip-row a.on{background:#111;color:#fff;border-color:#111}
body.wd .ng-strip-row a i{font-style:normal;color:var(--muted);font-size:9px}
body.wd .ng-strip-row a.on i{color:rgba(255,255,255,.65)}

/* the search field strip */
.ng-searchbar{border-bottom:1px solid var(--line);padding:22px}
.ng-searchbar form{display:flex;max-width:620px;margin-inline:auto}
body.wd .ng-searchbar input{flex:1;min-width:0;border:1px solid var(--line);background:#fff;padding:15px 16px;
  font-family:var(--ui);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
body.wd .ng-searchbar input:focus{border-color:#111;outline:0}
body.wd .ng-searchbar button{border:1px solid #111;background:#111;color:#fff;padding:15px 26px;
  font-family:var(--ui);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
body.wd .ng-searchbar button:hover{background:#fff;color:#111}

/* a section that hands its edges to a full-bleed child */
body.wd .ng-sec.flush{padding:0}
body.wd #ngFavRoot .ng-grid,body.wd .ng-sec.flush .ng-grid{border-left:0;border-right:0;border-top:0}
body.wd #ngFavRoot .ng-empty{padding:80px 20px;text-align:center}

/* ---------- long-form pages ------------------------------------------- */
body.wd .ng-prose,body.wd .ng-post,body.wd .ng-step,body.wd .ng-value>div,
body.wd .ng-info-block,body.wd .ng-stat{border:1px solid var(--line);background:#fff}
body.wd .ng-prose h2,body.wd .ng-prose h3,body.wd .ng-step h2,body.wd .ng-value h3,
body.wd .ng-info-block h3,body.wd .ng-post h2{font-family:var(--mono);letter-spacing:.12em}
body.wd .ng-step h3{font-family:var(--ui);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--muted);font-weight:400}
body.wd .ng-prose p,body.wd .ng-step p,body.wd .ng-value p,body.wd .ng-info-block p,
body.wd .ng-post p,body.wd .hint{font-family:var(--ui);font-size:12px;line-height:2.05;color:var(--body)}
body.wd .ng-stat b{font-family:var(--mono);font-weight:700;background:none;-webkit-text-fill-color:#111;color:#111}
body.wd .ng-stat span{font-family:var(--ui);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
body.wd .ng-acc{border:0;border-top:1px solid var(--line);background:transparent;margin:0}
body.wd .ng-acc:last-of-type{border-bottom:1px solid var(--line)}
body.wd .ng-acc summary{font-family:var(--mono);font-weight:700;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;padding:18px 0;color:#111}
body.wd .ng-acc p{font-family:var(--ui);font-size:12px;line-height:2.05;padding:0 0 18px;margin:0}
body.wd .ng-meta-list li{font-family:var(--ui);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);padding:11px 0}
/* help pages read as one stack of rules rather than a column of boxes */
body.wd .ng-info-block{border:0;border-top:1px solid var(--line);background:transparent;margin:0;padding:24px 0}
body.wd .ng-info-block:last-of-type{border-bottom:1px solid var(--line)}
body.wd .ng-info-block h3{margin:0 0 8px}
body.wd .ng-info-block p{margin:0}
/* forms fill the panel they sit in */
body.wd .ng-form{max-width:none}
body.wd .ng-field input,body.wd .ng-field textarea,body.wd .ng-field select{width:100%;max-width:none}
body.wd .ng-post img{background:var(--tile)}
body.wd .ng-swatch{font-family:var(--ui)}

/* ---------- cart ------------------------------------------------------- */
.ng-cartw{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,420px);align-items:start;
  border-bottom:1px solid var(--line)}
.ng-cartw-list{border-right:1px solid var(--line);min-width:0;padding:0 22px 40px}
.ng-cartw-head{display:flex;justify-content:space-between;gap:20px;padding:14px 0;
  border-bottom:1px solid var(--line);font-family:var(--ui);font-size:9px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--muted)}
body.wd #ngCartRoot .ng-bag-row{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:20px;
  align-items:center;padding:22px 0;margin:0;border:0;border-bottom:1px solid var(--line);background:transparent}
body.wd #ngCartRoot .ng-bag-row img{width:96px;height:118px;object-fit:cover;background:var(--tile)}
body.wd .ng-bag-row b,body.wd .ng-bag-row b a{font-family:var(--mono);font-size:11px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;color:#111}
body.wd .ng-bag-row small{display:block;margin:7px 0 13px;font-family:var(--ui);font-size:9.5px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
body.wd .ng-qty{display:inline-grid;grid-template-columns:34px 40px 34px;align-items:center;
  border:1px solid var(--line);background:#fff}
body.wd .ng-qty button{height:34px;width:34px;border:0;background:transparent;color:#111;cursor:pointer;
  transition:background .2s,color .2s}
body.wd .ng-qty button:hover{background:#111;color:#fff}
body.wd .ng-qty>span{text-align:center;font-family:var(--ui);font-size:11px;letter-spacing:.08em}
body.wd .ng-bag-x{border:0;background:transparent;color:var(--muted);font-size:18px;line-height:1;
  cursor:pointer;padding:0;transition:color .2s;
  display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px}
body.wd .ng-bag-x:hover{color:#111}
body.wd #ngCartRoot .ng-bag-row>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
body.wd #ngCartRoot .ng-bag-row>div:last-child br{display:none}
.ng-cartw-sum{padding:22px 26px 40px}
body.wd .ng-cartw-sum h2{font-family:var(--mono);font-size:10.5px;letter-spacing:.24em;margin:0 0 4px}
body.wd .ng-cartw-sum .ng-sum-row{display:flex;justify-content:space-between;gap:16px;padding:14px 0;
  border-bottom:1px solid var(--line);font-family:var(--ui);font-size:10px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--muted);background:transparent;border-radius:0}
body.wd .ng-cartw-sum .ng-sum-row b{color:#111;font-weight:500;letter-spacing:.06em}
body.wd .ng-cartw-sum .ng-sum-row.total{font-family:var(--mono);font-weight:700;color:#111;font-size:11px}
body.wd .ng-cartw-sum .ng-sum-row.total b{font-family:var(--ui);font-size:15px}
body.wd .ng-cartw-sum form{margin:20px 0 0}
body.wd .ng-cartw-sum .ng-btn-block{width:100%;padding:17px 20px;font-size:10.5px;letter-spacing:.24em}
body.wd .ng-cartw-sum .ng-formnote{margin:10px 0 0;text-align:left}
body.wd .ng-cartw-sum .ng-note{margin-top:18px;padding:14px 0 0;border:0;border-top:1px solid var(--line);
  background:transparent;font-family:var(--ui);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);line-height:2}
body.wd .ng-cartw-sum .ng-note strong{color:#111}
body.wd #ngCartRoot .ng-empty{padding:90px 20px;text-align:center;border:0;background:transparent}
body.wd #ngCartRoot .ng-empty p{margin:0 0 18px}

/* ---------- checkout ---------------------------------------------------
   Same layout as the base sheet, flattened: hairline rules, no cards,
   the order summary sticking beside a stack of numbered steps. */
body.wd .ng-cow{width:100%;max-width:none;margin:0;gap:0;
  grid-template-columns:minmax(0,1fr) minmax(330px,430px);border-bottom:1px solid var(--line)}
body.wd .ng-cow-main{border-right:1px solid var(--line);padding:0 26px 40px}
body.wd .ng-costep{background:transparent;border:0;border-bottom:1px solid var(--line);
  padding:26px 0;margin:0}
body.wd .ng-costep:last-of-type{border-bottom:0}
body.wd .ng-costep h2{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.22em;
  text-transform:uppercase;margin:0 0 18px}
body.wd .ng-costep h2 i{font-family:var(--ui);font-size:10px;letter-spacing:.12em;color:var(--muted)}
body.wd .ng-field{margin-bottom:12px}
body.wd .ng-field label span{text-transform:uppercase;letter-spacing:.14em;opacity:.55}
body.wd .ng-field input.bad,body.wd .ng-field select.bad{border-color:var(--accent)}
body.wd .ng-check{font-family:var(--ui);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
body.wd .ng-check input{accent-color:#111}

body.wd .ng-corates{gap:0;border:1px solid var(--line)}
body.wd .ng-corate+.ng-corate .ng-corate-in{border-top:1px solid var(--line)}
body.wd .ng-corate-in{border:0;padding:16px 18px}
body.wd .ng-corate-in b{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
body.wd .ng-corate-in small{font-family:var(--ui);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
body.wd .ng-corate-in em{font-family:var(--ui);font-size:11px;font-weight:500;letter-spacing:.06em}
body.wd .ng-corate input:checked+.ng-corate-in{background:#111;color:#fff}
body.wd .ng-corate input:checked+.ng-corate-in b,body.wd .ng-corate input:checked+.ng-corate-in em{color:#fff}
body.wd .ng-corate input:checked+.ng-corate-in small{color:rgba(255,255,255,.7)}
body.wd .ng-corate input:focus-visible+.ng-corate-in{outline:2px solid #111;outline-offset:2px}

body.wd .ng-colock{border:1px solid var(--line);background:#fafafa;border-radius:0;padding:18px}
body.wd .ng-colock b{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase}
body.wd .ng-colock p{font-family:var(--ui);font-size:11.5px;line-height:1.95;color:var(--body)}
body.wd .ng-colock strong{color:#111}
body.wd .ng-cow-main .ng-btn-block{width:100%;margin-top:22px;padding:17px 20px;font-size:10.5px;letter-spacing:.24em}
body.wd .ng-cofine{font-family:var(--ui);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;margin-top:14px}

body.wd .ng-cosum-stick{background:transparent;border:0;padding:26px 26px 40px;top:76px}
body.wd .ng-cosum h2{font-family:var(--mono);font-size:10.5px;letter-spacing:.24em;margin:0 0 18px}
body.wd .ng-coitems{gap:0;border-top:1px solid var(--line)}
body.wd .ng-coitem{padding:14px 0;border-bottom:1px solid var(--line)}
body.wd .ng-coitem-img{border-radius:0;border:1px solid var(--line)}
body.wd .ng-coitem-img b{background:#111;color:#fff;top:-7px;right:-7px;font-family:var(--ui);font-size:9.5px}
body.wd .ng-coitem-txt a{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
body.wd .ng-coitem-txt small{font-family:var(--ui);font-size:9px;letter-spacing:.18em;text-transform:uppercase}
body.wd .ng-coitem-sum{font-family:var(--ui);font-size:11px;font-weight:400;letter-spacing:.06em}
body.wd .ng-codisc{gap:0;margin:18px 0 0}
body.wd .ng-codisc input{border:1px solid var(--line);padding:13px 14px;font-family:var(--ui);font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase}
body.wd .ng-codisc input:focus{border-color:#111;outline:0}
body.wd .ng-codisc button{border:1px solid #111;border-left:0;background:#111;color:#fff;padding:13px 18px;
  font-family:var(--ui);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase}
body.wd .ng-codisc button:hover{background:#fff;color:#111}
body.wd .ng-cosum .ng-sum-row{display:flex;justify-content:space-between;gap:16px;padding:13px 0;
  border-bottom:1px solid var(--line);font-family:var(--ui);font-size:10px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--muted);background:transparent}
body.wd .ng-cosum .ng-sum-row b{color:#111;font-weight:500;letter-spacing:.06em}
body.wd .ng-cosum .ng-sum-row i{font-style:normal;color:var(--accent);margin-left:6px}
body.wd .ng-cosum .ng-sum-row.total{font-family:var(--mono);font-weight:700;color:#111;font-size:11px}
body.wd .ng-cosum .ng-sum-row.total b{font-family:var(--ui);font-size:15px}
body.wd .ng-cosum-note{font-family:var(--ui);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;line-height:1.95}

/* the receipt takes the whole width once the summary panel is dismissed */
body.wd .ng-cow-main:has(.ng-codone:not([hidden])){border-right:0}
body.wd .ng-codone{background:transparent;border:0;padding:80px 26px;text-align:left}
body.wd .ng-codone h2{font-family:var(--mono);font-size:clamp(20px,3vw,34px);letter-spacing:.06em;margin:8px 0 16px}
body.wd .ng-codone p{font-family:var(--ui);font-size:12px;line-height:2;max-width:56ch}
body.wd .ng-codone-num b{font-family:var(--mono);letter-spacing:.14em}
body.wd .ng-codone-acts{justify-content:flex-start}
body.wd .ng-coempty{padding:110px 20px 130px}
body.wd .ng-coempty p{font-family:var(--ui);font-size:11px;letter-spacing:.16em;text-transform:uppercase}

@media (max-width:900px){
  body.wd .ng-cow{grid-template-columns:minmax(0,1fr)}
  body.wd .ng-cow-main{border-right:0;padding:0 18px 30px;order:2}
  body.wd .ng-cosum{order:1;border-bottom:1px solid var(--line)}
  body.wd .ng-cosum-stick{padding:22px 18px 28px}
  body.wd .ng-codone{padding:60px 18px}
}

/* ---------- account ----------------------------------------------------
   Hairline rails and rows, same as the rest of the editorial theme. */
body.wd .ng-acw{width:100%;max-width:none;margin:0;gap:0;
  grid-template-columns:minmax(0,1fr) minmax(310px,400px);border-bottom:1px solid var(--line)}
body.wd .ng-acw-main{border-right:1px solid var(--line);padding:26px 26px 44px}
body.wd .ng-acw-lead{font-family:var(--ui);font-size:11.5px;letter-spacing:.02em;line-height:1.95}
body.wd .ng-actabs{gap:0;margin-bottom:24px;border-bottom:1px solid var(--line)}
body.wd .ng-actabs button{border:0;border-bottom:2px solid transparent;background:transparent;
  padding:14px 18px;font-family:var(--ui);font-size:10px;font-weight:500;letter-spacing:.2em;
  text-transform:uppercase;color:var(--muted)}
body.wd .ng-actabs button.on{background:transparent;color:#111;border-bottom-color:#111}
body.wd .ng-acw-side{gap:0;border-left:0}
body.wd .ng-acside-box{background:transparent;border:0;border-bottom:1px solid var(--line);
  padding:26px 26px 28px}
body.wd .ng-acside-box:last-child{border-bottom:0}
body.wd .ng-acside-box h2{font-family:var(--mono);font-size:clamp(15px,1.7vw,20px);letter-spacing:.14em;margin:6px 0 12px}
body.wd .ng-acside-box p{font-family:var(--ui);font-size:11.5px;line-height:2}

body.wd .ng-acnav{background:transparent;border:0;border-right:1px solid var(--line);padding:26px 22px 40px}
body.wd .ng-acwho{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:16px}
body.wd .ng-acinit{background:#111;color:#fff;font-family:var(--mono);font-size:13px;letter-spacing:.06em}
body.wd .ng-acwho b{font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
body.wd .ng-acwho small{font-family:var(--ui);font-size:9.5px;letter-spacing:.1em}
body.wd .ng-acnav nav{gap:0;margin-bottom:18px}
body.wd .ng-acnav nav button{border-bottom:1px solid var(--line);padding:13px 0;font-family:var(--ui);
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
body.wd .ng-acnav nav button:hover{background:transparent;color:#111}
body.wd .ng-acnav nav button.on{background:transparent;color:#111;font-weight:700;font-family:var(--mono)}
body.wd .ng-acnav nav button i{font-family:var(--ui);font-size:9.5px}
body.wd .ng-acw-in{grid-template-columns:minmax(250px,310px) minmax(0,1fr)}
body.wd .ng-acw-in .ng-acw-main{border-right:0}
body.wd .ng-acview h2{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.24em;
  text-transform:uppercase;margin:0 0 22px;padding-bottom:13px;border-bottom:1px solid var(--line)}
body.wd .ng-acbox{background:transparent;border:1px solid var(--line);padding:22px}
body.wd .ng-acbox address{font-family:var(--ui);font-size:11.5px;line-height:2.05;letter-spacing:.02em}
body.wd .ng-acbox p{font-family:var(--ui);font-size:11.5px;line-height:2}

body.wd .ng-acorder{background:transparent;border:0;border-bottom:1px solid var(--line);
  padding:20px 0;margin:0}
body.wd .ng-acorder-top b{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em}
body.wd .ng-acorder-top span{font-family:var(--ui);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase}
body.wd .ng-acorder-it{border:1px solid var(--line);background:var(--tile)}
body.wd .ng-acorder-it b{background:#111;color:#fff;font-family:var(--ui);font-size:9px}
body.wd .ng-acorder-meta{font-family:var(--ui);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase}
body.wd .ng-acorder-meta b{font-family:var(--ui);font-size:13px;letter-spacing:.06em;color:#111}
body.wd .ng-actag{font-family:var(--ui);font-size:9px;letter-spacing:.2em;color:var(--accent)}
body.wd .ng-acview .ng-empty{padding:50px 0;text-align:left}
body.wd .ng-acview .ng-colock{margin-top:22px}

@media (max-width:900px){
  body.wd .ng-acw,body.wd .ng-acw-in{grid-template-columns:minmax(0,1fr)}
  body.wd .ng-acw-main{border-right:0;padding:22px 18px 34px}
  body.wd .ng-acw-side{border-top:1px solid var(--line)}
  body.wd .ng-acside-box{padding:22px 18px 24px}
  body.wd .ng-acnav{border-right:0;border-bottom:1px solid var(--line);padding:22px 18px 26px}
}

/* ---------- order tracking --------------------------------------------- */
body.wd .ng-trw{width:100%;max-width:none;margin:0;border-bottom:1px solid var(--line)}
body.wd .ng-trfind,body.wd .ng-trres,body.wd .ng-trnone{background:transparent;border:0;
  border-bottom:1px solid var(--line);padding:26px 26px 30px;margin:0}
body.wd .ng-trhead{padding-bottom:24px}
body.wd .ng-trhead h2{font-family:var(--mono);font-size:clamp(18px,2.4vw,28px);letter-spacing:.06em;margin:8px 0 10px}
body.wd .ng-trsub{font-family:var(--ui);font-size:11.5px;line-height:1.95}
body.wd .ng-trship i{font-family:var(--ui);font-size:9px;letter-spacing:.22em}
body.wd .ng-trship b{font-family:var(--ui);font-size:11px;letter-spacing:.06em}

body.wd .ng-trline li::before{border-color:var(--line);border-width:1px;border-radius:0 !important;width:12px;height:12px;top:11px}
body.wd .ng-trline li::after{background:var(--line);height:1px}
body.wd .ng-trline li.done::before{background:#111;border-color:#111}
body.wd .ng-trline li.done::after{background:#111}
body.wd .ng-trline li.now::before{background:#fff;border-color:#111;border-width:3px}
body.wd .ng-trline li b{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
body.wd .ng-trline li span{font-family:var(--ui);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase}

body.wd .ng-trbox{border:1px solid var(--line);padding:20px}
body.wd .ng-trbox address{font-family:var(--ui);font-size:11.5px;line-height:2.05}
body.wd .ng-trtotal{font-family:var(--ui);font-size:20px;font-weight:500;letter-spacing:.06em}
body.wd .ng-tritem-img{border:1px solid var(--line)}
body.wd .ng-tritem-img b{background:#111;color:#fff;font-family:var(--ui);font-size:9px}
body.wd .ng-tritem-txt a{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
body.wd .ng-tritem-txt small{font-family:var(--ui);font-size:9px;letter-spacing:.18em;text-transform:uppercase}

body.wd .ng-trdemo>span{font-family:var(--ui);font-size:9px;letter-spacing:.22em;color:var(--accent)}
body.wd .ng-trdemo button{border:1px solid var(--line);padding:9px 14px;font-family:var(--ui);
  font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:#111}
body.wd .ng-trdemo button:hover{border-color:#111}
body.wd .ng-trdemo button.on{background:#111;color:#fff;border-color:#111}
body.wd .ng-trnone p{font-family:var(--ui);font-size:11.5px;line-height:2}
body.wd .ng-trw .ng-colock{margin:26px}

@media (max-width:760px){
  body.wd .ng-trfind,body.wd .ng-trres,body.wd .ng-trnone{padding:22px 16px 26px}
  body.wd .ng-trw .ng-colock{margin:18px 16px}
}

/* ---------- wishlist toolbar ------------------------------------------- */
body.wd .ng-wlbar{width:100%;max-width:none;margin:0;padding:14px 22px;background:transparent;
  border:0;border-bottom:1px solid var(--line)}
body.wd .ng-wlcount b{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
body.wd .ng-wlcount span{font-family:var(--ui);font-size:10.5px;letter-spacing:.08em}
body.wd .ng-wlsort label{font-family:var(--ui);font-size:9px;letter-spacing:.24em}
body.wd .ng-wlsort select{border:1px solid var(--line);padding:9px 12px;font-family:var(--ui);
  font-size:9.5px;letter-spacing:.16em;text-transform:uppercase}
body.wd #ngWlNote{width:100%;max-width:none;margin:0;padding:11px 22px;border-bottom:1px solid var(--line);
  font-family:var(--ui);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase}
body.wd #ngWlNote:empty{display:none}
body.wd .ng-wlin{font-family:var(--ui);font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--accent);margin:4px 0 0}
body.wd .ng-wlmove{font-family:var(--ui);font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line);width:auto;margin:8px 0 0}
body.wd .ng-wlmove:hover{color:#111;border-bottom-color:#111}
body.wd .ng-wlshared{width:100%;max-width:none;margin:0;border:0;border-bottom:1px solid var(--line);
  padding:26px 22px 0}
body.wd .ng-wlshared-in h2{font-family:var(--mono);font-size:clamp(15px,1.8vw,21px);letter-spacing:.12em;margin:6px 0 10px}
body.wd .ng-wlshared-in p{font-family:var(--ui);font-size:11.5px;line-height:1.95}
body.wd .ng-wlshared .ng-grid{border-left:0;border-right:0;border-bottom:0;margin:0 -22px}

@media (max-width:640px){
  body.wd .ng-wlbar{padding:14px 16px}
  body.wd #ngWlNote{padding:11px 16px}
  body.wd .ng-wlshared{padding:22px 16px 0}
  body.wd .ng-wlshared .ng-grid{margin:0 -16px}
}

/* ---------- editorial product page ------------------------------------
   Photography runs flush to the left edge in one tall column; the buy
   panel on the right is a stack of hairline rows that sticks while the
   pictures scroll past it. Accordions, not tabs. */
.ng-pdw{display:grid;grid-template-columns:minmax(0,1fr) minmax(370px,var(--pdw,480px));
  align-items:start;border-bottom:1px solid var(--line)}
.ng-pdw-media{border-right:1px solid var(--line);min-width:0}
.ng-pdw-top{display:flex;align-items:center;justify-content:space-between;gap:16px;
  margin:0;padding:13px 20px;border-bottom:1px solid var(--line)}
body.wd .ng-pdw-top .ng-crumb{margin:0}
body.wd .ng-pdw-wish{position:static;width:auto;height:auto;padding:0;border:0;background:transparent;
  display:inline-flex;align-items:center;gap:9px;cursor:pointer;opacity:1}
body.wd .ng-pdw-wish svg{width:14px;height:14px;fill:none;stroke:#111;stroke-width:1.4}
body.wd .ng-pdw-wish.on svg{fill:#111}
body.wd .ng-pdw-wish i{font-style:normal;font-family:var(--ui);font-size:9.5px;letter-spacing:.2em;
  text-transform:uppercase;color:#111;white-space:nowrap}
.ng-pdw-shot{position:relative;margin:0;background:var(--tile);border-bottom:1px solid var(--line)}
.ng-pdw-shot:last-child{border-bottom:0}
.ng-pdw-shot img{width:100%;aspect-ratio:4/5;max-height:880px;object-fit:cover;display:block}
.ng-pdw-shot figcaption{position:absolute;left:18px;bottom:15px;font-family:var(--ui);font-size:9.5px;
  letter-spacing:.24em;color:rgba(17,17,17,.6)}
.ng-pdw-info{min-width:0}
.ng-pdw-stick{position:sticky;top:74px;padding:28px 30px 42px}
.ng-pdw-stock{display:flex;align-items:center;gap:9px;margin:0 0 15px;font-family:var(--ui);
  font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.ng-pdw-stock i{width:7px;height:7px;background:#1FA463;display:block}
body.wd .ng-pdw h1{font-family:var(--mono);font-size:15px;font-weight:700;letter-spacing:.1em;margin:0 0 13px}
.ng-pdw-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 13px;margin:0 0 13px;
  font-family:var(--ui);font-size:14px;color:#111}
.ng-pdw-price b{font-weight:500;letter-spacing:.06em}
.ng-pdw-price s{color:var(--muted);font-size:11px}
.ng-pdw-price em{font-style:normal;color:var(--accent);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase}
.ng-pdw-meta{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0 0 24px;font-family:var(--ui);
  font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}

.ng-acco{border-top:1px solid var(--line)}
.ng-acco:last-of-type{border-bottom:1px solid var(--line)}
.ng-acco summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  gap:14px;padding:16px 0;font-family:var(--mono);font-weight:700;font-size:10.5px;letter-spacing:.2em;
  text-transform:uppercase;color:#111}
.ng-acco summary::-webkit-details-marker{display:none}
.ng-acco summary::after{content:"+";font-family:var(--ui);font-size:14px;color:var(--muted);line-height:1}
.ng-acco[open] summary::after{content:"-"}
.ng-acco-body{padding:0 0 20px;font-family:var(--ui);font-size:11.5px;line-height:2;color:var(--body)}
.ng-acco-body p{margin:0 0 12px}
.ng-acco-body p:last-child{margin:0}
.ng-acco-body ul,.ng-acco-body ol{margin:14px 0 0;padding-left:18px}
.ng-acco-body li{margin-bottom:7px}

.ng-pdw-lbl{margin:24px 0 10px;font-family:var(--ui);font-size:9.5px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--muted)}
.ng-pdw-lbl span{color:#111}
.ng-pdw-qty{display:grid;grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;
  border:1px solid var(--line);margin:0 0 13px}
.ng-pdw-qty button{height:48px;border:0;background:transparent;color:#111;font-size:15px;cursor:pointer;
  transition:background .2s,color .2s}
.ng-pdw-qty button:hover{background:#111;color:#fff}
.ng-pdw-qty span{text-align:center;font-family:var(--ui);font-size:12px;letter-spacing:.1em}
body.wd .ng-pdw .ng-btn-block{width:100%;padding:17px 20px;font-size:10.5px;letter-spacing:.24em}
.ng-pdw-perks{list-style:none;margin:22px 0 0;padding:0}
.ng-pdw-perks li{padding:10px 0;border-bottom:1px solid var(--line);font-family:var(--ui);font-size:9.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.ng-pdw-perks li:first-child{border-top:1px solid var(--line)}
body.wd .ng-pdw .ng-swatches{display:flex;flex-wrap:wrap;gap:7px;margin:0}

/* ---------- kit builder ---------------------------------------------- */
body.wd .ng-pick-in{border:1px solid var(--line);background:#fff}
body.wd .ng-pick-in b{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase}
body.wd .ng-pick-in span{font-family:var(--ui);font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}
body.wd .ng-pick input:checked+.ng-pick-in{border-color:#111;background:#fafafa}
body.wd .ng-step legend,body.wd .ng-step .ng-kicker{letter-spacing:.24em}

/* ---------- cart, wishlist, forms, tables ----------------------------- */
body.wd .ng-cart-list,body.wd .ng-sum,body.wd .ng-bag-row,body.wd .ng-post,
body.wd .ng-stat,body.wd .ng-form,body.wd .ng-kitb,body.wd .ng-prose{
  background:#fff;border:1px solid var(--line)}
body.wd .ng-sum-row,body.wd .ng-stat-row{font-family:var(--ui);font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;border-bottom:1px solid var(--line)}
body.wd .ng-field input,body.wd .ng-field textarea,body.wd .ng-field select{
  border:1px solid var(--line);background:#fff;font-family:var(--ui);font-size:12px;padding:13px 14px}
body.wd .ng-field input:focus,body.wd .ng-field textarea:focus{border-color:#111;outline:0}
body.wd .ng-field label{font-family:var(--ui);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
body.wd .ng-empty{font-family:var(--ui);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
body.wd .ng-value,body.wd .ng-step{background:#fff;border:1px solid var(--line)}
body.wd .ng-prose h2,body.wd .ng-prose h3{letter-spacing:.1em}
body.wd .ng-prose p,body.wd .ng-prose li{font-family:var(--ui);font-size:12.5px;line-height:2}

/* ---------- drawers, lightbox, toast ---------------------------------- */
body.wd .ng-drawer-panel,body.wd .ng-bagdraw-panel{background:#fff;border-left:1px solid var(--line)}
body.wd .ng-drawer-bg{background:rgba(17,17,17,.5);backdrop-filter:none}
body.wd .ng-drawer-panel a{font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.14em;
  text-transform:uppercase;border-bottom:1px solid var(--line)}
body.wd .ng-drawer-head{border-bottom:1px solid var(--line);justify-content:space-between}
body.wd .ng-drawer-head::before{content:"NAIL GANG";font-family:var(--mono);font-weight:700;
  font-size:13px;letter-spacing:.3em;color:#111}
body.wd .ng-drawer-script,body.wd .ng-foot-script,body.wd .ng-foot-motto,body.wd .ng-script,
body.wd .ng-hero-line{font-family:var(--ui);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--muted);line-height:2.1}
body.wd .ng-drawer-script span,body.wd .ng-foot-script span,body.wd .ng-foot-motto span{display:none}
body.wd .ng-bagdraw-panel header h2{font-family:var(--mono);font-size:12px;letter-spacing:.24em}
body.wd .ng-bag-ship{font-family:var(--ui);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
body.wd .ng-bag-bar{background:var(--line)}
body.wd .ng-bag-bar>i{background:#111}
body.wd .ng-bag-total{font-family:var(--ui);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  border-top:1px solid var(--line)}
body.wd .ng-lightbox{background:rgba(255,255,255,.97)}
body.wd .ng-lb-close,body.wd .ng-lb-nav{color:#111;background:transparent;border:1px solid var(--line)}
body.wd .ng-lb-fig figcaption{color:#111;font-family:var(--ui);font-size:10px;letter-spacing:.2em;text-transform:uppercase}
body.wd .ng-toast{background:#111;color:#fff;font-family:var(--ui);font-size:10px;letter-spacing:.18em;
  text-transform:uppercase;border:0}

/* ---------- footer ---------------------------------------------------- */
body.wd .ng-foot{background:#fff;border-top:1px solid var(--line);color:var(--body)}
body.wd .ng-foot-in{padding:56px 0 40px}
body.wd .ng-foot-brand::before{content:"NAIL GANG";font-family:var(--mono);font-weight:700;
  font-size:clamp(20px,2.6vw,30px);letter-spacing:.24em;color:#111;display:block;margin-bottom:12px}
body.wd .ng-foot-col h3,body.wd .ng-foot-social h3{font-family:var(--ui);font-size:9.5px;
  letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-weight:400;margin-bottom:14px}
body.wd .ng-foot-col a,body.wd .ng-foot-bar a{font-family:var(--ui);font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:#111}
body.wd .ng-foot-col a:hover{color:var(--accent)}
body.wd .ng-socials a{border:1px solid var(--line);color:#111}
body.wd .ng-socials a:hover{background:#111;color:#fff}
body.wd .ng-socials a svg{stroke:currentColor}
body.wd .ng-foot-bar{border-top:1px solid var(--line);background:#fff}
body.wd .ng-foot-bar p{font-family:var(--ui);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
body.wd .ng-foot-bar p>span:not(.ng-themeswap){display:none}
/* the footer link colour is more specific than the switch's own rule */
body.wd .ng-foot-bar .ng-themeswap a{color:var(--muted)}
body.wd .ng-foot-bar .ng-themeswap a.on{color:#fff}

/* ---------- reveals: a shorter, flatter move -------------------------- */
/* fade only: a sliding reveal inside a hairline grid exposes the rule above it */
body.wd .ng-reveal{transform:none;transition-duration:.6s}

/* ---------- responsive ------------------------------------------------ */
@media (max-width:1000px){
  .ng-woffers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ng-woffers .ng-woffer:last-child{grid-column:1/-1}
  body.wd .ng-logo::after{font-size:13px;letter-spacing:.28em}
}
@media (max-width:560px){
  body.wd .ng-logo::after{font-size:11px;letter-spacing:.2em}
  body.wd .ng-acts{gap:2px}
  body.wd .ng-icobtn{width:36px;height:36px}
}
@media (max-width:760px){
  body.ng.wd{--wrap:100%}
  body.wd .ng-wrap{width:calc(100% - 32px)}
  .ng-whero{height:min(84vh,680px)}
  .ng-whero-in{width:calc(100% - 32px);padding:18px 0 26px}
  .ng-rules{background:repeating-linear-gradient(90deg,rgba(255,255,255,.16) 0 1px,transparent 1px 50%)}
  .ng-wduo{grid-template-columns:minmax(0,1fr)}
  .ng-wduo-c{height:clamp(300px,74vw,420px)}
  .ng-woffers{grid-template-columns:minmax(0,1fr)}
  .ng-woffers .ng-woffer:last-child{grid-column:auto}
  .ng-woffer{padding:34px 20px}
  .ng-strip .ng-marquee-run span{font-size:12px}
  body.wd .ng-card-body{padding:11px 10px 0}
  body.wd .ng-card-body h3{font-size:10px;min-height:3em}
  body.wd .ng-price{font-size:10px}
  body.wd .ng-sec{padding:44px 0}
  body.wd .ng-kit{grid-template-columns:minmax(0,1fr)}
  body.wd .ng-kit-img{border-right:0;border-bottom:1px solid var(--line);height:auto;aspect-ratio:4/3}
  body.wd .ng-kit-copy{padding:26px 18px}
  body.wd .ng-stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.wd .ng-stat:nth-child(2n){border-right:0}
  body.wd .ng-stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
  body.wd .ng-value{grid-template-columns:minmax(0,1fr)}
  body.wd .ng-value>div{border-right:0;border-bottom:1px solid var(--line)}
  body.wd .ng-value>div:last-child{border-bottom:0}
  .ng-pdw{grid-template-columns:minmax(0,1fr)}
  .ng-pdw-media{border-right:0;border-bottom:1px solid var(--line)}
  .ng-pdw-stick{position:static;padding:24px 16px 34px}
  /* phones swipe through the shots instead of scrolling past all of them */
  .ng-pdw-shots{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .ng-pdw-shots::-webkit-scrollbar{display:none}
  .ng-pdw-shot{flex:0 0 88%;scroll-snap-align:center;border-bottom:0;border-right:1px solid var(--line)}
  .ng-pdw-shot:last-child{border-right:0}
  .ng-pdw-shot img{aspect-ratio:1/1;max-height:none}
  .ng-bar{padding:12px 16px;gap:12px}
  .ng-cstory{grid-template-columns:minmax(0,1fr)}
  .ng-cstory-img{border-right:0;border-bottom:1px solid var(--line);min-height:clamp(260px,64vw,380px)}
  .ng-cstory-copy{padding:28px 16px}
  .ng-cartw{grid-template-columns:minmax(0,1fr)}
  .ng-cartw-list{border-right:0;border-bottom:1px solid var(--line);padding:0 16px 26px}
  .ng-cartw-sum{padding:20px 16px 34px}
  body.wd #ngCartRoot .ng-bag-row{grid-template-columns:72px minmax(0,1fr) auto;gap:14px}
  body.wd #ngCartRoot .ng-bag-row img{width:72px;height:90px}
  .ng-cartw-head{grid-template-columns:72px minmax(0,1fr) auto;gap:14px}
  .ng-bar-intro{padding:13px 16px;font-size:11px}
  .ng-strip-row{padding:8px 10px}
  .ng-strip-lbl{width:100%;min-width:0;margin:0 0 4px}
  .ng-searchbar{padding:16px}

  /* the page bar stacks rather than squeezing its meta against the edge */
  .ng-bar{flex-direction:column;align-items:flex-start;gap:7px;padding:12px 16px}
  .ng-bar-note{gap:6px 14px}

  /* the image+copy block lost its picture on phones: the desktop grid-column
     assignments opened a phantom second column once we dropped to one */
  body.wd .ng-kit-img,body.wd .ng-kit-copy{grid-column:auto}

  /* name over price: side by side does not survive a 2-up wall */
  body.wd .ng-card-body{grid-template-columns:minmax(0,1fr);gap:2px}
  body.wd .ng-price{grid-column:1;justify-self:start}
  body.wd .ng-card-body h3{min-height:0}

  /* the hero CTA gets its own line instead of fighting the wordmark */
  .ng-whero-nav{right:2px;gap:4px}
  .ng-whero-bar{width:24px;height:34px}
  .ng-whero-bar::after{height:18px}
  .ng-whero-bar.on::after{height:30px}
  .ng-whero-foot{flex-direction:column;align-items:flex-start;gap:15px}
  .ng-whero-sub{margin-top:12px}

  body.wd .ng-pick-in{display:flex;flex-direction:column;height:100%}
  body.wd .ng-strip-row a{padding:10px 13px}
  /* thumb-sized targets */
  body.wd .ng-fav:not(.ng-pdw-wish){width:34px;height:34px}
  body.wd .ng-qty{grid-template-columns:38px 40px 38px}
  body.wd .ng-qty button{height:38px;width:38px}
}
@media (max-width:440px){
  body.wd .ng-trust-it{padding:20px 10px}
  body.wd .ng-trust-it b{font-size:10px;letter-spacing:.12em}
  body.wd .ng-trust-it span{font-size:8.5px;letter-spacing:.12em}
}
@media (prefers-reduced-motion:reduce){
  .ng-whero-slides{animation:none}
  .ng-whero-slide{transition:none}
  .ng-strip .ng-marquee-run{animation:none}
}
