/* ============================================================
   ASCEND AMINOS — front-end styles
   Two-tone: paper + ink. No third colour. Inversion is the accent.
   ============================================================ */
:root{
  --paper:#E8E6E0;
  --paper-sunk:#DFDDD5;
  --paper-raised:#F0EEE9;
  --ink:#13120E;
  --ink-soft:#1D1C17;
  --rule:rgba(19,18,14,.16);
  --rule-strong:rgba(19,18,14,.34);
  --rule-inv:rgba(232,230,224,.18);
  --rule-inv-strong:rgba(232,230,224,.36);

  --display:"Newsreader",Georgia,serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;

  --pad:clamp(20px,5vw,72px);
  --maxw:1560px;

  --ease:cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box}
body{
  background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-weight:400;line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;margin:0;
}
body.aa-locked{overflow:hidden}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}

/* ---------- type primitives ---------- */
h1,h2,h3,h4,.display{
  font-family:var(--display);
  font-variation-settings:"opsz" 72;
  font-weight:800;line-height:.94;letter-spacing:-.026em;margin:0;
}
.mono{
  font-family:var(--mono);font-size:.6875rem;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;line-height:1.5;
}
.mono-sm{font-family:var(--mono);font-size:.625rem;letter-spacing:.18em;text-transform:uppercase}
.d-xl{font-size:clamp(3.2rem,10.5vw,9.5rem)}
.d-lg{font-size:clamp(2.6rem,6.4vw,5.6rem);line-height:.99}
.d-md{font-size:clamp(2rem,3.9vw,3.4rem);line-height:.99}
.d-sm{font-size:clamp(1.4rem,2.1vw,1.9rem);line-height:1.02}
.lede{font-size:clamp(1.0625rem,1.35vw,1.3125rem);line-height:1.55;font-weight:300;max-width:56ch}
.body-sm{font-size:.9375rem;line-height:1.65;font-weight:300}

.aa-wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}
.aa-sec{padding-block:clamp(72px,9vw,150px)}
.has-d-lg-font-size,.has-d-md-font-size{line-height:.99}
.aa-inv{background:var(--ink);color:var(--paper)}
.aa-inv .mono{color:rgba(232,230,224,.62)}
.aa-sunk{background:var(--paper-sunk)}

.mark{display:block;width:auto}
.aa-inv .mark,.mark--light{filter:invert(1)}

/* ---------- tagline: Newsreader 800, optical size 72 ---------- */
.aa-tagline{
  font-family:var(--display);
  font-variation-settings:"opsz" 72;
  font-weight:800;
  font-size:clamp(2.9rem,9.4vw,8.8rem);
  letter-spacing:-.026em;line-height:.95;
}
.aa-tagline em,.aa-tagline i{
  font-style:italic;
  font-variation-settings:"opsz" 72;
  letter-spacing:-.022em;
}
/* The reveal mask is overflow:hidden, so it crops the glyph box on BOTH sides.
   line-height .95 is tighter than Newsreader's natural 1.17em, so ascenders and
   descenders sit outside the line box. Pad top and bottom, then pull the same
   amount back with negative margins so the visual spacing is unchanged. */
.aa-tagline .ln{
  display:block;overflow:hidden;
  padding:.22em 0 .26em;margin:-.22em 0 -.26em;
}
.aa-tagline .ln>span{display:block;transform:translateY(160%);transition:transform 1.05s var(--ease)}
.aa-ready .aa-tagline .ln>span{transform:translateY(0)}
.aa-ready .aa-tagline .ln:nth-child(2)>span{transition-delay:.1s}

