:root{
--paper:#F5F2EC;--paper-up:#EFEBE3;--sand:#E7E1D5;--card:#FFFFFF;
--line:#D8D1C3;--line-soft:#E9E4D9;
--head:#1B1917;--text:#453F39;--soft:#6A6259;
--bark:#2A211C;--bark-up:#33291F;--bark-edge:#4A3C31;--on-bark:#F3EEE6;--on-bark-soft:#B4A695;
--buy:#8E2F4A;--buy-deep:#6E2239;--buy-bright:#A94263;--buy-pale:#F6E4E9;
--star:#8A6A16;--star-pale:#F5EEDA;
--s1:#3C5A73;--s2:#2C7D74;--s3:#7A4A6B;--s4:#2F6E93;--s5:#9A5B33;--s6:#7E6327;
--fd:'Chivo', 'Helvetica Neue', Arial, sans-serif;--ft:'Hanken Grotesk', 'Segoe UI', system-ui, sans-serif;--fm:'DM Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
--wrap:1280px;--gut:30px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--text);
  font-family:var(--ft);font-size:17px;line-height:1.65;font-weight:400}
img,svg,video{max-width:100%}
img{height:auto}
h1,h2,h3,h4{font-family:var(--fd);color:var(--head);margin:0;line-height:1.06;font-weight:700;letter-spacing:-.005em}
h1{font-size:clamp(34px,5.2vw,58px);text-transform:uppercase;letter-spacing:.005em}
h2{font-size:clamp(25px,3vw,36px)}
h3{font-size:20px}
p{margin:0 0 16px}
a{color:var(--head);text-underline-offset:.18em;text-decoration-thickness:1px}
p a{text-decoration:underline}
ul,ol{margin:0 0 16px;padding-left:20px}
li{margin:0 0 6px}
b,strong{font-weight:600}
.fig{font-family:var(--fm);font-weight:500;font-size:.95em;letter-spacing:-.02em}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}
.sect{padding:64px 0}
.sect>.wrap>h2{max-width:22ch}
.kick{font-family:var(--fd);font-size:12.5px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--soft);margin:0 0 10px;display:flex;align-items:center;gap:10px}
.sect-no{font-family:var(--fm);font-size:11.5px;color:var(--buy);letter-spacing:0}
.lede{font-size:19px;max-width:62ch;margin:14px 0 0;color:var(--text)}
.quiet{background:var(--paper-up)}
.sandy{background:var(--sand)}

/* ---------------------------------------------------------------- head --- */
.masthead{position:relative;z-index:40}
.topline{background:var(--bark);color:var(--on-bark)}
.topline p{margin:0;padding:9px 0;font-size:13px;letter-spacing:.01em;text-align:center}
.mast-in{display:flex;align-items:center;gap:18px;padding-top:16px;padding-bottom:16px;
  border-bottom:1px solid var(--line)}
.mark{display:inline-flex;align-items:center;flex:0 0 auto;text-decoration:none}
.mark-img{display:block;width:152px;height:auto}
.mast-nav{margin-left:auto}
.mast-nav ul{display:flex;gap:24px;list-style:none;margin:0;padding:0}
.mast-nav li{margin:0}
.mast-nav a{font-family:var(--fd);font-size:13.5px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;text-decoration:none;color:var(--head);padding:6px 0;display:inline-block}
.mast-nav a:hover{color:var(--buy)}
.mast-nav a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--buy)}
.head-cta{display:flex;align-items:center;gap:10px}
.masthead .nav-toggle{display:none}

/* ----------------------------------------------------------------- btn --- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  flex:0 0 auto;flex-wrap:wrap;max-width:100%;
  background:var(--buy);color:#fff;border:0;border-radius:2px;
  padding:12px 20px;cursor:pointer;font-family:var(--fd);font-size:14px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;text-decoration:none;line-height:1}
.btn:hover{background:var(--buy-deep)}
.btn img{width:auto;max-width:100%;display:block}
.btn-sm{padding:9px 12px;font-size:12.5px}
.btn-lg{padding:16px 30px;font-size:16px}
.btn-head{padding:10px 16px;font-size:12.5px}
.ghost-button{background:transparent;color:var(--head);border:1px solid var(--line)}
.ghost-button:hover{background:var(--sand);color:var(--head)}
.ghost-button img{filter:none}
/* Same specificity as .btn img{display:block}: a weaker selector would hide
   the short caption only by accident of source order. */
.btn img.cta-short{display:none}

