/* Calm pass, Nov 13 2026: shared hero layout and NLOS app window. Theme per look via --ca-* vars in calm.css */
.calm-hero{--ca-accent:#004874;--ca-accent-ink:#fff;--ca-ink:#0f1f2e;--ca-muted:#5b6b7a;--ca-bg:#fff;--ca-side:#f4f7fa;--ca-line:rgba(15,31,46,.10);--ca-soft:rgba(0,72,116,.08);--ca-gold:#F5BB61;--ca-teal:#14b8a6;--ca-radius:16px;--ca-page:transparent;--ca-h1:var(--ca-ink);--ca-h1-accent:var(--ca-accent);--ca-text:var(--ca-muted);--ca-btn:var(--ca-accent);--ca-btn-ink:var(--ca-accent-ink);--ca-link:var(--ca-ink);--ca-h1-font:inherit;--ca-h1-weight:700;--ca-h1-track:-0.02em;--ca-shadow:0 1px 2px rgba(15,31,46,.06),0 24px 60px -24px rgba(15,31,46,.22);
  position:relative;background:var(--ca-page);padding:var(--ca-top,clamp(7rem,10vw,9rem)) 0 var(--ca-bottom,clamp(4rem,7vw,6.5rem));overflow:hidden}
.calm-hero *{box-sizing:border-box}
.calm-hero__in{width:min(1240px,calc(100% - 3rem));margin:0 auto;display:grid;gap:clamp(2.5rem,5vw,4.5rem);align-items:center}
.calm-hero--split .calm-hero__in{grid-template-columns:minmax(0,1fr) minmax(0,1.32fr)}
.calm-hero--split .calm-h1{font-size:clamp(2.4rem,3.6vw,3.4rem)}
.calm-hero--stack .calm-hero__in{grid-template-columns:1fr;text-align:center}
.calm-hero--stack .calm-hero__copy{max-width:820px;margin:0 auto}
.calm-hero--stack .calm-ctas{justify-content:center}
.calm-hero--stack .calm-hero__app{max-width:1080px;margin:0 auto;width:100%}
.calm-h1{font-family:var(--ca-h1-font);font-weight:var(--ca-h1-weight);font-size:clamp(2.6rem,4.6vw,4.1rem);line-height:1.06;letter-spacing:var(--ca-h1-track);color:var(--ca-h1);margin:0 0 1.25rem;text-transform:none;text-wrap:balance;text-shadow:none}
.calm-hero--stack .calm-h1{font-size:clamp(2.6rem,4.6vw,4.2rem)}
.calm-hero--stack{--ca-top:clamp(6rem,8vw,7.5rem)}
.calm-hero--stack .calm-hero__in{gap:clamp(2.25rem,4vw,3.25rem)}
.calm-h1 .calm-accent{color:var(--ca-h1-accent);font-style:inherit}
.calm-lede{font-size:clamp(1.06rem,1.3vw,1.2rem);line-height:1.6;color:var(--ca-text);margin:0 0 2rem;max-width:34em;text-wrap:pretty}
.calm-hero--stack .calm-lede{margin-left:auto;margin-right:auto}
.calm-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem 1.75rem;margin:0 0 1.1rem}
.calm-hero a.calm-btn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 1.5rem;border-radius:999px;background:var(--ca-btn);color:var(--ca-btn-ink);font:600 1rem/1 var(--ca-btn-font,inherit);letter-spacing:0;transition:filter .15s ease}
.calm-hero a.calm-btn:hover{filter:brightness(1.08)}
.calm-hero a.calm-btn:focus-visible,.calm-hero a.calm-link:focus-visible{outline:2px solid var(--ca-accent);outline-offset:3px}
.calm-hero a.calm-link{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:.4em;min-height:44px;color:var(--ca-link);font:600 1rem/1 var(--ca-btn-font,inherit);text-decoration:none}
.calm-hero a.calm-link::after{content:"\2192";transition:transform .15s ease}
.calm-hero a.calm-link:hover::after{transform:translateX(3px)}
.calm-note{font-size:.92rem;color:var(--ca-text);margin:0;opacity:.9}
.calm-note a{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* App window */
.ca{font-family:var(--ca-app-font,inherit);color:var(--ca-ink);background:var(--ca-bg);border:1px solid var(--ca-line);border-radius:var(--ca-radius);box-shadow:var(--ca-shadow);overflow:hidden;text-align:left}
.ca-bar{display:flex;align-items:center;gap:.75rem;height:44px;padding:0 1rem;border-bottom:1px solid var(--ca-line);font-size:.8rem;color:var(--ca-muted)}
.ca-dots{display:flex;gap:6px}.ca-dots i{width:10px;height:10px;border-radius:50%;background:var(--ca-line)}
.ca-title{font-weight:600;color:var(--ca-ink)}
.ca-tag{margin-left:auto;font-size:.72rem;letter-spacing:.02em;padding:.25rem .6rem;border-radius:999px;background:var(--ca-soft);color:var(--ca-muted)}
.ca-body{display:grid;grid-template-columns:200px 1fr;min-height:420px}
.ca-side{background:var(--ca-side);border-right:1px solid var(--ca-line);padding:1.1rem .85rem;display:flex;flex-direction:column;gap:1.25rem}
.ca-brand{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:.95rem;padding:0 .4rem}
.ca-brand img{width:22px;height:22px}
.ca-nav{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}
.ca-nav li{display:flex;align-items:center;justify-content:space-between;padding:.5rem .6rem;border-radius:10px;font-size:.88rem;color:var(--ca-muted)}
.ca-nav li.on{background:var(--ca-bg);color:var(--ca-ink);font-weight:600;box-shadow:0 1px 2px rgba(15,31,46,.06)}
.ca-nav li b{font-size:.72rem;font-weight:600;min-width:20px;height:20px;border-radius:10px;display:inline-grid;place-items:center;background:var(--ca-accent);color:var(--ca-accent-ink)}
.ca-conn{margin-top:auto;padding:.4rem}
.ca-conn p{margin:0 0 .5rem;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ca-muted)}
.ca-conn ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.ca-conn li{display:flex;align-items:center;gap:.45rem;font-size:.8rem;color:var(--ca-muted)}
.ca-conn li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ca-teal)}
.ca-main{padding:1.6rem 1.75rem 1.4rem;display:flex;flex-direction:column;gap:1.1rem}
.ca-hi{margin:0;font-size:1.45rem;font-weight:700;letter-spacing:-.01em;color:var(--ca-ink)}
.ca-sub{margin:-.6rem 0 0;font-size:.95rem;color:var(--ca-muted)}
.ca-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.ca-list li{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:.9rem;padding:.8rem .95rem;border:1px solid var(--ca-line);border-radius:12px;background:var(--ca-bg)}
.ca-ico{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--ca-soft);color:var(--ca-accent)}
.ca-ico svg{width:18px;height:18px}
.ca-list b{display:block;font-size:.95rem;font-weight:600;color:var(--ca-ink)}
.ca-list small{display:block;font-size:.82rem;color:var(--ca-muted);margin-top:.15rem}
.ca-act{font-size:.8rem;font-weight:600;padding:.45rem .8rem;border-radius:999px;border:1px solid var(--ca-line);color:var(--ca-ink);white-space:nowrap}
.ca-act--go{background:var(--ca-accent);border-color:transparent;color:var(--ca-accent-ink)}
.ca-ask{display:flex;align-items:center;gap:.6rem;margin-top:auto;padding:.8rem 1rem;border:1px solid var(--ca-line);border-radius:12px;font-size:.9rem;color:var(--ca-muted)}
.ca-ask::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ca-gold)}
.calm-hero--stack .ca-body{min-height:460px}
@media (max-width: 960px){
  .calm-hero--split .calm-hero__in{grid-template-columns:1fr}
  .ca-body{grid-template-columns:1fr}
  .ca-side{display:none}
}
@media (max-width: 560px){
  .ca-list li{grid-template-columns:32px 1fr}
  .ca-act{display:none}
  .ca-main{padding:1.1rem}
}

/* Generic dark theme for looks with a theme switch */
[data-theme="dark"] .calm-hero{--ca-ink:#e8eef4;--ca-muted:#9fb0c0;--ca-bg:#13202c;--ca-side:#0f1a24;--ca-line:rgba(232,238,244,.12);--ca-soft:rgba(100,187,237,.12);--ca-shadow:0 24px 60px -24px rgba(0,0,0,.6)}
@media (max-width: 600px){.calm-hero{--ca-top:5.5rem;--ca-bottom:3rem}.calm-hero .calm-h1{font-size:2.3rem}}
