/* B · The Handler's Film for every inner page (31/10/2026, preview behind RN_INNER=b).
   Same markup and copy as the D · Drive inner pages; loaded after site.css + drive-inner.css. Every rule sits under html.hb.
   Language of the home (assets/homeb/style.css): bone on black, hi-vis orange, Inter Tight heavy uppercase titles with the second
   voice in orange light, JetBrains Mono for every label, film grain + vignette over the frame, photos printed on one warm
   monochrome stock that develops to colour on hover, letterbox mattes that open on the title card. CSS only. */
@font-face{font-family:"Inter Tight";src:url(/assets/fonts/inter-tight-var.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(/assets/fonts/jbmono-var.woff2) format("woff2");font-weight:100 800;font-display:swap}
html.hb{
  --hb-bg:#0B0B0B;--hb-bg2:#121110;--hb-card:#181614;
  --hb-ink:#F4F2EE;--hb-body:#D9D4CC;--hb-mute:#ABA49A;--hb-dim:#8C857B;
  --hb-acc:#FF6A00;--hb-acc2:#FF8A3D;
  --hb-line:rgba(244,242,238,.14);--hb-line2:rgba(244,242,238,.26);
  --hb-fd:"Inter Tight",system-ui,sans-serif;--hb-mono:"JetBrains Mono",ui-monospace,monospace;
  --hb-ez:cubic-bezier(.2,.7,0,1);--hb-cut:cubic-bezier(.76,0,.18,1);
  --hb-stock:grayscale(1) sepia(.42) saturate(1.5) hue-rotate(-10deg) brightness(.84) contrast(1.08);
  /* the site tokens, re-cut to the film palette */
  --ink:#000;--ink-2:#050505;--ink-3:#181614;
  --paper:#0B0B0B;--stone:#121110;--line:rgba(244,242,238,.14);--line-dark:rgba(244,242,238,.2);
  --text:#F4F2EE;--muted:#ABA49A;--muted-dark:#ABA49A;
  --gold:#FF6A00;--gold-ink:#FF8A3D;--gold-soft:#FF8A3D;--hair:#FF6A00;--cream:#F4F2EE;
  --sans:"Inter Tight",system-ui,sans-serif;--serif:"Inter Tight",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;
  --wrap:1320px;--gut:clamp(20px,4.4vw,64px);
  color-scheme:dark;
}
.hb body{background:var(--hb-bg);color:var(--hb-ink);font:400 17px/1.62 var(--hb-fd);overflow-x:clip}
.hb ::selection{background:var(--hb-acc);color:#0B0B0B}
.hb :focus-visible{outline:2px solid var(--hb-acc);outline-offset:3px}
.hb .skip{background:var(--hb-acc);color:#0B0B0B;font:600 14px var(--hb-fd)}

/* ---------- film layer: grain + vignette over the whole frame (CSS only, no markup) ---------- */
.hb body::before{content:"";position:fixed;inset:-60px;z-index:150;pointer-events:none;opacity:.11;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 1.6 -.3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:hb-grain .9s steps(6) infinite}
.hb body::after{content:"";position:fixed;inset:0;z-index:149;pointer-events:none;background:radial-gradient(120% 90% at 50% 45%,transparent 58%,rgba(0,0,0,.42) 100%)}
@keyframes hb-grain{0%{transform:translate(0,0)}17%{transform:translate(-22px,14px)}33%{transform:translate(18px,-26px)}50%{transform:translate(-30px,-8px)}67%{transform:translate(26px,22px)}83%{transform:translate(-12px,30px)}100%{transform:translate(0,0)}}

/* ---------- type ---------- */
.hb h1,.hb h2,.hb h3,.hb h4{font-family:var(--hb-fd);font-style:normal;color:inherit;overflow-wrap:break-word}
.hb h1,.hb h2{font-weight:800}
.hb h3,.hb h4{font-weight:700;letter-spacing:-.03em;line-height:1.1}
.hb .display{font:800 clamp(36px,4.6vw,76px)/.92 var(--hb-fd);letter-spacing:-.05em;text-transform:uppercase;text-wrap:balance}
.hb h1.display{font-size:clamp(46px,8.2vw,148px);line-height:.88;letter-spacing:-.055em}
.hb h1 em,.hb h2 em,.hb .display em{font-family:var(--hb-fd);font-style:normal;font-weight:300;font-size:1em;color:var(--hb-acc);letter-spacing:-.045em}
.hb h3 em,.hb h4 em{font-family:var(--hb-fd);font-style:oblique 9deg;font-weight:inherit;color:inherit;font-size:1em}
.hb em,.hb i{font-style:oblique 9deg}
.hb .eyebrow{font:500 11px/1.5 var(--hb-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--hb-acc);margin:0 0 22px}
/* the chapter slate of the home: label, then a hairline */
.hb .eyebrow::after{content:"";display:inline-block;width:clamp(40px,6vw,96px);height:1px;margin-left:16px;vertical-align:middle;background:var(--hb-line2)}
.hb .center .eyebrow::before,.hb .center.eyebrow::before{content:"";display:inline-block;width:clamp(40px,6vw,96px);height:1px;margin-right:16px;vertical-align:middle;background:var(--hb-line2)}
.hb .ftr .eyebrow::after,.hb .explore .eyebrow::after{display:none}
.hb .lead{font:400 clamp(19px,1.6vw,23px)/1.45 var(--hb-fd);font-style:normal;color:var(--hb-body);max-width:40ch}
.hb .prose,.hb .post__body{color:var(--hb-body)}
.hb .prose strong,.hb .post__body strong{color:var(--hb-ink)}
.hb .prose a:not(.btn):not(.tlink):not(.chip),.hb .post__body a:not(.btn):not(.tlink):not(.chip),.hb .faq__a a,.hb .media__txt a:not(.btn):not(.tlink),
.hb .cform__note a,.hb .contact__mail a,.hb .doc a{color:var(--hb-ink);text-decoration:underline;text-decoration-color:var(--hb-acc);text-decoration-thickness:1px;text-underline-offset:3px;transition:color .3s var(--hb-ez)}
.hb .prose a:not(.btn):not(.tlink):not(.chip):hover,.hb .post__body a:not(.btn):not(.tlink):not(.chip):hover,.hb .faq__a a:hover,.hb .media__txt a:not(.btn):not(.tlink):hover,
.hb .cform__note a:hover,.hb .contact__mail a:hover,.hb .doc a:hover{color:var(--hb-acc)}
.hb .list li::marker,.hb .post__body li::marker{color:var(--hb-acc)}
.hb .muted{color:var(--hb-mute)}

/* ---------- buttons + text links ---------- */
.hb .btn{clip-path:none;border-radius:0;min-height:50px;padding:14px 24px;gap:12px;font:600 12px/1.3 var(--hb-mono);letter-spacing:.14em;text-transform:uppercase;transition:background .35s var(--hb-ez),color .35s var(--hb-ez),border-color .35s var(--hb-ez)}
.hb .btn--sm{min-height:44px;padding:10px 18px}
.hb .btn--gold,.hb .sec--ink .btn--gold,.hb .sec--dark .btn--gold,.hb .mcta .btn--gold,.hb .ftr .btn--gold,.hb .sp-plan--best .btn--gold{background:var(--hb-acc);color:#0B0B0B;border-color:var(--hb-acc)}
.hb .btn--gold:hover,.hb .sec--ink .btn--gold:hover,.hb .ftr .btn--gold:hover,.hb .sp-plan--best .btn--gold:hover{background:var(--hb-ink);border-color:var(--hb-ink);color:#0B0B0B}
.hb .btn--ghost{background:transparent;color:var(--hb-ink);border-color:var(--hb-line2)}
.hb .btn--ghost:hover{background:var(--hb-acc);border-color:var(--hb-acc);color:#0B0B0B}
.hb .btn:hover .ic,.hb .tlink:hover .ic{transform:translateX(5px)}
.hb .ic{transition:transform .5s var(--hb-ez)}
.hb .tlink,.hb .sec--ink .tlink{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 0;font:500 12px/1.3 var(--hb-mono);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--hb-ink);border-bottom:1px solid var(--hb-acc);transition:color .3s var(--hb-ez)}
.hb .tlink:hover{color:var(--hb-acc)}
.hb .chip{border-radius:0;border:1px solid var(--hb-line2);min-height:44px;padding:10px 16px;font:500 11px/1.2 var(--hb-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--hb-ink);background:transparent;transition:border-color .3s,background .3s,color .3s}
.hb .chip--sm{min-height:34px;padding:6px 12px;font-size:10.5px}
.hb .chip:hover{border-color:var(--hb-acc);color:var(--hb-acc)}
.hb .chip[aria-current],.hb .explore .chip[aria-current]{background:var(--hb-acc);border-color:var(--hb-acc);color:#0B0B0B}

/* ---------- header ---------- */
.hb .hdr,.hb.hdr-dark .hdr,.hb .hdr-dark .hdr,.hb .hdr-light .hdr{background:transparent;color:var(--hb-ink);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transition:background .5s var(--hb-ez),box-shadow .5s var(--hb-ez)}
.hb .hdr.is-solid,.hb .hdr-dark .hdr.is-solid,.hb .nav-open .hdr,.hb.nav-open .hdr{background:rgba(6,6,6,.88);box-shadow:0 1px 0 var(--hb-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.hb .hdr__in{max-width:none;padding:0 var(--gut)}
.hb .brand__logo{filter:none;height:auto;width:clamp(132px,12vw,172px)}
.hb .nav{gap:clamp(18px,2.2vw,34px)}
.hb .nav ul{gap:clamp(16px,1.9vw,30px)}
.hb .nav a:not(.btn){font:500 11.5px/1 var(--hb-mono);letter-spacing:.14em;text-transform:uppercase;opacity:1;color:var(--hb-ink);padding:8px 0;background:linear-gradient(var(--hb-acc),var(--hb-acc)) 0 100%/0 1px no-repeat;transition:background-size .5s var(--hb-ez),color .3s}
.hb .nav a:not(.btn):hover,.hb .nav a[aria-current]{background-size:100% 1px}
.hb .nav a[aria-current]::after{display:none}
.hb .nav__cta{min-height:44px;padding:0 18px}
@media (max-width:1079px){
  .hb .burger{border:1px solid var(--hb-line2);color:var(--hb-ink)}
  .hb .nav{background:#050505;color:var(--hb-ink);padding:24px var(--gut) 40px;gap:0}
  .hb .nav li{border-bottom:1px solid var(--hb-line)}
  .hb .nav a:not(.btn){display:block;font:800 clamp(30px,8vw,48px)/1.1 var(--hb-fd);letter-spacing:-.035em;text-transform:none;padding:14px 0;background:none}
  .hb .nav a[aria-current]{color:var(--hb-acc)}
  .hb .nav__cta{margin-top:32px;min-height:56px;justify-content:center}
}

/* ---------- sections: one grid (1320), the home's rhythm ---------- */
.hb .sec{padding:clamp(84px,9.5vw,150px) 0}
.hb .sec--tight{padding:clamp(48px,6vw,88px) 0}
.hb .sec--top0{padding-top:0}
.hb .sec--paper{background:var(--hb-bg)}
.hb .sec--stone{background:var(--hb-bg2)}
.hb .sec--ink,.hb .sec--dark{background:#000;color:var(--hb-ink)}
.hb .sec--ink .lead,.hb .sec--dark .lead{color:var(--hb-mute)}
/* two text chapters in a row on the same stock: a hairline cut instead of 300px of black */
.hb .sec{position:relative}
.hb .sec--paper:not(.sec--tight):has(+.sec--paper:not(.sec--tight):not(.sec--top0)){padding-bottom:clamp(64px,7vw,112px)}
.hb .sec--paper+.sec--paper:not(.sec--tight):not(.sec--top0){padding-top:clamp(64px,7vw,112px)}
.hb .sec--paper+.sec--paper:not(.sec--tight):not(.sec--top0)::before{content:"";position:absolute;top:0;height:1px;background:var(--hb-line);left:max(var(--gut),calc((100% - var(--wrap)) / 2));right:max(var(--gut),calc((100% - var(--wrap)) / 2))}
.hb .sec__head{margin-bottom:clamp(40px,5vw,72px)}
.hb .row+.row{border-color:var(--hb-line)}
@media (min-width:960px){.hb .row{grid-template-columns:5fr 7fr;gap:0 clamp(48px,6vw,96px)}.hb .row__h .display{font-size:clamp(34px,4vw,62px)}.hb .row__h{top:calc(var(--hdr-h) + 40px)}}
.hb .row__b{max-width:62ch}
.hb .narrow{max-width:820px}

/* ---------- inner hero = the title card: mattes open on load ---------- */
.hb .ihero,.hb .post__hero,.hb .sp-hero,.hb .tc-hero{position:relative;isolation:isolate;background:var(--hb-bg);border-bottom:1px solid var(--hb-line)}
.hb .ihero{padding:clamp(56px,8vw,128px) 0 clamp(64px,8vw,120px)}
.hb .ihero::before,.hb .ihero::after,.hb .post__hero::before,.hb .post__hero::after,.hb .sp-hero::before,.hb .sp-hero::after,
.hb .tc-hero::before,.hb .tc-hero::after,.hb .lp-hero::before,.hb .lp-hero::after{content:"";position:absolute;left:0;right:0;z-index:5;height:50%;background:#000;pointer-events:none;animation:hb-matte 1.25s var(--hb-cut) .1s both}
.hb .ihero::before,.hb .post__hero::before,.hb .sp-hero::before,.hb .tc-hero::before,.hb .lp-hero::before{top:0;transform-origin:50% 0;box-shadow:0 1px 0 rgba(255,106,0,.7)}
.hb .ihero::after,.hb .post__hero::after,.hb .sp-hero::after,.hb .tc-hero::after,.hb .lp-hero::after{bottom:0;transform-origin:50% 100%;box-shadow:0 -1px 0 rgba(255,106,0,.7)}
@keyframes hb-matte{0%{transform:scaleY(1)}99%{box-shadow:none}100%{transform:scaleY(0);box-shadow:none}}
.hb .ihero__txt h1{margin-bottom:.32em}
.hb .ihero__txt .lead{margin-top:0}
@media (min-width:960px){.hb .ihero--img .ihero__grid{grid-template-columns:1.3fr .7fr;gap:clamp(48px,6vw,96px)}}

/* ---------- photos: one film stock, colour develops on hover ---------- */
.hb .pic{background:var(--hb-card)}
.hb .pic img,.hb .gal img,.hb .tc-photo img,.hb .tc-hero__ph img,.hb .hero img,.hb .media__img img,.hb .pcard__img img{filter:var(--hb-stock);transition:filter .9s var(--hb-ez),transform 1.4s var(--hb-ez)}
.hb .pic:hover img,.hb a:hover .pic img,.hb .gal__i:hover img,.hb .tc-photo figure:hover img{filter:none}
/* not photos: covers, screenshots, logos, seals stay as printed */
.hb .rnb__cv img,.hb .bk3 img,.hb .bkpj img,.hb .bko img,.hb .bkx img,.hb .sp-shots img,.hb .smsfig img,.hb .tc-brands img,.hb .tc-cert img,.hb .lp-dcp{filter:none}
.hb .card__img .pic{background:transparent}
/* the frame around a standing portrait (the home's hero portrait) */
.hb .ihero__img .pic,.hb .media__img .pic,.hb .author-band__img .pic{outline:1px solid var(--hb-line2);outline-offset:7px}
.hb .ihero__img,.hb .media__img,.hb .author-band__img{padding:8px}
.hb .gal{gap:24px}
.hb .fig figcaption,.hb figcaption{font:400 12.5px/1.55 var(--hb-mono);letter-spacing:.02em;color:var(--hb-mute);margin-top:12px}
.hb .sig{font:300 clamp(30px,3vw,44px)/1 var(--hb-fd);letter-spacing:-.04em;color:var(--hb-acc);font-style:oblique 10deg}

/* ---------- video facade: the home's frame ---------- */
.hb .yt{background:#000}
.hb .yt__btn img{opacity:1;filter:var(--hb-stock) brightness(.85);transition:filter .8s var(--hb-ez),transform 1.4s var(--hb-ez)}
.hb .yt__btn:hover img{filter:none;transform:scale(1.03)}
.hb .yt__play{left:24px;top:auto;bottom:22px;width:72px;height:72px;margin:0;background:var(--hb-acc);box-shadow:none;transition:transform .5s var(--hb-ez)}
.hb .yt__play svg{width:28px;height:28px;fill:#0B0B0B}
.hb .sec--ink .yt,.hb .post__body .yt{outline:1px solid var(--hb-line2);outline-offset:9px}

/* ---------- numbered steps: the home's three pillars ---------- */
.hb .steps{background:var(--hb-line);border-top:1px solid var(--hb-line2)}
.hb .step{padding:26px clamp(20px,2.4vw,32px) 34px}
.hb .step__n,.hb .sec--ink .step__n{font:500 12px/1 var(--hb-mono);font-style:normal;letter-spacing:.14em;color:var(--hb-acc);margin-bottom:clamp(28px,3vw,44px)}
.hb .step h3,.hb .sp-step-t{font:700 clamp(22px,2.2vw,32px)/1.05 var(--hb-fd);letter-spacing:-.035em;margin:0 0 .5em}
.hb .step p{color:var(--hb-body)}
.hb .sec--ink .step p{color:var(--hb-mute)}

/* ---------- FAQ ---------- */
.hb .faq__list{border-top:1px solid var(--hb-line2)}
.hb .faq__i{border-bottom:1px solid var(--hb-line)}
.hb .faq__i summary{font:700 clamp(19px,1.8vw,24px)/1.2 var(--hb-fd);letter-spacing:-.025em;padding:26px 0;transition:color .3s}
.hb .faq__i summary:hover{color:var(--hb-acc)}
.hb .faq__ic{border-radius:0;border-color:var(--hb-line2)}
.hb .faq__ic::before,.hb .faq__ic::after{background:var(--hb-ink)}
.hb .faq__i[open] .faq__ic{border-color:var(--hb-acc)}
.hb .faq__i[open] .faq__ic::before,.hb .faq__i[open] .faq__ic::after{background:var(--hb-acc)}
.hb .faq__a{color:var(--hb-body)}

/* ---------- quote: the testimonial frame of the home ---------- */
.hb .quote{background:#000;text-align:left}
.hb .quote .narrow{max-width:calc(var(--wrap) + var(--gut) * 2);margin:0 auto}
.hb .quote__mark{font:800 150px/.62 var(--hb-fd);color:var(--hb-acc);margin-bottom:18px;letter-spacing:-.06em}
.hb .quote blockquote{font:700 clamp(26px,3vw,46px)/1.12 var(--hb-fd);font-style:normal;letter-spacing:-.035em;max-width:28ch;text-wrap:pretty}
.hb .quote__by{font:500 12px var(--hb-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--hb-acc);margin-top:34px}
.hb .pull,.hb .post__body blockquote{font:600 clamp(21px,2vw,27px)/1.32 var(--hb-fd);font-style:normal;letter-spacing:-.02em;color:var(--hb-ink);border-left:2px solid var(--hb-acc);padding-left:24px}

/* ---------- CTA band = the "talk" chapter: orange rule, black ---------- */
.hb .cta-band{background:#000;border-top:6px solid var(--hb-acc)}
.hb .cta-band p{color:var(--hb-mute)}
.hb .cta-band .eyebrow{color:var(--hb-acc)}
.hb .cta-band .eyebrow,.hb .center>.eyebrow{max-width:none;display:flex;justify-content:center;align-items:center;gap:16px}
.hb .cta-band .eyebrow::before,.hb .cta-band .eyebrow::after,.hb .center>.eyebrow::before,.hb .center>.eyebrow::after{margin:0}
.hb .cta-band .display{margin-bottom:.4em}

/* ---------- media rows, author band ---------- */
@media (min-width:960px){.hb .media{gap:clamp(56px,7vw,112px)}}
.hb .media__txt>p:not(.eyebrow){color:var(--hb-body)}
.hb .author-band p:not(.eyebrow){color:var(--hb-body)}

/* ---------- journal: prints on the contact sheet ---------- */
.hb .card,.hb .sec--paper .card,.hb .sec--stone .card{background:transparent;border-top:1px solid var(--hb-line2);padding-top:18px}
.hb .card__link{transition:none}
.hb .card__link:hover{transform:none}
.hb .card__img{background:#000}
.hb .card__img img{transition:filter .9s var(--hb-ez),transform 1.4s var(--hb-ez)}
.hb .card__link:hover .card__img img{transform:scale(1.04)}
.hb .card__body{padding:22px 0 8px}
.hb .card__meta{font:500 11px/1.5 var(--hb-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--hb-acc);margin-bottom:12px}
.hb .card__h{font:800 clamp(21px,1.8vw,26px)/1.06 var(--hb-fd);letter-spacing:-.035em;color:var(--hb-ink);transition:color .4s var(--hb-ez)}
.hb .card__link:hover .card__h{color:var(--hb-acc);text-decoration:none}
.hb .card__ex{color:var(--hb-mute);font-size:15.5px}
.hb .card__body .tlink{margin-top:auto}
@media (min-width:1080px){.hb .cards{gap:56px 24px}}
@media (min-width:960px){.hb .card--big .card__body{padding:clamp(24px,3vw,44px) 0 clamp(24px,3vw,44px) clamp(32px,4vw,64px)}.hb .card--big .card__h{font-size:clamp(32px,3.4vw,54px);line-height:.94;letter-spacing:-.05em;text-transform:uppercase}}
.hb .card--big{border-top:2px solid var(--hb-acc)}
.hb .ihero--journal .chips{margin-top:44px}

/* ---------- article ---------- */
.hb .post__hero{padding:clamp(48px,7vw,104px) 0 0}
.hb .post__head{max-width:1100px}
.hb .crumbs a{font:500 11px/1.5 var(--hb-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--hb-acc)}
.hb .crumbs a::after{content:"";display:inline-block;width:clamp(40px,6vw,96px);height:1px;margin-left:16px;vertical-align:middle;background:var(--hb-line2)}
.hb .post__h,.hb h1.post__h{font-size:clamp(38px,5.6vw,92px);line-height:.9}
.hb .post__meta{font:500 11.5px/1.6 var(--hb-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--hb-mute);margin-top:24px}
.hb .post__cover{margin-top:clamp(36px,5vw,64px)}
.hb .post:not(:has(.post__cover)) .post__hero{padding-bottom:clamp(48px,6vw,80px)}
.hb .post__body{font-size:clamp(17px,1.3vw,19px);line-height:1.75}
.hb .post__body>:first-child{margin-top:0}
.hb .post__body h2{font:800 clamp(28px,3vw,42px)/.98 var(--hb-fd);letter-spacing:-.045em;text-transform:uppercase;color:var(--hb-ink);margin:2em 0 .65em;text-wrap:balance}
.hb .post__body h3{font:700 clamp(20px,1.8vw,25px)/1.15 var(--hb-fd);letter-spacing:-.03em;color:var(--hb-ink);margin:1.7em 0 .5em}
.hb .post__body>p:first-of-type::first-letter{float:left;font:800 4.1em/.8 var(--hb-fd);margin:.06em .1em 0 0;color:var(--hb-acc)}
.hb .table-wrap td,.hb .table-wrap th{border-color:var(--hb-line2)}
.hb .table-wrap th{font:500 11px/1.4 var(--hb-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--hb-acc)}
.hb .author-box{background:var(--hb-card);border-top:1px solid var(--hb-acc)}
.hb .author-box__name{font:800 22px/1.1 var(--hb-fd)!important;letter-spacing:-.03em}
.hb .doc h2{font:800 clamp(24px,2.4vw,32px)/1 var(--hb-fd);letter-spacing:-.04em;text-transform:uppercase}

/* ---------- forms ---------- */
.hb .form-card{background:#0B0B0B;border:1px solid var(--hb-line2);border-top:1px solid var(--hb-line2);outline:0;box-shadow:none;padding:clamp(22px,3vw,44px)}
.hb .nf__f label,.hb .field label{font:500 11px/1.4 var(--hb-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--hb-mute)}
.hb .nf__f input,.hb .nf__f textarea,.hb .nf__f select,.hb .field input,.hb .field textarea{background:transparent;color:var(--hb-ink);border:0;border-bottom:1px solid var(--hb-line2);border-radius:0;padding:10px 0;min-height:44px;font:400 17px/1.4 var(--hb-fd);transition:border-color .3s var(--hb-ez)}
.hb .nf__f textarea{min-height:120px;resize:vertical}
.hb .nf__f input:focus,.hb .nf__f textarea:focus,.hb .field input:focus,.hb .field textarea:focus{outline:none;border-color:var(--hb-acc)}
.hb .nf__f input:focus-visible,.hb .nf__f textarea:focus-visible{outline:none;box-shadow:0 1px 0 var(--hb-acc)}
.hb .nf__f.is-err input,.hb .nf__f.is-err textarea{border-color:#FF7A5C}
.hb .nf__err{font:500 12px/1.4 var(--hb-mono);color:#FF9A7A}
.hb .nf__c{color:var(--hb-mute);font-size:14px}
.hb .nf__c input{accent-color:var(--hb-acc)}
.hb .cform__note,.hb .nf__sms{color:var(--hb-mute)}
.hb .nf__ok-k{font:500 11px var(--hb-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--hb-acc)}
.hb .nf__ok-h{font:800 clamp(30px,3vw,44px)/1 var(--hb-fd);letter-spacing:-.04em}
.hb .nf__again{font:500 12px var(--hb-mono);letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--hb-acc)}
.hb .follow{border-top-color:var(--hb-line)}

/* ---------- explore band + books block ---------- */
.hb .explore{background:#000;border-top:1px solid var(--hb-line);border-bottom:0}
.hb .explore .eyebrow{color:var(--hb-acc)}
.hb .explore .chip{border-color:var(--hb-line2);color:var(--hb-ink)}
.hb .rnb{background:var(--hb-bg);border-top:1px solid var(--hb-line);padding:clamp(84px,9.5vw,150px) var(--gut) clamp(64px,7vw,110px)}
.hb .rnb__in,.hb .rnb--one .rnb__in{max-width:var(--wrap);margin:0 auto;text-align:left}
.hb .rnb__k{font:500 11px/1.5 var(--hb-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--hb-acc);opacity:1;margin:0 0 18px}
.hb .rnb__h{font:800 clamp(40px,5.6vw,92px)/.9 var(--hb-fd);letter-spacing:-.05em;text-transform:uppercase;margin:0 0 20px}
.hb .rnb__lead{color:var(--hb-mute);opacity:1;font-size:19px;max-width:44ch;margin:0 0 clamp(48px,6vw,80px)}
.hb .rnb__grid{gap:56px}
@media (min-width:768px){.hb .rnb__grid{grid-template-columns:1fr 1fr;gap:24px}}
.hb .rnb__b,.hb .rnb--one .rnb__b{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:clamp(20px,3vw,40px);align-items:start;border-top:1px solid var(--hb-line2);padding-top:24px}
.hb .rnb--one .rnb__b{max-width:760px}
.hb .rnb__cv,.hb .rnb--one .rnb__cv{width:auto;max-width:none;flex:none;margin:0}
.hb .rnb__cv img{border-radius:0;box-shadow:0 24px 50px -20px rgba(0,0,0,.9);transition:transform .8s var(--hb-ez)}
.hb .rnb__cv:hover img{transform:translateY(-6px) rotate(-1deg)}
.hb .rnb__b>div,.hb .rnb--one .rnb__b>div{display:flex;flex-direction:column;align-items:flex-start}
.hb .rnb__b .btn{margin-top:0;width:auto}
.hb .rnb__t{font:800 clamp(22px,2vw,30px)/1.05 var(--hb-fd);letter-spacing:-.035em;margin:0 0 10px}
.hb .rnb__t a:hover{color:var(--hb-acc);text-decoration:none}
.hb .rnb__s{font-style:oblique 9deg;color:var(--hb-body);opacity:1}
.hb .rnb__d{color:var(--hb-mute);opacity:1;font-size:15.5px;margin:0 0 20px}
.hb .rnb__hc{font:500 11px var(--hb-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--hb-mute);opacity:1;margin-top:12px}
@media (max-width:520px){.hb .rnb__b,.hb .rnb--one .rnb__b{grid-template-columns:1fr}.hb .rnb__cv,.hb .rnb--one .rnb__cv{width:58%}.hb .rnb--one .rnb__in{text-align:left}.hb .rnb--one .rnb__b>div{align-items:flex-start}}

/* ---------- footer: end credits ---------- */
.hb .ftr{background:#000;color:var(--hb-ink);border-top:1px solid var(--hb-line);padding:clamp(70px,8vw,120px) 0 calc(34px + env(safe-area-inset-bottom,0px))}
.hb .ftr__logo{width:190px;height:auto}
.hb .ftr__tag{font:400 14.5px/1.6 var(--hb-fd);font-style:normal;color:var(--hb-mute);margin:14px 0 0}
.hb .ftr__tag a{color:var(--hb-ink)}
.hb .ftr__brand .btn{margin-top:30px}
.hb .ftr .eyebrow{font:500 11px/1.5 var(--hb-mono);letter-spacing:.2em;color:var(--hb-acc);margin:0 0 16px}
.hb .ftr li a{color:var(--hb-body);font-size:15px;padding:4.5px 0;transition:color .3s}
.hb .ftr li a:hover{color:var(--hb-acc)}
.hb .ftr__base{font:500 11px/1.6 var(--hb-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--hb-mute);border-top:1px solid var(--hb-line)}
.hb .ftr__base a,.hb .ftr__base .ck-set{color:var(--hb-mute);text-decoration:none;font:inherit;letter-spacing:inherit;text-transform:inherit}
.hb .ftr__base a:hover,.hb .ftr__base .ck-set:hover{color:var(--hb-ink)}
@media (min-width:1080px){.hb .ftr__top{grid-template-columns:1fr 2.4fr}}

/* mobile sticky CTA */
.hb .mcta{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0 12px calc(12px + env(safe-area-inset-bottom,0px));transform:translateY(140%);transition:transform .6s var(--hb-ez)}
.hb .mcta.is-on{transform:none}
.hb .mcta .btn{box-shadow:0 12px 30px rgba(0,0,0,.5)}

/* ================= DCP sales page ================= */
.hb .sp-hero{padding:clamp(40px,6vw,96px) 0 clamp(56px,7vw,104px)}
.hb .sp-kicker,.hb .sp-weeks,.hb .sp-plan__k{font:500 11px/1.5 var(--hb-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--hb-acc)}
.hb .sp-hero__h{font:800 clamp(42px,6.2vw,104px)/.88 var(--hb-fd);letter-spacing:-.055em;text-transform:uppercase}
.hb .sp-hero__h em{font-weight:300;color:var(--hb-acc)}
.hb .sp-hero__name{font-weight:800;letter-spacing:-.04em;line-height:1}
.hb .sp-hero__lead{color:var(--hb-body)}
.hb .sp-price{border-color:var(--hb-line2)}
.hb .sp-price__main strong,.hb .sp-plan__p strong{font-family:var(--hb-fd);font-weight:800;letter-spacing:-.05em;color:var(--hb-ink)}
.hb .sp-guar{color:var(--hb-ink)}
.hb .sp-guar .sp-ic,.hb .sp-plan li .sp-ic,.hb .sp-plan__g .sp-ic{color:var(--hb-acc)}
.hb .sp-breeds{font-style:oblique 9deg;color:var(--hb-mute);border-color:var(--hb-line)}
.hb .sp-video{background:#000;box-shadow:none;outline:1px solid var(--hb-acc);outline-offset:9px}
.hb .sp-video__btn{background:var(--hb-acc);box-shadow:none}
.hb .sp-video__btn svg{fill:#0B0B0B}
.hb .sp-video__lbl{font:500 11px/1 var(--hb-mono);letter-spacing:.2em}
.hb .sp-big{font:700 clamp(23px,2.3vw,32px)/1.3 var(--hb-fd);letter-spacing:-.025em;color:var(--hb-ink)}
.hb .sp-statement{font:800 clamp(32px,4.4vw,72px)/.95 var(--hb-fd);letter-spacing:-.05em;text-transform:uppercase;max-width:20ch}
.hb .sp-statement em{font-weight:300;font-style:normal;color:var(--hb-acc)}
.hb .sp-path{border-color:var(--hb-line2)}
.hb .sp-path__line{font:700 clamp(20px,2.2vw,30px)/1.2 var(--hb-fd);letter-spacing:-.03em}
.hb .sp-feats,.hb .sp-feats li{border-color:var(--hb-line)}
.hb .sp-feats h3{font:700 22px/1.15 var(--hb-fd);letter-spacing:-.03em}
.hb .sp-feats p,.hb .sp-plans__note,.hb .sp-fit__note,.hb .sp-plan__g{color:var(--hb-mute)}
.hb .sp-app__vid video,.hb .appvid__media video{box-shadow:none}
.hb .sp-shots img{box-shadow:0 18px 44px rgba(0,0,0,.6)}
.hb .sp-fit__col{background:var(--hb-card);border-top:2px solid var(--hb-acc)}
.hb .sp-fit__col--no{background:transparent;border:1px solid var(--hb-line);border-top:2px solid var(--hb-line2)}
.hb .sp-fit__col--yes .sp-ic{color:var(--hb-acc)}
.hb .sp-plan{background:var(--hb-card);border:1px solid var(--hb-line);box-shadow:none}
.hb .sp-plan--best{background:#000;color:var(--hb-ink);border:1px solid var(--hb-acc);outline:0}
.hb .sp-plan__badge{background:var(--hb-acc);color:#0B0B0B;font:600 10.5px/1 var(--hb-mono);letter-spacing:.2em}
.hb .sp-plan__p,.hb .sp-plan--best .sp-plan__p{border-color:var(--hb-line2)}
.hb .sp-plan--best .sp-plan__p span{color:var(--hb-acc2)}
.hb .sp-elite{border-color:var(--hb-line2)}
.hb .sp-elite__t{font:700 clamp(20px,2vw,26px)/1.3 var(--hb-fd);letter-spacing:-.025em}
.hb .sp-seal{border-color:var(--hb-acc);color:var(--hb-acc);border-radius:0}

/* ---------- reduced motion: the still film ---------- */
@media (prefers-reduced-motion:reduce){
  .hb body::before{animation:none}
  .hb .ihero::before,.hb .ihero::after,.hb .post__hero::before,.hb .post__hero::after,.hb .sp-hero::before,.hb .sp-hero::after,
  .hb .tc-hero::before,.hb .tc-hero::after,.hb .lp-hero::before,.hb .lp-hero::after{display:none}
}

/* ---------- cookie card: same buttons, same order, film colours ---------- */
.hb .ck{background:rgba(0,0,0,.94);color:var(--hb-ink);border-top:1px solid var(--hb-line2);font:400 13px/1.45 var(--hb-fd)}
.hb .ck a{color:var(--hb-ink);text-decoration-color:var(--hb-acc)}
.hb .ck__b button{border-radius:0;font:600 10.5px/1 var(--hb-mono);letter-spacing:.14em}
.hb .ck__y{background:var(--hb-ink);color:#0B0B0B;border-color:var(--hb-ink)}
.hb .ck__y:hover{background:var(--hb-acc);border-color:var(--hb-acc)}
.hb .ck__n{color:var(--hb-ink)}

/* ================= book pages (/books/...) ================= */
.hb .bkh{background:var(--hb-bg)}
.hb .bkh h1{font:800 clamp(52px,8vw,140px)/.86 var(--hb-fd);letter-spacing:-.055em;text-transform:uppercase}
.hb .bkh h1 em{font-weight:300;color:var(--hb-acc);letter-spacing:-.03em;text-transform:none}
.hb .bkh__sub{font:400 clamp(19px,1.8vw,24px)/1.4 var(--hb-fd);font-style:normal;color:var(--hb-body)}
.hb .bkh__price{font:800 clamp(38px,3.6vw,52px)/1 var(--hb-fd);letter-spacing:-.05em}
.hb .bkh__price small{font:500 11px/1.4 var(--hb-mono);letter-spacing:.16em;color:var(--hb-acc)}
.hb .bkh .eyebrow{color:var(--hb-acc)}
.hb .bkp h2,.hb .bk2 h2,.hb .bkf h2,.hb .bkau h2,.hb .bko h2{font-size:clamp(32px,3.8vw,58px);line-height:.92}
.hb .bkp h2{font-size:clamp(30px,3.2vw,48px);line-height:.95}
.hb .bkau__ph img{filter:var(--hb-stock);transition:filter .9s var(--hb-ez)}
.hb .bkau__ph>div:hover img{filter:none}
.hb .bkc li::before{font:500 12px/1.6 var(--hb-mono);color:var(--hb-acc)}
.hb .bkc li{border-color:var(--hb-line)}
.hb .bkst,.hb .bkpj a{border-color:var(--hb-line2)}
.hb .bkst b{font-weight:800;letter-spacing:-.05em}
.hb .bkst span,.hb .bkpj span{color:var(--hb-mute)}
.hb .bkpj em{font:500 11px var(--hb-mono);letter-spacing:.16em;color:var(--hb-acc)}
.hb .bkpj a:hover{border-color:var(--hb-acc);transform:none}
.hb .bkfx b{font:700 21px/1.2 var(--hb-fd);letter-spacing:-.02em;color:var(--hb-acc2)}
.hb .bko{border-color:var(--hb-acc)}
.hb .bks__t{font-weight:800;letter-spacing:-.035em}
.hb .bks__s{font:400 19px/1.4 var(--hb-fd);font-style:oblique 9deg;color:var(--hb-mute)}
.hb .bk__q h3{font-weight:700;letter-spacing:-.025em}

/* ---------- phone: titles own the frame, tracking opens up a little at small sizes ---------- */
@media (max-width:599px){
  .hb h1.display{font-size:clamp(40px,12.4vw,64px);letter-spacing:-.045em}
  .hb .display,.hb .bkp h2,.hb .post__body h2{letter-spacing:-.035em}
  .hb .post__h,.hb h1.post__h{font-size:clamp(34px,10vw,52px)}
}
/* the Rui OS chat bubble in the film's orange */
.hb body>button[aria-label="Chat"]{background:var(--hb-acc)!important;color:#0B0B0B!important}

/* ================= /call/ + /offer/ (ads landing pages) ================= */
.hb body.lp{background:var(--hb-bg)}
.hb .lp-hdr{background:#000;border-bottom:1px solid var(--hb-line)}
.hb .lp-x{border-radius:0;border-color:var(--hb-line2)}
.hb .lp .eyebrow{color:var(--hb-acc)}
.hb .lp .eyebrow::after,.hb .lp .eyebrow::before{display:none}
.hb .lp-h1{font:800 clamp(34px,5.4vw,72px)/.92 var(--hb-fd);letter-spacing:-.05em;text-transform:uppercase;max-width:16ch}
.hb .lp-sub{color:var(--hb-body)}
.hb .lp-form{background:#0B0B0B;border:1px solid var(--hb-line2);box-shadow:none}
.hb .lp-form,.hb .lp-form .nf__f label{color:var(--hb-mute)}
.hb .lp-form .nf__f input{background:transparent;color:var(--hb-ink)}
.hb .lp-form .nf__f input::placeholder{color:var(--hb-dim)}
.hb .lp-form .lp-note,.hb .lp-form .lp-err{color:var(--hb-mute)}
.hb .lp-err{color:#FF9A7A}
.hb .lp-cred,.hb .lp-trust,.hb .lp-sign{font-family:var(--hb-fd);font-style:oblique 9deg;color:var(--hb-body)}
.hb .lp-ticks svg,.hb .lp-check svg{stroke:var(--hb-acc)}
.hb .lp-proof{background:#000;border-top:6px solid var(--hb-acc)}
.hb .lp-proof h2{font:800 clamp(28px,3.6vw,52px)/.95 var(--hb-fd);letter-spacing:-.045em;text-transform:uppercase}
.hb .lp-proof .yt{outline-color:var(--hb-line2)}
.hb .lp-ftr{color:var(--hb-mute);font:500 11px/1.6 var(--hb-mono);letter-spacing:.12em;text-transform:uppercase}
.hb .lp-ftr a,.hb .lp-ftr .ck-set{color:var(--hb-mute);font:inherit;letter-spacing:inherit;text-transform:inherit}

/* ================= /press/ ================= */
.hb .press__it{border-radius:0;border-color:var(--hb-line2);background:var(--hb-bg2)}
.hb .press__src{font:800 clamp(22px,2.4vw,32px)/1 var(--hb-fd);letter-spacing:-.04em;text-transform:uppercase}
.hb .press__k{color:var(--hb-acc);opacity:1}
.hb .press__d,.hb .press__more{color:var(--hb-mute);opacity:1}
/* long uppercase titles at -.05em: open the word gaps so the words never run together */
.hb .display,.hb .post__body h2,.hb .bkh h1,.hb .sp-hero__h,.hb .lp-h1,.hb .rnb__h,.hb .sp-statement,.hb .doc h2{word-spacing:.07em}
