/* V4 design study: separate from the current website and app. No remote assets. */
body.marketing.v3{--product-bg:#d6e3d0;--product-card:#e6ecdd;--product-ink:#17332b;--product-muted:#50634f;--product-line:#b1c6aa;--product-accent:#096c4e;--product-soft:#c4d8bc;--product-accent-ink:#fff;--v3-tint:#a8c694;--v3-tint-two:#d6c59b;--v3-illustration:#1c7250}
.v3 main{position:relative;isolation:isolate;overflow:clip}
.v3-content{position:relative;z-index:1}
.v3-ambient{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.v3-wash{position:absolute;width:690px;height:690px;border-radius:50%;opacity:.46;background:radial-gradient(ellipse,var(--v3-tint),transparent 66%)}
.v3-wash-one{right:-180px;top:-200px}.v3-wash-two{left:-420px;top:610px;background:radial-gradient(ellipse,var(--v3-tint-two),transparent 65%);opacity:.32}
.v3-contours{position:absolute;right:-190px;top:30px;width:700px;color:var(--product-accent);opacity:.11;transform:rotate(-8deg)}
.v3-contours svg{display:block;width:100%;height:auto;stroke-width:.85}
.v3 .brand{display:flex;align-items:center;flex-wrap:wrap}.v3 .brand>span:first-child{margin-right:8px}
.v3-version{font:500 .6rem/1.4 ui-monospace,monospace!important;letter-spacing:.05em;border:1px solid var(--product-line);padding:4px 6px;border-radius:4px;color:var(--product-muted)!important}
.v3 header .wrap{gap:16px}.v3 header nav{gap:12px 18px}.v3 header nav a{font-size:.83rem}
.v3-home .product-hero{padding-bottom:34px}.v3-home .hero-specimen:before{transform:rotate(3deg);border-radius:50% 18px 18px 18px;inset:-26px -8px 26px 12px}
.v3-home .output-specimen{box-shadow:0 20px 55px color-mix(in srgb,var(--product-ink) 6.3%,transparent)}
.v3-catalog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 24px}
.v3-filters{display:flex;gap:5px;flex-wrap:wrap}.v3-filters button{font:500 .8rem/1.4 system-ui,sans-serif;cursor:pointer;padding:9px 14px;min-height:38px;background:transparent;color:var(--product-muted);border:1px solid var(--product-line);border-radius:30px;transition:background 180ms,color 180ms}
.v3-filters button[aria-pressed=true]{background:var(--product-ink);border-color:var(--product-ink);color:var(--product-bg)}.v3-filters button span{font-size:.65rem;margin-left:6px;opacity:1}
.v3-catalog-summary{font:400 .7rem/1.5 ui-monospace,monospace;color:var(--product-muted);margin:0}
.v3 .product-service{border-radius:18px;background:var(--product-card);transition:transform 220ms,border-color 220ms,box-shadow 220ms;overflow:hidden}
.v3 .product-service:hover{transform:translateY(-4px);box-shadow:0 12px 30px color-mix(in srgb,var(--product-ink) 3.9%,transparent)}.v3 .service-topline{margin-bottom:18px}.v3 .service-number{font-size:.67rem;letter-spacing:.06em}
.v3 .product-service h3{font-size:2rem}.v3 .product-service .preview-tag{font-size:.65rem}
.v3-service-art{height:140px;background:var(--product-soft);border:1px solid var(--product-line);border-radius:10px;position:relative;margin:0 0 26px;color:var(--v3-illustration);overflow:hidden;display:flex;align-items:center;justify-content:center;gap:38px}
.v3-art-tag{position:absolute;bottom:10px;left:14px;font:400 .59rem/1.5 ui-monospace,monospace;letter-spacing:.02em;color:var(--product-muted)}
.v3-art-wave{height:52px;display:flex;gap:4px;align-items:center;margin-top:-14px}
.v3-bar{display:block;background:currentColor;width:3px;border-radius:2px;transform-origin:center}.bar-12{height:12px}.bar-16{height:16px}.bar-18{height:18px}.bar-20{height:20px}.bar-24{height:24px}.bar-28{height:28px}.bar-30{height:30px}.bar-34{height:34px}.bar-38{height:38px}.bar-44{height:44px}.bar-46{height:46px}.bar-50{height:50px}
.v3-art-document{width:57px;height:74px;border:1px solid currentColor;border-radius:5px;background:var(--product-card);transform:rotate(7deg);margin-top:-8px;padding:10px;display:flex;flex-direction:column;gap:8px}
.v3-art-document span{font:500 .58rem ui-monospace,monospace}.v3-art-document i{height:1px;background:currentColor;opacity:.4}.v3-art-document i:last-child{width:65%}
.v3-code-sheet{width:105px;height:79px;border:1px solid currentColor;background:var(--product-card);border-radius:6px;padding:12px;transform:rotate(-5deg);margin-top:-10px;display:flex;flex-direction:column;gap:9px}
.v3-code-sheet span{font:400 .6rem ui-monospace,monospace}.v3-code-sheet i{width:75%;height:3px;background:currentColor;opacity:.5;border-radius:2px}.v3-code-sheet i:nth-child(3){width:50%;margin-left:10px}.v3-code-sheet i:last-child{width:60%}
.v3-chip{position:relative;width:53px;height:53px;margin-top:-10px;border:1px solid currentColor;outline:1px solid currentColor;outline-offset:5px;display:grid;place-items:center;background:var(--product-card);border-radius:4px;box-shadow:0 0 0 9px var(--product-soft)}
.v3-chip span{font:400 .68rem ui-monospace,monospace}.v3-chip:before,.v3-chip:after{content:"";position:absolute;inset:10px -11px;border-block:1px solid currentColor;z-index:-1}.v3-chip:after{inset:-11px 10px;border:0;border-inline:1px solid currentColor}
.v3-ideas{margin-top:22px}.v3-idea-notice{display:flex;align-items:flex-start;gap:18px;padding:18px 20px;border:1px dashed var(--product-line);border-radius:10px;margin-bottom:22px;background:var(--product-bg)}
.v3-idea-notice p{font-size:.84rem;color:var(--product-muted);line-height:1.75;margin:0;max-width:700px}.v3-idea-notice .preview-tag{flex-shrink:0}
.v3-idea-card .preview-tag{background:var(--product-bg);color:var(--product-muted)}
.v3-image-frame{width:95px;height:76px;border:1px solid currentColor;padding:6px;background:var(--product-card);border-radius:6px;transform:rotate(-6deg);margin-top:-10px;overflow:hidden}
.v3-image-frame i{display:block;width:100%;height:100%;background:radial-gradient(circle at 70% 28%,var(--v3-tint-two) 10%,transparent 11%),linear-gradient(145deg,transparent 45%,var(--v3-tint) 46% 68%,transparent 69%),var(--product-soft)}
.v3-render-art svg{height:90px;width:130px;transform:translateY(-8px)}
.v3-direction-teaser{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:50px}.v3-direction-teaser p:not(.product-kicker){color:var(--product-muted);font-size:.94rem;line-height:1.8;max-width:550px}
.v3-seed{position:relative;height:240px;max-width:300px;width:100%;margin:auto;display:grid;place-items:center;color:var(--product-accent)}.v3-seed svg{width:115px;height:115px;position:relative}
.v3-seed-ring{position:absolute;inset:24px 18px;border:1px solid var(--product-line);border-radius:50%;transform:rotate(-28deg)}.v3-seed-ring.ring-two{inset:0 32px;transform:rotate(28deg)}
html[data-motion] .v3-wash-one{animation:v3-drift 40s ease-in-out infinite alternate}html[data-motion] .v3-wash-two{animation:v3-drift 54s ease-in-out -10s infinite alternate-reverse}
html[data-motion] .v3-contours{animation:v3-contour-turn 52s ease-in-out infinite alternate}
html[data-motion] .v3-home .hero-specimen:before{animation:v3-float 10s ease-in-out infinite}
html[data-motion] .v3-bar{animation:v3-wave 4.2s ease-in-out infinite}html[data-motion] .v3-bar:nth-child(3n){animation-delay:-1.4s}html[data-motion] .v3-bar:nth-child(3n+1){animation-delay:-2.8s}
html[data-motion] .v3-art-document{animation:v3-document-sway 18s ease-in-out infinite}
html[data-motion] .v3-code-sheet{animation:v3-code-sway 20s ease-in-out -6s infinite}
html[data-motion] .v3-chip{animation:v3-chip-lift 16s ease-in-out -4s infinite}
html[data-motion] .v3-image-frame{animation:v3-image-sway 21s ease-in-out infinite}

html[data-motion=paused] .v3-wash,html[data-motion=paused] .v3-contours,html[data-motion=paused] .v3-home .hero-specimen:before,html[data-motion=paused] .v3-bar,html[data-motion=paused] .v3-seed-ring{animation-play-state:paused}
html[data-page-hidden=true] .v3 [data-v3-animate],html[data-page-hidden=true] .v3 [data-v3-animate] *,html[data-page-hidden=true] .v3 [data-v3-animate]:after,html[data-page-hidden=true] .v3 [data-v3-animate]:before,.v3 .v3-outside,.v3 .v3-outside *,.v3 .v3-outside:before{animation-play-state:paused!important}
@keyframes v3-drift{from{transform:translate3d(-12px,-8px,0) scale(.98)}to{transform:translate3d(22px,18px,0) scale(1.03)}}
@keyframes v3-contour-turn{from{transform:rotate(-8deg) translate3d(0,0,0)}to{transform:rotate(-5deg) translate3d(-6px,4px,0)}}
@keyframes v3-float{0%,100%{transform:translateY(0) rotate(3deg)}50%{transform:translateY(-4px) rotate(3deg)}}
@keyframes v3-wave{0%,100%{transform:scaleY(.72)}50%{transform:scaleY(1)}}
.v3-theme-controls{display:flex;gap:6px;align-items:center}.v3-theme-toggle{display:flex;align-items:center;gap:7px;padding:0;background:none;border:0;color:var(--product-ink);cursor:pointer;min-height:40px}
.v3-theme-label{font:500 .72rem system-ui,sans-serif;min-width:29px;text-align:left}.v3-theme-track{display:block;position:relative;width:56px;height:29px;border:1px solid var(--product-line);border-radius:25px;background:var(--product-soft)}
.v3-theme-track svg{position:absolute;width:15px;height:15px;top:6px;color:var(--product-accent);transition:transform 550ms,opacity 550ms}.v3-sun{left:6px;z-index:2}.v3-moon{right:6px;opacity:.5;transform:rotate(-20deg)}
.v3-theme-knob{position:absolute;top:2px;left:2px;width:23px;height:23px;background:var(--product-card);border:1px solid var(--product-line);border-radius:50%;box-shadow:0 1px 4px #0001;transition:transform 550ms cubic-bezier(.2,.8,.2,1)}
html[data-theme=dark] .v3-theme-knob{transform:translateX(27px)}html[data-theme=dark] .v3-moon{opacity:1;transform:rotate(0);z-index:2}html[data-theme=dark] .v3-sun{opacity:.5;transform:rotate(65deg)}
html[data-theme=light]{color-scheme:light;--bg:#fbfbf9;--fg:#1c1d1f;--muted:#5d6166;--line:#e3e3de;--card:#fff;--accent:#0f7a5c;--accent-ink:#fff;--soft:#eaf5f0}
html[data-theme=light] body.v3{--product-bg:#d6e3d0;--product-card:#e6ecdd;--product-ink:#17332b;--product-muted:#50634f;--product-line:#b1c6aa;--product-accent:#096c4e;--product-soft:#c4d8bc;--product-accent-ink:#fff;--v3-tint:#a8c694;--v3-tint-two:#d6c59b;--v3-illustration:#1c7250}
html[data-theme=dark]{color-scheme:dark;--bg:#121314;--fg:#e9eaeb;--muted:#a3a7ac;--line:#2b2d30;--card:#1a1b1d;--accent:#3cc497;--accent-ink:#0b1f18;--soft:#16261f}
html[data-theme=dark] body.v3{--product-bg:#131b17;--product-card:#1b2520;--product-ink:#e5ede6;--product-muted:#b0bdb2;--product-line:#354238;--product-accent:#8dd7ae;--product-soft:#202f25;--product-accent-ink:#0b2719;--v3-tint:#304b37;--v3-tint-two:#454331;--v3-illustration:#8dd7ae}
@media(prefers-color-scheme:dark){body.marketing.v3{--product-bg:#131b17;--product-card:#1b2520;--product-ink:#e5ede6;--product-muted:#b0bdb2;--product-line:#354238;--product-accent:#8dd7ae;--product-soft:#202f25;--product-accent-ink:#0b2719;--v3-tint:#304b37;--v3-tint-two:#454331;--v3-illustration:#8dd7ae}}
@media(max-width:1000px){.v3 header .wrap{align-items:flex-start}.v3 header nav{gap:10px 15px}.v3 header .wrap{min-height:88px}.v3 .product-service h3{font-size:1.8rem}}
@media(max-width:680px){html[data-motion] .v3-home .hero-specimen:before{animation:none}.v3 header nav{justify-content:flex-start;gap:8px 16px}.v3 header nav .nav-app{margin-left:auto}.v3-contours{right:-170px;top:60px;width:460px;opacity:.075}.v3-wash{width:500px;height:500px;opacity:.3}.v3-home .product-hero{padding-bottom:28px}.v3-home .hero-specimen:before{inset:-12px 4px 16px 14px;transform:none}.v3-service-art{height:130px;gap:24px}.v3-catalog-toolbar{gap:12px}.v3-catalog-summary{width:100%}.v3-filters button{font-size:.75rem;padding:9px 12px}.v3-idea-notice{display:block}.v3-idea-notice p{margin-top:10px}.v3-direction-teaser{grid-template-columns:1fr;gap:20px}.v3-seed{height:180px;max-width:250px}.v3-service-art{margin-bottom:22px}.v3 .product-service h3{font-size:1.9rem}}
@media(prefers-reduced-motion:reduce){.v3 *, .v3 *:after{animation:none!important;transition:none!important}}

/* Tinted surfaces and stable tab groups: the indicator moves, controls do not. */
.v3-filters,.v3 .example-tabs{position:relative;isolation:isolate}
.v3-filters button,.v3 .example-tabs button{position:relative;z-index:1}
.v3-filters button[aria-pressed=true]{background:transparent;border-color:transparent}
.v3 .example-tabs{gap:4px;padding:4px;border-radius:10px;background:var(--product-soft);width:fit-content}
.v3 .example-tabs button{border:0;min-height:38px;padding:8px 14px;background:transparent}
.v3 .example-tabs button[aria-pressed=true]{background:transparent}
.v3-tab-indicator{position:absolute;top:0;left:0;pointer-events:none;z-index:0;background:var(--product-ink);border-radius:24px}
.v3 .example-tabs .v3-tab-indicator{background:var(--product-card);border:1px solid var(--product-line);border-radius:7px;box-shadow:0 2px 7px color-mix(in srgb,var(--product-ink) 4.7%,transparent)}
[data-indicator-ready]>.v3-tab-indicator{transition:transform 520ms cubic-bezier(.2,.8,.2,1),width 520ms,height 520ms,background 520ms}
html[data-motion=paused] .v3-tab-indicator{transition:none}
.v3-output-panels{min-height:205px}
.v3-audio-player{border:1px solid var(--product-line);border-radius:10px;background:var(--product-soft);padding:13px;margin:18px 0 0}
.v3-audio-caption{display:flex;gap:10px;justify-content:space-between;align-items:center;margin:0 0 8px;font:400 .65rem/1.5 ui-monospace,monospace;color:var(--product-muted)}
.v3-audio-caption span:last-child{font-family:system-ui,sans-serif}
.v3-audio-controls{display:flex;gap:12px;align-items:center}
.v3-play{border:1px solid var(--product-line);border-radius:50%;background:var(--product-card);width:40px;height:40px;min-width:40px;color:var(--product-accent);cursor:pointer;display:grid;place-items:center}
.v3-play svg{width:16px;height:16px}.v3-play .pause-icon{display:none}.v3-audio-player[data-playing=true] .play-icon{display:none}.v3-audio-player[data-playing=true] .pause-icon{display:block}
.v3-audio-track{min-width:0;flex:1;position:relative;height:36px;color:var(--product-accent)}
.v3-recording-wave{position:absolute;inset:0;width:100%;height:100%;display:block}
.v3-wave-remaining{opacity:.25}.v3-wave-played{clip-path:inset(0 calc(100% - var(--v3-audio-position,0%)) 0 0)}
.v3-audio-playhead{position:absolute;top:2px;bottom:2px;left:var(--v3-audio-position,0%);width:1px;background:currentColor;opacity:.4;pointer-events:none}
.v3-audio-progress{width:100%;height:3px;display:block;margin-top:6px;appearance:none;border:0;border-radius:2px;background:var(--product-line);overflow:hidden;color:var(--product-accent)}
.v3-audio-progress::-webkit-progress-bar{background:var(--product-line)}.v3-audio-progress::-webkit-progress-value{background:var(--product-accent)}.v3-audio-progress::-moz-progress-bar{background:var(--product-accent)}
.v3-audio-time{font:400 .62rem ui-monospace,monospace;color:var(--product-muted);white-space:nowrap}
.v3-audio-status{font-size:.67rem!important;line-height:1.5;margin:8px 0 0!important;color:var(--product-muted)}
.v3-audio-player audio{width:100%;height:40px}.v3-play:disabled{cursor:wait;opacity:.6}
@media(prefers-reduced-motion:reduce){.v3-tab-indicator{transition:none!important}}

.v3-audio-action{width:100%;padding:0;border:0;background:transparent;color:var(--product-ink);text-align:left;cursor:pointer;min-height:42px}
.v3-audio-action .v3-play{min-width:40px;pointer-events:none}.v3-audio-action:hover .v3-play{border-color:var(--product-accent)}
/* Theme-responsive atmosphere: soft celadon daylight gives way to a restrained forest glow. */
.v3-day-glow,.v3-night-glow{position:absolute;inset:0 0 auto;height:100%;pointer-events:none}
.v3-day-glow{background:radial-gradient(ellipse at 10% 38%,color-mix(in srgb,var(--v3-tint-two) 20%,transparent),transparent 48%),radial-gradient(ellipse at 92% 28%,color-mix(in srgb,var(--v3-tint) 27%,transparent),transparent 54%);opacity:1}
.v3-night-glow{background:radial-gradient(ellipse at 80% 18%,color-mix(in srgb,var(--product-accent) 14%,transparent),transparent 53%),radial-gradient(ellipse at 8% 63%,color-mix(in srgb,var(--product-muted) 12%,transparent),transparent 45%);opacity:0}
html[data-theme=dark] .v3-day-glow{opacity:0}html[data-theme=dark] .v3-night-glow{opacity:1}
.v3-contour-theme{position:absolute;right:-190px;top:30px;width:700px;transform:translate(0,0) rotate(0deg)}
.v3-contour-theme .v3-contours{position:relative;top:auto;right:auto;width:100%}
html[data-theme=dark] .v3-contour-theme{transform:translate(-26px,24px) rotate(9deg)}
html[data-theme=dark] .v3-contours{opacity:.16}
@media(max-width:680px){.v3-contour-theme{right:-170px;top:60px;width:460px}html[data-theme=dark] .v3-contour-theme{transform:translate(-12px,14px) rotate(6deg)}}
@media(prefers-color-scheme:dark){html:not([data-theme]) .v3-day-glow{opacity:0}html:not([data-theme]) .v3-night-glow{opacity:1}}
html[data-reduced-motion=true] .v3 *,html[data-reduced-motion=true] .v3 *:before,html[data-reduced-motion=true] .v3 *:after{animation:none!important;transition:none!important}

/* Clear click ripples and stable panel viewports. */
.v3-click-ripple{position:fixed;width:130px;height:130px;border:1px solid var(--product-accent);border-radius:50%;pointer-events:none;z-index:8;background:radial-gradient(circle,transparent 58%,var(--product-soft) 70%,transparent 72%)}
.v3-output-switcher,.v3 [data-v3-tabs],.v3-catalog{position:relative}
.v3-tab-panels,.v3-catalog-results{position:relative;overflow-anchor:none;min-width:0}
.v3 .example-tabs button[aria-selected=true]{color:var(--product-ink);background:transparent}
.v3 .example-tabs button[aria-selected=false]{color:var(--product-muted)}
.v3-output-panels{min-height:240px}.v3 .example-disclosure{margin-top:18px}
.v3-disclosure-body{overflow:hidden;display:flow-root}
html[data-motion=paused] .v3 *,html[data-motion=paused] .v3 *:before,html[data-motion=paused] .v3 *:after{transition:none!important}
html[data-motion=paused] .v3 .product-service:hover{transform:none}

/* Large passive scenery extends the theme through the full page. */
.v3-landscape,.v3-landscape *{pointer-events:none;user-select:none}
.v3-landscape{position:absolute;inset:0;color:var(--product-accent)}
.v3-landscape-opening{position:absolute;top:6px;right:0;width:390px;height:530px}
.v3-scenery-sprig{width:260px;position:absolute;right:-52px;top:130px;opacity:.12;transform:rotate(-18deg)}
.v3-scenery-sprig svg{width:100%;height:auto;display:block}
.v3-scenery-butterfly{position:absolute;top:-6px;right:160px;display:flex;width:126px;height:86px;perspective:180px;color:var(--product-accent)}
.v3-butterfly-wing{display:block;width:63px;height:86px;transform-origin:100% 50%;opacity:.2}
.v3-butterfly-wing svg{display:block;width:100%;height:100%}.v3-butterfly-wing.wing-right{transform-origin:0% 50%}
.v3-butterfly-body{position:absolute;top:17px;left:calc(50% - 1px);width:2px;height:44px;background:currentColor;opacity:.15;border-radius:2px}
.v3-landscape-scene{position:absolute;left:0;right:0;height:430px}
.scene-collection{top:33%}.scene-workflow{top:62%}.scene-closing{top:84%}
.v3-landscape-scene .v3-scenery-sprig{top:20px;right:-55px;width:290px;transform:rotate(24deg);opacity:.11}
.scene-workflow .v3-scenery-sprig{right:auto;left:-80px;transform:rotate(-28deg);width:280px}
.scene-closing .v3-scenery-sprig{right:-46px;top:35px;transform:rotate(32deg)}
.v3-scene-wash{position:absolute;width:680px;height:520px;right:-200px;top:-140px;background:radial-gradient(ellipse,var(--v3-tint),transparent 65%);opacity:.32}
.scene-workflow .v3-scene-wash{right:auto;left:-260px;background:radial-gradient(ellipse,var(--v3-tint-two),transparent 66%);opacity:.3}
.v3-scenery-orbits{position:absolute;top:-70px;right:-75px;width:420px;height:auto;stroke-width:.8;opacity:.085;transform:rotate(-22deg)}
html[data-theme=dark] .v3-scenery-sprig{opacity:.1}html[data-theme=dark] .v3-scenery-orbits{opacity:.075}
.v3-seed-art{display:grid;place-items:center;position:relative;width:145px;height:145px;padding:15px;border:0;background:transparent;color:inherit;border-radius:50%;cursor:grab;touch-action:manipulation}.v3-seed-art:active{cursor:grabbing}.v3-seed-art svg{transform-origin:21% 84%;pointer-events:none}.v3-seed-art:focus-visible{outline:2px solid currentColor;outline-offset:8px}.v3-seed-art:disabled{cursor:default}.v3-seed-ring{animation:none!important}
.v3-theme-wave-ring{position:fixed;border:2px solid currentColor;border-radius:50%;pointer-events:none;z-index:31;transform-origin:center}
/* Selection labels stay readable throughout the marker's travel. */
.v3-filters button[aria-pressed=true]{color:var(--product-accent);font-weight:500}
.v3-filters .v3-tab-indicator{background:var(--product-soft);border:1px solid var(--product-line)}
.v3-catalog-results{display:flow-root}.v3-catalog-results>.v3-ideas{margin-top:0}
/* Text stays selectable (copying job numbers, emails, errors; iOS look-up); only controls and decoration are not. */
.v3 :is(button,summary,[role=tab],.v3-theme-toggle,.v3-seed-art,.v4-page-scenery,.v3-ambient){-webkit-user-select:none;user-select:none}
@keyframes v3-document-sway{0%,100%{transform:rotate(7deg) translateY(0)}50%{transform:rotate(8deg) translateY(-2px)}}
@keyframes v3-code-sway{0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(-4deg) translateY(-2px)}}
@keyframes v3-chip-lift{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes v3-image-sway{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(-5deg)}}
html[data-motion=paused] .v3-art-document,html[data-motion=paused] .v3-code-sheet,html[data-motion=paused] .v3-chip,html[data-motion=paused] .v3-image-frame{animation-play-state:paused}
@media(max-width:1000px){.v3-scenery-sprig{right:-100px;opacity:.085}.v3-landscape-scene .v3-scenery-sprig{right:-115px;opacity:.075}.scene-workflow .v3-scenery-sprig{right:auto;left:-150px}}
@media(max-width:680px){.v3-landscape-opening{top:12px;width:290px}.v3-scenery-butterfly{right:18px;top:10px;width:144px;height:100px}.v3-butterfly-wing{width:72px;height:100px;opacity:.11}.v3-butterfly-body{top:23px;height:48px;opacity:.08}.v3-scenery-sprig{right:-90px;top:330px;width:250px;opacity:.065}.v3-landscape-scene .v3-scenery-sprig{right:-135px;width:280px;opacity:.06}.scene-workflow .v3-scenery-sprig{left:-155px;right:auto}.v3-scenery-orbits{right:-170px;width:380px;opacity:.06}.v3-scene-wash{width:480px;right:-260px;opacity:.3}.scene-workflow .v3-scene-wash{left:-260px;right:auto}}

/* One output switch, with a stable viewport and real panels sliding together. */
.v3-output-panels{display:grid;grid-template-columns:minmax(0,1fr);min-height:250px;overflow:clip}
.v3-output-panels>section{grid-area:1 / 1;min-width:0;padding:2px 0 0;align-self:start}
.v3-output-panels .specimen-file{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:4px 0 18px}
.v3-output-panels .specimen-file>span{font-size:.62rem}
.v3-output-panels.v3-sliding{pointer-events:none}
.v3-caption-cue{padding-left:12px;border-left:2px solid var(--product-line);margin-bottom:14px}
.v3-caption-time{font:400 .62rem/1.5 ui-monospace,monospace;color:var(--product-accent)}
.v3-caption-cue p{font-size:.9rem;line-height:1.65;margin:4px 0 0}
.v3 .specimen-actions{min-height:30px;gap:12px 18px}
.v3-leaf-hint{position:absolute;bottom:4px;left:0;right:0;text-align:center;font:400 .65rem/1.5 ui-monospace,monospace;letter-spacing:.02em;color:var(--product-muted);opacity:1;pointer-events:none}

/* Related palettes, rather than unrelated skins: sage, tidal teal, slate and clay. */
html[data-theme=light][data-palette=audio] body.v3{--product-bg:#cfe2dd;--product-card:#e0ece6;--product-soft:#bdd8cf;--product-line:#a3bfb5;--product-ink:#163b36;--product-muted:#48645e;--product-accent:#086b62;--v3-tint:#9fc7bc;--v3-tint-two:#b9d4bf;--v3-illustration:#126f65}
html[data-theme=light][data-palette=code] body.v3{--product-bg:#d2dce7;--product-card:#e1e7ee;--product-soft:#bfcedd;--product-line:#a5b8cd;--product-ink:#20374d;--product-muted:#4e6276;--product-accent:#345f85;--v3-tint:#9fb9d1;--v3-tint-two:#bcc2d4;--v3-illustration:#345f85}
html[data-theme=light][data-palette=ideas] body.v3{--product-bg:#e2d5ca;--product-card:#eae2d8;--product-soft:#d7c4b9;--product-line:#c5aa9c;--product-ink:#463832;--product-muted:#6f594d;--product-accent:#815440;--v3-tint:#c9a990;--v3-tint-two:#c9bb9d;--v3-illustration:#815440}
html[data-theme=dark][data-palette=audio] body.v3{--product-bg:#12201e;--product-card:#1a2d29;--product-soft:#213d35;--product-line:#37554d;--product-ink:#e0eeea;--product-muted:#acc9bf;--product-accent:#8ad8c7;--v3-tint:#2f6052;--v3-tint-two:#394e39;--v3-illustration:#8ad8c7}
html[data-theme=dark][data-palette=code] body.v3{--product-bg:#151e29;--product-card:#202c3a;--product-soft:#28394b;--product-line:#3c5169;--product-ink:#e2eaf3;--product-muted:#afc1d3;--product-accent:#a4c9ec;--v3-tint:#344e6a;--v3-tint-two:#49475e;--v3-illustration:#a4c9ec}
html[data-theme=dark][data-palette=ideas] body.v3{--product-bg:#241c18;--product-card:#30261f;--product-soft:#3c3027;--product-line:#584639;--product-ink:#eee6da;--product-muted:#cfbba7;--product-accent:#e4b995;--v3-tint:#67472e;--v3-tint-two:#5a5132;--v3-illustration:#e4b995}
body.v3-scene-shift, .v3-scene-shift :is(header,footer,.output-specimen,.product-service,.v3-service-art,.v3-audio-player,.preview-notice,.product-status-card,.product-aside,.v3-idea-notice,.preview-tag,.v3-theme-track,.v3-theme-knob,.v3-tab-indicator){transition:background-color 900ms ease,color 900ms ease,border-color 900ms ease,transform 220ms,box-shadow 220ms}
.v3-scene-shift :is(a,p,h1,h2,h3,span,button,dt,dd,svg){transition:color 900ms ease,border-color 900ms ease}
.v3-atmosphere{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:0;overflow:clip;color:var(--product-accent);transition:opacity 1000ms ease,transform 1200ms cubic-bezier(.2,.8,.2,1);transform:translateX(40px)}
.v3-atmosphere>svg{position:absolute;right:-200px;top:var(--v3-atmosphere-top,900px);width:900px;max-width:none;stroke-width:1;opacity:.12}
.v3-code-grid{position:absolute;inset:0;background:linear-gradient(90deg,currentColor 1px,transparent 1px),linear-gradient(currentColor 1px,transparent 1px);background-size:110px 110px;opacity:.025;mask-image:linear-gradient(90deg,transparent 55%,black)}
.v3-code-flurries{position:absolute;inset:-90px 0 0;background-image:radial-gradient(circle at 20px 35px,currentColor 1px,transparent 2px),radial-gradient(circle at 120px 90px,currentColor 1.5px,transparent 2px),radial-gradient(circle at 210px 170px,currentColor 1px,transparent 2px);background-size:310px 240px;opacity:.15;mask-image:linear-gradient(90deg,transparent 5%,black 80%)}
html[data-motion=running][data-backdrop=code] .v3-code-flurries{animation:v3-flurries 18s linear infinite}
html[data-motion=running][data-backdrop=audio] .atmosphere-audio>svg{animation:v3-tide 16s ease-in-out infinite alternate}
html[data-motion=running][data-backdrop=ideas] .atmosphere-ideas>svg{animation:v3-ideas-turn 38s ease-in-out infinite alternate}
@keyframes v3-flurries{from{transform:translateY(0)}to{transform:translateY(90px)}}
@keyframes v3-tide{from{transform:scale(.98) rotate(-10deg)}to{transform:scale(1.03) rotate(-6deg)}}
@keyframes v3-ideas-turn{from{transform:rotate(-8deg)}to{transform:rotate(-3deg)}}
@media(max-width:680px){.v3-output-panels{min-height:285px}.v3-atmosphere>svg{width:620px;right:-330px;opacity:.085}.v3-code-flurries{opacity:.11}.v3-leaf-hint{bottom:0}}
.v3-theme-snapshot{position:fixed;inset:0;z-index:30;pointer-events:none;overflow:hidden;contain:strict}
.v3-theme-snapshot *, .v3-theme-snapshot *:before, .v3-theme-snapshot *:after{animation:none!important;transition:none!important;pointer-events:none!important;user-select:none!important}
/* Shared contact/policy components use the same palette as the service pages. */
body.marketing.v3{--bg:var(--product-bg);--fg:var(--product-ink);--muted:var(--product-muted);--line:var(--product-line);--card:var(--product-card);--accent:var(--product-accent);--accent-ink:var(--product-accent-ink);--soft:var(--product-soft)}
.v3-scene-shift .v3-filters .v3-tab-indicator{transition:transform 600ms cubic-bezier(.2,.8,.2,1),width 600ms,height 600ms,background-color 900ms,border-color 900ms}
/* V4: only the destination composition phases in; the backdrop itself stays put. */
.v4 .v3-click-ripple{width:96px;height:96px;border:0;background:none;overflow:visible;color:var(--product-accent)}
.v4-page-scenery,.v4-page-scenery *{pointer-events:none;user-select:none}
.v4-page-scenery,.v4-scene{position:absolute;inset:0;color:var(--product-accent)}
.v4-scene,.v4-category-atmosphere{opacity:0;visibility:hidden;transform:none;transition:opacity 360ms ease,visibility 0s linear 360ms}
html[data-backdrop=garden] .scene-garden,html[data-backdrop=insects] .scene-insects,html[data-backdrop=pods] .scene-pods,html[data-backdrop=audio] .atmosphere-audio,html[data-backdrop=code] .atmosphere-code,html[data-backdrop=ideas] .atmosphere-ideas{opacity:1;visibility:visible;transition-delay:0s}
.v4-scene-opening,.v4-scene-middle,.v4-scene-closing{position:absolute;width:460px;opacity:.14}
.v4-scene svg{display:block;width:100%;height:auto}
.v4-scene-opening{right:-100px;top:20px;transform:rotate(-12deg)}
.v4-scene-middle{left:-240px;top:820px;width:560px;transform:rotate(18deg);opacity:.09}
.v4-scene-closing{right:-150px;top:1850px;width:440px;transform:rotate(20deg);opacity:.10}
main[data-scene-size=short] .v4-scene-middle,main[data-scene-size=short] .v4-scene-closing{display:none}
.scene-insects .v4-scene-opening{right:-85px;top:30px;width:510px;transform:rotate(-16deg)}
.scene-insects .v4-scene-middle{width:500px;left:-180px;transform:rotate(-25deg)}
.scene-pods .v4-scene-opening{top:-40px;right:-60px;transform:rotate(12deg)}
html[data-motion=running][data-backdrop=garden] .scene-garden .v4-flower-head{animation:v4-petal-breathe 26s ease-in-out infinite alternate;transform-origin:206px 155px}
html[data-motion=running][data-backdrop=insects] .scene-insects .v4-insect-wings{animation:v4-wing-rest 24s ease-in-out infinite alternate;transform-origin:240px 190px}
@keyframes v4-petal-breathe{from{transform:rotate(-1deg)}to{transform:rotate(2deg)}}
@keyframes v4-wing-rest{from{transform:scaleY(1)}to{transform:scaleY(.975)}}
.v4-nav-announcement{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.v4 .v3-day-glow,.v4 .v3-night-glow{height:1400px;background-size:100% 1400px;background-repeat:no-repeat;mask-image:linear-gradient(180deg,#000 0%,#000 65%,transparent 100%)}
@media(max-width:680px){.v4-scene-opening{width:360px;right:-190px;opacity:.10}.scene-insects .v4-scene-opening{width:350px;right:-180px}.scene-pods .v4-scene-opening{right:-220px}.v4-scene-middle{width:420px;left:-290px;opacity:.075}.scene-insects .v4-scene-middle{width:380px;left:-250px}.v4-scene-closing{width:340px;right:-190px;opacity:.075}}

/* The switch is a first-class header action, with room for its moving sun and moon. */
.v4 header{position:sticky;top:0;z-index:20;box-shadow:0 3px 18px color-mix(in srgb,var(--product-ink) 2.0%,transparent)}
.v4[data-scrolled=true] header{box-shadow:0 7px 24px color-mix(in srgb,var(--product-ink) 7.1%,transparent)}
.v4-scroll-progress{position:fixed;top:0;left:0;width:100%;height:2px;background:var(--product-accent);transform:scaleX(0);transform-origin:left;z-index:25;pointer-events:none}
.v4 header .wrap{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;align-items:center;min-height:98px;padding-block:18px}
.v4 header nav{justify-content:flex-end;gap:12px 22px;width:auto}
.v4 header nav a{position:relative;white-space:nowrap;padding-block:7px}
.v4 header nav a:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 250ms ease}
.v4 header nav a:hover:after,.v4 header nav a[aria-current=page]:after{transform:scaleX(1)}
.v4-header-actions{display:flex;align-items:center;gap:16px}
.v4-motion-toggle{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;padding:0;
border:1px solid var(--product-line);border-radius:50%;background:var(--product-card);color:var(--product-ink);cursor:pointer}
.v4-motion-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v4-motion-toggle .v4-motion-play,.v4-motion-toggle[aria-pressed=true] .v4-motion-pause{display:none}
.v4-motion-toggle[aria-pressed=true] .v4-motion-play{display:block}
.v4-motion-toggle:hover{border-color:var(--product-accent)}
/* Pause stops CSS motion as well as the script-driven effects. Keep text and navigation fully usable. */
html[data-motion=paused] body.marketing.v4,
html[data-motion=paused] body.marketing.v4 *,
html[data-motion=paused] body.marketing.v4 *::before,
html[data-motion=paused] body.marketing.v4 *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.v4 .v3-theme-toggle{gap:9px;padding:4px 0;min-height:50px;touch-action:manipulation}
.v4 .v3-theme-label{font-size:.75rem;min-width:32px}
.v4 .v3-theme-track{width:80px;height:42px;border-radius:24px;box-shadow:inset 0 1px 5px color-mix(in srgb,var(--product-ink) 4.3%,transparent);transition:border-color 220ms,box-shadow 220ms}
.v4 .v3-theme-toggle:hover .v3-theme-track{border-color:var(--product-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--product-accent) 8%,transparent)}
.v4 .v3-theme-track svg{width:20px;height:20px;top:10px}.v4 .v3-sun{left:10px}.v4 .v3-moon{right:10px}
.v4 .v3-theme-knob{top:3px;left:3px;width:34px;height:34px;box-shadow:0 2px 6px color-mix(in srgb,var(--product-ink) 7.8%,transparent)}
html[data-theme=dark] .v4 .v3-theme-knob{transform:translateX(38px)}
.v4 .v3-theme-toggle:focus-visible{border-radius:28px}
.v4-header-actions .nav-app{font-size:.8rem;text-decoration:none;white-space:nowrap;padding:11px 14px;border:1px solid var(--product-line);border-radius:9px;color:var(--product-ink);transition:border-color 220ms,background-color 220ms}
.v4-header-actions .nav-app:hover{border-color:var(--product-accent);background:var(--product-soft)}
.v4-app-short{display:none}
.v4 .skip-link:focus{position:fixed;top:12px;left:20px;z-index:40}
.v4 :is(.product-section,.hero-specimen,.product-intro,.policy-page){scroll-margin-top:120px}
.v4 h1,.v4 h2{text-wrap:balance}.v4 .product-lead{text-wrap:pretty}.v4 p{font-kerning:normal}

/* Filled botanical shapes carry the light palette, rather than vanishing into it. */
.v4-scene-opening{width:510px;right:-70px;opacity:.25}
.v4-scene-middle{opacity:.15}.v4-scene-closing{opacity:.17}
.scene-insects .v4-scene-opening{width:540px;right:-45px;opacity:.27}
.scene-pods .v4-scene-opening{right:-45px;opacity:.25}
html[data-theme=dark] .v4-scene-opening{opacity:.19}html[data-theme=dark] .v4-scene-middle,html[data-theme=dark] .v4-scene-closing{opacity:.12}
.v4 .v3-contour-theme{display:none}
.v4 .v3-day-glow{background-image:radial-gradient(ellipse at 9% 42%,color-mix(in srgb,var(--v3-tint-two) 38%,transparent),transparent 48%),radial-gradient(ellipse at 91% 26%,color-mix(in srgb,var(--v3-tint) 50%,transparent),transparent 54%)}
.v4 .v3-night-glow{background-image:radial-gradient(ellipse at 80% 18%,color-mix(in srgb,var(--v3-tint) 45%,transparent),transparent 53%),radial-gradient(ellipse at 8% 63%,color-mix(in srgb,var(--v3-tint-two) 30%,transparent),transparent 45%)}

/* Categories are complete alternatives to the garden, never a second layer over it. */
.v4-atmosphere-opening,.v4-atmosphere-collection{position:absolute;width:570px;right:-220px;color:var(--product-accent);opacity:.20}
.v4-atmosphere-opening{top:230px;transform:rotate(-12deg)}
.v4-atmosphere-collection{top:max(1000px,var(--v3-atmosphere-top,1000px));left:-300px;right:auto;transform:rotate(10deg);opacity:.14}
.v4-category-atmosphere svg{display:block;width:100%;height:auto}
main[data-scene-size=short] .v4-atmosphere-collection{display:none}
html[data-theme=dark] .v4-atmosphere-opening{opacity:.16}html[data-theme=dark] .v4-atmosphere-collection{opacity:.10}

/* Exploratory cards form a deliberate collection, and the cube shares its exact vertices. */
.v4 .v3-idea-notice{border-style:solid;background:var(--product-soft);padding:22px 24px;align-items:center;gap:22px;border-radius:12px}
.v4 .v3-idea-notice h3{font:400 1.35rem/1.25 Georgia,Cambria,serif;letter-spacing:-.02em;margin:0 0 7px}
.v4 .v3-idea-notice p{font-size:.81rem;line-height:1.7;max-width:770px}
.v4 .v3-idea-notice .preview-tag{background:var(--product-card);max-width:100%}
.v4 .v3-render-art svg{height:104px;width:130px;transform:translateY(-10px)}
.v4 .v3-service-art{flex-shrink:0}.v4 .v3-idea-card .service-topline{flex-wrap:wrap}

@media(max-width:1050px){.v4 header .wrap{grid-template-columns:1fr auto;gap:8px 20px}.v4 header nav{grid-column:1 / -1;grid-row:2;justify-content:flex-start;gap:8px 26px}.v4-header-actions{grid-column:2;grid-row:1}.v4 :is(.product-section,.hero-specimen,.product-intro,.policy-page){scroll-margin-top:150px}}
@media(max-width:680px){.v4 header .wrap{grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding-block:12px;min-height:0;align-items:center}.v4 header .brand{grid-column:1;grid-row:1;font-size:1.15rem;flex-wrap:nowrap}.v4 header .v3-version{display:none}.v4 header .brand>span:first-child{margin-right:0}.v4-header-actions{display:contents}.v4-header-actions .nav-app{grid-column:2;grid-row:1;font-size:.72rem;padding:8px 10px}.v4-app-long{display:none}.v4-app-short{display:inline}.v4 .v3-theme-controls{grid-column:2;grid-row:2;justify-self:end}.v4 header nav{grid-column:1;grid-row:2;justify-content:flex-start;gap:0 18px;min-width:0;width:auto;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.v4 header nav::-webkit-scrollbar{display:none}.v4 header nav a{font-size:.8rem;padding-block:9px}.v4 .v3-theme-toggle{gap:6px}.v4 .v3-theme-label{font-size:.7rem;min-width:28px}.v4 .v3-theme-track{width:76px}.v4 .v3-theme-knob{width:34px}html[data-theme=dark] .v4 .v3-theme-knob{transform:translateX(34px)}.v4 .v3-theme-track svg{width:19px;height:19px}.v4 .v3-sun{left:10px}.v4 .v3-moon{right:9px}.v4 :is(.product-section,.hero-specimen,.product-intro,.policy-page){scroll-margin-top:145px}.v4-scene-opening{width:390px;right:-155px;opacity:.20}.scene-insects .v4-scene-opening{width:390px;right:-140px;opacity:.22}.scene-pods .v4-scene-opening{right:-160px}.v4-scene-middle{left:-270px;opacity:.12}.v4-scene-closing{right:-170px;opacity:.13}.v4-atmosphere-opening{width:430px;right:-275px;top:280px;opacity:.16}.v4-atmosphere-collection{width:420px;left:-320px;opacity:.11}.v4 .v3-idea-notice{display:block;padding:20px}.v4 .v3-idea-notice>div{margin-top:13px}.v4 .v3-idea-notice p{margin-top:0}.v4 .v3-idea-notice h3{font-size:1.3rem}}
@media(max-width:360px){.v4 header .wrap{gap:8px 10px}.v4 header nav{gap:0 12px}.v4 header nav a{font-size:.7rem}.v4-header-actions .nav-app{padding-inline:8px}}

/* Static rendering and system motion preferences still show exactly the selected scene. */
html[data-reduced-motion=true] .v4 :is(.v4-scene,.v4-category-atmosphere){transition:none!important}
@media(prefers-reduced-motion:reduce){.v4 :is(.v4-scene,.v4-category-atmosphere){transition:none!important}}
/* Live RTX 5090 status (homepage hero). */
.gpu-status{display:flex;align-items:flex-start;gap:10px;margin:22px 0 0;max-width:460px;font-size:.88rem;line-height:1.5;color:var(--product-muted)}
.gpu-status strong{color:var(--product-ink);font-weight:600}
.gpu-dot{flex:none;width:10px;height:10px;margin-top:.42em;border-radius:50%;background:var(--product-muted);box-shadow:0 0 0 3px var(--product-soft)}
.gpu-status[data-state=available] .gpu-dot{background:var(--product-accent)}
.gpu-status:is([data-state=busy],[data-state=paused],[data-state=error]) .gpu-dot{background:#b7791f}
.gpu-status[data-state=checking] .gpu-dot{opacity:.45}
@media(prefers-reduced-motion:no-preference){html[data-motion] .gpu-status[data-state=available] .gpu-dot{animation:gpu-breathe 2.8s ease-in-out infinite}}
@keyframes gpu-breathe{50%{box-shadow:0 0 0 6px var(--product-soft)}}
/* Headline type morph (site-only type-morph.js). Real letters keep their place; a glyph sits on top. */
.morph-word{white-space:nowrap}
.morph-char{position:relative;color:transparent;transition:color 160ms ease-out}
.morph-char::after{content:attr(data-g);position:absolute;left:50%;top:.08em;transform:translate(-50%,var(--dy,0));font:500 .62em/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-style:normal;color:var(--product-accent);opacity:.85;transition:opacity 140ms ease-out;pointer-events:none}
.morph-char.settled{color:inherit}
.morph-char.settled::after{opacity:0}
/* V5 review build: GPU state switcher (status.js demo mode only). */
.status-demo{position:fixed;z-index:50;left:50%;bottom:16px;transform:translateX(-50%);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 8px;max-width:calc(100vw - 32px);padding:8px 12px;border:1px solid var(--product-line);border-radius:14px;background:var(--product-card);box-shadow:0 10px 30px rgb(0 0 0 / .15);font-size:.78rem;color:var(--product-muted)}
.status-demo button{font:inherit;color:var(--product-ink);background:transparent;border:1px solid var(--product-line);border-radius:999px;padding:4px 10px;cursor:pointer}
.status-demo button[aria-pressed=true]{background:var(--product-accent);border-color:var(--product-accent);color:var(--product-card)}
.status-demo a{color:var(--product-accent)}
/* V6 (<html data-design="v6">): a dimmer light theme. Same hues, lower brightness, so large areas
   are muted sage rather than near-white; text colours are darkened to keep contrast. */
html[data-design=v6][data-theme=light][data-palette=preview] body.v3{--product-bg:#c3d0bd;--product-card:#cfd9c7;--product-soft:#b3c5ab;--product-line:#9fb498;--product-ink:#142d25;--product-muted:#44573f;--product-accent:#075f45}
html[data-design=v6][data-theme=light][data-palette=audio] body.v3{--product-bg:#c0d3ce;--product-card:#ccdcd5;--product-soft:#accac0;--product-line:#93b0a6;--product-ink:#12322e;--product-muted:#3f5852;--product-accent:#075e56}
html[data-design=v6][data-theme=light][data-palette=code] body.v3{--product-bg:#c2ccd8;--product-card:#ced6df;--product-soft:#afbfcf;--product-line:#95a9bf;--product-ink:#1b3044;--product-muted:#44576a;--product-accent:#2d5577}
html[data-design=v6][data-theme=light][data-palette=ideas] body.v3{--product-bg:#d2c4b8;--product-card:#dbd1c6;--product-soft:#c7b3a7;--product-line:#b59a8c;--product-ink:#3d302b;--product-muted:#614c41;--product-accent:#6c4433}
/* V7 (<html data-design="v7">): every page has its own palette (data-page-palette), headline font and
   headline animation (type-morph.js). Deeper light palettes, so no large near-white areas. */
html[data-design=v7][data-theme=light][data-palette=preview] body.v3{--product-bg:#b4c5ac;--product-card:#c1cfb8;--product-soft:#a3b799;--product-line:#8ca482;--product-ink:#10261e;--product-muted:#344631;--product-accent:#034a35;--v3-tint:#8fb07b;--v3-tint-two:#b9a77c;--v3-illustration:#0e5e40}
html[data-design=v7][data-theme=light][data-palette=audio] body.v3{--product-bg:#a9c3bc;--product-card:#b8cfc8;--product-soft:#97b6ac;--product-line:#7f9f95;--product-ink:#0d2925;--product-muted:#2f4843;--product-accent:#034c45;--v3-tint:#86b3a6;--v3-tint-two:#9fbea7;--v3-illustration:#0b5a52}
html[data-design=v7][data-theme=light][data-palette=code] body.v3{--product-bg:#adbbcc;--product-card:#bbc7d5;--product-soft:#9aadc2;--product-line:#8296ae;--product-ink:#14273a;--product-muted:#2e3f51;--product-accent:#1b3d5a;--v3-tint:#8aa6c1;--v3-tint-two:#a6aec4;--v3-illustration:#284f74}
html[data-design=v7][data-theme=light][data-palette=ideas] body.v3{--product-bg:#c4b1a1;--product-card:#cfbfb1;--product-soft:#b59d8d;--product-line:#a28574;--product-ink:#33261f;--product-muted:#45342b;--product-accent:#4d2f22;--v3-tint:#b8957b;--v3-tint-two:#b7a684;--v3-illustration:#6a4331}
/* Headline type per palette: green keeps the serif with cursive accents; blue is crisp and frosty;
   clay is handwritten. Teal keeps the serif (its character is in the tide animation). */
html[data-design=v7][data-palette=preview] .v3-content :is(h1,h2) .accent-text{font-family:"Dancing Script",cursive;font-style:normal;font-weight:600;font-size:1.08em;letter-spacing:0}
html[data-design=v7][data-palette=code] .v3-content :is(h1,h2){font-family:"Space Grotesk",system-ui,sans-serif;font-weight:300;letter-spacing:-.035em}
html[data-design=v7][data-palette=code] .v3-content :is(h1,h2) .accent-text{font-style:normal;font-weight:500}
html[data-design=v7][data-palette=ideas] .v3-content :is(h1,h2){font-family:"Caveat",cursive;font-weight:600;font-size-adjust:.53;line-height:1.02;letter-spacing:0}
html[data-design=v7][data-palette=ideas] .v3-content :is(h1,h2) .accent-text{font-style:normal;font-weight:700}
/* V7 body type per palette (page content only; header and footer stay the same on every page): green
   rounded and friendly, teal smooth, blue crisp and technical, clay a warm book serif. */
html[data-design=v7][data-palette=preview] body.v3 main{font-family:"Nunito",system-ui,sans-serif}
html[data-design=v7][data-palette=audio] body.v3 main{font-family:"Manrope",system-ui,sans-serif}
html[data-design=v7][data-palette=code] body.v3 main{font-family:"IBM Plex Sans",system-ui,sans-serif}
html[data-design=v7][data-palette=ideas] body.v3 main{font-family:"Lora",Georgia,serif}
/* Low specificity (:where), so the palette heading fonts above still win over these. */
html[data-design=v7] body.v3 main :where(.policy-page h2,.product-page.flow-page>h2,.product-status-card h2,.v3-audio-caption span:last-child,button,input,select,textarea){font-family:inherit}
/* V7 headline animation layer: letters drawn at their exact positions over the (hidden) real heading,
   so the heading itself never changes and nothing shifts when the layer is removed. */
.morph-host{position:relative}
.morph-host.morph-hide,.morph-host.morph-hide :not(.morph-layer,.morph-layer *){-webkit-text-fill-color:transparent}
.morph-layer{position:absolute;inset:0;pointer-events:none;overflow:visible}
.morph-layer>span{position:absolute;white-space:pre;transform-origin:50% 85%;color:inherit;-webkit-text-fill-color:currentcolor}
.morph-layer>span.accent{color:var(--product-accent)}
.morph-layer>span.scramble{-webkit-text-fill-color:transparent}
.morph-layer>span.scramble::after{content:attr(data-g);position:absolute;left:50%;top:.08em;transform:translate(-50%,var(--dy,0));font:500 .62em/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-style:normal;-webkit-text-fill-color:currentcolor;color:var(--product-accent);opacity:.9}
/* Single letters have no ligatures; V7 headings drop them too, so every copy of a heading matches. */
html[data-design=v7] .v3-content h1{font-variant-ligatures:none;font-feature-settings:"liga" 0,"clig" 0,"calt" 0}
/* V7 frost scenery for the blue page: line-drawn snowflakes over a faint ice lattice. */
.atmosphere-frost .v4-frost-flake{transform-box:view-box;transform-origin:0 0}
html[data-motion=running][data-backdrop=frost] .atmosphere-frost .v4-frost-flake{animation:v4-frost-turn 60s linear infinite}
html[data-motion=running][data-backdrop=frost] .atmosphere-frost .v4-frost-flake:nth-of-type(2n){animation-duration:84s;animation-direction:reverse}
html[data-motion=running][data-backdrop=frost] .atmosphere-frost>div>svg{animation:v4-frost-drift 30s ease-in-out infinite alternate}
@keyframes v4-frost-turn{to{transform:rotate(360deg)}}
@keyframes v4-frost-drift{from{transform:translateY(0) rotate(-6deg)}to{transform:translateY(26px) rotate(-3deg)}}
html[data-backdrop=frost] .atmosphere-frost{opacity:1;visibility:visible;transition-delay:0s}
.atmosphere-frost .v4-atmosphere-opening{top:40px;right:-150px;width:640px;opacity:.24;transform:rotate(-8deg)}
.atmosphere-frost .v4-atmosphere-collection{opacity:.18}
@media(max-width:680px){.atmosphere-frost .v4-atmosphere-opening{width:420px;right:-200px;top:80px;opacity:.16}}
.gpu-status[data-state=unknown]{display:none}
html[data-morph-pending] body.v3 .v3-content h1{visibility:hidden}
.morph-layer{visibility:visible}
/* Website on phones: brand | theme switch + Sign in on the first row; the page links share the second
   row evenly with short labels, so nothing is cut off. Signed-in app and admin pages keep their own phone header (v4/app.css). */
@media(max-width:680px){
body.marketing.v4:not(.app-signed-in):not(.app-admin) .v4-header-actions{display:flex;grid-column:2;grid-row:1;align-items:center;gap:8px}
body.marketing.v4:not(.app-signed-in):not(.app-admin) .v4-header-actions .nav-app{grid-column:auto;grid-row:auto}
body.marketing.v4:not(.app-signed-in):not(.app-admin) .v3-theme-controls{grid-column:auto;grid-row:auto;justify-self:auto}
body.marketing.v4:not(.app-signed-in):not(.app-admin) .v3-theme-label{display:none}
body.marketing.v4:not(.app-signed-in):not(.app-admin) header nav{grid-column:1 / -1;grid-row:2;justify-content:space-between;overflow:visible;gap:0 10px}
body.marketing.v4:not(.app-signed-in):not(.app-admin) header nav a{font-size:.85rem}
body.marketing.v4:not(.app-signed-in):not(.app-admin) .nav-extra{display:none}
body.marketing.v4 .atmosphere-frost .v4-atmosphere-opening{width:360px;right:-235px;top:150px;opacity:.12}
.status-demo{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;bottom:8px;max-width:calc(100vw - 16px);padding:6px 8px;font-size:.7rem;gap:6px;scrollbar-width:none}
.status-demo>*{flex:none}.status-demo button{padding:3px 8px}
}
/* V7 living backgrounds: a light layer of particles per palette (pollen, bubbles, dust, snow), kept to
   the right of the content, and livelier motion for each page's drawing. Only while motion runs. */
.v4-motes{display:none}
html[data-design=v7] .v4-motes{display:block;position:absolute;inset:-320px 0 -320px 0;pointer-events:none;color:var(--product-accent);opacity:.18;
  -webkit-mask-image:linear-gradient(90deg,transparent 72%,#000 96%);mask-image:linear-gradient(90deg,transparent 72%,#000 96%)}
html[data-design=v7][data-backdrop=audio] .v4-motes{background-image:radial-gradient(circle at 40px 60px,transparent 3.2px,currentColor 3.9px,transparent 4.9px),radial-gradient(circle at 180px 170px,transparent 5.4px,currentColor 6.1px,transparent 7.1px),radial-gradient(circle at 110px 230px,transparent 2px,currentColor 2.7px,transparent 3.7px),radial-gradient(circle at 215px 40px,transparent 1.4px,currentColor 2px,transparent 3px),radial-gradient(circle at 70px 150px,transparent 7.5px,currentColor 8.2px,transparent 9.2px),radial-gradient(circle at 150px 95px,transparent 1.2px,currentColor 1.8px,transparent 2.8px);background-size:240px 260px,310px 260px,190px 260px,270px 130px,370px 260px,210px 260px;opacity:.26}
html[data-design=v7][data-theme=light][data-backdrop=audio] .v4-motes{color:var(--product-ink);opacity:.18}
html[data-design=v7][data-motion=running][data-backdrop=audio] .v4-motes{animation:v7-drift-up 30s linear infinite}
@keyframes v7-drift-up{from{transform:translate(0,0)}to{transform:translate(40px,-260px)}}
@keyframes v7-fall{from{transform:translate(0,-260px)}to{transform:translate(-30px,0)}}
@keyframes v7-wander{from{transform:translate(0,0)}to{transform:translate(-60px,-90px)}}
html[data-design=v7][data-motion=running][data-backdrop=garden] .scene-garden .v4-flower-head{animation-duration:9s}
html[data-design=v7][data-motion=running][data-backdrop=insects] .scene-insects .v4-insect-wings{animation:v7-wing-flutter 7s ease-in-out infinite}
@keyframes v7-wing-flutter{0%,62%,100%{transform:none}68%{transform:scaleX(.82)}74%{transform:none}80%{transform:scaleX(.86)}86%{transform:none}}
html[data-design=v7][data-motion=running][data-backdrop=audio] .atmosphere-audio>div>svg{animation:v3-tide 8s ease-in-out infinite alternate}
@media(max-width:760px){
html[data-design=v7] .v4-motes{display:none}
body.marketing.v4 .v4-motion-toggle{position:fixed;right:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:35;
box-shadow:0 2px 10px color-mix(in srgb,var(--product-ink) 12%,transparent)}
}
/* Leave room for the full app-link label on small phones. The theme control keeps its 50 px target. */
@media(max-width:360px){
body.marketing.v4:not(.app-signed-in):not(.app-admin) header .wrap{column-gap:6px}
body.marketing.v4:not(.app-signed-in):not(.app-admin) .v4-header-actions{gap:4px}
body.marketing.v4:not(.app-signed-in):not(.app-admin) .nav-app{padding-inline:6px;font-size:.7rem}
body.marketing.v4:not(.app-signed-in):not(.app-admin) .v3-theme-track{width:44px}
body.marketing.v4:not(.app-signed-in):not(.app-admin) .v3-theme-knob{display:none}
body.marketing.v4:not(.app-signed-in):not(.app-admin) .v3-theme-track svg{left:11px;right:auto}
html[data-theme=light] body.marketing.v4:not(.app-signed-in):not(.app-admin) .v3-moon,
html[data-theme=dark] body.marketing.v4:not(.app-signed-in):not(.app-admin) .v3-sun{display:none}
}
.morph-sketch{position:absolute;overflow:visible;pointer-events:none}
.morph-sketch .morph-sketch-line{fill:none;stroke:var(--product-accent);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:.75}
.morph-sketch .morph-sketch-leaf{fill:var(--product-accent);fill-opacity:.5;stroke:var(--product-accent);stroke-width:1.2;stroke-linejoin:round;transform-box:fill-box}
.morph-sketch .morph-sketch-ring{fill:none;stroke:var(--product-accent);stroke-width:1.8}
.morph-sketch .morph-sketch-twig{fill:none;stroke:var(--product-accent);stroke-width:1.6;stroke-linecap:round;transform-box:fill-box;opacity:.8}
.morph-sketch .morph-sketch-star{stroke-width:1.8}
/* V7 particles with character per tab (two layers each, for depth): leaves and petals drifting down with
   pollen rising (Home), twinkling sparkles (Future direction), falling ice crystals with fine snow (Pricing).
   Shapes are masks filled with the palette colour; light mode uses the darker ink so they stay visible. */
html[data-design=v7] .v4-motes::before,html[data-design=v7] .v4-motes::after{content:none;position:absolute;inset:-320px;background:currentColor;-webkit-mask-repeat:repeat;mask-repeat:repeat}
html[data-design=v7]:is([data-backdrop=garden],[data-backdrop=insects],[data-backdrop=frost]) .v4-motes{opacity:.3}
html[data-design=v7]:is([data-backdrop=garden],[data-backdrop=insects],[data-backdrop=frost]) .v4-motes::before,
html[data-design=v7]:is([data-backdrop=garden],[data-backdrop=insects],[data-backdrop=frost]) .v4-motes::after{content:""}
html[data-design=v7][data-theme=light] .v4-motes{color:var(--product-ink)}
html[data-design=v7][data-backdrop=garden] .v4-motes::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cpath transform='translate(40 60) rotate(-25) scale(1.1)' d='M-9 0C-4-6 6-6 10 0C6 6-4 6-9 0z'/%3E%3Cpath transform='translate(210 140) rotate(40) scale(0.8)' d='M-9 0C-4-6 6-6 10 0C6 6-4 6-9 0z'/%3E%3Cellipse transform='translate(120 230) rotate(20)' rx='5' ry='3'/%3E%3Cpath transform='translate(260 270) rotate(-60) scale(1.4)' d='M-9 0C-4-6 6-6 10 0C6 6-4 6-9 0z'/%3E%3Cellipse transform='translate(80 170) rotate(-35)' rx='3.5' ry='2.2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cpath transform='translate(40 60) rotate(-25) scale(1.1)' d='M-9 0C-4-6 6-6 10 0C6 6-4 6-9 0z'/%3E%3Cpath transform='translate(210 140) rotate(40) scale(0.8)' d='M-9 0C-4-6 6-6 10 0C6 6-4 6-9 0z'/%3E%3Cellipse transform='translate(120 230) rotate(20)' rx='5' ry='3'/%3E%3Cpath transform='translate(260 270) rotate(-60) scale(1.4)' d='M-9 0C-4-6 6-6 10 0C6 6-4 6-9 0z'/%3E%3Cellipse transform='translate(80 170) rotate(-35)' rx='3.5' ry='2.2'/%3E%3C/svg%3E")}
html[data-design=v7][data-backdrop=garden] .v4-motes::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='240'%3E%3Ccircle cx='30' cy='40' r='1.8'/%3E%3Ccircle cx='150' cy='110' r='1.2'/%3E%3Ccircle cx='90' cy='200' r='2.2'/%3E%3Ccircle cx='190' cy='30' r='1'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='240'%3E%3Ccircle cx='30' cy='40' r='1.8'/%3E%3Ccircle cx='150' cy='110' r='1.2'/%3E%3Ccircle cx='90' cy='200' r='2.2'/%3E%3Ccircle cx='190' cy='30' r='1'/%3E%3C/svg%3E");opacity:.8}
html[data-design=v7][data-backdrop=insects] .v4-motes::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='280'%3E%3Cpath transform='translate(50 60) scale(1)' d='M0-8Q1-1 8 0Q1 1 0 8Q-1 1-8 0Q-1-1 0-8z'/%3E%3Cpath transform='translate(200 150) scale(0.6)' d='M0-8Q1-1 8 0Q1 1 0 8Q-1 1-8 0Q-1-1 0-8z'/%3E%3Cpath transform='translate(120 240) scale(0.8)' d='M0-8Q1-1 8 0Q1 1 0 8Q-1 1-8 0Q-1-1 0-8z'/%3E%3Cpath transform='translate(250 40) scale(0.45)' d='M0-8Q1-1 8 0Q1 1 0 8Q-1 1-8 0Q-1-1 0-8z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='280'%3E%3Cpath transform='translate(50 60) scale(1)' d='M0-8Q1-1 8 0Q1 1 0 8Q-1 1-8 0Q-1-1 0-8z'/%3E%3Cpath transform='translate(200 150) scale(0.6)' d='M0-8Q1-1 8 0Q1 1 0 8Q-1 1-8 0Q-1-1 0-8z'/%3E%3Cpath transform='translate(120 240) scale(0.8)' d='M0-8Q1-1 8 0Q1 1 0 8Q-1 1-8 0Q-1-1 0-8z'/%3E%3Cpath transform='translate(250 40) scale(0.45)' d='M0-8Q1-1 8 0Q1 1 0 8Q-1 1-8 0Q-1-1 0-8z'/%3E%3C/svg%3E")}
html[data-design=v7][data-backdrop=insects] .v4-motes::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='230' height='250'%3E%3Cpath transform='translate(170 70) scale(0.7)' d='M0-8Q1-1 8 0Q1 1 0 8Q-1 1-8 0Q-1-1 0-8z'/%3E%3Cpath transform='translate(60 180) scale(0.5)' d='M0-8Q1-1 8 0Q1 1 0 8Q-1 1-8 0Q-1-1 0-8z'/%3E%3Ccircle cx='130' cy='30' r='1.2'/%3E%3Ccircle cx='30' cy='110' r='1'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='230' height='250'%3E%3Cpath transform='translate(170 70) scale(0.7)' d='M0-8Q1-1 8 0Q1 1 0 8Q-1 1-8 0Q-1-1 0-8z'/%3E%3Cpath transform='translate(60 180) scale(0.5)' d='M0-8Q1-1 8 0Q1 1 0 8Q-1 1-8 0Q-1-1 0-8z'/%3E%3Ccircle cx='130' cy='30' r='1.2'/%3E%3Ccircle cx='30' cy='110' r='1'/%3E%3C/svg%3E")}
html[data-design=v7][data-backdrop=frost] .v4-motes::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='300'%3E%3Cg transform='translate(50 50) rotate(0) scale(1.2)' stroke='black' stroke-width='1.3' stroke-linecap='round' fill='none'%3E%3Cpath d='M-7 0H7M-3.5-6 3.5 6M3.5-6-3.5 6M-7 0l-2-2M7 0l2 2M-7 0l-2 2M7 0l2-2'/%3E%3C/g%3E%3Cg transform='translate(210 140) rotate(20) scale(0.8)' stroke='black' stroke-width='1.3' stroke-linecap='round' fill='none'%3E%3Cpath d='M-7 0H7M-3.5-6 3.5 6M3.5-6-3.5 6M-7 0l-2-2M7 0l2 2M-7 0l-2 2M7 0l2-2'/%3E%3C/g%3E%3Cg transform='translate(110 240) rotate(40) scale(1)' stroke='black' stroke-width='1.3' stroke-linecap='round' fill='none'%3E%3Cpath d='M-7 0H7M-3.5-6 3.5 6M3.5-6-3.5 6M-7 0l-2-2M7 0l2 2M-7 0l-2 2M7 0l2-2'/%3E%3C/g%3E%3Cg transform='translate(250 270) rotate(10) scale(0.6)' stroke='black' stroke-width='1.3' stroke-linecap='round' fill='none'%3E%3Cpath d='M-7 0H7M-3.5-6 3.5 6M3.5-6-3.5 6M-7 0l-2-2M7 0l2 2M-7 0l-2 2M7 0l2-2'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='300'%3E%3Cg transform='translate(50 50) rotate(0) scale(1.2)' stroke='black' stroke-width='1.3' stroke-linecap='round' fill='none'%3E%3Cpath d='M-7 0H7M-3.5-6 3.5 6M3.5-6-3.5 6M-7 0l-2-2M7 0l2 2M-7 0l-2 2M7 0l2-2'/%3E%3C/g%3E%3Cg transform='translate(210 140) rotate(20) scale(0.8)' stroke='black' stroke-width='1.3' stroke-linecap='round' fill='none'%3E%3Cpath d='M-7 0H7M-3.5-6 3.5 6M3.5-6-3.5 6M-7 0l-2-2M7 0l2 2M-7 0l-2 2M7 0l2-2'/%3E%3C/g%3E%3Cg transform='translate(110 240) rotate(40) scale(1)' stroke='black' stroke-width='1.3' stroke-linecap='round' fill='none'%3E%3Cpath d='M-7 0H7M-3.5-6 3.5 6M3.5-6-3.5 6M-7 0l-2-2M7 0l2 2M-7 0l-2 2M7 0l2-2'/%3E%3C/g%3E%3Cg transform='translate(250 270) rotate(10) scale(0.6)' stroke='black' stroke-width='1.3' stroke-linecap='round' fill='none'%3E%3Cpath d='M-7 0H7M-3.5-6 3.5 6M3.5-6-3.5 6M-7 0l-2-2M7 0l2 2M-7 0l-2 2M7 0l2-2'/%3E%3C/g%3E%3C/svg%3E")}
html[data-design=v7][data-backdrop=frost] .v4-motes::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='220'%3E%3Ccircle cx='30' cy='30' r='1.8'/%3E%3Ccircle cx='140' cy='90' r='1.2'/%3E%3Ccircle cx='80' cy='180' r='2.2'/%3E%3Ccircle cx='180' cy='200' r='1'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='220'%3E%3Ccircle cx='30' cy='30' r='1.8'/%3E%3Ccircle cx='140' cy='90' r='1.2'/%3E%3Ccircle cx='80' cy='180' r='2.2'/%3E%3Ccircle cx='180' cy='200' r='1'/%3E%3C/svg%3E");opacity:.85}
html[data-design=v7][data-motion=running][data-backdrop=garden] .v4-motes::before{animation:v7-leaves 48s linear infinite}
html[data-design=v7][data-motion=running][data-backdrop=garden] .v4-motes::after{animation:v7-pollen 34s linear infinite}
html[data-design=v7][data-motion=running][data-backdrop=insects] .v4-motes::before{animation:v7-twinkle 5.5s ease-in-out infinite alternate,v7-sparks 70s linear infinite}
html[data-design=v7][data-motion=running][data-backdrop=insects] .v4-motes::after{animation:v7-twinkle 4s ease-in-out -2s infinite alternate,v7-sparks-b 55s linear infinite}
html[data-design=v7][data-motion=running][data-backdrop=frost] .v4-motes::before{animation:v7-crystals 40s linear infinite}
html[data-design=v7][data-motion=running][data-backdrop=frost] .v4-motes::after{animation:v7-snow 18s linear infinite}
@keyframes v7-leaves{from{transform:translate(0,-300px)}to{transform:translate(-300px,0)}}
@keyframes v7-pollen{from{transform:translate(0,0)}to{transform:translate(0,-240px)}}
@keyframes v7-sparks{from{transform:translate(0,0)}to{transform:translate(-280px,-280px)}}
@keyframes v7-sparks-b{from{transform:translate(0,0)}to{transform:translate(230px,-250px)}}
@keyframes v7-twinkle{from{opacity:.25}to{opacity:1}}
@keyframes v7-crystals{from{transform:translate(0,-300px)}to{transform:translate(-280px,0)}}
@keyframes v7-snow{from{transform:translate(0,-220px)}to{transform:translate(0,0)}}
/* Headings and <main> receive focus programmatically (page changes, skip link) so screen readers
   announce them; they aren't controls, so no focus ring (iOS Safari drew one on every page). */
body.v4 :is(main,.v3-content h1)[tabindex="-1"]:focus{outline:none}

/* Catalog: a one-line pointer under the two main services */
.product-services>.catalog-also{grid-column:1/-1;margin:4px 0 0;color:var(--product-muted);font-size:.95rem}
/* Homepage training-job example */
.training-specimen .specimen-log{margin:6px 0 16px;padding:12px 14px;border:1px solid var(--product-line);border-radius:10px;
background:color-mix(in srgb,var(--product-card) 70%,transparent);font-size:.78rem;line-height:1.55;white-space:pre-wrap;overflow-x:auto}
.training-specimen .specimen-files{list-style:none;margin:6px 0 14px;padding:0;display:grid;gap:6px}
.training-specimen .specimen-files li{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;border:1px solid var(--product-line);
border-radius:8px;font:500 .8rem/1.4 ui-monospace,monospace}
.training-specimen .specimen-files li span:last-child{color:var(--product-muted);font-family:inherit}
/* Theme switch ripple (theme-ripple.js): the new theme is revealed by clipping the new picture; the scrollbar keeps
   the old colours until the circle has crossed the page. */
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
::view-transition{background:var(--theme-ripple-old,transparent)}
html[data-theme-hold=light]{color-scheme:light}html[data-theme-hold=dark]{color-scheme:dark}
.theme-ripple-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:2147483000;color:var(--product-accent,var(--accent))}
/* Planned services: ‹ [card][card] › — arrows beside the cards, two at a time on wide screens and one on phones.
   Without JavaScript it is a plain horizontally scrolling row. */
.product-services.planned-track{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 22px)/2);
overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:4px 2px 8px}
.planned-track>*{scroll-snap-align:start}
.planned-track[data-paged]{scrollbar-width:none}.planned-track[data-paged]::-webkit-scrollbar{display:none}
.planned-carousel{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:18px}
.planned-arrow{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--product-line);
background:var(--product-card);color:var(--product-ink);font-size:1.7rem;line-height:1;cursor:pointer;padding:0 0 3px;
box-shadow:0 2px 8px rgba(0,0,0,.08);transition:transform .2s ease,border-color .2s ease,opacity .2s ease}
.planned-arrow:hover:not(:disabled){border-color:var(--product-accent);color:var(--product-accent);transform:scale(1.06)}
.planned-arrow:focus-visible{outline:2px solid var(--product-accent);outline-offset:3px}
.planned-arrow:disabled{opacity:.3;cursor:default;box-shadow:none}
.planned-count{margin:12px 0 0;text-align:center;font:500 .8rem ui-monospace,monospace;color:var(--product-muted);min-height:1.2em}
html[data-motion=paused] .planned-arrow{transition:none}
@media(max-width:680px){.planned-carousel{grid-template-columns:40px minmax(0,1fr) 40px;gap:8px}
.planned-arrow{width:40px;height:40px;font-size:1.4rem}.product-services.planned-track{grid-auto-columns:100%;gap:14px}}
