/* Design tokens taken from the live stylesheet: white page, near black ink, one yellow. */
:root{
  --background:oklch(99.5% 0 0);
  --foreground:oklch(8% 0 0);
  --card:oklch(100% 0 0);
  --secondary:oklch(96.5% 0 0);
  --muted:oklch(96.5% 0 0);
  --muted-foreground:oklch(34% 0 0);
  --accent:oklch(90% .2 99);
  --accent-foreground:oklch(8% 0 0);
  --border:oklch(68% 0 0);
  --input:oklch(68% 0 0);
  --ring:oklch(82% .19 97);
  --display:"Archivo Black","Arial Black",sans-serif;
  --sans:"Archivo","Helvetica Neue",Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;border:0 solid var(--border)}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--background);color:var(--foreground);font-family:var(--sans);font-size:18px;line-height:1.58;-webkit-font-smoothing:antialiased}
img,svg,iframe{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-weight:inherit;font-size:inherit}
button,input{font:inherit;color:inherit;letter-spacing:inherit}
:focus-visible{outline:3px solid var(--foreground);outline-offset:3px}
::selection{background:var(--foreground);color:var(--background)}
[hidden]{display:none!important}
.site-container{width:min(1160px,100% - 3rem);margin-inline:auto}
.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:100;background:var(--accent);color:var(--accent-foreground);border:1px solid var(--foreground);padding:.65rem 1rem;font-weight:700;transform:translateY(-200%)}
.skip-link:focus{transform:translateY(0)}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Site header, series, episode and legal pages */
.site-header{border-bottom:1px solid var(--foreground);background:var(--background)}
.site-header .bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:5rem}
.brand-lockup{display:flex;align-items:center;gap:.75rem;line-height:1.1}
.brand-mark{width:2.5rem;height:2.5rem;display:grid;place-items:center;background:var(--accent);color:var(--accent-foreground);border:1px solid var(--foreground);font-family:var(--display);font-size:1.4rem;line-height:1}
.brand-lockup strong{display:block;font-family:var(--display);text-transform:uppercase;font-size:1.05rem;letter-spacing:-.01em;font-weight:400}
.brand-lockup small{display:block;margin-top:.3rem;font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-foreground)}
.site-nav{display:flex;align-items:center;gap:2rem}
.nav-link{position:relative;font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding-block:.3rem;color:var(--muted-foreground)}
.nav-link:hover,.nav-link[aria-current]{color:var(--foreground)}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--foreground);transform:scaleX(0);transition:transform .18s}
.nav-link:hover::after,.nav-link[aria-current]::after{transform:scaleX(1)}
.menu-btn{display:none;width:2.5rem;height:2.5rem;place-items:center;background:var(--accent);color:var(--accent-foreground);border:1px solid var(--foreground);cursor:pointer}
.mobile-nav{border-top:1px solid var(--border);padding-block:.5rem}
.mobile-nav a{display:block;padding:.85rem 0;border-bottom:1px solid var(--border);font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.mobile-nav a:last-child{border-bottom:0}

/* Opt-in page */
.home-shell{width:min(1210px,100% - 4rem);margin-inline:auto}
.home-header{border-bottom:1px solid var(--foreground)}
.home-header .home-shell{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:3.6rem}
.home-wordmark{font-family:var(--display);text-transform:uppercase;font-size:1.25rem;letter-spacing:-.01em;line-height:1}
.home-header-byline{font-size:.88rem;letter-spacing:.08em;color:var(--muted-foreground)}
.home-main{padding-block:2.2rem 7.5rem}
.home-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.85fr);align-items:start;gap:clamp(2rem,5vw,4.5rem)}
.home-message{padding-top:1.2rem}
.home-byline{font-size:.84rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase}
.home-message h1{font-family:var(--display);font-size:clamp(3.4rem,5vw,5.1rem);line-height:.91;margin-top:1.25rem}
.home-message h1 span{display:block}
.home-message h2{font-family:var(--display);font-size:clamp(2.4rem,3.6vw,3.6rem);line-height:1.02;margin-top:2.75rem}
.home-message h2 span,.home-message h2 mark{display:block;width:fit-content}
.home-message mark{background:var(--accent);color:var(--accent-foreground);padding:.04em .14em .1em;margin-top:.12em}
.home-answer{max-width:38rem;margin-top:2rem;padding-left:1rem;border-left:5px solid var(--accent)}
.home-answer p{font-size:1.05rem;line-height:1.5;text-wrap:pretty}
.nowrap{white-space:nowrap}
.home-aside{display:flex;flex-direction:column;gap:1.4rem;align-self:start}
.signup-card{border:1px solid var(--foreground);background:var(--card);padding:1.8rem 2rem 1.3rem;box-shadow:0 6px 16px oklch(8% 0 0 / .12)}
.shift-label{display:inline-block;background:var(--accent);color:var(--accent-foreground);padding:.35rem .85rem;font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.1rem}
.signup-card h3{font-family:var(--display);font-size:clamp(1.8rem,2vw,1.95rem);line-height:1.1}
.signup-card .intro{font-size:1rem;line-height:1.35;margin-block:.9rem 1.2rem}
.field{display:grid;gap:.45rem}
.field label{font-size:.88rem;font-weight:500}
.field label span{color:var(--muted-foreground)}
.field input{width:100%;min-height:3.15rem;border:1px solid var(--input);background:var(--background);padding-inline:1rem;border-radius:0}
.field input:focus-visible{outline:2px solid var(--foreground);outline-offset:1px}
.field input::placeholder{color:var(--muted-foreground)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.3rem;padding:.8rem 1.4rem;background:var(--accent);color:var(--accent-foreground);border:1px solid var(--foreground);box-shadow:3px 3px 0 var(--foreground);font-family:var(--display);font-size:.95rem;text-transform:uppercase;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--foreground)}
.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--foreground)}
.btn-wide{width:100%}
.signup-card .btn{border:0;box-shadow:none;min-height:3.3rem;margin-top:1rem;font-size:1rem}
.signup-card .btn:hover{transform:none;box-shadow:none;background:oklch(94% .18 99)}
.form-note{text-align:center;letter-spacing:.16em;font-size:.78rem;margin-top:.65rem;color:var(--muted-foreground)}
.form-note a{text-decoration:underline;text-underline-offset:3px;letter-spacing:0}

