/* Holiday value-ladder sales pages (/offers/). Loaded only via front matter extraCss: offers. Sugar Paper base + Rifle-style holiday accents. */
.of-hero{--h:#A3222F;--p:#1E5B43;--g:#C9A24A;position:relative;overflow:hidden;background:linear-gradient(180deg,#F7F6F1 0%,#FBF8F3 100%);padding:4.25rem 0 2.5rem;border-bottom:1px solid #E2E5DC}
.of-garland{position:absolute;top:-14px;left:50%;transform:translateX(-50%);width:min(860px,140%);height:auto;pointer-events:none;opacity:.95}
.of-hero .eyebrow,.of-sec .eyebrow,.of-band .eyebrow,.of-final .eyebrow,.of-free .eyebrow{color:#A3222F}
.of-top{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:2.5rem;align-items:center;margin-top:.75rem}
.of-hero h1{font-size:clamp(2rem,4.2vw,3.1rem);line-height:1.06;margin:.5rem 0 .6rem}
.of-promise{font-family:var(--serif);font-style:italic;font-size:clamp(1.2rem,2vw,1.45rem);color:#1E5B43;margin:0 0 .6rem;line-height:1.3}
.of-sub{color:var(--muted);font-size:1.02rem;max-width:36rem;margin:0 0 1rem}
.of-wins{list-style:none;padding:0;margin:0 0 1.25rem;display:grid;gap:.5rem}
.of-wins li{display:flex;gap:.6rem;align-items:flex-start;font-size:.97rem;line-height:1.45}
.of-wins .ic{flex:0 0 auto;margin-top:.15rem;color:#1E5B43}
.of-art{margin:0}.of-art img{width:100%;height:auto;border-radius:var(--r-md);box-shadow:0 24px 50px -24px rgba(16,35,30,.45)}
.of-buy{display:grid;gap:.6rem;max-width:30rem}
.of-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:0}
.of-price b{font-size:2rem;line-height:1;color:var(--ink);letter-spacing:-.02em}
.of-price s{color:var(--muted);font-size:1rem}
.of-tag{display:inline-flex;align-items:center;font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#F6E3E6;color:#7F1A24;border-radius:var(--r-pill);padding:.28rem .65rem;line-height:1}
.of-cta{justify-content:center;background:#A3222F;border-color:#A3222F;box-shadow:0 12px 26px -12px rgba(127,26,36,.6)}
.of-cta:hover{background:#7F1A24;border-color:#7F1A24}
.of-trust,.of-cd{display:flex;align-items:center;gap:.45rem;margin:0;font-size:.86rem;color:var(--muted)}
.of-trust .ic,.of-cd .ic{flex:0 0 auto;color:#1E5B43}
.of-cd{color:#7F1A24;font-weight:600}.of-cd .ic{color:#A3222F}.of-cd-v b{font-variant-numeric:tabular-nums}
.of-cd:not([hidden]) .of-cd-v b:empty{display:none}
.of-notify label{font-size:.9rem;font-weight:600;display:block;margin-bottom:.4rem}
.of-notify .notify-row{display:flex;gap:.5rem}.of-notify input{flex:1;min-width:0;font-size:.95rem;padding:.7rem .9rem;border:1.5px solid var(--line);border-radius:var(--r-pill);background:#fff}
.of-notify .btn{padding:.7rem 1.1rem;font-size:.92rem}
.of-fb{font-size:.88rem;color:var(--muted);margin:0;line-height:1.5}
.of-sec{padding-block:3rem}.of-sec-tight{padding-top:2rem}
.of-head{margin-bottom:1.25rem}.of-head h2,.of-final h2{font-size:clamp(1.55rem,3vw,2.2rem);margin:.35rem 0 0;line-height:1.15}
.of-stack{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:2rem;align-items:start}
.of-rows{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;overflow:hidden}
.of-rows li{display:grid;grid-template-columns:2.25rem minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.7rem 1rem;border-top:1px solid var(--line);font-size:.94rem}
.of-rows li:first-child{border-top:0}
.of-ic{width:2.25rem;height:2.25rem;border-radius:50%;background:#EEF2EA;color:#1E5B43;display:flex;align-items:center;justify-content:center}
.of-book .of-ic{background:#F6E3E6;color:#A3222F}.of-bonus .of-ic{background:#F4EAD0;color:#8A6A1E}
.of-n{line-height:1.35}.of-n small{display:block;color:var(--muted);font-size:.82rem;margin-top:.15rem}
.of-ed{font-style:normal;font-size:.78rem;color:#7F1A24;white-space:nowrap}
.of-v{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.9rem;white-space:nowrap}
.of-inc{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#1E5B43;background:#EEF2EA;border-radius:var(--r-pill);padding:.3rem .6rem;line-height:1}
.of-book .of-inc{color:#7F1A24;background:#F6E3E6}.of-bonus .of-inc{color:#6F5416;background:#F4EAD0}
.of-total{position:sticky;top:6rem;border:1px solid #E2E5DC;border-radius:var(--r-md);background:#F7F6F1;padding:1.25rem;display:grid;gap:.65rem}
.of-total p{margin:0}.of-total > p:not(.of-note){display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.95rem}
.of-today b{font-size:1.6rem;color:#A3222F}.of-note{font-size:.84rem;color:var(--muted);line-height:1.5}
.of-total .of-price{display:none}
.of-band{background:#174638;color:#FBF8F3;padding-block:3rem}.of-band .eyebrow{color:#EEDFB5}.of-band h2{color:#fff}
.of-gal{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.of-gal img{width:100%;height:auto;border-radius:var(--r-md)}
.of-cap{margin:1rem 0 0;font-size:.9rem;color:#DCE7DF;max-width:44rem}
.of-two{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:stretch}
.of-card{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;padding:1.5rem}
.of-card h2{font-size:1.35rem;margin:0 0 .5rem}.of-card p{margin:0 0 .6rem;font-size:.95rem;line-height:1.55}
.of-fit ul{margin:0 0 .8rem;padding-left:1.2rem}.of-fit li{font-size:.95rem;line-height:1.55;margin:.3rem 0}
.of-guar{display:flex;gap:1rem;align-items:flex-start;background:#F7F6F1}
.of-seal{flex:0 0 auto;width:3.25rem;height:3.25rem;border-radius:50%;background:#1E5B43;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 4px #F7F6F1,0 0 0 5.5px #C9A24A}
.of-tl{list-style:none;margin:0 0 .75rem;padding:0;display:grid;gap:.6rem}
.of-tl li{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:.75rem;font-size:.92rem;line-height:1.45}
.of-tl b{color:#A3222F}.of-tl li.is-after{opacity:.5}
.of-ladder{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.of-step{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.of-step:hover{transform:translateY(-2px);box-shadow:0 16px 32px -20px rgba(16,35,30,.4)}
.of-step img{width:100%;height:auto;display:block}
.of-step.is-best{border:2px solid #A3222F}.of-step.is-current{background:#F7F6F1}
.of-flag{position:absolute;top:.6rem;right:.6rem;display:inline-flex;align-items:center;background:#A3222F;color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-radius:var(--r-pill);padding:.32rem .65rem;line-height:1}
.of-step-b{display:grid;gap:.3rem;padding:.9rem 1rem 1rem}
.of-step-n{font-weight:700;font-size:.98rem;line-height:1.3}.of-step-d{font-size:.84rem;color:var(--muted)}
.of-step-p b{font-size:1.25rem}.of-step-p s{color:var(--muted);font-size:.85rem;margin-left:.3rem}
.of-step-l{font-size:.85rem;font-weight:600;color:#1E5B43;text-decoration:underline;text-underline-offset:3px}
.of-free{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:1.25rem;align-items:center;margin-top:1.5rem;border:1px dashed #C9A24A;border-radius:var(--r-md);padding:1.25rem;background:#FFFDF8}
.of-free img{width:100%;height:auto;border-radius:6px;box-shadow:0 8px 20px -10px rgba(0,0,0,.35)}
.of-free h2{font-size:1.3rem;margin:.3rem 0 .35rem}.of-free p{margin:0 0 .75rem;font-size:.94rem}
.of-final{background:#F7F6F1;border-top:1px solid #E2E5DC;padding-block:3rem;text-align:center}
.of-final .of-buy{margin:1.25rem auto 0;justify-items:center}.of-final .of-price,.of-final .of-trust,.of-final .of-cd{justify-content:center}
.of-final .of-notify{text-align:left;width:100%}.of-up{margin:1rem auto 0;font-size:.92rem;color:var(--muted);max-width:34rem}
.of-hub h1{max-width:44rem}.of-hub .of-sub{margin-bottom:.75rem}
@media (min-width:861px){.of-hero{padding-top:8.25rem}}
@media (max-width:980px){.of-ladder{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){.of-top,.of-stack,.of-two{grid-template-columns:1fr}.of-art{order:-1;max-width:34rem}.of-total{position:static}.of-hero{padding-top:3.5rem}.of-top{gap:1.25rem}}
@media (max-width:560px){
 .of-hero{padding:3rem 0 2rem}.of-sec,.of-band,.of-final{padding-block:2.25rem}
 .of-hero h1{font-size:1.85rem}.of-promise{font-size:1.15rem}.of-sub{font-size:.96rem}
 .of-wins li{font-size:.93rem}.of-price b{font-size:1.75rem}
 .of-cta{width:100%}.of-rows li{grid-template-columns:2rem minmax(0,1fr) auto;gap:.6rem;padding:.65rem .8rem;font-size:.9rem}
 .of-ic{width:2rem;height:2rem}.of-gal{grid-template-columns:1fr}.of-ladder{gap:.75rem}
 .of-step-b{padding:.7rem .75rem .8rem}.of-step-n{font-size:.9rem}.of-step-p b{font-size:1.1rem}.of-step-d,.of-step-l{font-size:.8rem}
 .of-tl li{grid-template-columns:5.5rem minmax(0,1fr);font-size:.88rem}.of-card{padding:1.15rem}
 .of-free{grid-template-columns:5rem minmax(0,1fr);padding:1rem}
 .of-notify input{font-size:.92rem}.of-garland{width:170%}
}
.of-head-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1.5rem}
.of-homeband{padding-block:2.75rem}.of-homeband .eyebrow{color:#A3222F}
.of-homelink{margin:1rem 0 0;font-weight:600;font-size:.95rem}.of-homelink a{color:#1E5B43;text-underline-offset:3px}
@media (max-width:560px){.of-homeband{padding-block:2rem}}
.of-page .of-when-sale{display:none}.of-page.of-sale-on .of-when-sale{display:revert}.of-page.of-sale-on .of-when-reg{display:none}
.of-page .of-cd.of-when-sale{display:none}.of-page.of-sale-on .of-cd.of-when-sale,.of-page .of-cd.of-when-reg{display:flex}.of-page.of-sale-on .of-cd.of-when-reg{display:none}
.of-tag-g{background:#EEF2EA;color:#1E5B43}.of-step-p em{font-style:normal;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#A3222F;margin-left:.3rem}
.of-early{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:.75rem 2rem;align-items:center;border-radius:var(--r-md);background:#174638;color:#FBF8F3;padding:1.75rem}
.of-early .eyebrow{color:#EEDFB5}.of-early h2{color:#fff;font-size:clamp(1.35rem,2.4vw,1.75rem);margin:.35rem 0 .45rem}.of-early p{margin:0;font-size:.94rem;line-height:1.55;color:#DCE7DF}
.of-early .capture-form{display:flex;gap:.5rem;margin:0}.of-early .capture-form :is(input[type=email],input.optin-name){flex:1;min-width:0;font-size:.95rem;padding:.75rem 1rem;border-radius:var(--r-pill);border:0}
.of-early .capture-form .btn{background:#C9A24A;border-color:#C9A24A;color:#10231E;padding:.75rem 1.15rem;font-size:.92rem;box-shadow:none}
.of-early-small{grid-column:2;font-size:.8rem!important;color:#B9CCBF!important}.of-early-small a{color:inherit}
.of-early .skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.of-homecd .of-cd{margin:0}
@media (max-width:860px){.of-early{grid-template-columns:1fr}.of-early-small{grid-column:1}}
@media (max-width:560px){.of-early{padding:1.25rem}.of-early .capture-form{flex-direction:column}.of-early .capture-form .btn{justify-content:center}}
.of-page .of-total > p.of-when-sale{display:none}.of-page.of-sale-on .of-total > p.of-when-sale{display:flex}.of-page.of-sale-on .of-total > p.of-when-reg{display:none}
.of-page .of-total .of-price{display:none!important}
/* BF early-access form: field and button are separate pills (no wrapper outline), ~15px text on all widths. */
.of-early .capture-form,.of-early .capture-form.hx-form{display:flex;flex-direction:row;align-items:stretch;gap:.6rem;margin:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none}
.of-early .capture-form:focus-within{outline:none}
.of-early .capture-form :is(input[type=email],input.optin-name),.of-early .capture-form.hx-form :is(input[type=email],input.optin-name){flex:1;min-width:0;min-height:48px;margin:0;padding:0 1.1rem;font-size:15px;line-height:1.2;color:var(--ink);background:#fff;border:1.5px solid #fff;border-radius:var(--r-pill)}
.of-early .capture-form :is(input[type=email],input.optin-name)::placeholder{color:#6B7570}
.of-early .capture-form :is(input[type=email],input.optin-name):focus{border-color:#C9A24A;box-shadow:0 0 0 3px rgba(201,162,74,.35)}
.of-early .capture-form .btn,.of-early .capture-form.hx-form .btn{flex:none;min-height:48px;margin:0;padding:0 1.3rem;font-size:15px;line-height:1.2;justify-content:center;background:#C9A24A;border-color:#C9A24A;color:#10231E;box-shadow:none}
.of-early .capture-form .btn:hover{background:#fff;border-color:#fff;color:#10231E}
@media (max-width:560px){.of-early .capture-form,.of-early .capture-form.hx-form{flex-direction:column;gap:.65rem}.of-early .capture-form .btn,.of-early .capture-form.hx-form .btn{width:100%}.of-early-small{margin-top:.15rem!important}}
/* conv_20261022b: offer sticky bar: short set name never truncates on small phones */
.of-page .sticky-buy .sb-text b{white-space:normal;overflow:visible;text-overflow:clip;font-size:.92rem}

/* compliance_20261023: Black Friday window wrappers (partials/offers.njk bfOnly) take no box of their own. */
div[data-bf-live],span[data-bf-live]{display:contents}
.of-page.of-sale-on .of-total > [data-bf-live] > p.of-when-sale{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.95rem}
/* slot 7 (2026-10-23, Designer): phone type size. Body text >= 15px and FAQ questions/answers no larger than body text (release checklist).
   Scoped to main>.of-page (offer pages + /offers/ hub). The homepage offers band, which also loads this file, nests .of-page deeper, so it is unchanged. Tablet/desktop unchanged. */
@media (max-width:560px){
 main>.of-page :is(.of-trust,.of-cd,.of-note,.of-cap,.of-up,.of-wins li,.of-rows li,.of-tl li){font-size:.9375rem}
 main>.of-page .of-early-small{font-size:.9375rem!important}
 main>.of-page .faq summary{font-size:.9375rem}
}
main>.of-page .faq summary{font-size:.9375rem}
/* CRO-011 slot 12b (art64c7L): Buy above the fold on phones. Wins move below the buy box; art scales to 64% (CRO-approved; uncropped), left-aligned so art, buy box and wins share one left edge;
   .of-top gets back exactly the height the art gives up (aspect 800/640 -> 28.8% of width, + 7px wins margin) so nothing below the hero moves. */
@media (max-width:560px){
 main>.of-page .of-copy{display:flex;flex-direction:column}
 main>.of-page .of-copy>.of-wins{order:1;margin:1.25rem 0 0}
 main>.of-page .of-top>.of-art{max-width:64%;margin-inline:0}
 main>.of-page .of-top{padding-bottom:calc(28.8% + 7px)}
}
/* pt1102 fix (2026-11-03): phone sticky buy bar - same as product pages (p4-fixes 4): while off it is parked fully out of view and
   not painted, so its upward shadow no longer tints the bottom of the first screen and its Buy link can't take focus. Transform only: no layout shift. */
.sticky-buy{transition:transform .25s var(--ease),visibility 0s linear .25s}
.sticky-buy:not(.is-on){transform:translateY(calc(100% + 48px));visibility:hidden}
.sticky-buy.is-on{visibility:visible;transition:transform .25s var(--ease),visibility 0s}
