@import url('/fonts/standalone.css');
@font-face{font-family:'Mulish';font-style:normal;font-weight:300;font-display:swap;src:url('/fonts/mulish-300-normal.woff2') format('woff2')}
@font-face{font-family:'Mulish';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/mulish-400-normal.woff2') format('woff2')}
@font-face{font-family:'Mulish';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/mulish-600-normal.woff2') format('woff2')}
@font-face{font-family:'Mulish';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/mulish-700-normal.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300;font-display:swap;src:url('/fonts/cormorant-garamond-300-normal.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300;font-display:swap;src:url('/fonts/cormorant-garamond-300-italic.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/cormorant-garamond-400-normal.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('/fonts/cormorant-garamond-400-italic.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/cormorant-garamond-500-normal.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/cormorant-garamond-600-normal.woff2') format('woff2')}


/* PresenceOS full-site editorial system — 2026-08-23.
   Built to sit after the generated Astro CSS, so the source copy and app logic remain intact. */
:root{
  --fs-paper:#eee9df;
  --fs-paper-2:#e5ded2;
  --fs-ink:#11120f;
  --fs-muted:#6f716b;
  --fs-line:rgba(17,18,15,.18);
  --fs-green:#9fdc37;
  --fs-teal:#2fb9a9;
  --fs-red:#ee4d35;
  --fs-blue:#245bff;
  --fs-night:#0d0f0d;
  --fs-night-2:#141713;
  --fs-night-line:rgba(240,238,230,.17);
  --fs-serif:'Cormorant Garamond', Georgia, serif;
  --fs-sans:'Syne', 'Mulish', Arial, sans-serif;
  --fs-body:'Mulish', Arial, sans-serif;
  --fs-mono:'DM Mono', monospace;
  --fs-radius:22px;
  --fs-shell:min(1220px, calc(100vw - 56px));
}

html{scroll-behavior:smooth}
body[data-pos-page]:not([data-pos-page="home"]){
  background:var(--fs-paper)!important;
  color:var(--fs-ink)!important;
  font-family:var(--fs-body)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body[data-pos-page]:not([data-pos-page="home"])::before{
  content:""; position:fixed; inset:0; z-index:-5; pointer-events:none;
  background:
    radial-gradient(circle at 14% 14%, rgba(255,255,255,.5), transparent 30%),
    linear-gradient(90deg, rgba(17,18,15,.026) 1px, transparent 1px),
    linear-gradient(rgba(17,18,15,.018) 1px, transparent 1px);
  background-size:auto, 42px 42px, 42px 42px;
}
body[data-pos-page]:not([data-pos-page="home"]) .container{width:var(--fs-shell)!important;max-width:none!important;margin-inline:auto!important}
body[data-pos-page]:not([data-pos-page="home"]) main{overflow:clip}
body[data-pos-page]:not([data-pos-page="home"]) main p,
body[data-pos-page]:not([data-pos-page="home"]) main li{font-family:var(--fs-body)!important;line-height:1.7}
body[data-pos-page]:not([data-pos-page="home"]) h1,
body[data-pos-page]:not([data-pos-page="home"]) h2,
body[data-pos-page]:not([data-pos-page="home"]) h3{font-family:var(--fs-sans)!important;letter-spacing:-.04em;text-wrap:balance}
body[data-pos-page]:not([data-pos-page="home"]) h1{font-size:clamp(3.6rem,7.4vw,7.8rem)!important;line-height:.91!important;font-weight:600!important;max-width:11ch}
body[data-pos-page]:not([data-pos-page="home"]) h2{font-size:clamp(2.45rem,4.6vw,5.4rem)!important;line-height:.98!important;font-weight:600!important}
body[data-pos-page]:not([data-pos-page="home"]) h3{font-size:clamp(1.25rem,2vw,2rem)!important;line-height:1.08!important}
body[data-pos-page]:not([data-pos-page="home"]) .section-label,
body[data-pos-page]:not([data-pos-page="home"]) .eyebrow,
body[data-pos-page]:not([data-pos-page="home"]) [class*="label"]{font-family:var(--fs-mono)!important;letter-spacing:.12em;text-transform:uppercase}

/* Navigation: quiet, physical, editorial. */
body[data-pos-page]:not([data-pos-page="home"]) .survey-banner{background:var(--fs-ink)!important;color:#f3f0e7!important;border:0!important;font-family:var(--fs-mono)!important;font-size:.72rem!important;letter-spacing:.02em}
body[data-pos-page]:not([data-pos-page="home"]) .survey-banner a{color:var(--fs-green)!important}
body[data-pos-page]:not([data-pos-page="home"]) header[data-astro-cid-3ef6ksr2]{
  position:sticky!important;top:0!important;z-index:1000!important;background:rgba(238,233,223,.88)!important;
  border-bottom:1px solid var(--fs-line)!important;backdrop-filter:blur(20px) saturate(.8)!important;
}
body[data-pos-page]:not([data-pos-page="home"]) .header-inner{min-height:72px!important;display:flex!important;align-items:center!important}
body[data-pos-page]:not([data-pos-page="home"]) .logo-text{font-family:var(--fs-sans)!important;font-size:1.02rem!important;letter-spacing:-.04em!important;color:var(--fs-ink)!important}
body[data-pos-page]:not([data-pos-page="home"]) .logo-text em{font-style:normal!important;color:var(--fs-teal)!important}
body[data-pos-page]:not([data-pos-page="home"]) .nav-links{gap:1.08rem!important;align-items:center}
body[data-pos-page]:not([data-pos-page="home"]) .nav-links>a,
body[data-pos-page]:not([data-pos-page="home"]) .nav-soon{font-family:var(--fs-mono)!important;font-size:.69rem!important;letter-spacing:.01em!important;text-transform:uppercase!important;color:var(--fs-ink)!important;opacity:.68}
body[data-pos-page]:not([data-pos-page="home"]) .nav-links>a:hover,
body[data-pos-page]:not([data-pos-page="home"]) .nav-links>a.active{opacity:1!important;color:var(--fs-ink)!important}
body[data-pos-page]:not([data-pos-page="home"]) .nav-cta{border:1px solid var(--fs-ink)!important;border-radius:999px!important;padding:.62rem .9rem!important;background:transparent!important;opacity:1!important}
body[data-pos-page]:not([data-pos-page="home"]) .theme-switcher{position:fixed!important;right:18px!important;bottom:18px!important;top:auto!important;z-index:900!important;background:rgba(17,18,15,.88)!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:999px!important;padding:.34rem .45rem!important;box-shadow:0 8px 32px rgba(0,0,0,.16)!important;backdrop-filter:blur(14px)}
body[data-pos-page]:not([data-pos-page="home"]) .theme-switcher .ts-label{display:none!important}

/* Universal first section. */
body[data-pos-page]:not([data-pos-page="home"]) main>section:first-child,
body[data-pos-page]:not([data-pos-page="home"]):not([data-pos-page="blog-post"]) main>article:first-child{
  position:relative!important;min-height:58vh!important;padding-top:clamp(7rem,11vw,10rem)!important;padding-bottom:clamp(5rem,9vw,8rem)!important;background:transparent!important;border-bottom:1px solid var(--fs-line)!important;
}
body[data-pos-page]:not([data-pos-page="home"]) main>section:first-child::after{
  content:attr(data-pos-index);position:absolute;right:max(28px,calc((100vw - 1220px)/2));top:clamp(5.5rem,9vw,8rem);
  font-family:var(--fs-mono);font-size:clamp(4rem,9vw,9rem);font-weight:300;letter-spacing:-.08em;color:rgba(17,18,15,.055);pointer-events:none
}
body[data-pos-page]:not([data-pos-page="home"]) main>section{border-bottom:1px solid var(--fs-line)!important}
body[data-pos-page]:not([data-pos-page="home"]) main>section:not(:first-child){padding-top:clamp(5rem,9vw,9rem)!important;padding-bottom:clamp(5rem,9vw,9rem)!important}
body[data-pos-page]:not([data-pos-page="home"]) .rule{height:1px!important;background:var(--fs-line)!important;width:min(100%,540px)!important}

/* No generic SaaS-card gloss. Existing cards become pieces of an editorial grid. */
body[data-pos-page]:not([data-pos-page="home"]) :is(.glass-panel,.glass-panel-large,.card,.feature-card,.future-card,.post-card,.download-card,.app-card,.faq-item){
  box-shadow:none!important;backdrop-filter:none!important;
}
body[data-pos-page]:not([data-pos-page="home"]) :is(.glass-panel,.glass-panel-large){border-radius:var(--fs-radius)!important;border:1px solid var(--fs-line)!important;background:rgba(255,255,255,.24)!important}
body[data-pos-page]:not([data-pos-page="home"]) .btn,
body[data-pos-page]:not([data-pos-page="home"]) .button{font-family:var(--fs-mono)!important;text-transform:uppercase!important;letter-spacing:.05em!important;border-radius:999px!important;box-shadow:none!important}

/* Injected documentary material. */
.pos-proof{background:var(--fs-night)!important;color:#f0eee7!important;border-bottom:0!important;padding:0!important;position:relative;overflow:hidden}
.pos-proof *{box-sizing:border-box}
.pos-proof__inner{width:var(--fs-shell);margin:auto;padding:clamp(5rem,8vw,8rem) 0}
.pos-proof__head{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(2rem,6vw,7rem);align-items:end;padding-bottom:2.4rem;border-bottom:1px solid var(--fs-night-line)}
.pos-proof__kicker{font-family:var(--fs-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fs-green)}
.pos-proof__title{font-family:var(--fs-sans);font-size:clamp(2.4rem,5vw,5.8rem);line-height:.95;letter-spacing:-.055em;font-weight:600;margin:0}
.pos-proof__copy{font-family:var(--fs-body);font-size:clamp(1rem,1.5vw,1.28rem);line-height:1.62;color:rgba(240,238,231,.68);max-width:52ch;margin:1.4rem 0 0}
.pos-proof__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;padding-top:16px}
.pos-proof figure{margin:0;position:relative;overflow:hidden;background:#050605;border:1px solid var(--fs-night-line)}
.pos-proof figure:nth-child(1){grid-column:span 7;aspect-ratio:1.36}
.pos-proof figure:nth-child(2){grid-column:span 5;aspect-ratio:.9}
.pos-proof figure:nth-child(3){grid-column:span 5;aspect-ratio:.9}
.pos-proof figure:nth-child(4){grid-column:span 7;aspect-ratio:1.36}
.pos-proof img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9) contrast(1.03)}
.pos-proof figure[data-fit="contain"] img{object-fit:contain;background:#080a0f;padding:18px}
.pos-proof figcaption{position:absolute;left:0;bottom:0;max-width:92%;padding:.74rem .9rem;background:rgba(8,10,8,.82);backdrop-filter:blur(12px);font-family:var(--fs-mono);font-size:.66rem;line-height:1.45;color:rgba(255,255,255,.74);border-top:1px solid var(--fs-night-line);border-right:1px solid var(--fs-night-line)}

/* A narrow photographic ribbon for pages that need one honest object, not a gallery. */
.pos-object{background:#171914!important;color:#f0eee7!important;padding:0!important}
.pos-object__inner{width:var(--fs-shell);margin:auto;display:grid;grid-template-columns:1fr 1fr;min-height:640px;border-inline:1px solid var(--fs-night-line)}
.pos-object__media{position:relative;min-height:520px;overflow:hidden;border-right:1px solid var(--fs-night-line)}
.pos-object__media img{width:100%;height:100%;object-fit:cover;display:block}
.pos-object__text{display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(2rem,5vw,5rem)}
.pos-object__text small{font-family:var(--fs-mono);color:var(--fs-green);text-transform:uppercase;letter-spacing:.13em}
.pos-object__text strong{font-family:var(--fs-sans);font-size:clamp(2rem,4.2vw,4.6rem);line-height:.95;letter-spacing:-.055em;margin-top:1rem;font-weight:600}
.pos-object__text span{font-family:var(--fs-body);color:rgba(240,238,231,.64);max-width:38ch;line-height:1.6;margin-top:1.3rem}

/* Overview: broad, product-led, evidence as cadence. */
body[data-pos-page="overview"] .beta-hero{background:var(--fs-ink)!important;color:#f2efe7!important;border-bottom:0!important}
body[data-pos-page="overview"] .beta-hero *{color:inherit}
body[data-pos-page="overview"] .beta-hero .section-label{color:var(--fs-green)!important}
body[data-pos-page="overview"] :is(.features,.theme-engine,.no-accounts,.philosophy,.faq){background:var(--fs-paper)!important}
body[data-pos-page="overview"] :is(.mycloud,.mutual-delete,.why-now,.pilot){background:var(--fs-paper-2)!important}
body[data-pos-page="overview"] .real-gallery{background:#11130f!important;color:#efede6!important;border-bottom:0!important}
body[data-pos-page="overview"] .real-gallery h2,body[data-pos-page="overview"] .real-gallery p,body[data-pos-page="overview"] .real-gallery figcaption{color:inherit!important}

/* Parents: warm paper + functional proof in a darker intermission. */
body[data-pos-page="parents"] .parents-hero{background:#ded8ca!important}
body[data-pos-page="parents"] .parents-core{background:var(--fs-paper)!important}
body[data-pos-page="parents"] .pin-reset{background:#dfe4d3!important}
body[data-pos-page="parents"] .timeouts{background:var(--fs-paper)!important}
body[data-pos-page="parents"] .companion-app{background:#171914!important;color:#f0eee7!important;border-bottom:0!important}
body[data-pos-page="parents"] .companion-app h2,body[data-pos-page="parents"] .companion-app p{color:inherit!important}
body[data-pos-page="parents"] .companion-app .ca-badge{color:var(--fs-green)!important}
body[data-pos-page="parents"] .parents-close{background:var(--fs-green)!important;color:#0b0d09!important}
body[data-pos-page="parents"] .parents-close blockquote{font-family:var(--fs-serif)!important;font-size:clamp(3rem,7vw,8rem)!important;line-height:.88!important;letter-spacing:-.05em!important;font-weight:400!important}

/* Architecture / Developers: engineering drawing without fake sci-fi. */
body[data-pos-page="about-dev"],body[data-pos-page="developers"]{--fs-paper:#e8e8e2;--fs-paper-2:#dcded7}
body[data-pos-page="about-dev"] .hero,body[data-pos-page="developers"] main>section:first-child{background:#111410!important;color:#f2efe7!important;border-bottom:0!important}
body[data-pos-page="about-dev"] .hero *,body[data-pos-page="developers"] main>section:first-child *{color:inherit}
body[data-pos-page="about-dev"] .hero .section-label,body[data-pos-page="developers"] main>section:first-child .section-label{color:var(--fs-green)!important}
body[data-pos-page="about-dev"] .content{background-image:linear-gradient(rgba(17,18,15,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(17,18,15,.06) 1px,transparent 1px)!important;background-size:32px 32px!important}
body[data-pos-page="about-dev"] .content h2,body[data-pos-page="developers"] h2{padding-top:1rem;border-top:2px solid var(--fs-ink)}
body[data-pos-page="about-dev"] code,body[data-pos-page="developers"] code{font-family:var(--fs-mono)!important;background:rgba(17,18,15,.08)!important;border:1px solid rgba(17,18,15,.12)!important;padding:.08em .3em}

/* Roadmap: sequential, almost archival. */
body[data-pos-page="future"] .future-hero{background:#dcd7cc!important}
body[data-pos-page="future"] .beyond-android{background:#11130f!important;color:#f1eee7!important;border-bottom:0!important}
body[data-pos-page="future"] .beyond-android *{color:inherit}
body[data-pos-page="future"] .future-timeline{background:var(--fs-paper)!important}
body[data-pos-page="future"] .future-close{background:#9fdc37!important;color:#10120e!important}

/* Downloads / Release / Order: transactional without looking like a checkout template. */
body[data-pos-page="apps"] .ap-hero,body[data-pos-page="release"] .rel-hero,body[data-pos-page="order"] .order-hero{background:#11130f!important;color:#f1eee7!important;border-bottom:0!important}
body[data-pos-page="apps"] .ap-hero *,body[data-pos-page="release"] .rel-hero *,body[data-pos-page="order"] .order-hero *{color:inherit}
body[data-pos-page="apps"] .ap-hero [class*="label"],body[data-pos-page="release"] .rel-hero [class*="label"],body[data-pos-page="order"] .order-hero [class*="label"]{color:var(--fs-green)!important}
body[data-pos-page="order"] .order-checkout{background:#dfe4d3!important}

/* About: make one-person authorship feel authored, not founder-brand theatre. */
body[data-pos-page="about"] main>section:first-child{background:#ded8ca!important}
body[data-pos-page="about"] main>section:first-child p{max-width:62ch}

/* Try it out: black stage for the actual device. */
body[data-pos-page="try-it-out"] .tio-hero{background:#0b0d0b!important;color:#f2efe7!important;border-bottom:0!important;min-height:75vh!important}
body[data-pos-page="try-it-out"] .tio-hero *{color:inherit}

/* Blog: newspaper / lab notebook, never content-marketing cards. */
body[data-pos-page="blog"] .blog-hero{background:#ded8ca!important}
body[data-pos-page="blog"] .blog-list{background:var(--fs-paper)!important}
body[data-pos-page="blog"] .post-card{border-radius:0!important;border:0!important;border-top:1px solid var(--fs-line)!important;background:transparent!important;padding-block:2.2rem!important}
body[data-pos-page="blog"] .post-card:last-child{border-bottom:1px solid var(--fs-line)!important}
body[data-pos-page="blog"] .post-card h2,body[data-pos-page="blog"] .post-card h3{font-family:var(--fs-serif)!important;font-weight:500!important;letter-spacing:-.03em!important}
body[data-pos-page="blog-post"] main{background:var(--fs-paper)!important}
body[data-pos-page="blog-post"] article.post{max-width:860px!important;margin:auto!important;padding:clamp(6rem,10vw,10rem) 28px!important}
body[data-pos-page="blog-post"] .post-head h1{font-family:var(--fs-serif)!important;font-size:clamp(3.4rem,7vw,7.4rem)!important;max-width:11ch!important;font-weight:500!important;letter-spacing:-.045em!important}
body[data-pos-page="blog-post"] .post-body p,body[data-pos-page="blog-post"] article.post>p{font-size:clamp(1.08rem,1.4vw,1.26rem)!important;line-height:1.78!important}
body[data-pos-page="blog-post"] article.post h2{margin-top:2em!important;font-family:var(--fs-sans)!important;font-size:clamp(2.2rem,4.1vw,4.1rem)!important;border-top:1px solid var(--fs-line);padding-top:.55em}
body[data-pos-page="blog-post"] article.post blockquote{font-family:var(--fs-serif)!important;font-size:clamp(1.8rem,3vw,3.2rem)!important;line-height:1.08!important;border-left:0!important;border-block:1px solid var(--fs-line)!important;margin:2.5em 0!important;padding:1.2em 0!important}

/* Press / privacy / small utility pages. */
body[data-pos-page="press"],body[data-pos-page="privacy"],body[data-pos-page="next-steps"]{background:var(--fs-paper)!important}
body[data-pos-page="press"] main,body[data-pos-page="privacy"] main{width:var(--fs-shell);margin:auto;padding:clamp(7rem,11vw,11rem) 0}
body[data-pos-page="press"] main h1,body[data-pos-page="privacy"] main h1{font-family:var(--fs-serif)!important;font-weight:500!important;letter-spacing:-.05em!important}

/* Footer: utility record, not a marketing finale. */
body[data-pos-page]:not([data-pos-page="home"]) footer[data-astro-cid-sz7xmlte]{background:#0e100e!important;color:#d9d8d1!important;border-top:0!important}
body[data-pos-page]:not([data-pos-page="home"]) footer .footer-inner{padding-top:4rem!important;padding-bottom:3rem!important}
body[data-pos-page]:not([data-pos-page="home"]) footer .brand{font-family:var(--fs-sans)!important;color:#f0eee7!important}
body[data-pos-page]:not([data-pos-page="home"]) footer .brand em{color:var(--fs-green)!important;font-style:normal!important}
body[data-pos-page]:not([data-pos-page="home"]) footer a,body[data-pos-page]:not([data-pos-page="home"]) footer p,body[data-pos-page]:not([data-pos-page="home"]) footer span{color:inherit!important}
body[data-pos-page]:not([data-pos-page="home"]) footer .copy,body[data-pos-page]:not([data-pos-page="home"]) footer .legal{font-family:var(--fs-mono)!important;font-size:.68rem!important;color:rgba(217,216,209,.5)!important}

/* Dark preference still works, but stays architectural rather than neon. */
html[data-theme="dark"] body[data-pos-page]:not([data-pos-page="home"]){--fs-paper:#10120f;--fs-paper-2:#171a15;--fs-ink:#eeece4;--fs-muted:#aaa9a1;--fs-line:rgba(238,236,228,.16);background:var(--fs-paper)!important;color:var(--fs-ink)!important}
html[data-theme="dark"] body[data-pos-page]:not([data-pos-page="home"])::before{background:linear-gradient(90deg,rgba(238,236,228,.026) 1px,transparent 1px),linear-gradient(rgba(238,236,228,.02) 1px,transparent 1px);background-size:42px 42px}
html[data-theme="dark"] body[data-pos-page]:not([data-pos-page="home"]) header[data-astro-cid-3ef6ksr2]{background:rgba(16,18,15,.9)!important}
html[data-theme="dark"] body[data-pos-page]:not([data-pos-page="home"]) .logo-text,html[data-theme="dark"] body[data-pos-page]:not([data-pos-page="home"]) .nav-links>a,html[data-theme="dark"] body[data-pos-page]:not([data-pos-page="home"]) .nav-soon{color:var(--fs-ink)!important}

@media (max-width:900px){
  :root{--fs-shell:min(100% - 32px,1220px)}
  body[data-pos-page]:not([data-pos-page="home"]) h1{font-size:clamp(3.15rem,15vw,5rem)!important}
  body[data-pos-page]:not([data-pos-page="home"]) h2{font-size:clamp(2.2rem,10vw,3.7rem)!important}
  body[data-pos-page]:not([data-pos-page="home"]) main>section:first-child{min-height:auto!important;padding-top:6rem!important}
  body[data-pos-page]:not([data-pos-page="home"]) main>section:first-child::after{right:18px;top:4.2rem;font-size:5rem}
  .pos-proof__head{grid-template-columns:1fr;gap:1rem}
  .pos-proof__grid{grid-template-columns:1fr;gap:10px}
  .pos-proof figure:nth-child(n){grid-column:1;aspect-ratio:auto;min-height:360px}
  .pos-proof figure[data-fit="contain"]{min-height:620px}
  .pos-object__inner{grid-template-columns:1fr;min-height:0}
  .pos-object__media{border-right:0;border-bottom:1px solid var(--fs-night-line);min-height:420px}
  .nav-links.open{background:rgba(238,233,223,.97)!important;border:1px solid var(--fs-line)!important;border-radius:18px!important;padding:1rem!important;box-shadow:0 20px 60px rgba(0,0,0,.16)!important}
  html[data-theme="dark"] .nav-links.open{background:rgba(16,18,15,.98)!important}
}

@media (max-width:560px){
  :root{--fs-shell:calc(100% - 24px)}
  .pos-proof__inner{padding:4.5rem 0}
  .pos-proof figure:nth-child(n){min-height:280px}
  .pos-proof figure[data-fit="contain"]{min-height:520px}
  .pos-proof figcaption{font-size:.58rem}
  .pos-object__media{min-height:340px}
  .pos-object__text{padding:2.2rem 1.5rem 2.6rem}
}

/* ================================================================
   PresenceOS V4 refinement — contrast, typography, device motion,
   and Guardian Circle. 2026-08-23
   ================================================================ */

/* The previous pass used Syne for every large heading. It was too round and
   generic. V4 moves display typography to the existing Cormorant cut and
   keeps Mulish for functional/UI copy. No external font dependency. */
:root{
  --fs-display:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --fs-sans:'Mulish', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --fs-body:'Mulish', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
body[data-pos-page]:not([data-pos-page="home"]) h1,
body[data-pos-page]:not([data-pos-page="home"]) h2{
  font-family:var(--fs-display)!important;
  font-weight:500!important;
  letter-spacing:-.035em!important;
  font-kerning:normal;
}
body[data-pos-page]:not([data-pos-page="home"]) h1{
  line-height:.88!important;
  max-width:12ch;
}
body[data-pos-page]:not([data-pos-page="home"]) h2{line-height:.94!important}
body[data-pos-page]:not([data-pos-page="home"]) h3,
body[data-pos-page]:not([data-pos-page="home"]) h4{
  font-family:var(--fs-sans)!important;
  font-weight:700!important;
  letter-spacing:-.025em!important;
}
body[data-pos-page]:not([data-pos-page="home"]) main p,
body[data-pos-page]:not([data-pos-page="home"]) main li{
  font-weight:400;
  letter-spacing:-.006em;
}
body[data-pos-page]:not([data-pos-page="home"]) .nav-links>a,
body[data-pos-page]:not([data-pos-page="home"]) .nav-soon{
  font-family:var(--fs-sans)!important;
  font-weight:700!important;
  letter-spacing:.035em!important;
}

/* Theme bridge. The Astro pages still use their original --text/--bg tokens;
   the editorial layer uses --fs-* tokens. Keep both systems in sync so a
   light surface can never inherit dark-theme white text (or vice versa). */
html[data-theme="light"] body[data-pos-page]:not([data-pos-page="home"]){
  --fs-paper:#f1eee7;
  --fs-paper-2:#e4e9dc;
  --fs-ink:#151712;
  --fs-muted:#555a51;
  --fs-line:rgba(21,23,18,.18);
  --bg:#f1eee7;
  --bg-surface:#e9e5dc;
  --bg-card:#f8f6f0;
  --bg-card-hover:#eeebe3;
  --text:#151712;
  --text-muted:#555a51;
  --text-faint:#777c72;
  --border:rgba(21,23,18,.16);
  --border-strong:rgba(21,23,18,.28);
  --shadow:rgba(21,23,18,.12);
  --header-bg:rgba(241,238,231,.92);
  background:var(--fs-paper)!important;
  color:var(--fs-ink)!important;
}
html[data-theme="dark"] body[data-pos-page]:not([data-pos-page="home"]){
  --fs-paper:#10120f;
  --fs-paper-2:#171a15;
  --fs-ink:#eeece4;
  --fs-muted:#a7aaa0;
  --fs-line:rgba(238,236,228,.16);
  --bg:#10120f;
  --bg-surface:#151813;
  --bg-card:#1b1f19;
  --bg-card-hover:#22271f;
  --text:#eeece4;
  --text-muted:#a7aaa0;
  --text-faint:#70756c;
  --border:rgba(238,236,228,.12);
  --border-strong:rgba(238,236,228,.22);
  --shadow:rgba(0,0,0,.38);
  --header-bg:rgba(16,18,15,.92);
  background:var(--fs-paper)!important;
  color:var(--fs-ink)!important;
}

/* All editorial light surfaces now follow the selected theme rather than
   staying hard-coded pale while text tokens flip to dark-mode white. */
body[data-pos-page="overview"] :is(.features,.theme-engine,.no-accounts,.philosophy,.faq){background:var(--fs-paper)!important}
body[data-pos-page="overview"] :is(.mycloud,.mutual-delete,.why-now,.pilot){background:var(--fs-paper-2)!important}
body[data-pos-page="parents"] .parents-hero{background:var(--fs-paper-2)!important}
body[data-pos-page="parents"] .parents-core,
body[data-pos-page="parents"] .timeouts{background:var(--fs-paper)!important}
body[data-pos-page="parents"] .pin-reset{background:var(--fs-paper-2)!important}
body[data-pos-page="future"] .future-hero{background:var(--fs-paper-2)!important}
body[data-pos-page="future"] .future-timeline{background:var(--fs-paper)!important}
body[data-pos-page="order"] .order-checkout{background:var(--fs-paper-2)!important}
body[data-pos-page="about"] main>section:first-child{background:var(--fs-paper-2)!important}
body[data-pos-page="blog"] .blog-hero{background:var(--fs-paper-2)!important}
body[data-pos-page="blog"] .blog-list{background:var(--fs-paper)!important}

/* Explicit local tokens for permanent dark islands. This makes their child
   components safe even when those components ask for var(--text). */
body[data-pos-page="overview"] :is(.beta-hero,.real-gallery),
body[data-pos-page="parents"] .companion-app,
body[data-pos-page="about-dev"] .hero,
body[data-pos-page="developers"] main>section:first-child,
body[data-pos-page="future"] .beyond-android,
body[data-pos-page="apps"] .ap-hero,
body[data-pos-page="release"] .rel-hero,
body[data-pos-page="order"] .order-hero,
body[data-pos-page="try-it-out"] .tio-hero,
.pos-proof,
.pos-object{
  --text:#f2f0e9;
  --text-muted:#b5b6af;
  --text-faint:#777b73;
  --bg:#0f120f;
  --bg-surface:#151914;
  --bg-card:#1b211a;
  --border:rgba(242,240,233,.14);
  --border-strong:rgba(242,240,233,.24);
}

/* Restore readable local colour on the specific surfaces that were visibly
   broken in V3, including the PIN-reset card in the supplied screen capture. */
body[data-pos-page="parents"] .pin-reset :is(h2,h3,strong,.gp-name,.md-line){color:var(--text)!important}
body[data-pos-page="parents"] .pin-reset :is(p,.gp-sub,.gp-note){color:var(--text-muted)!important}
body[data-pos-page="parents"] .pin-reset .gp-label{color:var(--accent)!important}
html[data-theme="light"] body[data-pos-page="parents"] .pin-reset .glass-panel,
html[data-theme="light"] body[data-pos-page="parents"] .timeouts .glass-panel{
  background:rgba(255,255,255,.54)!important;
  border-color:rgba(21,23,18,.18)!important;
}
html[data-theme="dark"] body[data-pos-page="parents"] .pin-reset .glass-panel,
html[data-theme="dark"] body[data-pos-page="parents"] .timeouts .glass-panel{
  background:rgba(255,255,255,.035)!important;
  border-color:rgba(238,236,228,.18)!important;
}
html[data-theme="light"] body[data-pos-page="order"] .checkout-block{
  background:rgba(255,255,255,.46)!important;
  border-color:rgba(21,23,18,.18)!important;
}

/* Permanent dark sections: force inherited prose where generated CSS had
   page-specific selectors strong enough to leak the opposite theme. */
body[data-pos-page="overview"] .beta-hero :is(h1,h2,h3,p,li,strong,em),
body[data-pos-page="overview"] .real-gallery :is(h1,h2,h3,p,li,strong,em),
body[data-pos-page="parents"] .companion-app :is(h1,h2,h3,p,li,strong,em),
body[data-pos-page="release"] .rel-hero :is(h1,h2,h3,p,li,strong,em),
body[data-pos-page="order"] .order-hero :is(h1,h2,h3,p,li,strong,em),
body[data-pos-page="apps"] .ap-hero :is(h1,h2,h3,p,li,strong,em),
body[data-pos-page="try-it-out"] .tio-hero :is(h1,h2,h3,p,li,strong,em){color:var(--text)!important}
body[data-pos-page="overview"] .beta-hero :is(p,li),
body[data-pos-page="overview"] .real-gallery :is(p,li),
body[data-pos-page="parents"] .companion-app :is(p,li),
body[data-pos-page="release"] .rel-hero :is(p,li),
body[data-pos-page="order"] .order-hero :is(p,li),
body[data-pos-page="apps"] .ap-hero :is(p,li),
body[data-pos-page="try-it-out"] .tio-hero :is(p,li){color:var(--text-muted)!important}
body[data-pos-page="overview"] .beta-hero .section-label,
body[data-pos-page="parents"] .companion-app .ca-badge,
body[data-pos-page="release"] .rel-hero .section-label,
body[data-pos-page="order"] .order-hero .section-label,
body[data-pos-page="apps"] .ap-hero [class*="label"]{color:var(--fs-green)!important}

/* Live PresenceOS screen on every CSS 3D moto that carries the rotary demo. */
.g56-front video.g56-screen-video{
  position:absolute;
  inset:2.2% 2.8% 3.2%;
  width:94.4%;
  height:94.6%;
  object-fit:cover;
  object-position:center;
  border-radius:26px;
  display:block;
  background:#050507;
}
.g56-front .g56-glass{z-index:2}
.g56-front .g56-punchhole{z-index:3}

/* Guardian Circle V4 — a compact trust map, not a generic orbit diagram. */
body[data-pos-page="release"] .rel-circle-wrap{
  width:100%;
  max-width:860px;
  margin:1.6rem auto 2.4rem!important;
  padding:clamp(1rem,2.6vw,1.7rem);
  border:1px solid rgba(242,240,233,.13);
  border-radius:28px;
  background:
    radial-gradient(circle at 50% 48%,rgba(69,185,164,.10),transparent 28%),
    linear-gradient(180deg,#101310 0%,#0b0e0c 100%);
  box-shadow:0 28px 70px rgba(0,0,0,.20),inset 0 1px rgba(255,255,255,.035);
  overflow:hidden;
  position:relative;
}
body[data-pos-page="release"] .rel-circle-wrap:before{
  content:"TRUSTED CIRCLE / LOCAL AUTHORITY";
  position:absolute;
  top:16px;
  left:20px;
  z-index:2;
  font:600 10px/1 var(--fs-mono);
  letter-spacing:.16em;
  color:rgba(242,240,233,.42);
  pointer-events:none;
}
body[data-pos-page="release"] .rel-circle-diagram{
  width:min(100%,780px)!important;
  max-width:none!important;
  margin:0 auto;
  display:block;
  overflow:visible;
}
body[data-pos-page="release"] .guardian-map .gm-boundary{
  fill:none;
  stroke:rgba(86,215,188,.28);
  stroke-width:1.5;
  stroke-dasharray:4 9;
  transform-origin:380px 270px;
  animation:gmOrbit 24s linear infinite;
}
body[data-pos-page="release"] .guardian-map .gm-inner-ring{fill:none;stroke:rgba(242,240,233,.08);stroke-width:1}
body[data-pos-page="release"] .guardian-map .gm-link{stroke:rgba(86,215,188,.42);stroke-width:1.6;fill:none}
body[data-pos-page="release"] .guardian-map .gm-link-main{stroke:#e0a01b;stroke-width:2.2}
body[data-pos-page="release"] .guardian-map .gm-node rect{fill:#151a16;stroke:rgba(242,240,233,.18);stroke-width:1.2}
body[data-pos-page="release"] .guardian-map .gm-node-main rect{fill:#1b1b12;stroke:#e0a01b;stroke-width:1.8}
body[data-pos-page="release"] .guardian-map .gm-center-body{fill:#111612;stroke:#59d7bc;stroke-width:2}
body[data-pos-page="release"] .guardian-map .gm-center-screen{fill:#08100d;stroke:rgba(89,215,188,.28);stroke-width:1}
body[data-pos-page="release"] .guardian-map .gm-center-orbit{fill:none;stroke:#59d7bc;stroke-width:1.25;opacity:.8}
body[data-pos-page="release"] .guardian-map .gm-center-orbit.gm-o2{opacity:.34}
body[data-pos-page="release"] .guardian-map .gm-dot{fill:#59d7bc;filter:drop-shadow(0 0 5px rgba(89,215,188,.55));animation:gmPulse 2.8s ease-in-out infinite}
body[data-pos-page="release"] .guardian-map .gm-dot-main{fill:#e0a01b;filter:drop-shadow(0 0 5px rgba(224,160,27,.5))}
body[data-pos-page="release"] .guardian-map text{font-family:var(--fs-sans);fill:#efeee8}
body[data-pos-page="release"] .guardian-map .gm-kicker{font-family:var(--fs-mono);font-size:10px;letter-spacing:.14em;fill:rgba(239,238,232,.48)}
body[data-pos-page="release"] .guardian-map .gm-label{font-size:16px;font-weight:700;letter-spacing:-.02em}
body[data-pos-page="release"] .guardian-map .gm-sub{font-family:var(--fs-mono);font-size:9px;letter-spacing:.08em;fill:rgba(239,238,232,.48)}
body[data-pos-page="release"] .guardian-map .gm-center-title{font-family:var(--fs-mono);font-size:13px;font-weight:500;letter-spacing:.10em;fill:#f4f2eb}
body[data-pos-page="release"] .guardian-map .gm-center-sub{font-family:var(--fs-mono);font-size:9px;letter-spacing:.14em;fill:#59d7bc}
body[data-pos-page="release"] .guardian-map .gm-blocked rect{fill:#151110;stroke:rgba(245,99,76,.44);stroke-width:1}
body[data-pos-page="release"] .guardian-map .gm-blocked circle,
body[data-pos-page="release"] .guardian-map .gm-blocked line{fill:none;stroke:#f5634c;stroke-width:2}
body[data-pos-page="release"] .guardian-map .gm-blocked .gm-blocked-label{font-family:var(--fs-mono);font-size:10px;letter-spacing:.10em;fill:#f07b67}
body[data-pos-page="release"] .guardian-map .gm-blocked .gm-blocked-sub{font-family:var(--fs-mono);font-size:8px;letter-spacing:.08em;fill:rgba(240,123,103,.54)}
body[data-pos-page="release"] .rel-circle-caption{
  color:rgba(239,238,232,.66)!important;
  max-width:58ch!important;
  font-size:.82rem!important;
  line-height:1.7!important;
  margin:0 auto .3rem!important;
}
@keyframes gmOrbit{to{stroke-dashoffset:-104}}
@keyframes gmPulse{0%,100%{opacity:.45}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){
  body[data-pos-page="release"] .guardian-map .gm-boundary,
  body[data-pos-page="release"] .guardian-map .gm-dot{animation:none!important}
}
@media(max-width:680px){
  body[data-pos-page="release"] .rel-circle-wrap{border-radius:20px;padding:.6rem;margin-inline:0!important}
  body[data-pos-page="release"] .rel-circle-wrap:before{font-size:8px;top:12px;left:12px}
}

/* ================================================================
   PresenceOS V5 — family-device render plates
   Real product renders are used as small physical objects, never as a giant
   mockup wall. The live 3D Moto remains the primary product demonstration.
   ================================================================ */

.pos-miniature-stage{
  position:relative;
  width:min(760px,92vw);
  height:clamp(470px,56vw,650px);
  margin-inline:auto;
  isolation:isolate;
  pointer-events:none;
}
.pos-miniature-stage::before{
  content:"";
  position:absolute;
  width:78%;
  aspect-ratio:1;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border:1px solid rgba(255,255,255,.11);
  border-radius:50%;
  opacity:.58;
}
.pos-miniature-stage::after{
  content:"";
  position:absolute;
  left:50%;bottom:4%;
  width:62%;height:10%;
  transform:translateX(-50%);
  background:radial-gradient(ellipse,rgba(0,0,0,.42),transparent 70%);
  filter:blur(16px);
  z-index:-1;
}
.pos-miniature{
  position:absolute;
  display:block;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 28px 34px rgba(0,0,0,.30));
  transform-origin:50% 80%;
  will-change:transform;
}
.pos-miniature--guardian{
  width:33%;
  left:9%;
  top:7%;
  transform:rotate(-4deg);
  z-index:2;
}
.pos-miniature--lock{
  width:34%;
  right:7%;
  top:4%;
  transform:rotate(3.5deg);
  z-index:1;
}
.pos-miniature--contacts{
  width:35%;
  left:50%;
  bottom:2%;
  transform:translateX(-50%) rotate(.4deg);
  z-index:3;
}
.pos-miniature-halo{
  position:absolute;
  width:44%;
  aspect-ratio:1;
  left:50%;top:48%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(69,185,164,.16),rgba(69,185,164,.04) 48%,transparent 72%);
  filter:blur(6px);
  z-index:-2;
}

/* Homepage: a quiet object study between the product statement and the
   literal screen grid. The renders stay deliberately small. */
body[data-pos-page="home"] .pos-home-family-render{
  margin-top:clamp(2.4rem,5vw,4.8rem);
  margin-bottom:clamp(1.8rem,4vw,3.2rem);
  max-width:680px;
  height:clamp(430px,50vw,610px);
}
body[data-pos-page="home"] .pos-home-family-render::before{border-color:rgba(255,255,255,.10)}
body[data-pos-page="home"] .pos-home-family-render .pos-miniature{
  filter:drop-shadow(0 34px 42px rgba(0,0,0,.52));
}

/* Parents: the family relationship appears as an object composition beside
   the existing copy. No additional marketing copy was introduced. */
body[data-pos-page="parents"] .parents-hero .container{
  position:relative;
  min-height:clamp(620px,68vw,760px);
  padding-right:min(46vw,560px);
}
body[data-pos-page="parents"] .pos-parents-family-render{
  position:absolute;
  right:-1.5rem;
  top:50%;
  transform:translateY(-48%);
  width:min(540px,44vw);
  height:min(650px,61vw);
  margin:0;
}
body[data-pos-page="parents"] .pos-parents-family-render::before{
  border-color:color-mix(in srgb,var(--fs-ink) 13%,transparent);
}
body[data-pos-page="parents"] .pos-parents-family-render::after{
  background:radial-gradient(ellipse,color-mix(in srgb,var(--fs-ink) 24%,transparent),transparent 70%);
}
body[data-pos-page="parents"] .pos-parents-family-render .pos-miniature{
  filter:drop-shadow(0 25px 30px rgba(0,0,0,.22));
}
html[data-theme="dark"] body[data-pos-page="parents"] .pos-parents-family-render::before{
  border-color:rgba(255,255,255,.12);
}

/* Overview / Order: keep the live spinning Moto dominant and place one tiny
   companion phone behind it to imply the two-sided system. */
body[data-pos-page="overview"] .hero-rotary,
body[data-pos-page="order"] .order-visual{
  position:relative;
  isolation:isolate;
}
body[data-pos-page="overview"] .hero-rotary .g56-stage,
body[data-pos-page="order"] .order-visual .g56-stage{
  position:relative;
  z-index:3;
}
.pos-overview-companion,
.pos-order-companion{
  position:absolute;
  display:block;
  width:clamp(118px,13vw,176px);
  height:auto;
  z-index:1;
  opacity:.94;
  filter:drop-shadow(0 28px 34px rgba(0,0,0,.38));
  pointer-events:none;
}
.pos-overview-companion{
  right:-38%;
  top:23%;
  transform:rotate(6deg);
}
.pos-order-companion{
  left:-42%;
  top:28%;
  transform:rotate(-6deg);
}
body[data-pos-page="overview"] .hero-rotary::after,
body[data-pos-page="order"] .order-visual::after{
  content:"";
  position:absolute;
  width:180%;height:28%;
  left:50%;bottom:8%;
  transform:translateX(-50%);
  background:radial-gradient(ellipse,rgba(0,0,0,.28),transparent 68%);
  filter:blur(20px);
  z-index:0;
  pointer-events:none;
}

/* Apps: one small rendered handset floats at the edge of the documentary
   proof section. It should read as a physical product, not another card. */
body[data-pos-page="apps"] .pos-proof__inner{position:relative}
body[data-pos-page="apps"] .pos-apps-render{
  position:absolute;
  right:0;
  top:clamp(2.2rem,5vw,4.6rem);
  width:clamp(110px,12vw,170px);
  height:auto;
  transform:rotate(4deg);
  filter:drop-shadow(0 25px 34px rgba(0,0,0,.45));
  opacity:.92;
  z-index:2;
}
body[data-pos-page="apps"] .pos-proof__head{padding-right:clamp(130px,15vw,205px)}

@media (hover:hover) and (prefers-reduced-motion:no-preference){
  body[data-pos-page="home"] .pos-home-family-render .pos-miniature--guardian,
  body[data-pos-page="parents"] .pos-parents-family-render .pos-miniature--guardian{animation:posRenderFloatA 7s ease-in-out infinite}
  body[data-pos-page="home"] .pos-home-family-render .pos-miniature--lock,
  body[data-pos-page="parents"] .pos-parents-family-render .pos-miniature--lock{animation:posRenderFloatB 8.5s ease-in-out infinite}
  body[data-pos-page="home"] .pos-home-family-render .pos-miniature--contacts,
  body[data-pos-page="parents"] .pos-parents-family-render .pos-miniature--contacts{animation:posRenderFloatC 8s ease-in-out infinite}
}
@keyframes posRenderFloatA{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-7px) rotate(-3.2deg)}}
@keyframes posRenderFloatB{0%,100%{transform:translateY(0) rotate(3.5deg)}50%{transform:translateY(-10px) rotate(2.8deg)}}
@keyframes posRenderFloatC{0%,100%{transform:translateX(-50%) translateY(0) rotate(.4deg)}50%{transform:translateX(-50%) translateY(-6px) rotate(-.2deg)}}

@media (max-width:980px){
  body[data-pos-page="parents"] .parents-hero .container{
    min-height:0;
    padding-right:0;
  }
  body[data-pos-page="parents"] .pos-parents-family-render{
    position:relative;
    right:auto;top:auto;
    transform:none;
    width:min(620px,96vw);
    height:clamp(430px,88vw,650px);
    margin:3rem auto -1rem;
  }
  .pos-overview-companion{right:-24%;opacity:.78}
  .pos-order-companion{left:-24%;opacity:.78}
}
@media (max-width:680px){
  .pos-miniature-stage{height:470px;width:min(520px,100%)}
  .pos-miniature--guardian{width:36%;left:4%}
  .pos-miniature--lock{width:37%;right:2%}
  .pos-miniature--contacts{width:39%}
  body[data-pos-page="home"] .pos-home-family-render{height:470px;margin-top:2rem}
  .pos-overview-companion,.pos-order-companion{display:none}
  body[data-pos-page="apps"] .pos-apps-render{position:relative;display:block;right:auto;top:auto;width:126px;margin:0 0 1.6rem auto;transform:rotate(3deg)}
  body[data-pos-page="apps"] .pos-proof__head{padding-right:0}
}
