@font-face {
  font-family:Outfit;
  src:url('./outfit-300.woff2') format('woff2');
  font-weight:300;
  font-display:swap;
}
@font-face {
  font-family:Outfit;
  src:url('./outfit-400.woff2') format('woff2');
  font-weight:400;
  font-display:swap;
}
@font-face {
  font-family:Outfit;
  src:url('./outfit-500.woff2') format('woff2');
  font-weight:500;
  font-display:swap;
}
@font-face {
  font-family:Outfit;
  src:url('./outfit-600.woff2') format('woff2');
  font-weight:600;
  font-display:swap;
}
@font-face {
  font-family:'Tenor Sans';
  src:url('./tenor-sans-400.woff2') format('woff2');
  font-weight:400;
  font-display:swap;
}
:root {
  --ink:#181a19;
  --muted:#62665f;
  --line:#e4e5e0;
  --green:#10b568;
  --deep-green:#00834a;
  --soft:#f4f5f1;
  --heading:'Tenor Sans',sans-serif;
  --body:Outfit,sans-serif;
}
* {
  box-sizing:border-box;
}
html {
  min-height:100%;
  scroll-behavior:smooth;
  scroll-padding-top:24px;
}
body {
  display:flex;
  min-height:100vh;
  min-height:100svh;
  flex-direction:column;
  margin:0;
  background:#fff;
  color:var(--ink);
  font:400 15px var(--body);
  overflow-wrap:break-word;
  overflow-x:clip;
}
#main {
  flex:1 0 auto;
}
h1,h2 {
  font-family:var(--heading);
  font-weight:400;
  letter-spacing:-.045em;
}
h1,h2,h3,p {
  margin:0;
}
h3 {
  font-weight:400;
}
a {
  color:inherit;
  text-decoration:none;
}
button {
  font:inherit;
  cursor:pointer;
}
button,a {
  -webkit-tap-highlight-color:transparent;
}
svg {
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.4;
  flex-shrink:0;
}
img {
  display:block;
  max-width:100%;
}
a,button,summary {
  touch-action:manipulation;
}
a:focus-visible,button:focus-visible,summary:focus-visible {
  outline:2px solid var(--deep-green);
  outline-offset:5px;
}
::selection {
  background:#c3f2d8;
  color:var(--ink);
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
}
.skip-link {
  position:absolute;
  top:8px;
  left:16px;
  z-index:10;
  background:var(--ink);
  color:white;
  padding:12px;
  transform:translateY(-150%);
}
.skip-link:focus {
  transform:none;
}
.announcement {
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 20px;
  background:var(--green);
  color:#080b09;
  font-size:11px;
  font-weight:500;
  letter-spacing:.15em;
  text-align:center;
}
.store-header {
  min-height:135px;
  padding:12px 5%;
  display:flex;
  align-items:center;
  gap:55px;
  border-bottom:1px solid #efefef;
  position:relative;
  background:#fff;
  z-index:3;
}
.brand-logo {
  display:block;
  flex-shrink:0;
  width:153px;
  position:relative;
  padding-bottom:12px;
}
.brand-logo img {
  width:100%;
  height:auto;
}
.brand-logo>span {
  display:block;
  position:absolute;
  bottom:7px;
  left:0;
  right:0;
  text-align:center;
  font-size:8px;
  letter-spacing:.48em;
  font-weight:500;
  color:#565c54;
}
.store-nav {
  display:flex;
  align-items:center;
  gap:30px;
}
.store-nav>a {
  font-family:var(--heading);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  min-height:44px;
  display:flex;
  align-items:center;
  position:relative;
}
.store-nav>a[aria-current=page]:after {
  content:'';
  position:absolute;
  bottom:5px;
  width:16px;
  height:2px;
  background:var(--green);
}
.store-nav>a:hover {
  color:var(--deep-green);
}
.account-link {
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:11px;
  font-size:12px;
  min-height:44px;
  white-space:nowrap;
}
.account-link svg {
  width:19px;
  height:19px;
}
.account-link>span:last-child {
  font-size:19px;
  margin-left:6px;
}
.account-link:hover {
  color:var(--deep-green);
}
.menu-toggle,.store-nav .mobile-account {
  display:none;
}
.section-wrap {
  max-width:1440px;
  margin:auto;
  padding-inline:6%;
}
.dot {
  display:inline-block;
  width:6px;
  height:6px;
  background:var(--green);
  border-radius:50%;
  flex-shrink:0;
}
.eyebrow {
  display:flex;
  align-items:center;
  gap:9px;
  font-size:10px;
  font-weight:500;
  letter-spacing:.16em;
  line-height:1.6;
}
.hero {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7%;
  padding-block:62px 66px;
}
.hero-copy {
  padding:10px 0;
}
.hero h1 {
  font-size:clamp(66px,7.25vw,106px);
  line-height:.98;
  margin:25px 0 26px;
  letter-spacing:-.055em;
}
h1 span,.how-intro h2 span {
  color:var(--deep-green);
}
.hero-description {
  color:var(--muted);
  font-size:17px;
  font-weight:300;
  line-height:1.75;
}
.hero-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:27px;
  margin-top:29px;
}
.button {
  display:inline-flex;
  justify-content:space-between;
  align-items:center;
  gap:34px;
  background:var(--ink);
  color:white;
  min-height:48px;
  padding:14px 22px;
  font-size:12px;
  border:1px solid var(--ink);
  font-weight:500;
  white-space:nowrap;
  transition:background .2s,border-color .2s;
}
.button>span[aria-hidden] {
  font-size:20px;
  font-weight:300;
  line-height:1;
}
.button:hover {
  background:var(--deep-green);
  border-color:var(--deep-green);
}
.button.light {
  background:white;
  color:var(--ink);
  border-color:white;
}
.button.light:hover {
  background:#daf2e4;
  border-color:#daf2e4;
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:17px;
  min-height:44px;
  font-size:12px;
  border-bottom:1px solid transparent;
}
.text-link:hover {
  border-color:var(--ink);
}
.text-link>span {
  font-size:18px;
}
.hero-note {
  display:flex;
  align-items:center;
  gap:7px;
  margin-top:23px;
  font-size:11px;
  color:var(--muted);
}
.hero-note svg {
  width:13px;
  height:13px;
}
.hero-art {
  position:relative;
  min-height:440px;
  background:radial-gradient(ellipse at 52% 38%,#faf9f5 0%,#f2f2ed 72%);
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-art::before {
  content:'';
  position:absolute;
  width:62%;
  height:48px;
  left:19%;
  top:70%;
  border-radius:50%;
  background:radial-gradient(ellipse,#20271f20,transparent 70%);
  transform:rotate(-8deg);
  pointer-events:none;
}
.art-top {
  position:absolute;
  inset:23px 24px auto;
  display:flex;
  justify-content:space-between;
  font-size:8px;
  letter-spacing:.15em;
  color:#5c6658;
  z-index:1;
}
.art-orbit {
  position:absolute;
  width:395px;
  height:395px;
  border:1px solid #d9dcd380;
  border-radius:50%;
  top:30px;
  left:calc(50% - 197px);
  pointer-events:none;
}
.orbit-one::after {
  content:'';
  position:absolute;
  inset:-1px;
  border:1px solid transparent;
  border-top-color:#a6a08a66;
  border-right-color:#c1c5be33;
  border-radius:inherit;
  transform:rotate(-35deg);
}
.orbit-two {
  width:490px;
  height:490px;
  top:-18px;
  left:calc(50% - 245px);
}
.membership-card {
  position:relative;
  width:80%;
  max-width:375px;
  aspect-ratio:1.6;
  background:linear-gradient(145deg,#252826,#171b19 65%,#202421);
  color:white;
  border:1px solid #9b9f8d55;
  border-radius:12px;
  transform:perspective(1000px) rotate(-8deg) rotateX(5deg) rotateY(-5deg);
  box-shadow:0 30px 42px -22px #202b2359,0 8px 18px -12px #121c2240,inset 0 1px 0 #e3d9b72b,inset -1px 0 0 #dce6e51c;
  display:flex;
  flex-direction:column;
  padding:26px 27px;
  margin-top:-3px;
  isolation:isolate;
  overflow:hidden;
}
.membership-card:before {
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(155deg,#f4eee411,transparent 34%,transparent 70%,#d3deda07);
  z-index:0;
  pointer-events:none;
}
.membership-card::after {
  content:'';
  position:absolute;
  inset:-45% -70%;
  background:linear-gradient(110deg,transparent 35%,#d8bb7405 42%,#dacb9e16 47%,#f0f3ed20 50%,#bccbd414 53%,transparent 61%);
  transform:translate3d(-35%,0,0);
  opacity:0;
  pointer-events:none;
  z-index:0;
}
.membership-card > div { position:relative; z-index:1; }
@keyframes card-hover {
  0%,100% { transform:perspective(1000px) translateY(0) rotate(-8deg) rotateX(5deg) rotateY(-5deg); }
  50% { transform:perspective(1000px) translateY(-7px) rotate(-6.5deg) rotateX(3deg) rotateY(-2deg); }
}
@keyframes card-metallic-sweep {
  0%,12% { transform:translate3d(-35%,0,0); opacity:0; }
  25% { opacity:.7; }
  48% { opacity:.5; }
  65%,100% { transform:translate3d(35%,0,0); opacity:0; }
}
@keyframes card-orbit { to { transform:rotate(325deg); } }
@media(prefers-reduced-motion:no-preference) {
  .membership-card { animation:card-hover 10s ease-in-out infinite paused; }
  .membership-card::after { animation:card-metallic-sweep 14s ease-in-out infinite paused; }
  .orbit-one::after { animation:card-orbit 48s linear infinite paused; }
  .hero-art.is-inview .membership-card, .hero-art.is-inview .membership-card::after,
  .hero-art.is-inview .orbit-one::after { animation-play-state:running; }
}
.card-top {
  display:flex;
  justify-content:space-between;
  align-items:start;
  font-family:var(--heading);
  font-size:21px;
  letter-spacing:-.065em;
}
.card-submark {
  display:block;
  letter-spacing:.28em;
  font:400 8px var(--body);
  margin-top:5px;
  color:#bac5ba;
}
.card-top svg {
  color:#37cb7c;
  width:32px;
  height:32px;
}
.card-middle {
  flex:1;
  display:flex;
  align-items:center;
  padding-top:13px;
  font:400 18px/1.35 var(--heading);
  letter-spacing:-.025em;
  color:#e2e8dc;
}
.card-number {
  font:500 clamp(21px,3vw,28px)/1 var(--body);
  letter-spacing:.16em;
  white-space:nowrap;
  text-shadow:0 1px 12px #d7e5db26;
}
.checkout-card-wrap {
  margin:26px 0 30px;
  padding:25px 18px 31px;
  border-radius:18px;
  background:radial-gradient(circle at 50% 45%,#edf1e8 0,#f5f5f1 46%,#eeefe9 100%);
  overflow:hidden;
}
.checkout-membership-card {
  width:min(100%,410px);
  margin:0 auto;
  transform:perspective(1000px) rotate(-3deg) rotateX(3deg) rotateY(-2deg);
  animation:none;
  text-align:left;
}
.checkout-membership-card::after {
  opacity:.35;
  transform:translate3d(12%,0,0);
}
.checkout-card-identity {
  display:flex;
  flex-direction:column;
  gap:3px;
  margin:0 0 15px;
  color:#eef4ef;
}
.checkout-card-identity span {
  color:#92a097;
  font-size:6px;
  letter-spacing:.2em;
}
.checkout-card-identity strong {
  max-width:90%;
  overflow:hidden;
  font-size:10px;
  font-weight:500;
  letter-spacing:.08em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.card-bottom {
  display:flex;
  justify-content:space-between;
  align-items:end;
  font-size:7px;
  letter-spacing:.18em;
  color:#bcc7ba;
}
.card-bottom svg {
  width:15px;
  height:15px;
  color:#78bc92;
}
.card-label {
  position:absolute;
  bottom:90px;
  right:25px;
  display:flex;
  align-items:center;
  gap:7px;
  padding:12px 15px;
  background:white;
  box-shadow:0 4px 16px #2537290a;
  transform:rotate(3deg);
  font-size:8px;
  letter-spacing:.09em;
  z-index:2;
}
.card-label .dot {
  width:5px;
  height:5px;
}
.art-bottom {
  position:absolute;
  inset:auto 24px 22px;
  display:flex;
  justify-content:space-between;
  align-items:end;
  font-size:8px;
  line-height:1.8;
  letter-spacing:.12em;
  color:#5c6658;
}
.art-monogram {
  font-family:var(--heading);
  font-size:34px;
  line-height:1;
  letter-spacing:-.09em;
  color:#768770;
}
.trust-strip {
  border-block:1px solid var(--line);
  display:flex;
  justify-content:center;
  gap:100px;
  padding:18px 20px;
  font-size:11px;
  color:#575b52;
}
.trust-strip>span {
  display:flex;
  align-items:center;
  gap:10px;
}
.trust-strip svg {
  width:17px;
  height:17px;
  color:var(--deep-green);
}
.inside-section {
  padding-block:70px 76px;
}
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:25px;
  margin-bottom:32px;
}
.section-heading h2 {
  font-size:38px;
  line-height:1.2;
  margin-top:13px;
}
.section-heading>p {
  font-size:12px;
  line-height:1.7;
  color:var(--muted);
}
.benefits-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border:1px solid var(--line);
}
.benefit {
  padding:30px;
  display:flex;
  flex-direction:column;
}
.benefit+.benefit {
  border-left:1px solid var(--line);
}
.benefit-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:32px;
  color:var(--deep-green);
}
.benefit-top>span {
  font-size:10px;
  letter-spacing:.12em;
  color:#777e72;
}
.benefit-top svg {
  width:23px;
  height:23px;
}
.benefit h3 {
  font-family:var(--heading);
  font-size:22px;
  letter-spacing:-.035em;
  margin-bottom:13px;
}
.benefit>p {
  font-size:14px;
  font-weight:300;
  color:var(--muted);
  line-height:1.75;
  max-width:290px;
  margin-bottom:29px;
}
.benefit-label {
  display:block;
  margin-top:auto;
  font-size:8px;
  letter-spacing:.17em;
  color:#57604f;
}
.how-section {
  background:var(--soft);
  border-block:1px solid #eceee7;
}
.how-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10%;
  padding-block:68px 72px;
}
.how-intro h2 {
  font-size:48px;
  line-height:1.09;
  margin:21px 0;
}
.how-intro>p:not(.eyebrow) {
  font-size:14px;
  line-height:1.8;
  font-weight:300;
  color:var(--muted);
}
.how-intro .text-link {
  margin-top:15px;
}
.steps {
  list-style:none;
  margin:0;
  padding:0;
}
.steps li {
  display:flex;
  gap:25px;
  border-bottom:1px solid #dfe3d8;
  padding:24px 0;
}
.steps li:first-child {
  padding-top:5px;
}
.steps li:last-child {
  border-bottom:0;
  padding-bottom:0;
}
.step-number {
  font-size:10px;
  letter-spacing:.12em;
  color:var(--deep-green);
  padding-top:6px;
}
.steps h3 {
  font-size:17px;
  margin-bottom:9px;
}
.steps p {
  font-size:14px;
  font-weight:300;
  line-height:1.7;
  color:var(--muted);
  max-width:340px;
}
.faq-section {
  padding-block:70px 75px;
}
.faq-list {
  border-top:1px solid var(--line);
}
.faq-list details {
  border-bottom:1px solid var(--line);
}
.faq-list summary {
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px;
  cursor:pointer;
  padding:23px 0;
  font-size:15px;
  min-height:64px;
}
.faq-list summary::-webkit-details-marker {
  display:none;
}
.faq-list summary>span {
  font-size:22px;
  line-height:1;
  font-weight:300;
  transition:transform .2s;
}
.faq-list details[open] summary>span {
  transform:rotate(45deg);
}
.faq-list details[open] summary {
  color:var(--deep-green);
}
.faq-list details>p {
  max-width:740px;
  padding:0 40px 24px 0;
  font-size:14px;
  line-height:1.8;
  font-weight:300;
  color:var(--muted);
}
.faq-list p>a {
  text-decoration:underline;
  text-underline-offset:4px;
}
.store-callout {
  background:#111;
  color:white;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  padding:43px max(6%,calc((100vw - 1267px)/2));
}
.store-callout .eyebrow {
  color:#afb8a8;
  font-size:9px;
}
.store-callout h2 {
  font-size:32px;
  margin:13px 0;
}
.store-callout p:not(.eyebrow) {
  font-size:12px;
  color:#b8bfb2;
  font-weight:300;
}
.store-callout .button {
  flex-shrink:0;
}
.store-footer {
  position:relative;
  flex-shrink:0;
  margin-top:52px;
  padding:62px max(6%,calc((100vw - 1267px)/2)) 28px;
  max-width:none;
  background:#16c96b;
  color:#000;
  isolation:isolate;
}
.footer-wave {
  position:absolute;
  z-index:-1;
  top:-52px;
  left:0;
  width:100%;
  height:54px;
  overflow:hidden;
  pointer-events:none;
}
.footer-wave svg {
  display:block;
  width:200%;
  height:100%;
  overflow:visible;
}
.footer-wave path {
  stroke:none;
  shape-rendering:geometricPrecision;
}
.footer-wave-track {
  will-change:transform;
  transform-box:fill-box;
  transform-origin:left center;
  animation:footer-wave-flow 15s linear infinite;
}
.footer-wave-track-back {
  fill:#16c96b66;
  animation-duration:24s;
  animation-direction:reverse;
}
.footer-wave-track-front {
  fill:#16c96b;
}
@keyframes footer-wave-flow {
  to { transform:translate3d(-50%,0,0); }
}
.footer-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:35px;
  padding-bottom:25px;
}
.footer-brand {
  display:flex;
  align-items:center;
  gap:28px;
}
.footer-brand .brand-logo {
  width:117px;
  padding-bottom:10px;
}
.footer-brand .brand-logo>span {
  font-size:6px;
  bottom:5px;
}
.footer-brand p {
  font-size:11px;
  color:#0a3d25;
}
.footer-links {
  display:flex;
  gap:28px;
  font-size:11px;
}
.footer-links a {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.footer-links a:hover {
  color:#fff;
}
.footer-bottom {
  padding:20px 0;
  border-top:1px solid #071c1229;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  color:#092a1a;
  font-size:10px;
}
.footer-bottom small {
  font-size:inherit;
}
.footer-bottom>span {
  display:flex;
  align-items:center;
  gap:7px;
}
.footer-bottom .dot {
  width:4px;
  height:4px;
}
.footer-bottom a {
  padding:6px 0;
}
.floating-back-top {
  position:fixed;
  right:max(22px,env(safe-area-inset-right));
  bottom:max(22px,env(safe-area-inset-bottom));
  z-index:20;
  display:flex;
  min-height:46px;
  padding:0 10px 0 16px;
  align-items:center;
  gap:13px;
  border:1px solid #29332d;
  border-radius:7px;
  background:#111713;
  color:#fff;
  box-shadow:0 10px 30px #07130c2e;
  font-size:11px;
  font-weight:500;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(12px);
  transition:opacity .2s,transform .2s,visibility .2s,background .2s;
}
.floating-back-top b {
  display:grid;
  width:28px;
  height:28px;
  place-items:center;
  border-radius:5px;
  background:#10b568;
  color:#07130c;
  font-size:16px;
  font-weight:500;
}
.floating-back-top.is-visible {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:none;
}
.floating-back-top:hover {
  background:#202923;
}
.floating-back-top:focus-visible {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
@media(max-width:640px) {
  .floating-back-top {
    right:max(14px,env(safe-area-inset-right));
    bottom:max(14px,env(safe-area-inset-bottom));
    min-height:46px;
    padding:8px;
    border-radius:50%;
  }
  .floating-back-top span {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
  }
  .floating-back-top b {
    width:28px;
    height:28px;
  }
}
@media(prefers-reduced-motion:reduce) {
  .floating-back-top { transition:none; }
}
.back-link {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  font-size:12px;
  color:var(--muted);
  margin-bottom:30px;
}
.back-link:hover {
  color:var(--ink);
}
.access-section {
  padding-block:25px 75px;
}
.access-grid {
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:10%;
  align-items:center;
}
.access-intro h1,.help-heading h1,.not-found h1 {
  font-size:60px;
  line-height:1.05;
  margin:24px 0;
}
.access-intro>p:not(.eyebrow) {
  font-size:16px;
  font-weight:300;
  color:var(--muted);
  line-height:1.8;
  max-width:390px;
}
.access-promise {
  display:flex;
  gap:16px;
  align-items:center;
  border-top:1px solid var(--line);
  margin-top:35px;
  padding-top:25px;
}
.access-promise svg {
  color:var(--deep-green);
  width:28px;
  height:28px;
}
.access-promise strong {
  font-size:13px;
  font-weight:500;
}
.access-promise p {
  font-size:12px;
  color:var(--muted);
  margin-top:6px;
}
.access-panel {
  padding:40px;
  background:var(--soft);
  border:1px solid var(--line);
}
.panel-icon {
  border:1px solid #d3ddce;
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  margin-bottom:23px;
  color:var(--deep-green);
}
.access-panel .eyebrow {
  font-size:9px;
}
.access-panel h2 {
  font-size:33px;
  line-height:1.15;
  margin:17px 0;
}
.access-panel>p:not(.eyebrow) {
  font-size:14px;
  font-weight:300;
  line-height:1.75;
  color:var(--muted);
}
.panel-divider {
  height:1px;
  background:#dce1d5;
  margin:24px 0;
}
.access-panel h3 {
  font-size:15px;
  font-weight:500;
  margin-bottom:9px;
}
.access-panel .button {
  display:flex;
  margin-top:24px;
}
.understated-link {
  display:block;
  text-align:center;
  font-size:11px;
  color:var(--muted);
  padding-top:18px;
  text-decoration:underline;
  text-underline-offset:4px;
}
.access-footnote {
  border-top:1px solid var(--line);
  padding-block:35px;
  display:flex;
  align-items:center;
  gap:50px;
}
.access-footnote>span {
  font-size:9px;
  letter-spacing:.13em;
  color:var(--muted);
}
.access-footnote>p {
  font-family:var(--heading);
  font-size:18px;
  line-height:1.5;
  letter-spacing:-.02em;
}
.access-footnote svg {
  margin-left:auto;
  width:38px;
  height:38px;
  color:var(--deep-green);
}
.help-section {
  padding-block:25px 75px;
}
.help-heading {
  margin-bottom:45px;
}
.help-heading h1 {
  font-size:57px;
}
.help-heading>p:not(.eyebrow) {
  font-size:15px;
  font-weight:300;
  color:var(--muted);
  line-height:1.7;
}
.help-grid {
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:9%;
  align-items:start;
}
.support-card {
  background:var(--soft);
  padding:30px;
  border:1px solid var(--line);
}
.support-card>svg {
  color:var(--deep-green);
  margin-bottom:20px;
}
.support-card h2 {
  font-size:30px;
  margin:14px 0;
}
.support-card>p:not(.eyebrow) {
  font-size:14px;
  font-weight:300;
  color:var(--muted);
  line-height:1.8;
  margin-bottom:15px;
}
.support-card .button {
  margin-top:7px;
  width:100%;
}

.policy-section { max-width:1180px; }
.policy-layout { display:grid; grid-template-columns:190px minmax(0,1fr); gap:52px; align-items:start; margin-top:36px; }
.legal-index { position:sticky; top:110px; padding:4px 0 18px; }
.legal-index h2 { margin:0 0 18px; font-family:var(--body); font-size:.82rem; font-weight:700; letter-spacing:.01em; }
.legal-index nav { display:flex; flex-direction:column; align-items:flex-start; gap:13px; }
.legal-index a { position:relative; color:#536176; font-size:.9rem; line-height:1.25; text-decoration:none; transition:color .18s ease, transform .18s ease; }
.legal-index a:hover, .legal-index a:focus-visible, .legal-index a.is-active { color:#00a85a; transform:translateX(4px); }
.legal-index a.is-active::before { content:""; position:absolute; left:-14px; top:50%; width:6px; height:6px; border-radius:50%; background:#10b568; box-shadow:0 0 0 5px rgba(16,181,104,.12), 0 0 18px rgba(16,181,104,.55); transform:translateY(-50%); }
.policy-content { display:grid; gap:18px; }
.policy-content>section { scroll-margin-top:120px; padding:28px 30px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 12px 32px rgba(13,35,24,.05); transition:border-color .25s ease, box-shadow .25s ease, background-color .25s ease; }
.policy-content>section:target { border-color:#10b568; background:linear-gradient(135deg,#fff 72%,rgba(16,181,104,.07)); box-shadow:0 0 0 3px rgba(16,181,104,.12), 0 18px 44px rgba(0,140,76,.16); }
.policy-content h2 { margin:0 0 12px; font-family:var(--display); font-size:clamp(1.45rem,2.4vw,2rem); font-weight:400; }
.policy-content p { max-width:76ch; margin:0 0 12px; line-height:1.75; }
.policy-content p:last-child { margin-bottom:0; }
.policy-content a { color:#087845; text-decoration:underline; text-underline-offset:3px; }
.product-commercial { display:grid; gap:10px; margin:24px 0; padding:18px 20px; border:1px solid var(--line); border-radius:14px; background:#f7fbf8; }
.product-commercial>div { display:grid; grid-template-columns:90px minmax(0,1fr); gap:12px; }
.product-commercial dt { font-weight:700; color:#087845; }
.product-commercial dd { margin:0; color:var(--muted); line-height:1.55; }
.product-commercial a { color:#087845; text-underline-offset:3px; }

@media (max-width:640px) {
  .policy-layout { grid-template-columns:1fr; gap:28px; }
  .legal-index { position:static; padding:20px; border:1px solid var(--line); border-radius:14px; background:#fff; }
  .legal-index nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 18px; }
  .policy-content>section { padding:22px 20px; }
}
@media (max-width:420px) {
  .legal-index nav { grid-template-columns:1fr; }
  .product-commercial>div { grid-template-columns:1fr; gap:3px; }
}
.not-found {
  padding-block:90px 110px;
}
.not-found>p:not(.eyebrow) {
  font-size:16px;
  color:var(--muted);
  line-height:1.7;
}
.not-found .button {
  margin-top:27px;
}
.contact-section { max-width:1000px; padding-block:clamp(48px,7vw,96px); }
.contact-heading { max-width:760px; margin:28px 0 42px; }
.contact-heading h1 { margin:16px 0; font:400 clamp(52px,8vw,88px)/.98 var(--display); letter-spacing:-.045em; }
.contact-heading h1 span { color:var(--brand-dark); }
.contact-heading>p:last-child { max-width:620px; color:var(--muted); font-size:16px; line-height:1.65; }
.contact-owner-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.contact-owner-card { display:flex; min-height:132px; align-items:center; gap:18px; padding:28px; border:1px solid var(--line); border-radius:16px; background:#fff; color:var(--ink); text-decoration:none; transition:transform .2s,border-color .2s,box-shadow .2s; }
.contact-owner-card:hover { transform:translateY(-3px); border-color:var(--brand); box-shadow:0 16px 38px rgba(13,35,24,.09); }
.contact-owner-card svg { width:30px; height:30px; fill:none; stroke:var(--brand-dark); stroke-width:1.5; }
.contact-owner-card span { display:flex; min-width:0; flex:1; flex-direction:column; gap:7px; }
.contact-owner-card strong { overflow:hidden; font:400 25px/1.2 var(--display); text-overflow:ellipsis; white-space:nowrap; }
.contact-owner-card small { color:var(--muted); }
.contact-owner-card b { font-size:20px; font-weight:400; }
.contact-safety-note { margin-top:24px; padding:23px 26px; border-radius:14px; background:var(--surface-soft); }
.contact-safety-note p { margin:8px 0 0; color:var(--muted); line-height:1.6; }
@media(max-width:760px) {
  .contact-owner-grid { grid-template-columns:1fr; }
  .contact-heading h1 { font-size:clamp(48px,15vw,70px); }
}
@media(min-width:1600px) {
  .hero {
    padding-block:80px;
  }
  .hero-art {
    min-height:460px;
  }
  .hero h1 {
    font-size:108px;
  }
}
@media(max-width:1100px) {
  .store-header {
    gap:30px;
    padding-inline:4%;
  }
  .store-nav {
    gap:22px;
  }
  .store-nav>a {
    font-size:10px;
  }
  .account-link {
    font-size:11px;
    gap:8px;
  }
  .brand-logo {
    width:135px;
  }
  .section-wrap {
    padding-inline:5%;
  }
  .hero {
    gap:5%;
    padding-block:45px;
  }
  .hero-art {
    min-height:400px;
  }
  .trust-strip {
    gap:60px;
  }
  .membership-card {
    padding:23px;
  }
  .card-middle {
    font-size:16px;
  }
  .hero-description {
    font-size:15px;
  }
  .benefit {
    padding:23px;
  }
  .footer-brand {
    gap:15px;
  }
  .footer-links {
    gap:18px;
  }
  .footer-brand p {
    max-width:105px;
    line-height:1.7;
  }
  .access-grid {
    gap:6%;
  }
  .access-intro h1 {
    font-size:52px;
  }
  .access-panel {
    padding:30px;
  }
  .help-grid {
    gap:5%;
  }
}
@media(max-width:760px) {
  .store-header>.join-link { display:none; }
  .store-header>.account-link { position:absolute; top:27px; right:66px; width:44px; justify-content:center; margin:0; padding:0; }
  .store-header.menu-open>.account-link { display:none; }
  .store-header>.account-link .account-name,.store-header>.account-link .premium-badge { display:none; }
  .store-header>.menu-toggle { position:absolute; top:27px; right:15px; margin:0; }
  .announcement {
    min-height:37px;
    font-size:9px;
    letter-spacing:.09em;
    padding-inline:12px;
  }
  .store-header {
    min-height:97px;
    padding:3px 22px;
    gap:15px;
    flex-wrap:wrap;
  }
  .brand-logo {
    width:126px;
    padding-bottom:8px;
  }
  .brand-logo>span {
    bottom:3px;
    font-size:7px;
  }
  .account-link {
    margin-left:auto;
    font-size:11px;
    gap:8px;
  }
  .account-link>span:last-child {
    display:none;
  }
  .account-link svg {
    width:18px;
    height:18px;
  }
  .menu-toggle {
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:6px;
    width:44px;
    height:44px;
    background:transparent;
    border:0;
    margin-right:-10px;
  }
  .menu-toggle span {
    width:19px;
    height:1px;
    background:var(--ink);
    transition:transform .2s;
  }
  .menu-toggle[aria-expanded=true] span:first-child {
    transform:translateY(3.5px) rotate(45deg);
  }
  .menu-toggle[aria-expanded=true] span:last-child {
    transform:translateY(-3.5px) rotate(-45deg);
  }
  .store-nav {
    display:none;
    order:3;
    flex-basis:100%;
    padding:8px 0 18px;
    border-top:1px solid var(--line);
    gap:0;
  }
  .store-nav.is-open {
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }
  .store-nav>a,.store-nav .mobile-account {
    display:flex;
    min-height:47px;
    font-size:11px;
  }
  .store-nav>a[aria-current=page]:after {
    bottom:7px;
  }
  .section-wrap {
    padding-inline:22px;
  }
  .hero {
    grid-template-columns:1fr;
    padding-block:36px 34px;
    gap:32px;
  }
  .hero-copy {
    padding:0;
  }
  .hero h1 {
    font-size:clamp(62px,17vw,80px);
    margin:23px 0;
  }
  .hero-description {
    font-size:16px;
    line-height:1.75;
  }
  .eyebrow {
    font-size:9px;
  }
  .hero-actions {
    gap:27px;
    margin-top:24px;
  }
  .hero-note {
    font-size:11px;
    margin-top:20px;
  }
  .hero-art {
    min-height:355px;
    max-width:560px;
    width:100%;
    justify-self:center;
  }
  .membership-card {
    max-width:330px;
    width:77%;
    padding:25px;
    transform:rotate(-7deg);
  }
  .card-middle {
    font-size:18px;
  }
  .card-label {
    bottom:64px;
    right:18px;
  }
  .art-orbit {
    top:-5px;
  }
  .orbit-two {
    top:-52px;
  }
  .art-top {
    inset:19px 20px auto;
  }
  .art-bottom {
    inset:auto 20px 19px;
  }
  .trust-strip {
    gap:18px;
    justify-content:space-around;
    font-size:10px;
    padding:16px;
  }
  .trust-strip>span {
    gap:7px;
  }
  .trust-strip>span:last-child {
    display:none;
  }
  .trust-strip svg {
    width:15px;
    height:15px;
  }
  .inside-section {
    padding-block:44px 48px;
  }
  .section-heading {
    align-items:start;
    gap:20px;
    margin-bottom:26px;
  }
  .section-heading h2 {
    font-size:30px;
  }
  .section-heading>p {
    display:none;
  }
  .benefits-grid {
    grid-template-columns:1fr;
  }
  .benefit {
    padding:24px;
  }
  .benefit+.benefit {
    border-left:0;
    border-top:1px solid var(--line);
  }
  .benefit-top {
    margin-bottom:23px;
  }
  .benefit>p {
    max-width:100%;
    font-size:15px;
    margin-bottom:22px;
  }
  .benefit h3 {
    font-size:24px;
  }
  .benefit-label {
    font-size:9px;
  }
  .how-grid {
    grid-template-columns:1fr;
    padding-block:43px 45px;
    gap:32px;
  }
  .how-intro h2 {
    font-size:42px;
  }
  .how-intro>p:not(.eyebrow),.steps p {
    font-size:15px;
  }
  .steps p {
    max-width:100%;
  }
  .steps h3 {
    font-size:18px;
  }
  .steps li {
    padding:22px 0;
    gap:23px;
  }
  .steps li:first-child {
    border-top:1px solid #dfe3d8;
    padding-top:22px;
  }
  .faq-section {
    padding-block:45px 48px;
  }
  .faq-section .section-heading {
    flex-direction:column;
    gap:10px;
  }
  .faq-section .text-link {
    min-height:30px;
  }
  .faq-list summary {
    font-size:15px;
    padding:21px 0;
    line-height:1.5;
  }
  .faq-list details>p {
    font-size:15px;
    padding-right:15px;
  }
  .store-callout {
    flex-direction:column;
    align-items:start;
    padding:35px 22px;
    gap:25px;
  }
  .store-callout h2 {
    font-size:30px;
  }
  .store-callout p:not(.eyebrow) {
    font-size:14px;
    line-height:1.7;
  }
  .store-callout .button {
    font-size:13px;
  }
  .store-footer {
    padding:48px 22px 24px;
  }
  .footer-top {
    flex-direction:column;
    align-items:start;
    gap:12px;
    padding-bottom:20px;
  }
  .footer-brand {
    gap:24px;
  }
  .footer-brand p {
    max-width:none;
    font-size:12px;
  }
  .footer-links {
    gap:24px;
    flex-wrap:wrap;
    font-size:12px;
  }
  .footer-bottom {
    flex-wrap:wrap;
    gap:17px;
    font-size:10px;
    padding-block:20px;
  }
  .footer-bottom>span {
    display:none;
  }
  .footer-bottom>a {
    margin-left:auto;
  }
  .access-section,.help-section {
    padding-top:18px;
    padding-bottom:45px;
  }
  .back-link {
    margin-bottom:24px;
    font-size:13px;
  }
  .access-grid {
    grid-template-columns:1fr;
    gap:35px;
  }
  .access-intro h1,.help-heading h1 {
    font-size:48px;
    margin:21px 0;
  }
  .access-intro>p:not(.eyebrow) {
    max-width:100%;
    font-size:16px;
  }
  .access-promise {
    margin-top:25px;
    padding-top:23px;
  }
  .access-panel {
    padding:28px 25px;
  }
  .access-panel h2 {
    font-size:33px;
  }
  .access-panel>p:not(.eyebrow) {
    font-size:15px;
  }
  .access-footnote {
    padding-block:25px;
    gap:20px;
    flex-wrap:wrap;
  }
  .access-footnote>span {
    width:100%;
  }
  .access-footnote>p {
    font-size:18px;
  }
  .help-heading {
    margin-bottom:33px;
  }
  .help-grid {
    grid-template-columns:1fr;
    gap:33px;
  }
  .support-card {
    padding:28px 25px;
  }
  .support-card>p:not(.eyebrow) {
    font-size:15px;
  }
  .not-found {
    padding-block:55px 75px;
  }
  .not-found h1 {
    font-size:48px;
  }
  .button {
    min-height:49px;
    font-size:13px;
  }
  .hero-actions .text-link {
    font-size:13px;
  }
}
@media(max-width:370px) {
  .store-header {
    padding-inline:16px;
    gap:10px;
  }
  .brand-logo {
    width:108px;
  }
  .account-link {
    font-size:10px;
    gap:6px;
  }
  .section-wrap {
    padding-inline:18px;
  }
  .hero h1 {
    font-size:72px;
  }
  .hero-actions {
    gap:18px;
  }
  .button {
    gap:24px;
    padding-inline:18px;
  }
  .hero-art {
    min-height:310px;
  }
  .membership-card {
    padding:20px;
    width:80%;
  }
  .card-top {
    font-size:19px;
  }
  .card-middle {
    font-size:15px;
    padding-top:7px;
  }
  .card-label {
    bottom:53px;
    font-size:7px;
  }
  .card-top svg {
    width:26px;
    height:26px;
  }
  .card-bottom {
    font-size:6px;
  }
  .art-monogram {
    font-size:27px;
  }
  .art-top,.art-bottom {
    font-size:7px;
  }
  .access-intro h1,.help-heading h1 {
    font-size:43px;
  }
  .footer-links {
    gap:14px;
  }
  .trust-strip {
    font-size:9px;
    gap:12px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*:before,*:after {
    transition:none!important;
  }
}

/* Server-rendered account and approval screens. */
.account-content { max-width: 760px; margin-top: 32px; }
.account-content p { line-height: 1.7; margin: 18px 0; }
.account-content form { margin: 24px 0; }
.account-content label { display: block; margin: 16px 0; line-height: 1.6; }
.account-content input:not([type=checkbox]), .account-content select { display: block; width: 100%; padding: 12px; border: 1px solid #c8ceca; border-radius: 6px; font: inherit; background: white; color: #181a19; }
.account-content textarea { display:block; width:100%; padding:12px; border:1px solid #c8ceca; border-radius:6px; background:#fff; color:#181a19; font:inherit; resize:vertical; }
.account-content input[type=checkbox] { width: 20px; height: 20px; vertical-align: middle; }
.account-content .button { margin: 8px 12px 8px 0; }
.review-card { margin: 28px 0; padding: 24px; border: 1px solid #dfe6e0; border-radius: 12px; background: #f7faf8; }
.direct-access-card { max-width:680px; border-color:#b9d8c5; background:#f3faf6; }
.direct-access-card form { max-width:520px; }
.share-id-card { margin:28px 0; padding:24px; border:1px solid #cbd8cf; border-radius:12px; background:#f5f9f6; }
.share-id-card h2 { margin:8px 0 10px; }
.share-id-card>p:not(.eyebrow) { max-width:680px; line-height:1.7; }
.member-account-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; padding-bottom:24px; border-bottom:1px solid #dfe6e0; }
.member-account-heading h2 { margin:8px 0; font:400 clamp(30px,4vw,48px)/1.08 var(--heading); }
.member-account-heading>div>p:last-child { color:#5b6961; }
.member-role { padding:9px 13px; border:1px solid #add4bd; border-radius:999px; background:#eef9f2; color:#087443; font-size:11px; font-weight:650; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.member-identity { display:flex; gap:40px; padding:20px 0 6px; }
.member-identity div { display:flex; flex-direction:column; gap:5px; }
.member-identity span { color:#6b776f; font-size:10px; letter-spacing:.09em; text-transform:uppercase; }
.member-identity strong { font-size:13px; }
.member-account-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:24px 0; }
.member-account-stats article { padding:22px; border:1px solid #dfe6e0; border-radius:11px; background:#f7faf8; }
.member-account-stats span,.member-account-stats small { display:block; color:#657168; font-size:11px; }
.member-account-stats strong { display:block; margin:13px 0 8px; color:#087443; font:500 clamp(23px,3vw,32px)/1.1 var(--heading); }
.member-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:12px 0 28px; }
.member-action { display:grid; grid-template-columns:auto 1fr auto; gap:15px; min-height:128px; align-items:start; padding:21px; border:1px solid #dfe6e0; border-radius:11px; background:#fff; }
.member-action:hover { border-color:#9fc8af; box-shadow:0 10px 28px #123e2112; transform:translateY(-1px); }
.member-action>span { color:#0a9b59; font-size:10px; }
.member-action h3 { margin:0 0 8px; font-size:16px; }
.member-action p { margin:0; color:#5b6961; font-size:12px; line-height:1.55; }
.member-action b { align-self:end; color:#0a9b59; }
.member-action-primary { border-color:#183b28; background:#141b17; color:#fff; }
.member-action-primary p { color:#bac4bd; }
.owner-member-action { border-color:#d4b45e; background:#fffbef; }
.member-account-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:14px; align-items:start; }
.member-code-card,.member-account-grid .share-id-card { margin:0; padding:24px; border:1px solid #dfe6e0; border-radius:12px; background:#f7faf8; }
.member-code-card summary { display:flex; justify-content:space-between; gap:18px; cursor:pointer; font-weight:600; }
.member-code-card summary::-webkit-details-marker { display:none; }
.member-signout { margin-top:28px; padding-top:20px; border-top:1px solid #dfe6e0; }
.account-content li { margin: 12px 0; overflow-wrap: anywhere; }
.signin-card { border: 1px solid #dfe6e0; border-radius: 16px; padding: clamp(20px, 4vw, 36px); background: #f7faf8; }
.signin-card h2 { font: 400 clamp(24px, 3vw, 32px)/1.25 var(--heading); }
.signin-card ol { padding-left: 24px; }
.signin-card .signin-note { font-size: 14px; color: #47554c; }
.signin-status { padding: 14px 16px; border-radius: 8px; background: #e4f4e9; color: #165e36; }
.signin-card button:disabled { opacity: .5; cursor: not-allowed; }

/* Membership comparison. */
.account-content-wide { max-width: 1180px; }
.membership-pricing { position:relative; width:100%; min-width:0; isolation:isolate; }
.membership-pricing::before { content:''; position:absolute; z-index:-1; inset:180px -80px 40px; background:radial-gradient(circle at 50% 25%,rgba(22,201,107,.09),transparent 34%),radial-gradient(circle at 91% 48%,rgba(203,165,73,.07),transparent 27%); pointer-events:none; }
.membership-intro { max-width:780px; margin-bottom:34px; }
.membership-intro .eyebrow { color:#17492f; }
.membership-intro h2 { margin:10px 0 18px; font:400 clamp(36px,5vw,58px)/1.04 var(--heading); letter-spacing:-.025em; }
.membership-intro p:last-child { max-width:680px; color:#526058; font-size:16px; line-height:1.7; }
.membership-grid { display:grid; width:100%; min-width:0; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; align-items:stretch; }
.pricing-card { position:relative; display:grid; min-width:0; padding:clamp(24px,2.4vw,31px); grid-template-rows:auto minmax(2.16em,auto) auto minmax(4.7em,auto) 1fr auto auto; gap:0; overflow:hidden; border:1px solid #d8e0da; border-radius:22px; background:linear-gradient(155deg,#fff 0%,#f6f8f6 100%); box-shadow:0 16px 42px rgba(24,48,34,.08); transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.pricing-card:hover { transform:translateY(-6px); border-color:#aebdb3; box-shadow:0 24px 62px rgba(24,48,34,.13); }
.pricing-card-featured { z-index:1; border-color:#16a663; background:linear-gradient(155deg,#f8fdf9 0%,#eaf8ef 100%); box-shadow:0 18px 48px rgba(10,168,92,.15),0 0 0 1px rgba(22,201,107,.08); }
.pricing-card-featured:hover { transform:translateY(-6px); border-color:#078b4d; box-shadow:0 24px 58px rgba(10,168,92,.2),0 0 0 1px rgba(22,201,107,.12); }
.pricing-card-premium { border:1.5px solid #c99e3a; background:radial-gradient(circle at 100% 0,rgba(226,195,111,.2),transparent 31%),linear-gradient(150deg,#fffdf7 0%,#f9f0d8 100%); box-shadow:0 22px 58px rgba(119,85,17,.17),0 0 0 1px rgba(210,170,70,.08); }
.pricing-card-premium::before { content:''; position:absolute; inset:0 24px auto; height:2px; background:linear-gradient(90deg,transparent,#d6ae50 22%,#f1dda2 50%,#d6ae50 78%,transparent); opacity:.9; pointer-events:none; }
.pricing-card-premium::after { content:''; position:absolute; width:110px; height:110px; top:-58px; right:-50px; border-radius:50%; background:rgba(212,184,102,.1); pointer-events:none; }
.pricing-card-premium:hover { transform:translateY(-9px); border-color:#ad7f1e; box-shadow:0 30px 76px rgba(129,90,10,.24),0 0 28px rgba(213,175,77,.15); }
.pricing-card-lifetime { border:1.5px solid #26372e; background:radial-gradient(circle at 100% 0,rgba(22,201,107,.12),transparent 31%),linear-gradient(150deg,#f7faf8 0%,#e8eeea 100%); box-shadow:0 22px 58px rgba(17,30,22,.16),0 0 0 1px rgba(38,55,46,.07); }
.pricing-card-lifetime::before { content:''; position:absolute; inset:0 24px auto; height:2px; background:linear-gradient(90deg,transparent,#26372e 22%,#16c96b 50%,#26372e 78%,transparent); opacity:.75; pointer-events:none; }
.pricing-card-lifetime:hover { border-color:#0b7645; box-shadow:0 26px 66px rgba(17,30,22,.2),0 0 24px rgba(22,201,107,.1); }
.plan-kicker { display:flex; min-width:0; min-height:29px; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; }
.plan-badge { display:inline-flex; flex:0 0 auto; padding:7px 11px; align-items:center; border-radius:999px; background:#0b9f58; color:#fff; box-shadow:0 6px 16px rgba(11,159,88,.2); font-size:9px; font-weight:700; letter-spacing:.12em; }
.premium-tier-badge { display:inline-flex; flex:0 0 auto; padding:7px 11px; align-items:center; gap:5px; border:1px solid rgba(163,119,25,.35); border-radius:999px; background:linear-gradient(120deg,#f2e1ac,#d9b95e); color:#4d3a0e; box-shadow:0 6px 18px rgba(154,111,17,.18); font-size:9px; font-weight:750; letter-spacing:.12em; }
.lifetime-tier-badge { display:inline-flex; flex:0 0 auto; padding:7px 11px; align-items:center; gap:5px; border:1px solid rgba(17,91,55,.25); border-radius:999px; background:#163d2a; color:#fff; box-shadow:0 6px 18px rgba(14,60,38,.16); font-size:9px; font-weight:750; letter-spacing:.12em; }
.plan-label { margin:0 0 18px !important; color:#477054; font-size:10px; font-weight:700; letter-spacing:.19em; }
.plan-kicker .plan-label { margin:0 !important; }
.pricing-card h3 { margin:0; font:400 clamp(27px,2.4vw,36px)/1.08 var(--heading); letter-spacing:-.015em; }
.plan-price { display:flex; min-height:58px; align-items:baseline; gap:9px; margin:17px 0 10px !important; }
.plan-price strong { color:#101512; font-size:clamp(44px,4vw,58px); font-weight:650; line-height:1; letter-spacing:-.055em; }
.plan-price span { color:#68736b; font-size:12px; font-weight:450; }
.plan-price-premium strong { color:#7b590d; text-shadow:0 1px 0 #fff; }
.plan-price-lifetime strong { color:#173d2b; }
.plan-summary { margin-bottom:0 !important; color:#526058; font-size:13px; line-height:1.55; }
.pricing-card ul { margin:18px 0 22px; padding:18px 0 0; border-top:1px solid rgba(116,137,123,.26); list-style:none; }
.pricing-card li { position:relative; margin:0; padding:4px 0 4px 24px; font-size:13px; line-height:1.38; }
.pricing-card li::before { content:'✓'; position:absolute; left:0; top:4px; display:grid; width:16px; height:16px; place-items:center; border-radius:50%; background:rgba(22,201,107,.1); color:#078c4d; font-size:10px; font-weight:800; }
.pricing-card .feature-priority { color:#203b2d; font-weight:600; }
.pricing-card-premium .feature-priority { color:#3e3218; }
.pricing-card form { margin: 0; }
.pricing-card .checkout-card-wrap { margin:10px 0 14px; padding:10px 5px 14px; }
.pricing-card .checkout-membership-card { width: 100%; }
.plan-button { display:flex; width:100%; min-height:56px; padding:14px 18px; align-items:center; justify-content:center; border:1px solid #111713; border-radius:10px; background:#111713; color:#fff; box-shadow:0 10px 22px rgba(12,19,14,.13); font:600 14px/1.2 var(--body); text-align:center; cursor:pointer; transition:transform .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease; }
.plan-button:hover { transform:translateY(-2px); background:#087d47; border-color:#087d47; box-shadow:0 14px 28px rgba(8,125,71,.2); }
.plan-button:active { transform:translateY(0); }
.plan-button-secondary { background:transparent; color:#111713; box-shadow:none; }
.plan-button-secondary:hover { color:#fff; }
.plan-support { display:flex; min-width:0; min-height:54px; padding:8px 0 12px; flex-direction:column; justify-content:flex-end; }
.pricing-card>form { width:100%; }
.plan-button-premium,.plan-button-premium:hover { transform:none; border-color:#d3b66d; background:linear-gradient(120deg,#ead8a1,#daba63); color:#554114; box-shadow:0 8px 20px rgba(154,111,17,.12); }
.plan-button-lifetime,.plan-button-lifetime:hover { transform:none; border-color:#26372e; background:#26372e; color:#fff; box-shadow:0 8px 20px rgba(17,30,22,.14); }
.plan-button:disabled { opacity:1; cursor:not-allowed; }
.membership-trust { display:flex; margin:30px 0 0; padding:17px 8px; align-items:center; justify-content:center; gap:clamp(18px,4vw,48px); border-top:1px solid #e1e6e2; border-bottom:1px solid #e1e6e2; color:#58675e; font-size:12px; }
.membership-trust span { display:flex; align-items:center; gap:8px; white-space:nowrap; }
.membership-trust span::before { content:'✓'; display:grid; width:17px; height:17px; place-items:center; border-radius:50%; background:#e7f7ed; color:#078c4d; font-size:10px; font-weight:800; }
.membership-footnote { margin:18px 0 0 !important; color:#68736b; font-size:12px; text-align:center; }
.catalog-intro { max-width: 720px; margin-bottom: 34px; }
.catalog-intro h2 { margin: 8px 0 12px; font: 400 clamp(30px, 4vw, 48px)/1.12 var(--heading); }
.catalog-placeholder { min-height: 340px; margin-bottom: 28px; padding: clamp(28px, 5vw, 60px); border: 1px solid #cad8cf; border-radius: 18px; background: linear-gradient(145deg, #f5faf7, #edf5f0); }
.catalog-placeholder span { color: #39704d; font-size: 11px; font-weight: 700; letter-spacing: .18em; }
.catalog-placeholder h3 { margin: 72px 0 16px; font: 400 clamp(32px, 5vw, 60px)/1.08 var(--heading); }
.catalog-placeholder p { max-width: 600px; color: #526058; }
@media (max-width: 1100px) {
  .membership-intro { margin-bottom:36px; }
  .membership-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
}
@media (max-width: 700px) {
  .membership-grid { grid-template-columns:minmax(0,1fr); }
  .pricing-card { grid-template-rows:auto auto auto auto auto auto auto; }
  .pricing-card { width:100%; max-width:100%; }
  .pricing-card-featured { transform:none; }
  .pricing-card:hover,.pricing-card-featured:hover { transform:translateY(-4px); }
  .pricing-card h3, .plan-summary { min-height: 0; }
  .membership-trust { flex-wrap:wrap; justify-content:flex-start; gap:14px 24px; }
}
@media (max-width: 560px) {
  .membership-intro h2 br { display:none; }
  .membership-intro p:last-child { font-size:14px; }
  .pricing-card { padding:28px 24px; border-radius:20px; }
  .plan-kicker { align-items:flex-start; flex-wrap:wrap; }
  .plan-badge,.premium-tier-badge,.lifetime-tier-badge { max-width:52%; justify-content:center; white-space:normal; overflow-wrap:anywhere; text-align:center; line-height:1.25; }
  .plan-price { min-height:0; }
  .membership-trust { display:grid; grid-template-columns:1fr 1fr; padding-inline:0; }
  .membership-trust span { white-space:normal; }
}
@media (prefers-reduced-motion: reduce) {
  .pricing-card,.plan-button,.plan-badge { transition:none; }
  .pricing-card:hover,.pricing-card-featured,.pricing-card-featured:hover,.plan-button:hover,.plan-button:active { transform:none; }
}
.signin-fallback { margin: 16px 0 24px; }
.signin-fallback details { margin-top: 20px; }
.signin-fallback summary { cursor: pointer; font-weight: 500; padding: 12px 0; }
.signin-fallback p a { text-decoration: underline; }
.signin-fallback input { font-size: 13px; }
.account-link .account-name { max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: inherit; }
.account-identity { display:flex; min-width:0; flex-direction:column; align-items:flex-start; justify-content:center; gap:2px; line-height:1.05; }
/* Entitlement is resolved by the server; decoration never grants access. */
.premium-badge:empty { display: none; }
.account-link.account-premium, .store-nav .mobile-account.account-premium {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 0 14px;
  border: 1px solid #b6a16b;
  border-radius: 8px;
  background: #191e1b;
  color: #f0dfad;
  box-shadow: 0 2px 14px #b6a16b24;
}
.account-premium .premium-badge { display:block; font-size:8px; line-height:1; letter-spacing:.14em; font-weight:600; }
.account-premium::before {
  content: '';
  position: absolute;
  inset: -50% -60%;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 40%, #f4e4b526 50%, transparent 60%);
  transform: translateX(-65%);
}
@media (prefers-reduced-motion: no-preference) {
  .account-premium::before { animation: premium-sheen 9s ease-in-out infinite; }
}
@keyframes premium-sheen {
  0%, 65% { transform: translateX(-65%); opacity: 0; }
  70% { opacity: 1; }
  95%, 100% { transform: translateX(65%); opacity: 0; }
}
@media (max-width: 640px) {
  .account-link.account-premium { padding: 0 8px; gap: 6px; }
  .account-link.account-premium .account-name { max-width: 85px; }
}
.member-name, .member-handle, .owner-table th small { display: block; }
.member-handle, .owner-table th small { font-weight: 400; margin-top: 4px; }

/* Decorative stars stay behind content and never intercept clicks. */
.star-surface { position: relative; isolation: isolate; overflow: hidden; --star-color: #fff; --star-trail: #ffffffb3; }
.store-footer.star-surface { --star-color: #10b568; --star-trail: #10b56899; }
.star-layer { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.star-content { position: relative; z-index: 1; }
.shooting-star { position: absolute; width: var(--trail); height: var(--size); opacity: 0; will-change: transform, opacity; transform-origin: right center; animation: star-flight var(--duration) ease-out forwards; }
.shooting-star::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, var(--star-trail) 70%, var(--star-color)); clip-path: polygon(0 50%, 100% 0, 100% 100%); }
.shooting-star::after { content: ''; position: absolute; right: -1px; top: 50%; width: calc(var(--size) * 2); height: calc(var(--size) * 2); border-radius: 50%; background: var(--star-color); box-shadow: 0 0 8px 2px var(--star-trail); transform: translateY(-50%); }
@keyframes star-flight {
  0% { opacity: 0; transform: translate3d(0,0,0) rotate(var(--angle)); }
  12% { opacity: 1; }
  75% { opacity: .9; }
  100% { opacity: 0; transform: translate3d(var(--dx),var(--dy),0) rotate(var(--angle)); }
}
@media(prefers-reduced-motion: reduce) { .star-layer { display: none; } .shooting-star { animation: none; } }
@media(prefers-reduced-motion: reduce) {
  .footer-wave-track { animation:none; }
}

/* Private owner dashboard. */
.owner-dashboard { padding-block: 56px 72px; }
.admin-shell-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; padding-bottom:24px; }
.admin-shell-heading h1 { margin:7px 0 5px; font:400 clamp(32px,4vw,48px)/1.05 var(--heading); }
.admin-shell-heading>div>p:last-child { color:#607067; font-size:13px; }
.admin-nav { display:flex; gap:30px; overflow-x:auto; border-bottom:1px solid #dce4de; margin-bottom:34px; scrollbar-width:thin; }
.admin-nav a { flex:0 0 auto; padding:13px 1px 12px; color:#59665f; font-size:12px; font-weight:500; white-space:nowrap; border-bottom:3px solid transparent; }
.admin-nav a:hover { color:#111713; }
.admin-nav a[aria-current] { color:#07864a; border-bottom-color:#10b568; font-weight:650; }
.owner-heading { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.owner-heading h1 { font: 400 clamp(38px, 5vw, 64px)/1.1 var(--heading); margin: 16px 0; }
.owner-heading p { line-height: 1.7; }
.owner-actions { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.owner-secondary-action, .owner-clear { font-size:13px; text-decoration:underline; text-underline-offset:4px; }
.dashboard-live { display:inline-flex; align-items:center; gap:6px; margin-left:8px; color:var(--deep-green); font-size:11px; white-space:nowrap; }
.dashboard-live i { width:6px; height:6px; border-radius:50%; background:#10b568; box-shadow:0 0 0 4px #10b5681f; }
.owner-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 36px 0 28px; }
.owner-stat { position:relative; padding:24px; border:1px solid #dfe6e0; border-radius:12px; background:#f7faf8; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.owner-stat:hover { transform:translateY(-2px); border-color:#a8c9b6; box-shadow:0 12px 28px #153d2420; }
.owner-stats span { display: block; font-size: 14px; }
.owner-stats strong { display: block; font-size: 38px; margin-top: 12px; color: var(--deep-green); }
.owner-stats small { display:flex; justify-content:space-between; margin-top:16px; color:#526058; font-size:11px; letter-spacing:.05em; text-transform:uppercase; }
.admin-page-heading { max-width:760px; margin:26px 0 30px; }
.admin-page-heading .eyebrow { margin-top:28px; }
.admin-page-heading h2 { margin:10px 0 12px; font:400 clamp(31px,4vw,48px)/1.1 var(--heading); }
.admin-page-heading>p:last-child { color:#526058; line-height:1.7; }
.activity-list { display:grid; gap:10px; margin:24px 0 34px; }
.activity-list>article { display:grid; grid-template-columns:170px minmax(220px,1fr) minmax(230px,1fr); gap:20px; align-items:center; padding:17px 18px; border:1px solid #dfe6e0; border-radius:9px; background:#f8faf8; }
.activity-list time { color:#68766e; font-size:11px; }
.activity-list strong { overflow-wrap:anywhere; font-size:13px; }
.activity-list span { color:#526058; font-size:12px; }
.admin-member-actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.7fr); gap:18px; margin-top:22px; }
.admin-member-actions>section { padding:20px; border:1px solid #dfe6e0; border-radius:10px; background:#fbfcfb; }
.admin-member-actions h3 { margin:0 0 14px; }
.revoke-panel { border-color:#e8c6c3 !important; background:#fff9f8 !important; }
.revoke-panel>p { color:#72514e; font-size:13px; line-height:1.55; }
.danger-button { border-color:#9f2921; background:#a9322a; color:#fff; }
.danger-button:hover { background:#87231d; }
.owner-directory { border:1px solid #dfe6e0; border-radius:16px; background:#fff; padding:28px; box-shadow:0 16px 45px #173c2310; }
.owner-directory-heading { display:flex; justify-content:space-between; gap:20px; margin-bottom:12px; }
.owner-directory-heading h2 { margin:8px 0 12px; font:400 clamp(25px,3vw,36px)/1.15 var(--heading); }
.owner-tabs { display: flex; gap: 24px; border-bottom: 1px solid #dfe6e0; }
.owner-tabs a { padding: 14px 0; }
.owner-tabs a[aria-current] { border-bottom: 3px solid var(--deep-green); font-weight: 600; }
.owner-search { margin:24px 0 18px; max-width:680px; }
.owner-search label { display:block; margin-bottom:8px; font-weight:600; font-size:13px; }
.owner-search>div { display:flex; gap:10px; align-items:center; }
.owner-search input { min-width:0; flex:1; min-height:48px; padding:12px 14px; border:1px solid #c8ceca; border-radius:7px; background:#fbfcfb; font:inherit; }
.owner-search input:focus { outline:2px solid #149553; outline-offset:2px; }
.owner-note { max-width: 760px; line-height: 1.7; margin-bottom: 20px; }
.owner-table-wrap { overflow-x:auto; border:1px solid #dfe6e0; border-radius:10px; }
.owner-table { width: 100%; border-collapse: collapse; text-align: left; font-size: 14px; }
.owner-table caption { padding:14px 16px; text-align:left; color:#526058; font-size:12px; }
.owner-table th, .owner-table td { padding:16px; border-top:1px solid #e6ebe7; white-space:nowrap; vertical-align:middle; }
.owner-table tbody tr:hover { background:#f8fbf9; }
.owner-table thead { background:#f2f6f3; color:#405047; font-size:11px; letter-spacing:.07em; text-transform:uppercase; }
.owner-table a, .owner-pagination a { text-decoration: underline; text-underline-offset: 4px; }
.owner-status { background: #e4f4e9; color: #165e36; border-radius: 20px; padding: 6px 10px; font-size: 12px; }
.owner-status-pending { background:#fff3d4; color:#795812; }
.owner-manage-link { display:inline-flex; gap:7px; align-items:center; font-weight:600; }
.owner-empty { background: #f7faf8; border: 1px solid #dfe6e0; padding: 36px; border-radius: 12px; }
.owner-empty p { margin-top: 12px; line-height: 1.7; }
.owner-pagination { display: flex; gap: 24px; align-items: center; margin: 24px 0; }
.owner-signout { margin-top:28px; padding-top:24px; border-top:1px solid #dfe6e0; }
.trend-admin-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(260px,1fr); gap:18px; align-items:start; }
.trend-form-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.trend-provider-card { background:#fffaf0; border-color:#e6d39a; }
.hashtag-admin-list { display:grid; gap:10px; }
.hashtag-admin-row { display:grid; grid-template-columns:minmax(190px,1.4fr) repeat(3,minmax(120px,.8fr)) minmax(110px,.7fr) auto auto; gap:12px; align-items:end; padding:16px; border:1px solid #e0e7e1; border-radius:10px; background:#fbfdfb; }
.hashtag-admin-row label { margin:0; }
.hashtag-admin-row label>span { display:block; margin-bottom:6px; color:#59665f; font-size:10px; letter-spacing:.06em; text-transform:uppercase; }
.hashtag-admin-name { align-self:center; min-width:0; }
.hashtag-admin-name strong,.hashtag-admin-name span,.hashtag-admin-name small { display:block; }
.hashtag-admin-name strong { font-size:16px; color:#087443; }
.hashtag-admin-name span,.hashtag-admin-name small { margin-top:5px; color:#657269; font-size:11px; overflow-wrap:anywhere; }
.hashtag-admin-name small { color:#9a4b32; }
.hashtag-result-count { align-self:center; white-space:nowrap; color:#657269; font-size:12px; }
@media(max-width: 640px) {
  .owner-heading { align-items: flex-start; flex-direction: column; }
  .admin-shell-heading { align-items:flex-start; flex-direction:column; gap:12px; }
  .admin-nav { gap:20px; margin-inline:-8px; padding-inline:8px; }
  .owner-actions { width:100%; }
  .owner-actions .button { flex:1; }
  .owner-stats { grid-template-columns: 1fr; gap: 10px; }
  .owner-stat { display:grid; grid-template-columns:1fr auto; align-items:center; gap:4px 16px; padding:18px; }
  .owner-stats strong { grid-row:1 / 3; grid-column:2; margin:0; font-size:30px; }
  .owner-stats small { margin-top:5px; }
  .admin-member-actions { grid-template-columns:1fr; }
  .activity-list>article { grid-template-columns:1fr; gap:6px; }
  .member-account-heading { align-items:flex-start; flex-direction:column; }
  .member-identity { flex-direction:column; gap:14px; }
  .member-account-stats,.member-actions,.member-account-grid { grid-template-columns:1fr; }
  .owner-directory { padding:20px 16px; margin-inline:-8px; }
  .trend-admin-grid,.trend-form-grid { grid-template-columns:1fr; }
  .hashtag-admin-row { grid-template-columns:1fr 1fr; }
  .hashtag-admin-name { grid-column:1/-1; }
  .owner-tabs { gap:16px; font-size:13px; overflow-x:auto; }
  .owner-search>div { flex-wrap:wrap; }
  .owner-search input { flex-basis:100%; }
  .owner-search .button { flex:1; }
}

/* Homepage refresh: premium, restrained and reusable. */
:root {
  --brand:#10b568;
  --brand-dark:#087844;
  --surface:#f5f7f4;
  --surface-dark:#111512;
  --border:#dfe4df;
  --shadow:0 24px 70px rgba(16,34,23,.12);
}
.homepage-hero {
  grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);
  align-items:center;
  gap:clamp(48px,7vw,110px);
  min-height:620px;
  padding-block:clamp(72px,8vw,118px);
}
.homepage-hero .hero-copy { max-width:610px; }
.homepage-hero h1 { margin:28px 0 30px; font-size:clamp(72px,7.4vw,112px); }
.homepage-hero .hero-description { max-width:470px; font-size:18px; }
.homepage-hero .hero-actions { gap:14px; margin-top:34px; }
.button-primary { background:var(--brand); border-color:var(--brand); color:#07130c; }
.button-primary:hover { background:var(--brand-dark); border-color:var(--brand-dark); color:#fff; }
.button-secondary { background:#fff; border-color:var(--ink); color:var(--ink); }
.button-secondary:hover { background:var(--ink); border-color:var(--ink); color:#fff; }
.homepage-hero .hero-art {
  min-height:420px;
  overflow:visible;
  background:none;
  isolation:isolate;
}
.homepage-hero .hero-art::before {
  width:72%;
  height:72px;
  left:15%;
  top:74%;
  background:radial-gradient(ellipse,rgba(13,23,17,.26),rgba(13,23,17,.08) 42%,transparent 72%);
  filter:blur(7px);
}
.hero-membership-card {
  width:min(92%,570px);
  max-width:570px;
  border-radius:22px;
  padding:clamp(28px,3vw,42px);
  background:
    linear-gradient(125deg,rgba(255,255,255,.07),transparent 28%,transparent 72%,rgba(255,255,255,.035)),
    radial-gradient(circle at 78% 22%,#2b302d 0,#1a1f1c 34%,#101412 100%);
  border:1px solid rgba(221,232,224,.24);
  box-shadow:0 44px 55px -34px rgba(8,18,12,.48),0 17px 28px -24px rgba(5,10,7,.8),inset 0 1px 0 rgba(255,255,255,.16),inset 0 -1px 0 rgba(0,0,0,.75);
}
.hero-membership-card::before {
  border:1px solid rgba(255,255,255,.025);
  box-shadow:inset 0 0 34px rgba(255,255,255,.018);
}
.hero-membership-card .card-top { font-size:clamp(23px,2.3vw,31px); text-shadow:0 1px 0 #000; }
.hero-membership-card .card-top svg { width:clamp(34px,3.2vw,44px); height:clamp(34px,3.2vw,44px); }
.hero-membership-card .card-submark { margin-top:7px; font-size:9px; }
.hero-membership-card .card-middle { align-items:end; padding:30px 0 22px; }
.hero-membership-card .card-number {
  color:#c8ceca;
  font:500 clamp(20px,2.3vw,30px)/1 var(--body);
  letter-spacing:.13em;
  text-shadow:-1px -1px 0 rgba(255,255,255,.3),1px 1px 1px rgba(0,0,0,.95),0 4px 12px rgba(0,0,0,.42);
}
.card-details { display:flex; align-items:end; gap:clamp(32px,6vw,70px); margin-bottom:24px; color:#c8ceca; font-size:10px; font-weight:500; letter-spacing:.16em; text-shadow:0 1px 1px #000; }
.card-details span { display:flex; flex-direction:column; gap:6px; }
.card-details small { color:#7f8b84; font-size:7px; letter-spacing:.2em; }
.hero-membership-card .card-bottom { font-size:8px; }
.hero-membership-card .card-bottom svg { width:18px; height:18px; }
.trust-strip { gap:clamp(36px,8vw,112px); padding-block:19px; background:#fff; }
.how-section { background:var(--surface); border-color:var(--border); }
.how-grid { grid-template-columns:minmax(280px,.78fr) minmax(420px,1.22fr); gap:clamp(65px,10vw,150px); padding-block:clamp(78px,8vw,116px); }
.how-intro h2 { margin:22px 0 26px; font-size:clamp(48px,5vw,68px); }
.how-intro>p:not(.eyebrow) { max-width:430px; font-size:16px; }
.how-intro .text-link { margin-top:28px; }
.steps { counter-reset:supply-step; }
.steps li { position:relative; gap:30px; padding:30px 0; border-color:#d7ded7; }
.steps li:first-child { padding-top:0; }
.step-number { min-width:42px; padding-top:3px; font-size:12px; font-weight:600; }
.steps h3 { margin-bottom:10px; font:400 24px/1.25 var(--heading); }
.steps p { max-width:500px; font-size:15px; }
.faq-section {
  display:grid;
  grid-template-columns:minmax(240px,.65fr) minmax(520px,1.35fr);
  align-items:start;
  gap:clamp(60px,10vw,150px);
  padding-block:clamp(80px,8vw,118px);
}
.faq-intro { position:sticky; top:30px; }
.faq-intro h2 { margin:18px 0 25px; font:400 clamp(40px,4.4vw,62px)/1.08 var(--heading); letter-spacing:-.045em; }
.faq-list { border:0; display:grid; gap:12px; }
.faq-item { border:1px solid var(--border); border-radius:13px; background:#fff; overflow:hidden; transition:border-color .2s,box-shadow .2s,background .2s; }
.faq-item:has(button[aria-expanded="true"]) { border-color:rgba(16,181,104,.55); background:#fbfefc; box-shadow:0 12px 32px rgba(15,75,42,.07); }
.faq-item h3 { margin:0; }
.faq-item button {
  width:100%; min-height:76px; padding:22px 24px; border:0; background:transparent; color:var(--ink);
  display:flex; align-items:center; justify-content:space-between; gap:24px; text-align:left; font-size:16px; font-weight:500;
}
.faq-item button:hover { background:#f7faf7; }
.faq-item button:focus-visible { outline:2px solid var(--brand-dark); outline-offset:-4px; border-radius:11px; }
.faq-item button>span { position:relative; flex:0 0 22px; width:22px; height:22px; }
.faq-item button>span::before,.faq-item button>span::after { content:''; position:absolute; top:10px; left:4px; width:14px; height:1.5px; background:currentColor; transition:transform .2s; }
.faq-item button>span::after { transform:rotate(90deg); }
.faq-item button[aria-expanded="true"] { color:var(--brand-dark); }
.faq-item button[aria-expanded="true"]>span::after { transform:rotate(0); }
.faq-panel { max-height:0; overflow:hidden; opacity:0; transition:max-height .22s ease,opacity .18s ease; }
.faq-panel.is-open { max-height:260px; opacity:1; }
.faq-panel>div { padding:0 64px 25px 24px; }
.faq-panel p { max-width:690px; color:var(--muted); font-size:15px; font-weight:300; line-height:1.75; }
.faq-panel[hidden] { display:block; visibility:hidden; }

/* Cohesive header actions and a compact premium footer. */
.join-link {
  border-color:var(--brand); background:var(--brand); color:#07130c;
  box-shadow:none; text-transform:uppercase;
}
.join-link::after,.join-link::before { display:none; }
.join-link:hover { background:var(--brand-dark); border-color:var(--brand-dark); color:#fff; box-shadow:none; }
@media (prefers-reduced-motion:no-preference) { .join-link { animation:none; transition:background .2s,color .2s,transform .2s; } }
.store-footer { margin-top:0; padding:50px max(6%,calc((100vw - 1267px)/2)) 20px; background:var(--surface-dark); color:#f3f6f3; }
.footer-wave { display:none; }
.footer-top { padding-bottom:28px; }
.footer-brand p,.footer-bottom { color:#9ca8a0; }
.footer-links a:hover { color:var(--brand); }
.footer-bottom { border-top-color:rgba(255,255,255,.11); }
.store-footer .brand-logo { filter:brightness(0) invert(1); opacity:.96; }
.store-footer .brand-logo>span { color:#9ca8a0; }
.store-footer .dot { background:var(--brand); }

@media(max-width:900px) {
  .homepage-hero { grid-template-columns:1fr; min-height:0; gap:52px; }
  .homepage-hero .hero-copy { max-width:700px; }
  .homepage-hero .hero-art { min-height:430px; }
  .hero-membership-card { width:min(82vw,570px); }
  .faq-section { grid-template-columns:1fr; gap:38px; }
  .faq-intro { position:static; }
  .faq-intro h2 br { display:none; }
}
@media(max-width:760px) {
  .homepage-hero { padding-block:50px 56px; gap:38px; }
  .homepage-hero h1 { font-size:clamp(55px,15vw,72px); }
  .homepage-hero .hero-description { font-size:16px; }
  .homepage-hero .hero-actions { align-items:stretch; flex-direction:column; max-width:360px; }
  .homepage-hero .button { width:100%; }
  .homepage-hero .hero-art { min-height:300px; }
  .hero-membership-card { width:min(88vw,500px); padding:clamp(22px,6vw,34px); border-radius:17px; transform:perspective(900px) rotate(-3deg) rotateX(3deg); }
  .hero-membership-card .card-middle { padding:20px 0 15px; }
  .hero-membership-card .card-number { font-size:clamp(16px,5vw,25px); letter-spacing:.1em; }
  .card-details { gap:30px; margin-bottom:17px; font-size:8px; }
  .trust-strip { justify-content:space-between; gap:14px; overflow:hidden; }
  .how-grid { grid-template-columns:1fr; gap:44px; padding-block:62px; }
  .how-intro h2 { font-size:46px; }
  .steps li:first-child { border-top:1px solid #d7ded7; padding-top:25px; }
  .faq-section { padding-block:60px 70px; }
  .faq-intro h2 { font-size:42px; }
  .faq-item button { min-height:70px; padding:19px 18px; font-size:15px; }
  .faq-panel>div { padding:0 48px 21px 18px; }
  .faq-panel p { font-size:14px; }
  .store-footer { padding:42px 22px 18px; }
}
@media(max-width:390px) {
  .homepage-hero .hero-art { min-height:250px; }
  .hero-membership-card { width:92%; padding:19px; }
  .hero-membership-card .card-top { font-size:18px; }
  .hero-membership-card .card-top svg { width:28px; height:28px; }
  .hero-membership-card .card-number { font-size:15px; }
  .card-details { gap:22px; font-size:7px; }
  .hero-membership-card .card-bottom { font-size:6px; }
}
/* Public invitation and authenticated member product search. */
.join-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 20px; border: 1px solid #cfb35e; border-radius: 7px; background: linear-gradient(115deg,#f3df9e,#d9b955); color: #211e14; box-shadow: 0 3px 15px #d9b95530; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.join-link:hover { background: #f3df9e; }
.join-link { position: relative; isolation: isolate; overflow: hidden;
  background: linear-gradient(125deg, #a77b26 0%, #edd28a 24%, #fff0b5 43%, #d4ac4b 67%, #f1d688 100%);
  border-color: #c5a04a;
  box-shadow: inset 0 1px 0 #fff7d6, inset 0 -2px 3px #8a601c35, 0 5px 18px #bd903c38;
}
.join-link::after { content: ''; position: absolute; inset: 3px; border: 1px solid #fff8d54d; border-radius: 4px; pointer-events: none; }
.join-link:hover { background: linear-gradient(125deg,#c49b43,#fff0b5 45%,#dfba60); box-shadow: inset 0 1px 0 #fff7d6, 0 5px 24px #bd903c65; }
/* A tilted light band passes behind the label, then rests between sweeps. */
.join-link::before {
  content: '';
  position: absolute;
  inset: -40% -60%;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 36%, #fff0b84d 44%, #fffbe5cc 50%, #fff0b84d 56%, transparent 64%);
  transform: translateX(-70%);
  opacity: 0;
}
@media (prefers-reduced-motion: no-preference) {
  .join-link::before { animation: join-gold-shine 4.5s ease-in-out infinite; }
  .join-link { animation: join-gold-glow 4.5s ease-in-out infinite; transition: transform .2s ease; }
  .join-link:hover { transform: translateY(-2px); }
}
@keyframes join-gold-glow {
  0%, 55%, 100% { box-shadow: inset 0 1px 0 #fff7d6, inset 0 -2px 3px #8a601c35, 0 5px 18px #bd903c38; }
  28% { box-shadow: inset 0 1px 0 #fff7d6, inset 0 -2px 3px #8a601c35, 0 5px 25px #bd903c70; }
}
@keyframes join-gold-shine {
  0% { transform: translateX(-70%); opacity: 0; }
  8% { opacity: 1; }
  46% { transform: translateX(70%); opacity: 1; }
  52%, 100% { transform: translateX(70%); opacity: 0; }
}
.member-search { display: flex; align-items: center; width: 210px; min-width: 140px; border: 1px solid #c9ceca; border-radius: 7px; background: #f7f8f6; }
.member-search input { min-width: 0; width: 100%; padding: 12px; border: 0; background: transparent; color: #191e1b; font: inherit; font-size: 12px; }
.member-search button { flex: 0 0 44px; height: 44px; border: 0; background: transparent; color: #191e1b; cursor: pointer; }
.member-search svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.member-search:focus-within { outline: 2px solid #987828; outline-offset: 3px; }
.join-link:focus-visible { outline: 2px solid #987828; outline-offset: 3px; }
@media (min-width: 1101px) { .store-header { flex-wrap: wrap; } .store-header .store-nav { gap: 20px; } }
@media (max-width: 1100px) { .store-header .member-search { order: 2; width: 100%; margin-bottom: 12px; } .join-link { padding: 0 12px; } }
@media (max-width: 420px) { .store-header { column-gap: 8px; } .join-link { padding: 0 9px; font-size: 10px; } .account-link .account-name { max-width: 75px; } }

/* Final header action override: ordinary actions use the core brand palette. */
.join-link {
  border-color:var(--brand);
  background:var(--brand);
  color:#07130c;
  box-shadow:none;
}
.join-link::before,.join-link::after { display:none; }
.join-link:hover { background:var(--brand-dark); border-color:var(--brand-dark); color:#fff; box-shadow:none; }
@media (prefers-reduced-motion:no-preference) {
  .join-link { animation:none; transition:background .2s,color .2s,transform .2s; }
}

/* Authenticated member dashboard. */
.member-dashboard { padding-top:clamp(44px,5vw,72px); padding-bottom:clamp(56px,7vw,96px); }
.checkout-activation-notice { display:flex; margin-bottom:24px; padding:15px 18px; align-items:center; justify-content:space-between; gap:18px; border:1px solid #9fd8b6; border-radius:12px; background:#effaf3; color:#185b38; }
.checkout-activation-notice strong { font-size:14px; }
.checkout-activation-notice span { color:#47705a; font-size:12px; text-align:right; }
.checkout-activation-pending { border-color:#e2ca88; background:#fff9e9; color:#765a13; }
.checkout-activation-pending span { color:#786b46; }
.premium-supplier-gate { width:min(900px,calc(100% - 40px)); margin:clamp(52px,8vw,110px) auto; padding:clamp(38px,6vw,76px); border:1px solid #d8bd6e; border-radius:22px; background:linear-gradient(145deg,#fffdf7,#fff8e5); box-shadow:0 24px 70px rgba(113,83,13,.1); }
.premium-supplier-gate h1 { max-width:700px; margin:16px 0; font-size:clamp(44px,7vw,82px); line-height:1; }
.premium-supplier-gate>p:not(.eyebrow) { max-width:680px; color:var(--muted); font-size:17px; line-height:1.7; }
.premium-supplier-gate small { display:block; max-width:680px; margin-top:28px; color:#7a6d49; line-height:1.6; }
.premium-supplier-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.premium-supplier-ready { border-color:#8bd5a7; background:linear-gradient(145deg,#fbfffc,#effaf3); }
.member-welcome { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:54px; }
.member-welcome h1 { max-width:920px; margin:18px 0 13px; font-size:clamp(48px,5.7vw,80px); line-height:1.04; overflow-wrap:anywhere; }
.member-welcome>div>p:last-child { color:var(--muted); font-size:18px; font-weight:300; }
.telegram-connected { display:inline-flex; align-items:center; gap:9px; flex-shrink:0; padding:10px 14px; border:1px solid #cfe8d8; border-radius:999px; background:#f3fbf6; color:#236441; font-size:12px; }
.telegram-connected i { width:7px; height:7px; border-radius:50%; background:var(--brand); box-shadow:0 0 0 4px rgba(16,181,104,.13); }
.member-overview { display:grid; grid-template-columns:minmax(0,.9fr) minmax(470px,1.1fr); gap:clamp(50px,7vw,105px); align-items:center; min-height:calc(100svh - 260px); padding:clamp(36px,5vw,70px); border-radius:24px; background:linear-gradient(140deg,#f2f7f3,#f9faf8 66%); overflow:hidden; }
.member-status-panel h2 { max-width:610px; margin:22px 0 30px; font:400 clamp(30px,3.3vw,48px)/1.17 var(--heading); letter-spacing:-.035em; }
.status-badge { display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; font-size:10px; font-weight:600; letter-spacing:.11em; text-transform:uppercase; }
.status-badge::before { content:''; width:6px; height:6px; border-radius:50%; background:currentColor; }
.status-ready { background:#ddf5e7; color:#087844; }
.status-locked { background:#fff2cf; color:#84620a; }
.status-expired { background:#f3e6e6; color:#8c3939; }
.status-free { background:#e9eeeb; color:#4d5d53; }
.membership-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0 0 30px; border-block:1px solid #d9e1da; }
.membership-facts>div { min-width:0; padding:18px 15px 18px 0; }
.membership-facts>div:nth-child(even) { padding-left:22px; border-left:1px solid #d9e1da; }
.membership-facts>div:nth-child(-n+2) { border-bottom:1px solid #d9e1da; }
.membership-facts span,.member-id-row>span { display:block; margin-bottom:7px; color:#68736b; font-size:9px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.membership-facts strong { display:block; font-size:14px; font-weight:500; line-height:1.45; overflow-wrap:anywhere; }
.member-primary-actions { display:flex; flex-wrap:wrap; gap:12px; }
.dashboard-card-stage { position:relative; min-width:0; padding:42px 12px 58px; }
.dashboard-card-stage::after { content:''; position:absolute; z-index:0; width:72%; height:58px; left:14%; bottom:35px; border-radius:50%; background:radial-gradient(ellipse,rgba(9,25,15,.25),transparent 70%); filter:blur(8px); }
.dashboard-membership-card { z-index:1; width:100%; max-width:570px; margin:auto; transform:perspective(1000px) rotate(-5deg) rotateX(4deg) rotateY(-3deg); }
.dashboard-membership-card .card-details { display:grid; grid-template-columns:minmax(0,1.25fr) repeat(3,minmax(0,1fr)); gap:clamp(13px,2vw,28px); }
.dashboard-membership-card .card-details span { min-width:0; }
.dashboard-membership-card .card-details span:first-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-membership-card .card-days { color:#62e7a2; }
.dashboard-card-stage>p { position:relative; z-index:2; max-width:430px; margin:43px auto 0; color:#6b756e; font-size:11px; text-align:center; }
@media(prefers-reduced-motion:no-preference) {
  .dashboard-membership-card { animation:card-hover 10s ease-in-out infinite paused; }
  .dashboard-membership-card::after { animation:card-metallic-sweep 14s ease-in-out infinite paused; }
  .dashboard-card-stage.is-inview .dashboard-membership-card,.dashboard-card-stage.is-inview .dashboard-membership-card::after { animation-play-state:running; }
}
.invitation-panel { margin-top:28px; border:1px solid var(--border); border-radius:16px; background:#fff; }
.invitation-panel-required { padding:clamp(28px,4vw,46px); border-color:#a9dbbd; background:linear-gradient(135deg,#f4fbf6,#fff); }
.invitation-panel h2 { margin:15px 0 10px; font:400 clamp(28px,3vw,42px)/1.15 var(--heading); }
.invitation-panel p { max-width:650px; color:var(--muted); line-height:1.7; }
.invitation-panel summary { display:flex; justify-content:space-between; align-items:center; min-height:68px; padding:20px 24px; list-style:none; cursor:pointer; font-weight:500; }
.invitation-panel summary::-webkit-details-marker { display:none; }
.invitation-panel summary span { font-size:22px; transition:transform .2s; }
.invitation-panel[open] summary span { transform:rotate(45deg); }
.invitation-panel>div { padding:0 24px 24px; }
.redeem-form { max-width:690px; margin-top:24px; }
.redeem-form label { display:block; margin-bottom:9px; font-size:12px; font-weight:500; }
.redeem-control { display:flex; gap:10px; }
.redeem-control input { min-width:0; flex:1; min-height:50px; padding:12px 15px; border:1px solid #bfcac2; border-radius:7px; background:#fff; color:var(--ink); font:500 15px var(--body); letter-spacing:.08em; text-transform:uppercase; }
.redeem-control input:focus { outline:2px solid var(--brand-dark); outline-offset:2px; }
.redeem-control .button { flex-shrink:0; margin:0; }
.form-feedback { min-height:20px; margin-top:8px; color:var(--brand-dark); font-size:12px; }
.quick-actions { padding-block:clamp(68px,7vw,98px); }
.quick-actions-heading { display:flex; align-items:center; flex-direction:column; gap:12px; margin-bottom:32px; text-align:center; }
.quick-actions-heading .eyebrow { justify-content:center; }
.quick-actions-heading h2 { margin-top:12px; font-size:clamp(32px,4vw,48px); }
.quick-actions-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.quick-actions-grid>a,.quick-actions-grid form>button { display:grid; grid-template-columns:auto 1fr auto; gap:18px; align-items:start; width:100%; min-height:150px; padding:25px; border:1px solid var(--border); border-radius:14px; background:#fff; color:var(--ink); text-align:left; font:inherit; cursor:pointer; transition:transform .2s,border-color .2s,box-shadow .2s; }
.quick-actions-grid form { margin:0; }
.quick-actions-grid>a:hover,.quick-actions-grid form>button:hover { transform:translateY(-3px); border-color:#a9d4b9; box-shadow:0 15px 34px rgba(18,54,32,.08); }
.quick-actions-grid svg { color:var(--brand-dark); }
.quick-actions-grid h3 { margin-bottom:9px; font-size:17px; font-weight:500; }
.quick-actions-grid p { color:var(--muted); font-size:13px; line-height:1.55; }
.quick-actions-grid>a>span,.quick-actions-grid form>button>span { font-size:20px; }
.member-account-details { display:grid; grid-template-columns:1fr 1.2fr auto; gap:clamp(28px,5vw,70px); align-items:center; padding:36px; border-radius:18px; background:var(--surface-dark); color:#f3f6f3; }
.member-account-details h2 { margin-top:11px; font-size:28px; }
.member-id-row { margin-top:24px; }
.member-id-row>div { display:flex; align-items:center; gap:13px; }
.member-id-row code { font:500 15px var(--body); letter-spacing:.06em; }
.member-id-row small { display:block; margin-top:8px; color:#8f9c94; font-size:10px; }
.copy-id-button,.text-action { min-height:38px; padding:7px 11px; border:1px solid #526159; border-radius:6px; background:transparent; color:#dce5df; font:500 11px var(--body); cursor:pointer; }
.copy-id-button:hover,.text-action:hover { border-color:var(--brand); color:#fff; }
.private-share-note { display:flex; align-items:flex-start; gap:14px; }
.private-share-note svg { color:var(--brand); }
.private-share-note p { color:#b6c1ba; font-size:12px; line-height:1.65; }
.private-share-note form { margin-top:12px; }
.account-secondary-actions { display:flex; flex-direction:column; align-items:flex-end; gap:12px; }
.account-secondary-actions form { margin:0; }
.account-secondary-actions .text-link { color:#dce5df; }

@media(max-width:980px) {
  .member-overview { grid-template-columns:1fr; min-height:auto; }
  .dashboard-card-stage { order:-1; max-width:650px; width:100%; margin:auto; }
  .quick-actions-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .quick-actions-grid>a { min-height:0; }
  .member-account-details { grid-template-columns:1fr 1fr; }
  .account-secondary-actions { grid-column:1/-1; flex-direction:row; align-items:center; justify-content:flex-end; }
}
@media(max-width:640px) {
  .member-dashboard { padding-block:34px 56px; }
  .checkout-activation-notice { align-items:flex-start; flex-direction:column; gap:5px; }
  .checkout-activation-notice span { text-align:left; }
  .member-welcome { align-items:flex-start; flex-direction:column; margin-bottom:34px; }
  .member-welcome h1 { font-size:44px; }
  .member-welcome>div>p:last-child { font-size:16px; }
  .member-overview { min-height:calc(100svh - 190px); padding:27px 20px 32px; border-radius:18px; gap:20px; }
  .dashboard-card-stage { padding:26px 0 45px; }
  .dashboard-membership-card { width:92%; padding:20px; transform:perspective(900px) rotate(-3deg) rotateX(2deg); }
  .dashboard-membership-card .card-number { font-size:15px; }
  .dashboard-membership-card .card-details { gap:16px; font-size:7px; }
  .dashboard-card-stage>p { margin-top:28px; }
  .member-status-panel h2 { font-size:31px; }
  .membership-facts { grid-template-columns:1fr; }
  .membership-facts>div { padding:15px 0!important; border-left:0!important; border-bottom:1px solid #d9e1da; }
  .membership-facts>div:last-child { border-bottom:0; }
  .member-primary-actions { flex-direction:column; }
  .member-primary-actions .button { width:100%; }
  .invitation-panel-required { padding:26px 20px; }
  .redeem-control { flex-direction:column; }
  .redeem-control .button { width:100%; }
  .quick-actions { padding-block:58px; }
  .quick-actions-grid { grid-template-columns:1fr; }
  .member-account-details { grid-template-columns:1fr; padding:27px 22px; }
  .account-secondary-actions { grid-column:auto; align-items:flex-start; flex-direction:row; flex-wrap:wrap; justify-content:flex-start; }
}

/* Private product catalogue. */
.stock-preview-section { padding:clamp(52px,6vw,76px) 0; border-bottom:1px solid var(--border); background:linear-gradient(145deg,#f8faf7 0%,#fff 58%,#f8f3e7 100%); }
.stock-preview-section>.section-wrap { max-width:1160px; }
.stock-preview-section header { max-width:650px; margin-bottom:27px; }
.stock-preview-section h2 { margin:10px 0 9px; font:400 clamp(34px,4vw,48px)/1.08 var(--heading); text-wrap:balance; }
.stock-preview-section header>p:last-child { color:var(--muted); font-size:14px; line-height:1.55; }
.stock-preview-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); align-items:stretch; gap:clamp(14px,2vw,22px); }
.stock-preview-card { display:flex; min-width:0; height:100%; padding:0; flex-direction:column; overflow:hidden; border:1px solid #d8dfda; border-radius:14px; background:#fff; color:var(--ink); box-shadow:0 10px 28px rgba(20,53,32,.06); font:inherit; text-align:left; cursor:pointer; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.stock-preview-card:hover,.stock-preview-card:focus-visible { transform:translateY(-3px); border-color:#a9ceb5; box-shadow:0 16px 34px rgba(20,53,32,.1); }
.stock-preview-card:focus-visible { outline:3px solid rgba(16,181,104,.28); outline-offset:3px; }
.stock-preview-image { display:grid; width:100%; aspect-ratio:4/3; place-items:center; overflow:hidden; padding:10px; background:#f0f3ef; }
.stock-preview-image img { width:100%; height:100%; object-fit:contain; }
.stock-preview-copy { display:grid; width:100%; min-height:154px; padding:18px 19px 20px; flex:1; grid-template-rows:auto minmax(52px,auto) auto; align-items:start; }
.stock-preview-lock { display:inline-flex; align-items:center; gap:7px; color:var(--brand-dark); font-size:9px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.stock-preview-lock svg { width:13px; height:13px; }
.stock-preview-copy h3 { display:-webkit-box; margin:11px 0 8px; overflow:hidden; font:400 clamp(18px,1.7vw,23px)/1.25 var(--heading); -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.stock-preview-copy>p { display:flex; align-items:baseline; align-self:end; gap:5px; font-size:11px; }
.stock-preview-copy strong { font-size:clamp(27px,2.5vw,34px); line-height:1; }
.stock-access-dialog { width:min(92vw,560px); padding:0; border:0; border-radius:20px; background:#fff; color:var(--ink); box-shadow:0 30px 100px rgba(4,26,14,.35); }
.stock-access-dialog::backdrop { background:rgba(6,24,14,.58); backdrop-filter:blur(5px); }
.stock-access-dialog>div { padding:clamp(30px,5vw,52px); }
.stock-modal-icon { display:grid; width:48px; height:48px; margin-bottom:25px; place-items:center; border-radius:50%; background:#e6f7ed; color:var(--brand-dark); }
.stock-modal-icon svg { width:20px; height:20px; }
.stock-access-dialog h3 { margin:12px 0 17px; font:400 clamp(32px,5vw,48px)/1.08 var(--heading); }
.stock-access-dialog>div>p:not(.eyebrow) { color:var(--muted); line-height:1.65; }
.stock-access-dialog>div>div { display:flex; margin-top:29px; align-items:center; flex-wrap:wrap; gap:18px; }
.stock-access-dialog .text-action { border:0; background:transparent; color:var(--ink); cursor:pointer; }
.stock-access-dialog .text-action:hover { color:var(--brand-dark); }
.catalog-page,.product-page { padding-block:clamp(50px,7vw,92px); }
.catalog-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:32px; }
.catalog-heading h1 { margin:14px 0 10px; font-size:clamp(42px,5vw,70px); line-height:1.04; }
.product-info h1 { max-width:15ch; margin:12px 0 13px; font-size:clamp(38px,4.1vw,58px); line-height:1.06; overflow-wrap:anywhere; text-wrap:balance; }
.catalog-heading p { color:var(--muted); }
.catalog-tabs { display:flex; gap:30px; margin-bottom:25px; border-bottom:1px solid var(--border); overflow-x:auto; scrollbar-width:thin; }
.catalog-tab { position:relative; flex:0 0 auto; padding:0 0 14px; color:#737b75; font-size:12px; }
.catalog-tab:hover,.catalog-tab.is-active { color:var(--ink); }
.catalog-tab.is-active::after { content:''; position:absolute; right:0; bottom:-1px; left:0; height:2px; background:var(--ink); }
.catalog-tab-premium { color:#07864a; font-weight:650; }
.catalog-tab-locked { display:inline-flex; align-items:center; gap:5px; color:#59665f; font-weight:650; }
.catalog-tab-locked span { font-size:10px; filter:grayscale(1); }
.catalog-tab-locked:hover { color:#07864a; }
.premium-upgrade-prompt { display:grid; gap:6px; margin:0 0 38px; padding:20px 24px; border:1px solid #8bd9b2; border-radius:14px; background:#f1fbf6; }
.premium-upgrade-prompt .eyebrow { margin:0; }
.premium-upgrade-prompt strong { font-family:var(--display); font-size:24px; font-weight:500; }
.premium-upgrade-prompt span { color:#536159; font-size:14px; }
.catalog-controls { display:grid; grid-template-columns:minmax(300px,1fr) 28px 156px 140px 140px auto; gap:12px; align-items:center; transition:opacity .18s ease; }
.catalog-controls.is-loading { opacity:.58; cursor:progress; }
.catalog-search-field { display:flex; align-items:center; min-height:48px; border:1px solid var(--border); background:#fff; }
.catalog-search-field svg { flex:0 0 20px; width:20px; height:20px; margin-left:15px; fill:none; stroke:#78827b; stroke-width:1.7; }
.catalog-search-field input { min-width:0; width:100%; padding:13px; border:0; background:transparent; font:inherit; }
.catalog-controls select { width:100%; min-height:48px; padding:0 13px; border:1px solid var(--border); border-radius:0; background:#fff; color:var(--ink); font:inherit; font-size:12px; }
.catalog-filter-icon { color:#3e4942; font-size:21px; transform:rotate(90deg); }
.catalog-clear-filters { display:flex; min-height:48px; padding:0 18px; align-items:center; justify-content:center; border:1px solid var(--ink); color:var(--ink); font:600 10px var(--body); letter-spacing:.08em; text-transform:uppercase; text-decoration:none; white-space:nowrap; }
.catalog-results-bar { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:64px; margin-bottom:17px; color:#68726b; font-size:11px; }
.catalog-clear-size { display:inline-block; margin-left:12px; color:var(--brand-dark); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.catalog-sort label { display:flex; align-items:center; gap:10px; white-space:nowrap; }
.catalog-sort select { min-width:130px; padding:8px 28px 8px 8px; border:0; background:#fff; color:var(--ink); font:inherit; font-size:11px; }
.catalog-cart-link { position:relative; display:inline-flex; align-items:center; gap:8px; flex:0 0 auto; min-width:66px; min-height:46px; padding:0 11px 0 13px; border:1px solid var(--ink); border-radius:7px; }
.cart-icon-wrap { position:relative; display:grid; width:25px; height:25px; place-items:center; }
.cart-icon { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.cart-count { display:grid; place-items:center; min-width:22px; height:22px; padding:0 6px; border-radius:999px; background:var(--brand); color:#062414; font-size:10px; font-weight:600; }
.cart-burst { position:absolute; inset:0; pointer-events:none; }
.cart-burst i { position:absolute; top:50%; left:50%; width:2px; height:9px; border-radius:2px; background:var(--brand); opacity:0; transform-origin:50% 18px; }
.cart-burst i:nth-child(1) { transform:translate(-50%,-50%) rotate(-70deg) translateY(-18px); }
.cart-burst i:nth-child(2) { transform:translate(-50%,-50%) rotate(-35deg) translateY(-18px); }
.cart-burst i:nth-child(3) { transform:translate(-50%,-50%) rotate(0deg) translateY(-18px); }
.cart-burst i:nth-child(4) { transform:translate(-50%,-50%) rotate(35deg) translateY(-18px); }
.cart-burst i:nth-child(5) { transform:translate(-50%,-50%) rotate(70deg) translateY(-18px); }
.catalog-cart-link.is-added .cart-icon { animation:cart-pop .55s ease-out; }
.catalog-cart-link.is-added .cart-burst i { animation:cart-burst .65s ease-out; }
@keyframes cart-pop { 35% { transform:scale(1.22) rotate(-7deg); stroke:var(--brand-dark); } }
@keyframes cart-burst { 0% { opacity:0; } 25% { opacity:1; } 100% { opacity:0; height:3px; transform-origin:50% 28px; } }
@media(prefers-reduced-motion:reduce) { .catalog-cart-link.is-added .cart-icon,.catalog-cart-link.is-added .cart-burst i { animation:none; } }
.catalog-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(14px,2vw,26px); }
.catalog-card { display:flex; min-width:0; flex-direction:column; border:1px solid #e4e8e4; border-radius:14px; overflow:hidden; background:#fff; transition:transform .2s,box-shadow .2s; }
.catalog-pagination { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; margin-top:34px; padding-top:22px; border-top:1px solid var(--border); font-size:12px; }
.catalog-pagination a { width:max-content; color:var(--ink); font-weight:600; }
.catalog-pagination a:last-child { justify-self:end; }
.catalog-pagination>span { color:#68736b; text-align:center; }
.catalog-card>a { display:block; flex:1; background:#fff; }
.catalog-card>a:hover { transform:translateY(-4px); box-shadow:0 18px 38px rgba(21,52,33,.09); }
.catalog-card-image { display:grid; place-items:center; aspect-ratio:1/1.08; overflow:hidden; padding:10px; background:#fff; }
.catalog-card-image img { display:block; width:100%; height:100%; object-fit:contain; image-rendering:auto; }
.catalog-no-image,.product-no-image { color:var(--muted); font-size:12px; }
.catalog-card-copy { padding:18px; }
.catalog-card-copy>span { color:var(--muted); font-size:9px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.catalog-card-copy h2 { min-height:46px; margin:9px 0 17px; font:400 18px/1.3 var(--heading); }
.catalog-card-copy>div { display:flex; justify-content:space-between; gap:10px; align-items:center; }
.catalog-card-copy strong { font-size:14px; }
.catalog-card-copy small { font-size:10px; }
.catalog-card-copy .catalog-tier-hint { margin-top:9px; color:var(--brand-dark); font-size:10px; }
.catalog-card-copy .available { color:var(--brand-dark); }
.catalog-card-copy .sold-out { color:#8c3939; }
.catalog-quick-add { display:grid; grid-template-columns:minmax(0,1fr) 58px auto; gap:8px; padding:0 18px 16px; }
.catalog-quick-add .requested-colour-field { grid-column:1/-1; display:grid; gap:4px; color:#53645a; font-size:9px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; }
.catalog-quick-add .requested-colour-field input { width:100%; min-height:38px; padding:0 9px; border:1px solid var(--border); background:#fff; color:var(--ink); font:500 10px var(--body); text-transform:none; letter-spacing:0; }
.catalog-quick-add .requested-colour-field small { color:var(--muted); font-size:8px; font-weight:400; letter-spacing:0; text-transform:none; }
.catalog-quick-add .requested-colour-field + button { grid-column:1/-1; }
.catalog-quick-add select { width:100%; min-height:38px; padding:0 8px; border:1px solid var(--border); background:#fff; color:var(--ink); font:500 10px var(--body); }
.catalog-card-quantity input { width:100%; min-height:38px; padding:0 7px; border:1px solid var(--border); background:#fff; color:var(--ink); font:500 10px var(--body); text-align:center; }
.catalog-quick-add button { min-height:38px; padding:0 12px; border:0; background:var(--surface-dark); color:#fff; font:600 9px var(--body); letter-spacing:.04em; cursor:pointer; }
.catalog-quick-add button:disabled,.product-checkout button:disabled { cursor:wait; opacity:.6; }
.catalog-quick-add p { grid-column:1/-1; min-height:14px; color:var(--brand-dark); font-size:10px; }
.catalog-quick-add p.is-error,.cart-add-feedback.is-error { color:#8c3939; }
.catalog-empty { grid-column:1/-1; padding:70px; border:1px solid var(--border); border-radius:14px; text-align:center; }
.product-page-nav { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:34px; }
.product-layout { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr); gap:clamp(38px,6vw,90px); align-items:start; }
.product-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.product-gallery figure { aspect-ratio:1; overflow:hidden; padding:clamp(8px,1.4vw,18px); border:1px solid var(--border); border-radius:10px; background:#fff; }
.product-gallery figure:first-child { grid-column:1/-1; }
.product-gallery img { width:100%; height:100%; object-fit:contain; }
.product-info { position:sticky; top:24px; }
.product-description { margin:24px 0; color:var(--muted); line-height:1.75; }
.admin-product-reference { margin:8px 0 0; padding:8px 10px; width:max-content; max-width:100%; border:1px solid #b9dfc9; border-radius:6px; background:#f2fbf6; color:#27613f; font-size:12px; line-height:1.35; }
.product-tags { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:34px; }
.product-tags span { padding:7px 10px; border-radius:999px; background:#eef3ef; color:#4d5d53; font-size:10px; }
.wholesale-pricing { margin:22px 0; padding:20px; border:1px solid #b9ddc6; border-radius:12px; background:#f3faf5; }
.wholesale-pricing>span { color:var(--brand-dark); font-size:9px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.wholesale-pricing h2 { margin:8px 0 14px; font:400 28px var(--heading); }
.wholesale-pricing ul { display:flex; flex-wrap:wrap; gap:7px; }
.wholesale-pricing li { padding:7px 10px; border-radius:999px; background:#fff; color:#32483a; font-size:10px; }
.wholesale-pricing p { margin-top:14px; color:#526258; font-size:11px; }
.wholesale-pricing>strong { display:block; margin-top:10px; color:var(--brand-dark); font-size:11px; }
.wholesale-pricing>em { display:block; margin-top:7px; color:#526258; font-size:10px; font-style:normal; }
.product-info>h2 { padding-top:24px; border-top:1px solid var(--border); font-size:20px; }
.product-checkout { display:grid; grid-template-columns:1fr 110px; gap:10px; margin:28px 0 34px; padding:20px; border:1px solid #b9ddc6; border-radius:12px; background:#f3faf5; }
.product-checkout label { color:#53645a; font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.product-checkout .requested-colour-field { grid-column:1/-1; display:grid; gap:6px; }
.product-checkout .requested-colour-field small { color:var(--muted); font-size:9px; font-weight:400; letter-spacing:0; text-transform:none; }
.product-checkout select,.product-checkout input { min-width:0; width:100%; min-height:48px; padding:0 12px; border:1px solid #bdc9c0; border-radius:7px; background:#fff; color:var(--ink); font:inherit; }
.product-checkout .button { grid-column:1/-1; width:100%; margin:5px 0 0; }
.product-checkout small { grid-column:1/-1; color:var(--muted); font-size:10px; line-height:1.5; }
.product-checkout .cart-add-feedback { grid-column:1/-1; min-height:17px; color:var(--brand-dark); font-size:11px; font-weight:600; }
.product-sold-out { margin:28px 0 34px; padding:18px; border-radius:8px; background:#f3e6e6; color:#8c3939; }
.product-variants { display:grid; gap:8px; max-height:520px; margin-top:15px; padding-right:5px; overflow:auto; }
.product-variant { display:flex; justify-content:space-between; gap:20px; padding:14px; border:1px solid var(--border); border-radius:9px; }
.product-variant>div { display:flex; flex-direction:column; gap:4px; }
.product-variant>div:last-child { align-items:flex-end; text-align:right; }
.product-variant strong,.product-variant b { font-size:12px; font-weight:500; }
.product-variant small,.product-variant span { color:var(--muted); font-size:10px; }
.product-variant del { color:#8b948e; font-size:10px; }
.product-variant.unavailable { opacity:.58; }
.product-note { margin-top:20px; padding:14px; border-radius:8px; background:#f3f8f4; color:#486052; font-size:12px; }

/* Persistent member cart. */
.cart-page { padding-block:clamp(52px,7vw,92px); }
.cart-page>header { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:42px; }
.cart-page h1 { margin:14px 0 8px; font-size:clamp(42px,5vw,68px); }
.cart-page>header p:last-child,.cart-empty p { color:var(--muted); }
.cart-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:clamp(30px,5vw,70px); align-items:start; }
.cart-items { display:grid; border-top:1px solid var(--border); }
.cart-item { display:grid; grid-template-columns:112px minmax(0,1fr) auto minmax(150px,210px); gap:20px; align-items:center; padding:20px 0; border-bottom:1px solid var(--border); }
.cart-item-image { display:grid; place-items:center; width:112px; aspect-ratio:1; padding:5px; background:#f4f5f2; }
.cart-item-image img { width:100%; height:100%; object-fit:contain; }
.cart-item h2 { margin-bottom:7px; font:400 19px/1.25 var(--heading); }
.cart-item p { color:var(--muted); font-size:12px; }
.cart-item small { display:block; margin-top:7px; color:var(--brand-dark); font-size:10px; }
.cart-line-price { display:flex; min-width:128px; flex-direction:column; align-items:flex-end; gap:4px; text-align:right; }
.cart-line-price strong { font-size:13px; }
.cart-line-price span,.cart-line-price del,.cart-line-price em { font-size:9px; }
.cart-line-price del { color:#8b948e; }
.cart-line-price em { color:var(--brand-dark); font-style:normal; }
.cart-item form { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.cart-item .requested-colour-field { flex:1 1 100%; display:grid; gap:4px; color:#53645a; font-size:9px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; }
.cart-item .requested-colour-field input { width:100%; }
.cart-item .requested-colour-field small { margin:0; color:var(--muted); font-size:8px; font-weight:400; letter-spacing:0; text-transform:none; }
.cart-item input,.cart-item select { min-height:36px; padding:0 9px; border:1px solid var(--border); background:#fff; font:inherit; font-size:10px; }
.cart-item input { width:66px; }
.cart-item select { max-width:100%; flex:1 1 145px; }
.cart-item button { border:0; background:transparent; color:var(--ink); font:500 10px var(--body); cursor:pointer; }
.cart-item .cart-remove { color:#8c3939; }
.cart-item form[aria-busy="true"] { opacity:.58; }
.cart-item [data-cart-update-feedback] { flex-basis:100%; min-height:13px; margin:0; color:var(--brand-dark); font-size:9px; text-align:right; }
.cart-item [data-cart-update-feedback].is-error { color:#8c3939; }
.cart-summary { position:sticky; top:24px; padding:27px; border-radius:14px; background:var(--surface-dark); color:#fff; }
.cart-summary>span { font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.cart-summary>div { display:flex; justify-content:space-between; gap:20px; margin:18px 0; padding-block:14px; border-bottom:1px solid #39443e; }
.cart-summary p { margin-bottom:22px; color:#aeb9b2; font-size:11px; line-height:1.6; }
.cart-summary .button { width:100%; margin:0; }
.cart-empty { padding:clamp(44px,7vw,90px); border:1px solid var(--border); border-radius:16px; text-align:center; }
.cart-empty .button { margin-top:25px; }

/* Protected product importer. */
.import-admin { padding-block:clamp(42px,6vw,78px); }
.import-start-card,.import-progress,.import-error,.import-warnings,.import-duplicate,.import-success { margin-top:24px; padding:clamp(22px,3vw,34px); border:1px solid var(--border); border-radius:14px; background:#fff; }
.import-url-form>label,.import-review-form label,.import-upload-form label { display:grid; gap:8px; color:#526258; font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.import-url-form>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; margin-top:9px; }
.import-url-form input,.import-review-form input,.import-review-form select,.import-review-form textarea,.import-upload-form input { width:100%; min-height:48px; padding:11px 13px; border:1px solid #bdc9c0; border-radius:7px; background:#fff; color:var(--ink); font:400 13px/1.5 var(--body); letter-spacing:0; text-transform:none; }
.import-url-form small,.import-upload-form small { display:block; margin-top:9px; color:var(--muted); font-size:10px; }
.import-history { margin-top:50px; }
.import-history>div:first-child { margin-bottom:18px; }
.import-history h2,.import-job-heading h2 { margin:8px 0; font:400 clamp(32px,4vw,48px)/1.08 var(--heading); }
.import-history .owner-table th small { display:block; max-width:340px; margin-top:5px; overflow:hidden; color:var(--muted); font-weight:400; text-overflow:ellipsis; white-space:nowrap; }
.import-status { display:inline-flex; padding:7px 10px; border-radius:999px; background:#eef3ef; color:#415248; font-size:9px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.import-status-ready,.import-status-published { background:#dcf7e7; color:#14623a; }
.import-status-failed,.import-status-cancelled { background:#f7e2e2; color:#8c3939; }
.import-job-heading { display:flex; margin-top:28px; align-items:flex-start; justify-content:space-between; gap:24px; }
.import-source { max-width:780px; color:var(--muted); font-size:11px; overflow-wrap:anywhere; }
.import-progress ol { display:grid; margin:22px 0; padding:0; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; list-style:none; }
.import-progress li { padding:12px; border-radius:8px; background:#f2f4f1; color:#69746d; font-size:10px; }
.import-progress li.is-current { background:#dff7e8; color:var(--brand-dark); font-weight:700; }
.import-error { border-color:#e2bcbc; background:#fff8f8; }
.import-warnings { border-color:#e4d3aa; background:#fffaf0; }
.import-warnings ul { margin:13px 0 0 18px; color:#705d32; }
.import-duplicate { border-color:#c7bae6; background:#f8f5ff; }
.import-success { border-color:#add8bb; background:#f1fbf4; }
.import-remove-panel { margin-top:16px; padding:20px; border:1px solid #e4bbb7; border-radius:12px; background:#fff8f7; }
.import-remove-panel h3 { margin:0 0 6px; }
.import-remove-panel p { max-width:68ch; margin:0 0 14px; color:#665451; }
.admin-product-search { margin:24px 0 14px; }
.admin-product-remove summary { cursor:pointer; color:#8b241f; font-weight:700; }
.admin-product-remove p { width:210px; margin:9px 0; color:#665451; font-size:12px; }
.admin-product-remove .button { min-height:36px; padding:8px 11px; font-size:10px; }
.import-review-layout { display:grid; margin-top:28px; grid-template-columns:minmax(0,1fr) minmax(360px,.9fr); gap:clamp(24px,4vw,54px); align-items:start; }
.import-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.import-image-card { overflow:hidden; border:1px solid var(--border); border-radius:10px; background:#fff; }
.import-image-card.is-primary { border-color:#67bd83; box-shadow:0 0 0 2px rgba(16,181,104,.12); }
.import-image-card.needs-background { border-color:#d7a7a7; background:#fff8f8; }
.import-image-card.needs-background>span { color:#8c3939; }
.import-image-card img { display:block; width:100%; aspect-ratio:1; object-fit:contain; background:#fff; }
.import-image-card>span { display:block; padding:9px 11px 0; color:var(--brand-dark); font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.import-image-card>div { display:flex; padding:8px; flex-wrap:wrap; gap:4px; }
.import-image-card button { padding:5px 7px; border:1px solid var(--border); background:#fff; color:var(--ink); font:500 8px var(--body); cursor:pointer; }
.import-review-form { display:grid; padding:24px; border:1px solid var(--border); border-radius:14px; background:#f8faf8; gap:15px; }
.import-form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.import-actions { display:flex; margin-top:5px; flex-wrap:wrap; gap:9px; }
.import-actions .button { margin:0; }
.import-actions .text-action { border:0; background:transparent; color:#8c3939; cursor:pointer; }
.import-upload-form { display:grid; margin-top:16px; padding:18px; border:1px dashed #aebbb2; border-radius:10px; gap:10px; }
.import-upload-form .button { width:max-content; margin:0; }
@media(max-width:1050px) { .stock-preview-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:780px) {
  .stock-preview-grid { display:flex; gap:15px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; }
  .stock-preview-card { flex:0 0 min(78vw,310px); scroll-snap-align:start; }
  .catalog-heading { align-items:flex-start; }
  .catalog-tabs { gap:22px; }
  .catalog-controls { grid-template-columns:1fr 1fr; }
  .catalog-search-field { grid-column:1/-1; }
  .catalog-filter-icon { display:none; }
  .catalog-clear-filters { grid-column:span 1; }
  .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-layout { grid-template-columns:1fr; }
  .product-info { position:static; }
  .cart-layout { grid-template-columns:1fr; }
  .cart-summary { position:static; }
  .import-review-layout { grid-template-columns:1fr; }
  .import-progress ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:480px) {
  .stock-preview-section { padding-block:44px; }
  .stock-preview-section header { margin-bottom:22px; }
  .stock-preview-section h2 { font-size:34px; }
  .stock-preview-copy { min-height:150px; padding:17px; }
  .stock-access-dialog>div>div { align-items:stretch; flex-direction:column; }
  .catalog-heading { flex-direction:column; }
  .catalog-controls { grid-template-columns:1fr; }
  .catalog-search-field,.catalog-clear-filters { grid-column:auto; }
  .catalog-results-bar { align-items:flex-start; flex-direction:column; padding-block:14px; }
  .catalog-grid { gap:10px; }
  .catalog-card-copy { padding:13px; }
  .catalog-quick-add { grid-template-columns:minmax(0,1fr) 58px; padding:0 13px 13px; }
  .catalog-quick-add button { grid-column:1/-1; }
  .catalog-quick-add p { grid-column:1/-1; }
  .catalog-card-copy h2 { min-height:42px; font-size:16px; }
  .catalog-card-copy>div { align-items:flex-start; flex-direction:column; }
  .product-gallery { gap:7px; }
  .product-variant { align-items:flex-start; flex-direction:column; }
  .product-variant>div:last-child { align-items:flex-start; text-align:left; }
  .product-checkout { grid-template-columns:1fr; }
  .product-checkout .button,.product-checkout small { grid-column:auto; }
  .cart-page>header { align-items:flex-start; flex-direction:column; }
  .cart-item { grid-template-columns:78px 1fr; gap:13px; }
  .cart-item-image { grid-row:1/3; width:78px; }
  .cart-line-price { grid-column:2; align-items:flex-start; text-align:left; }
  .cart-item form { grid-column:2; justify-content:flex-start; }
  .import-url-form>div,.import-form-row { grid-template-columns:1fr; }
  .import-job-heading { flex-direction:column; }
  .import-gallery { grid-template-columns:1fr; }
}
