/* Pillar Restoration. Layout, scale and motion measured from fluid.glass (see ../DESIGN.md). */
:root{
  --cream:#F1ECE3; --ink:#141311; --grey:#1C1B19; --taupe:#D9D0C1; --gold:#A8803F; --white:#fff;
  --ink-60:color-mix(in srgb,var(--grey) 60%,transparent);
  --ease-ioq:cubic-bezier(.455,.03,.515,.955); --ease-ioquart:cubic-bezier(.77,0,.175,1); --ease-oquart:cubic-bezier(.165,.84,.44,1); --ease-sweep:cubic-bezier(1,0,0,1);
  --sans:"Geist",ui-sans-serif,system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --g:4rem;
  color-scheme:light;
}
/* 1rem = viewport/160, exactly as the reference (9px at 1440). */
html{font-size:calc(100vw / 160);-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--cream)}
@media (max-width:600px){html{font-size:calc(100vw / 39)} :root{--g:1.6rem}}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--sans);font-size:1.8rem;line-height:1.3;color:var(--grey);background:var(--cream);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;z-index:200;background:var(--ink);color:#fff;padding:1rem 2rem}
.skip:focus{left:1rem}

/* Type roles */
.display{font-weight:400;font-size:6.4rem;line-height:1;letter-spacing:-.03em}
.title{font-weight:400;font-size:4rem;line-height:1;letter-spacing:-.02em}
.body{font-size:1.8rem;line-height:1.3}
.small{font-size:1.6rem;line-height:1.3}
.mono{font-family:var(--mono);font-weight:500;font-size:1.2rem;letter-spacing:.08em;text-transform:uppercase;line-height:1.3}
.label{font-family:var(--mono);font-weight:600;font-size:1.4rem;letter-spacing:.1em;text-transform:uppercase;line-height:1.3;display:flex;align-items:center;gap:1rem}
.label::before{content:"";width:.6rem;height:.6rem;background:currentColor;transform:rotate(45deg);flex:none}
.label.center{justify-content:center}
.label--light{color:#fff}
.rule{height:1px;background:color-mix(in srgb,var(--grey) 22%,transparent);margin:0 var(--g)}
.rule--light{background:rgba(255,255,255,.18)}
@media (max-width:600px){.display{font-size:3.4rem;line-height:1.05}.title{font-size:2.8rem}.body{font-size:1.6rem}}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:1.2rem;background:var(--ink);color:#fff;font-family:var(--mono);font-weight:500;font-size:1.2rem;letter-spacing:.08em;text-transform:uppercase;padding:0 2.2rem;height:4.1rem;min-height:44px;overflow:hidden;position:relative;transition:background .4s}
.btn .arr{font-family:var(--sans);font-size:1.5rem;transition:transform .5s var(--ease-oquart)}
.btn:hover .arr{transform:translateX(.4rem)}
.btn:hover{background:#2a2825}
.btn--glass{background:rgba(255,255,255,.14);backdrop-filter:blur(1.4rem);-webkit-backdrop-filter:blur(1.4rem)}
.btn--glass:hover{background:rgba(255,255,255,.24)}
.btn--block{width:100%;justify-content:center}
.link-sweep{position:relative;display:inline-flex;align-items:center;gap:1rem;min-height:44px}
.link-sweep::after{content:"";position:absolute;left:0;right:0;bottom:1rem;height:1px;background:currentColor;transform:scaleX(0);transform-origin:100% 50%;transition:transform .5s var(--ease-sweep)}
.link-sweep:hover::after{transform:scaleX(1);transform-origin:0 50%}

/* Intro */
.intro{position:fixed;inset:0;z-index:150;background:var(--cream);display:grid;place-items:center;pointer-events:none;animation:intro-out .45s var(--ease-ioquart) 1.15s forwards}
.intro__brand{display:flex;align-items:center;gap:.8rem;font-size:1.8rem;font-weight:500;letter-spacing:-.01em;color:var(--grey)}
.intro__mark{display:block;width:2.4rem;height:2.4rem;animation:cube 1.1s var(--ease-ioq) forwards;transform-style:preserve-3d}
.intro__mark img{width:100%;height:100%}
.intro__name{display:inline-block;position:relative;white-space:nowrap}
.intro__name::after{content:"";position:absolute;inset:-2px -4px;background:var(--cream);transform-origin:100% 50%;animation:type .7s steps(18,end) .35s forwards}
@keyframes cube{0%{transform:rotateX(-30deg) rotateY(0) scaleY(.78)}100%{transform:rotateX(0) rotateY(-360deg) scaleY(1)}}
@keyframes type{to{transform:scaleX(0)}}
@keyframes intro-out{0%{opacity:1}100%{opacity:0;visibility:hidden}}

/* Top bar */
.topbar{position:absolute;top:0;left:0;right:0;z-index:20;height:5.4rem;padding:0 var(--g);display:flex;align-items:center;justify-content:center;color:#fff}
.topbar__logo img{height:2rem;width:auto}
.topbar__cta{position:absolute;right:var(--g);top:50%;transform:translateY(-50%)}
@media (max-width:600px){.topbar__cta{display:none}.topbar__logo img{height:2.2rem}}

/* 1. Hero: 1440x1319 at 1440 = 160rem x 146.6rem */
.hero{position:relative;height:146.6rem;color:#fff;overflow:hidden;background:#d4ccc0}
.hero__media{position:absolute;inset:0;animation:hero-open 1.15s var(--ease-ioquart) 1.25s both}
.hero__media img{width:100%;height:100%;object-fit:cover;animation:hero-zoom 2.2s var(--ease-oquart) 1.25s both}
.hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,10,9,.28) 0,rgba(11,10,9,.12) 30%,rgba(11,10,9,.38) 62%,rgba(11,10,9,.55) 100%)}
@keyframes hero-open{from{clip-path:inset(42% 26% 0 26%)}to{clip-path:inset(0 0 0 0)}}
@keyframes hero-zoom{from{transform:scale(1.18)}to{transform:scale(1)}}
.hero__head{position:absolute;left:0;right:0;top:72rem;text-align:center;z-index:2}
.hero__head .display{max-width:88rem;margin:0 auto}
.line{display:block;overflow:hidden;padding-bottom:.08em}
.line>span{display:inline-block;animation:line-up .9s var(--ease-oquart) both}
.line:nth-child(1)>span{animation-delay:1.9s}.line:nth-child(2)>span{animation-delay:1.98s}
@keyframes line-up{from{transform:translateY(105%)}to{transform:none}}
.hero__scroll{margin-top:2.4rem;opacity:.55;display:none}
.hero__sub{position:absolute;left:0;right:0;top:100rem;z-index:2}
.hero__subgrid{position:relative;padding:3rem var(--g) 0;display:grid;grid-template-columns:1fr 30.1rem;gap:4rem}
.hero__subgrid .label{position:absolute;left:0;right:0;top:3rem}
.hero__p{grid-column:2;max-width:30.1rem}
@media (max-width:600px){
  .hero{height:100svh;min-height:56rem}
  .hero__head{top:auto;bottom:11rem;padding:0 var(--g)}
  .hero__scroll{display:block}
  .hero__sub{display:none}
}

/* 2. About text CTA */
.about{padding:15rem var(--g) 0;text-align:center;display:flex;flex-direction:column;align-items:center}
.about__text{max-width:100.5rem;margin:3rem auto 4rem}
@media (max-width:600px){.about{padding-top:8rem}}

/* 3. Collection: scattered cards */
.collection{padding-top:15rem}
.collection>.label{padding:2rem var(--g) 0}
.collection__stage{position:relative;height:139rem;margin-top:0}
.card{position:absolute;display:block;overflow:hidden;color:#fff;background:var(--taupe)}
.card img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-oquart)}
.card:hover img{transform:scale(1.04)}
.card::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.12)}
.card__title{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;font-weight:400;font-size:4rem;line-height:1;letter-spacing:-.02em;z-index:2}
.card__view{position:absolute;left:50%;top:calc(50% + 5rem);transform:translateX(-50%);z-index:2;padding:1.4rem 3.2rem;background:rgba(255,255,255,.18);backdrop-filter:blur(2rem);-webkit-backdrop-filter:blur(2rem);opacity:0;transition:opacity .3s}
.card:hover .card__view{opacity:1}
.card--a{left:48.9rem;top:7.6rem;width:42.9rem;height:52.9rem}
.card--b{left:113.1rem;top:75rem;width:36.6rem;height:45rem}
.card--c{left:4rem;top:79.6rem;width:36.6rem;height:45rem}
.card--d{left:74.6rem;top:80.6rem;width:30.1rem;height:37.1rem}
.collection__intro{position:absolute;left:106.7rem;top:22rem;width:30.1rem}
.collection__intro .btn{margin-top:5rem}
@media (max-width:600px){
  .collection__stage{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;padding:3rem var(--g) 0}
  .card{position:relative;left:auto!important;top:auto!important;width:auto!important;height:auto!important;aspect-ratio:450/555}
  .collection__intro{position:static;width:auto;grid-column:1/-1;order:-1;margin-bottom:2rem}
  .collection__intro .btn{margin-top:2.4rem}
  .card__title{font-size:2.4rem}
}

