/* Touch layouts extend the approved desktop campaign without changing its grid. */
@media (max-width: 960px) {
  html { scroll-padding-top:104px; }
  .site-header,.site-header.is-scrolled {
    height:calc(76px + env(safe-area-inset-top,0px));
    padding-top:env(safe-area-inset-top,0px);
    background:rgba(10,15,19,.72);
    -webkit-backdrop-filter:blur(16px);
    backdrop-filter:blur(16px);
  }
  .site-header .brand { --brand-width:124px; }
  .menu-toggle { width:44px; height:44px; flex:0 0 44px; padding:11px; }
  .language-switch { padding:2px; gap:0; }
  .language-switch button { min-width:40px; min-height:40px; font-size:11px; padding:8px; }
  .mobile-menu {
    top:100%; padding:14px 24px 24px;
    max-height:calc(100dvh - 76px - env(safe-area-inset-top,0px));
    overflow-y:auto; overscroll-behavior:contain;
    background:rgba(12,18,23,.97); border-color:var(--line);
    box-shadow:0 18px 30px rgba(0,0,0,.2);
  }
  .mobile-menu a { min-height:48px; padding:10px 0; font-size:17px; }
  .mobile-menu .button { display:flex; margin-top:16px; padding:12px 16px 12px 20px; font-size:13px; }
  .hero-image { transform:translate3d(0,var(--scroll-y,0px),0) scale(var(--scroll-scale,1)); }
  .hero-shade { background:linear-gradient(90deg,rgba(5,10,14,.84),rgba(5,10,14,.43) 48%,rgba(5,10,14,.08)),linear-gradient(0deg,var(--bg),transparent 35%); }
  .section-heading,.capital-layout,.pillars-layout,.genetics,.principles,.copilot-layout,.faq,.signup-layout { min-width:0; }
  .section-heading>*,.capital-layout>*,.pillars-layout>*,.genetics>*,.copilot-layout>*,.signup-layout>* { min-width:0; }
  .copilot-layout { grid-template-columns:1fr 1fr; gap:32px; }
  .copilot-photo { grid-column:auto; }
  .copilot-roles { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
  .ring-detail { grid-template-columns:1fr; gap:28px; }
  .ring-models { grid-template-columns:1fr 1fr; gap:32px; }
  .ring-models>div+div { padding:0 0 0 28px; border-top:0; border-left:1px solid var(--line); }
  .ring-models p { font-size:14px; }
  .feature-tabs { scroll-padding-inline:4px; overscroll-behavior-x:contain; }
  .feature-tab { min-height:60px; flex-shrink:0; }
  .showcase-tabs button,.signup-tabs button { min-height:44px; }
  .finish { width:44px; height:44px; border-width:8px; }
  .ring-finishes { gap:18px; }
  .ring-finishes>span { font-size:12px; }
  .back-top { min-width:44px; min-height:44px; }
  .button:hover { transform:none; }
}

@media (max-width:700px) {
  html { scroll-padding-top:96px; }
  .wrap { width:calc(100% - 40px); }
  .section { padding-block:64px; }
  .site-header { padding-inline:20px; gap:16px; }
  .brand { gap:0; flex-shrink:0; }
  .header-actions { gap:12px; }
  .header-actions>.button-small { display:none; }
  .button { min-height:52px; font-size:13px; padding:12px 16px 12px 20px; }
  .button span { flex:0 0 28px; font-size:0; }
  .text-link { min-height:44px; font-size:13px; gap:12px; }
  .eyebrow { font-size:10px; letter-spacing:.07em; }
  h2 { font-size:clamp(32px,8.8vw,54px); line-height:1.02; letter-spacing:-.04em; }
  .hero { min-height:0; padding:420px 0 0; background:var(--bg); }
  .hero-image { top:76px; height:340px; object-position:100% center; filter:brightness(.98); }
  .hero-shade {
    background:linear-gradient(180deg,transparent 310px,rgba(10,13,16,.2) 365px,var(--bg) 422px);
  }
  .hero-content>.eyebrow { font-size:9px; letter-spacing:.055em; }
  .hero h1 { font-size:clamp(32px,10.5vw,70px); line-height:.99; letter-spacing:-.045em; margin:20px 0 26px; }
  html:lang(en) .hero h1 { font-size:clamp(29px,9.3vw,64px); }
  .hero h1 .headline-bridge { font-size:.57em; margin:.15em 0; }
  .hero-lede { font-size:14px; line-height:1.75; max-width:540px; }
  .hero-ctas { flex-wrap:wrap; gap:8px 22px; margin-top:24px; }
  .hero-ctas .button { padding:12px 14px 12px 18px; gap:20px; font-size:13px; }
  .hero-ctas .text-link { font-size:12px; }
  .hero-bottom { position:relative; bottom:auto; margin-top:36px; padding:20px 0 24px; border-top:1px solid var(--line); gap:20px; }
  .hero-bottom .eyebrow { font-size:8px; max-width:150px; line-height:1.5; }
  .scroll-cue { min-height:44px; font-size:9px; gap:10px; }
  .section-index { font-size:9px; letter-spacing:.025em; padding:0; margin-bottom:28px; gap:20px; border:0; }
  .section-heading { display:block; margin-bottom:30px; }
  .section-heading h2 { margin-top:18px; }
  .section-heading>p { font-size:14px; line-height:1.75; margin-top:24px; }
  .manifesto { padding-top:44px; }
  .manifesto-layout { gap:24px; }
  .manifesto h2 { font-size:clamp(32px,8.8vw,54px); line-height:1.03; }
  .manifesto-copy { margin-left:0; font-size:14px; line-height:1.75; }
  .quiet-note { font-size:14px; line-height:1.65; margin-top:22px; }
  .memory { padding-top:56px; padding-bottom:36px; }
  .memory h2 { font-size:clamp(31px,8.35vw,54px); }
  .showcase-toolbar { margin-top:28px; }
  .showcase-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2px; }
  .showcase-tabs button { padding:8px 3px; font-size:11px; white-space:nowrap; }
  .showcase-caption { font-size:10px; line-height:1.5; margin-top:16px; }
  .showcase-stage { margin-inline:-20px; border-radius:0; }
  .memory-points { gap:16px; padding:24px 0 0; }
  .memory-points span { font-size:13px; }
  .memory-points b { font-size:11px; margin-right:18px; }
  .capital-layout,.pillars-layout,.genetics,.principles,.copilot-layout,.faq,.signup-layout { grid-template-columns:1fr; gap:32px; }
  .capital h2 { font-size:clamp(34px,9.6vw,54px); }
  .section-lede { font-size:15px; line-height:1.7; }
  .capital-states { margin-top:24px; }
  .capital-states>div { padding:17px 0; }
  .capital-states p { font-size:13px; }
  .capital-art { min-height:300px; }
  .capital-art-copy { top:13%; }
  .scale-number { font-size:clamp(68px,20vw,100px); margin:18px 0 10px; }
  .pillars { padding-top:12px; }
  .pillar-visual { min-height:0; aspect-ratio:16/9; }
  .pillar-visual>div { padding:20px; }
  .pillar-visual strong { font-size:29px; }
  .pillar-visual .eyebrow { font-size:8px; }
  .pillar-row { padding:18px 0; gap:16px; }
  .pillar-row strong { font-size:23px; }
  .pillar-row small { font-size:13px; line-height:1.5; }
  .lifestyle-pair { width:100%; gap:12px; padding-bottom:0; }
  .life { padding-top:48px; }
  .life .section-index { margin-bottom:24px; }
  .life-heading { margin-bottom:24px; }
  .life-heading h2 { font-size:clamp(72px,20vw,112px); }
  .feature-tabs { margin-top:0; gap:26px; padding:0 20px 0; margin-inline:-20px; scroll-padding-inline:20px; }
  .feature-tab { font-size:13px; padding-bottom:14px; gap:5px; }
  .feature-tab span { font-size:10px; }
  .feature-panel { grid-template-columns:1fr; min-height:0; gap:26px; padding-top:24px; }
  .feature-photo { height:auto; aspect-ratio:16/9; margin-inline:-20px; }
  .feature-copy h3 { font-size:clamp(28px,8vw,42px); line-height:1.06; margin:16px 0 18px; }
  .feature-copy p { font-size:14px; line-height:1.8; }
  .feature-copy .text-link { margin-top:20px; }
  .ring { padding:0 0 56px; }
  .ring>.wrap { width:100%; }
  .ring-hero { min-height:0; padding-top:0; background:#151d23; }
  .ring-hero>img { position:relative; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; object-position:center; }
  .ring-hero::after,.ring-hero.is-gold::after { display:none; }
  .ring-copy { width:auto; padding:28px 24px 34px; }
  .ring-copy h2 { font-size:clamp(31px,8.9vw,52px); line-height:1.03; margin:20px 0; }
  .ring-copy>p { font-size:14px; line-height:1.8; }
  .ring-finishes { margin-top:26px; }
  .ring-detail { padding-inline:20px; gap:28px; margin-top:20px; }
  .ring-detail-photos { grid-template-columns:1fr; gap:12px; margin-inline:-20px; }
  .ring-models { grid-template-columns:1fr; gap:26px; }
  .ring-models>div+div { border-left:0; border-top:1px solid var(--line); padding:24px 0 0; }
  .ring-models h3 { font-size:25px; margin:10px 0 12px; }
  .ring-models p { font-size:14px; }
  .genetics { padding-top:0; }
  .genetics-photo { height:auto; aspect-ratio:16/9; margin-inline:-20px; }
  .genetics h2 { font-size:clamp(30px,8.5vw,48px); line-height:1.03; }
  .genetics p { font-size:14px; line-height:1.8; }
  .method-steps { grid-template-columns:1fr; gap:28px; margin-top:34px; }
  .method-steps li { display:grid; grid-template-columns:38px 1fr; gap:8px 18px; padding-top:24px; }
  .method-steps li>span { grid-row:1/3; font-family:var(--display); font-size:28px; line-height:1.2; letter-spacing:-.03em; }
  .method-steps h3 { font-size:23px; line-height:1.2; margin:0; }
  .method-steps p { grid-column:2; max-width:none; font-size:14px; line-height:1.7; }
  .principles-intro h2 { font-size:clamp(32px,8.8vw,52px); line-height:1.03; }
  .principles-intro p,.principles-list p { font-size:14px; line-height:1.75; }
  .principles-list li { gap:20px; padding:22px 0; }
  .principles-list h3 { font-size:23px; line-height:1.15; margin-bottom:10px; }
  .copilot h2 { font-size:clamp(32px,8.8vw,52px); line-height:1.03; }
  .copilot-layout>div>p { font-size:14px; line-height:1.8; }
  .copilot-photo { margin-inline:-20px; }
  .copilot-roles { grid-template-columns:1fr; gap:0; }
  .copilot-roles>div { padding:24px 0; }
  .copilot-roles p { font-size:17px!important; }
  .clinical-anchor { font-size:clamp(35px,10.8vw,64px); line-height:1.03; margin-top:12px; padding-top:28px; }
  .audience { min-height:0; padding:345px 0 56px; background:var(--bg); }
  .audience>img { height:560px; object-position:69% center; }
  .audience::before { background:linear-gradient(180deg,transparent 200px,rgba(10,13,16,.45) 335px,var(--bg) 550px); }
  .audience h2 { font-size:clamp(37px,10.5vw,64px); line-height:1.03; margin:20px 0 24px; }
  .audience p { font-size:14px; line-height:1.8; }
  .audience li { font-size:13px; padding-block:14px; }
  .faq h2 { font-size:clamp(37px,10.4vw,64px); }
  .faq h2 br { display:initial; }
  .faq .section-index { margin-bottom:24px; }
  .faq summary { font-size:15px; gap:18px; padding-block:23px; }
  .faq summary>span { flex-shrink:0; }
  .faq details>p { font-size:14px; padding:0 0 24px; }
  .signup-intro h2 { font-size:clamp(42px,12.2vw,68px); line-height:1.03; }
  .signup-intro>p { font-size:14px; line-height:1.8; }
  .signup-image { height:auto; aspect-ratio:16/9; margin:26px -20px 0; }
  .signup-tabs { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-bottom:28px; }
  .signup-tabs button { padding:12px 13px; font-size:12px; line-height:1.5; }
  .signup-box h3 { font-size:27px; }
  .signup-box [role=tabpanel]>p { font-size:14px; line-height:1.7; margin-bottom:24px; }
  .signup-box form>label:not(.consent-label) { font-size:13px; }
  .signup-box input[type=email],.signup-box input[type=text] { font-size:16px; height:56px; }
  .consent-label { padding:4px 0; gap:12px; }
  .consent-label input { width:22px; height:22px; flex-basis:22px; margin-top:2px; }
  .consent-label span,.form-status { font-size:12px; line-height:1.75; }
  .footer { padding-top:42px; padding-bottom:calc(26px + env(safe-area-inset-bottom,0px)); }
  .footer-top { gap:24px; }
  .footer-top .brand { --brand-width:172px; }
  .footer-top>p { order:3; width:100%; font-size:18px; }
  .footer-legal { font-size:12px; line-height:1.8; }
  .footer-bottom { font-size:10px; line-height:1.8; }
}

@media (min-width:701px) and (max-width:960px) {
  .hero { display:block; min-height:0; padding:calc(56.25vw + 100px) 0 0; background:var(--bg); }
  .hero-image { top:76px; height:56.25vw; object-position:center; }
  .hero-shade { background:none; }
  .hero h1 { font-size:clamp(54px,8vw,70px); max-width:100%; }
  html:lang(en) .hero h1 { font-size:clamp(49px,7.2vw,64px); }
  .hero-lede { max-width:620px; }
  .hero-bottom { position:relative; bottom:auto; margin-top:36px; padding:20px 0 28px; border-top:1px solid var(--line); }
}

@media (max-width:359px) {
  .site-header { padding-inline:16px; gap:12px; }
  .header-actions { gap:8px; }
  .site-header .brand { --brand-width:118px; }
  .showcase-tabs button { font-size:10px; }
  .hero-ctas { gap:4px; }
  .hero-ctas .button,.hero-ctas .text-link { width:100%; }
  .hero-ctas .text-link { justify-content:space-between; padding-inline:18px; }
}