/* ActiveCampaign form in the opt-in card (form 30 on /sha/). Its own script writes a
   stylesheet with single-ID selectors, a white box, 20px padding and a blue button,
   and some of those are marked important. The selectors below repeat #signup, which
   puts two IDs in front of the same attribute and beats the embed's one-ID rules.
   So the card's own box, fields and button win without a line of script, and the
   form keeps its fields, its hidden values and its own submission. */
#signup#signup [id^="_form_"]{max-width:none!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;text-align:left!important}
#signup#signup [id^="_form_"] ._form-content{padding:0!important;margin:0!important;width:100%!important}
#signup#signup [id^="_form_"] ._form_element{margin:0 0 .95rem!important;padding:0!important;max-width:none!important;width:100%!important}
#signup#signup [id^="_form_"] ._field-wrapper{position:relative!important}
#signup#signup [id^="_form_"] ._form-label{display:block!important;margin:0 0 .4rem!important;font-family:var(--sans)!important;font-size:.78rem!important;font-weight:700!important;letter-spacing:.1em!important;text-transform:uppercase!important;line-height:1.4!important;color:var(--foreground)!important}
#signup#signup [id^="_form_"] .field-required{margin-left:.2em!important;color:var(--foreground)!important}
#signup#signup [id^="_form_"] input[type="text"],
#signup#signup [id^="_form_"] input[type="email"],
#signup#signup [id^="_form_"] input[type="tel"]{display:block!important;width:100%!important;min-height:3.15rem!important;height:auto!important;padding:.2rem 1rem!important;border:1px solid var(--input)!important;border-radius:0!important;background:var(--background)!important;color:var(--foreground)!important;font-family:var(--sans)!important;font-size:1rem!important;line-height:1.4!important}
#signup#signup [id^="_form_"] input::placeholder{color:var(--muted-foreground)!important;opacity:1!important}
#signup#signup [id^="_form_"] input:focus-visible{outline:2px solid var(--foreground)!important;outline-offset:1px!important}
#signup#signup [id^="_form_"] input._has_error,
#signup#signup [id^="_form_"] input._has_field_error{border-color:var(--foreground)!important;box-shadow:inset 0 0 0 1px var(--foreground)!important}
#signup#signup [id^="_form_"] ._button-wrapper{margin-top:1.15rem!important}
#signup#signup [id^="_form_"] ._submit{position:relative!important;width:100%!important;min-height:3.3rem!important;margin:0!important;padding:.8rem 1.4rem!important;border:0!important;border-radius:0!important;background:var(--accent)!important;color:var(--accent-foreground)!important;font-family:var(--sans)!important;font-size:.95rem!important;font-weight:700!important;letter-spacing:.01em!important;text-transform:none!important;cursor:pointer!important;transition:background .15s ease}
#signup#signup [id^="_form_"] ._submit:hover{background:oklch(94% .18 99)!important}
#signup#signup [id^="_form_"] ._submit:disabled{cursor:not-allowed!important;opacity:.5!important}
#signup#signup [id^="_form_"] ._submit.processing{color:transparent!important}
#signup#signup [id^="_form_"] ._submit.processing::before{content:""!important;position:absolute!important;top:50%!important;left:50%!important;width:1.1em!important;height:1.1em!important;border:3px solid oklch(8% 0 0 / .2)!important;border-top-color:var(--foreground)!important;border-radius:50%!important;background:none!important;transform:translate(-50%,-50%)!important;animation:_signupSpin 800ms linear infinite!important}
@keyframes _signupSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@media (prefers-reduced-motion:reduce){#signup#signup [id^="_form_"] ._submit.processing::before{animation:none!important}}
#signup#signup [id^="_form_"] ._error{display:block!important;position:static!important;margin-top:.5rem!important;padding:0!important;font-size:.82rem!important;line-height:1.4!important;z-index:auto!important}
#signup#signup [id^="_form_"] ._error-arrow{display:none!important}
#signup#signup [id^="_form_"] ._error-inner,
#signup#signup [id^="_form_"] ._field-error{margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;font-family:var(--sans)!important;font-size:.82rem!important;font-weight:600!important;line-height:1.4!important;color:var(--foreground)!important;text-align:left!important;text-decoration:none!important}
#signup#signup [id^="_form_"] ._form_error{display:block!important;position:static!important}
#signup#signup [id^="_form_"] ._form-thank-you{text-align:left!important;font-family:var(--sans)!important;font-size:1rem!important;line-height:1.45!important;color:var(--foreground)!important}
#signup#signup [id^="_form_"] ._form-branding{margin-top:1rem!important;font-family:var(--sans)!important;font-size:.64rem!important;font-weight:500!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--muted-foreground)!important}
#signup#signup [id^="_form_"] ._form-branding ._logo{margin-top:.3rem!important;opacity:.75!important}
.field-error{text-align:left;letter-spacing:0;font-size:.82rem;font-weight:600;color:var(--foreground);margin-top:.55rem}
.home-demo{display:flex;flex-direction:column;gap:.9rem}
.home-demo-caption{font-size:.86rem;line-height:1.5}
.video-frame{position:relative;width:100%;padding-top:56.25%;border:1px solid var(--foreground);background:var(--secondary);overflow:hidden;box-shadow:6px 6px 0 var(--accent)}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.home-metrics{display:grid;grid-template-columns:1fr 1fr;margin-top:4.3rem;border-top:1px solid var(--border)}
.home-metrics>div{display:grid;gap:.2rem;padding:1.2rem 2rem;text-align:center}
.home-metrics>div+div{border-left:1px solid var(--border)}
.home-metrics strong{font-family:var(--display);font-size:1.75rem}
.home-metrics span{font-size:.95rem;color:var(--muted-foreground)}
.home-creators{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(1.5rem,4vw,3.25rem);margin-top:5.5rem;padding:2.1rem;border:1px solid var(--foreground);box-shadow:8px 8px 0 var(--accent)}
/* Explicit width and height, not aspect-ratio, so the photo keeps a portrait frame even
   in browsers that ignore aspect-ratio. Anchored near the top so faces stay in frame. */
.home-creators img{width:clamp(160px,17vw,220px);height:clamp(200px,21.25vw,275px);object-fit:cover;object-position:50% 18%;border:1px solid var(--foreground);background:var(--secondary)}
.home-creators .kicker{font-size:.72rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--muted-foreground)}
.home-creators h2{font-family:var(--display);font-size:clamp(2rem,3.4vw,3.1rem);line-height:1.02;margin-top:.7rem;text-wrap:balance}

