/* Homepage (24.09.2026), editorial layout. Every rule is scoped to body.home-a. */
body.home-a{--ha-paper:#22262b;--ha-deep:#14171b;--ha-surface:#2b3036;--ha-ink:#f1f3f4;--ha-text:#d1d6da;--ha-muted:#aeb6be;--ha-line:#ffffff1f;--ha-mint:#21e0d5;--ha-amber:#e8b67a;--ha-gutter:clamp(20px,6vw,96px);--ha-header:88px;background:var(--ha-paper);color:var(--ha-text)}

/* Shared header and footer: colour only. The header floats over the cover like a masthead. */
body.home-a #somni-header{background:#14171bf0;border-bottom-color:transparent}
@media(min-width:1101px){body.home-a #somni-header{background:#14171bcc;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}}
body.home-a #somni-header a.somni-header-cta{background:var(--ha-ink);border-color:var(--ha-ink);color:#172127}
body.home-a #somni-header a.somni-header-cta:hover{background:var(--ha-mint);border-color:var(--ha-mint)}
body.home-a .original-footer{background:var(--ha-deep);border-top:1px solid var(--ha-line)}
body.home-a .ha-main{margin-top:calc(-1*var(--ha-header))}

/* Layout primitives */
body.home-a .ha-wrap{width:min(1280px,calc(100% - 2*var(--ha-gutter)));margin-inline:auto}
body.home-a .ha-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;align-items:start}
body.home-a .ha-br-m{display:none}

/* Type */
body.home-a .ha-eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 20px;font:400 12px/1.5 Mont,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--ha-muted);max-width:none}
body.home-a .ha-eyebrow::before{content:"";width:28px;height:1px;background:var(--ha-mint);flex:none}
body.home-a .ha-eyebrow .pro-pill{margin:0;background:var(--ha-mint);color:#142828;letter-spacing:.06em}
body.home-a h1 span,body.home-a h2 span{color:var(--ha-mint)}
body.home-a .ha-deck{font:400 clamp(18px,1.4vw,22px)/1.45 Mont,Arial,sans-serif;color:var(--ha-ink);max-width:34ch;margin:22px 0 0}
body.home-a .ha-lede{font:400 clamp(22px,1.9vw,28px)/1.4 Mont,Arial,sans-serif;color:var(--ha-ink);max-width:36ch;margin:0}
body.home-a .ha-body{font:400 17px/1.8 Mont,Arial,sans-serif;color:var(--ha-text);max-width:52ch;margin:0}
body.home-a .ha-body+.ha-body{margin-top:16px}
body.home-a .ha-lede+.ha-body{margin-top:26px}
body.home-a .ha-folio{display:flex;justify-content:space-between;gap:16px;margin:14px 0 0;padding-top:12px;border-top:1px solid var(--ha-line);font:400 12px/1.5 Mont,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ha-muted);max-width:none}

