:root{
  /* Plum + dusty rose -- matches the FGLM Career Institute logo/banner */
  --pink:#b5697c;        /* dusty rose accent */
  --pink-soft:#d99bab;
  --purple:#7a3556;      /* mauve-plum -- primary */
  --purple-deep:#4a1f3d; /* deep plum */
  --ink:#2f1626;
  --paper:#fdf6f5;       /* warm blush background */
  --cloud:#f8e6ea;       /* blush tint for section backgrounds */
  --line:#eeccd6;
  --radius:14px;
  --max:1080px;
  font-size:17px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"Inter",-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.55;
}

a{color:var(--purple-deep);}
img{max-width:100%;display:block;}

.wrap{max-width:var(--max);margin:0 auto;padding:0 24px;}

/* ---------- Header ---------- */
header.site{
  background:var(--paper);
  border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:20;
}
header.site .wrap{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:14px;padding-bottom:14px;gap:20px;
}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);}
.brand img{height:46px;width:auto;}
.brand-text{font-weight:700;font-size:1.02rem;line-height:1.2;}
.brand-text small{display:block;font-weight:500;font-size:.72rem;color:var(--purple-deep);letter-spacing:.02em;}

nav.primary{display:flex;gap:26px;align-items:center;flex-wrap:wrap;}
nav.primary a{
  text-decoration:none;color:var(--ink);font-weight:600;font-size:.95rem;
  padding:6px 2px;border-bottom:2px solid transparent;
}
nav.primary a:hover,nav.primary a.active{border-bottom-color:var(--pink);}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;
  padding:13px 26px;
  border-radius:999px;
  font-weight:700;
  text-decoration:none;
  font-size:.96rem;
  border:2px solid transparent;
  transition:transform .15s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary{
  background:linear-gradient(120deg,var(--pink) 0%,var(--purple) 100%);
  color:#fff;
}
.btn-outline{
  background:transparent;
  border-color:var(--purple-deep);
  color:var(--purple-deep);
}
.btn-disabled{
  background:var(--cloud);
  color:#a8889a;
  border-color:var(--line);
  cursor:not-allowed;
}
.btn-disabled:hover{transform:none;}

