/* Perfulet M5 High-Fidelity Visual System — v0.2
   Visual hardening over frozen M4 v3.3.1 architecture.
   Design principle: premium through hierarchy, product imagery and editorial composition — not ornamental luxury. */


/* Tokens are defined in m5-tokens.css. */
*{box-sizing:border-box}
html{background:var(--color-canvas);color-scheme:light}
body{
  background:linear-gradient(180deg,var(--color-canvas-top) 0,var(--color-canvas) 24rem);
  color:var(--color-ink);
  font-family:var(--font-sans);
  font-size:var(--type-body);
  font-weight:var(--weight-regular);
  line-height:1.55;
  letter-spacing:-.006em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
::selection{background:var(--color-accent-soft);color:var(--color-ink)}
a{color:inherit}
button,input,select,textarea{font:inherit}
.shell{max-width:var(--max);padding-inline:clamp(1rem,3vw,2rem)}

/* Global type hierarchy */
h1,h2,h3,strong,.logo{color:var(--color-ink)}
h1,h2,h3{font-weight:var(--weight-semibold)}
.hero h1{
  margin:var(--space-3) 0 var(--space-6);
  max-width:12ch;
  font-size:var(--type-display);
  font-weight:var(--weight-semibold);
  line-height:.96;
  letter-spacing:-.055em;
}
.page-title{
  font-size:var(--type-h1);
  line-height:.98;
  font-weight:var(--weight-semibold);
  letter-spacing:-.045em;
}
.section-head h2,.module h2{font-size:var(--type-h2);line-height:1.05;font-weight:var(--weight-semibold);letter-spacing:-.035em}
.lead{font-size:clamp(1.05rem,1.45vw,1.2rem);line-height:1.68;color:var(--color-ink-soft);max-width:58ch}
.subtle{color:var(--color-ink-soft)}
.micro,.customer-note{font-size:var(--type-caption);line-height:1.58;color:var(--color-muted)}
.eyebrow{
  color:var(--color-accent-strong);
  font-size:var(--type-label);
  line-height:1.2;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:var(--weight-semibold);
}
.breadcrumbs{padding:var(--space-7) 0 var(--space-5);font-size:var(--type-caption);letter-spacing:.01em;color:var(--color-muted)}

/* Interactive system */
.icon-btn,.btn{
  min-height:44px;
  border:1px solid var(--color-border-strong);
  background:var(--surface-92);
  color:var(--color-ink);
  border-radius:var(--radius-pill);
  padding:.68rem 1rem;
  font-size:.8125rem;
  font-weight:var(--weight-semibold);
  box-shadow:var(--elevation-0);
  transition:transform var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard);
}
.icon-btn:hover,.btn:hover{transform:translateY(-1px);border-color:var(--color-border-strong);background:var(--color-surface);box-shadow:var(--elevation-1)}
.btn.primary{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-on-dark)}
.btn.primary:hover{background:var(--color-ink-hover)}
.btn.secondary{background:var(--color-accent-soft);border-color:transparent}
.btn.block{min-height:54px;border-radius:var(--radius-m);font-size:.9rem}
.btn[disabled],.btn[aria-disabled="true"]{cursor:not-allowed;opacity:.48;transform:none;box-shadow:none}
.text-link{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:none;
  padding:0;
  margin:0;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  color:var(--color-ink-soft);
  font:inherit;
  font-size:.8125rem;
  font-weight:var(--weight-medium);
  text-decoration:none;
}
.text-link:hover{color:var(--color-ink);text-decoration:underline;text-underline-offset:3px}
.btn:focus-visible,.icon-btn:focus-visible,.text-link:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible{
  outline:2px solid var(--color-accent-strong);
  outline-offset:3px;
}

/* Header / footer */
.utility{background:var(--color-footer);color:var(--color-on-dark);padding:.55rem 1rem;font-size:.75rem;letter-spacing:.045em;text-transform:none;font-weight:var(--weight-medium)}
.utility-mobile{display:none}