/* Series page */
.series-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--foreground)}
.series-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,oklch(8% 0 0 / .05) 1px,transparent 1px),linear-gradient(to bottom,oklch(8% 0 0 / .05) 1px,transparent 1px);background-size:46px 46px}
.series-hero>.site-container{position:relative;z-index:1;padding-block:3.5rem 4rem}
.kicker{display:inline-flex;align-items:center;gap:.6rem;font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-foreground)}
.kicker-dot{width:.55rem;height:.55rem;background:var(--accent);border:1px solid var(--foreground)}
.series-title{font-family:var(--display);font-size:clamp(2.6rem,5.5vw,5.2rem);line-height:.96;letter-spacing:-.02em;max-width:1050px;margin-top:1.25rem;text-wrap:balance}
.series-lede{max-width:42rem;margin-top:1.25rem;font-size:1.125rem;color:var(--muted-foreground)}
.section-label{display:block;margin-top:2.75rem;font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-foreground)}
.testimonial-grid{display:grid;gap:1.25rem;margin-top:1.25rem}
.video-panel{position:relative;aspect-ratio:16/9;min-height:180px;border:1px solid var(--foreground);background:var(--secondary);box-shadow:6px 6px 0 var(--accent);overflow:hidden}
.video-panel iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Feature card and episode grid */
.ds-feature{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);margin-top:2.5rem;border:1px solid var(--foreground);box-shadow:4px 4px 0 var(--accent);background:var(--background);transition:box-shadow .18s}
.ds-feature:hover{box-shadow:6px 6px 0 var(--accent)}
.ds-stage,.ds-thumb{position:relative;overflow:hidden;display:grid;place-items:center;background:var(--secondary);background-image:linear-gradient(to right,oklch(8% 0 0 / .06) 1px,transparent 1px),linear-gradient(to bottom,oklch(8% 0 0 / .06) 1px,transparent 1px);background-size:32px 32px}
.ds-stage{aspect-ratio:16/9;min-height:160px;border-right:1px solid var(--foreground)}
.ds-stage img,.ds-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ds-num{font-family:var(--display);font-size:clamp(3rem,8vw,6rem);color:transparent;-webkit-text-stroke:1.5px oklch(8% 0 0 / .45);line-height:1}
.ds-stage .stage-tag{position:absolute;left:1rem;bottom:1rem;background:var(--foreground);color:var(--background);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.35rem .6rem}
.ds-feature-body{display:flex;flex-direction:column;justify-content:center;gap:1rem;padding:2rem}
.ds-ep{font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-foreground)}
.ds-feature-body h2{font-family:var(--display);font-size:clamp(1.6rem,2.6vw,2.3rem);line-height:1.05;text-wrap:balance}
.ds-status{font-size:.85rem;color:var(--muted-foreground)}
.ds-cta{align-self:flex-start}
.ds-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:2.5rem}
.ds-card{display:flex;flex-direction:column;gap:.6rem;padding-bottom:1.25rem;border:1px solid var(--foreground);box-shadow:4px 4px 0 var(--accent);background:var(--background);transition:box-shadow .18s,transform .18s}
.ds-card:hover{box-shadow:6px 6px 0 var(--accent);transform:translateY(-2px)}
.ds-card .ds-thumb{aspect-ratio:16/9;min-height:150px;border-bottom:1px solid var(--foreground)}
.ds-card .ds-num{font-size:clamp(2.5rem,5vw,4rem)}
.ds-card>p,.ds-card>h3{padding-inline:1.25rem}
.ds-card h3{font-family:var(--display);font-size:1.25rem;line-height:1.12}
.ds-card .ds-ep{margin-top:.15rem}
.ds-card .ds-status{padding-bottom:.1rem}

