/* BoardingKit — boardingkit.com
   Values are BoardingKit's own Night Tide tokens, taken from the app's asset
   catalog, NOT from the WellKept Pet site (whose hex is a near-miss of these).
   Structure follows the WellKept site; colour does not. */

:root{
  /* app tokens */
  --night-tide:#193A46;   /* PrimaryBrand */
  --night-deep:#122B34;   /* darker brand, footer only — web-only shade */
  --terracotta:#C46F52;   /* Accent */
  --terra-deep:#A85B41;   /* hover only — web-only shade */
  --porcelain:#F6F1EA;    /* BackgroundCanvas */
  --cloud:#FFFDF8;        /* SurfaceCard */
  --ink:#202A31;          /* TextPrimary */
  --ink-soft:#646966;     /* TextSecondary */
  --stone:#878C88;        /* TextTertiary */
  --linen:#DED5C8;        /* Separator */
  --wash-warm:#F4DCC9;    /* WashWarm */
  --wash-cool:#D9E2E8;    /* WashCool */
  --sage:#41624C;         /* StatePositive */

  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,system-ui,"Segoe UI",sans-serif;
  --maxw:1140px;
  --readw:760px;
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; scroll-behavior:smooth; }
body{
  font-family:var(--sans); color:var(--ink-soft); background:var(--porcelain);
  line-height:1.72; font-size:18px;
}
::selection{ background:var(--wash-warm); color:var(--ink); }
a{ color:inherit; text-decoration:none; }
svg,img{ display:block; }

/* ---------- nav ---------- */
header.lnav{
  position:sticky; top:0; z-index:50;
  background:rgba(246,241,234,.82);
  backdrop-filter:saturate(160%) blur(16px);
  -webkit-backdrop-filter:saturate(160%) blur(16px);
  border-bottom:1px solid rgba(222,213,200,.7);
}
.lnav-inner{
  max-width:var(--maxw); margin:0 auto; padding:0 24px; height:64px;
  display:flex; align-items:center; justify-content:space-between;
}
.brand .name{
  font-family:var(--serif); font-size:1.32rem; font-weight:540;
  letter-spacing:-.01em; color:var(--ink);
}
.lnav-back{
  font-size:.92rem; font-weight:600; color:var(--night-tide);
  padding:9px 17px; border:1px solid var(--linen); border-radius:999px;
  transition:background .2s, border-color .2s;
}
.lnav-back:hover{ background:var(--cloud); border-color:var(--night-tide); }

/* ---------- shared type ---------- */
.eyebrow{
  display:inline-flex; align-items:center; gap:11px;
  font-size:.72rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.17em; color:var(--terracotta);
}
.eyebrow::before{ content:""; width:22px; height:1px; background:currentColor; opacity:.55; }

h1,h2,h3{ font-family:var(--serif); color:var(--ink); letter-spacing:-.018em; font-weight:460; }

/* ---------- legal + support pages ---------- */
main.legal{ max-width:var(--readw); margin:0 auto; padding:60px 24px 40px; }
main.legal h1{
  font-size:clamp(2.3rem,5vw,3.1rem); letter-spacing:-.02em;
  line-height:1.05; margin:16px 0 0;
}
.subtitle{ font-size:1.12rem; color:var(--ink-soft); margin-top:14px; }
.effective{
  font-size:.86rem; color:var(--stone); letter-spacing:.02em;
  margin-top:18px; padding-bottom:30px; border-bottom:1px solid var(--linen);
}
.doc{ margin-top:34px; }
.doc > p{ margin:0 0 1.15rem; }
.doc h2{
  font-weight:500; font-size:1.5rem; letter-spacing:-.012em;
  line-height:1.25; margin:2.6rem 0 .7rem;
}
.doc strong{ color:var(--ink); font-weight:600; }
.doc a{
  color:var(--terracotta); font-weight:500;
  border-bottom:1px solid rgba(196,111,82,.35);
  transition:color .2s, border-color .2s;
}
.doc a:hover{ color:var(--terra-deep); border-bottom-color:var(--terra-deep); }