/* ---------- buttons ---------- */
.btn,.wp-block-button__link,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt{
  display:inline-flex;align-items:center;gap:.7em;
  font-family:var(--mono);font-size:.6875rem;letter-spacing:.18em;
  text-transform:uppercase;font-weight:500;
  padding:1.02em 1.7em;border:1px solid var(--ink);border-radius:0;
  background:var(--ink);color:var(--paper);
  position:relative;overflow:hidden;cursor:pointer;
  transition:color .45s var(--ease),background .45s var(--ease);
}
.btn::after{
  content:"";position:absolute;inset:0;background:var(--paper);
  transform:scaleY(0);transform-origin:bottom;transition:transform .45s var(--ease);z-index:0;
}
.btn>*{position:relative;z-index:1}
.btn:hover{color:var(--ink)}
.btn:hover::after{transform:scaleY(1)}
.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce input.button:hover,.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,.wp-block-button__link:hover{
  background:var(--paper);color:var(--ink);
}
.btn--ghost{background:transparent;color:var(--ink)}
.btn--ghost::after{background:var(--ink)}
.btn--ghost:hover{color:var(--paper)}
.aa-inv .btn{border-color:var(--paper);background:var(--paper);color:var(--ink)}
.aa-inv .btn::after{background:var(--ink)}
.aa-inv .btn:hover{color:var(--paper)}
.aa-inv .btn--ghost{background:transparent;color:var(--paper)}
.aa-inv .btn--ghost::after{background:var(--paper)}
.aa-inv .btn--ghost:hover{color:var(--ink)}

.link-u{
  font-family:var(--mono);font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;
  padding-bottom:3px;background-image:linear-gradient(currentColor,currentColor);
  background-size:100% 1px;background-repeat:no-repeat;background-position:0 100%;
  transition:background-size .45s var(--ease);
}
.link-u:hover{background-size:0% 1px;background-position:100% 100%}

/* ---------- ticker + marquees ---------- */
.ticker{background:var(--ink);color:rgba(232,230,224,.7);overflow:hidden;padding:9px 0}
.ticker-track{display:flex;width:max-content;animation:aa-slide 46s linear infinite}
.ticker-track span{padding-right:3.2rem;white-space:nowrap}
@keyframes aa-slide{to{transform:translateX(-50%)}}

.compound-bar{background:var(--ink);color:var(--paper);padding:clamp(16px,2vw,22px) 0;overflow:hidden}
.compound-track{display:flex;width:max-content;animation:aa-slide 40s linear infinite}
.compound-track span{
  font-family:var(--display);font-variation-settings:"opsz" 72;font-weight:700;
  font-size:clamp(1.3rem,2.4vw,2.1rem);letter-spacing:-.01em;
  padding-right:2.6rem;white-space:nowrap;display:flex;align-items:center;gap:2.6rem;
}
.compound-track span::after{content:"";width:7px;height:7px;background:var(--paper);border-radius:50%;flex:none}

/* ---------- header ---------- */
.aa-header{position:sticky;top:0;z-index:100;background:var(--paper);border-bottom:1px solid transparent;transition:border-color .4s}
.aa-header.stuck{border-bottom-color:var(--rule)}
.aa-nav{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:82px}
.aa-nav .wp-block-navigation__container{gap:2.1rem}
.aa-nav .wp-block-navigation-item__content{
  font-family:var(--mono);font-size:.6875rem;letter-spacing:.17em;text-transform:uppercase;
}
.aa-logo{display:flex;align-items:center;gap:.85rem}
.aa-logo .mark,.aa-logo img{height:34px;width:auto}
.aa-logo-word{
  font-family:var(--display);font-variation-settings:"opsz" 72;font-weight:700;
  font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;line-height:1;
}

/* ---------- hero ---------- */
.aa-hero{position:relative;padding-top:clamp(48px,7vw,96px);padding-bottom:clamp(40px,5vw,72px);overflow:hidden}
.aa-hero img.aa-hero-mark,
img.aa-hero-mark{
  position:absolute;right:-4%;top:50%;transform:translateY(-52%);
  height:min(96vh,780px);width:auto;max-width:none;margin:0;
  opacity:.055;pointer-events:none;z-index:0;
}
.aa-hero>*{position:relative;z-index:1}
.aa-eyebrow{display:flex;align-items:center;gap:1rem;margin-bottom:clamp(28px,4vw,52px)}
.aa-eyebrow .ln{flex:1;height:1px;background:var(--rule);max-width:180px}

