/* S1 public presentation. Scoped to public pages; account state and product controls retain their existing behavior. */
.public-page{--ink:var(--cassandra-ink);--muted:var(--cassandra-muted);--gold:var(--cassandra-gold);--paper:var(--cassandra-paper);--line:var(--cassandra-line);--panel:var(--cassandra-panel);color:var(--ink);background:var(--paper);font:17px/1.6 var(--cassandra-body-font);margin:0;min-height:100vh}
.public-page *{box-sizing:border-box}
.public-page a{color:var(--gold);text-underline-offset:4px}
.public-page :is(a,button,input,select,summary):focus-visible{outline:3px solid var(--cassandra-focus);outline-offset:4px}
.public-page .public-skip{position:absolute;top:-100px;left:16px;z-index:5;padding:12px;background:var(--panel)}
.public-page .public-skip:focus{top:8px}
.public-page .public-header,.public-page .public-footer,.public-page .public-shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.public-page .public-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
.public-page .public-brand{display:flex;align-items:center;gap:12px;text-decoration:none;letter-spacing:0;font:26px/1.1 var(--cassandra-heading-font);color:var(--ink)}
.public-brand img{border-radius:50%;object-fit:cover;border:1px solid var(--gold)}
.public-page .public-brand>span{display:block;font-size:26px;letter-spacing:0;color:var(--ink)}
.public-page .public-brand small{display:block;font:10px/1.7 var(--cassandra-body-font);text-transform:uppercase;letter-spacing:.26em;color:var(--gold)}
.public-header nav{display:flex;gap:24px;flex-wrap:wrap}
.public-page .public-header nav a{font-size:14px;font-weight:400;letter-spacing:0;text-decoration:none;padding:10px 0}
.public-page h1,.public-page h2,.public-page h3{font-family:var(--cassandra-heading-font);font-weight:400;letter-spacing:-.025em;line-height:1.12}
.public-page h1{font-size:clamp(38px,4.8vw,64px);margin:0 0 24px}
.public-page h2{font-size:clamp(28px,3vw,38px)}
.public-page h3{font-size:26px}
.public-page .eyebrow{color:var(--gold);font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.public-page .public-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:4px;background:var(--gold);color:var(--paper);font-weight:700;text-decoration:none;border:1px solid var(--gold)}
.public-page .public-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:28px 0 12px}
.public-page .home-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:24px;padding:40px 0;border-bottom:1px solid var(--line)}
.home-hero .hero-copy{position:relative;z-index:1;padding:20px 0}
.home-hero .hero-copy>p{max-width:53ch}
.home-hero .hero-lede{font-size:20px;color:var(--muted)}
.home-hero figure{margin:0;min-width:0}
.home-hero .hero-art{display:block;width:100%;max-height:570px;object-fit:contain;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 90%,transparent)}
.public-page .public-meta{color:var(--muted);font-size:14px}
.public-page .home-section{padding:48px 0;border-bottom:1px solid var(--line)}
.home-section>p{max-width:75ch;color:var(--muted)}
.public-page .product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}
.public-page .product-card{padding:24px;border:1px solid var(--line);border-radius:var(--cassandra-radius);background:var(--panel);box-shadow:none}
.public-page .product-card::before{content:none}
.product-card p{color:var(--muted)}
.product-schematic{height:76px;border-block:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:16px 10px;margin:22px 0 8px;color:var(--cassandra-violet)}
.product-schematic span{display:block;background:currentColor;opacity:.65;height:8px;flex:1}
.product-schematic span:nth-child(2){height:28px}.product-schematic span:nth-child(3){height:44px}.product-schematic span:nth-child(4){height:20px}
.public-page .included-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0;list-style:none}
.included-list li{border-left:2px solid var(--gold);padding:8px 16px}
.public-page .public-footer{display:flex;justify-content:space-between;gap:32px;padding:32px 0;border-top:0;color:var(--muted);font-size:14px}
.public-footer strong{color:var(--ink);font-family:var(--cassandra-heading-font);font-size:22px;font-weight:400}
.public-footer nav{display:flex;flex-wrap:wrap;align-content:flex-start;gap:12px 24px;max-width:580px}
.public-footer nav a{padding:5px 0}
.public-page .access-steps{display:flex;gap:20px;padding:0;list-style:none;margin:24px 0 32px;color:var(--muted);font-size:14px}
.access-steps li{display:flex;align-items:center;gap:8px}
.access-steps span{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;flex-shrink:0}
.access-steps [aria-current]{color:var(--ink)}.access-steps [aria-current] span{background:var(--cassandra-violet);color:var(--paper)}
.public-page .access-shell{max-width:780px;min-height:50vh;padding:40px 0 56px}
.public-page .access-shell form{padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:var(--cassandra-radius);margin:24px 0}
.public-page .trial-page{padding-block:40px}
.public-page .trial-intro h1{font-size:clamp(38px,4vw,52px)}
.public-page .trial-card{border-color:var(--line);box-shadow:none}
.public-page .trial-card input{min-height:44px}
.public-page .trial-check input{min-height:0}
.public-page .legal-content{max-width:850px;padding:40px 0 56px}
.public-page .legal-content h1{font-size:clamp(36px,4.5vw,54px)}
.public-page .legal-content h2{font-size:28px;margin-top:36px}
.public-page .legal-content p{max-width:80ch}
.public-page .public-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}
.public-page .public-guide>nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0;font-size:0}
.public-page .public-guide>nav a{display:flex;align-items:center;min-height:48px;padding:12px 16px;border:1px solid var(--line);border-radius:var(--cassandra-radius);background:var(--panel);font-size:15px;text-decoration:none}
.public-page .public-guide section{padding:20px 0;border-top:1px solid var(--line);scroll-margin-top:24px}
.public-page .public-guide h2{margin-top:16px}.public-page .public-guide h3{font-size:25px;margin:28px 0 12px}
.public-page .public-guide .back-link{display:inline-flex;align-items:center;min-height:44px;margin-bottom:16px}
@media(max-width:760px){
 .public-page .public-header,.public-page .public-footer,.public-page .public-shell{width:calc(100% - 32px)}
 .public-page .public-header{align-items:flex-start;flex-direction:column;gap:12px;padding:18px 0}
 .public-header nav{gap:8px 20px;width:100%}
 .public-page .public-header nav a{font-size:13px}
 .public-page .home-hero{grid-template-columns:1fr;gap:8px;padding:22px 0 28px}
 .home-hero .hero-copy{padding:8px 0}.public-page .home-hero h1{font-size:43px;max-width:14ch}
 .home-hero .hero-lede{font-size:18px}.home-hero .hero-art{max-height:250px;object-fit:cover;object-position:center 25%}
 .public-page .public-actions{gap:16px;margin-top:22px}.public-page .public-actions .public-button{width:100%}
 .public-page .product-grid,.public-page .included-list,.public-page .public-access-grid,.public-page .public-guide>nav{grid-template-columns:1fr}
 .public-page .home-section{padding:32px 0}.public-page .public-footer{flex-direction:column;gap:12px}
 .public-page .access-steps{gap:10px;font-size:12px}.access-steps li{align-items:flex-start;flex:1;flex-direction:column}
 .public-page .access-shell,.public-page .legal-content{width:calc(100% - 32px);padding:28px 0 40px}
 .public-page .trial-page{padding-top:28px}.public-page .trial-card{padding:20px}
 .public-page .access-shell form[action="/members/login"] button[type="submit"],
 .public-page .legal-content a[href="/members/start"]{
  display:inline-flex;
  align-items:center;
  min-width:44px;
  min-height:44px;
 }
}
/* P52: public navigation/actions remain easy to read and tap on phones. */
.public-page .public-header nav a,.public-page .public-actions>a,.public-page .product-card>a,.public-page .public-footer nav a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:640px){.public-page .public-header nav a{font-size:14px}.public-page .public-meta{font-size:14px}}

/* Text-first legal pages use a readable measure without the shared hero. */
.public-page .legal-reading{max-width:70ch;width:calc(100% - 32px);padding-block:clamp(32px,6vw,68px)}
.public-page .legal-reading h1{font-size:clamp(32px,5vw,50px);line-height:1.12;margin:0 0 12px}
.public-page .legal-reading h2{font-size:clamp(22px,3vw,27px);line-height:1.25;margin:32px 0 10px}
.public-page .legal-reading p{font-size:1rem;line-height:1.65;margin:0 0 1em}