.doc-foot{
  margin-top:3.4rem; padding-top:1.7rem; border-top:1px solid var(--linen);
  display:flex; flex-wrap:wrap; gap:14px; justify-content:space-between; align-items:center;
}
.doc-foot a{
  font-size:.95rem; font-weight:600; color:var(--night-tide);
  padding:11px 20px; border:1px solid var(--linen); border-radius:14px;
  transition:background .2s, border-color .2s;
}
.doc-foot a:hover{ background:var(--cloud); border-color:var(--night-tide); }

/* ---------- support ---------- */
.card{
  background:var(--cloud); border:1px solid var(--linen); border-radius:18px;
  padding:26px 28px; margin:0 0 18px;
  box-shadow:0 6px 20px rgba(25,58,70,.05);
}
.card h2{ font-size:1.32rem; font-weight:500; margin:0 0 .5rem; }
.card p{ margin:0 0 .8rem; }
.card p:last-child{ margin-bottom:0; }
.card a{
  color:var(--terracotta); font-weight:600;
  border-bottom:1px solid rgba(196,111,82,.35);
}
.card a:hover{ color:var(--terra-deep); }
.faq dt{ font-weight:600; color:var(--ink); margin-top:1.4rem; }
.faq dt:first-child{ margin-top:0; }
.faq dd{ margin:.3rem 0 0; }

/* ---------- minimal landing ---------- */
.hero{
  position:relative; overflow:hidden;
  background:linear-gradient(168deg, var(--wash-warm) 0%, #FBF7F0 45%, var(--wash-cool) 100%);
  border-bottom:1px solid var(--linen);
}
.hero-inner{ max-width:var(--readw); margin:0 auto; padding:104px 24px 96px; text-align:center; }
.hero h1{
  font-size:clamp(2.6rem,6vw,4rem); line-height:1.02;
  letter-spacing:-.022em; margin:20px 0 22px;
}
.hero h1 em{ color:var(--terracotta); font-style:italic; }
.hero p.lede{ font-size:1.18rem; color:var(--ink-soft); max-width:520px; margin:0 auto; }
.hero .links{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:34px; }
.btn-primary{
  display:inline-flex; align-items:center; font-family:var(--sans);
  font-size:.95rem; font-weight:600; color:var(--cloud);
  background:var(--night-tide); padding:12px 24px; border-radius:999px;
  box-shadow:0 6px 18px rgba(25,58,70,.24);
  transition:transform .18s ease, box-shadow .25s ease;
}
.btn-primary:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(25,58,70,.32); }
.btn-quiet{
  display:inline-flex; align-items:center; font-size:.95rem; font-weight:600;
  color:var(--night-tide); padding:12px 24px;
  border:1px solid var(--linen); border-radius:999px; background:rgba(255,253,248,.6);
  transition:background .2s, border-color .2s;
}
.btn-quiet:hover{ background:var(--cloud); border-color:var(--night-tide); }
.plain{ max-width:var(--readw); margin:0 auto; padding:64px 24px 72px; }

/* ---------- footer ---------- */
footer.lfoot{ background:var(--night-deep); color:rgba(246,241,234,.6); }
.lfoot-inner{
  max-width:var(--maxw); margin:0 auto; padding:30px 24px;
  display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between;
  align-items:center; font-size:.92rem;
}
.lfoot-inner a{ color:rgba(246,241,234,.75); }
.lfoot-inner a:hover{ color:var(--cloud); }
.lfoot-inner .site{ font-family:var(--serif); font-style:italic; color:rgba(246,241,234,.7); }
.lfoot-links{ display:flex; gap:20px; flex-wrap:wrap; }

@media (max-width:680px){
  body{ font-size:17px; }
  main.legal{ padding:44px 22px 32px; }
  .doc h2{ font-size:1.34rem; }
  .hero-inner{ padding:72px 22px 68px; }
}