/* Episode page */
.release-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--foreground)}
.release-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,oklch(8% 0 0 / .05) 1px,transparent 1px),linear-gradient(to bottom,oklch(8% 0 0 / .05) 1px,transparent 1px);background-size:46px 46px}
.release-hero>.site-container{position:relative;z-index:1;padding-block:3rem 3.5rem}
.release-title{font-family:var(--display);font-size:clamp(2.2rem,4.4vw,3.8rem);line-height:1.02;letter-spacing:-.02em;max-width:1000px;margin-top:1rem;text-wrap:balance}
.release-blurb{max-width:44rem;margin-top:1rem;font-size:1.05rem;color:var(--muted-foreground)}
.release-stage{position:relative;aspect-ratio:16/9;min-height:180px;margin-top:2rem;border:1px solid var(--foreground);box-shadow:6px 6px 0 var(--accent);background:oklch(8% 0 0);overflow:hidden;display:grid;place-items:center}
.release-stage .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;pointer-events:none;z-index:0}
.release-stage[data-embed]{cursor:pointer}
.play{position:relative;z-index:2;border:1px solid var(--background);background:oklch(8% 0 0 / .65);color:var(--background);width:4.5rem;height:4.5rem;min-width:4.5rem;min-height:4.5rem;display:grid;place-items:center;cursor:pointer}
.release-body{padding-block:2.5rem 4rem}
.release-nav{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center;border-block:1px solid var(--border);padding-block:1.25rem;margin-top:3rem}
.release-nav a{border:1px solid var(--foreground);padding:.85rem 1rem;font-size:.85rem;font-weight:600;background:var(--background);display:grid;gap:.25rem;transition:background .15s}
.release-nav a:hover{background:var(--secondary)}
.release-nav a small{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-foreground);font-weight:700}
.release-nav a:last-child{text-align:right;justify-self:stretch}
.release-nav.single{grid-template-columns:1fr}
.release-nav.single a:last-child{text-align:left}
.overview{margin-top:2.5rem}
.overview .section-label{margin-top:0}
.series-overview{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;margin-top:.9rem}
.series-overview a{border:1px solid var(--border);text-align:center;padding:.7rem .3rem;font-size:.78rem;font-weight:600;background:var(--background);transition:border-color .15s,background .15s}
.series-overview a:hover{border-color:var(--foreground)}
.series-overview a[aria-current]{background:var(--accent);border-color:var(--foreground)}