/* 4. Dark band: 1800 tall, media grows on scroll */
.band{background:var(--grey);color:#fff;margin-top:15rem;padding-top:2.1rem;height:200rem;position:relative}
.band>.label{padding:2rem var(--g) 0}
.band__stage{position:sticky;top:0;height:100vh;display:grid;place-items:center;overflow:hidden}
.band__media{position:absolute;left:50%;top:50%;width:88rem;height:55rem;transform:translate(-50%,-50%);overflow:hidden;will-change:width,height}
.band__media img{width:100%;height:100%;object-fit:cover}
.band__media::after{content:"";position:absolute;inset:0;background:rgba(15,14,12,.42)}
.band__text{position:relative;z-index:2;width:100%;padding:0 var(--g);display:flex;justify-content:space-between;align-items:flex-start;border-top:1px solid rgba(255,255,255,.14);padding-top:2rem}
.band__line{max-width:45rem}
.band__addr{text-align:right;width:22.2rem}
.band__addr .mono{margin-bottom:.8rem}
.band__addr .small{color:rgba(255,255,255,.8);margin-bottom:2rem}
@media (max-width:600px){
  .band{height:auto;padding-bottom:6rem}
  .band__stage{position:relative;height:auto;display:block;padding-top:3rem}
  .band__media{position:relative;left:auto;top:auto;transform:none;width:100%!important;height:auto!important;aspect-ratio:16/10}
  .band__text{flex-direction:column;gap:3rem;margin-top:3rem}
  .band__addr{text-align:left}
}

/* 5. Rebuild list */
.list,.faq{padding-top:15rem;position:relative}
.list__head{display:grid;align-items:start;grid-template-columns:57.8rem 1fr;padding:2rem var(--g) 0}
.list__head .display{max-width:88rem;margin-bottom:4rem}
.rows{margin:9rem var(--g) 0;border-top:1px solid color-mix(in srgb,var(--grey) 14%,transparent)}
.row{display:grid;grid-template-columns:38.6rem 1fr 3rem;align-items:center;min-height:7.8rem;border-bottom:1px solid color-mix(in srgb,var(--grey) 14%,transparent);color:color-mix(in srgb,var(--grey) 74%,transparent);transition:color .4s;cursor:default}
.row:hover{color:var(--grey)}
.row__t{font-weight:400;font-size:2.4rem;line-height:1.2}
.tags{display:flex;flex-wrap:wrap;gap:.9rem}
.tags span{font-family:var(--mono);font-weight:500;font-size:1.2rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid currentColor;border-radius:3rem;padding:.4rem 1rem}
.row__arr{justify-self:end;font-size:1.6rem}
.row-peek{position:absolute;z-index:5;width:23.9rem;height:30rem;left:0;top:0;pointer-events:none;opacity:0;transition:opacity .3s ease-out;overflow:hidden}
.row-peek img{width:100%;height:100%;object-fit:cover}
.row-peek.on{opacity:1}
@media (max-width:600px){
  .list,.faq{padding-top:8rem}
  .list__head{grid-template-columns:1fr;gap:2.4rem}
  .rows{margin-top:4rem}
  .row{grid-template-columns:1fr 3rem;padding:1.6rem 0;gap:1rem}
  .tags{grid-column:1/-1;grid-row:2}
  .row-peek{display:none}
}

/* 6. Duo */
.duo{position:relative;height:112.6rem;margin-top:15rem}
.duo__a{position:absolute;left:29.7rem;top:0;width:49.3rem;height:74rem;object-fit:cover}
.duo__b{position:absolute;left:81rem;top:0;width:75rem;height:112.6rem;object-fit:cover}
@media (max-width:600px){.duo{height:auto;display:grid;grid-template-columns:1fr 1.5fr;gap:1.2rem;padding:0 var(--g);margin-top:8rem;align-items:start}.duo__a,.duo__b{position:static;width:100%;height:auto;aspect-ratio:2/3}}

/* 7. Reviews */
.reviews{padding-top:15rem;overflow:hidden}
.reviews>.label{padding:2rem var(--g) 0}
.reviews__h{font-size:4.8rem;line-height:1;letter-spacing:-.03em;max-width:40rem;margin:7rem var(--g) 0}
.reviews__score{margin:4rem var(--g) 0;display:flex;gap:1rem;align-items:center;color:color-mix(in srgb,var(--grey) 74%,transparent)}
.stars{color:var(--gold);letter-spacing:.1em;font-size:1.4rem}
.marquee{margin-top:5rem;overflow:hidden}
.marquee+.marquee{margin-top:2.4rem}
.marquee__row{display:flex;gap:2.6rem;width:max-content;animation:marq 60s linear infinite}
.marquee--rev .marquee__row{animation-direction:reverse}
.marquee:hover .marquee__row{animation-play-state:paused}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.rcard{width:50.7rem;min-height:26rem;border:1px solid color-mix(in srgb,var(--grey) 14%,transparent);padding:2.6rem;background:var(--cream)}
.rcard__n{font-weight:600;font-size:1.6rem}
.rcard__q{margin-top:6rem;font-size:1.6rem;color:color-mix(in srgb,var(--grey) 80%,transparent)}
.rcard--todo{border-style:dashed;color:color-mix(in srgb,var(--grey) 74%,transparent)}
@media (max-width:600px){.reviews{padding-top:8rem}.reviews__h{font-size:3.2rem;margin-top:3rem}.rcard{width:30rem}}

/* 8. FAQ */
.faq__list{margin:6rem var(--g) 0;border-top:1px solid color-mix(in srgb,var(--grey) 14%,transparent)}
.qa{border-bottom:1px solid color-mix(in srgb,var(--grey) 14%,transparent)}
.qa summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:2rem;min-height:7.8rem;cursor:pointer}
.qa summary::-webkit-details-marker{display:none}
.qa h3{font-weight:400;font-size:2.4rem;line-height:1.2}
.qa__i{width:1.4rem;height:1.4rem;position:relative;flex:none}
.qa__i::before,.qa__i::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:currentColor;transition:transform .4s var(--ease-oquart)}
.qa__i::after{transform:rotate(90deg)}
.qa[open] .qa__i::after{transform:rotate(0)}
.qa p{max-width:72rem;padding:0 0 3rem;font-size:1.8rem;color:color-mix(in srgb,var(--grey) 80%,transparent)}
.qa p a{text-decoration:underline;text-underline-offset:.2em}
@media (max-width:600px){.qa h3{font-size:2rem}.qa p{font-size:1.6rem}}