/* ---------------------------------------------------------------- hero --- */
.hero{background:var(--paper);border-bottom:1px solid var(--line)}
.hero-in{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;padding-block:40px 52px;align-items:center}
.hero-txt{min-width:0}
.hero-tag{font-family:var(--fd);font-size:12.5px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--buy);margin:0 0 14px}
.hero-lede{font-size:19.5px;max-width:52ch;margin:18px 0 0;color:var(--text)}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 0}
.hero-ph{min-width:0;position:relative}
.hero-ph img{width:100%;height:auto;display:block;border-radius:3px;background:#fff}
.hero-meta{display:flex;flex-wrap:wrap;gap:10px 28px;margin:22px 0 0;padding:16px 0 0;
  border-top:1px solid var(--line);list-style:none;padding-left:0}
.hero-meta li{margin:0;font-size:14px;color:var(--soft)}
.hero-meta b{font-family:var(--fm);font-weight:500;color:var(--head);font-size:15px}

/* -------------------------------------------------------------- promise -- */
.promise{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;margin:34px 0 0}
.promise>div{min-width:0;border-top:2px solid var(--head);padding-top:16px}
.promise h3{font-size:19px;margin:0 0 8px;text-transform:none}
.promise p{margin:0;font-size:16px;color:var(--text)}

/* ---------------------------------------------------------------- axis --- */
.axis{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin:30px 0 0}
.axis-item{min-width:0;display:flex;align-items:center;gap:16px;background:var(--card);
  border:1px solid var(--line-soft);border-radius:3px;padding:16px 18px;text-decoration:none;
  contain:layout style}
.axis-item:hover{border-color:var(--head)}
.axis-code{font-family:var(--fm);font-size:12px;letter-spacing:.02em;color:#fff;
  background:var(--tile,var(--bark));border-radius:2px;padding:6px 8px;flex:0 0 auto}
.axis-b{min-width:0}
.axis-b h3{font-size:17px;margin:0 0 3px;text-transform:none}
.axis-b p{margin:0;font-size:14px;color:var(--soft)}
.axis-n{margin-left:auto;flex:0 0 auto;font-family:var(--fm);font-size:13px;color:var(--soft)}

.day{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin:30px 0 0}
.day-item{min-width:0;background:var(--card);border:1px solid var(--line-soft);border-radius:3px;
  padding:22px;text-decoration:none;display:block;contain:layout style}
.day-item:hover{border-color:var(--head)}
.day-item h3{font-size:19px;margin:0 0 8px;text-transform:none}
.day-item p{margin:0;font-size:15px;color:var(--soft)}
.day-item .go{display:inline-block;margin-top:12px;font-family:var(--fd);font-size:12.5px;
  font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--buy)}

/* --------------------------------------------------------------- cards --- */
.cards{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;margin:30px 0 0}
.card{min-width:0;background:var(--card);border:1px solid var(--line-soft);border-radius:3px;
  display:flex;flex-direction:column;overflow:hidden;contain:layout style}
