/* The EFB presentation is intentionally isolated from the studio pages. */
.efb-page { --product-orange:#ff9f43; background:#050506; color:#f5f5f7; font-family:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",sans-serif; }
.efb-page .site-header { position:relative; background:#080809; }
.product-nav { position:sticky; top:0; z-index:45; background:rgba(15,15,17,.8); backdrop-filter:blur(24px) saturate(160%); border-bottom:1px solid #ffffff16; }
.product-nav-inner { max-width:1180px; margin:auto; padding:12px 24px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.product-wordmark { display:flex; gap:10px; align-items:center; font-size:19px; font-weight:650; letter-spacing:-.6px; text-decoration:none; }
.product-wordmark img { width:26px; height:26px; object-fit:contain; }
.product-nav-inner>div { display:flex; align-items:center; gap:27px; font-size:12px; }
.product-nav a { text-decoration:none; }
.product-nav-inner>div>a:not(.product-buy) { color:#b5b5bc; transition:color .2s; }
.product-nav-inner>div>a:hover { color:white; }
.product-buy { border-radius:30px; padding:8px 17px; background:#f5f5f7; color:#141416; font-weight:600; }
.product-nav-inner>div>.product-buy:hover { color:#141416; background:#ffbc74; }
.reading-progress { height:2px; width:100%; background:linear-gradient(90deg,#e96b16,#ffc480); transform:scaleX(var(--reading,0)); transform-origin:left; position:absolute; bottom:-1px; }
.presentation { overflow:clip; }
.presentation .wrap { width:min(1180px,calc(100% - 64px)); margin-inline:auto; }
.presentation h1,.presentation h2,.presentation h3 { letter-spacing:-.055em; font-weight:650; }
.presentation h2 { font-size:clamp(48px,6.6vw,88px); line-height:1.02; }
.presentation h2 span { color:#77777e; }
.product-kicker { color:var(--product-orange); font-size:11px; font-weight:650; letter-spacing:.17em; line-height:1.5; }
.presentation p { text-wrap:pretty; }
.launch { position:relative; text-align:center; padding:80px 0 0; background:radial-gradient(ellipse at 50% 75%,#2b1c1122,transparent 60%),#050506; }
.launch-copy { position:relative; z-index:2; padding:0 24px; }
.launch h1 { margin:20px auto 24px; font-size:clamp(52px,7.8vw,110px); line-height:.98; max-width:1100px; }
.launch h1 span { background:linear-gradient(100deg,#fff0d4 10%,#ffb765 48%,#d37637 90%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.launch-intro { color:#a1a1a9; font-size:clamp(17px,1.7vw,21px); line-height:1.55; }
.launch-actions { display:flex; justify-content:center; align-items:center; gap:28px; flex-wrap:wrap; margin-top:30px; }
.pill { display:inline-flex; align-items:center; gap:24px; padding:15px 25px; border-radius:999px; background:#f5f5f7; color:#101013; font-size:15px; font-weight:600; text-decoration:none; transition:transform .3s,background .3s,box-shadow .3s; }
.pill:hover { background:#ffd09e; transform:translateY(-3px); box-shadow:0 8px 35px #ff9f4326; }
.text-link { display:inline-flex; gap:10px; align-items:center; font-size:15px; font-weight:500; color:#ffb266; text-decoration:none; }
.text-link:hover { color:#ffd6aa; }
.launch-art { position:relative; width:min(1130px,88vw); margin:60px auto 0; padding-bottom:50px; perspective:1400px; }
.device-halo { position:absolute; inset:0 -10% 10%; background:radial-gradient(ellipse,#b8622433,transparent 63%); filter:blur(50px); }
.launch-ipad { width:91%; margin:auto; position:relative; transform:translateY(calc(var(--launch-progress,0)*-20px)) rotateX(calc(9deg - var(--launch-progress,0)*9deg)) scale(calc(.94 + var(--launch-progress,0)*.06)); transform-origin:center bottom; filter:drop-shadow(0 35px 45px #0008); }
.launch-phone { position:absolute; width:17%; right:0; bottom:70px; transform:translateY(calc(var(--launch-progress,0)*-75px)) rotate(-7deg); filter:drop-shadow(-15px 20px 30px #000a); }
.device-caption { position:relative; display:block; margin-top:32px; color:#77777e; font-size:13px; }
.platform-line { display:flex; flex-wrap:wrap; justify-content:center; gap:22px 40px; padding:25px 24px; border-block:1px solid #ffffff0d; color:#77777e; font-size:12px; }
.platform-line span:first-child { color:#c5c5ca; }
.intro-statement { padding-block:150px 80px; }
.intro-statement h2 { margin:24px 0 30px; }
.intro-statement>p:last-child { margin-left:auto; max-width:570px; color:#9c9ca5; font-size:clamp(19px,2vw,25px); line-height:1.55; }
.flight-story { position:relative; margin-top:0; }
.story-sticky { position:sticky; top:70px; height:calc(100svh - 70px); width:58%; margin-left:42%; display:flex; align-items:center; z-index:1; pointer-events:none; }
.story-visual { position:relative; width:100%; aspect-ratio:4/3; perspective:1200px; }
.story-glow { position:absolute; inset:-10%; background:radial-gradient(ellipse,#82502a30,transparent 65%); }
.story-image { position:absolute; width:110%; max-width:none; top:0; left:0; opacity:0; transform:translateY(45px) rotateY(-8deg) scale(.96); transition:opacity .65s ease,transform 1s cubic-bezier(.2,.7,.2,1); }
.story-image.active { opacity:1; transform:translateY(0) rotateY(-8deg) scale(1); }
.story-pagination { position:absolute; bottom:-24px; left:40%; display:flex; gap:8px; }
.story-pagination i { height:5px; width:5px; border-radius:5px; background:#555; transition:width .4s,background .4s; }
.story-pagination i.active { width:26px; background:#ffb368; }
.story-steps { position:relative; margin-top:calc(-100svh + 70px) !important; }
.story-steps article { min-height:92svh; width:39%; display:flex; flex-direction:column; justify-content:center; padding:80px 0; opacity:.35; transition:opacity .5s; }
.story-steps article.active { opacity:1; }
.story-steps h2 { font-size:clamp(42px,4.8vw,65px); margin:22px 0; }
.story-steps article>p:last-child { font-size:18px; color:#a1a1aa; line-height:1.65; max-width:350px; }
.section-heading { margin-bottom:58px; }
.section-heading h2 { margin-top:22px; }
.section-heading>p:last-child:not(.product-kicker) { max-width:580px; color:#96969f; font-size:19px; line-height:1.6; margin-top:26px; }
.split-showcase { padding-block:120px 150px; }
.split-showcase .section-heading { text-align:center; }
.split-showcase .section-heading>p:last-child { margin-inline:auto; }
.split-art { position:relative; perspective:1500px; }
.split-art img { width:90%; margin:auto; transform:rotateX(4deg); filter:drop-shadow(0 40px 60px #000); }
.floating-label { position:absolute; font-size:12px; color:#d6d6dc; padding:12px 20px; border:1px solid #ffffff20; background:#242426cc; border-radius:999px; backdrop-filter:blur(12px); box-shadow:0 15px 40px #0005; }
.label-left { left:0; top:32%; }.label-right { right:0; bottom:22%; }
.feature-explorer { padding:120px 0; background:#111113; border-block:1px solid #ffffff08; }
.explorer-shell { display:grid; grid-template-columns:200px minmax(0,1fr); background:#080809; border:1px solid #ffffff12; border-radius:28px; overflow:hidden; }
.explorer-tabs { display:flex; flex-direction:column; gap:3px; max-height:730px; overflow:auto; padding:20px 12px; border-right:1px solid #ffffff12; scrollbar-width:thin; scrollbar-color:#454549 transparent; }
.explorer-tabs button { display:flex; justify-content:space-between; align-items:center; border:0; border-radius:9px; background:transparent; color:#8d8d96; padding:12px 14px; font-size:13px; text-align:left; cursor:pointer; transition:background .2s,color .2s; flex-shrink:0; }
.explorer-tabs button span { opacity:0; }
.explorer-tabs button:hover { background:#ffffff08; color:#eee; }
.explorer-tabs button[aria-selected=true] { background:#ff9f4314; color:#ffb773; }
.explorer-tabs button[aria-selected=true] span { opacity:1; }
.explorer-panel { padding:38px; min-width:0; display:flex; flex-direction:column; justify-content:center; }
.explorer-image { min-width:0; }
.explorer-image img { width:100%; aspect-ratio:4/3; object-fit:contain; }
.explorer-description { position:relative; padding:28px 90px 0 8px; min-height:200px; }
#feature-count { color:#686871; font-size:11px; font-variant-numeric:tabular-nums; letter-spacing:.1em; }
.explorer-description h3 { font-size:28px; margin:10px 0 12px; }
.explorer-description p { color:#9999a2; line-height:1.6; font-size:15px; max-width:560px; }
.explorer-arrows { display:flex; gap:8px; position:absolute; right:0; bottom:12px; }
.explorer-arrows button { border:1px solid #ffffff16; border-radius:50%; width:36px; height:36px; background:#202023; color:white; cursor:pointer; }
.explorer-arrows button:hover { background:#36363b; }
.phone-showcase { padding:150px 0 120px; background:radial-gradient(ellipse at 50% 85%,#5b352420,transparent 60%); }
.phone-showcase .section-heading { text-align:center; }
.phone-showcase .section-heading>p:last-child { margin-inline:auto; }
.phone-lineup { display:flex; justify-content:center; gap:24px; width:min(1120px,92%); margin:80px auto 0; padding:0 0 90px; }
.phone-lineup figure { width:18%; min-width:0; margin:0; transform:translateY(calc(var(--phone-offset)*38px)) rotate(calc((var(--phone-index) - 2)*3deg)); transition:transform 1.3s cubic-bezier(.2,.7,.2,1); }
.motion-ready .phone-lineup:not(.in-view) figure { transform:translateY(calc(110px + var(--phone-offset)*55px)) rotate(calc((var(--phone-index) - 2)*8deg)); }
.phone-lineup img { width:100%; filter:drop-shadow(0 20px 30px #0006); }
.phone-lineup figcaption { margin-top:24px; text-align:center; font-size:12px; color:#777780; }
.connections { padding-block:70px 140px; }
.connection-grid { display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:18px; }
.connection-grid article { border-radius:26px; background:#141416; padding:34px; overflow:hidden; border:1px solid #ffffff09; }
.connection-grid h3 { font-size:30px; line-height:1.1; margin:20px 0 16px; }
.connection-grid p:not(.product-kicker) { color:#93939d; font-size:15px; line-height:1.6; }
.connection-grid .text-link { font-size:13px; margin-top:28px; }
.connection-orbit { display:flex; align-items:center; justify-content:center; gap:20px; height:150px; position:relative; }
.connection-orbit::before { content:""; position:absolute; width:230px; height:110px; border:1px solid #ffb36b18; border-radius:50%; transform:rotate(-20deg); }
.orbit-pc { width:65px; height:50px; display:grid; place-items:center; background:linear-gradient(135deg,#343438,#17171a); border:1px solid #ffffff24; border-radius:9px; color:#b8b8c0; font-size:11px; letter-spacing:.15em; }
.connection-orbit img { width:70px; height:70px; object-fit:contain; }
.orbit-dot { width:5px; height:5px; border-radius:50%; background:#ffb368; box-shadow:0 0 16px #ff9f43; }
.motion-ready .in-view .orbit-dot { animation:signal 2.4s ease-in-out infinite; }
@keyframes signal { 0%,100% { opacity:.35; transform:translateX(-8px); } 50% { opacity:1; transform:translateX(8px); } }
.connection-icon { display:block; font-size:36px; color:#ffaf64; height:62px; }
.connection-card img { width:145%; max-width:none; margin:36px 0 -70px -12%; transform:rotate(-5deg); }
.connection-footnote { max-width:920px; color:#61616a; font-size:12px; line-height:1.7; margin-top:28px; }
.finale { position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; padding:130px 24px 100px; background:#0b0b0d; border-top:1px solid #ffffff0c; }
.finale-glow { position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse at 50% 40%,#7e40261f,transparent 60%); }
.finale>img { width:100px; height:100px; object-fit:contain; margin-bottom:36px; }
.finale h2 { font-size:clamp(70px,12vw,150px); margin:24px 0; }
.finale h2 span { background:linear-gradient(90deg,#ffe6c5,#f6a555); color:transparent; background-clip:text; -webkit-background-clip:text; }
.finale>p:not(.product-kicker) { color:#95959d; font-size:18px; }
.app-store-link { margin-top:32px; color:#81818a; font-size:13px; text-decoration:none; }
.finale .simulation-note { font-size:11px !important; color:#55555e !important; margin-top:70px; }
.presentation :focus-visible,.product-nav :focus-visible { outline:2px solid #ffb368; outline-offset:5px; }
@media (prefers-reduced-motion:no-preference) {
 .enter { animation:entrance 1.1s cubic-bezier(.2,.7,.2,1) both; }
 .launch h1 { animation-delay:.12s; }.launch-intro { animation-delay:.23s; }.launch-actions.enter { animation-delay:.34s; }
 @keyframes entrance { from { opacity:0; transform:translateY(26px); filter:blur(8px); } to { opacity:1; transform:translateY(0); filter:blur(0); } }
 .launch-art { animation:device-entrance 1.6s .3s cubic-bezier(.2,.7,.2,1) both; }
 @keyframes device-entrance { from { opacity:0; translate:0 75px; } to { opacity:1; translate:0 0; } }
}
@media (min-width:1600px) { .launch { padding-top:100px; }.launch-art { width:1100px; } }
@media (max-width:980px) {
 .presentation .wrap { width:calc(100% - 48px); }
 .launch { padding-top:65px; }.launch-art { width:94vw; }
 .story-sticky { width:57%; margin-left:43%; }.story-steps article { width:40%; }.story-steps h2 { font-size:42px; }.story-steps article>p:last-child { font-size:16px; }
 .connection-grid { grid-template-columns:1fr 1fr; }.connect-main { grid-column:1/-1; }.connection-orbit { float:right; width:40%; height:230px; }.connect-main>p:not(.product-kicker) { max-width:50%; }
 .explorer-panel { padding:22px; }.explorer-shell { grid-template-columns:165px minmax(0,1fr); }
 .explorer-description { padding-right:0; padding-bottom:60px; }.explorer-description h3 { font-size:25px; }
}
@media (max-width:700px) {
 .product-nav-inner { padding:10px 20px; }.product-nav-inner>div { gap:16px; }.product-nav-inner>div>a[href="#experience"] { display:none; }.product-wordmark { font-size:16px; }.product-wordmark img { width:22px; }
 .presentation .wrap { width:calc(100% - 40px); }
 .launch { padding-top:55px; }.launch h1 { font-size:clamp(43px,9.8vw,65px); }.launch-intro { font-size:16px; }.desktop-break { display:none; }.launch-actions { gap:20px; }.pill { font-size:14px; padding:14px 20px; }.text-link { font-size:14px; }
 .launch-art { width:96vw; margin-top:45px; padding-bottom:26px; }.launch-ipad { width:94%; }.launch-phone { width:20%; right:1%; bottom:65px; }.device-caption { margin-top:22px; font-size:11px; }.platform-line { gap:12px 22px; font-size:10px; }
 .intro-statement { padding-block:95px 45px; }.intro-statement>p:last-child { font-size:19px; }.presentation h2 { font-size:clamp(40px,9vw,61px); }
 .flight-story { padding:0 20px 30px; }.story-sticky { top:60px; width:100%; margin:0; height:46svh; z-index:3; background:linear-gradient(#050506 85%,#05050600); }.story-visual { width:100%; max-height:37svh; aspect-ratio:4/3; }.story-image { width:100%; max-height:36svh; object-fit:contain; transform:translateY(20px); }.story-image.active { transform:translateY(0); }.story-pagination { left:calc(50% - 28px); bottom:-10px; }
 .story-steps { margin-top:0 !important; width:100% !important; }.story-steps article { width:100%; min-height:70svh; justify-content:flex-start; padding:45px 0 70px; }.story-steps h2 { font-size:42px; }.story-steps article>p:last-child { max-width:420px; font-size:17px; }
 .split-showcase { padding-block:80px 90px; }.section-heading { margin-bottom:35px; }.section-heading>p:last-child:not(.product-kicker) { font-size:17px; }.split-art img { width:100%; }.floating-label { padding:8px 12px; font-size:9px; }.label-left { top:10%; }.label-right { bottom:5%; }
 .feature-explorer { padding:80px 0; }.explorer-shell { display:flex; flex-direction:column; border-radius:20px; }.explorer-tabs { flex-direction:row; max-height:none; padding:12px; border-right:0; border-bottom:1px solid #ffffff12; gap:6px; }.explorer-tabs button { white-space:nowrap; padding:10px 14px; }.explorer-tabs button span { display:none; }.explorer-panel { padding:18px; }.explorer-description { padding:18px 4px 60px; min-height:240px; }.explorer-description h3 { font-size:27px; }
 .phone-showcase { padding:90px 0 40px; }.phone-lineup { width:900px; max-width:none; gap:20px; margin-left:calc(50% - 450px); margin-top:50px; padding-bottom:60px; }.phone-lineup figure { width:160px; flex-shrink:0; }.phone-lineup figure:first-child,.phone-lineup figure:last-child { opacity:.4; }.phone-lineup figcaption { font-size:10px; }
 .connections { padding-block:60px 80px; }.connection-grid { grid-template-columns:1fr; }.connection-grid article { padding:28px; }.connect-main { grid-column:auto; }.connection-orbit { float:none; width:100%; height:140px; }.connect-main>p:not(.product-kicker) { max-width:none; }.connection-card img { width:110%; margin:30px 0 -85px; }.connection-card { min-height:420px; }
 .finale { padding-top:80px; }.finale>p:not(.product-kicker) { font-size:16px; }.finale>img { width:80px; height:80px; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }.presentation *, .presentation *::before,.presentation *::after { animation:none !important; transition:none !important; }
 .launch-ipad,.launch-phone { transform:none; }.story-steps article { opacity:1; }.story-image { transform:none; }.phone-lineup figure { transform:translateY(calc(var(--phone-offset)*22px)); }
}
/* Reserve image geometry before lazy assets arrive. */
.presentation img { height:auto; }
.product-nav { scroll-margin-top:0; }
.presentation section[id] { scroll-margin-top:72px; }
.launch { padding-top:48px; }
.launch h1 { font-size:clamp(52px,7.1vw,100px); }
.launch-art { margin-top:34px; }
@media (max-width:700px) { .launch { padding-top:48px; }.launch h1 { font-size:clamp(43px,9.8vw,65px); } }
