/* OS Studio — light, depth and motion. Existing wordmarks and app icons stay intact. */
.beam-stage{position:relative;isolation:isolate;overflow:clip}
.light-trails{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;overflow:hidden;color:#b991f4}
.light-trail{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-dasharray:80 920;stroke-dashoffset:0;filter:drop-shadow(0 0 4px currentColor) drop-shadow(0 0 12px currentColor);opacity:.55}
.light-trail-1{color:#e7d9ff;stroke-width:.75;stroke-dasharray:30 970}
.light-trail-2{color:#b18bde;stroke-width:1;stroke-dasharray:110 890;opacity:.42}
.studio-hero{--accent:#d6b9ff;--muted:#c1b8d5;--text:#fbf8ff;--line:#ffffff2b;display:block;width:100%;margin:0;padding:clamp(32px,4vw,56px) 0 24px;background:radial-gradient(ellipse at 78% 40%,#50366d88,transparent 49%),radial-gradient(ellipse at 10% 100%,#43375266,transparent 55%),#14131d;color:var(--text)}
.studio-hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.studio-hero h1{font-size:clamp(2.8rem,4.5vw,4.65rem);line-height:1.03;letter-spacing:-.065em}
.studio-hero h1 em{color:#d6b9ff;background:linear-gradient(110deg,#f5edff,#c394ee 45%,#e3c9f6);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.studio-hero .eyebrow{font-size:.74rem;letter-spacing:.2em;color:#c8aadf}
.studio-hero .lede{font-size:1.12rem;max-width:46ch;color:#c1b8d5}
.studio-hero .primary{color:#251631;background:#dec4fb;border:1px solid #f6eaff77;box-shadow:0 0 34px #be81f326}
.studio-hero .text-link{color:#e5d6f6}
.studio-identity{position:relative;min-height:340px;height:340px;overflow:visible;background:none;border:0;box-shadow:none;perspective:1000px;transform-style:preserve-3d}
.studio-identity:before{content:'';position:absolute;inset:15%;border-radius:50%;background:radial-gradient(ellipse,#c49de83b,transparent 65%);filter:blur(12px)}
.studio-identity .studio-core{position:absolute;inset:50% auto auto 50%;width:clamp(150px,14vw,205px);height:auto;object-fit:contain;translate:-50% -58%;filter:drop-shadow(0 25px 30px #0008);z-index:3}
.studio-identity figcaption{font-size:.78rem;letter-spacing:.04em;bottom:0;padding:20px 12px;background:none;color:#c5b9d5;z-index:4}
.studio-orbit{position:absolute;inset:10%;border:1px solid #c8a7f047;border-radius:50%;transform:rotateX(56deg) rotateZ(-32deg);box-shadow:0 0 18px #a975db14,inset 0 0 18px #a975db14}
.studio-orbit.orbit-two{inset:3%;transform:rotateX(60deg) rotateZ(36deg);border-color:#d2b69e45}
.studio-orbit.orbit-three{inset:21%;transform:rotateX(28deg) rotateY(45deg);border-color:#d1c0ed32}
.studio-orbit:after{content:'';position:absolute;width:8px;height:8px;top:12%;left:12%;background:#f2d9ff;border-radius:50%;box-shadow:0 0 8px #fff,0 0 24px #cf8aff}
.studio-satellite{position:absolute;z-index:5;padding:12px;background:linear-gradient(135deg,#ffffff25,#ffffff09);border:1px solid #f0ddff3d;border-radius:24px;box-shadow:0 24px 44px #0004,0 0 35px #cca0ee12;backdrop-filter:blur(12px);rotate:-9deg}
.studio-identity .studio-satellite img{position:static;width:88px;height:88px;border-radius:23%;object-fit:contain}
.satellite-ecrin{left:4%;top:54%;--float-delay:-2s}
.satellite-watermark{right:2%;top:12%;rotate:12deg;--float-delay:-6s}
.studio-hero-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;border-top:1px solid #bda6d12e;padding-top:26px;margin-top:20px;color:#bcb1cb;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase}
.studio-hero-bottom>span{display:flex;gap:12px;align-items:center}.studio-status-dot{display:block;width:5px;height:5px;border-radius:50%;background:#d8b1fb;box-shadow:0 0 10px #e8caff}
.depth-card{transform:perspective(1200px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.values-strip{padding-block:18px;justify-content:space-between;font-size:.8rem;letter-spacing:.025em}
.section-heading h2{font-size:clamp(2rem,3vw,3rem);letter-spacing:-.055em}
.app-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:20px;align-items:stretch}
.featured-app{position:relative;isolation:isolate;overflow:clip;display:grid;grid-template-columns:80px minmax(0,1fr);align-items:start;gap:20px;padding:24px;border-radius:24px;background:linear-gradient(145deg,color-mix(in srgb,var(--gold-soft) 70%,var(--paper)),var(--paper) 65%);box-shadow:0 25px 80px #341e4f0a}
.featured-app[data-app=imprynta]{background:linear-gradient(145deg,color-mix(in srgb,#bdd8f0 24%,var(--paper)),var(--paper) 65%)}
.featured-app:after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(400px circle at var(--shine-x,50%) var(--shine-y,20%),#ffffff3b,transparent 65%);opacity:0;transition:opacity .4s;z-index:-1}
.featured-app:hover:after{opacity:1}.featured-icon{display:grid;place-items:center;min-height:88px;border:0;padding:0;position:relative}
.featured-icon:before{content:'';position:absolute;width:78%;height:80%;border:1px solid var(--line);border-radius:50%;transform:rotateX(64deg) rotateZ(-25deg)}
.featured-icon img{position:relative;width:80px;max-width:100%;height:auto;object-fit:contain;margin:0;box-shadow:0 25px 45px #341e4f22;rotate:-6deg}
.featured-app:nth-child(2) .featured-icon img{rotate:6deg}.app-copy{display:flex;flex-direction:column;flex:1}.app-copy .actions{margin-top:auto;padding-top:18px;gap:12px}.app-name{font-size:clamp(1.55rem,2vw,2rem)}.featured-app .feature-lede{font-size:1.05rem;line-height:1.45;margin-top:12px}
.studio-section{position:relative;background:linear-gradient(155deg,var(--surface),var(--bg));border-block:1px solid var(--line)}
.principles article{padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--paper)}.principles .index{font-size:1.8rem;font-weight:400;opacity:.6}.principles h3{margin-top:20px}
.contact-band{padding:28px;border:1px solid var(--line);border-radius:30px;background:linear-gradient(125deg,var(--accent-soft),var(--paper))}.contact-band h2{font-size:clamp(2rem,3vw,3rem)}
.product-hero{padding-block:40px;overflow:clip;border-radius:0 0 38px 38px;background:radial-gradient(ellipse at 78% 40%,var(--gold-soft),transparent 56%)}
.watermark-pro-page .product-hero{background:radial-gradient(ellipse at 78% 40%,var(--accent-soft),transparent 56%)}
.product-hero h1{font-size:clamp(2.6rem,4vw,4.3rem)}.product-hero .light-trails{color:#ba8c44;opacity:.6}.watermark-pro-page .product-hero .light-trails{color:#a884d1}
.product-art{width:min(100%,245px);max-width:245px;justify-self:center;isolation:isolate;overflow:visible!important;border-radius:0!important;box-shadow:none!important}
.product-art:before,.product-art:after{content:'';position:absolute;inset:-5% -8%;border:1px solid color-mix(in srgb,var(--gold) 32%,transparent);border-radius:50%;transform:rotateX(60deg) rotateZ(-30deg);z-index:-1;box-shadow:0 0 25px color-mix(in srgb,var(--gold) 8%,transparent)}
.product-art:after{inset:5% -12%;transform:rotateX(64deg) rotateZ(40deg)}
.product-art img{border-radius:26%!important}.product-art figcaption{margin-top:18px}
.reading-light{position:fixed;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#77529e,#cba5fa,#f4e6ff);box-shadow:0 0 9px #b58adfa0;transform:scaleX(0);transform-origin:left;z-index:100;pointer-events:none}
.button{transition:background .2s,box-shadow .25s,translate .25s}.button:hover{translate:0 -3px;box-shadow:0 10px 30px #6d468d27}.button span[aria-hidden]{transition:translate .25s}.button:hover span[aria-hidden]{translate:3px -2px}
.studio-video-band{position:relative;overflow:clip;border:1px solid var(--line);border-radius:32px;background:linear-gradient(135deg,var(--accent-soft),var(--paper));padding:28px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}
.studio-video-band h2{font-size:clamp(1.8rem,2.8vw,2.8rem)}.studio-video-band .video-band-icon{width:104px;height:76px;border-radius:23px;display:grid;place-items:center;background:#17131f;color:#e4c4ff;box-shadow:0 20px 50px #4e307329}
.studio-video-band .video-band-icon svg{width:36px;height:36px}.studio-video-band p{max-width:60ch}.studio-video-band .actions{margin-top:25px}
.ecrin-film{grid-template-columns:minmax(0,1fr) minmax(220px,290px);gap:clamp(24px,4vw,56px)}.ecrin-film h2{font-size:clamp(2rem,3vw,3rem)}.ecrin-film .film-description{font-size:1.16rem;margin-top:24px}.ecrin-film .actions{gap:12px 22px}.film-meta{display:flex;flex-wrap:wrap;gap:10px;margin-block:24px;font-size:.75rem;letter-spacing:.025em;color:var(--gold)}.film-meta span{padding:5px 12px;border:1px solid var(--line);border-radius:25px}.video-permission{font-size:.8rem;max-width:52ch;margin-top:24px!important}
.youtube-player{position:relative;width:100%;max-width:290px;aspect-ratio:9/16;min-width:200px;background:#11131a;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 25px 65px #36264022;margin-inline:auto}.youtube-player iframe{display:block;border:0;width:100%;height:100%;min-height:200px}.youtube-poster{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#16131e;color:white;display:flex;align-items:center;justify-content:center;overflow:hidden}.youtube-poster img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:scale .5s}.youtube-poster:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 30%,#08080b8c 90%)}.youtube-poster:hover img{scale:1.035}.youtube-play{position:relative;z-index:1;display:grid;justify-items:center;gap:14px;padding:30px}.youtube-play-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:#fff1f0ed;color:#38212b;box-shadow:0 0 0 12px #ffffff20,0 16px 45px #0005;backdrop-filter:blur(8px)}.youtube-play-icon svg{width:25px;height:25px}.youtube-play-label{font-size:.88rem;font-weight:650;background:#16131ed9;border:1px solid #ffffff35;border-radius:25px;padding:7px 15px}.youtube-poster:focus-visible{outline:3px solid #efc68e;outline-offset:-6px}.video-fallback{margin-top:15px;text-align:center;font-size:.85rem}.youtube-footer{gap:8px}
/* Continuous decoration is paused/resumed by studio-experience.js; section reveals run once. */
[data-motion=paused] .depth-card{transform:none}
.motion-page-hidden .depth-card{transform:none}

/* Shared view navigation: natural document height, no nested page scrollers. */
.shell{--site-gutter:clamp(24px,2.5vw,64px);width:calc(100% - 2*var(--site-gutter));max-width:none}
[data-view-nav-for]>a{padding-inline:12px;border-radius:12px;color:var(--muted)}
[data-view-nav-for]>a[aria-current=false]{color:var(--muted)}
[data-view-nav-for]>a[aria-current=page]{color:var(--accent);background:var(--accent-soft)}
[data-view-nav-for]>a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.help-layout,.legal-layout{grid-template-columns:minmax(200px,260px) minmax(0,1fr);gap:clamp(24px,3vw,64px)}
.help-content,.legal-content,.editorial{min-width:0;max-width:none}
.help-article :is(p,ul,ol),.legal-content :is(p,ul,ol){max-width:82ch}
.editorial>p:not(.eyebrow),.ecrin-film>div:first-child>p{max-width:68ch}
.section{padding-block:clamp(28px,3vw,48px)}
.section-heading{margin-bottom:24px}
[data-view-tabs]{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:8px;border:1px solid var(--line);border-radius:18px;background:var(--surface);margin-block:24px}
[data-view-tabs] a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border-radius:12px;color:var(--muted);font-size:.9375rem;font-weight:650;line-height:1.35;text-decoration:none;transition:background .2s,color .2s,box-shadow .2s}
[data-view-tabs] a:hover{color:var(--text);background:var(--paper)}
[data-view-tabs] a[aria-selected=true]{background:var(--paper);color:var(--accent);box-shadow:0 2px 8px #17131f0a}
[data-view-tabs] a:focus-visible,[data-catalog-pagination] button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
[data-view-panel]{min-width:0;scroll-margin-top:110px}
[data-view-panel][hidden],[data-catalog-item][hidden]{display:none!important}
[data-view-panel]:focus{outline:none}
[data-view-panel]:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:12px}
[data-view-panel]>.section:first-child{padding-top:12px}
.tour-panel{padding:28px;gap:clamp(24px,4vw,54px)}
.tour-copy h3{font-size:clamp(1.8rem,2.5vw,2.5rem)}
.phone-preview{width:min(100%,240px)}
.catalog-tools{display:flex;align-items:end;flex-wrap:wrap;gap:12px 18px;margin-bottom:24px}
.support-choices{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-block:22px}
.support-choices .button{min-width:0;padding:10px 14px;font-size:.875rem}
.contents-nav>summary{min-height:44px;padding-block:11px;font-weight:650;color:var(--text);cursor:pointer}
.contents-nav[open]>summary{margin-bottom:10px}
.content-disclosure>summary{padding-block:8px;font-size:1.125rem;font-weight:650;line-height:1.5;color:var(--text);cursor:pointer}
.content-disclosure[open]>summary{margin-bottom:16px}
.content-disclosure>summary:focus-visible,.contents-nav>summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px;border-radius:4px}
.catalog-tools>div{display:grid;gap:7px;min-width:0}
.catalog-tools label{display:grid;gap:7px;min-width:0;font-size:.8125rem;font-weight:650;color:var(--muted)}
.catalog-tools>div:has([data-catalog-search]),.catalog-tools label:has([data-catalog-search]){flex:1 1 240px;max-width:480px}
[data-catalog-search],[data-catalog-filter],[data-catalog-status]{min-height:46px;max-width:100%;min-width:0;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--text);font:inherit;font-size:1rem}
[data-catalog-search]{width:100%}
[data-catalog-search]:focus-visible,[data-catalog-filter]:focus-visible,[data-catalog-status]:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
[data-catalog-count]{margin:0 0 11px;font-size:.8125rem;color:var(--muted);font-variant-numeric:tabular-nums}
[data-catalog-empty]{padding:28px;border:1px dashed var(--line);border-radius:18px;color:var(--muted)}
[data-catalog-empty][hidden],[data-catalog-pagination][hidden]{display:none!important}
[data-catalog-pagination]{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:6px;margin-top:26px}
[data-catalog-pagination] button{min-width:44px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--text);font:inherit;font-size:.875rem;cursor:pointer}
[data-catalog-pagination] button[aria-current=page]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:700}
[data-catalog-pagination] button:disabled{opacity:.45;cursor:default}
[data-catalog-pagination]>span{padding:8px 3px;color:var(--muted)}
.app-copy .eyebrow{margin-bottom:8px;font-size:.6875rem;letter-spacing:.07em}
.app-copy>p:not(.eyebrow):not(.feature-lede):not(.release-notice){font-size:.9375rem;line-height:1.55}
.app-copy .release-notice{margin:12px 0 0;gap:6px;font-size:.75rem}
.app-copy .release-notice span{flex-basis:auto}
.app-copy .button{min-width:0;padding:10px 15px;font-size:.875rem}
.app-copy .tags{font-size:.75rem;gap:6px;margin-top:14px}
.featured-app .app-copy{height:100%}

@media(min-width:761px){
 .studio-identity{max-width:680px;justify-self:center}
}
/* Keep full-width surfaces, with readable, connected compositions inside them. */
@media(min-width:1101px){
 .studio-hero-grid,.product-hero,.tour-panel,.ecrin-film,.split-heading,.local-processing,.studio-video-band{justify-content:center;column-gap:clamp(32px,3vw,64px)}
 .studio-hero-grid{grid-template-columns:minmax(0,40rem) minmax(0,42.5rem)}
 .product-hero{grid-template-columns:minmax(0,42rem) minmax(0,19rem)}
 .tour-panel{grid-template-columns:minmax(0,38rem) minmax(0,18rem)}
 .ecrin-film{grid-template-columns:minmax(0,40rem) minmax(0,18rem)}
 .split-heading{grid-template-columns:minmax(0,36rem) minmax(0,42rem)}
 .local-processing{grid-template-columns:minmax(0,32rem) minmax(0,40rem)}
 .studio-video-band{grid-template-columns:minmax(0,40rem) minmax(0,7rem)}
 .featured-app{grid-template-columns:80px minmax(0,36rem);justify-content:center}
 /* Limit the filtered SVG painting area without changing its running timelines. */
 .beam-stage>.light-trails{left:50%;right:auto;width:min(100%,1600px);translate:-50% 0}
}
@media(max-width:1100px){
 .app-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr))}
 .studio-identity{height:310px;min-height:310px}
 .studio-identity .studio-satellite img{width:64px;height:64px}
 .studio-satellite{padding:10px;border-radius:20px}
 .studio-hero h1{font-size:clamp(2.8rem,4.5vw,4rem)}
}
@media(max-width:760px){
 .shell{width:calc(100% - 36px)}
 .help-layout,.legal-layout{grid-template-columns:1fr;gap:24px}
 .studio-hero{padding-top:30px}
 .studio-hero-grid{grid-template-columns:1fr;gap:4px}
 .studio-hero h1{font-size:clamp(2.6rem,8vw,3.8rem)}
 .studio-hero .lede{font-size:1rem}
 .studio-identity{height:245px;min-height:245px;width:min(100%,400px);margin-inline:auto}
 .studio-identity .studio-core{width:145px}
 .studio-identity .studio-satellite img{width:56px;height:56px}
 .studio-identity figcaption{padding:8px;font-size:.7rem}
 .studio-hero-bottom{margin-top:12px;padding-top:16px;gap:12px;justify-content:flex-start;font-size:.6rem;letter-spacing:.06em}
 .satellite-ecrin{left:8%;top:48%}.satellite-watermark{right:7%;top:8%}
 .studio-hero .light-trails{height:80%}
 .product-hero{padding-block:20px 12px;gap:12px}
 .product-hero .hero-copy{min-width:0}
 .product-hero .eyebrow{margin-bottom:10px;font-size:.75rem;letter-spacing:.09em}
 .product-hero h1{font-size:clamp(2.2rem,9.5vw,2.5rem);line-height:1.1}
 .product-hero .hero-copy .lede{margin-top:14px;font-size:1rem;line-height:1.55}
 .product-hero .actions{flex-direction:row;align-items:center;gap:6px 12px;margin-top:14px}
 .product-hero .actions .button{min-height:44px;min-width:0;gap:8px;padding:10px 14px;font-size:.875rem}
 .product-hero .actions .text-link{min-height:44px;font-size:.875rem}
 .product-hero .quiet{margin-top:10px;font-size:.8125rem;line-height:1.5}
 .product-hero .release-notice{margin:10px 0 0;font-size:.75rem}
 .product-hero .release-notice strong{padding:4px 9px}
 .product-hero .product-art{width:132px;max-width:132px;padding:0;margin:2px auto 0;justify-self:center}
 .product-hero .product-art img{width:100%;height:auto}
 .product-hero .product-art figcaption{margin-top:6px;font-size:.6875rem;line-height:1.4}
 .studio-video-band{grid-template-columns:1fr;padding:24px;gap:18px}
 .studio-video-band .video-band-icon{grid-row:1;width:60px;height:46px;border-radius:14px}
 .contact-band{padding:24px}
 .ecrin-film{grid-template-columns:1fr}
 .youtube-player{width:min(100%,260px)}
 .ecrin-film .actions .button{width:100%}
 .values-strip{gap:10px 18px;justify-content:flex-start;font-size:.75rem}
 [data-view-tabs]{gap:4px;padding:6px;margin-block:18px}
 [data-view-tabs] a{flex:1 1 auto;min-width:0;max-width:100%;padding:9px 12px;font-size:.875rem;white-space:normal}
 .catalog-tools{gap:12px}
 .catalog-tools>div:has([data-catalog-search]),.catalog-tools label:has([data-catalog-search]){flex-basis:100%;max-width:none}
 .catalog-tools [data-catalog-count]{flex:1;text-align:right;margin-bottom:12px}
}
@media(max-width:620px){
 .app-grid{grid-template-columns:1fr;gap:14px}
 .featured-app{display:grid;grid-template-columns:72px minmax(0,1fr);padding:20px;gap:18px}
 .featured-icon{min-height:78px}.featured-icon img{width:72px;max-width:100%}
 .app-name{font-size:1.8rem}
}
@media(max-width:380px){
 .studio-identity{height:215px;min-height:215px}
 .studio-identity .studio-core{width:130px}
 .studio-satellite{padding:7px;border-radius:17px}
 .studio-identity .studio-satellite img{width:48px;height:48px}
 .studio-hero h1{font-size:2.5rem}
 .studio-hero-bottom{font-size:.56rem}
 .featured-app{grid-template-columns:60px minmax(0,1fr);padding:18px;gap:14px}
 .featured-icon img{width:60px}
 [data-view-tabs] a{padding-inline:9px;font-size:.8125rem}
}
@media(prefers-reduced-motion:reduce){
 .light-trails{display:none}.depth-card{transform:none!important}.reading-light{display:none}
 .youtube-poster img{scale:1!important}.button:hover{translate:none}
 [data-view-tabs] a{transition:none}
}