.header{top:0;background:var(--canvas-glass);border-bottom:1px solid var(--color-border);backdrop-filter:blur(22px) saturate(130%);-webkit-backdrop-filter:blur(22px) saturate(130%)}
.header-row{height:76px;gap:var(--space-6)}
.logo{font-size:.95rem;font-weight:var(--weight-bold);letter-spacing:.22em}
.nav{gap:1.75rem;font-size:.8125rem;font-weight:var(--weight-medium)}
.nav a{position:relative;padding:1.75rem 0 1.55rem}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:1.25rem;height:1px;background:var(--color-ink);transition:right var(--motion-fast) var(--ease-standard)}
.nav a:hover{text-decoration:none}.nav a:hover::after{right:0}
.actions{gap:.4rem}
.action-link{display:inline-flex;align-items:center;gap:.45rem}
.action-icon{display:inline-flex;width:18px;height:18px}.action-icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.8}
.footer{background:var(--color-footer);color:var(--color-on-dark);border:0;padding:var(--space-10) 0 var(--space-9);margin-top:var(--space-10)}
.footer .logo{color:var(--color-on-dark)}
.footer-grid{gap:var(--space-8)}
.footer .subtle,.footer .micro,.footer a,.footer-label{color:var(--color-footer-muted)}
.footer a,.footer-label{display:block;font-size:.8125rem;padding:.35rem 0}
.footer a:hover{color:var(--color-on-dark);text-decoration:none}
.footer h4{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-footer-heading);font-weight:var(--weight-semibold)}

/* Surfaces, media, tags */
.panel,.card{background:var(--surface-82);border:1px solid var(--color-border);border-radius:var(--radius-m);padding:var(--space-6);box-shadow:var(--elevation-0)}
.card{box-shadow:var(--elevation-1)}
.panel:hover,a.panel:hover{border-color:var(--color-border-strong)}
.media-wrap{
  aspect-ratio:1/1;
  width:100%;
  border:1px solid var(--color-border);
  background:var(--color-surface);
  border-radius:var(--radius-m);
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.media-wrap img{width:100%;height:100%;object-fit:contain;background:var(--color-surface);padding:5%;transition:transform var(--motion-standard) var(--ease-standard)}
.media-unavailable{
  aspect-ratio:1/1;width:100%;display:flex;align-items:center;justify-content:center;text-align:center;
  border:1px solid var(--color-border);border-radius:var(--radius-m);background:var(--color-surface-soft);color:var(--color-muted);font-size:.75rem;padding:var(--space-4)
}
.tag,.chip,.cues span{border-color:var(--color-border);background:var(--surface-72);color:var(--color-chip-text);padding:.38rem .65rem;font-size:.75rem;font-weight:var(--weight-medium)}
.chip.on{background:var(--color-ink);color:var(--color-on-dark);border-color:var(--color-ink)}
.callout{background:var(--color-surface-soft);border-color:var(--color-border);border-radius:var(--radius-m)}
.status-good{color:var(--color-success)}.status-warn{color:var(--color-warning)}.status-bad{color:var(--color-error)}
.rule{border-color:var(--color-border)}

/* Page rhythm */
.hero{gap:clamp(2.25rem,5vw,5rem);padding:clamp(4rem,8vw,6.5rem) 0 clamp(4rem,7vw,5.5rem);min-height:620px}
.hero>div:first-child{max-width:710px}
.hero-visual{max-width:580px;border:0;border-radius:var(--radius-l);background:linear-gradient(145deg,var(--color-hero-a),var(--color-surface) 48%,var(--color-hero-b));box-shadow:var(--elevation-2)}
.section{padding:clamp(4rem,7vw,5.5rem) 0}
.section.tight{padding:var(--space-8) 0}
.section.alt{background:var(--section-alt);border-color:var(--color-border)}
.section-head{margin-bottom:var(--space-7);align-items:end}

/* Homepage composition — fewer repeated cards */
.home-trust{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:1rem 0}
.home-trust-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.trust-point{padding:.35rem 1.3rem;border-left:1px solid var(--color-border)}
.trust-point:first-child{border-left:0;padding-left:0}.trust-point:last-child{padding-right:0}
.trust-point strong{font-size:.875rem;font-weight:var(--weight-semibold);display:block}.trust-point span{display:block;margin-top:.2rem;font-size:.75rem;color:var(--color-muted)}
.finder-feature{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.finder-feature-copy{max-width:580px}.finder-feature-copy h2{font-size:clamp(2.5rem,4.5vw,4rem);line-height:.98;letter-spacing:-.045em;margin:.5rem 0 1.25rem}
.finder-feature-visual{min-height:430px;border-radius:var(--radius-l);background:linear-gradient(145deg,var(--color-feature-a) 0,var(--color-feature-b) 43%,var(--color-feature-c) 100%);position:relative;overflow:hidden;border:1px solid var(--color-border)}
.finder-feature-visual::before,.finder-feature-visual::after{content:"";position:absolute;border-radius:50%;border:1px solid var(--accent-line)}
.finder-feature-visual::before{width:310px;height:310px;right:-40px;top:-55px}.finder-feature-visual::after{width:220px;height:220px;left:45px;bottom:-70px}
.finder-words{position:absolute;inset:0;display:grid;place-content:center;gap:.65rem;text-align:center;color:var(--color-accent-strong)}
.finder-words span{font-size:clamp(1.3rem,2.5vw,2.2rem);font-weight:var(--weight-medium);letter-spacing:-.03em}
.featured-products{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.6rem)}
.discovery-editorial{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--space-8);align-items:stretch}
.discovery-lead{min-height:390px;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(1.75rem,4vw,3.25rem);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
.discovery-lead h2{font-size:clamp(2.5rem,4vw,3.75rem);line-height:1;letter-spacing:-.045em;max-width:12ch}
.discovery-index{display:grid;align-content:center;border-top:1px solid var(--color-border)}
.discovery-index a{display:grid;grid-template-columns:8rem 1fr auto;gap:1rem;align-items:center;padding:1.35rem 0;border-bottom:1px solid var(--color-border)}
.discovery-index a span:first-child{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted)}
.discovery-index a strong{font-size:1.05rem;font-weight:var(--weight-semibold)}
.service-links{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--color-border)}
.service-link{padding:1.3rem 1rem 1.3rem 0;border-bottom:1px solid var(--color-border);min-height:100px}
.service-link strong{display:block;font-size:.9rem}.service-link p{margin:.4rem 0 0}

