/* doc.css — shared shell for Healvi's document pages (privacy, terms, support, 404).
   Same Apple-derived visual system as index.html, trimmed to what a long read needs. */
:root{
  --ink:#1D1D1F; --sub:#66666B; --hair:#D2D2D7; --bg:#FFFFFF;
  --teal:#079E99; --teal-dp:#05716E; --plum:#9D4784; --mag:#E14580;
  --sf:"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Helvetica,Arial,sans-serif;
  --wide:1120px; --ease:cubic-bezier(.28,.11,.32,1); --rev:cubic-bezier(.19,.66,.16,1);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px;}
html,body{background:var(--bg);color:var(--ink);font-family:var(--sf);
  -webkit-font-smoothing:antialiased;line-height:1.5;font-weight:400;letter-spacing:-.01em;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
:focus-visible{outline:2px solid var(--teal-dp);outline-offset:3px;border-radius:6px;}
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--ink);color:#fff;
  padding:12px 20px;border-radius:0 0 12px 0;font-size:14px;font-weight:600;}
.skip:focus{left:0;}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* nav — scoped to the site bar only. A bare `nav{position:fixed}` also caught
   the in-page table-of-contents <nav>, which then escaped and covered the
   page heading. */
body>nav{position:fixed;top:0;left:0;right:0;z-index:100;height:52px;
  background:rgba(255,255,255,.78);backdrop-filter:saturate(1.8) blur(20px);-webkit-backdrop-filter:saturate(1.8) blur(20px);
  border-bottom:1px solid rgba(0,0,0,.09);}
.nav-in{max-width:var(--wide);margin:0 auto;height:100%;padding:0 22px;display:flex;align-items:center;justify-content:space-between;gap:14px;}
.brand{display:flex;align-items:center;gap:9px;font-size:20px;font-weight:600;letter-spacing:-.02em;}
.brand .ic{width:30px;height:30px;flex:none;transition:transform .4s var(--ease);}
.brand:hover .ic{transform:scale(1.08) rotate(-3deg);}
.brand .ic img{width:100%;height:100%;object-fit:contain;}
.nav-right{display:flex;align-items:center;gap:20px;font-size:14px;}
.nav-right a{opacity:.82;transition:opacity .25s,color .25s;white-space:nowrap;}
.nav-right a:hover{opacity:1;color:var(--teal-dp);}
.nav-right .nav-cta{opacity:1;font-weight:500;padding:7px 16px;border-radius:980px;background:var(--ink);color:#fff;
  transition:transform .25s var(--ease);}