/* Buttons */
body.home-a .ha-btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:56px;padding:0 28px;border-radius:2px;border:1px solid transparent;font:700 13px/1 Europe,Arial,sans-serif;text-transform:uppercase;letter-spacing:0;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
body.home-a .ha-btn.primary{background:var(--ha-mint);border-color:var(--ha-mint);color:#10302e}
body.home-a .ha-btn.ghost{background:transparent;border-color:#ffffff59;color:var(--ha-ink)}
body.home-a .ha-btn:hover{background:#6ff0e8;border-color:#6ff0e8;color:#10302e}
body.home-a .ha-link{display:inline-flex;align-items:center;gap:14px;margin-top:16px;padding:12px 0;font:700 15px/1.4 Mont,Arial,sans-serif;color:var(--ha-mint);text-decoration:none;border-bottom:1px solid #21e0d566;transition:border-color .2s,color .2s}
body.home-a .ha-link:hover{border-color:var(--ha-mint);color:#6ff0e8}

/* Cover */
body.home-a .ha-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--ha-deep);height:clamp(680px,100vh,920px);display:grid;align-items:end;color:var(--ha-ink)}
body.home-a .ha-hero-img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;max-width:none;object-fit:cover;object-position:60% 38%;filter:saturate(1.05) contrast(1.02)}
body.home-a .ha-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,var(--ha-deep) 0,#14171bd9 26%,#14171b66 52%,transparent 78%),linear-gradient(90deg,#14171bb3,transparent 55%),radial-gradient(38% 32% at 42% 32%,#e8b67a2e,transparent 70%)}
body.home-a .ha-hero .ha-wrap{padding-bottom:72px;position:relative}
body.home-a .ha-hero-copy{max-width:900px;text-shadow:0 1px 24px #14171b99}
body.home-a .ha-hero h1{font:700 clamp(56px,6.3vw,92px)/.95 Europe,Arial,sans-serif;text-transform:uppercase;letter-spacing:-.045em;color:var(--ha-ink);margin:0}
body.home-a .ha-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
body.home-a .ha-social{display:flex;align-items:center;gap:6px;margin-top:30px;margin-left:-12px}
body.home-a .ha-social a{display:grid;place-items:center;width:44px;height:44px;opacity:.8;transition:opacity .2s}
body.home-a .ha-social a:hover{opacity:1}
body.home-a .ha-social img{width:20px;height:20px;object-fit:contain;filter:brightness(0) invert(1)}
body.home-a .ha-social span{font:400 12px/1.5 Mont,Arial,sans-serif;color:var(--ha-muted);border-left:1px solid #ffffff40;padding-left:16px;margin-left:10px;max-width:none;white-space:nowrap}
body.home-a .ha-corner{position:absolute;right:max(var(--ha-gutter),calc((100% - 1280px)/2));bottom:80px;margin:0;font:400 12px/1.5 Mont,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--ha-muted)}

/* Standfirst */
body.home-a .ha-standfirst{padding-block:clamp(64px,7vw,100px);border-top:1px solid var(--ha-line)}
body.home-a .ha-standfirst .ha-grid{align-items:center}
body.home-a .ha-standfirst .ha-copy{grid-column:1/7}
body.home-a .ha-standfirst .ha-copy h2{margin-bottom:28px}
body.home-a .ha-standfirst .ha-cutout{grid-column:8/13;justify-self:end;max-width:560px}
body.home-a .ha-standfirst h2{font:700 clamp(34px,3.6vw,52px)/1.02 Europe,Arial,sans-serif;text-transform:uppercase;letter-spacing:-.04em;color:var(--ha-ink);margin:0}
body.home-a .ha-standfirst .ha-btn{margin-top:36px}

/* Chapter opener */
body.home-a .ha-opener{position:relative;background:var(--ha-deep);color:var(--ha-ink)}
body.home-a .ha-opener-stage{position:relative;isolation:isolate;overflow:hidden;height:clamp(440px,44vw,640px);display:grid;align-items:end}
body.home-a .ha-opener-img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 55%;filter:saturate(1.05) contrast(1.02)}
body.home-a .ha-opener-stage::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,#14171bf2 0,#14171b80 30%,transparent 62%),radial-gradient(28% 34% at 43% 10%,#e8b67a2e,transparent 70%)}
body.home-a .ha-opener-text{grid-column:1/6;max-width:420px;padding-bottom:56px;text-shadow:0 1px 24px #14171b99}
body.home-a .ha-opener h2{font:700 clamp(26px,2.3vw,33px)/1.05 Europe,Arial,sans-serif;text-transform:uppercase;letter-spacing:-.04em;color:var(--ha-ink);margin:0;text-wrap:balance}
body.home-a .ha-opener h2 span{white-space:nowrap}
body.home-a .ha-opener .ha-deck{max-width:30ch;font-size:clamp(17px,1.25vw,18px);margin-top:18px}
body.home-a .ha-toc{position:absolute;z-index:1;right:max(var(--ha-gutter),calc((100% - 1280px)/2));bottom:56px;width:260px;display:flex;flex-direction:column}
body.home-a .ha-toc a{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:48px;border-top:1px solid #ffffff33;color:var(--ha-ink);text-decoration:none;font:400 14px/1.4 Mont,Arial,sans-serif;transition:color .2s,border-color .2s}
body.home-a .ha-toc a span:first-child{font-size:12px;letter-spacing:.16em;color:var(--ha-mint)}
body.home-a .ha-toc a:hover{color:var(--ha-mint);border-top-color:var(--ha-mint)}

/* Chapters */
body.home-a .ha-chapter{padding-bottom:clamp(56px,6.5vw,96px)}
body.home-a .ha-chapter>.ha-wrap{padding-top:clamp(56px,6.5vw,96px);border-top:1px solid transparent;border-image:linear-gradient(90deg,var(--ha-amber) 0,#ffffff1f 240px,transparent 100%) 1}
body.home-a .ha-chapter .ha-text{grid-column:1/6;grid-row:1/span 2}
body.home-a .ha-chapter.has-inset .ha-text{align-self:start;padding-block:0}
body.home-a .ha-foot{margin-top:32px;padding-top:16px;border-top:1px solid var(--ha-line)}
body.home-a .ha-chapter .ha-main-photo{grid-column:6/13;grid-row:1}
body.home-a .ha-chapter .ha-inset{grid-column:9/13;grid-row:2;margin-top:40px}
body.home-a .ha-chapter.flip .ha-main-photo{grid-column:1/8}
body.home-a .ha-chapter.flip .ha-text{grid-column:8/13}
body.home-a .ha-chapter-head{display:block}
body.home-a .ha-num{font:700 clamp(80px,8.5vw,124px)/.9 Europe,Arial,sans-serif;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px var(--ha-mint);opacity:.55;margin:0 0 12px}
@supports not (-webkit-text-stroke:1px #000){body.home-a .ha-num{color:var(--ha-mint);opacity:.35}}
body.home-a .ha-chapter h2{font:700 clamp(28px,3.05vw,44px)/1.05 Europe,Arial,sans-serif;text-transform:uppercase;letter-spacing:-.04em;color:var(--ha-ink);margin:0 0 24px;text-wrap:balance}
body.home-a .ha-photo{margin:0;min-width:0}
body.home-a .ha-frame{position:relative;overflow:hidden;border-radius:2px;background:var(--ha-surface);box-shadow:0 40px 70px -40px #000d;outline:1px solid #ffffff14;outline-offset:-1px}
body.home-a .ha-frame img{display:block;width:100%;height:100%;object-fit:cover;filter:none}
body.home-a .ha-frame.r32{aspect-ratio:3/2}
body.home-a .ha-frame.r43{aspect-ratio:4/3}
body.home-a .ha-frame.bright img{filter:brightness(.86) contrast(1.05) saturate(.75) sepia(.08)}
body.home-a .ha-p-inside{object-position:50% 55%}
body.home-a .ha-p-demo{object-position:60% 50%}
body.home-a .ha-p-cue{object-position:45% 50%}
body.home-a .ha-p-phone{object-position:40% 45%}
body.home-a .ha-p-audio{object-position:50% 50%;transform:scale(1.3);transform-origin:50% 50%}
body.home-a .ha-p-comfort{object-position:45% 40%}
body.home-a .ha-platform{margin:0;padding-top:4px;font:400 14px/1.5 Mont,Arial,sans-serif;color:var(--ha-muted)}
body.home-a .ha-last>.ha-wrap{padding-bottom:clamp(56px,6.5vw,96px)}
body.home-a .ha-last{padding-bottom:0}

/* Product cut-out (standfirst) */
body.home-a .ha-cutout{margin:0;width:100%}
body.home-a .ha-cutout-stage{position:relative;isolation:isolate}
body.home-a .ha-cutout-stage::before{content:"";position:absolute;z-index:-1;left:4%;right:4%;top:30%;height:52%;border-radius:50%;background:radial-gradient(closest-side,#e8b67aa6,#e8b67a38 50%,transparent);filter:blur(28px)}
body.home-a .ha-cutout-stage img{display:block;width:100%;height:auto;transform:rotate(7deg);filter:drop-shadow(0 26px 24px #0006)}
body.home-a .ha-cutout .ha-folio{margin-top:8px}

/* Closing */
body.home-a .ha-close{position:relative;isolation:isolate;overflow:hidden;background:var(--ha-deep);min-height:clamp(560px,72vh,720px);display:grid;align-items:end;color:var(--ha-ink)}
body.home-a .ha-close-img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 25%;filter:saturate(1.05)}
body.home-a .ha-close::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#14171bd9,#14171b73 45%,#14171b26),linear-gradient(to top,var(--ha-deep) 0,transparent 55%),radial-gradient(30% 30% at 14% 8%,#e8b67a2e,transparent 70%)}
body.home-a .ha-close .ha-wrap{padding:120px 0 72px}
body.home-a .ha-close-copy{max-width:720px;text-shadow:0 1px 24px #14171b99}
body.home-a .ha-close h2{font:700 clamp(40px,5vw,72px)/1 Europe,Arial,sans-serif;text-transform:uppercase;letter-spacing:-.045em;color:var(--ha-ink);margin:0}
body.home-a .ha-close .ha-deck{max-width:40ch}
body.home-a .ha-close .ha-actions{margin-top:36px}

/* Tablet: stack the spreads, keep the photos big. */
@media(max-width:1100px){
  body.home-a .ha-corner{display:none}
  body.home-a .ha-standfirst .ha-grid{grid-template-columns:minmax(0,1fr);column-gap:0}
  body.home-a .ha-standfirst .ha-copy,body.home-a .ha-standfirst .ha-cutout{grid-column:1/-1}
  body.home-a .ha-standfirst .ha-cutout{justify-self:center;max-width:440px;margin-top:40px}
  body.home-a .ha-opener-stage{display:block;height:auto}
  body.home-a .ha-opener-stage::before{display:none}
  body.home-a .ha-opener-img{position:relative;inset:auto;z-index:auto;width:100%;height:auto;aspect-ratio:2/1;object-position:50% 55%}
  body.home-a .ha-opener-stage .ha-grid{display:block}
  body.home-a .ha-opener-text{max-width:none;padding:36px 0 12px;text-shadow:none}
  body.home-a .ha-opener .ha-deck{max-width:48ch}
  body.home-a .ha-toc{position:static;width:min(1280px,calc(100% - 2*var(--ha-gutter)));margin:0 auto;padding:12px 0 40px}
  body.home-a .ha-toc a:last-child{border-bottom:1px solid #ffffff33}
  body.home-a .ha-chapter .ha-grid{display:flex;flex-direction:column;align-items:stretch;gap:40px}
  body.home-a .ha-chapter .ha-main-photo{order:-1}
  body.home-a .ha-chapter .ha-photo{width:100%}
  body.home-a .ha-chapter .ha-inset{margin-top:0;width:100%;max-width:640px}
  body.home-a .ha-num{font-size:64px;margin:0 0 12px}
}
@media(max-width:960px){body.home-a{--ha-header:73px}}

/* Phone */
@media(max-width:760px){
  body.home-a{--ha-gutter:20px}
  body.home-a .ha-br-m{display:inline}
  body.home-a .ha-br-d{display:none}
  body.home-a .ha-hero{height:min(100svh,820px);min-height:640px}
  body.home-a .ha-hero-img{object-position:52% 30%}
  body.home-a .ha-hero::before{background:linear-gradient(to top,var(--ha-deep) 0,#14171be6 34%,#14171b73 58%,transparent 80%),radial-gradient(38% 32% at 42% 32%,#e8b67a2e,transparent 70%)}
  body.home-a .ha-hero .ha-wrap{padding-bottom:28px}
  body.home-a .ha-hero h1{font-size:clamp(40px,11vw,50px)}
  body.home-a .ha-eyebrow{margin-bottom:18px}
  body.home-a .ha-deck{margin-top:18px}
  body.home-a .ha-actions{flex-direction:column;gap:12px;margin-top:26px}
  body.home-a .ha-btn{width:100%;min-height:52px}
  body.home-a .ha-social{margin-top:14px}
  body.home-a .ha-standfirst{padding-block:64px}
  body.home-a .ha-opener-img{aspect-ratio:4/3;object-position:55% 50%}
  body.home-a .ha-toc{padding:8px 0 40px}
  body.home-a .ha-chapter .ha-grid{gap:32px}
  body.home-a .ha-frame.r32{aspect-ratio:4/3}
  body.home-a .ha-num{font-size:56px;margin:0 0 12px}
  body.home-a .ha-standfirst .ha-cutout{max-width:none;margin-top:32px}
  body.home-a .ha-cutout-stage{width:78%;margin:0 auto}
  body.home-a .ha-close{display:block;min-height:0}
  body.home-a .ha-close::before{display:none}
  body.home-a .ha-close-img{position:relative;inset:auto;z-index:auto;width:100%;height:auto;aspect-ratio:4/3;object-position:62% 50%}
  body.home-a .ha-close .ha-wrap{padding:36px 0 56px}
  body.home-a .ha-close-copy{text-shadow:none}
}

/* Insets as full-width strips on desktop: no empty cell beside a small photo. */
@media(min-width:1101px){
  body.home-a .ha-chapter.has-inset .ha-text{grid-row:1}
  body.home-a .ha-chapter.has-inset .ha-inset{grid-column:1/13;grid-row:2;margin-top:48px}
  body.home-a .ha-chapter.has-inset .ha-inset .ha-frame{aspect-ratio:21/9}
  body.home-a .ha-chapter.has-inset .ha-inset .ha-p-demo{object-position:50% 42%}
  body.home-a #ch03 .ha-inset .ha-frame{aspect-ratio:2/1}
  body.home-a .ha-chapter.has-inset .ha-inset .ha-p-audio{object-position:50% 50%;transform:none}
}

@media(prefers-reduced-motion:reduce){body.home-a *{transition:none!important}}