/* Product cards */
.products{gap:1.6rem 1.1rem}
.product-card{border:0;background:transparent;border-radius:0;padding:0;position:relative;min-width:0}
.product-media-shell{position:relative}
.product-media-link{display:block;border-radius:var(--radius-m)}
.product-card .product-media{border-radius:var(--radius-m);background:var(--color-surface);box-shadow:var(--elevation-1)}
.product-media-link[href]:hover .product-media img{transform:scale(1.02)}
.product-wishlist{position:absolute;right:.65rem;top:.65rem;width:44px;height:44px;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--surface-92);display:grid;place-items:center;font-size:1.15rem;color:var(--color-ink);z-index:2}
.product-wishlist:hover{background:var(--color-surface)}
.product-wishlist[aria-pressed="true"]{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-strong)}
.product-wishlist:disabled,.compare-control:disabled{opacity:.45;cursor:not-allowed}
.product-media-static,.product-title-static{cursor:default}
.product-title-link{display:block;padding-top:.85rem}
.product-card .brand{font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;color:var(--color-muted);font-weight:var(--weight-medium);margin:0}
.product-card .name{font-size:1.05rem;line-height:1.22;font-weight:var(--weight-semibold);letter-spacing:-.02em;margin-top:.25rem}
.product-card .meta{font-size:.8rem;margin-top:.25rem;color:var(--color-muted)}
.product-card .price{font-size:.95rem;font-weight:var(--weight-semibold);margin-top:.6rem}
.product-card .cues{margin-top:.35rem;min-height:32px}
.product-card .card-actions{margin-top:.25rem;display:flex;align-items:center;justify-content:flex-start}
.compare-control{appearance:none;border:0;background:none;padding:0 var(--space-2);min-height:var(--target-min);border-radius:var(--radius-pill);color:var(--color-muted);font-size:var(--type-label);font-weight:var(--weight-medium)}
.compare-control:hover{color:var(--color-ink);text-decoration:underline;text-underline-offset:3px}
.compare-control[aria-pressed="true"]{background:var(--color-accent-soft);color:var(--color-accent-strong);text-decoration:none}