.nav-right .nav-cta:hover{transform:scale(1.04);color:#fff;}
@media (max-width:620px){ .nav-right .hide-sm{display:none;} }

/* header band */
/* same measure as .doc below it, so the title lines up with the body text */
.doc-hero{padding:132px 22px 54px;max-width:760px;margin:0 auto;}
/* support.html leads with the full-width card row, so its header matches that */
.doc-hero.wide{max-width:var(--wide);}
.doc-hero .eyebrow{font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  background:linear-gradient(96deg,var(--teal),var(--plum) 55%,var(--mag));
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.doc-hero h1{font-size:clamp(38px,6vw,68px);font-weight:600;letter-spacing:-.025em;line-height:1.05;margin-top:12px;max-width:16ch;}
.doc-hero .sub{margin-top:20px;font-size:clamp(17px,1.6vw,20px);color:var(--sub);max-width:62ch;line-height:1.5;}
.doc-hero .meta{margin-top:22px;font-size:13px;color:var(--sub);display:flex;gap:8px 20px;flex-wrap:wrap;}
.doc-hero .meta b{color:var(--ink);font-weight:600;}

/* body */
.doc{max-width:760px;margin:0 auto;padding:8px 22px 100px;}
.doc section{padding:34px 0;border-top:1px solid var(--hair);}
.doc section:first-child{border-top:0;}
.doc h2{font-size:clamp(21px,2.3vw,27px);font-weight:600;letter-spacing:-.02em;line-height:1.2;}
.doc h3{font-size:17px;font-weight:600;margin-top:22px;letter-spacing:-.01em;}
.doc p{margin-top:14px;font-size:17px;line-height:1.62;color:#3A3A3C;}
.doc p a,.doc li a{color:var(--teal-dp);text-decoration:underline;text-underline-offset:2px;}
.doc ul{margin:14px 0 0 20px;} .doc li{font-size:17px;line-height:1.62;color:#3A3A3C;margin-top:9px;}
.doc .note{margin-top:20px;background:#F5F5F7;border-radius:16px;padding:20px 22px;font-size:15.5px;line-height:1.6;color:var(--sub);}
.doc .note b{color:var(--ink);font-weight:600;}

/* table of contents */
.toc{background:#F5F5F7;border-radius:20px;padding:24px 26px;margin-bottom:12px;}
.toc h2{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--sub);}
.toc ol{margin:14px 0 0 18px;} .toc li{margin-top:7px;font-size:15.5px;}
.toc ol a{color:#3A3A3C;transition:color .2s;text-decoration:none;} .toc ol a:hover{color:var(--teal-dp);}

/* support-page extras */
.cards{max-width:var(--wide);margin:0 auto;padding:0 22px 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.ccell{background:#fff;border:1px solid var(--hair);border-radius:22px;padding:30px 28px;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;}
.ccell:hover{transform:translateY(-5px);box-shadow:0 26px 50px -26px rgba(0,0,0,.2);border-color:transparent;}
.ccell .ci{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  color:#fff;margin-bottom:18px;transition:transform .4s var(--ease);}
.ccell:hover .ci{transform:scale(1.09) rotate(-4deg);}
.ccell .ci svg{width:23px;height:23px;}
.ccell h3{font-size:20px;font-weight:600;letter-spacing:-.01em;}
.ccell p{margin-top:8px;font-size:15.5px;line-height:1.5;color:var(--sub);}
.ccell .link{margin-top:14px;font-size:16px;font-weight:500;color:var(--teal-dp);display:inline-flex;gap:3px;align-items:center;}
.ccell .link .c{transition:transform .3s var(--ease);} .ccell .link:hover .c{transform:translateX(3px);}
@media (max-width:900px){ .cards{grid-template-columns:1fr 1fr;} }
@media (max-width:600px){ .cards{grid-template-columns:1fr;} }

details.q{border-bottom:1px solid var(--hair);}
details.q summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;
  font-size:clamp(16px,1.6vw,19px);font-weight:600;letter-spacing:-.015em;line-height:1.35;transition:color .25s;}
details.q summary::-webkit-details-marker{display:none;}
details.q summary:hover,details.q[open] summary{color:var(--teal-dp);}
details.q summary::after,details.q summary::before{content:"";position:absolute;right:8px;top:50%;
  background:var(--ink);border-radius:2px;transition:transform .35s var(--ease),opacity .3s;}
details.q summary::after{width:14px;height:1.8px;margin-top:-.9px;}
details.q summary::before{width:1.8px;height:14px;right:14.1px;margin-top:-7px;}
details.q[open] summary::before{transform:rotate(90deg);opacity:0;}
.q-in{display:grid;grid-template-rows:0fr;transition:grid-template-rows .42s var(--ease);}
details.q[open] .q-in{grid-template-rows:1fr;}
.q-in>div{overflow:hidden;}
.q-in p{padding:0 40px 24px 0;font-size:16.5px;line-height:1.6;color:var(--sub);margin:0;}

/* footer */
footer{background:#F5F5F7;color:#6E6E73;font-size:12px;line-height:1.5;padding:52px 0 44px;}
.foot-in{max-width:var(--wide);margin:0 auto;padding:0 22px;}
.foot-note{border-bottom:1px solid #D2D2D7;padding-bottom:22px;margin-bottom:26px;max-width:78ch;}
.foot-cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px;padding-bottom:26px;border-bottom:1px solid #D2D2D7;}
.foot-col h4{font-size:12px;font-weight:600;color:var(--ink);margin-bottom:10px;}
.foot-col a,.foot-col span{display:block;color:#424245;padding:4px 0;font-size:12px;}
.foot-col a{transition:color .2s;} .foot-col a:hover{color:var(--teal-dp);}
.foot-brand{display:flex;align-items:center;gap:9px;font-size:17px;font-weight:600;color:var(--ink);letter-spacing:-.02em;margin-bottom:10px;}
.foot-brand .ic{width:26px;height:26px;flex:none;}
.foot-bot{margin-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}
@media (max-width:900px){ .foot-cols{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ .foot-cols{grid-template-columns:1fr;} }

/* reveal — same two styles as the home page */
.rv{opacity:0;transform:translateY(24px);filter:blur(5px);
  transition:opacity .95s var(--rev),transform .95s var(--rev),filter .95s var(--rev);}
.rv.in{opacity:1;transform:none;filter:blur(0);}
h1.rv{filter:none;clip-path:inset(-4% -8% 112% -8%);
  transition:opacity 1.05s var(--rev),transform 1.05s var(--rev),clip-path 1.05s var(--rev);}
h1.rv.in{clip-path:inset(-10% -8% -10% -8%);}
.rv.d1{transition-delay:.08s;} .rv.d2{transition-delay:.16s;}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto;}
  .rv,h1.rv{opacity:1;transform:none;filter:none;clip-path:none;}
}
@media print{
  nav,.skip,footer .foot-cols{display:none!important;}
  .rv{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;}
  .doc-hero{padding-top:20px;} .doc section{page-break-inside:avoid;}
}
