:root{
  --blue:#003594;
  --blue-deep:#00214F;
  --blue-tint:#E8EDF7;
  --yellow:#FFD100;
  --ink:#0A1B33;
  --slate:#4A5769;
  --concrete:#F1F3F6;
  --white:#FFFFFF;
  --line:#DCE1E8;
  --max:1200px;
  --r:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:'Barlow',system-ui,sans-serif;
  color:var(--ink);
  background:var(--white);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 24px}

/* ---------- type ---------- */
.display{
  font-family:'Big Shoulders Display',Impact,sans-serif;
  font-weight:800;
  line-height:.92;
  letter-spacing:-.01em;
  text-transform:uppercase;
}
h1.display{font-size:clamp(2.5rem,5.2vw,4.3rem)}
h2.display{font-size:clamp(2.3rem,4.6vw,3.6rem)}
h3.display{font-size:clamp(1.5rem,2.4vw,1.95rem)}
.eyebrow{
  font-family:'Barlow Condensed',sans-serif;
  font-weight:700;
  font-size:.82rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--blue);
}
.eyebrow.on-dark{color:var(--yellow)}
.lede{font-size:clamp(1.05rem,1.6vw,1.22rem);color:var(--slate);max-width:58ch}
.lede.on-dark{color:#C3CEE2}

/* ---------- hazard rule (brand motif, used sparingly) ---------- */
.hazard{
  height:7px;
  background:repeating-linear-gradient(115deg,var(--yellow) 0 16px,var(--blue) 16px 32px);
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:9px;
  font-family:'Barlow Condensed',sans-serif;
  font-weight:700;font-size:1.06rem;letter-spacing:.09em;text-transform:uppercase;
  padding:15px 30px;border-radius:8px;border:2px solid transparent;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease;
  cursor:pointer;white-space:nowrap;
}
.btn-primary{background:var(--yellow);color:var(--blue-deep);box-shadow:0 3px 0 #C9A500}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 5px 0 #C9A500}
.btn-primary:active{transform:translateY(1px);box-shadow:0 1px 0 #C9A500}
.btn-outline{border-color:rgba(255,255,255,.45);color:#fff}
.btn-outline:hover{background:#fff;color:var(--blue-deep);border-color:#fff}
.btn-ink{background:var(--blue);color:#fff}
.btn-ink:hover{background:var(--blue-deep);transform:translateY(-2px)}
a:focus-visible,button:focus-visible,summary:focus-visible{
  outline:3px solid var(--yellow);outline-offset:3px;border-radius:4px;
}

/* ---------- header ---------- */
.topbar{background:var(--blue-deep);color:#C3CEE2;font-size:.9rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;height:38px}
.topbar strong{color:#fff}
.topbar a:hover{color:var(--yellow)}
.topbar .lang{font-family:'Barlow Condensed',sans-serif;letter-spacing:.12em;text-transform:uppercase;font-weight:700}

header.site{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;height:76px}
.brand{display:flex;align-items:center;gap:12px}
.logo-mark{width:58px;height:58px;flex:0 0 auto;object-fit:contain}
.foot-brand{margin-bottom:18px}
.logo-chip{
  width:120px;height:120px;object-fit:contain;
  background:#fff;border-radius:50%;padding:9px;
  box-shadow:0 0 0 3px var(--yellow);
}
.brand-name{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;line-height:.86;font-size:1.4rem;color:var(--blue)}
.brand-name span{display:block;font-size:.74rem;letter-spacing:.3em;color:var(--ink);font-family:'Barlow Condensed',sans-serif;font-weight:700}
.brand-name .tm{font-size:.5rem;letter-spacing:0;vertical-align:super;margin-left:2px;font-weight:700}
.menu{display:flex;flex-wrap:nowrap;align-items:center;gap:17px;font-weight:600;font-size:.9rem;white-space:nowrap}
.menu a{padding:6px 0;border-bottom:2px solid transparent}
.menu a:hover{color:var(--blue);border-color:var(--yellow)}
.nav-cta{display:flex;align-items:center;gap:14px}
.phone-lg{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.24rem;
  letter-spacing:.02em;color:var(--blue);display:flex;align-items:center;gap:7px;white-space:nowrap;
}
.phone-lg:hover{color:var(--blue-deep)}
.burger{display:none;background:none;border:0;padding:8px;cursor:pointer}
.burger span{display:block;width:26px;height:3px;background:var(--blue);margin:5px 0;border-radius:2px}

/* ---------- hero ---------- */
.hero{background:var(--blue-deep);color:#fff;position:relative;overflow:hidden}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(900px 480px at 78% 18%,rgba(0,53,148,.85),transparent 70%),
    radial-gradient(700px 420px at 8% 92%,rgba(0,53,148,.55),transparent 70%);
}
.hero .wrap{position:relative;z-index:2;padding:78px 24px 92px;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero h1{margin:18px 0 20px}
.hero h1 em{font-style:normal;color:var(--yellow);display:block}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.hero-note{margin-top:20px;font-size:.95rem;color:#9FB1CC;display:flex;align-items:center;gap:8px}

/* trust strip */
.trust{border-top:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.16);position:relative;z-index:2}
.trust .wrap{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:22px 24px}
.trust div{text-align:center;padding:6px 4px}
.ts-row{display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:3px}
.ts-ico{width:23px;height:23px;flex:0 0 auto;opacity:.95}
.ts-stars{color:var(--yellow);font-size:.72rem;letter-spacing:1.5px;line-height:1;white-space:nowrap}
.trust b{white-space:nowrap;font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:2rem;color:var(--yellow);line-height:1}
.trust small{display:block;font-family:'Barlow Condensed',sans-serif;font-size:.86rem;letter-spacing:.15em;text-transform:uppercase;color:#B4C3DA}

/* ---------- SIGNATURE: the license application card ---------- */
.card-stage{position:relative;perspective:1400px;display:flex;justify-content:center;align-items:center}
.lic{
  position:relative;z-index:3;
  width:100%;max-width:430px;background:linear-gradient(160deg,#fff 0%,#F4F6FA 100%);
  border-radius:16px;color:var(--ink);position:relative;overflow:hidden;
  box-shadow:0 30px 70px rgba(0,0,0,.42),0 2px 0 rgba(255,255,255,.5) inset;
  transform:rotate(-1.2deg);
  animation:cardIn 1s cubic-bezier(.2,.8,.25,1) both;
}
@keyframes cardIn{from{opacity:0;transform:rotate(-1.2deg) translateY(28px)}}
.lic-top{background:var(--blue);color:#fff;padding:13px 20px;display:flex;justify-content:space-between;align-items:center}
.lic-top span{font-family:'Barlow Condensed',sans-serif;font-size:.7rem;letter-spacing:.13em;white-space:nowrap;text-transform:uppercase;font-weight:700}
.lic-top b{font-family:'Barlow Condensed',sans-serif;font-size:.72rem;letter-spacing:.16em;color:var(--yellow)}
.lic-body{padding:20px 20px 22px}
.lic-name{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:2.5rem;line-height:.9;text-transform:uppercase;color:var(--blue-deep)}
.lic-name .blank{color:#B9C2D0;letter-spacing:.04em}
.lic-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 14px;margin-top:22px;padding-top:18px;border-top:2px dashed #CBD3DF}
.lic-grid dt{font-family:'Barlow Condensed',sans-serif;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#7B879A;font-weight:700}
.lic-grid dd{font-family:'Barlow Condensed',sans-serif;font-size:1.04rem;white-space:nowrap;font-weight:700;color:var(--ink);letter-spacing:.04em;margin-top:2px}
.lic-foot{background:var(--yellow);padding:10px 20px;display:flex;justify-content:space-between;align-items:center}
.lic-foot span{font-family:'Barlow Condensed',sans-serif;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--blue-deep)}
.stamp{
  position:absolute;right:18px;bottom:56px;
  border:3px solid #1E7A3C;color:#1E7A3C;border-radius:8px;
  font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:1.5rem;
  letter-spacing:.06em;padding:5px 13px;transform:rotate(-11deg);opacity:.9;
  animation:stampIn .45s cubic-bezier(.2,1.6,.4,1) 1.15s both;
}
@keyframes stampIn{from{opacity:0;transform:rotate(-11deg) scale(2.4)}}
.card-caption{text-align:center;margin-top:20px;font-size:.86rem;color:#8FA2BE}

/* ---------- the license IS the form ---------- */
.lic form{display:block}
.lf-row{margin-top:12px}
.lf-row label{display:block;font-family:'Barlow Condensed',sans-serif;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#7B879A;font-weight:700;margin-bottom:3px}
.lf-row input,.lf-row select{
  width:100%;border:0;border-bottom:2px solid #CBD3DF;background:transparent;
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.06rem;
  color:var(--ink);letter-spacing:.03em;padding:5px 2px 6px;border-radius:0;
  -webkit-appearance:none;appearance:none;
}
.lf-row select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%237B879A' stroke-width='2' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 2px center;padding-right:20px}
.lf-row input::placeholder{color:#B9C2D0;font-weight:700}
.lf-row input:focus,.lf-row select:focus{outline:0;border-bottom-color:var(--blue)}
.lf-row input:invalid:not(:placeholder-shown){border-bottom-color:#C0392B}
.lf-name input{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:1.75rem;line-height:1.05;text-transform:uppercase;color:var(--blue-deep)}
.lf-name input::placeholder{color:#B9C2D0;letter-spacing:.03em}
.lf-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lf-consent{display:flex;gap:9px;align-items:flex-start;margin-top:16px;padding-top:14px;border-top:2px dashed #CBD3DF}
.lf-consent input{width:17px;height:17px;flex:0 0 auto;margin-top:2px;accent-color:var(--blue)}
.lf-consent span{font-size:.72rem;line-height:1.45;color:#6C788C}
.lf-consent a{color:var(--blue);text-decoration:underline}
.lf-submit{width:100%;margin-top:14px;border:0;cursor:pointer;font-size:1.05rem}
.lf-fine{margin-top:9px;font-size:.68rem;line-height:1.45;color:#8994A6;text-align:center}
.lf-done{display:none;padding:34px 20px 30px;text-align:center}
.lf-done h3{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:1.9rem;color:var(--blue-deep);margin-bottom:8px}
.lf-done p{font-size:.95rem;color:var(--slate)}
.lic.sent form{display:none}
.lic.sent .lf-done{display:block}
.lic.sent .stamp{top:auto;bottom:14px;right:14px;animation:stampIn .5s cubic-bezier(.2,1.6,.4,1) both}
.stamp{opacity:0}
.lic.sent .stamp{opacity:.9}

/* ---------- generic section ---------- */
.sec{padding:96px 0}
section[id]{scroll-margin-top:96px}
.sec-alt{background:var(--concrete)}
.sec-dark{background:var(--blue-deep);color:#fff}
.sec-head{max-width:760px;margin-bottom:48px}
.sec-head h2{margin:12px 0 16px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head.center .lede{margin:0 auto}

/* ---------- steps (real sequence, so numbers earn their place) ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.step{background:#fff;padding:32px 26px 34px;position:relative}
.step-n{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:3.2rem;color:var(--blue-tint);line-height:.8}
.step h3{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:1.42rem;margin:10px 0 8px;color:var(--blue-deep)}
.step p{font-size:.99rem;color:var(--slate)}
.step-time{margin-top:14px;display:inline-block;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);background:var(--blue-tint);padding:4px 10px;border-radius:4px}

/* ---------- pricing ---------- */
.sec-courses{
  background:
    radial-gradient(800px 400px at 50% 0%,rgba(0,53,148,.9),transparent 70%),
    var(--blue-deep);
  position:relative;
}
.sec-courses::before{
  content:"";position:absolute;top:0;left:0;right:0;height:7px;
  background:repeating-linear-gradient(115deg,var(--yellow) 0 16px,transparent 16px 32px);
  opacity:.55;
}
.plans{display:grid;grid-template-columns:1fr 1.18fr 1fr;gap:26px;align-items:center;padding-top:18px}
.plan{
  background:#fff;border-radius:16px;padding:36px 30px 30px;
  display:flex;flex-direction:column;
  box-shadow:0 10px 30px rgba(0,0,0,.28);
  transition:transform .2s ease,box-shadow .2s ease;
}
.plan:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(0,0,0,.36)}
.plan-term{font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:.9rem;color:var(--blue)}
.plan-price{font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:4.4rem;line-height:.86;margin:8px 0 6px;color:var(--blue-deep)}
.plan-price sup{font-size:1.6rem;vertical-align:super;font-weight:700}
.plan-sub{font-size:.95rem;color:var(--slate);margin-bottom:22px;min-height:52px}
.plan ul{list-style:none;display:grid;gap:11px;margin-bottom:28px}
.plan li{position:relative;padding-left:28px;font-size:.99rem;line-height:1.45}
.plan li::before{
  content:"";position:absolute;left:0;top:.45em;width:17px;height:17px;border-radius:50%;
  background:var(--blue-tint);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23003594' stroke-width='4' stroke-linecap='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
  background-size:11px;background-repeat:no-repeat;background-position:center;
}
.plan .btn{width:100%;justify-content:center;margin-top:auto}
.plan li.plan-bonus{margin-top:5px;padding-top:12px;border-top:1px dashed var(--line);color:var(--blue-deep)}
.plan li.plan-bonus::before{
  top:1.15em;background:#FFF3C4;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A5760B' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12v9H4v-9M2 7h20v5H2zM12 21V7M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7zM12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z'/%3E%3C/svg%3E");
  background-size:12px;
}

/* the gold one */
.plan-gold{
  background:linear-gradient(168deg,#FFDE4D 0%,#FFD100 42%,#F0B800 100%);
  padding:46px 34px 34px;position:relative;
  box-shadow:0 0 0 4px rgba(255,209,0,.28),0 26px 60px rgba(0,0,0,.45);
  transform:scale(1.02);
}
.plan-gold:hover{transform:scale(1.02) translateY(-6px)}
.plan-gold::after{
  content:"";position:absolute;inset:0;border-radius:16px;pointer-events:none;
  background:linear-gradient(115deg,transparent 44%,rgba(255,255,255,.32) 50%,transparent 56%);
}
.plan-tag{
  position:absolute;top:-16px;left:50%;transform:translateX(-50%);
  background:var(--blue-deep);color:var(--yellow);white-space:nowrap;
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.82rem;
  letter-spacing:.18em;text-transform:uppercase;padding:7px 18px;border-radius:6px;
  box-shadow:0 4px 14px rgba(0,0,0,.3);
}
.plan-gold .plan-term{color:var(--blue-deep)}
.plan-gold .plan-price{color:var(--blue-deep);font-size:5.2rem}
.plan-gold .plan-sub{color:#3A3007}
.plan-gold li{color:var(--blue-deep);font-weight:500}
.plan-gold li strong{font-weight:700}
.plan-gold li::before{
  background-color:rgba(0,33,79,.14);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300214F' stroke-width='4' stroke-linecap='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}
.btn-gold-cta{
  background:var(--blue-deep);color:#fff;
  box-shadow:0 4px 0 #00152F;font-size:1.14rem;padding:18px 30px;
  position:relative;z-index:2;
}
.btn-gold-cta:hover{background:#001838;transform:translateY(-2px);box-shadow:0 6px 0 #00152F}
.plan-foot{
  text-align:center;margin-top:14px;font-family:'Barlow Condensed',sans-serif;
  font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;
  color:#4A3D06;position:relative;z-index:2;
}
.plans-note{text-align:center;margin-top:40px;color:#B4C3DA;font-size:1rem}
.plans-note a{color:var(--yellow);font-weight:700;border-bottom:2px solid rgba(255,209,0,.45)}
.plans-note a:hover{border-color:var(--yellow)}


/* ---------- social ---------- */
.sec-social{background:var(--white)}
.social-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:12px}
.soc{
  border:1px solid var(--line);border-radius:16px;padding:26px 24px 24px;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  background:#fff;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.soc:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(10,27,51,.13);border-color:var(--blue)}

/* avatar with platform badge */
.soc-av{position:relative;width:92px;height:92px;margin-bottom:14px}
.soc-av-img{
  width:92px;height:92px;border-radius:50%;object-fit:cover;
  background:var(--concrete);border:3px solid #fff;
  box-shadow:0 0 0 3px var(--blue);display:block;
}
.soc-badge{
  position:absolute;right:-4px;bottom:-2px;width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;border:3px solid #fff;
}
.soc-badge svg{width:17px;height:17px;fill:#fff}
.soc-tt{background:#000}
.soc-ig{background:linear-gradient(45deg,#F9A03C,#E4405F 45%,#8A3AB9)}
.soc-yt{background:#FF0000}

.soc-handle{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.24rem;color:var(--blue-deep);word-break:break-word;line-height:1.15}
.soc-verified{display:inline-block;vertical-align:middle;width:15px;height:15px;margin-left:4px}
.soc-plat{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;color:var(--slate);margin-top:4px}
.soc-bio{font-size:.93rem;color:var(--slate);margin-top:12px;line-height:1.5}
.soc-btn{
  margin-top:18px;width:100%;justify-content:center;
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1rem;
  letter-spacing:.1em;text-transform:uppercase;padding:12px 20px;border-radius:8px;
  background:var(--blue);color:#fff;transition:background .16s ease,transform .16s ease;
}
.soc:hover .soc-btn{background:var(--blue-deep);transform:translateY(-1px)}


/* ---------- classifications hub ---------- */
.sec-class{background:var(--white)}
.cls-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.cls{
  display:flex;align-items:center;gap:12px;padding:14px 16px;
  border:1px solid var(--line);border-radius:10px;background:#fff;
  transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
.cls:hover{border-color:var(--blue);background:var(--blue-tint);transform:translateY(-2px)}
.cls b{
  font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:1.3rem;
  color:var(--blue);flex:0 0 auto;min-width:42px;line-height:1;
}
.cls span{font-size:.94rem;color:var(--ink);line-height:1.3}
.cls-more{text-align:center;margin-top:26px}

/* ---------- seo content block ---------- */
.seo-cols{display:grid;grid-template-columns:1fr 1fr;gap:44px}
.seo-cols h3{
  font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;
  font-size:1.5rem;color:var(--blue-deep);margin:26px 0 10px;
}
.seo-cols h3:first-child{margin-top:0}
.seo-cols p{color:var(--slate);margin-bottom:12px}
.seo-cols ul{margin:0 0 14px 20px;color:var(--slate)}
.seo-cols li{margin-bottom:7px}
.seo-cols a{color:var(--blue);font-weight:600;border-bottom:1px solid var(--yellow)}


/* ---------- contracts course (exclusive) ---------- */
.sec-contract{background:var(--blue-deep);color:#fff;position:relative;overflow:hidden}
.sec-contract::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(760px 420px at 22% 12%,rgba(0,53,148,.9),transparent 72%);
}
.ct-wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.06fr .94fr;gap:56px;align-items:center}
.ct-ribbon{
  display:inline-block;background:var(--yellow);color:var(--blue-deep);
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.84rem;
  letter-spacing:.2em;text-transform:uppercase;padding:8px 16px;border-radius:6px;margin-bottom:18px;
}
.ct-wrap h2{margin-bottom:16px}
.ct-list{list-style:none;display:grid;gap:12px;margin:26px 0 30px}
.ct-list li{position:relative;padding-left:32px;color:#D6DEEC;font-size:1rem;line-height:1.5}
.ct-list li::before{
  content:"";position:absolute;left:0;top:.3em;width:20px;height:20px;border-radius:5px;
  background:rgba(255,209,0,.16);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFD100' stroke-width='4' stroke-linecap='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
  background-size:12px;background-repeat:no-repeat;background-position:center;
}
.ct-list li strong{color:#fff;font-weight:600}
.ct-lang{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.ct-lang span{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.82rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--yellow);
  border:1px solid rgba(255,209,0,.45);border-radius:20px;padding:5px 14px;
}

/* the contract document visual */
.doc{
  background:#fff;border-radius:14px;color:var(--ink);overflow:hidden;max-width:430px;
  margin:0 auto;box-shadow:0 30px 70px rgba(0,0,0,.45);
  transform:rotate(1.2deg);
}
.doc-top{background:var(--blue);color:#fff;padding:14px 22px}
.doc-top b{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:1.15rem;letter-spacing:.02em;display:block;line-height:1.1}
.doc-top span{font-family:'Barlow Condensed',sans-serif;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--yellow)}
.doc-body{padding:22px}
.doc-row{margin-bottom:16px}
.doc-row dt{font-family:'Barlow Condensed',sans-serif;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:#7B879A;font-weight:700;margin-bottom:5px}
.doc-fill{height:19px;border-radius:4px;background:#E8ECF3}
.doc-fill.on{background:rgba(255,209,0,.55);box-shadow:0 0 0 2px rgba(255,209,0,.9)}
.doc-fill.w70{width:70%}.doc-fill.w45{width:45%}.doc-fill.w85{width:85%}
.doc-split{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.doc-clause{
  margin-top:6px;border-left:3px solid var(--yellow);background:#FFF9DE;
  padding:10px 12px;border-radius:0 6px 6px 0;
}
.doc-clause b{display:block;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#7A5C00;margin-bottom:3px;font-family:'Barlow Condensed',sans-serif}
.doc-clause span{font-size:.8rem;color:#4A5769;line-height:1.4}
.doc-foot{background:var(--concrete);padding:11px 22px;display:flex;justify-content:space-between}
.doc-foot span{font-family:'Barlow Condensed',sans-serif;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);font-weight:700}
.doc-cap{text-align:center;margin-top:18px;font-size:.85rem;color:#8FA2BE}

/* ---------- instructor authority ---------- */
.seen{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.seen span{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.82rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--blue);
  background:var(--blue-tint);border-radius:20px;padding:7px 16px;
}
.campeon{
  margin-top:24px;border-left:4px solid var(--yellow);padding:4px 0 4px 18px;
}
.campeon b{
  display:block;font-family:'Big Shoulders Display',sans-serif;font-weight:800;
  text-transform:uppercase;font-size:2rem;color:var(--blue-deep);line-height:1;
}
.campeon small{font-size:.95rem;color:var(--slate)}

/* ---------- services ---------- */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc{background:#fff;border:1px solid var(--line);border-left:4px solid var(--yellow);border-radius:10px;padding:28px 26px;transition:border-left-color .18s ease,transform .18s ease}
.svc:hover{border-left-color:var(--blue);transform:translateY(-3px)}
.svc h3{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:1.35rem;color:var(--blue-deep);margin-bottom:8px}
.svc p{font-size:.99rem;color:var(--slate)}
.svc a{display:inline-block;margin-top:14px;font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.85rem;color:var(--blue);border-bottom:2px solid var(--yellow);padding-bottom:2px}

/* ---------- instructor ---------- */
.instructor{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center}
.portrait{position:relative;border-radius:var(--r);overflow:hidden;background:var(--blue);aspect-ratio:4/5;display:grid;place-items:center}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;display:block}
.portrait::after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:repeating-linear-gradient(115deg,var(--yellow) 0 14px,transparent 14px 28px)}
.creds{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:26px}
.creds div{background:#fff;padding:18px 20px}
.creds b{display:block;font-family:'Big Shoulders Display',sans-serif;font-size:1.9rem;font-weight:800;color:var(--blue);line-height:1}
.creds small{font-family:'Barlow Condensed',sans-serif;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--slate)}

/* ---------- reviews ---------- */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.review{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--r);padding:28px 26px;display:flex;flex-direction:column}
.stars{color:var(--yellow);letter-spacing:3px;font-size:1.05rem;margin-bottom:14px}
.review p{color:#D6DEEC;font-size:1rem;flex:1}
.review cite{display:block;margin-top:18px;font-style:normal;font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.85rem;color:var(--yellow)}

/* ---------- locations ---------- */
.locs{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.loc{position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 20px 22px;transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}
.loc-art{
  height:88px;margin:0 -8px 16px;border-radius:9px;
  background:linear-gradient(180deg,#EDF1F9 0%,#E2E9F6 100%);
  display:grid;place-items:end center;overflow:hidden;
}
.loc-art svg{width:100%;height:100%;display:block}
/* PHOTO SLOT — add <img class="loc-photo" src="..." alt="..."> as the FIRST child of
   .loc-art and it replaces the drawing automatically. Recommended file: 800x360, JPG, <150KB. */
.loc-art{position:relative}
.loc-photo{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;display:block;z-index:2;
}
.loc-photo + svg{visibility:hidden}
.loc-art::after{
  content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,33,79,0) 55%,rgba(0,33,79,.28) 100%);
  opacity:0;transition:opacity .18s ease;
}
.loc:hover .loc-art::after{opacity:1}
.loc-art .ln{fill:none;stroke:#003594;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.loc-art .ln-thin{fill:none;stroke:#003594;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.loc-art .sun{fill:#FFD100}
.loc-art .fillblue{fill:#003594}
.loc-art .hill{fill:#C7D4EA}
.loc:hover .loc-art{background:linear-gradient(180deg,#E6EDFA 0%,#D8E3F5 100%)}
.loc-wide .loc-art{background:rgba(255,255,255,.12)}
.loc-wide .loc-art .ln,.loc-wide .loc-art .ln-thin{stroke:#FFD100}
.loc-wide .loc-art .hill{fill:rgba(255,255,255,.18)}
.loc-wide .loc-art .sun{fill:#FFD100}
.loc:hover{box-shadow:0 14px 30px rgba(10,27,51,.1);transform:translateY(-3px)}
.loc h3{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:1.3rem;color:var(--blue-deep);margin-bottom:6px}
.loc h3 a{color:inherit;text-decoration:none;border-bottom:2px solid transparent;transition:border-color .15s ease,color .15s ease}

/* Stretched link: the city-name anchor covers the whole card, so tapping
   anywhere on the card opens that city page. Keeps one real link in the
   markup (no nested anchors) and keeps the phone number separately tappable. */
.loc h3 a::after{content:"";position:absolute;inset:0;border-radius:12px;z-index:1}
.loc:has(h3 a){cursor:pointer}
.loc:has(h3 a):hover,.loc:has(h3 a):focus-within{border-color:var(--blue);box-shadow:0 10px 26px rgba(0,32,91,.13);transform:translateY(-3px)}
.loc:has(h3 a):hover h3 a,.loc h3 a:focus-visible{color:var(--blue);border-bottom-color:var(--yellow)}
.loc h3 a:focus-visible::after{outline:3px solid var(--blue);outline-offset:3px}

/* Phone sits above the stretched link so it still dials instead of navigating. */
.loc a.tel{position:relative;z-index:2}
.loc .art{position:relative;z-index:0}
.loc address{font-style:normal;font-size:.93rem;color:var(--slate);line-height:1.5}
.loc a.tel{display:inline-block;margin-top:10px;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.1rem;color:var(--blue);letter-spacing:.03em}
.loc a.tel:hover{color:var(--yellow);-webkit-text-stroke:.4px var(--blue)}
.hours{margin-top:26px;text-align:center;font-family:'Barlow Condensed',sans-serif;letter-spacing:.14em;text-transform:uppercase;font-size:.88rem;color:var(--slate)}

/* ---------- faq ---------- */
.faq{max-width:840px;margin:0 auto;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{
  list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;
  font-family:'Big Shoulders Display',sans-serif;font-weight:700;text-transform:uppercase;
  font-size:1.28rem;color:var(--blue-deep);
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-family:'Barlow',sans-serif;font-weight:400;font-size:1.9rem;color:var(--blue);line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details[open] summary{color:var(--blue)}
.faq p{padding:0 44px 24px 0;color:var(--slate);margin-top:-4px}

/* ---------- final cta ---------- */
.cta-band{background:var(--yellow);color:var(--blue-deep);text-align:center;padding:80px 0}
.cta-band h2{margin-bottom:14px}
.cta-band p{max-width:56ch;margin:0 auto 30px;font-size:1.1rem;color:#1B2F52}
.cta-band .btn-ink{box-shadow:0 3px 0 rgba(0,0,0,.28)}

/* ---------- footer ---------- */
footer.site{background:var(--blue-deep);color:#A8B8D0;padding:64px 0 0}
.foot{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px;padding-bottom:44px}
.foot h4{font-family:'Barlow Condensed',sans-serif;letter-spacing:.18em;text-transform:uppercase;font-size:.85rem;color:var(--yellow);margin-bottom:16px;font-weight:700}
.foot ul{list-style:none;display:grid;gap:9px;font-size:.96rem}
.foot a:hover{color:#fff}
.foot p{font-size:.96rem}
.foot-bottom{border-top:1px solid rgba(255,255,255,.13);padding:22px 0;font-size:.88rem;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* ---------- mobile call bar ---------- */
.callbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--blue);border-top:3px solid var(--yellow)}
.callbar a{flex:1;text-align:center;padding:15px 8px;font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:1rem;color:#fff}
.callbar a+a{background:var(--yellow);color:var(--blue-deep)}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1320px){
  .menu{gap:13px;font-size:.85rem}
  .phone-lg{display:none}
}
@media (max-width:1180px){
  .hero .wrap{grid-template-columns:1fr;gap:44px;padding:60px 24px 76px}
  .card-stage{min-height:0}
  .card-stage > div{align-items:center}
  .steps{grid-template-columns:repeat(2,1fr)}
  .plans{grid-template-columns:1fr;max-width:520px;margin:0 auto;gap:34px}
  .grid3{grid-template-columns:repeat(2,1fr)}
  .social-grid{grid-template-columns:1fr}
  .cls-grid{grid-template-columns:repeat(3,1fr)}
  .seo-cols{grid-template-columns:1fr;gap:0}
  .plan-gold{transform:none}
  .plan-gold:hover{transform:translateY(-6px)}
  .instructor{grid-template-columns:1fr;gap:36px}
  .portrait{max-width:400px;aspect-ratio:4/3}
  .reviews{grid-template-columns:1fr}
  .locs{grid-template-columns:repeat(2,1fr)}
  .foot{grid-template-columns:1fr 1fr}
  .menu,.phone-lg{display:none}
  .burger{display:block}
}
@media (max-width:640px){
  body{font-size:16px}

  /* Nav: the burger is the only control that fits alongside the brand.
     Keeping the Enroll button here pushed the header 81px past the viewport
     and gave every page a horizontal scrollbar. */
  .nav-cta .btn{display:none}
  .nav-cta{gap:0}

  /* Full-width buttons must respect the wrap padding. */
  .cta-band .btn,.cls-more .btn{width:100%;max-width:340px;justify-content:center}
  .btn{white-space:normal;text-align:center}

  /* The rotated contract mockup overflowed its column on narrow screens. */
  .doc{transform:none;max-width:100%}
  .ct-wrap{grid-template-columns:1fr;gap:32px}
  .lic-top{padding:11px 16px;gap:10px}
  .lic-foot{padding:10px 16px;gap:8px}
  .lic-foot span{font-size:.6rem;letter-spacing:.1em}
  .lic-top span{font-size:.62rem;letter-spacing:.1em}
  .lic-top b{font-size:.62rem;white-space:nowrap}
  .lf-two{grid-template-columns:1fr;gap:0}
  .lf-name input{font-size:1.55rem}
  .sec{padding:64px 0}
  .steps{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr}
  .social-grid{grid-template-columns:1fr}
  .cls-grid{grid-template-columns:repeat(2,1fr)}
  .locs{grid-template-columns:1fr}
  .plan-price{font-size:3.6rem}
  .plan-gold .plan-price{font-size:4.2rem}
  .logo-chip{width:100px;height:100px}
  .trust .wrap{grid-template-columns:1fr 1fr;gap:18px}
  .foot{grid-template-columns:1fr}
  .callbar{display:flex}
  body{padding-bottom:56px}
  .topbar .wrap{font-size:.82rem}
  .lic-name{font-size:2rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-delay:0s!important;transition-duration:.001ms!important}
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none}
}

/* ============================================================
   CLASSIFICATION PAGES
   Used by page-bcl-classification.php. Everything else on this
   sheet is shared with the homepage.
   ============================================================ */
.crumb{background:#fff;border-bottom:1px solid var(--line);font-family:'Barlow Condensed',sans-serif;font-size:.95rem;letter-spacing:.04em}
.crumb .wrap{display:flex;gap:9px;align-items:center;padding-top:11px;padding-bottom:11px;color:var(--slate)}
.crumb a{color:var(--blue);text-decoration:none}
.crumb a:hover{text-decoration:underline}
.crumb span[aria-current]{color:var(--ink);font-weight:700}

.cls-hero{background:linear-gradient(160deg,var(--blue-deep) 0%,#00296e 60%,var(--blue) 100%);color:#fff;padding:64px 0 72px}
.cls-hero .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center}
.cls-hero h1{font-size:clamp(2.4rem,5vw,4rem);line-height:.98}
.cls-code{display:inline-block;background:var(--yellow);color:var(--blue-deep);padding:2px 14px;border-radius:8px;margin-right:10px}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.hero-note{margin-top:18px;font-size:.95rem}

.cls-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:26px}
.cls-card h2{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:1.5rem;color:var(--yellow);margin-bottom:14px}
.cls-card dl{margin:0}
.cls-card dt{font-family:'Barlow Condensed',sans-serif;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-top:12px}
.cls-card dd{margin:2px 0 0;font-weight:600;font-size:1.02rem}
.cls-card .btn{width:100%;justify-content:center;margin-top:22px}

.wrap.narrow{max-width:860px}
h3.sub{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:1.45rem;color:var(--blue-deep);margin:34px 0 12px}
.ticks{list-style:none;display:grid;gap:10px;margin:0 0 6px;padding:0}
.ticks.two-col{grid-template-columns:1fr 1fr;gap:10px 26px}
.ticks li{position:relative;padding-left:30px;line-height:1.5}
.ticks li::before{content:"";position:absolute;left:0;top:.34em;width:19px;height:19px;border-radius:50%;background:var(--yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23001a4d' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat}

.reqs{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:26px}
.req{background:#fff;border:1px solid var(--line);border-left:4px solid var(--yellow);border-radius:10px;padding:20px 22px}
.req h3{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:1.2rem;color:var(--blue-deep);margin-bottom:6px}
.req p{margin:0;font-size:.97rem;color:var(--slate)}

.cls-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:12px;margin-top:24px}
.cls-tile{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;text-decoration:none;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}
.cls-tile:hover{border-color:var(--blue);transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,32,91,.12)}
.tile-code{display:block;font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:1.7rem;color:var(--blue);line-height:1}
.tile-name{display:block;font-family:'Barlow Condensed',sans-serif;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;color:var(--slate);font-weight:600;margin-top:3px}
.all-link{margin-top:24px}
.all-link a{font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);text-decoration:none}
.all-link a:hover{border-bottom:2px solid var(--yellow)}

@media (max-width:1024px){
  .cls-hero .wrap{grid-template-columns:1fr;gap:34px}
}
@media (max-width:760px){
  .ticks.two-col,.reqs{grid-template-columns:1fr}
  .cls-hero{padding:44px 0 52px}
  .cls-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}
}

/* ============================================================
   LEGAL PAGES — Terms & Conditions, Privacy Policy
   Used by page-bcl-legal.php
   ============================================================ */
.legal-hero{background:linear-gradient(160deg,var(--blue-deep) 0%,#00296e 65%,var(--blue) 100%);color:#fff;padding:52px 0 46px}
.legal-hero h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1}
.legal-date{margin-top:14px;font-family:'Barlow Condensed',sans-serif;font-size:1rem;letter-spacing:.13em;text-transform:uppercase;color:var(--yellow);font-weight:700}

.legal-body{padding-top:44px}
.legal-wrap{display:grid;grid-template-columns:250px 1fr;gap:52px;align-items:start}

/* sticky section jump list */
.legal-toc{position:sticky;top:96px}
.toc-title{font-family:'Barlow Condensed',sans-serif;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--slate);font-weight:700;margin-bottom:12px}
.legal-toc nav{display:grid;gap:1px;border-left:2px solid var(--line)}
.legal-toc nav a{display:block;padding:7px 0 7px 15px;margin-left:-2px;border-left:2px solid transparent;font-size:.92rem;color:var(--slate);text-decoration:none;line-height:1.35}
.legal-toc nav a:hover{color:var(--blue);border-left-color:var(--yellow)}
.toc-help{margin-top:26px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px}
.toc-help p{font-size:.9rem;color:var(--slate);margin-bottom:10px}
.toc-help .btn{width:100%;justify-content:center;font-size:.92rem}

.legal-doc{max-width:70ch}
.legal-intro{font-size:1.12rem;line-height:1.7;color:var(--ink);padding-bottom:26px;border-bottom:2px solid var(--line);margin-bottom:8px}
.legal-sec{padding:26px 0;border-bottom:1px solid var(--line);scroll-margin-top:110px}
.legal-sec h2{display:flex;gap:12px;align-items:baseline;font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:1.5rem;color:var(--blue-deep);margin-bottom:12px;line-height:1.05}
.legal-num{flex:0 0 auto;display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 7px;background:var(--yellow);color:var(--blue-deep);border-radius:7px;font-size:1.05rem;line-height:1}
.legal-sec h3{font-family:'Barlow Condensed',sans-serif;font-size:.86rem;letter-spacing:.15em;text-transform:uppercase;color:var(--blue);font-weight:700;margin:20px 0 7px}
.legal-sec p{margin-bottom:12px;line-height:1.68;color:var(--slate)}
.legal-sec p:last-child{margin-bottom:0}
.legal-list{list-style:none;display:grid;gap:9px;margin:10px 0 14px;padding:0}
.legal-list li{position:relative;padding-left:24px;color:var(--slate);line-height:1.6}
.legal-list li::before{content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--yellow)}
.legal-list a{color:var(--blue);text-decoration:underline}
.legal-callout{background:#FFF8DC;border-left:4px solid var(--yellow);border-radius:0 8px 8px 0;padding:15px 18px;font-weight:600;color:var(--ink)!important}

.legal-contact{padding:28px 0 6px}
.legal-contact h2{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:1.5rem;color:var(--blue-deep);margin-bottom:10px}
.legal-contact ul{list-style:none;display:grid;gap:8px;margin:12px 0 0;padding:0}
.legal-contact a{color:var(--blue);font-weight:600;text-decoration:none;border-bottom:2px solid var(--yellow)}
.legal-other{margin-top:24px;padding-top:20px;border-top:2px solid var(--line);color:var(--slate)}
.legal-other a{color:var(--blue);font-weight:600}

@media (max-width:980px){
  .legal-wrap{grid-template-columns:1fr;gap:30px}
  .legal-toc{position:static}
  .legal-toc nav{grid-template-columns:1fr 1fr;display:grid;border-left:0;border-top:2px solid var(--line);padding-top:8px}
  .legal-toc nav a{border-left:0;padding-left:0;margin-left:0}
  .legal-toc nav a:hover{border-left:0;text-decoration:underline}
  .toc-help{display:none}
}
@media (max-width:600px){
  .legal-toc nav{grid-template-columns:1fr}
  .legal-sec h2{font-size:1.3rem}
}

/* ============================================================
   SERVICE PAGES — contracts course, documents, websites & logos
   Used by page-bcl-service.php
   ============================================================ */
.svc-hero{background:linear-gradient(160deg,var(--blue-deep) 0%,#00296e 62%,var(--blue) 100%);color:#fff;padding:58px 0 64px}
.svc-hero .wrap{display:grid;grid-template-columns:1.3fr .7fr;gap:48px;align-items:center}
.svc-hero h1{font-size:clamp(2.3rem,5vw,4rem);line-height:1}
.svc-hero .lede{margin-top:16px}

.svc-price{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:24px}
.price-flag{background:var(--yellow);color:var(--blue-deep);font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;padding:7px 12px;border-radius:6px;margin-bottom:16px;line-height:1.35}
.price-label{font-family:'Barlow Condensed',sans-serif;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.price-figure{font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:2.8rem;color:var(--yellow);line-height:1;margin:2px 0 8px}
.price-note{font-size:.92rem;color:#C3D1E8;margin-bottom:18px}
.svc-price .btn{width:100%;justify-content:center}
.price-small{margin-top:12px;font-size:.8rem;color:rgba(255,255,255,.6);text-align:center}

.svc-blocks{display:grid;grid-template-columns:repeat(auto-fill,minmax(288px,1fr));gap:18px}
.svc-block{background:#fff;border:1px solid var(--line);border-left:4px solid var(--yellow);border-radius:10px;padding:22px 24px}
.svc-block h3{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:1.22rem;color:var(--blue-deep);margin-bottom:8px;line-height:1.1}
.svc-block p{margin:0;font-size:.97rem;color:var(--slate);line-height:1.6}

.svc-related{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}
.rel-card{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 22px;text-decoration:none;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}
.rel-card:hover{border-color:var(--blue);transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,32,91,.12)}
.rel-h{display:block;font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:1.15rem;color:var(--blue);line-height:1.1}
.rel-p{display:block;font-size:.93rem;color:var(--slate);margin-top:5px}

@media (max-width:1024px){ .svc-hero .wrap{grid-template-columns:1fr;gap:34px} }
@media (max-width:700px){ .svc-related{grid-template-columns:1fr} .svc-hero{padding:42px 0 48px} }

/* service page pricing tiers */
.tiers{display:grid;gap:18px;align-items:start}
.tiers-2{grid-template-columns:repeat(2,1fr);max-width:760px;margin:0 auto}
.tiers-4{grid-template-columns:repeat(4,1fr)}
.tier{background:#fff;border:2px solid transparent;border-radius:14px;padding:24px 22px;display:flex;flex-direction:column;height:100%;position:relative}
.tier-best{border-color:var(--yellow);box-shadow:0 18px 40px rgba(0,0,0,.22)}
.tier-flag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--yellow);color:var(--blue-deep);font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;padding:5px 14px;border-radius:5px;white-space:nowrap}
.tier-name{font-family:'Barlow Condensed',sans-serif;font-size:.86rem;letter-spacing:.15em;text-transform:uppercase;color:var(--slate);font-weight:700}
.tier-price{font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:2.6rem;color:var(--blue);line-height:1;margin:4px 0 8px}
.tier-for{font-size:.94rem;color:var(--slate);line-height:1.55;margin-bottom:14px}
.tier ul{list-style:none;display:grid;gap:9px;margin:0 0 20px;padding:0}
.tier li{position:relative;padding-left:26px;font-size:.94rem;line-height:1.5}
.tier li::before{content:"";position:absolute;left:0;top:.3em;width:17px;height:17px;border-radius:50%;background:var(--yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23001a4d' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/10px no-repeat}
.tier .btn{margin-top:auto;width:100%;justify-content:center}

.rules{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
.rule{background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:10px;padding:20px 22px}
.rule h3{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:1.12rem;color:var(--blue-deep);margin-bottom:6px}
.rule p{margin:0;font-size:.95rem;color:var(--slate);line-height:1.6}
.rule a{color:var(--blue);font-weight:600}

@media (max-width:900px){ .tiers-4{grid-template-columns:1fr 1fr} .rules{grid-template-columns:1fr} }
@media (max-width:560px){ .tiers-4,.tiers-2{grid-template-columns:1fr} }

/* ============================================================
   BRANDED DOCUMENT SAMPLES — personalized contracts page
   ============================================================ */
.doc-show{background:linear-gradient(180deg,#EEF2F8 0%,#fff 100%)}
.doc-chips{list-style:none;display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin:44px auto 0;padding:44px 0 0;max-width:840px;border-top:2px solid var(--line)}
.doc-chips li{background:#fff;border:1px solid var(--line);border-left:3px solid var(--yellow);border-radius:7px;padding:8px 14px;font-family:'Barlow Condensed',sans-serif;font-size:.86rem;letter-spacing:.05em;text-transform:uppercase;font-weight:700;color:var(--blue-deep)}
.doc-chips li.chip-alt{border-left-color:var(--blue);color:var(--blue)}
.doc-key{text-align:center;margin-top:16px;font-size:.86rem;color:var(--slate)}
.key-dot{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--yellow);vertical-align:middle}
.key-dot.key-alt{background:var(--blue)}

@media (max-width:760px){
  .doc-chips li{font-size:.78rem;padding:7px 11px}
}

/* brand variation samples — same doc, different company colors */
.brand-samples{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:920px;margin:38px auto 0}
.bsample{margin:0}
.bs-sheet{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden;box-shadow:0 14px 32px rgba(0,26,77,.14);transition:transform .18s ease,box-shadow .18s ease}
.bsample:hover .bs-sheet{transform:translateY(-5px);box-shadow:0 22px 44px rgba(0,26,77,.22)}
.bs-head{background:var(--bs-dark);color:#fff;padding:11px 12px;display:flex;align-items:center;gap:9px}
.bs-logo{flex:0 0 auto;width:34px;height:34px;border-radius:7px;background:var(--bs-accent);color:var(--bs-dark);display:grid;place-items:center;font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:.95rem;letter-spacing:.02em}
.bs-name{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:.92rem;line-height:1.05;display:grid}
.bs-name em{font-style:normal;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:.58rem;letter-spacing:.1em;color:rgba(255,255,255,.72);margin-top:2px}
.bs-body{padding:12px;display:grid;gap:7px}
.bs-lab{font-family:'Barlow Condensed',sans-serif;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:#8A94A6;font-weight:700}
.bs-line{display:block;height:7px;border-radius:4px;background:#E6EAF1}
.bs-line.bs-hi{background:var(--bs-accent);opacity:.85}
.bs-note{background:var(--bs-tint);border-left:3px solid var(--bs-accent);border-radius:0 5px 5px 0;padding:6px 8px;display:grid;gap:4px}
.bs-note b{font-family:'Barlow Condensed',sans-serif;font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bs-dark)}
.bs-note span{display:block;height:5px;width:80%;border-radius:3px;background:rgba(0,0,0,.10)}
.bs-foot{background:var(--bs-accent);color:var(--bs-dark);padding:6px 12px;display:flex;justify-content:space-between;font-family:'Barlow Condensed',sans-serif;font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.bsample figcaption{margin-top:10px;text-align:center;font-family:'Barlow Condensed',sans-serif;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);font-weight:600}
.brand-strip-note{text-align:center;margin-top:22px;font-size:.85rem;color:#8A94A6}

@media (max-width:820px){ .brand-samples{grid-template-columns:1fr;max-width:340px} }
.h1-sub{font-family:'Barlow Condensed',sans-serif;font-size:1.1rem;letter-spacing:.1em;text-transform:uppercase;color:var(--yellow);font-weight:700;margin-top:10px}
.price-was{font-size:1.5rem;color:rgba(255,255,255,.5);text-decoration-thickness:2px;margin-right:8px;font-weight:800}
.tier-was{font-size:1.35rem;color:#9AA5B5;text-decoration-thickness:2px;margin-right:9px;font-weight:800}
.tiers-1{grid-template-columns:1fr;max-width:460px;margin:0 auto}

/* ============================================================
   COURSE CURRICULUM — contracts course page
   ============================================================ */
.modules{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:8px}
.module{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 24px 20px}
.module header{display:flex;gap:14px;align-items:flex-start;padding-bottom:14px;border-bottom:2px solid var(--line);margin-bottom:14px}
.mod-n{flex:0 0 auto;width:38px;height:38px;border-radius:9px;background:var(--yellow);color:var(--blue-deep);display:grid;place-items:center;font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:1.4rem;line-height:1}
.module h3{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:1.3rem;color:var(--blue-deep);line-height:1.05}
.module header p{margin:4px 0 0;font-size:.9rem;color:var(--slate);line-height:1.45}
.lessons{list-style:none;display:grid;gap:9px;margin:0;padding:0}
.lesson{display:flex;gap:11px;align-items:flex-start;font-size:.95rem;line-height:1.45}
.lesson-kind{flex:0 0 auto;min-width:46px;text-align:center;font-family:'Barlow Condensed',sans-serif;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;padding:3px 7px;border-radius:5px;margin-top:1px}
.lesson-video .lesson-kind{background:var(--blue);color:#fff}
.lesson-pdf .lesson-kind{background:#FFF1B8;color:#7A5A00}
.lesson-title{color:var(--ink)}
.modules-note{text-align:center;margin-top:26px;font-family:'Barlow Condensed',sans-serif;font-size:1rem;letter-spacing:.06em;color:var(--slate)}

@media (max-width:860px){ .modules{grid-template-columns:1fr} }

/* course-keeps-growing note + legal disclaimer */
.modules-growing{max-width:70ch;margin:20px auto 0;text-align:center;font-size:.97rem;line-height:1.6;color:var(--slate)}
.grow-tag{display:inline-block;background:var(--yellow);color:var(--blue-deep);font-family:'Barlow Condensed',sans-serif;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;padding:4px 10px;border-radius:5px;margin-right:9px;vertical-align:1px}
.disclaimer-sec{padding-top:0}
.disclaimer{background:#F5F7FB;border:1px solid var(--line);border-left:5px solid var(--blue);border-radius:10px;padding:26px 30px}
.disclaimer h2{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:1.35rem;color:var(--blue-deep);margin-bottom:14px}
.disclaimer p{font-size:.94rem;line-height:1.7;color:var(--slate);margin-bottom:12px}
.disclaimer p:last-child{margin-bottom:0}
.disclaimer strong{color:var(--ink)}
.svc-related{grid-template-columns:repeat(2,1fr)}
@media (max-width:700px){ .svc-related{grid-template-columns:1fr} }

/* ============================================================
   HOMEPAGE — marketing (websites & logos) section
   ============================================================ */
.mk-wrap{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center}
.mk-art{position:relative}
.mk-browser{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 26px 56px rgba(0,26,77,.18)}
.mk-bar{background:#EDF1F7;padding:10px 14px;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line)}
.mk-bar span{width:9px;height:9px;border-radius:50%;background:#C9D2E0}
.mk-bar em{flex:1;margin-left:10px;background:#fff;border-radius:20px;padding:4px 12px;font-style:normal;font-family:'Barlow Condensed',sans-serif;font-size:.76rem;color:#8A94A6}
.mk-page{background:var(--blue-deep);padding:20px;color:#fff}
.mk-nav{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.mk-logo{width:30px;height:30px;border-radius:50%;background:var(--yellow);color:var(--blue-deep);display:grid;place-items:center;font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:1rem}
.mk-nav b{font-family:'Barlow Condensed',sans-serif;letter-spacing:.1em;text-transform:uppercase;font-size:.86rem}
.mk-h{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:1.6rem;line-height:1;margin-bottom:12px}
.mk-cta{display:inline-block;background:var(--yellow);color:var(--blue-deep);font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border-radius:5px}
.mk-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 14px}
.mk-cards i{display:block;height:56px;border-radius:7px;background:rgba(255,255,255,.10)}
.mk-lic{font-family:'Barlow Condensed',sans-serif;font-size:.72rem;letter-spacing:.12em;color:rgba(255,255,255,.62);margin:0}
.mk-badge{position:absolute;right:-14px;bottom:44px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px 16px;display:flex;gap:11px;align-items:center;box-shadow:0 16px 34px rgba(0,26,77,.20);max-width:270px}
.mk-pin{flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:var(--yellow);color:var(--blue-deep);display:grid;place-items:center;font-size:1rem}
.mk-badge b{display:block;font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:.95rem;color:var(--blue-deep);line-height:1.1}
.mk-badge em{font-style:normal;font-size:.8rem;color:var(--slate)}

@media (max-width:980px){ .mk-wrap{grid-template-columns:1fr;gap:36px} .mk-badge{position:static;margin:16px auto 0;max-width:none} }