/* PLP */
.plp-head{padding:.5rem 0 var(--space-6)}
.discovery-pillars{gap:0;margin:0 0 var(--space-7);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
.discovery-pillar{background:transparent;border:0;border-left:1px solid var(--color-border);border-radius:0;padding:.9rem 1rem;min-height:72px}
.discovery-pillar:first-child{border-left:0;padding-left:0}.discovery-pillar:last-child{padding-right:0}
.discovery-pillar strong{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:var(--weight-semibold)}
.plp{grid-template-columns:255px 1fr;gap:2.5rem}
.filters.panel{background:transparent;border:0;border-right:1px solid var(--color-border);border-radius:0;padding:.25rem 1.5rem .75rem 0;box-shadow:none}
.filters>strong{font-size:.875rem;font-weight:var(--weight-semibold)}
details.filter-group{padding:0;border-bottom:1px solid var(--color-border)}
details.filter-group summary{list-style:none;cursor:pointer;min-height:48px;display:flex;align-items:center;justify-content:space-between;font-size:.8125rem;font-weight:var(--weight-semibold);color:var(--color-ink)}
details.filter-group summary::-webkit-details-marker{display:none}
details.filter-group summary::after{content:"+";font-size:1rem;color:var(--color-muted);font-weight:var(--weight-regular)}
details.filter-group[open] summary::after{content:"−"}
details.filter-group>.filter-row,details.filter-group>.filter-stack,details.filter-group>.search-within{margin-bottom:.25rem}
details.filter-group[open]{padding-bottom:.75rem}
.filter-row{font-size:var(--type-body-small);padding:0;color:var(--color-control-text)}.filter-row label{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:var(--target-min);cursor:pointer}.filter-row input{accent-color:var(--color-ink);width:18px;height:18px;flex:0 0 auto}
.filter-stack{display:grid;gap:.45rem;font-size:.8125rem}.filter-stack select,.search-within input,.filter-group select{width:100%;border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:var(--radius-s);padding:.7rem .75rem;color:var(--color-ink)}
.applied{gap:var(--space-2);margin-bottom:var(--space-5)}.filter-chip{box-shadow:none;display:inline-flex;align-items:center;min-height:var(--target-min);padding:0 var(--space-3)}
.filter-panel details.filter-group summary{font-size:.9rem}

/* PDP */
.pdp{grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);gap:clamp(2.5rem,5vw,4rem);padding-bottom:var(--space-9)}
.main-media{border:0;border-radius:var(--radius-l);background:linear-gradient(145deg,var(--color-main-media),var(--color-surface) 62%);box-shadow:var(--elevation-2),inset 0 0 0 1px var(--color-border);max-width:600px;width:100%}
.main-media img{background:transparent;padding:7%;transition:transform var(--motion-standard) var(--ease-standard)}
.main-media:hover img{transform:scale(1.012)}
.gallery{justify-items:center}
.buy-panel{top:105px;max-width:500px;padding-top:.5rem}
.buy-panel .brand{font-size:.75rem;letter-spacing:.14em;color:var(--color-accent-strong)}
.buy-panel h1{font-size:clamp(2.7rem,4vw,3.65rem);font-weight:var(--weight-semibold);letter-spacing:-.05em;margin:.55rem 0 .5rem}
.descriptor{font-size:1rem;line-height:1.62;color:var(--color-ink-soft);margin:1rem 0 .25rem}
.price-xl{font-size:2rem;font-weight:var(--weight-semibold);letter-spacing:-.025em;margin-top:1.4rem}
.static-variant,.delivery-card{background:var(--surface-72);border-color:var(--color-border);border-radius:var(--radius-s);padding:.85rem .95rem}
.static-variant{margin-top:1rem}.stock{font-weight:var(--weight-semibold);margin:.8rem 0}.delivery-card{margin:.75rem 0}
.delivery-card .zip input{border-color:var(--color-border-strong);background:var(--color-surface);min-height:44px}
.trust-row{border-color:var(--color-border);gap:.45rem 1rem;padding:.8rem 0;margin-top:.8rem}.trust-row span{font-size:.75rem;color:var(--color-field-label);font-weight:var(--weight-medium)}
.why-shop{background:transparent;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
.why-shop .grid-4{gap:0}.why-shop .panel{background:transparent;border:0;border-left:1px solid var(--color-border);border-radius:0;padding:1.1rem 1.25rem}.why-shop .panel:first-child{border-left:0;padding-left:0}
.pdp-content{max-width:1120px}.module{padding:clamp(3.5rem,6vw,5rem) 0;border-top:1px solid var(--color-border)}
.quick-verdict{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--space-8);align-items:end}.quick-verdict-aside{border-left:1px solid var(--color-border);padding-left:var(--space-7)}.quick-verdict-aside strong{display:block;font-size:1.3rem;letter-spacing:-.02em;margin-top:.35rem}
.facts{gap:0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.fact{border:0;border-left:1px solid var(--color-border);border-radius:0;background:transparent;padding:1rem}.fact:first-child{border-left:0;padding-left:0}.fact small{font-size:.72rem;color:var(--color-muted);margin-bottom:.25rem}
.scent-scenes{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--color-border)}.scent-scene{padding:1.5rem 1.4rem 1.5rem 0;border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border)}.scent-scene:last-child{border-right:0;padding-left:1.4rem}.scent-scene:nth-child(2){padding-left:1.4rem}.scene-number{display:block;font-size:.75rem;color:var(--color-accent-strong);margin-bottom:2.75rem}.scent-scene strong{font-size:1.15rem}.scent-scene p{margin:.5rem 0 0;color:var(--color-muted);font-size:.875rem}
.note-lanes{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-7)}.note-lane{border-top:1px solid var(--color-border);padding-top:1rem}.note-lane-label{font-size:.75rem;color:var(--color-accent-strong);text-transform:uppercase;letter-spacing:.08em}.note-list{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1rem}.note-list span{border-bottom:1px solid var(--color-border);padding:.25rem 0;font-size:.9rem;margin-right:.6rem}
.performance-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--space-8);align-items:start}.performance-metrics{display:grid;border-top:1px solid var(--color-border)}.performance-metric{padding:1rem 0;border-bottom:1px solid var(--color-border)}.performance-metric span{font-size:.75rem;color:var(--color-muted)}.performance-metric strong{display:block;font-size:1.35rem;font-weight:var(--weight-semibold);margin-top:.25rem}
.sticky-atc{background:var(--surface-96);border-top-color:var(--color-border);backdrop-filter:blur(16px);padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));box-shadow:var(--sticky-shadow)}

