/* Shared semantic colors from theme.css; original website palette, mobile-first presentation. */
*{box-sizing:border-box}html{color-scheme:light;scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--background);color:var(--text);font:400 16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}p{margin:0 0 1.1rem;color:var(--secondary)}h1,h2,h3{color:var(--heading);line-height:1.12;letter-spacing:-.035em;margin:0 0 1.2rem;text-wrap:balance}h1{font-size:clamp(2.65rem,5.1vw,4.45rem);font-weight:650}h2{font-size:clamp(2rem,3.3vw,3rem);font-weight:600}h3{font-size:1.35rem;font-weight:600;letter-spacing:-.02em}em{font-style:normal;color:var(--accent)}img{max-width:100%;display:block;height:auto}button,input,select,textarea{font:inherit}button,summary,a{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}a:focus-visible,summary:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}a:hover{color:var(--accent)}.shell{width:min(1160px,calc(100% - 64px));margin-inline:auto}.section{padding-block:68px}.lead{font-size:1.12rem;line-height:1.65;max-width:640px}.eyebrow{color:var(--accent);font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}.fine-print,figcaption{font-size:.78rem;line-height:1.6;color:var(--secondary)}.skip-link{position:absolute;top:10px;left:16px;transform:translateY(-180%);z-index:10;background:var(--button-background);color:var(--on-accent);padding:12px 20px;border-radius:10px}.skip-link:focus{transform:translateY(0)}
.site-header{border-bottom:1px solid var(--border);background:var(--background);position:relative;z-index:5}.nav{min-height:88px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:10px;font-size:1.45rem;letter-spacing:-.045em;font-weight:650;flex-shrink:0}.brand img{border-radius:12px}.brand span span{color:var(--accent)}.nav-links{display:flex;align-items:center;gap:26px;margin-left:auto;font-size:.83rem}.nav-links a[aria-current=page]{color:var(--accent)}.nav-actions{display:flex;gap:12px;align-items:center}.nav summary{list-style:none;cursor:pointer;border:1px solid var(--border);border-radius:12px;padding:9px 13px;font-size:.82rem;min-height:44px}.nav summary::-webkit-details-marker{display:none}.nav details{position:relative}.language-popover,.mobile-popover{position:absolute;right:0;top:calc(100% + 10px);min-width:190px;padding:8px;background:var(--elevated);border:1px solid var(--border-strong);border-radius:14px;box-shadow:0 16px 40px var(--shadow)}.language-popover a,.mobile-popover a{display:block;padding:10px 13px;border-radius:8px;font-size:.9rem}.language-popover a:hover,.mobile-popover a:hover{background:var(--selected)}.language-popover [aria-current]{color:var(--accent)}.mobile-menu{display:none}
.button{display:inline-flex;justify-content:center;align-items:center;gap:22px;border-radius:12px;min-height:48px;padding:13px 23px;font-size:.94rem;font-weight:650;border:1px solid transparent;cursor:pointer;line-height:1.4}.primary{color:var(--on-accent);background:var(--button-background)}.primary:hover{background:var(--accent-pressed);color:var(--on-accent)}.text-link{display:inline-block;font-size:.88rem;font-weight:600;color:var(--accent);text-underline-offset:5px}.text-link:hover{text-decoration:underline}.release-badge{display:inline-flex;border:1px solid var(--border-strong);background:var(--surface);padding:5px 11px;border-radius:20px;color:var(--heading);font-size:.74rem;line-height:1.4;margin-bottom:24px}.release-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);align-self:center;margin-right:8px}
/* Keep the complete supplied scene visible; website copy stays outside the artwork. */
.hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:center;gap:48px;padding-block:44px 48px}.hero.shell{width:min(1440px,calc(100% - 64px))}.hero-copy{min-width:0;padding-block:12px}.hero-copy>.eyebrow{margin-bottom:12px}.hero h1{font-size:clamp(2.5rem,4.1vw,4.2rem)}.hero h1 .hero-line{display:flex;align-items:center;gap:.3em;width:fit-content;max-width:100%}.hero-words{min-width:0}.hero-origin{position:relative;z-index:3;display:inline-block;flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--background)}.hero-connectors{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2;visibility:hidden}.hero-connectors[data-ready]{visibility:visible}.hero-connectors path{fill:none;stroke-linecap:round;stroke-linejoin:miter;vector-effect:non-scaling-stroke}.connector-halo{stroke:var(--background);stroke-width:3;opacity:.48}.connector-line{stroke:var(--accent);stroke-width:1.15;opacity:.85}.connector-ring{fill:none;stroke:var(--button-background);stroke-width:1;opacity:.6}.connector-point{fill:var(--button-background);stroke:var(--background);stroke-width:1.6}html:not(.js) .hero-origin{visibility:hidden}.hero-copy .lead{max-width:530px}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-block:25px 16px}.trust-list{padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;font-size:.75rem;color:var(--secondary);margin-top:26px}.trust-list li::before{content:"✓";color:var(--accent);margin-right:7px}.hero-visual{min-width:0;width:100%}.hero-artwork{display:block;overflow:hidden;border-radius:22px;border:1px solid var(--border);background:var(--surface);box-shadow:0 22px 60px var(--shadow)}.hero-artwork img{width:100%;height:auto;object-fit:contain}
.app-figure{width:min(300px,100%);margin:0 auto}.screen-link{display:block;border:1px solid var(--border-strong);border-radius:24px;overflow:hidden;background:var(--surface);box-shadow:0 22px 60px var(--shadow);transition:transform .2s}.screen-link:hover{transform:translateY(-3px)}.screen-link img{width:100%;height:auto;object-fit:contain}.app-figure figcaption{text-align:center;padding:12px 2px 0;font-size:.68rem;line-height:1.4}
.feature-band{border-block:1px solid var(--border);background:var(--background)}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;padding-block:40px}.benefit-grid article{min-width:0}.benefit-grid h3{font-size:1.25rem;margin-top:8px;margin-bottom:12px}.benefit-grid p{font-size:.9rem;margin-bottom:14px}.number{font-size:.73rem;letter-spacing:.12em;color:var(--accent);font-variant-numeric:tabular-nums}.sharing-section{position:relative;overflow:hidden;border-bottom:1px solid var(--border);background:linear-gradient(135deg,var(--background),var(--surface))}.story-grid{display:grid;grid-template-columns:1.3fr .8fr;gap:90px;align-items:center;padding-block:64px}.story-grid>.app-figure{width:250px}.story-grid h1,.story-grid h2{font-size:clamp(2.2rem,3.8vw,3.45rem)}.sharing-steps{list-style:none;padding:0;margin:25px 0;display:grid;gap:17px}.sharing-steps li{display:grid;grid-template-columns:30px 1fr;gap:12px}.sharing-steps h3{font-size:1rem;margin:0 0 5px;letter-spacing:-.01em}.sharing-steps p{font-size:.86rem;line-height:1.55;margin:0}.privacy-section>.lead{max-width:720px}.privacy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-block:30px}.privacy-grid h3{font-size:1rem;margin-bottom:10px}.privacy-grid p{font-size:.87rem;margin:0}.privacy-grid article{padding-left:18px;border-left:2px solid var(--border-strong)}
.pricing-section{border-block:1px solid var(--border);background:var(--background)}.section-head{display:flex;justify-content:space-between;gap:50px;align-items:start}.section-head>p{font-size:.85rem;max-width:300px}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:18px}.price-grid article{border:1px solid var(--border);border-radius:18px;padding:26px;background:var(--surface)}.price-grid h3{font-size:1.8rem;margin-bottom:14px}.price-grid p{font-size:.9rem;max-width:440px}.price-grid .full-access{border-color:var(--accent);background:linear-gradient(135deg,var(--background),var(--elevated))}.price-grid .eyebrow{font-size:.7rem;margin-bottom:10px}.faq-section{max-width:900px}.faq-section h2{margin-bottom:26px}.faq-section details,.feature-detail{border-bottom:1px solid var(--border);padding:0}.faq-section summary,.feature-detail summary{padding:17px 32px 17px 0;cursor:pointer;position:relative;list-style:none;font-size:.95rem;color:var(--heading)}.faq-section summary::-webkit-details-marker,.feature-detail summary::-webkit-details-marker{display:none}.faq-section summary::after,.feature-detail summary::after{position:absolute;right:4px;content:"+";font-size:1.2rem;color:var(--accent)}details[open]>summary::after{content:"−"}.faq-section details p,.feature-detail p{font-size:.88rem;margin:0 25px 18px 0}.closing-cta{border-top:1px solid var(--border);padding-block:38px;display:flex;align-items:center;gap:40px;justify-content:space-between}.closing-cta h2{font-size:1.7rem;margin-bottom:10px;max-width:650px}.closing-cta p{font-size:.9rem;margin:0}.closing-cta .button{flex-shrink:0}.footer{padding-block:28px;font-size:.75rem;display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--border)}.footer p{margin:0;flex-shrink:0}.footer>div{display:flex;justify-content:end;gap:8px 22px;flex-wrap:wrap}.footer a{color:var(--secondary)}.footer a:hover{color:var(--accent)}
.subpage-intro{padding-block:60px 0;max-width:900px}.subpage-intro h1{font-size:clamp(2.4rem,4.3vw,3.7rem)}.detail-layout{display:grid;grid-template-columns:1.4fr .8fr;align-items:start;gap:90px}.detail-list>.fine-print{margin-top:26px}.screen-gallery{display:flex;gap:32px;justify-content:center;align-items:start}.screen-gallery .app-figure{margin:0}.contact-page{padding-block:64px}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.contact-intro h1{font-size:clamp(2.2rem,4vw,3.4rem)}.contact-intro .direct-mail{color:var(--accent);font-size:1.15rem;overflow-wrap:anywhere}.contact-form{border:1px solid var(--border);border-radius:20px;background:var(--surface);padding:30px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{margin-bottom:18px}.field label{display:block;font-size:.83rem;margin-bottom:8px;color:var(--heading)}input,select,textarea{width:100%;min-width:0;border:1px solid var(--border-strong);border-radius:9px;background:var(--background);color:var(--text);padding:11px 12px;font-size:16px}textarea{min-height:170px;resize:vertical}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}.field-error{display:block;color:var(--text);border-left:3px solid var(--danger);padding-left:8px;font-size:.79rem;margin-top:8px}.notice{border:1px solid var(--border-strong);border-left:3px solid var(--accent);border-radius:9px;padding:15px;margin-bottom:20px;color:var(--heading);font-size:.9rem}.notice.error{border-left-color:var(--danger)}.form-help{font-size:.75rem;margin:18px 0 0;line-height:1.6}.form-help a{text-decoration:underline;text-underline-offset:3px}.hp-field{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.contact-intro .fine-print{margin-top:26px}
@media(max-width:1000px){.nav-links{gap:15px;font-size:.77rem}.nav{gap:18px}.brand{font-size:1.3rem}.shell{width:calc(100% - 48px)}.hero{gap:28px}.hero.shell{width:calc(100% - 48px)}.benefit-grid{gap:26px}.story-grid{gap:50px}.detail-layout{gap:40px}.contact-grid{gap:36px}.privacy-grid{gap:20px}}
@media(max-width:760px){.shell{width:calc(100% - 36px)}.nav{min-height:74px;gap:12px}.brand{font-size:1.35rem}.brand img{width:36px;height:36px}.nav-links{display:none}.nav-actions{margin-left:auto;gap:8px}.mobile-menu{display:block}.mobile-popover{width:min(310px,calc(100vw - 36px))}.benefit-grid{grid-template-columns:1fr;padding-block:30px;gap:28px}.benefit-grid article{display:grid;grid-template-columns:30px 1fr;column-gap:12px}.benefit-grid h3{margin-top:0}.benefit-grid p,.benefit-grid a{grid-column:2}.benefit-grid .number{padding-top:3px}.story-grid{grid-template-columns:1fr;gap:32px;padding-block:42px}.story-grid>.app-figure{width:min(280px,76vw)}.sharing-steps{gap:19px}.story-grid .lead{font-size:1rem}.section{padding-block:42px}.privacy-grid{grid-template-columns:1fr;gap:24px;margin-block:24px}.privacy-section h2{font-size:2.1rem}.section-head{display:block}.section-head>p{max-width:100%;margin-top:15px}.price-grid{grid-template-columns:1fr}.price-grid article{padding:23px}.closing-cta{display:block;padding-block:32px}.closing-cta .button{margin-top:20px}.footer{display:block;padding-block:26px}.footer>div{justify-content:start;margin-top:15px;gap:10px 20px}.subpage-intro{padding-top:38px}.detail-layout{grid-template-columns:1fr;gap:35px}.detail-layout .app-figure{width:min(300px,76vw)}.screen-gallery{flex-wrap:wrap}.contact-page{padding-block:36px}.contact-grid{grid-template-columns:1fr;gap:28px}.contact-form{padding:22px}.form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:380px){.brand{gap:7px;font-size:1.2rem}.nav summary{padding-inline:9px}.contact-form{padding:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}



/* Mobile: ownership headline, privacy promise and download action first, then the landscape.
   The picture has intrinsic dimensions, so it reserves space before loading. */
@media(max-width:760px){
 .hero.shell{width:calc(100% - 36px)}
 .hero{grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;padding-block:24px 32px}
 .hero-copy{display:contents}
 .hero-copy>.eyebrow{grid-column:1;grid-row:1;margin:0;font-size:.67rem}
 .hero-copy>.release-badge{grid-column:1;grid-row:2;justify-self:start;margin:0;font-size:.7rem;padding:5px 10px}
 .hero h1{grid-column:1;grid-row:3;margin:0;font-size:clamp(2rem,7.4vw,2.8rem);line-height:1.12;max-width:650px}
 .hero-actions{grid-column:1;grid-row:5;display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin:2px 0 4px}
 .hero-actions .button{padding:11px 17px;gap:12px;font-size:.9rem;min-height:48px}
 .hero-actions .text-link{min-height:44px;font-size:.84rem}
 .hero-visual{grid-column:1;grid-row:6;width:100%;margin-bottom:4px}
 .hero-artwork{border-radius:16px;box-shadow:0 12px 28px var(--shadow)}
 .hero .lead{grid-column:1;grid-row:4;font-size:.97rem;margin:0}
 .hero-copy>.fine-print{grid-column:1;grid-row:7;margin:0;font-size:.75rem}
 .hero .trust-list{grid-column:1;grid-row:8;margin:0;font-size:.7rem;gap:6px 14px}
 .benefit-grid{gap:22px;padding-block:28px}
 .story-grid{padding-block:36px;gap:26px}
 .section{padding-block:36px}
 .text-link{display:inline-flex;min-height:44px;align-items:center}
 .footer a{display:inline-flex;min-height:44px;align-items:center}
 .language-popover a,.mobile-popover a{min-height:44px}
 .contact-intro .direct-mail{display:inline-flex;align-items:center;min-height:44px}
}

/* A single, quiet introduction: text points lead the eye into the image.
   Reduced-motion visitors receive the finished diagram immediately. */
.hero-connectors g{--connector-delay:0s}
.hero-connectors g:nth-child(2){--connector-delay:.22s}
.hero-connectors g:nth-child(3){--connector-delay:.44s}
.hero-connectors[data-ready] path{stroke-dasharray:1;stroke-dashoffset:0;animation:connector-draw 1.1s cubic-bezier(.22,.7,.2,1) var(--connector-delay) both}
.hero-connectors[data-ready] circle{transform-box:fill-box;transform-origin:center;animation:connector-arrive .35s ease-out calc(var(--connector-delay) + .9s) both}
@keyframes connector-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes connector-arrive{from{opacity:0;transform:scale(.7)}to{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.hero-connectors[data-ready] path{stroke-dashoffset:0}.hero-connectors[data-ready] circle{transform:none}}