.card:hover{border-color:var(--line)}
.card-ph{display:block;background:#fff;padding:10px}
.card-ph img{width:100%;height:auto;display:block;aspect-ratio:1;object-fit:contain;background:#fff}
.card-b{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.card-name{font-size:17px;line-height:1.2;margin:0;text-transform:none}
.card-name a{text-decoration:none}
.card-name a:hover{color:var(--buy)}
.card-facts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px;
  font-size:13.5px;color:var(--soft);flex:1 0 auto}
.card-facts li{margin:0}
.card-rate{margin:0;font-size:13px;color:var(--soft);display:flex;align-items:center;gap:6px}
.card-rate .star{color:var(--star);letter-spacing:.04em}
.card-buy{margin:0;display:flex;align-items:center;justify-content:space-between;gap:8px;
  border-top:1px solid var(--line-soft);padding-top:12px}
.card-buy .fig{font-size:19px;color:var(--head)}
.from{font-size:12px;color:var(--soft);text-transform:uppercase;letter-spacing:.08em}
.card-dots{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.dot{display:block;width:13px;height:13px;border-radius:50%;border:1px solid rgba(0,0,0,.18)}
.dot-none{background:repeating-linear-gradient(45deg,#ddd,#ddd 3px,#fff 3px,#fff 6px)}
.dot-more{font-family:var(--fm);font-size:11.5px;color:var(--soft)}
.card-more{justify-content:center;gap:8px;padding:26px 22px;text-decoration:none;
  background:var(--paper-up);border-style:dashed;border-color:var(--line)}
.card-more:hover{border-color:var(--tile,var(--head));background:var(--card)}
.more-k{font-family:var(--fm);font-size:12px;color:#fff;background:var(--tile,var(--bark));
  border-radius:2px;padding:5px 8px;align-self:flex-start}
.more-h{font-family:var(--fd);font-size:19px;font-weight:700;color:var(--head);line-height:1.12}
.more-n{font-family:var(--fm);font-size:14px;color:var(--soft)}
.card-more .go{font-family:var(--fd);font-size:12.5px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--buy);margin-top:6px}

/* ------------------------------------------------------------- shelves --- */
.shelf-head{padding:34px 0 10px}
.shelf-head h1{max-width:18ch}
.shelf-nums{display:flex;flex-wrap:wrap;gap:10px 26px;margin:18px 0 0;padding:0;list-style:none}
.shelf-nums li{margin:0;font-size:14px;color:var(--soft)}
.shelf-nums b{font-family:var(--fm);font-weight:500;color:var(--head);font-size:16px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:0;list-style:none}
.chips li{margin:0}
.chip{display:inline-flex;align-items:center;gap:7px;background:var(--card);border:1px solid var(--line);
  border-radius:2px;padding:7px 12px;font-size:13.5px;cursor:pointer;font-family:var(--ft);color:var(--head)}
.chip[aria-pressed="true"]{background:var(--head);color:#fff;border-color:var(--head)}
.chip[aria-pressed="true"] .dot{border-color:rgba(255,255,255,.4)}
.shelf-tell{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;align-items:start}
.shelf-tell-ph{min-width:0}
.shelf-tell-ph img{width:100%;height:auto;display:block;border-radius:3px;background:#fff}
.shelf-tell-tx{min-width:0}

/* ----------------------------------------------------------------- pdp --- */
.pdp{display:grid;grid-template-columns:minmax(0,1fr);gap:30px;padding-top:30px}
.pdp-ph{min-width:0}
.pdp-gal{min-width:0}
.pdp-main{background:#fff;border:1px solid var(--line-soft);border-radius:3px;padding:14px}
.pdp-main img{width:100%;height:auto;display:block;aspect-ratio:1;object-fit:contain}
.pdp-thumbs{display:flex;gap:8px;margin:10px 0 0;padding:0;list-style:none;flex-wrap:wrap}
.pdp-thumbs li{margin:0}
.pdp-thumb{background:#fff;border:1px solid var(--line-soft);border-radius:2px;padding:4px;cursor:pointer;
  width:72px;height:72px;display:block}
.pdp-thumb img{width:100%;height:100%;object-fit:contain;display:block}
.pdp-thumb[aria-pressed="true"]{border-color:var(--head)}
.pdp-tx{min-width:0}
.pdp-tx h1{font-size:clamp(28px,3.4vw,40px)}
.pdp-price{display:flex;align-items:baseline;gap:10px;margin:18px 0 0}
.pdp-price .fig{font-size:30px;color:var(--head)}
.pdp-rate{margin:8px 0 0;font-size:14px;color:var(--soft)}
.pdp-rate .star{color:var(--star)}
.pdp-desc{margin:20px 0 0;font-size:17px}
.spec{list-style:none;margin:22px 0 0;padding:0;border-top:1px solid var(--line)}
.spec li{margin:0;display:flex;justify-content:space-between;gap:16px;padding:10px 0;
  border-bottom:1px solid var(--line-soft);font-size:15px}
.spec dt,.spec .k{color:var(--soft)}
.spec .v{font-family:var(--fm);font-size:14.5px;color:var(--head);text-align:right}
.vari{list-style:none;margin:22px 0 0;padding:0}
.vari li{margin:0;display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-soft)}
.vari .v-name{min-width:0;flex:1;font-size:15px}
.vari .v-size{font-family:var(--fm);font-size:13px;color:var(--soft)}
.vari .fig{font-size:16px}

/* --------------------------------------------------------------- table --- */
.tbl-wrap{overflow-x:auto;margin:26px 0 0}
table{border-collapse:collapse;width:100%;font-size:15px}
th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line-soft);vertical-align:top}
th{font-family:var(--fd);font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--soft);
  border-bottom:1px solid var(--line);white-space:nowrap}
td.num{font-family:var(--fm);font-size:14px;white-space:nowrap}
tbody tr:hover{background:var(--paper-up)}

/* ----------------------------------------------------------------- faq --- */
.faq{margin:26px 0 0;border-top:1px solid var(--line)}
.faq-sect .wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.faq-head{min-width:0}
.faq-body{min-width:0}
.faq-q{border-bottom:1px solid var(--line-soft)}
.faq-q summary{display:flex;align-items:flex-start;gap:12px;list-style:none;cursor:pointer;
  padding:16px 0;font-family:var(--fd);font-size:18px;font-weight:600;color:var(--head)}
.faq-q summary::-webkit-details-marker{display:none}
.faq-q summary::before{content:"+";font-family:var(--fm);color:var(--buy);flex:0 0 auto;line-height:1.3}
.faq-q[open] summary::before{content:"\2212"}
.faq-qt{min-width:0}
.faq-a{padding:0 0 18px 26px;max-width:70ch}
.faq-a p{margin:0 0 12px}
.faq-a p:last-child{margin:0}

/* ------------------------------------------------------------- article --- */
.art{max-width:780px;margin:0 auto;padding-top:34px}
.art h1{font-size:clamp(30px,3.8vw,44px);text-transform:none;letter-spacing:-.01em}
.art h2{margin:38px 0 12px;font-size:26px}
.art h3{margin:26px 0 10px;font-size:19px}
.art p{font-size:17.5px}
.art figure{margin:26px 0}
.art figure img{width:100%;height:auto;max-height:520px;object-fit:contain;background:#fff;
  border:1px solid var(--line-soft);border-radius:3px}
.art figcaption{font-size:13.5px;color:var(--soft);margin-top:8px}
/* A five-column table inside a 780px reading column hides its last column
   behind a scrollbar. On a wide screen the table steps out of the column. */
.art table{font-size:14.5px}
.art-meta{font-size:13.5px;color:var(--soft);margin:0 0 22px}
.art-lede{font-size:20px;color:var(--text)}
.embed{background:var(--card);border:1px solid var(--line-soft);border-radius:3px;padding:18px;
  display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:26px 0}
.embed > a img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#fff}
.embed h3{margin:0 0 6px;font-size:18px;text-transform:none}
.embed p{margin:0 0 10px;font-size:15px}

/* ------------------------------------------------------------- sources --- */
.sources{background:var(--paper-up);border:1px solid var(--line);border-radius:3px;
  padding:22px 24px;margin:30px 0 0}
.src-h{font-size:14px;font-family:var(--fd);letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin:0 0 12px}
.sources ul{margin:0;padding-left:18px;font-size:14.5px}
.sources .src-read{color:var(--soft);font-size:13.5px}
.sources .road{margin:14px 0 0;font-size:14.5px}
.note{background:var(--buy-pale);border-left:3px solid var(--buy);padding:16px 18px;margin:26px 0 0;
  font-size:15.5px;border-radius:0 3px 3px 0}

/* ------------------------------------------------------------- closing --- */
.closing{background:var(--bark);color:var(--on-bark);padding:62px 0}
.closing h2{color:#fff;max-width:20ch}
.closing .kick{color:var(--on-bark-soft)}
.closing-tx{min-width:0}
.closing-act{min-width:0}
.closing-cta{margin:26px 0 0}
.closing .btn{background:#fff;color:var(--bark)}
.closing .btn:hover{background:var(--buy-pale)}
.closing-note{margin:16px 0 0;color:var(--on-bark-soft);font-size:15px;max-width:56ch}

/* --------------------------------------------------------------- trust --- */
.trust{background:var(--sand);padding:44px 0}
.trust-in{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.trust-in>div{min-width:0}
.trust b{display:block;font-family:var(--fm);font-size:30px;color:var(--head);line-height:1.1;font-weight:500}
.trust span{display:block;font-size:14px;color:var(--soft);margin-top:6px}

/* ---------------------------------------------------------------- foot --- */
.foot{background:var(--bark);color:var(--on-bark-soft);padding:52px 0 30px;font-size:15px}
.foot a{color:var(--on-bark);text-decoration:none}
.foot a:hover{text-decoration:underline}
.foot h2{color:#fff;font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px}
.foot-top{display:grid;grid-template-columns:minmax(0,1fr);gap:30px}
.foot-mark img{width:152px;height:auto;display:block}
.foot-mark p{margin:14px 0 0;max-width:34ch;font-size:14.5px}
.foot-col ul{list-style:none;margin:0;padding:0}
.foot-col li{margin:0 0 8px;font-size:14.5px}
.foot-pay{margin-top:34px;padding-top:22px;border-top:1px solid var(--bark-edge);
  display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.pay{display:flex;flex-wrap:wrap;align-items:center;gap:12px;list-style:none;margin:0;padding:0}
.pay li{margin:0;display:flex;align-items:center}
.pay svg{height:24px;width:auto;display:block}
.pay-note{margin:0;font-size:13.5px;color:var(--on-bark-soft)}
.foot-note{margin-top:22px;padding-top:20px;border-top:1px solid var(--bark-edge);font-size:13.5px}
.foot-note p{margin:0 0 8px}
.foot-note p a{text-decoration:underline}
.disclosure{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.disclosure img.dsc{width:auto;max-width:100%;display:block}

/* -------------------------------------------------------------- buyrail -- */
.buyrail{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--card);
  border-top:1px solid var(--line);transform:translateY(110%);transition:transform .18s ease;
  box-shadow:0 -6px 24px rgba(20,16,12,.08)}
.buyrail.on{transform:none}
.buyrail-in{max-width:var(--wrap);margin:0 auto;padding:10px var(--gut);
  display:flex;align-items:center;gap:14px}
.buyrail .rail-t{min-width:0;flex:1;font-size:14.5px;color:var(--soft);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.buyrail .rail-t b{font-family:var(--fd);color:var(--head);font-weight:700}

/* ------------------------------------------------------------- legal ----- */
.legal{max-width:760px;margin:0 auto;padding-top:34px}
.legal h1{font-size:clamp(28px,3.4vw,40px);text-transform:none}
.legal h2{margin:32px 0 10px;font-size:22px}
.legal p{font-size:16.5px}
.crumbs{font-size:13px;color:var(--soft);margin:22px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li{margin:0}
.crumbs a{color:var(--soft)}
.mail-box{border:2px solid var(--buy);background:var(--buy-pale);padding:18px 20px;margin:26px 0 0;border-radius:3px}

/* --------------------------------------------------------------- 404 ----- */
.four{max-width:640px;margin:0 auto;padding-block:60px;text-align:center}
.four h1{font-size:clamp(38px,7vw,72px)}
.four .btn{margin-top:20px}

/* ------------------------------------------------------------ widths ----- */
@media (min-width:700px){
  .promise{grid-template-columns:repeat(3,minmax(0,1fr))}
  .axis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .day{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cards-2,.cards-3,.cards-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-top{grid-template-columns:1.4fr repeat(3,minmax(0,1fr))}
  .trust-in{grid-template-columns:repeat(4,minmax(0,1fr))}
  .embed{grid-template-columns:220px minmax(0,1fr);align-items:center}
}
@media (min-width:1020px){
  .hero-in{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:44px}
  .axis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .day{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cards-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .shelf-tell{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:36px}
  .pdp{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px}
}
@media (min-width:1180px){
  .sect{padding:76px 0}
  /* A 60ch column on a 1920 screen fills less than half the band: the
     heading and its lede go left, the questions themselves go right. */
  .faq-sect .wrap{grid-template-columns:minmax(0,0.85fr) minmax(0,1.6fr);gap:56px;align-items:start}
  .faq-sect .faq{margin-top:0;border-top:0}
  .faq-head{position:sticky;top:24px}
  /* The product frame sticks while sizes and colourways run past it. */
  .pdp-ph{position:sticky;top:16px;align-self:start}
  .closing-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:end}
  .closing-cta{margin-top:0}
  /* A five-column table inside a 780px reading column hides its last column
     behind a scrollbar. Only where the window allows it, the table steps out
     of the column, centred on the same axis (780 - 1080) / 2 = -150. */
  .art .tbl-wrap{width:1080px;margin-inline:-150px}
}
@media (max-width:860px){
  .masthead .nav-toggle{display:inline-flex}
  .mast-nav{display:none;order:3;width:100%;margin-left:0}
  .mast-nav.open{display:block}
  .mast-nav ul{flex-direction:column;gap:0;padding:10px 0 4px}
  .mast-nav li{border-top:1px solid var(--line-soft)}
  .mast-nav a{display:block;padding:12px 0;width:100%}
  .mast-in{flex-wrap:wrap;gap:12px}
  .head-cta{margin-left:auto}
}
@media (max-width:640px){
  .sect{padding:46px 0}
  body{font-size:16.5px}
  .hero-lede{font-size:17.5px}
  .lede{font-size:17.5px}
  .card-buy{flex-wrap:wrap}
  .buyrail-in{padding:9px 18px}
}
@media (max-width:520px){
  :root{--gut:18px}
  .btn{width:100%}
  /* Header, card and buy-rail buttons stay auto: full width blows the header
     two hundred pixels past the edge of a 360px screen. */
  .btn-sm,.head-cta .btn,.buyrail .btn{width:auto}
  .mark-img{width:112px}
  .btn img{height:auto!important;max-height:1em}
  .btn img.cta-long{display:none}
  .btn img.cta-short{display:block}
  .topline p{font-size:12px}
  .mark-img{width:124px}
  .pdp-thumb{width:60px;height:60px}
  .trust-in{grid-template-columns:repeat(2,minmax(0,1fr))}
  .disclosure img.dsc{height:auto!important;max-height:1em}
}