/* Search */
.search-page{padding:var(--space-8) 0}.search-box{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:var(--radius-m);padding:1.05rem 1.2rem;font-size:1.15rem;box-shadow:var(--elevation-1)}
.search-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr);gap:var(--space-8);margin-top:var(--space-7)}
.search-products{border-top:1px solid var(--color-border)}.search-products h2{font-size:1.25rem;margin:1rem 0}.search-product{display:grid;grid-template-columns:84px 1fr auto;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--color-border)}.search-product .media-wrap,.search-product .media-unavailable{width:84px;border-radius:var(--radius-s)}.search-product strong{font-size:1rem}.search-product .price{font-weight:var(--weight-semibold)}
.search-secondary{border-top:1px solid var(--color-border)}.search-secondary section{padding:1rem 0;border-bottom:1px solid var(--color-border)}.search-secondary h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);margin:0 0 .75rem}.search-secondary a,.search-secondary span{display:block;padding:.35rem 0;font-size:.9rem}

/* Cart */
.cart-layout{grid-template-columns:minmax(0,1fr) 360px;gap:var(--space-8)}
.cart-item{grid-template-columns:112px minmax(0,1fr) auto;gap:var(--space-5);padding:1.25rem 0;border-bottom:1px solid var(--color-border);align-items:center}.cart-item .media-wrap{width:112px;border-radius:var(--radius-s)}
.quantity-row{display:flex;align-items:center;gap:1rem;margin-top:.8rem}.qty-stepper{display:inline-grid;grid-template-columns:44px 42px 44px;align-items:center;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);overflow:hidden;background:var(--color-surface)}.qty-stepper button{width:44px;height:44px;border:0;background:transparent;font-size:1.05rem}.qty-value{display:grid;place-items:center;height:44px;font-size:.875rem;border-inline:1px solid var(--color-border)}
.summary{border:1px solid var(--color-border);border-radius:var(--radius-m);background:var(--color-surface);padding:1.25rem;box-shadow:var(--elevation-1)}.summary-line{font-size:.875rem}.summary-line.total{font-size:1.05rem;font-weight:var(--weight-semibold);border-top-color:var(--color-border)}