.statrail{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule);margin-top:clamp(46px,6vw,88px)}
.stat{padding:22px 20px 0 0;border-right:1px solid var(--rule)}
.stat:last-child{border-right:none}
.stat b{
  display:block;font-family:var(--display);font-variation-settings:"opsz" 72;font-weight:700;
  font-size:clamp(1.7rem,3vw,2.7rem);line-height:1;letter-spacing:-.02em;margin-bottom:9px;
}
.stat span{color:rgba(19,18,14,.55)}

/* ---------- section headers ---------- */
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-bottom:clamp(38px,5vw,68px)}
.sec-num{display:flex;align-items:center;gap:.9rem;margin-bottom:18px}
/* the eyebrow takes a full row so the heading sits under it, not beside it */
.sec-head>.sec-num,.sec-head .sec-num{flex-basis:100%;width:100%}
.sec-num .ln{width:52px;height:1px;background:var(--rule)}
.aa-inv .sec-num .ln{background:var(--rule-inv)}

/* ---------- reveals ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}

/* ============================================================
   WOOCOMMERCE — catalogue loop styled as spec cards
   ============================================================ */
.woocommerce .products ul,.woocommerce ul.products{
  display:grid!important;grid-template-columns:repeat(3,1fr);gap:0;margin:0;padding:0;list-style:none;
  border-top:1px solid var(--rule);border-left:1px solid var(--rule);
}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{
  position:relative;margin:0!important;padding:clamp(24px,2.4vw,34px);width:auto!important;float:none!important;
  border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);
  display:flex;flex-direction:column;min-height:400px;background:var(--paper);
  transition:background .55s var(--ease),color .55s var(--ease);
}
.woocommerce ul.products li.product:hover{background:var(--ink);color:var(--paper)}
.woocommerce ul.products li.product a{color:inherit}
.card-tag{
  font-family:var(--mono);font-size:.5625rem;letter-spacing:.17em;text-transform:uppercase;
  border:1px solid currentColor;padding:4px 8px;opacity:.6;align-self:flex-start;
}
.woocommerce ul.products li.product a img{
  margin:22px auto 18px;max-height:clamp(140px,15vw,190px);width:auto;
  transition:transform .6s var(--ease);
}
.woocommerce ul.products li.product:hover a img{transform:translateY(-7px) scale(1.035)}
/* the vial photos carry the paper tone as their own background, so on hover they
   read as a lit tile against the ink card rather than needing any filter */
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--display);font-variation-settings:"opsz" 72;font-weight:700;
  font-size:clamp(1.4rem,1.9vw,1.85rem)!important;line-height:1;letter-spacing:-.02em;
  padding:0!important;margin:auto 0 7px!important;
}
.woocommerce ul.products li.product .price{
  font-family:var(--display);font-variation-settings:"opsz" 72;font-weight:700;
  font-size:1.2rem!important;color:inherit!important;letter-spacing:-.01em;
  margin:0;padding-top:15px;border-top:1px solid var(--rule);transition:border-color .55s;
}
.woocommerce ul.products li.product:hover .price{border-top-color:var(--rule-inv)}
.woocommerce ul.products li.product .price del{opacity:.4;font-size:.8em}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce ul.products li.product .button{
  margin-top:14px;align-self:flex-start;font-size:.5625rem;padding:.85em 1.3em;
}

/* ---------- single product ---------- */
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(34px,5vw,84px);align-items:start}
.woocommerce div.product div.images{width:100%!important;float:none!important;margin:0!important;
  background:var(--paper-sunk);border:1px solid var(--rule);padding:clamp(28px,4vw,60px)}
