/* ==========================================================
   INSTRUCTOR DARYL — shared legal page theme
   ----------------------------------------------------------
   ONE FILE controls the look of privacy.html, terms.html and
   booking-terms.html. When the brand palette is confirmed,
   change the six values in :root below and all three pages
   update. Do not edit colours anywhere else.
   ========================================================== */

:root{
  /* ---- BRAND PALETTE — sampled from the Instructor Daryl logo ----
     --accent      #FF0000  L-plate red, for marks and rules only
     --accent-dark #D40000  darkened red for text/links, so it passes
                            WCAG AA contrast on cream and white
     --------------------------------------------------------------- */
  --navy:#000E3D;
  --navy-2:#0A1A4D;
  --navy-3:#061436;
  --accent:#FF0000;
  --accent-dark:#B00000;
  --mist:#F5F3EA;
  --line:#E2E0D6;
  /* ---------------------------------------------------- */

  --cream:#FCFBF5;
  --ink:#141A2B;
  --muted:#5A6472;
  --radius:12px;
  --max:820px;
  --font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;font-family:var(--font);color:var(--ink);background:var(--cream);
  font-size:16.5px;line-height:1.7;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

a{color:var(--accent-dark)}
a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:5px}

.skip{position:absolute;left:-9999px;background:#D40000;color:#fff;padding:12px 18px;font-weight:700;z-index:99}
.skip:focus{left:12px;top:12px}

/* ---- header ---- */
header.site{background:var(--navy);color:#fff;border-bottom:3px solid var(--accent);position:sticky;top:0;z-index:50}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px}
.brand{color:#fff;font-weight:800;text-decoration:none;letter-spacing:-.01em;display:block}
.brand span{color:var(--accent)}
.brand img{height:42px;width:auto}
@media (max-width:600px){.brand img{height:34px}}
.foot-logo{height:52px;width:auto;margin:0 0 16px}
header.site nav a{color:#C9D4E2;text-decoration:none;font-size:.92rem;margin-left:22px}
header.site nav a:hover{color:#fff}
@media (max-width:600px){header.site nav a{margin-left:14px;font-size:.85rem}}

/* ---- title block ---- */
.title{background:var(--navy-2);color:#fff;padding:48px 0 42px}
.title h1{margin:0 0 10px;font-size:clamp(1.8rem,4.5vw,2.6rem);font-weight:800;letter-spacing:-.02em;line-height:1.15}
.title p{margin:0;color:#AFC0D2;font-size:.95rem}
/* sits on the dark .title block — lightened so small caps still pass AA */
.eyebrow{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#FF6B6B;margin-bottom:12px}

/* ---- content ---- */
main{padding:52px 0 72px}
h2{
  font-size:1.28rem;font-weight:750;letter-spacing:-.01em;margin:44px 0 14px;
  padding-top:22px;border-top:1px solid var(--line);
}
h2:first-of-type{border-top:0;padding-top:0;margin-top:0}
h3{font-size:1.02rem;font-weight:700;margin:26px 0 8px}
p{margin:0 0 1em}
ul,ol{margin:0 0 1.1em;padding-left:22px}
li{margin-bottom:.5em}
strong{color:var(--ink)}

.clause{color:var(--muted)}
.clause strong{color:var(--ink)}

/* ---- callouts ---- */
.box{border-radius:var(--radius);padding:18px 20px;margin:22px 0;font-size:.95rem}
.box p:last-child{margin-bottom:0}
.box h3{margin-top:0}
.box--key{background:#FFF8E9;border:1px solid #F0DBA8;color:#5E4712}
.box--key strong{color:#3F2F08}
.box--info{background:var(--mist);border:1px solid var(--line);color:var(--muted)}
.box--info strong{color:var(--ink)}
.box--law{background:#EEF4FB;border:1px solid #C9DCF0;color:#22405E}
.box--law strong{color:#12293F}

.toc{background:var(--mist);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;margin:0 0 44px}
.toc h2{border:0;padding:0;margin:0 0 12px;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.toc ol{columns:2;column-gap:32px;margin:0;padding-left:20px;font-size:.93rem}
@media (max-width:600px){.toc ol{columns:1}}
.toc a{text-decoration:none}
.toc a:hover{text-decoration:underline}

table{width:100%;border-collapse:collapse;margin:0 0 1.4em;font-size:.92rem}
th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{background:var(--mist);font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}

.meta{font-size:.85rem;color:var(--muted);border-left:3px solid var(--accent);padding-left:16px;margin:0 0 38px}

/* ---- footer ---- */
footer.site{background:var(--navy-3);color:#8FA0B4;font-size:.85rem;padding:42px 0 34px}
footer.site a{color:#C9D4E2;text-decoration:none}
footer.site a:hover{text-decoration:underline}
footer.site h4{color:#fff;font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;margin:0 0 12px;font-weight:700}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr;gap:26px}}
.foot-grid p{margin:0 0 .6em;line-height:1.6}
.foot-list{list-style:none;padding:0;margin:0}
.foot-list li{margin-bottom:8px}
.legal-strip{border-top:1px solid rgba(255,255,255,.1);margin-top:34px;padding-top:22px;font-size:.78rem;color:#7D8CA8;line-height:1.65}

@media print{
  header.site,footer.site,.toc,.skip{display:none}
  body{font-size:11pt;color:#000}
  .title{background:none;color:#000;padding:0 0 18px;border-bottom:2px solid #000}
  .title h1,.title p{color:#000}
  a{color:#000;text-decoration:underline}
  h2{page-break-after:avoid}
}
