.subpage { background: var(--ink); }
.subpage main { overflow: hidden; }
.subpage-hero { position: relative; min-height: min(88rem,100dvh); overflow: hidden; isolation: isolate; }
.subpage-scene { position: absolute; z-index: -3; inset: 0; transform: scale(1.035); }
.download-page .subpage-scene { background: url('/assets/scene-download-v1.webp') 56% 47% / cover no-repeat; }
.iphone-page .subpage-scene { background: url('/assets/scene-apple-link-v1.webp') 52% 48% / cover no-repeat; }
.subpage-hero::before { content: ''; position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg,rgba(3,4,5,.92) 0%,rgba(3,4,5,.72) 35%,rgba(3,4,5,.14) 69%,rgba(3,4,5,.58)),linear-gradient(180deg,rgba(3,4,5,.1),rgba(3,4,5,.15) 48%,#050607 100%); }
.subpage-hero::after { content: none; }
.subpage-hero-copy { position: absolute; left: max(2rem,calc((100% - 84rem)/2)); bottom: clamp(6rem,12vh,10rem); width: min(38rem,calc(100% - 4rem)); }
.subpage-hero-copy h1 { margin: 1.6rem 0 1.5rem; font-family: var(--serif); font-size: clamp(4.8rem,8.4vw,9rem); font-weight: 400; letter-spacing: -.065em; line-height: .8; }
.subpage-hero-copy h1 em { color: rgba(244,241,235,.54); font-weight: 400; }
.subpage-hero-copy > p:not(.eyebrow) { max-width: 32rem; margin: 0; color: rgba(244,241,235,.7); font-size: clamp(.86rem,1.15vw,1.02rem); line-height: 1.75; }
.text-back { display: inline-flex; margin-top: 2rem; color: rgba(244,241,235,.72); font-family: var(--mono); font-size: .59rem; letter-spacing: .08em; transition: color .4s ease,transform .4s ease; }
.text-back:hover { color: var(--paper); transform: translateX(-.2rem); }
.download-page .apple-hero-link { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: min(100%,33rem); min-height: 5.2rem; margin-top: 1.8rem; padding: .9rem 1.2rem; border: 1px solid rgba(244,241,235,.38); border-radius: .9rem; background: rgba(244,241,235,.12); color: var(--paper); backdrop-filter: blur(14px); transition: border-color .25s ease, background .25s ease, transform .25s ease; }
.download-page .apple-hero-link small { display: block; color: #d8ff93; font-family: var(--mono); font-size: .68rem; font-weight: 500; letter-spacing: .03em; }
.download-page .apple-hero-link strong { display: block; margin-top: .35rem; font-size: clamp(.98rem,1.35vw,1.18rem); font-weight: 600; line-height: 1.3; }
.download-page .apple-hero-link b { display: grid; place-items: center; flex: none; width: 2.8rem; height: 2.8rem; border-radius: 50%; background: var(--paper); color: var(--ink); font-size: 1.1rem; font-weight: 400; }
.download-page .apple-hero-link:hover { border-color: #d8ff93; background: rgba(244,241,235,.18); transform: translateY(-2px); }
.download-page .apple-hero-link:focus-visible, .apple-guide .button:focus-visible { outline: 2px solid #d8ff93; outline-offset: 4px; }
.download-page .text-back { margin-top: 1.5rem; }
.hero-aside { position: absolute; right: max(2rem,calc((100% - 84rem)/2)); bottom: clamp(6rem,12vh,10rem); margin: 0; padding-left: 1rem; border-left: 1px solid rgba(255,255,255,.24); color: rgba(244,241,235,.45); font-family: var(--mono); font-size: .57rem; letter-spacing: .12em; line-height: 1.8; text-transform: uppercase; }

.subpage-section { width: min(100% - 4rem,84rem); margin: 0 auto; padding: clamp(6rem,10vw,10rem) 0; }
.subpage-heading { display: grid; grid-template-columns: 9rem minmax(0,1fr) minmax(13rem,.36fr); align-items: end; gap: 2rem; margin-bottom: 4rem; }
.subpage-heading > p { align-self: start; margin: .6rem 0 0; color: var(--dim); font-family: var(--mono); font-size: .57rem; letter-spacing: .12em; }
.subpage-heading h2 { margin: 0; font-family: var(--serif); font-size: clamp(3.6rem,6vw,7rem); font-weight: 400; letter-spacing: -.065em; line-height: .91; }
.subpage-heading > span { margin-bottom: .55rem; color: var(--muted); font-size: .74rem; line-height: 1.6; }
.apple-path { position: relative; min-height: 13rem; display: grid; grid-template-columns: minmax(10rem,.45fr) minmax(18rem,1fr) auto; align-items: end; gap: 2rem; margin-bottom: 1rem; padding: 2rem; overflow: hidden; border: 1px solid rgba(244,241,235,.18); border-radius: 1rem; background: linear-gradient(90deg,rgba(5,6,7,.96),rgba(5,6,7,.56)),url('/assets/scene-apple-link-v1.webp') 72% 53% / cover no-repeat; color: rgba(244,241,235,.62); font-size: .72rem; }
.apple-path::before { content: 'APPLE'; position: absolute; top: 1.8rem; left: 2rem; color: rgba(216,255,147,.72); font-family: var(--mono); font-size: .54rem; letter-spacing: .18em; }
.apple-path strong { max-width: 13ch; color: var(--paper); font-family: var(--serif); font-size: clamp(2rem,3.4vw,3.7rem); font-weight: 400; letter-spacing: -.045em; line-height: .92; }
.apple-path b { display: grid; place-items: center; width: 3.4rem; height: 3.4rem; border: 1px solid rgba(244,241,235,.28); border-radius: 50%; color: var(--paper); font-size: 1.2rem; font-weight: 400; transition: transform .5s var(--ease-heavy),background .5s ease,color .5s ease; }
.apple-path:hover b { transform: translateX(.3rem); background: var(--paper); color: var(--ink); }
.wide-cta { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 1.5rem; padding: 1.35rem 1.5rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); font-size: .72rem; }
.wide-cta strong { color: var(--paper); font-family: var(--serif); font-size: 1.2rem; font-weight: 400; }
.wide-cta b { font-size: 1.2rem; font-weight: 400; transition: transform .5s var(--ease-heavy); }
.apple-path:hover b,.wide-cta:hover b { transform: translateX(.3rem); }

.release-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-top: 2.5rem; }
.release-card { min-width: 0; min-height: 40rem; display: flex; flex-direction: column; padding: clamp(1.6rem,3vw,2.6rem); border: 1px solid rgba(255,255,255,.12); border-radius: 1.2rem; background: #0b0d0e; }
.release-primary { background: var(--paper); color: var(--ink); }
.release-card-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.release-card-top p { margin: 0; color: inherit; opacity: .5; font-family: var(--mono); font-size: .55rem; letter-spacing: .08em; }
.platform-code { display: grid; place-items: center; width: 3.1rem; height: 3.1rem; border: 1px solid currentColor; border-radius: 50%; font-family: var(--mono); font-size: .62rem; }
.release-card h3 { margin: 3.5rem 0 2rem; font-family: var(--serif); font-size: clamp(2.6rem,4vw,4.8rem); font-weight: 400; letter-spacing: -.055em; line-height: .9; }
.release-meta { margin: 0; border-top: 1px solid color-mix(in srgb,currentColor 15%,transparent); }
.release-meta div { display: grid; grid-template-columns: 1fr auto; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid color-mix(in srgb,currentColor 15%,transparent); }
.release-meta > div > span:first-child { opacity: .5; font-size: .7rem; }
.release-meta > div > span:last-child { font-family: var(--mono); font-size: .65rem; font-variant-numeric: tabular-nums; }
.hash-block { min-width: 0; margin: 2rem 0; padding: 1rem; border-radius: .65rem; background: rgba(128,128,128,.09); }
.hash-block span { display: block; margin-bottom: .65rem; opacity: .45; font-family: var(--mono); font-size: .5rem; letter-spacing: .12em; }
.hash-block code,.hash-block small { display: block; overflow-wrap: anywhere; font-family: var(--mono); font-size: .54rem; line-height: 1.7; }
.hash-block small { margin-top: .8rem; opacity: .45; }
.download-button { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding: .55rem .55rem .55rem 1.3rem; border-radius: 999px; background: #111314; color: var(--paper); font-size: .75rem; font-weight: 600; }
.download-button-dark { background: var(--paper); color: var(--ink); }
.download-button b { display: grid; place-items: center; width: 2.7rem; height: 2.7rem; border-radius: 50%; background: rgba(128,128,128,.15); font-weight: 400; transition: transform .55s var(--ease-heavy); }
.download-button:hover b { transform: translate(.2rem,.2rem); }
.ref-card { grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; margin-bottom: 1rem; padding: 1.2rem; border: 1px solid rgba(216,255,147,.28); border-radius: .8rem; background: rgba(216,255,147,.07); }
.ref-card:not([hidden]) { display: grid; }
.ref-card p,.ref-card span { margin: 0; color: var(--muted); font-size: .68rem; }
.ref-card strong { font-family: var(--mono); }
.ref-card button { padding: .65rem .9rem; border: 1px solid var(--line-strong); border-radius: 99px; background: transparent; color: var(--paper); cursor: pointer; }
.ref-card span { grid-column: 2/-1; }

.warning-section { padding-top: 2rem; }
.warning-layout { display: grid; grid-template-columns: minmax(16rem,.65fr) minmax(24rem,1fr); gap: clamp(3rem,8vw,9rem); }
.warning-layout > p { margin: 0; color: var(--muted); font-family: var(--serif); font-size: clamp(1.6rem,2.6vw,2.8rem); line-height: 1.2; }
.numbered-steps,.big-steps { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.numbered-steps li { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; padding: 1.4rem 0; border-bottom: 1px solid var(--line); }
.numbered-steps span,.big-steps > li > span { color: var(--dim); font-family: var(--mono); font-size: .55rem; }
.numbered-steps p { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.65; }

.iphone-hero .subpage-scene { background-position: 52% 48%; filter: saturate(.72); }
.big-steps > li { display: grid; grid-template-columns: 7rem 1fr; gap: 2rem; padding: 2rem 0; border-bottom: 1px solid var(--line); }
.big-steps h3 { margin: 0; font-family: var(--serif); font-size: clamp(1.8rem,3vw,3.2rem); font-weight: 400; letter-spacing: -.04em; }
.big-steps p { max-width: 42rem; margin: .8rem 0 0; color: var(--muted); font-size: .78rem; line-height: 1.7; }
.big-steps a { color: var(--paper); text-decoration: underline; text-underline-offset: .2rem; }
.clients-section { width: 100%; max-width: none; padding-inline: max(2rem,calc((100% - 84rem)/2)); background: var(--paper); color: var(--ink); }
.clients-section .subpage-heading > p,.clients-section .subpage-heading > span { color: rgba(5,6,7,.48); }
.client-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.client-card { min-height: 28rem; display: flex; flex-direction: column; padding: clamp(1.7rem,3vw,2.5rem); border: 1px solid rgba(5,6,7,.14); border-radius: 1.2rem; background: rgba(5,6,7,.035); }
.client-recommended { background: #111314; color: var(--paper); }
.client-card > div { display: flex; flex-direction: column; gap: 2rem; }
.client-card > div span { opacity: .48; font-family: var(--mono); font-size: .53rem; letter-spacing: .12em; }
.client-card > div strong { font-family: var(--serif); font-size: clamp(4rem,7vw,7rem); font-weight: 400; letter-spacing: -.06em; }
.client-card > p { max-width: 32rem; margin: 2rem 0; color: inherit; opacity: .62; font-size: .78rem; line-height: 1.75; }
.client-card > a { display: flex; justify-content: space-between; margin-top: auto; padding-top: 1.2rem; border-top: 1px solid color-mix(in srgb,currentColor 18%,transparent); font-size: .72rem; }
.caution-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.caution-grid p { margin: 0; padding: 2rem; color: var(--muted); font-size: .76rem; line-height: 1.75; }
.caution-grid p + p { border-left: 1px solid var(--line); }
.caution-grid strong { display: block; margin-bottom: .8rem; color: var(--paper); font-family: var(--serif); font-size: 1.25rem; font-weight: 400; }
.wide-cta { margin-top: 3rem; }

@media (max-width: 767px) {
  .subpage-hero { min-height: 100dvh; }
  .download-page .subpage-scene { background-size: auto 100%; background-position: 60% 44%; }
  .iphone-page .subpage-scene { background-size: auto 100%; background-position: 52% 43%; }
  .subpage-hero::before { background: linear-gradient(180deg,rgba(3,4,5,.18),rgba(3,4,5,.16) 42%,rgba(3,4,5,.88) 72%,#050607 100%); }
  .subpage-hero-copy { left: 1.25rem; bottom: 4.5rem; width: calc(100% - 2.5rem); }
  .subpage-hero-copy h1 { font-size: clamp(4rem,19vw,5.3rem); }
  .subpage-hero-copy > p:not(.eyebrow) { font-size: .82rem; }
  .hero-aside { display: none; }
  .subpage-section { width: 100%; padding: 6rem 1.25rem; }
  .subpage-heading { display: block; margin-bottom: 2.7rem; }
  .subpage-heading h2 { margin-top: 2rem; font-size: clamp(3.3rem,14vw,4.8rem); }
  .subpage-heading > span { display: block; margin-top: 1.4rem; }
  .apple-path { min-height: 22rem; grid-template-columns: 1fr auto; align-content: end; padding: 1.5rem; background-position: 58% 50%; }
  .apple-path::before { top: 1.5rem; left: 1.5rem; }
  .apple-path span { grid-column: 1/-1; max-width: 18rem; }
  .apple-path strong { grid-column: 1/-1; font-size: clamp(2.5rem,12vw,3.8rem); }
  .apple-path b { grid-column: 2; justify-self: end; }
  .wide-cta { grid-template-columns: 1fr auto; }
  .wide-cta span { grid-column: 1/-1; }
  .release-grid,.client-grid { grid-template-columns: 1fr; }
  .release-card { min-height: 38rem; }
  .ref-card:not([hidden]) { grid-template-columns: 1fr auto; }
  .ref-card p,.ref-card span { grid-column: 1/-1; }
  .warning-layout { grid-template-columns: 1fr; gap: 3rem; }
  .big-steps > li { grid-template-columns: 3rem 1fr; gap: 1rem; }
  .clients-section { padding-inline: 1.25rem; }
  .client-card { min-height: 25rem; }
  .caution-grid { grid-template-columns: 1fr; }
  .caution-grid p { padding: 1.6rem 0; }
  .caution-grid p + p { border-left: 0; border-top: 1px solid var(--line); }
}

@media (prefers-reduced-motion: reduce) { .subpage-scene { transform: none; } }
.apple-guide { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: clamp(2rem,5vw,5rem); margin: 2rem 0; padding: clamp(1.5rem, 4vw, 3.5rem); border-radius: 1rem; background: #e9e6de; color: #1a1d1c; }
.apple-guide .eyebrow { color: #4e5550; }
.apple-guide h3 { max-width: 14ch; margin: .8rem 0 0; font-family: var(--serif); font-size: clamp(2.8rem, 4.5vw, 4.6rem); font-weight: 400; line-height: .97; letter-spacing: -.05em; text-wrap: balance; }
.apple-guide p:not(.eyebrow) { max-width: 45ch; margin: 0 0 1.5rem; font-size: 1.05rem; line-height: 1.65; color: #424941; }
.apple-guide .button { min-height: 3.75rem; background: #202621; color: #fff; border: 0; border-radius: .65rem; font-size: .94rem; }
.apple-guide .button span { margin-left: 1rem; font-size: 1.25rem; font-weight: 400; }
@media (max-width: 767px) {
  .download-page .subpage-hero-copy { bottom: 2.2rem; }
  .download-page .subpage-hero-copy h1 { margin: 1rem 0; font-size: clamp(3.5rem,16vw,5rem); }
  .download-page .apple-hero-link { margin-top: 1.25rem; }
  .download-page .text-back { margin-top: 1.1rem; }
  .apple-guide { grid-template-columns: 1fr; gap: 1.5rem; }
  .apple-guide h3 { font-size: clamp(2.5rem,11vw,3.5rem); }
  .apple-guide .button { display: flex; width: 100%; }
}