.woocommerce div.product div.summary{width:100%!important;float:none!important;margin:0!important}
.woocommerce div.product .product_title{
  font-size:clamp(2rem,3.9vw,3.4rem)!important;margin:10px 0!important;letter-spacing:-.026em;
}
.woocommerce div.product p.price,.woocommerce div.product span.price{
  font-family:var(--display);font-variation-settings:"opsz" 72;font-weight:700;
  font-size:clamp(1.7rem,2.6vw,2.3rem);color:var(--ink);letter-spacing:-.02em;margin:22px 0 26px;
}
.woocommerce div.product form.cart{margin-bottom:30px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.woocommerce div.product form.cart div.quantity{margin:0;display:inline-flex;border:1px solid var(--ink)}
.woocommerce .quantity input.qty{
  width:64px;height:46px;border:none;background:transparent;text-align:center;
  font-family:var(--mono);font-size:.8125rem;
}
.woocommerce div.product form.cart table.variations{width:100%;margin-bottom:8px;border:none}
.woocommerce div.product form.cart table.variations td,
.woocommerce div.product form.cart table.variations th{border:none;padding:0 0 12px;vertical-align:middle}
.woocommerce div.product form.cart table.variations label{
  font-family:var(--mono);font-size:.625rem;letter-spacing:.18em;text-transform:uppercase;
}
.woocommerce div.product form.cart table.variations tbody,
.woocommerce div.product form.cart table.variations tr{display:block}
.woocommerce div.product form.cart table.variations th,
.woocommerce div.product form.cart table.variations td{display:block;padding:0 0 10px}
.woocommerce div.product form.cart .reset_variations{
  font-family:var(--mono);font-size:.5625rem;letter-spacing:.16em;text-transform:uppercase;
}
/* Woo disables add-to-cart until a variation is chosen; make that read as intentional */
.woocommerce div.product form.cart .button.disabled,
.woocommerce div.product form.cart .button:disabled{opacity:.4;cursor:not-allowed}
.woocommerce div.product form.cart .variations select{
  border:1px solid var(--ink);background:transparent;border-radius:0;padding:.8em 1em;
  font-family:var(--mono);font-size:.75rem;letter-spacing:.1em;min-width:180px;
}
.aa-ruo{margin-top:24px;color:rgba(19,18,14,.5);line-height:1.9;letter-spacing:.12em}
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1;border-top:1px solid var(--rule);padding-top:20px}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 24px}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent;border:none;border-radius:0;margin:0 1.8rem 0 0;padding:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  font-family:var(--mono);font-size:.6875rem;letter-spacing:.17em;text-transform:uppercase;
  padding:6px 0;border-bottom:1px solid transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{border-bottom-color:var(--ink)}
.woocommerce table.shop_attributes{border:none;margin:0}
.woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td{
  border:none;border-bottom:1px solid var(--rule);padding:17px 0;background:none!important;
}
.woocommerce table.shop_attributes th{
  font-family:var(--mono);font-size:.625rem;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(19,18,14,.55);font-weight:500;width:34%;
}
.woocommerce table.shop_attributes td{font-size:.9375rem;font-weight:300;font-style:normal}

/* ---------- notices, cart, checkout ---------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  border-top:none;border:1px solid var(--rule-strong);background:var(--paper-raised);
  font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;
}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none}
.woocommerce table.shop_table{border:1px solid var(--rule);border-radius:0}
.woocommerce table.shop_table th{
  font-family:var(--mono);font-size:.5625rem;letter-spacing:.2em;text-transform:uppercase;
}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce form .form-row select,.select2-container .select2-selection--single{
  border:1px solid var(--rule-strong);background:transparent;border-radius:0;padding:.9em 1em;
  font-family:var(--sans);font-size:.9375rem;
}
.woocommerce form .form-row label{
  font-family:var(--mono);font-size:.625rem;letter-spacing:.18em;text-transform:uppercase;
}
.aa-ruo-ack label{text-transform:none;letter-spacing:0;font-family:var(--sans);font-size:.875rem;line-height:1.55}

/* ---------- COA table ---------- */
.coa-search{display:flex;border:1px solid var(--rule-strong);max-width:640px;margin-bottom:44px}
.coa-search input{
  flex:1;background:transparent;border:none;outline:none;padding:1.15em 1.3em;
  font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;
}
.coa-search input::placeholder{color:rgba(19,18,14,.4);text-transform:uppercase;letter-spacing:.16em;font-size:.6875rem}
.coa-search button{
  padding:0 1.7em;background:var(--ink);color:var(--paper);border:none;cursor:pointer;
  font-family:var(--mono);font-size:.625rem;letter-spacing:.18em;text-transform:uppercase;
}
.table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:.75rem}
.table th{
  text-align:left;padding:12px 14px;border-bottom:1px solid var(--rule-strong);
  font-size:.5625rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;
  color:rgba(19,18,14,.5);white-space:nowrap;
}
.table td{padding:15px 14px;border-bottom:1px solid var(--rule);letter-spacing:.04em;white-space:nowrap}
.table tbody tr:hover{background:var(--paper-sunk)}
.table .pdf{text-decoration:underline;text-underline-offset:3px;font-size:.625rem;letter-spacing:.14em;text-transform:uppercase}
.tbl-scroll{overflow-x:auto}
.purity-cell{display:flex;align-items:center;gap:10px}
.purity-bar{width:52px;height:3px;background:var(--rule);position:relative;flex:none}
.purity-bar i{position:absolute;inset:0;background:var(--ink);transform-origin:left;transform:scaleX(var(--p,1))}