/* Checkout + form system */
.checkout{grid-template-columns:minmax(0,1fr) 390px;gap:var(--space-8)}
.form-card{border:1px solid var(--color-border);background:var(--surface-80);border-radius:var(--radius-m);padding:1.4rem;margin-bottom:1rem;box-shadow:var(--elevation-0)}
.form-card h2{font-size:1.35rem;margin:0 0 1rem}.field-grid{gap:.9rem}.form-field{display:grid;gap:.4rem}.form-field label{font-size:.78rem;font-weight:var(--weight-medium);color:var(--color-field-label)}.form-field input,.form-field select{width:100%;min-height:48px;border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:var(--radius-s);padding:.75rem .8rem;color:var(--color-ink)}.form-field input::placeholder{color:var(--color-placeholder)}.form-field .field-help{font-size:.72rem;color:var(--color-muted)}.form-field.is-error input{border-color:var(--color-error)}.field-error{font-size:.75rem;color:var(--color-error)}
.delivery-option,.payment-option{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-s);background:var(--color-surface)}.delivery-option input,.payment-option input{margin-top:.2rem;accent-color:var(--color-ink)}
.checkout-note{font-size:.75rem;color:var(--color-muted);line-height:1.5;margin-top:.7rem}.estimated-total-label{display:block;font-size:.72rem;color:var(--color-muted);margin-top:.25rem}
.steps{gap:.4rem}.step{font-size:.75rem;border-color:var(--color-border);background:transparent}.step.active{background:var(--color-ink);color:var(--color-on-dark);border-color:var(--color-ink)}

/* Entity / guide pages without fake editorial placeholders */
.brand-hero.entity-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.7fr);gap:var(--space-9);align-items:end;padding:var(--space-9) 0}.entity-hero-signature{border-top:1px solid var(--color-border);padding-top:1rem;display:grid;gap:.8rem}.entity-hero-signature span{font-size:clamp(1.25rem,2.4vw,2rem);letter-spacing:-.03em;color:var(--color-accent-strong)}
.guide-intro-band{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);margin:2rem 0}.guide-intro-band div{padding:1rem;border-left:1px solid var(--color-border)}.guide-intro-band div:first-child{border-left:0;padding-left:0}.guide-intro-band strong{font-size:.8rem;display:block}.guide-intro-band span{font-size:.78rem;color:var(--color-muted)}

/* Wardrobe */
.wardrobe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}.wardrobe-item{border-top:1px solid var(--color-border);padding-top:1rem}.wardrobe-item .media-wrap{margin-bottom:.9rem}.wardrobe-item h3{font-size:1.05rem;margin:.4rem 0}

/* Generic internal states remain internal only */
.internal-page{background:var(--color-internal)}.internal-page .header,.internal-page .utility,.internal-page .footer{display:none}.internal-page main{padding-top:2rem}.internal-badge{display:inline-block;padding:.3rem .55rem;border-radius:var(--radius-pill);background:var(--color-ink);color:var(--color-on-dark);font-size:.7rem;font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase}