/* ---------- Portal placeholder ---------- */
.portal-placeholder{
  display:inline-block;
  max-width:46ch;
  background:rgba(255,255,255,.14);
  border:1px dashed rgba(255,255,255,.55);
  border-radius:var(--radius);
  padding:18px 22px;
  margin-top:6px;
}
.portal-placeholder-label{
  display:inline-block;font-weight:700;font-size:.78rem;letter-spacing:.04em;
  text-transform:uppercase;color:#fff;background:rgba(0,0,0,.18);
  padding:4px 12px;border-radius:999px;margin-bottom:10px;
}
.portal-placeholder p{margin:0;font-size:.95rem;color:#fff;opacity:.92;}

/* ---------- Hero ---------- */
.hero{
  background:linear-gradient(135deg,var(--pink) 0%,var(--purple) 65%,var(--purple-deep) 100%);
  color:#fff;
  padding:64px 0 72px;
}
.hero h1{
  font-size:clamp(2rem,4vw,3rem);
  margin:0 0 14px;
  max-width:18ch;
}
.hero p.lede{
  font-size:1.15rem;max-width:52ch;color:#fbeafd;margin:0 0 28px;
}
.hero .actions{display:flex;gap:14px;flex-wrap:wrap;}
.hero .btn-outline{border-color:#fff;color:#fff;}

/* ---------- Cards / sections ---------- */
section{padding:56px 0;}
section.tint{background:var(--cloud);}
h2.section-title{font-size:1.7rem;margin:0 0 8px;}
p.section-sub{color:#5c4550;margin:0 0 34px;max-width:60ch;}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
@media (max-width:760px){.grid-2{grid-template-columns:1fr;}}

.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:30px;
}
.card .eyebrow{
  display:inline-block;font-weight:700;font-size:.78rem;
  color:var(--purple-deep);background:var(--cloud);
  padding:4px 12px;border-radius:999px;margin-bottom:14px;
}
.card h3{margin:0 0 6px;font-size:1.35rem;}
.card .powered{font-weight:600;color:var(--purple-deep);font-size:.92rem;margin-bottom:14px;}
.card p{color:#4a3540;}
.card .btn{margin-top:16px;}

/* ---------- Disclosure boxes ---------- */
.disclosure{
  background:#fff;
  border:1px solid var(--line);
  border-left:5px solid var(--pink);
  border-radius:10px;
  padding:22px 26px;
  margin:18px 0;
}
.disclosure h4{margin:0 0 8px;font-size:1.05rem;}
.disclosure p,.disclosure li{color:#4a3540;}

.status-pending{
  display:inline-block;font-weight:700;font-size:.82rem;
  color:#8a5200;background:#fff1d6;border:1px solid #ffdb9c;
  padding:5px 12px;border-radius:999px;margin-bottom:10px;
}

/* ---------- Table ---------- */
table.plain{width:100%;border-collapse:collapse;margin:18px 0;}
table.plain th,table.plain td{
  text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);
  font-size:.95rem;
}
table.plain th{color:var(--purple-deep);}

/* ---------- Footer ---------- */
footer.site{
  background:var(--ink);
  color:#ecdfe4;
  padding:44px 0 30px;
  margin-top:40px;
}
footer.site a{color:#e3a8bb;text-decoration:none;}
footer.site .cols{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;}
footer.site .cols div{min-width:200px;}
footer.site h5{margin:0 0 10px;font-size:.9rem;color:#fff;}
footer.site p, footer.site li{font-size:.88rem;color:#d9c3cc;}
footer.site ul{list-style:none;padding:0;margin:0;}
footer.site li{margin-bottom:6px;}
.fine{margin-top:30px;font-size:.78rem;color:#a8889a;text-align:center;}

/* ---------- Accessibility ---------- */
.skip-link{
  position:absolute;left:-9999px;top:auto;
  background:var(--ink);color:#fff;padding:12px 18px;
  border-radius:0 0 8px 0;z-index:100;text-decoration:none;font-weight:700;
}
.skip-link:focus{left:0;top:0;}

a:focus-visible,button:focus-visible,.btn:focus-visible{
  outline:3px solid var(--purple-deep);
  outline-offset:3px;
}

/* ---------- Compliance page ---------- */
.portal-nav{background:var(--cloud);border-bottom:1px solid var(--line);border-top:1px solid var(--line);}
.portal-nav-inner{display:flex;gap:14px;flex-wrap:wrap;padding:18px 24px;}

.code-badge{
  display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.78rem;font-weight:700;color:#fff;
  background:var(--purple-deep);padding:4px 10px;border-radius:6px;
  margin-bottom:10px;letter-spacing:.02em;
}

.field-placeholder{
  background:#fff1d6;color:#7a5200;border:1px dashed #d9a441;
  padding:1px 6px;border-radius:4px;font-size:.92em;
}

.disclosure h3{margin:0 0 10px;font-size:1.15rem;}
.disclosure h4{margin:16px 0 6px;font-size:.95rem;color:var(--purple-deep);}
.disclosure ul,.disclosure ol{margin:0 0 12px;padding-left:22px;color:#4a3540;}
.disclosure li{margin-bottom:4px;}

/* ---------- Gate / path chooser ---------- */
.gate-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px;
}
@media (max-width:760px){.gate-grid{grid-template-columns:1fr;}}
.gate-choice{
  display:block;text-decoration:none;
  background:rgba(255,255,255,.12);
  border:2px solid rgba(255,255,255,.35);
  border-radius:var(--radius);
  padding:26px 24px;
  transition:transform .15s ease, background .15s ease;
}
.gate-choice:hover{background:rgba(255,255,255,.2);transform:translateY(-2px);}
.gate-choice .gate-label{
  display:block;font-size:.78rem;font-weight:700;letter-spacing:.02em;
  color:#fbeafd;margin-bottom:6px;
}
.gate-choice h2{margin:0 0 8px;color:#fff;font-size:1.4rem;}
.gate-choice p{margin:0;color:#f6e4f9;font-size:.95rem;}

/* ---------- Typography ---------- */
h1,h2,h3,.brand-text,.card h3,.gate-choice h2{
  font-family:"Newsreader",Georgia,"Times New Roman",serif;
}

/* ---------- Utility ---------- */
.note{
  font-size:.88rem;color:#5c6960;background:var(--cloud);
  border-radius:10px;padding:12px 16px;margin-top:18px;
}

/* ---------- Three-pathway layouts ---------- */
.gate-grid-3{grid-template-columns:repeat(3,1fr);}
@media (max-width:900px){.gate-grid-3{grid-template-columns:1fr;}}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
@media (max-width:900px){.grid-3{grid-template-columns:1fr;}}
.portal-row{display:flex;gap:20px;flex-wrap:wrap;align-items:stretch;}
.portal-row .portal-placeholder{flex:1 1 300px;margin-top:6px;}
.portal-btn{margin-top:14px;background:#fff;color:var(--purple-deep);}