/* ---------- spec list ---------- */
.spec-list{border-top:1px solid var(--rule)}
.spec-row{display:grid;grid-template-columns:minmax(140px,.55fr) 1fr;gap:1.5rem;padding:17px 0;border-bottom:1px solid var(--rule)}
.spec-row dt{
  font-family:var(--mono);font-size:.625rem;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(19,18,14,.55);padding-top:2px;margin:0;
}
.spec-row dd{font-size:.9375rem;font-weight:300;line-height:1.55;margin:0}

/* ---------- the standard, three panels ---------- */
.std{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule-inv);border:1px solid var(--rule-inv)}
.std-cell{background:var(--ink);padding:clamp(28px,3vw,46px);display:flex;flex-direction:column;min-height:330px}
.std-cell .n{font-family:var(--display);font-variation-settings:"opsz" 72;font-weight:700;font-size:2.6rem;line-height:1;opacity:.28;margin-bottom:auto}
.std-cell h3{font-size:clamp(1.5rem,2.2vw,2.1rem)!important;margin:34px 0 13px!important}
.std-cell p{font-size:.9375rem;line-height:1.62;font-weight:300;color:rgba(232,230,224,.72);margin:0}

/* ---------- FAQ, core details blocks ---------- */
.aa-faq{border-top:1px solid var(--rule);max-width:1000px}
.aa-faq .wp-block-details{border-bottom:1px solid var(--rule);padding:0}
.aa-faq .wp-block-details summary{
  list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;
  gap:2rem;padding:clamp(22px,2.4vw,30px) 0;
  font-family:var(--display);font-variation-settings:"opsz" 72;
  font-weight:800;font-size:clamp(1.15rem,1.8vw,1.6rem);letter-spacing:-.018em;line-height:1.16;
}
.aa-faq .wp-block-details summary::-webkit-details-marker{display:none}
.aa-faq .wp-block-details summary::after{
  content:"";flex:none;width:15px;height:15px;
  background:
    linear-gradient(var(--ink),var(--ink)) center/15px 1px no-repeat,
    linear-gradient(var(--ink),var(--ink)) center/1px 15px no-repeat;
  transition:transform .4s var(--ease);
}
.aa-faq .wp-block-details[open] summary::after{transform:rotate(45deg)}
.aa-faq .wp-block-details p{
  max-width:74ch;padding-bottom:clamp(22px,2.4vw,30px);margin:0;
  font-weight:300;line-height:1.66;color:rgba(19,18,14,.76);
}