/* Demo invitation band, under the series intro, after each release video and at the
   foot of the series page. One line of copy and one button, so it reads as an
   invitation rather than a second page inside the page. */
.demo-band{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.1rem 2rem;margin-top:2.5rem;padding:1.35rem 1.5rem;border:1px solid var(--foreground);background:var(--card);box-shadow:4px 4px 0 var(--accent)}
.demo-band-title{font-family:var(--display);font-size:clamp(1.05rem,2vw,1.55rem);line-height:1.16;max-width:54ch;text-wrap:balance}
.demo-band .btn{flex:0 0 auto}
.demo-band-close{margin-top:3.5rem}

/* Legal pages */
.legal{padding-block:4rem 5rem}
.legal-column{max-width:44rem}
.legal-column h1{font-family:var(--display);font-size:clamp(2rem,4vw,2.8rem);line-height:1.05;text-transform:uppercase}
.legal-column h2{font-family:var(--display);text-transform:uppercase;font-size:1.1rem;margin-top:2.2rem}
.legal-column p{margin-top:.85rem;color:var(--muted-foreground);line-height:1.65}
.legal-column a{text-decoration:underline;text-underline-offset:3px;color:var(--foreground)}

/* Footer */
.site-footer{border-top:1px solid var(--foreground);background:var(--background)}
.site-footer .top{padding-block:2.2rem}
.site-footer .wordmark{font-family:var(--display);text-transform:uppercase;font-size:1.5rem;letter-spacing:-.01em}
.site-footer .sub{margin-top:.5rem;font-size:.9rem;color:var(--muted-foreground)}
.site-footer .bottom{border-top:1px solid var(--border)}
.site-footer .bottom-inner{display:flex;flex-direction:column;gap:1rem;padding-block:1.5rem;color:var(--muted-foreground)}
.disclaimer{max-width:46rem;font-size:.78rem;line-height:1.6}
.legal-links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.8rem}
.legal-links a{text-decoration:underline;text-underline-offset:3px}
.legal-links a:hover{color:var(--foreground)}

