/* Luma — Product Studio / Edition 04
 * All screenshot containers are in normal flow. No absolute-positioned captures.
 */
:root{--v4-edge:#2b2b2b;--v4-warm:#e9e8e3;--v4-canvas:#f4f3ef;--v4-ink:#141414}
:root[data-theme=dark]{--v4-canvas:#181818;--v4-warm:#c5c5c5;--v4-ink:#f2f2f2}
body{letter-spacing:-.018em}
.container{max-width:1280px;padding-inline:clamp(22px,4.5vw,68px)}
.site-header{height:74px;background:rgba(12,12,12,.93);color:white;border-color:#2a2a2a;backdrop-filter:blur(28px)}
.site-header .logo .period{color:#989898}.site-header .primary-nav a{color:#aaa}.site-header .primary-nav a:hover,.site-header .primary-nav a[aria-current=page]{color:white}.site-header .icon-btn{color:#fafafa}.site-header .button.primary{color:#0a0a0a;background:#f6f6f6}.site-header .icon-btn:hover{background:#292929}.mobile-menu{background:#111;color:white;border-color:#333}
.v4-hero{background:#090909;color:#f4f4f4;overflow:hidden;position:relative;border-bottom:1px solid #242424}
.v4-hero-grid{display:grid;grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);gap:clamp(24px,4.5vw,76px);align-items:center;min-height:740px;padding-top:65px;padding-bottom:48px}
.v4-hero-copy{position:relative;z-index:1;padding:20px 0 28px;min-width:0}
.v4-tiny-label{font-size:10px;letter-spacing:.16em;font-weight:650;color:#b0b0b0;display:flex;gap:12px;align-items:center}
.v4-live-dot{height:7px;width:7px;border:1px solid #e3e3e3;background:#dedede;border-radius:50%;box-shadow:0 0 0 5px #ffffff0d}
.v4-hero h1{font-size:clamp(68px,7.7vw,124px);letter-spacing:-.093em;font-weight:560;line-height:.98;margin:45px 0 36px}
.v4-hero h1 em{font-style:normal;color:#888}
.v4-hero-copy>p{color:#aaa;font-size:clamp(16px,1.5vw,19px);line-height:1.7;letter-spacing:-.025em;max-width:440px;margin:0}
.v4-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:35px}
.v4-button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-height:51px;padding:0 20px;border-radius:12px;font-weight:630;font-size:13px;text-decoration:none;transition:background .25s ease,transform .25s ease,color .25s ease,border-color .25s ease;border:1px solid transparent}
.v4-button span{font-size:18px;font-weight:400;display:inline-block;transition:transform .25s}
.v4-button:hover span{transform:translate(2px,-2px)}.v4-button:active{transform:scale(.975)}
.v4-button-solid{background:#f1f1f1;color:#101010}.v4-button-solid:hover{background:#d5d5d5}
.v4-button-line{background:transparent;color:#e5e5e5;border-color:#3a3a3a}.v4-button-line:hover{border-color:#777;background:#191919}
.v4-hero-meta{display:flex;gap:17px;flex-wrap:wrap;align-items:center;margin-top:56px;font-size:11px;color:#858585;letter-spacing:.005em}
.v4-hero-divider{width:3px;height:3px;border-radius:50%;background:#555}
.v4-hero-stage{min-width:0;position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:center;padding:0 5px}
.v4-stage-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:clamp(12px,2.1vw,28px);max-width:580px;margin-inline:auto;width:100%;position:relative}
.v4-stage-grid::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,#fafafa0f,transparent 65%);z-index:0}
.v4-stage-phone{position:relative;z-index:1;width:100%;min-width:0;animation:v4-rise .8s .1s backwards cubic-bezier(.19,1,.22,1)}
.v4-stage-phone.v4-stage-two{padding-top:64px;animation-delay:.21s}
.v4-device{padding:5px;border:1px solid #414141;background:#1e1e1e;border-radius:clamp(15px,2.3vw,30px);overflow:hidden;box-shadow:0 25px 70px #0004;isolation:isolate;width:100%;max-width:300px;margin-inline:auto}
.v4-device>img{display:block;width:100%;max-width:none;height:auto;aspect-ratio:461/1000;object-fit:contain;object-position:center top;border-radius:clamp(11px,2vw,25px);background:#111;transform:none!important}
.v4-stage-caption{display:flex;gap:14px;align-items:center;justify-content:flex-end;color:#717171;font-size:10px;letter-spacing:.12em;padding:23px 3px 0;text-transform:uppercase}
.v4-stage-caption span{color:#eee;font-family:ui-monospace,SFMono-Regular,monospace}
.v4-scroll-hint{display:flex;align-items:center;gap:13px;max-width:1280px;padding:0 clamp(22px,4.5vw,68px) 25px;margin:auto;font-size:9px;letter-spacing:.16em;color:#5c5c5c}
.v4-scroll-hint span{width:25px;height:1px;background:#555}
@keyframes v4-rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.v4-marquee{border-bottom:1px solid var(--line);background:var(--bg)}.v4-marquee-inner{display:flex;align-items:center;gap:clamp(14px,3vw,50px);justify-content:center;min-height:97px;flex-wrap:wrap;color:var(--fg);font-size:clamp(11px,1.3vw,14px);font-weight:580}.v4-marquee-inner b{color:var(--subtle);font-size:9px}
.v4-story{padding-top:clamp(90px,11vw,160px);padding-bottom:clamp(90px,11vw,160px)}
.v4-section-kicker{display:flex;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px;letter-spacing:.03em}.v4-index{font:11px ui-monospace,SFMono-Regular,monospace;letter-spacing:.08em}.v4-story-head{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;padding:45px 0 60px}.v4-story-head h2{font-size:clamp(51px,6.7vw,100px);font-weight:580;line-height:1.04;letter-spacing:-.086em;margin:0}.v4-story-head p{font-size:clamp(15px,1.5vw,18px);line-height:1.65;color:var(--muted);max-width:400px;justify-self:end;margin:0}
.v4-interactive{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);background:var(--surface);border:1px solid var(--line);border-radius:24px;overflow:hidden;min-width:0}
.v4-interactive-text{min-width:0;display:flex;flex-direction:column;padding:clamp(28px,4.5vw,62px)}
.v4-tabs{display:flex;gap:5px;align-self:flex-start;flex-wrap:wrap;padding:4px;border:1px solid var(--line);background:var(--bg);border-radius:13px}
.v4-tabs button{border:0;background:transparent;color:var(--muted);padding:12px 15px;border-radius:9px;font-size:12px;cursor:pointer;font-weight:590;transition:background .2s,color .2s,box-shadow .2s}
.v4-tabs button[aria-selected=true]{background:var(--fg);color:var(--bg);box-shadow:0 2px 9px #0001}
.v4-tabs button:hover:not([aria-selected=true]){color:var(--fg)}
.v4-scene-copy{margin:auto 0;padding:60px 0;max-width:415px;min-height:345px;display:flex;flex-direction:column;justify-content:center}
.v4-counter{font:11px ui-monospace,SFMono-Regular,monospace;color:var(--muted)}.v4-scene-copy h3{font-size:clamp(40px,4.7vw,68px);line-height:1.08;letter-spacing:-.08em;font-weight:610;margin:25px 0 23px}.v4-scene-copy p{font-size:15px;line-height:1.72;color:var(--muted);margin:0 0 30px}.v4-text-cta{font-weight:650;display:inline-flex;gap:18px;align-items:center;align-self:flex-start;font-size:12px;border-bottom:1px solid var(--line);padding-bottom:11px;transition:border-color .2s, gap .2s}.v4-text-cta:hover{gap:25px;border-color:var(--fg)}.v4-text-cta span{font-size:18px;font-weight:400}
.v4-interactive-screen{min-width:0;min-height:610px;background:#deddd8;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 36px 18px;overflow:hidden}
.v4-interactive-screen::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.85%,#0000000a 50%,transparent 50.15%),linear-gradient(transparent 49.85%,#0000000a 50%,transparent 50.15%);background-size:80px 80px;opacity:.55;pointer-events:none}
.v4-screen-frame{position:relative;width:min(100%,240px);z-index:1;flex:0 0 auto;transition:transform .42s cubic-bezier(.2,.85,.2,1),opacity .3s ease}.v4-screen-frame.is-switching{transform:translateY(16px) scale(.976);opacity:.15}
.v4-screen-frame .v4-device{background:#161616;box-shadow:0 28px 80px #0002}
.v4-screen-id{position:relative;color:#777670;letter-spacing:.2em;font-size:10px;font-weight:600;margin:22px 0 0}
.v4-screen-floor{position:absolute;bottom:58px;width:48%;height:17px;border-radius:100%;background:#0001;filter:blur(18px)}
.v4-dark-chapter{background:#0d0d0d;color:#f5f5f5;padding:clamp(70px,9vw,135px) 0}.v4-kicker-dark{border-color:#2b2b2b;color:#878787}.v4-feature-block{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(45px,7vw,110px);padding-top:75px}.v4-feature-image{position:relative;display:flex;justify-content:center;align-items:center;min-width:0;padding:18px 0;isolation:isolate}.v4-feature-image::before{content:"";position:absolute;width:90%;aspect-ratio:1;border:1px solid #2b2b2b;border-radius:50%;box-shadow:0 0 0 55px #0d0d0d,0 0 0 56px #1d1d1d;opacity:.75;z-index:-1}.v4-feature-image .v4-device{max-width:265px;box-shadow:0 35px 70px #0009}.v4-feature-dial{position:absolute;bottom:14%;right:-1%;display:flex;gap:5px;align-items:end;height:42px}.v4-feature-dial span{background:#999;width:3px;border-radius:5px;transform-origin:center;animation:v4-bars 1.2s ease-in-out infinite alternate}.v4-feature-dial span:nth-child(3n){height:32px;animation-delay:-.5s}.v4-feature-dial span:nth-child(3n + 1){height:13px;animation-delay:-.7s}.v4-feature-dial span:nth-child(3n + 2){height:22px;animation-delay:-.2s}@keyframes v4-bars{to{transform:scaleY(.25)}}
.v4-feature-copy{padding:20px 0}.v4-eyebrow{font:11px ui-monospace,SFMono-Regular,monospace;letter-spacing:.12em;color:#929292}.v4-feature-copy h2{font-size:clamp(56px,6.5vw,94px);letter-spacing:-.088em;line-height:1.03;font-weight:580;margin:30px 0 25px}.v4-feature-copy p{color:#a3a3a3;font-size:17px;line-height:1.75;max-width:405px;margin:0 0 40px}.v4-white-link{font-size:13px;display:inline-flex;gap:34px;border-bottom:1px solid #676767;padding-bottom:13px;color:#fff}.v4-white-link:hover{border-color:#f5f5f5}.v4-feature-points{display:flex;flex-direction:column;gap:14px;border-top:1px solid #303030;margin-top:70px;padding-top:26px;font-size:12px;color:#888}.v4-feature-points span::before{content:"↗";font-size:15px;color:#bcbcbc;margin-right:15px}
.v4-gallery-preview{padding-top:clamp(90px,10vw,150px);padding-bottom:clamp(90px,10vw,150px)}.v4-section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin:45px 0}.v4-section-heading h2{font-size:clamp(46px,5.7vw,79px);letter-spacing:-.082em;line-height:1.1;font-weight:600;margin:0}
.v4-gallery-row,.v4-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;min-width:0}
.v4-gallery-row .v4-shot,.v4-gallery-grid .v4-shot{background:var(--surface);color:var(--fg);padding:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;cursor:pointer;text-align:left;min-width:0;display:flex;flex-direction:column;transition:border-color .25s,transform .3s,box-shadow .3s}
.v4-gallery-row .v4-shot:hover,.v4-gallery-grid .v4-shot:hover{border-color:var(--subtle);transform:translateY(-4px);box-shadow:0 18px 40px #00000011}
.v4-shot .v4-shot-visual{background:#d9d9d6;display:flex;align-items:flex-start;justify-content:center;min-width:0;padding:25px 28px 0;height:345px;overflow:hidden;position:relative}
.v4-shot .v4-shot-visual .v4-device{width:100%;max-width:180px;flex:none;padding:3px;border-radius:19px;box-shadow:0 7px 24px #0002}.v4-shot .v4-shot-visual .v4-device>img{border-radius:15px}
.v4-shot .v4-shot-meta{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:8px;padding:18px 17px;position:relative;min-height:78px;flex:1}.v4-shot-meta strong{font-size:13px;line-height:1.25}.v4-shot-meta small{grid-column:1;grid-row:2;color:var(--muted);font-size:11px;margin-top:6px}.v4-shot-arrow{grid-column:2;grid-row:1 / span 2;font-size:17px;color:var(--muted);transition:transform .2s}.v4-shot:hover .v4-shot-arrow{transform:translate(2px,-2px)}
.v4-caption{font-size:12px;line-height:1.7;color:var(--muted);margin:28px 0 0}
.v4-end-cta{background:#e8e7e2;color:#131313;padding:clamp(75px,9vw,130px) 0}.v4-cta-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:60px;align-items:end}.v4-end-cta .v4-eyebrow{color:#626262}.v4-end-cta h2{font-size:clamp(54px,6.4vw,98px);font-weight:590;letter-spacing:-.085em;line-height:1.06;margin:26px 0 0}.v4-end-cta h2 i{font-style:normal;color:#777}.v4-cta-grid>div:last-child{max-width:345px}.v4-end-cta p{font-size:15px;line-height:1.65;color:#585858;margin:0 0 25px}.v4-end-cta .v4-button{background:#121212;color:white;min-width:220px}
/* Feature pages: no images can intrude on content */
.v4-feature-list{padding-top:0;padding-bottom:85px}.v4-feature-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,100px);align-items:center;border-top:1px solid var(--line);padding-block:85px}.v4-feature-row:nth-child(even) .v4-feature-text{order:2}.v4-feature-text h2{font-size:clamp(43px,5vw,70px);font-weight:620;letter-spacing:-.07em;line-height:1.09;margin:26px 0}.v4-feature-text p{font-size:16px;color:var(--muted);line-height:1.8;max-width:430px;margin:0 0 28px}.v4-feature-photo{background:#e9e9e6;border:1px solid var(--line);min-height:540px;padding:45px 25px 0;display:flex;justify-content:center;align-items:end;border-radius:20px;overflow:hidden}.v4-feature-photo.is-dark{background:#222}.v4-feature-photo .v4-device{max-width:225px;box-shadow:0 20px 45px #0002;margin-inline:auto;margin-bottom:-65px}.v4-bottom-note{padding-bottom:90px;color:var(--muted);font-size:13px;line-height:1.6;border-top:1px solid var(--line)}
.v4-gallery-section{padding-bottom:110px}.v4-gallery-tools{display:flex;gap:8px;margin:5px 0 32px;flex-wrap:wrap}.v4-gallery-tools button{border:1px solid var(--line);color:var(--muted);border-radius:30px;background:var(--surface);padding:10px 17px;font-weight:600;font-size:12px;transition:background .2s,color .2s}.v4-gallery-tools button.active,.v4-gallery-tools button:hover{background:var(--fg);color:var(--bg)}.v4-gallery-grid{row-gap:23px}.v4-gallery-grid .v4-shot[hidden]{display:none!important}
/* disable overlapping legacy assets on redesigned pages */
.v4-interactive-screen .v4-device,.v4-stage-phone .v4-device,.v4-feature-photo .v4-device,.v4-gallery-grid .v4-device{position:relative!important;inset:auto!important;transform:none!important}
.v4-gallery-grid button.gallery-card{border:1px solid var(--line);min-height:0;aspect-ratio:auto}.v4-gallery-grid button.gallery-card img{width:100%;height:auto;max-height:none;object-fit:contain}
/* Menu and other routes from the shared multipage system */
.download-row{transition:background .2s,border-color .2s}.download-row:hover{background:var(--surface2)}
/* Motion arrives when seen, but remains useful without JS */
@media(min-width:900px){.v4-gallery-row .v4-shot:nth-child(2),.v4-gallery-row .v4-shot:nth-child(4){transform:translateY(30px)}.v4-gallery-row .v4-shot:nth-child(2):hover,.v4-gallery-row .v4-shot:nth-child(4):hover{transform:translateY(24px)}}
@media(max-width:1100px){.v4-hero-grid{min-height:660px}.v4-hero h1{font-size:clamp(64px,8vw,96px)}.v4-hero-meta{gap:10px}.v4-shot .v4-shot-visual{padding:22px 19px 0;height:300px}.v4-gallery-row{gap:11px}.v4-story-head{gap:25px}.v4-interactive-text{padding:30px}.v4-scene-copy h3{font-size:52px}}
@media(max-width:760px){.site-header{height:64px}.mobile-menu{top:64px}.v4-hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:36px;min-height:0;padding-top:77px;padding-bottom:24px}.v4-hero-copy{padding:0;max-width:540px}.v4-hero h1{font-size:clamp(65px,13vw,90px);margin:28px 0 25px;line-height:.98}.v4-hero-copy>p{font-size:15px;max-width:400px}.v4-hero-meta{margin-top:24px}.v4-actions{margin-top:26px}.v4-stage-grid{max-width:400px;gap:12px}.v4-stage-phone.v4-stage-two{padding-top:55px}.v4-stage-caption{padding-top:14px}.v4-device{border-radius:21px;padding:4px}.v4-device>img{border-radius:17px}.v4-scroll-hint{padding-bottom:21px}.v4-marquee-inner{min-height:78px;justify-content:flex-start;gap:13px;font-size:11px}.v4-story{padding-top:75px;padding-bottom:85px}.v4-section-kicker{font-size:10px}.v4-section-kicker span:last-child{text-align:right}.v4-story-head{display:block;padding:37px 0 35px}.v4-story-head h2{font-size:clamp(58px,12vw,76px)}.v4-story-head p{font-size:14px;max-width:415px;margin-top:20px}.v4-interactive{display:flex;flex-direction:column}.v4-interactive-text{padding:24px 22px 0}.v4-tabs{max-width:100%;justify-content:center;width:100%}.v4-tabs button{flex:1;padding:12px 6px;font-size:11px}.v4-scene-copy{min-height:0;padding:36px 0 30px}.v4-scene-copy h3{font-size:clamp(42px,10vw,54px);margin:18px 0 16px}.v4-scene-copy p{font-size:14px;margin-bottom:25px}.v4-interactive-screen{min-height:0;padding:30px 20px 24px}.v4-screen-frame{width:min(62%,220px)}.v4-screen-id{margin-top:16px}.v4-feature-block{display:flex;flex-direction:column;gap:32px;padding-top:42px}.v4-feature-image{order:2;align-self:stretch}.v4-feature-copy{order:1}.v4-feature-copy h2{font-size:clamp(58px,12vw,78px);margin:18px 0}.v4-feature-copy p{font-size:15px;margin-bottom:28px}.v4-feature-points{margin-top:35px}.v4-feature-image .v4-device{max-width:min(64%,265px)}.v4-feature-image::before{width:65%;box-shadow:0 0 0 36px #0d0d0d,0 0 0 37px #222}.v4-feature-dial{right:12%}.v4-gallery-preview{padding-top:80px;padding-bottom:84px}.v4-section-heading{align-items:start;flex-direction:column;gap:18px;margin:30px 0}.v4-section-heading h2{font-size:clamp(50px,10vw,75px)}.v4-gallery-row,.v4-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v4-shot .v4-shot-visual{height:275px;padding:18px 15px 0}.v4-shot .v4-shot-visual .v4-device{max-width:165px}.v4-shot .v4-shot-meta{padding:14px 12px;min-height:67px}.v4-shot-meta strong{font-size:12px}.v4-shot-meta small{font-size:10px}.v4-end-cta{padding:80px 0}.v4-cta-grid{display:flex;flex-direction:column;gap:28px;align-items:stretch}.v4-end-cta h2{font-size:clamp(57px,11vw,84px)}.v4-cta-grid>div:last-child{max-width:460px}.v4-feature-row{display:flex;flex-direction:column;align-items:stretch;padding-block:55px;gap:28px}.v4-feature-row:nth-child(even) .v4-feature-text{order:0}.v4-feature-text h2{font-size:clamp(44px,10vw,64px)}.v4-feature-photo{min-height:0;padding:40px 16px 0}.v4-feature-photo .v4-device{max-width:min(58%,225px);margin-bottom:-65px}.v4-gallery-section{padding-bottom:75px}}
@media(max-width:390px){.v4-hero h1{font-size:61px}.v4-actions{flex-direction:column}.v4-actions .v4-button{width:100%}.v4-marquee-inner b:nth-of-type(2),.v4-marquee-inner span:last-child{display:none}.v4-shot .v4-shot-visual{height:240px;padding:14px 11px 0}.v4-shot-meta strong{font-size:11px}.v4-tabs button{font-size:10px}}
@media(prefers-reduced-motion:reduce){.v4-stage-phone,.v4-feature-dial span{animation:none!important}.v4-screen-frame,.v4-device{transition:none!important}}
/* Screenshots are complete and undistorted, including the last row and feature previews. */
.v4-gallery-row .v4-shot .v4-shot-visual,.v4-gallery-grid .v4-shot .v4-shot-visual{height:auto;overflow:visible;align-items:center;padding:25px 15px}
.v4-shot .v4-shot-visual .v4-device{width:min(78%,180px);max-width:none;flex:none}
.v4-feature-photo .v4-device{margin-bottom:0}
@media(max-width:760px){.v4-gallery-row .v4-shot .v4-shot-visual,.v4-gallery-grid .v4-shot .v4-shot-visual{height:auto;padding:18px 8px}.v4-shot .v4-shot-visual .v4-device{width:82%;max-width:165px}.v4-feature-photo .v4-device{margin-bottom:0}.v4-feature-photo{padding-bottom:38px}}
.v4-device>img{aspect-ratio:auto!important}
.v4-shot:hover .v4-device{transform:translateY(-5px)!important;transition:transform .3s cubic-bezier(.22,1,.36,1)}
@supports(animation-timeline:scroll(root)){.site-header::after{content:"";position:absolute;height:1px;bottom:0;left:0;width:100%;background:#d0d0d0;transform:scaleX(0);transform-origin:left;animation:v4-scroll-line linear both;animation-timeline:scroll(root)}}
@keyframes v4-scroll-line{to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.site-header::after{animation:none!important;display:none}.v4-shot:hover .v4-device{transform:none!important}}