/* ---------- footer ---------- */
.aa-footer{background:var(--ink);color:var(--paper)}
.aa-footer a{color:rgba(232,230,224,.82);transition:color .3s}
/* footer link columns are lists in the markup but should read as plain stacks */
.aa-footer .wp-block-list{list-style:none;margin:0;padding:0}
.aa-footer .wp-block-list li{padding:6px 0;font-size:.875rem;font-weight:300}
/* the site logo needs the paper tone on the ink footer */
.aa-footer .wp-block-site-logo img,.aa-footer .custom-logo{filter:invert(1)}
.aa-logo .wp-block-site-logo img{height:34px;width:auto}
.aa-footer a:hover{color:var(--paper)}
.aa-footer h4,.aa-footer .wp-block-heading{
  font-family:var(--mono);font-size:.5625rem!important;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(232,230,224,.45);font-weight:500;margin-bottom:18px;
}
.aa-disclaimer{padding-block:clamp(28px,3vw,40px);border-top:1px solid var(--rule-inv)}
.aa-disclaimer p{
  font-family:var(--mono);font-size:.625rem;line-height:1.85;letter-spacing:.05em;
  color:rgba(232,230,224,.42);margin:0;
}
.aa-foot-base{
  display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;
  padding-block:24px;border-top:1px solid var(--rule-inv);
}
.aa-foot-base,.aa-foot-base a{
  font-family:var(--mono);font-size:.5625rem;letter-spacing:.17em;text-transform:uppercase;
  color:rgba(232,230,224,.45);
}
.news-form{display:flex;border-bottom:1px solid var(--rule-inv-strong)}
.news-form input{
  flex:1;background:transparent;border:none;outline:none;padding:.95em 0;
  font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;color:var(--paper);
}
.news-form input::placeholder{color:rgba(232,230,224,.4);text-transform:uppercase;letter-spacing:.16em;font-size:.6875rem}
.news-form button{
  background:none;border:none;color:inherit;cursor:pointer;padding-left:1.4em;
  font-family:var(--mono);font-size:.625rem;letter-spacing:.18em;text-transform:uppercase;
}

/* ---------- age gate ---------- */
#gate{
  position:fixed;inset:0;z-index:200;background:var(--paper);
  display:grid;place-items:center;padding:var(--pad);
  transition:opacity .7s var(--ease),visibility .7s;
}
#gate[hidden]{display:none}
#gate.gone{opacity:0;visibility:hidden;pointer-events:none}
.gate-inner{max-width:520px;text-align:center}
.gate-inner .mark{height:82px;margin:0 auto 34px}
.gate-inner h2{margin-bottom:18px}
.gate-inner .body-sm{color:rgba(19,18,14,.7);max-width:44ch;margin:0 auto}
.gate-rule{height:1px;background:var(--rule);margin:26px 0}
.gate-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:30px}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .woocommerce .products ul,.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}
  .std{grid-template-columns:1fr}
  .woocommerce div.product{grid-template-columns:1fr}
}
@media(max-width:720px){
  .woocommerce .products ul,.woocommerce ul.products{grid-template-columns:1fr}
  .statrail{grid-template-columns:1fr 1fr}
  .stat{border-bottom:1px solid var(--rule);padding-bottom:20px}
  .stat:nth-child(2){border-right:none}
  .aa-hero-mark{height:52vh;opacity:.045;right:-18%}
  .spec-row{grid-template-columns:1fr;gap:.35rem}
}

@media(prefers-reduced-motion:reduce){
  *,*::after,*::before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .rv{opacity:1;transform:none}
  .aa-tagline .ln>span{transform:none}
}


/* ============================================================
   COMING SOON — overrides the WooCommerce site-visibility page
   ============================================================ */
.aa-soon{
  min-height:100vh;display:grid;place-items:center;
  padding:var(--pad);background:var(--paper);
}
.aa-soon-inner{max-width:640px;text-align:center;margin:0 auto}
.aa-soon-inner .wp-block-site-logo{margin:0 auto 32px}
.aa-soon-inner .wp-block-site-logo img{height:clamp(64px,9vw,96px);width:auto}
.aa-soon-rule{height:1px;background:var(--rule);margin:28px 0}
.aa-soon-tag{
  font-family:var(--display);
  font-variation-settings:"opsz" 72;
  font-weight:800;
  font-size:clamp(2.5rem,7vw,5.2rem);
  letter-spacing:-.026em;line-height:1.02;
  margin-bottom:24px;
}
.aa-soon-tag em{
  font-style:italic;
  font-variation-settings:"opsz" 72;
  letter-spacing:-.02em;
}
.aa-soon .lede{margin:0 auto;color:rgba(19,18,14,.72);max-width:52ch}
.aa-soon-ruo{
  margin-top:38px;color:rgba(19,18,14,.45);
  letter-spacing:.14em;line-height:1.95;
}