/* 9. CTA */
.cta{padding:15rem var(--g) 0}
.cta__box{position:relative;border:1px solid color-mix(in srgb,var(--grey) 14%,transparent);padding:2rem 2.2rem 10rem;min-height:45.8rem;overflow:hidden}
.cta__h{max-width:70rem;margin-top:3rem}
.cta__btns{display:flex;gap:2.4rem;align-items:center;margin-top:4rem}
.cta__btns .link{display:inline-flex;gap:1rem}
.cta__lines{position:absolute;right:0;top:0;height:100%;width:auto;color:color-mix(in srgb,var(--grey) 18%,transparent)}
@media (max-width:600px){.cta{padding-top:8rem}.cta__btns{flex-wrap:wrap}.cta__lines{display:none}}

/* 10. Footer */
.footer{position:relative;height:100rem;margin-top:15rem;color:#fff;overflow:hidden;background:var(--ink);display:grid;place-items:center}
.footer__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.footer::before{content:"";position:absolute;inset:0;background:rgba(10,9,8,.25);z-index:1}
.footer__mark{position:absolute;top:2.8rem;left:50%;transform:translateX(-50%);width:2.8rem;height:2.8rem;z-index:2}
.footer__ghost{position:absolute;left:50%;bottom:4rem;transform:translateX(-50%);z-index:1;font-size:46rem;line-height:.8;letter-spacing:-.05em;color:rgba(255,255,255,.22);mix-blend-mode:overlay;white-space:nowrap;font-weight:500}
.footer__bar{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;justify-content:space-between;padding:2.4rem var(--g);font-size:1.4rem;color:rgba(255,255,255,.75)}
@media (max-width:600px){.footer{height:auto;min-height:72rem;padding:8rem var(--g) 10rem}.footer__ghost{font-size:22rem}.footer__bar{flex-direction:column;gap:.6rem;padding-bottom:9rem}}

/* Menu card (footer + overlay) */
.menu-card{position:relative;z-index:3;width:30rem;padding:3rem;background:rgba(18,17,15,.72);backdrop-filter:blur(2.4rem);-webkit-backdrop-filter:blur(2.4rem);color:#fff}
.menu-card__k{color:rgba(255,255,255,.6);margin-bottom:2rem}
.menu-card__main a{display:block;font-size:3.2rem;line-height:1.125;letter-spacing:-.02em;transition:color .5s}
.menu-card__main a:hover{color:var(--gold)}
.menu-card__sub{display:grid;grid-template-columns:1fr 1.5fr;gap:1rem;margin:3rem 0;font-size:1.4rem;color:rgba(255,255,255,.72)}
.menu-card__sub a{display:flex;align-items:center;min-height:26px;line-height:1.3}
.menu-card__sub a:hover{color:#fff}
@media (max-width:600px){.menu-card{width:min(32rem,100%)}.menu-card__main a{font-size:2.8rem;line-height:1.3}}

/* Fixed pill */
.pill{position:fixed;left:50%;bottom:3.6rem;z-index:60;transform:translateX(-50%);width:27.6rem;height:5rem;display:grid;grid-template-columns:5rem 1fr 5rem;align-items:center;background:rgba(18,17,15,.82);backdrop-filter:blur(2rem);-webkit-backdrop-filter:blur(2rem);color:#fff;animation:pill-in .8s var(--ease-ioquart) 2.1s both}
.pill__mark{display:grid;place-items:center;height:100%;border-right:1px solid rgba(255,255,255,.1)}
.pill__mark img{width:1.9rem;height:1.9rem}
.pill__label{text-align:center}
.pill__burger{height:100%;display:grid;place-content:center;gap:.35rem;min-width:44px}
.pill__burger span{display:block;width:1.8rem;height:1px;background:#fff;transition:transform .4s var(--ease-oquart),opacity .3s}
.pill__burger[aria-expanded=true] span:nth-child(1){transform:translateY(.45rem) rotate(45deg)}
.pill__burger[aria-expanded=true] span:nth-child(2){opacity:0}
.pill__burger[aria-expanded=true] span:nth-child(3){transform:translateY(-.45rem) rotate(-45deg)}
@keyframes pill-in{from{width:5rem;opacity:0}to{width:27.6rem;opacity:1}}
@media (max-width:600px){.pill{width:calc(100% - 3.2rem);max-width:36rem;height:5.2rem;bottom:1.6rem;grid-template-columns:5.2rem 1fr 5.2rem}@keyframes pill-in{from{opacity:0;transform:translate(-50%,2rem)}to{opacity:1;transform:translate(-50%,0)}}}
.menu{position:fixed;inset:0;z-index:55;display:grid;place-items:center;background:rgba(10,9,8,.4)}
.menu[hidden]{display:none}
.menu .menu-card{animation:menu-in .5s var(--ease-oquart) both}
@keyframes menu-in{from{opacity:0;transform:translateY(2rem)}to{opacity:1;transform:none}}

/* Scroll reveal */
.js .reveal{opacity:0;transform:translateY(3rem);transition:opacity .9s var(--ease-oquart),transform .9s var(--ease-oquart)}
.js .reveal.in{opacity:1;transform:none}
.card.reveal{transition-duration:1.1s}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .intro{display:none}
  .js .reveal{opacity:1;transform:none}
  .intro__name{width:auto}
}
@media (max-width:600px){.hero .line{display:inline}.hero .line>span{display:inline}.hero .display{font-size:3.2rem}}
/* Card reveal, as the reference: title first, photo wipes up behind it */
.js .card.reveal{opacity:1;transform:none;background:transparent}
.js .card.reveal img{clip-path:inset(100% 0 0 0);transition:clip-path 1.3s var(--ease-ioquart) .15s,transform 1.2s var(--ease-oquart)}
.js .card.reveal.in img{clip-path:inset(0 0 0 0)}
.js .card.reveal .card__title{color:var(--grey);transition:color .6s .7s}
.js .card.reveal.in .card__title{color:#fff}
@media (prefers-reduced-motion:reduce){.js .card.reveal img{clip-path:none}.js .card.reveal .card__title{color:#fff}}
/* Legal pages */
.legal-page{background:var(--cream)}
.legal__top{display:flex;justify-content:space-between;align-items:center;padding:2.4rem var(--g);border-bottom:1px solid color-mix(in srgb,var(--grey) 14%,transparent)}
.legal__top img{height:2.4rem;width:auto}
.legal{max-width:86rem;margin:0 auto;padding:8rem var(--g) 10rem}
.legal .display{margin:2rem 0 3rem}
.legal__lede{max-width:64rem}
.legal__meta{margin-top:3rem;color:color-mix(in srgb,var(--grey) 74%,transparent)}
.legal__toc{margin:5rem 0;padding:3rem 0;border-top:1px solid color-mix(in srgb,var(--grey) 14%,transparent);border-bottom:1px solid color-mix(in srgb,var(--grey) 14%,transparent)}
.legal__toc ol{columns:2;gap:4rem;padding-left:2rem;font-size:1.6rem;line-height:1.9}
.legal__toc a:hover,.legal a{text-decoration:underline;text-underline-offset:.2em}
.legal__s{padding:4rem 0;border-bottom:1px solid color-mix(in srgb,var(--grey) 14%,transparent)}
.legal__s h2{font-weight:400;font-size:3.2rem;letter-spacing:-.02em;margin:1rem 0 2rem}
.legal__s p,.legal__s li{font-size:1.8rem;line-height:1.5;max-width:68rem}
.legal__s p+p{margin-top:1.4rem}
.legal__s ul{list-style:disc;padding-left:2.4rem;margin:1.4rem 0}
.legal__foot{padding:4rem var(--g) 6rem;font-size:1.4rem;display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;color:color-mix(in srgb,var(--grey) 80%,transparent)}
.legal__foot a{min-height:24px;display:inline-block}
@media (max-width:600px){.legal{padding-top:5rem}.legal__toc ol{columns:1}.legal__s h2{font-size:2.4rem}.legal__s p,.legal__s li{font-size:1.6rem}}
/* SMS consent line on the home page */
.sms-note{margin:3rem var(--g) 0;font-size:1.4rem;line-height:1.5;color:color-mix(in srgb,var(--grey) 80%,transparent);max-width:80rem}
.sms-note a{text-decoration:underline;text-underline-offset:.2em}
.footer__bar a{text-decoration:underline;text-underline-offset:.2em;margin-left:1.6rem}

/* Motion loops (hero, band): load after paint, fade in over the still */
.lazy-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;opacity:0;transition:opacity 1.2s var(--ease-oquart)}
.lazy-video.on{opacity:1}
.hero__media::after,.band__media::after{z-index:2}
/* Phones: same intro sequence, compressed so the headline paints by about 0.7 s */
@media (max-width:600px){
  .intro{animation-duration:.3s;animation-delay:.45s}
  .intro__name::after{animation-duration:.35s;animation-delay:.05s}
  .hero__media,.hero__media img{animation-delay:.4s}
  .line:nth-child(1)>span{animation-delay:.5s}.line:nth-child(2)>span{animation-delay:.55s}
  .pill{animation-delay:.6s}
}