/* Responsive */
@media(max-width:1050px){
  .home-trust-inner{grid-template-columns:repeat(2,1fr)}.trust-point:nth-child(3){border-left:0}.trust-point{border-bottom:1px solid var(--color-border);padding:1rem}.trust-point:first-child{padding:1rem}
  .featured-products,.products,.entity-grid{grid-template-columns:repeat(3,1fr)}
  .facts{grid-template-columns:repeat(3,1fr)}
  .note-lanes{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:900px){
  body{padding-bottom:0}.shell{padding-inline:1rem}.utility{font-size:.72rem}.utility-desktop{display:none}.utility-mobile{display:inline}.header-row{height:62px}.nav{display:none}.mobile-menu-btn{display:inline-flex}.actions .hide-md{display:none}.action-label{display:none}.action-link{width:44px;padding:0;justify-content:center}
  .hero,.finder-feature,.brand-hero.entity-hero{grid-template-columns:1fr;gap:var(--space-7);padding:var(--space-8) 0}.hero{min-height:0}.hero-visual{justify-self:start;max-width:620px}.finder-feature-visual{min-height:330px}.entity-hero-signature{max-width:620px}
  .featured-products,.products,.grid-4,.entity-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}
  .discovery-editorial{grid-template-columns:1fr}.discovery-lead{min-height:280px}.service-links{grid-template-columns:1fr 1fr}
  .plp{grid-template-columns:1fr}.filters{display:none}.mobile-filter-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.discovery-pillars{grid-template-columns:1fr 1fr}.discovery-pillar:nth-child(3){border-left:0}.discovery-pillar{border-bottom:1px solid var(--color-border)}
  .pdp{grid-template-columns:1fr;gap:var(--space-7)}.buy-panel{position:static;max-width:none}.main-media{max-width:590px}.why-shop .grid-4{grid-template-columns:1fr 1fr}.why-shop .panel:nth-child(3){border-left:0}.quick-verdict,.performance-layout{grid-template-columns:1fr}.quick-verdict-aside{border-left:0;border-top:1px solid var(--color-border);padding:1rem 0 0}.facts{grid-template-columns:repeat(3,1fr)}.scent-scenes{grid-template-columns:1fr}.scent-scene,.scent-scene:nth-child(2),.scent-scene:last-child{border-right:0;padding:1.2rem 0}.scene-number{margin-bottom:1rem}.note-lanes{grid-template-columns:1fr}.sticky-atc{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;align-items:center;justify-content:space-between}.pdp-content{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
  .search-layout{grid-template-columns:1fr}.cart-layout,.checkout,.guide-layout,.finder,.account-layout{grid-template-columns:1fr}.summary,.toc,.finder-progress,.account-nav{position:static}.cart-item{grid-template-columns:90px 1fr auto}.cart-item .media-wrap{width:90px}.field-grid{grid-template-columns:1fr}.wardrobe-grid{grid-template-columns:1fr 1fr}
  .guide-intro-band{grid-template-columns:1fr}.guide-intro-band div{border-left:0;border-top:1px solid var(--color-border);padding:1rem 0}.guide-intro-band div:first-child{border-top:0}
}
@media(max-width:600px){
  .page-title,.hero h1{font-size:clamp(2.5rem,12vw,3.25rem)}.section{padding:3.5rem 0}.featured-products,.products,.grid-3,.grid-4,.entity-grid{grid-template-columns:1fr 1fr;gap:.85rem}.product-card .brand{font-size:.72rem}.product-card .name{font-size:.96rem}.product-card .meta{font-size:.76rem}.product-wishlist{width:44px;height:44px}.footer-grid{grid-template-columns:1fr 1fr;gap:var(--space-6) var(--space-5)}.footer-grid>div:first-child{grid-column:1/-1}.service-links{grid-template-columns:1fr}.discovery-index a{grid-template-columns:6.2rem 1fr auto}.home-trust-inner{grid-template-columns:1fr}.trust-point{border-left:0;border-bottom:1px solid var(--color-border);padding:1rem 0!important}
  .discovery-pillars{grid-template-columns:repeat(2,minmax(0,1fr))}.discovery-pillar{padding:.75rem .65rem}.discovery-pillar:nth-child(even){padding-left:.85rem}.why-shop .grid-4{grid-template-columns:1fr}.why-shop .panel{border-left:0;border-top:1px solid var(--color-border);padding:1rem 0}.why-shop .panel:first-child{border-top:0}.facts{grid-template-columns:1fr 1fr}.fact:nth-child(odd){border-left:0}.fact{border-bottom:1px solid var(--color-border)}
  .search-product{grid-template-columns:68px 1fr}.search-product .media-wrap,.search-product .media-unavailable{width:68px}.search-product .price{grid-column:2}.cart-item{grid-template-columns:82px 1fr}.cart-item>strong{grid-column:2}.cart-item .media-wrap{width:82px}.quantity-row{flex-wrap:wrap}.wardrobe-grid{grid-template-columns:1fr}.shell{padding-inline:.8rem}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.product-card img,.btn,.icon-btn,.tile,.nav a::after{transition:none!important}.btn:hover,.icon-btn:hover{transform:none}
}

/* Complete the token bridge for frozen base components still used by secondary pages. */
.drawer-panel,.filter-panel,.filter-footer{background:var(--color-canvas);border-color:var(--color-border)}
.mobile-drawer,.filter-sheet{background:var(--color-overlay)}
.empty-box,.reviews-empty,.choice,.match-card,.metric,.order-card,.guest-access,.real-field input,.wallet,.compare-table,.return-step,.review-card,.qa-item{
  background:var(--color-surface);border-color:var(--color-border)
}
.empty-box{border-style:dashed}
.choice.selected,.account-nav a.active,.return-num{background:var(--color-ink);color:var(--color-on-dark)}
.compare-table th{background:var(--color-surface-soft)}
.compare-table th,.compare-table td,.pref-row,.timeline:before{border-color:var(--color-border)}
.tl:before{background:var(--color-surface);border-color:var(--color-muted)}.tl.done:before{background:var(--color-ink);border-color:var(--color-ink)}
.real-field input,.search-within input{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-ink)}
.reviews-empty{background:var(--surface-72)}
.match-card{border-radius:var(--radius-m);box-shadow:var(--elevation-0)}
.match-score{font-weight:var(--weight-semibold)}
.choice{border-radius:var(--radius-m);min-height:108px}
.finder-error{color:var(--color-error);font-weight:var(--weight-semibold)}
.danger-state{border-left-color:var(--color-error);background:var(--color-danger-bg)}.warning-state{border-left-color:var(--color-warning);background:var(--color-warning-bg)}
.hero-product-feature{max-width:580px;justify-self:end}.hero-product-feature .hero-visual{max-width:none}.hero-caption{display:flex;justify-content:space-between;gap:1rem;padding:.75rem .2rem 0;font-size:.75rem;color:var(--color-muted)}.hero-caption strong{font-weight:var(--weight-medium)}
@media(max-width:900px){.hero-product-feature{justify-self:start;max-width:620px}}

/* v0.2.1 semantic utilities and final hardening */
.hero-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}
.micro-block{display:block}
.finder-nav-actions{display:flex;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-6)}
.match-list{display:grid;gap:var(--space-4)}
.match-refine{margin-top:var(--space-5)}
.skeleton-tall{height:120px}
.match-score{font-size:var(--type-label);text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent-strong);white-space:nowrap}
.footer-label{color:var(--color-footer-muted);opacity:.72;text-decoration:none;cursor:default}
@media(max-width:900px){
  .plp-head{display:block}
  .plp-head #plp-sort{width:100%;max-width:100%;min-height:var(--target-min);margin-top:var(--space-3)}
}

/* v0.2.3 semantic accessibility hardening — visual parity only */
.footer-title{font-size:var(--type-label-size);line-height:var(--type-label-line);font-weight:700;letter-spacing:.02em;margin:0 0 var(--space-3);color:inherit}
.item-title{font-size:1rem;line-height:1.25;font-weight:700;margin:.2rem 0 .35rem}
