@font-face{font-family:"Cabinet Grotesk";src:url(/assets/fonts/cabinet-grotesk-800.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Switzer";src:url(/assets/fonts/switzer-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Switzer";src:url(/assets/fonts/switzer-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Switzer";src:url(/assets/fonts/switzer-600.woff2) format("woff2");font-weight:600;font-display:swap}

:root{
  color-scheme:light dark;
  --paper:#f2f2ee;--surface:#e8e8e2;--ink:#16171a;--muted:#55575d;--line:rgb(22 23 26/.16);
  --accent:#ad470b;--on-accent:#fff;--panel:#e87430;--on-panel:#16171a;--screen-line:rgb(22 23 26/.14);
  --shadow:0 30px 60px -28px rgb(60 30 16/.38);
  --display:"Cabinet Grotesk","Arial Narrow",system-ui,sans-serif;
  --body:"Switzer","Helvetica Neue",Arial,sans-serif;
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-move:cubic-bezier(.77,0,.175,1);
  --gutter:clamp(20px,4vw,64px);
  --section:clamp(88px,12vw,176px);
}
@media (prefers-color-scheme:dark){:root{
  --paper:#141517;--surface:#1d1e21;--ink:#ecebe7;--muted:#a3a5ab;--line:rgb(236 235 231/.16);
  --accent:#f0853f;--on-accent:#16171a;--screen-line:rgb(236 235 231/.18);--shadow:0 30px 60px -28px rgb(0 0 0/.7);
}}

*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 clamp(17px,.5vw + 15px,19px)/1.55 var(--body);-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,figure{margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.skip{position:absolute;left:var(--gutter);top:-80px;background:var(--ink);color:var(--paper);padding:10px 18px;border-radius:99px;z-index:20}
.skip:focus{top:12px}

h1,h2{font-family:var(--display);font-weight:800;letter-spacing:-.022em;line-height:.98;text-wrap:balance}
h2{font-size:clamp(2.6rem,6.4vw,6.2rem)}
.lede{max-width:34ch;font-size:clamp(1.15rem,1.5vw,1.45rem);line-height:1.4}
.note{color:var(--muted);max-width:52ch}

/* Links and buttons: pills are the only rounded controls on the page. */
.link{font-weight:500;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:3px;display:inline-flex;align-items:center;gap:.3em;min-height:44px;transition:background-size 260ms var(--ease-out)}
.link svg{width:.95em;height:.95em;transition:transform 200ms var(--ease-out)}
.btn{appearance:none;border:0;cursor:pointer;font:600 1rem/1 var(--body);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 26px;border-radius:99px;white-space:nowrap;background:var(--ink);color:var(--paper);transition:transform 140ms var(--ease-out),background-color 180ms ease}
.btn:active{transform:scale(.97)}
.btn.quiet{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
@media (hover:hover) and (pointer:fine){
  .link:hover{background-size:40% 1px}
  .link:hover svg{transform:translate(2px,-2px)}
  .btn:hover{background:var(--accent);color:var(--on-accent)}
  .btn.quiet:hover{background:var(--ink);color:var(--paper)}
  .nav a:hover{text-decoration:underline;text-underline-offset:5px}
}

/* Header */
.top{position:absolute;inset:0 0 auto;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px;padding:0 var(--gutter)}
.top.on-panel{color:var(--on-panel)}
.top.on-paper{color:var(--ink)}
.top.on-ink{color:#f2f2ee}
.name{display:inline-flex;align-items:center;min-height:44px;font-family:var(--display);font-weight:800;font-size:1.2rem;letter-spacing:-.01em;text-decoration:none;white-space:nowrap}
.nav{display:flex;align-items:center;gap:clamp(14px,2.2vw,32px);font-weight:500;font-size:.97rem}
.nav a{text-decoration:none;display:inline-flex;align-items:center;min-height:44px;}
.nav a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
.lang [aria-current]{font-weight:600;text-decoration:underline;text-underline-offset:4px}
.lang a+a{margin-left:10px}

/* Hero: a full-bleed poster. The phones cross its bottom edge into miospot. */
.hero{position:relative;overflow-x:clip;background:var(--panel);color:var(--on-panel);min-height:min(100dvh,940px);display:flex;align-items:flex-end}
.hero-copy{position:relative;z-index:2;width:62%;padding:128px 0 clamp(48px,6vw,88px) var(--gutter)}
.hero h1{font-size:clamp(3.1rem,7.7vw,8.4rem);line-height:.93}
.hero .lede{margin-top:clamp(22px,2.6vw,36px);max-width:36ch}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(24px,3vw,38px)}
.hero .btn{background:var(--on-panel);color:#f2f2ee}
.hero .btn.quiet{background:transparent;color:var(--on-panel);box-shadow:inset 0 0 0 1.5px var(--on-panel)}
.hero-phones{position:absolute;inset:0;pointer-events:none}
.phone{position:absolute;border-radius:clamp(26px,3.2vw,50px);box-shadow:0 0 0 1px rgb(22 23 26/.22),0 44px 70px -30px rgb(70 16 2/.62)}
.phone.front{width:clamp(250px,25vw,380px);right:17vw;bottom:clamp(-130px,-8vw,-60px);z-index:2}
.phone.back{width:clamp(220px,22vw,340px);right:-3.5vw;bottom:clamp(40px,7vw,120px)}
@keyframes rise-small{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

.wrap{padding-inline:var(--gutter)}
section{scroll-margin-top:24px}

/* miostaff: a small working version of one rule, as wide as the page. */
.miostaff{background:var(--surface);padding-block:var(--section)}
.demo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,3.6vw,52px) clamp(40px,7vw,120px);margin-top:clamp(36px,4vw,64px)}
.demo-title{font-weight:600;grid-column:1/-1;margin-bottom:-12px}
.track{--a:0%;--b:100%;position:relative;height:clamp(116px,12vw,164px);grid-column:1/-1}
.track-line{position:absolute;inset:30px 0 30px;display:block}
.shift,.rest{position:absolute;top:0;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:.9rem;font-weight:600}
.shift{background:var(--ink);color:var(--paper)}
.shift.one{left:0;width:var(--a)}
.shift.two{left:var(--b);right:0}
.rest{left:var(--a);width:calc(var(--b) - var(--a));box-shadow:inset 0 0 0 1.5px var(--ink)}
.is-short .rest{background:var(--accent);box-shadow:none;color:var(--on-accent)}
.day{position:absolute;top:0;font-size:.9rem;font-weight:500}
.day.two{right:0}
.axis{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums}
.demo-result{display:grid;gap:22px;align-content:start}
.controls{display:grid;gap:14px;align-content:start}
.field{display:grid;gap:4px}
.field label{display:flex;justify-content:space-between;gap:12px;font-weight:500}
.field output{font-variant-numeric:tabular-nums;font-weight:600}
input[type=range]{appearance:none;-webkit-appearance:none;width:100%;height:44px;background:transparent;margin:0;cursor:grab;touch-action:pan-y}
input[type=range]:active{cursor:grabbing}
input[type=range]::-webkit-slider-runnable-track{height:2px;background:var(--ink)}
input[type=range]::-moz-range-track{height:2px;background:var(--ink)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-11px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 4px var(--surface);transition:transform 140ms var(--ease-out)}
input[type=range]::-moz-range-thumb{width:24px;height:24px;border:0;border-radius:50%;background:var(--ink);box-shadow:0 0 0 4px var(--surface)}
input[type=range]:active::-webkit-slider-thumb{transform:scale(1.14)}
.verdict strong{display:block;font-family:var(--display);font-weight:800;font-size:clamp(2.2rem,4.6vw,4.4rem);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.is-short .verdict strong{color:var(--accent)}
.verdict span{display:block;margin-top:12px;max-width:44ch}
.demo-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;min-height:50px}
.log{color:var(--muted);margin:0;flex:1 1 220px}
.log:not(:empty){animation:rise-small 240ms var(--ease-out) both}
.small{font-size:.88rem;color:var(--muted);max-width:60ch;grid-column:1/-1}

/* Other work: two projects at exactly the same size. */
.more{padding-block:var(--section) clamp(64px,8vw,112px)}
.more h2{font-size:clamp(2.2rem,4.4vw,4.2rem)}
.more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,4vw,64px) clamp(20px,3vw,48px);margin-top:clamp(36px,4vw,56px)}
.frame{position:relative;aspect-ratio:4/3;overflow:hidden}
.frame img{position:absolute;inset:7%;width:86%;height:86%;object-fit:contain}
.frame.stone{background:var(--surface)}
.frame.app{background:#0f0f14}
.more h3{font-family:var(--display);font-weight:800;font-size:clamp(1.7rem,2.6vw,2.4rem);letter-spacing:-.015em;line-height:1.05;margin:20px 0 8px}

/* How I work */
.method{padding-block:var(--section);border-top:1px solid var(--line)}
.method h2{max-width:13em}
.ways{margin:clamp(48px,6vw,88px) 0 0;display:grid;gap:clamp(36px,4.6vw,68px)}
.way{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:10px clamp(28px,6vw,104px)}
.way dt{font-family:var(--display);font-weight:800;font-size:clamp(1.6rem,2.8vw,2.7rem);letter-spacing:-.015em;line-height:1.05}
.way dd{margin:0;color:var(--muted);max-width:54ch}

/* Contact */
.contact{background:var(--panel);color:var(--on-panel);padding-block:clamp(72px,9vw,136px) 28px}
.contact h2{max-width:11em}
.mail{display:block;min-height:44px;padding-block:6px;margin-top:clamp(36px,5vw,68px);font-family:var(--display);font-weight:800;font-size:clamp(1.9rem,7.9vw,8.6rem);line-height:1.02;letter-spacing:-.025em;text-decoration:underline;text-decoration-thickness:.055em;text-underline-offset:.1em;overflow-wrap:anywhere}
.contact-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px clamp(20px,3vw,40px);margin-top:clamp(30px,3.6vw,50px)}
.contact .btn{background:var(--on-panel);color:#f2f2ee;min-width:158px}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:clamp(56px,7vw,104px);padding-top:18px;border-top:1px solid rgb(22 23 26/.42);font-size:.92rem;font-weight:500}
.contact :focus-visible{outline-color:var(--on-panel)}
@media (hover:hover) and (pointer:fine){.contact .btn:hover{background:#000;color:#f2f2ee}}

/* Wordmarks: letters take the text colour, the disc stays brand orange. */
.wm{display:block;width:100%;height:auto;fill:currentColor;overflow:visible}
.wm-disc{transition:transform 260ms var(--ease-out);transform-box:fill-box;transform-origin:center}

.btn.inverse{background:#f2f2ee;color:#16171a}
.panel-h{font-family:var(--display);font-weight:800;font-size:clamp(2.6rem,6.4vw,6.4rem);line-height:.96;letter-spacing:-.022em;text-wrap:balance}
.panel-go{display:flex;flex-wrap:wrap;gap:8px 28px;align-items:center}

/* Portal. Without motion it is a wordmark and then a plain orange band. */
.portal.after-hero{padding-top:clamp(150px,15vw,240px)}
.portal-mark{padding:clamp(40px,6vw,88px) var(--gutter)}
.portal-mark a{display:block;color:inherit}
.portal.is-hero .portal-mark{padding-top:112px}
.portal.is-hero h1{font-size:clamp(3rem,10.6vw,12rem);line-height:.94;letter-spacing:-.03em;margin-top:clamp(20px,3vw,44px)}
.portal-panel{background:var(--panel);color:var(--on-panel);display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(24px,4vw,64px);align-items:center;padding:clamp(56px,7vw,104px) var(--gutter)}
.portal-copy{display:grid;gap:clamp(18px,2.2vw,32px);align-content:center;justify-items:start}
.portal-copy .btn{background:var(--on-panel);color:#f2f2ee}
.portal-panel :focus-visible{outline-color:var(--on-panel)}
.portal-phones{display:flex;justify-content:center;align-items:flex-start;gap:clamp(10px,1.6vw,24px)}
.portal-phones .phone{position:static;width:min(44%,clamp(150px,20vw,300px))}
.portal-phones .phone:nth-child(2){margin-top:12%}
.motion .portal-track{height:290svh}
.motion .portal-stage{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;align-items:center}
.motion .portal.is-hero .portal-stage{align-items:flex-end}
.motion .portal-mark{width:100%}
.motion .portal-panel{position:absolute;inset:0;opacity:0;will-change:clip-path}
.motion .portal-phones{align-self:stretch;align-items:center}

/* Story. Without motion, a plain stack of phones and captions on orange. */
.story{background:var(--panel);color:var(--on-panel);padding:clamp(56px,7vw,104px) var(--gutter)}
.story-h{font-size:clamp(2.2rem,4.4vw,4.2rem)}
.step{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center;margin-top:clamp(40px,5vw,72px)}
.step-phone{border-radius:clamp(22px,2.6vw,38px);box-shadow:0 0 0 1px rgb(22 23 26/.22),0 44px 70px -30px rgb(70 16 2/.62)}
.step-text h3{font-family:var(--display);font-weight:800;font-size:clamp(3rem,8vw,8.6rem);line-height:.92;letter-spacing:-.028em}
.step-text p{margin-top:clamp(12px,1.6vw,22px);max-width:30ch;font-size:clamp(1.15rem,1.7vw,1.6rem);line-height:1.3}
.motion .story{height:640svh;padding:0}
.motion .story-stage{position:sticky;top:0;height:100svh;overflow:hidden}
.motion .story-h{position:absolute;left:var(--gutter);top:clamp(72px,9vh,104px);font-size:clamp(1.15rem,1.7vw,1.6rem);letter-spacing:-.01em;font-weight:800;max-width:none}
.motion .step{display:contents}
.motion .step-phone{position:absolute;left:56%;top:50%;height:min(84svh,760px);width:auto;max-width:none;margin-top:calc(min(84svh,760px)/-2);will-change:transform}
.motion .step-text{position:absolute;left:var(--gutter);top:50%;width:44%;transform:translateY(-50%)}

/* The statement that lights up, then the rest of the product. */
.statement{padding-block:var(--section)}
.fill{font-family:var(--display);font-weight:800;font-size:clamp(2.8rem,8.6vw,9.4rem);line-height:.96;letter-spacing:-.026em;max-width:13em}
.also{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,104px);margin-top:clamp(72px,10vw,160px)}
.also h2{font-size:clamp(1.15rem,1.6vw,1.5rem);letter-spacing:-.01em;line-height:1.2}
.also p{margin-top:12px;font-size:clamp(1.25rem,2.1vw,1.95rem);line-height:1.28}
.also>div+div p{color:var(--muted);font-size:inherit;line-height:1.55;max-width:44ch}
.facts{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px clamp(24px,3vw,44px);margin-top:clamp(48px,6vw,88px)}
.facts .note{flex:1 1 280px;font-weight:600;color:var(--ink)}

/* Door to the other product. */
.next{border-top:1px solid var(--line);padding-block:clamp(36px,5vw,72px) clamp(56px,7vw,104px)}
.next a{display:block;text-decoration:none;color:inherit}
.next span{display:block;font-weight:500;margin-bottom:clamp(14px,2vw,28px)}
.next .wm{width:min(100%,1240px)}
@media (hover:hover) and (pointer:fine){.next a:hover .wm-disc,.door a:hover .wm-disc{transform:scale(1.14)}}

/* miostaff */
.ink{background:#16171a;color:#f2f2ee}
.door{padding-block:var(--section);overflow-x:clip}
.door h2 a{display:block;color:inherit}
.door-copy{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,4vw,64px);align-items:end;margin-top:clamp(40px,6vw,88px)}
.door-side{display:grid;gap:clamp(18px,2vw,28px);justify-items:start}
.door :focus-visible,.staff-hero :focus-visible{outline-color:#f2f2ee}
.staff-hero{min-height:min(100svh,980px);display:flex;flex-direction:column;justify-content:flex-end;padding:112px var(--gutter) clamp(36px,5vw,72px);overflow-x:clip}
.staff-hero-copy{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,4vw,64px);align-items:end;margin-top:clamp(28px,4vw,56px)}
.staff-hero h1{font-size:clamp(2.8rem,7.2vw,8rem);line-height:.94}
.status{margin-top:16px;color:#b5b6bb}

.weeks{padding:var(--section) var(--gutter)}
.board-frame{margin-top:clamp(28px,4vw,56px);overflow:hidden}
.board{position:relative;padding-bottom:40px}
.b-days{display:grid;grid-template-columns:repeat(7,1fr);margin-left:var(--who);color:var(--muted);font-size:.85rem;padding-bottom:8px;border-bottom:1px solid var(--line)}
.board{--who:clamp(0px,7vw,92px)}
.b-row{display:grid;grid-template-columns:var(--who) minmax(0,1fr);align-items:center;margin-top:clamp(10px,1.4vw,18px)}
.b-who{font-weight:500;font-size:.95rem}
.b-line{position:relative;height:clamp(34px,4vw,50px);background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 14.2857%)}
.b-shift{position:absolute;top:0;bottom:0;background:var(--ink)}
.b-rest{position:absolute;top:0;bottom:0;background:var(--accent)}
.b-tag{position:absolute;top:calc(100% + 3px);white-space:nowrap;font-weight:600;font-size:.56rem;line-height:1.2;color:var(--accent);background:var(--paper);padding:1px 3px}
.b-pub{position:absolute;right:0;bottom:0;margin:0;font-weight:600;font-size:.92rem}
.b-steps{list-style:none;margin:clamp(28px,4vw,56px) 0 0;padding:0;display:grid;gap:clamp(24px,3vw,40px)}
.b-step h3{font-family:var(--display);font-weight:800;font-size:clamp(1.9rem,3.4vw,3.4rem);line-height:1;letter-spacing:-.02em}
.b-step p{margin-top:10px;max-width:40ch}
.motion .weeks{height:560svh;padding:0}
.motion .weeks-stage{position:sticky;top:0;height:100svh;overflow:hidden;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);grid-template-rows:auto 1fr;gap:clamp(16px,3vw,32px) clamp(24px,4vw,64px);padding:clamp(72px,10vh,112px) var(--gutter) clamp(28px,5vh,56px);align-items:center}
.motion .weeks .story-h{position:static;grid-column:1/-1;align-self:start}
.motion .board-frame{grid-column:2;grid-row:2;margin:0}
.motion .b-steps{grid-column:1;grid-row:2;margin:0;display:block;position:relative;height:min(320px,44svh)}
.motion .b-step{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center}

/* Other copy on the product pages */
.miostaff h2{font-size:clamp(2.6rem,6.4vw,6.2rem)}
.pilot{margin-top:clamp(48px,6vw,88px);font-family:var(--display);font-weight:800;font-size:clamp(1.8rem,3.6vw,3.6rem);line-height:1.04;letter-spacing:-.02em;max-width:20em}
.pilot a{color:var(--accent);text-underline-offset:.12em;text-decoration-thickness:.06em}
.motion-toggle{appearance:none;background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:4px;min-height:44px}
.foot{align-items:center}

/* Hidden only until GSAP sets them in motion; the head script's timer clears .motion if it never loads. */
.motion [data-split-now],.motion .hero h1,.motion .hero .phone{visibility:hidden}
.split-line{will-change:transform}

/* Page-to-page crossfade, and the wordmark travels between the door and the product page. */
@media (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
  ::view-transition-old(root),::view-transition-new(root){animation-duration:280ms;animation-timing-function:var(--ease-out)}
  ::view-transition-group(*){animation-duration:520ms;animation-timing-function:var(--ease-move)}
  .vt-spot{view-transition-name:wm-spot}
  .vt-staff{view-transition-name:wm-staff}
}

@media (max-height:720px) and (min-width:1021px){.phone.back{bottom:-48px}}
@media (max-width:1020px){
  .hero-copy{width:66%}
  .phone.front{right:7vw}
  .phone.back{display:none}
  .demo{grid-template-columns:1fr}
  .also,.door-copy,.staff-hero-copy{grid-template-columns:1fr}
}
@media (max-width:760px){
  .top{height:64px}
  .nav .optional{display:none}
  .hero{display:block;min-height:0;padding-bottom:calc(139vw - 120px)}
  .hero-copy{width:auto;padding:92px var(--gutter) 40px}
  .hero h1{font-size:clamp(3rem,14.4vw,5.6rem)}
  .phone.front{width:64vw;left:var(--gutter);right:auto;bottom:-96px}
  .phone.back{display:block;width:56vw;right:-14vw;bottom:-20px}
  .more-grid,.way{grid-template-columns:1fr}
  .portal.after-hero{padding-top:210px}
  .portal-panel{grid-template-columns:1fr}
  .motion .portal-panel{align-content:start;padding-top:76px}
  .motion .portal-phones{align-self:start}
  .portal-phones .phone{width:46%}
  .step{grid-template-columns:1fr}
  .step-phone{width:70vw}
  .motion .step-phone{left:50%;top:clamp(106px,14svh,130px);height:54svh;margin:0;translate:-50% 0}
  .motion .step-text{left:var(--gutter);right:var(--gutter);top:auto;bottom:clamp(24px,5svh,48px);width:auto;transform:none}
  .motion .step-text h3{font-size:clamp(2.6rem,12vw,4rem)}
  .motion .step-text p{font-size:1.05rem;max-width:none}
  .board{--who:0px}
  .b-row{grid-template-columns:1fr}
  .b-who{font-size:.85rem;margin-bottom:2px}
  .b-line{height:26px}
  .b-days{font-size:.76rem}
  .b-tag{font-size:.46rem}
  .b-pub{font-size:.82rem}
  .motion .weeks-stage{grid-template-columns:1fr;grid-template-rows:auto auto 1fr;align-items:start}
  .motion .board-frame{grid-column:1;grid-row:2}
  .motion .b-steps{grid-column:1;grid-row:3;height:100%}
  .motion .b-step{justify-content:flex-start}
  .b-step h3{font-size:2rem}
  .b-step p{font-size:1rem}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
}