@media (min-width:768px){.testimonial-grid{grid-template-columns:1fr 1fr}}
@media (max-width:900px){
  .home-layout{grid-template-columns:1fr}
  .home-aside{order:2}
  .home-creators{grid-template-columns:1fr;gap:1.25rem;margin-top:3.5rem;padding:1.4rem;box-shadow:5px 5px 0 var(--accent)}
  .home-creators img{width:min(58vw,200px);height:min(72vw,250px)}
  .home-metrics{grid-template-columns:1fr;margin-top:2.5rem}
  .home-metrics>div{padding:1rem 0}
  .home-metrics>div+div{border-left:0;border-top:1px solid var(--border)}
  .ds-feature{grid-template-columns:1fr}
  .ds-stage{border-right:0;border-bottom:1px solid var(--foreground)}
  .ds-feature-body{padding:1.25rem}
  .ds-grid{grid-template-columns:1fr}
}
@media (max-width:767px){
  .site-container{width:min(100% - 2rem,1160px)}
  .home-shell{width:min(100% - 2rem,680px)}
  .home-header .home-shell{flex-direction:column;align-items:flex-start;justify-content:center;gap:.25rem;min-height:4.6rem}
  .home-wordmark{font-size:1.05rem}
  .home-header-byline{font-size:.72rem}
  .home-message{padding-top:0}
  .home-message h1{font-size:clamp(2rem,9vw,3.2rem)}
  .home-message h2{font-size:clamp(1.9rem,8.2vw,3.2rem);margin-top:2.4rem}
  .home-main{padding-block:1rem 5rem}
  .signup-card{padding:1.25rem}
  .signup-card h3{font-size:1.55rem}
  .series-hero>.site-container{padding-block:2.5rem 3rem}
  .series-title{font-size:clamp(2.2rem,10.5vw,3.4rem)}
  .release-title{font-size:clamp(1.9rem,8.5vw,2.8rem)}
  .site-nav{display:none}
  .menu-btn{display:grid}
  .series-overview{grid-template-columns:repeat(3,minmax(0,1fr))}
  .demo-band{padding:1.1rem}
  .demo-band .btn{width:100%}
  .release-nav{grid-template-columns:1fr}
  .release-nav a:last-child{text-align:left}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
  .ds-card:hover,.btn:hover{transform:none}
}

/* The AWR 2027 offer at /join carries its own sheet, assets/offer.css, measured from the live
   offer stylesheet: its own header, 760px column and mono footer. */

