/* ==========================================================================
   Sentinel — brand design system
   Palette: deep blue #0D3B66 · teal #2EC4B6 · yellow #F4D35E ·
            off-white #F8F9FA · charcoal #1F2933
   ========================================================================== */
:root{
  --s-blue:#0D3B66;
  --s-blue-700:#0a2f52;
  --s-blue-600:#12508a;
  --s-blue-500:#1c66ad;
  --s-teal:#2EC4B6;
  --s-teal-600:#22a99c;
  --s-yellow:#F4D35E;
  --s-bg:#F8F9FA;
  --s-ink:#1F2933;
  --s-muted:#52606D;
  --s-line:#E4E9EF;
  --s-white:#ffffff;
  --s-radius:16px;
  --s-radius-sm:10px;
  --s-shadow:0 1px 2px rgba(15,40,70,.04), 0 12px 32px -12px rgba(15,40,70,.18);
  --s-shadow-lg:0 24px 60px -20px rgba(13,59,102,.35);
  --s-container:1140px;
}

/* ---- base ---------------------------------------------------------------- */
body.sentinel{
  background:var(--s-bg);
  color:var(--s-ink);
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  font-size:18px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
.sentinel h1,.sentinel h2,.sentinel h3,.sentinel h4,.sentinel .s-display{
  font-family:"Manrope","Inter",sans-serif;
  color:var(--s-ink);
  line-height:1.1;
  letter-spacing:-.02em;
  font-weight:800;
}
.sentinel a{color:var(--s-blue-500);}
.sentinel img{max-width:100%;height:auto;}

/* wrappers */
.s-section{padding:88px 24px;}
.s-section--tight{padding:60px 24px;}
.s-container{max-width:var(--s-container);margin-inline:auto;}
.s-narrow{max-width:760px;margin-inline:auto;}
.s-center{text-align:center;}

.s-eyebrow{
  display:inline-block;font-family:"Manrope",sans-serif;font-weight:700;
  font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--s-teal-600);
  margin:0 0 14px;
}
.s-section h2{font-size:clamp(30px,4vw,44px);margin:0 0 16px;}
.s-lead{font-size:20px;color:var(--s-muted);margin:0 auto;max-width:640px;}
.s-center .s-lead{margin-inline:auto;}

/* ---- buttons ------------------------------------------------------------- */
.s-btns{display:flex;flex-wrap:wrap;gap:14px;}
.s-center .s-btns{justify-content:center;}
.s-btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:"Manrope",sans-serif;font-weight:700;font-size:16px;
  padding:15px 26px;border-radius:999px;text-decoration:none;cursor:pointer;
  border:2px solid transparent;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.s-btn:hover{transform:translateY(-2px);}
.s-btn--primary{background:var(--s-teal);color:#04302c;box-shadow:0 10px 22px -8px rgba(46,196,182,.7);}
.s-btn--primary:hover{background:var(--s-teal-600);color:#04302c;}
.s-btn--blue{background:var(--s-blue);color:#fff;}
.s-btn--blue:hover{background:var(--s-blue-600);color:#fff;}
.s-btn--light{background:#fff;color:var(--s-blue);}
.s-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4);}
.s-btn--ghost:hover{background:rgba(255,255,255,.1);color:#fff;}
.s-btn--outline{background:transparent;color:var(--s-blue);border-color:var(--s-line);}
.s-btn--outline:hover{border-color:var(--s-blue);}

/* ---- hero ---------------------------------------------------------------- */
.s-hero{
  position:relative;overflow:hidden;color:#fff;
  background:radial-gradient(1200px 600px at 78% -10%,rgba(46,196,182,.35),transparent 60%),
             linear-gradient(150deg,var(--s-blue) 0%,var(--s-blue-700) 60%,#071f38 100%);
}
.s-hero:before{
  content:"";position:absolute;inset:0;opacity:.5;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(900px 500px at 70% 0%,#000,transparent 75%);
          mask-image:radial-gradient(900px 500px at 70% 0%,#000,transparent 75%);
}
.s-hero .s-container{position:relative;z-index:1;}
.s-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.s-hero h1{color:#fff;font-size:clamp(38px,5.4vw,62px);margin:0 0 20px;}
.s-hero h1 .hl{color:var(--s-yellow);}
.s-hero p.s-lead{color:rgba(255,255,255,.82);font-size:21px;max-width:560px;margin:0 0 30px;}
.s-hero .s-btns{margin-bottom:26px;}
.s-hero-meta{display:flex;flex-wrap:wrap;gap:10px 22px;color:rgba(255,255,255,.75);font-size:14.5px;}
.s-hero-meta span{display:inline-flex;align-items:center;gap:8px;}
.s-hero-meta span:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--s-teal);}

/* phone / pay card mockup */
.s-paycard{
  background:linear-gradient(160deg,#0f4a80,#0a2f52);border:1px solid rgba(255,255,255,.14);
  border-radius:24px;padding:26px;box-shadow:var(--s-shadow-lg);max-width:400px;margin-inline:auto;
}
.s-paycard .pc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;}
.s-paycard .pc-band{width:44px;height:44px;border-radius:12px;background:rgba(46,196,182,.18);display:flex;align-items:center;justify-content:center;}
.s-paycard .pc-band span{width:16px;height:16px;border-radius:50%;background:var(--s-yellow);box-shadow:0 0 0 5px rgba(46,196,182,.5);}
.s-paycard .pc-status{font-size:13px;color:var(--s-teal);font-weight:600;}
.s-paycard .pc-amount{font-family:"Manrope";font-weight:800;font-size:40px;color:#fff;letter-spacing:-.02em;}
.s-paycard .pc-sub{color:rgba(255,255,255,.6);font-size:14px;margin-top:2px;}
.s-paycard .pc-row{display:flex;justify-content:space-between;padding:14px 0;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.82);font-size:15px;}
.s-paycard .pc-row b{color:#fff;font-weight:600;}
.s-paycard .pc-tag{display:inline-block;margin-top:18px;background:rgba(46,196,182,.16);color:var(--s-teal);font-size:13px;font-weight:600;padding:7px 12px;border-radius:8px;}

/* ---- trust bar ----------------------------------------------------------- */
.s-trust{background:#fff;border-top:1px solid var(--s-line);border-bottom:1px solid var(--s-line);}
.s-trust .s-container{display:flex;flex-wrap:wrap;gap:14px 40px;justify-content:center;align-items:center;padding:22px 24px;}
.s-trust span{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;color:var(--s-ink);}
.s-trust svg{flex:none;color:var(--s-teal-600);}

/* ---- generic grid + cards ------------------------------------------------ */
.s-grid{display:grid;gap:22px;}
.s-grid--3{grid-template-columns:repeat(3,1fr);}
.s-grid--2{grid-template-columns:repeat(2,1fr);}
.s-card{background:#fff;border:1px solid var(--s-line);border-radius:var(--s-radius);padding:30px;box-shadow:var(--s-shadow);}
.s-card h3{font-size:21px;margin:0 0 10px;}
.s-card p{margin:0;color:var(--s-muted);font-size:16.5px;}
.s-ico{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;background:rgba(13,59,102,.07);color:var(--s-blue);}
.s-ico svg{width:26px;height:26px;}
.s-ico--teal{background:rgba(46,196,182,.14);color:var(--s-teal-600);}
.s-ico--yellow{background:rgba(244,211,94,.24);color:#a9791b;}

/* ---- steps --------------------------------------------------------------- */
.s-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:step;}
.s-step{position:relative;background:#fff;border:1px solid var(--s-line);border-radius:var(--s-radius);padding:32px 28px;box-shadow:var(--s-shadow);}
.s-step .num{width:44px;height:44px;border-radius:12px;background:var(--s-blue);color:#fff;font-family:"Manrope";font-weight:800;font-size:19px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.s-step h3{font-size:20px;margin:0 0 8px;}
.s-step p{margin:0;color:var(--s-muted);font-size:16px;}

/* ---- split feature ------------------------------------------------------- */
.s-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.s-split .s-eyebrow{margin-top:0;}
.s-list{list-style:none;margin:22px 0 0;padding:0;}
.s-list li{position:relative;padding:0 0 14px 34px;color:var(--s-ink);font-size:17px;}
.s-panel--blue .s-list li,.s-section--blue .s-list li,.s-secure .s-list li{color:rgba(255,255,255,.9);}
.s-list li:before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;
  background:var(--s-teal);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/16px no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/16px no-repeat;}
.s-panel{background:#fff;border:1px solid var(--s-line);border-radius:var(--s-radius);box-shadow:var(--s-shadow);padding:34px;}
.s-panel--blue{background:linear-gradient(160deg,var(--s-blue),var(--s-blue-700));color:#fff;border:none;}
.s-panel--blue h3,.s-panel--blue h2{color:#fff;}

/* ---- section tints ------------------------------------------------------- */
.s-section--white{background:#fff;}
.s-section--tint{background:linear-gradient(180deg,#fff, #eef3f8);}
.s-section--blue{background:var(--s-blue);color:#fff;}
.s-section--blue h2,.s-section--blue h3{color:#fff;}
.s-section--blue .s-lead{color:rgba(255,255,255,.8);}

/* ---- stats --------------------------------------------------------------- */
.s-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;}
.s-stat .n{font-family:"Manrope";font-weight:800;font-size:40px;color:var(--s-blue);letter-spacing:-.02em;}
.s-section--blue .s-stat .n{color:var(--s-yellow);}
.s-stat .l{color:var(--s-muted);font-size:15px;margin-top:4px;}
.s-section--blue .s-stat .l{color:rgba(255,255,255,.75);}

/* ---- audience cards ------------------------------------------------------ */
.s-aud{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.s-aud-card{border-radius:var(--s-radius);padding:32px;color:#fff;display:flex;flex-direction:column;min-height:260px;box-shadow:var(--s-shadow-lg);}
.s-aud-card h3{color:#fff;font-size:23px;margin:0 0 10px;}
.s-aud-card p{color:rgba(255,255,255,.85);margin:0 0 20px;flex:1;}
.s-aud-card .lnk{font-weight:700;color:#fff;text-decoration:none;font-family:"Manrope";}
.s-aud-card .lnk:after{content:" →";}
.s-aud--blue{background:linear-gradient(160deg,#12508a,#0a2f52);}
.s-aud--teal{background:linear-gradient(160deg,#2EC4B6,#12968b);}
.s-aud--teal p{color:rgba(255,255,255,.92);}
.s-aud--dark{background:linear-gradient(160deg,#243447,#141d29);}

/* ---- security band ------------------------------------------------------- */
.s-secure{background:radial-gradient(900px 500px at 15% 20%,rgba(46,196,182,.18),transparent 60%),linear-gradient(150deg,#0a2f52,#071f38);color:#fff;}
.s-secure .s-tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}
.s-secure .s-tags span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff;padding:9px 15px;border-radius:999px;font-size:14.5px;font-weight:600;}

/* ---- pricing ------------------------------------------------------------- */
.s-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch;}
.s-price-card{background:#fff;border:1px solid var(--s-line);border-radius:var(--s-radius);padding:32px;display:flex;flex-direction:column;box-shadow:var(--s-shadow);}
.s-price-card.pop{border:2px solid var(--s-teal);box-shadow:var(--s-shadow-lg);position:relative;}
.s-price-card.pop:before{content:"Most schools start here";position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--s-teal);color:#04302c;font-family:"Manrope";font-weight:700;font-size:12.5px;padding:6px 14px;border-radius:999px;white-space:nowrap;}
.s-price-card h3{font-size:20px;margin:0 0 6px;}
.s-price-card .desc{color:var(--s-muted);font-size:15px;margin:0 0 18px;min-height:44px;}
.s-price-card .price{font-family:"Manrope";font-weight:800;font-size:38px;color:var(--s-blue);letter-spacing:-.02em;}
.s-price-card .price small{display:block;font-family:"Inter";font-weight:500;font-size:14px;color:var(--s-muted);letter-spacing:0;}
.s-price-card ul{list-style:none;margin:20px 0 26px;padding:0;flex:1;}
.s-price-card ul li{position:relative;padding:0 0 12px 28px;font-size:15.5px;color:var(--s-ink);}
.s-price-card ul li:before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:50%;background:rgba(46,196,182,.16);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/13px no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/13px no-repeat;background-color:var(--s-teal-600);}
.s-note{font-size:14.5px;color:var(--s-muted);}

/* ---- table --------------------------------------------------------------- */
.s-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--s-line);border-radius:var(--s-radius);overflow:hidden;font-size:16px;}
.s-table th,.s-table td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--s-line);}
.s-table th{background:#f2f6fa;font-family:"Manrope";font-weight:700;color:var(--s-blue);}
.s-table td:last-child,.s-table th:last-child{text-align:right;}
.s-table tr:last-child td{border-bottom:none;}

/* ---- FAQ ----------------------------------------------------------------- */
.s-faq{max-width:800px;margin-inline:auto;}
.s-faq details{background:#fff;border:1px solid var(--s-line);border-radius:var(--s-radius-sm);margin-bottom:12px;padding:4px 8px;box-shadow:var(--s-shadow);}
.s-faq summary{list-style:none;cursor:pointer;padding:18px;font-family:"Manrope";font-weight:700;font-size:18px;color:var(--s-ink);display:flex;justify-content:space-between;align-items:center;gap:16px;}
.s-faq summary::-webkit-details-marker{display:none;}
.s-faq summary:after{content:"+";font-size:24px;color:var(--s-teal-600);font-weight:400;line-height:1;}
.s-faq details[open] summary:after{content:"–";}
.s-faq details p{margin:0;padding:0 18px 20px;color:var(--s-muted);font-size:16.5px;}

/* ---- CTA band ------------------------------------------------------------ */
.s-cta{background:radial-gradient(700px 400px at 80% 10%,rgba(46,196,182,.3),transparent 60%),linear-gradient(150deg,var(--s-blue),var(--s-blue-700));color:#fff;border-radius:26px;padding:56px;text-align:center;}
.s-cta h2{color:#fff;font-size:clamp(28px,3.6vw,40px);margin:0 0 12px;}
.s-cta p{color:rgba(255,255,255,.85);font-size:19px;max-width:520px;margin:0 auto 26px;}

/* ---- page hero (interior) ------------------------------------------------ */
.s-phero{background:linear-gradient(150deg,var(--s-blue),var(--s-blue-700));color:#fff;text-align:center;padding:80px 24px 72px;}
.s-phero h1{color:#fff;font-size:clamp(34px,4.6vw,52px);margin:0 0 14px;}
.s-phero p{color:rgba(255,255,255,.82);font-size:20px;max-width:640px;margin:0 auto;}
.s-phero .s-eyebrow{color:var(--s-yellow);}

/* ---- callout ------------------------------------------------------------- */
.s-callout{background:rgba(244,211,94,.16);border:1px solid rgba(244,211,94,.5);border-left:5px solid var(--s-yellow);border-radius:12px;padding:22px 26px;color:var(--s-ink);font-size:16.5px;}
.s-callout strong{color:var(--s-ink);}

/* ---- forms (Fluent Forms) ------------------------------------------------ */
.sentinel .fluentform .ff-el-input--label label{font-family:"Manrope";font-weight:600;color:var(--s-ink);}
.sentinel .fluentform input:not([type=submit]),.sentinel .fluentform textarea,.sentinel .fluentform select{
  border:1px solid var(--s-line)!important;border-radius:10px!important;padding:12px 14px!important;font-size:16px!important;background:#fff!important;}
.sentinel .fluentform input:focus,.sentinel .fluentform textarea:focus,.sentinel .fluentform select:focus{border-color:var(--s-teal)!important;box-shadow:0 0 0 3px rgba(46,196,182,.2)!important;}
.sentinel .fluentform .ff-btn-submit{background:var(--s-teal)!important;color:#04302c!important;border-radius:999px!important;font-family:"Manrope"!important;font-weight:700!important;padding:14px 28px!important;border:none!important;}
.sentinel .fluentform .ff-btn-submit:hover{background:var(--s-teal-600)!important;}

/* ==========================================================================
   Header / footer chrome
   ========================================================================== */
.wp-site-blocks{background:var(--s-bg);}
/* header */
.s-siteheader{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--s-line);}
.s-siteheader .wp-block-group.alignwide{padding-top:14px!important;padding-bottom:14px!important;}
.s-siteheader .wp-block-site-logo img{height:52px;width:auto;}
.s-siteheader .wp-block-site-logo{margin-right:8px;}
.s-siteheader .wp-block-navigation{font-family:"Manrope",sans-serif;font-weight:600;font-size:16px;}
.s-siteheader .wp-block-navigation a{color:var(--s-ink);}
.s-siteheader .wp-block-navigation a:hover{color:var(--s-blue);}
.s-siteheader .wp-block-navigation .current-menu-item a{color:var(--s-blue);}
.s-siteheader .wp-block-button__link{background:var(--s-teal)!important;color:#04302c!important;border-radius:999px!important;font-family:"Manrope";font-weight:700;padding:11px 22px!important;}
.s-siteheader .wp-block-button__link:hover{background:var(--s-teal-600)!important;}

/* footer */
.s-sitefooter{background:linear-gradient(180deg,#0a2f52,#071b31);color:rgba(255,255,255,.72);}
.s-sitefooter a{color:rgba(255,255,255,.72);text-decoration:none;}
.s-sitefooter a:hover{color:#fff;}
.s-foot{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding:64px 24px 30px;max-width:var(--s-container);margin-inline:auto;}
.s-foot img{height:34px;width:auto;margin-bottom:18px;}
.s-foot .blurb{max-width:300px;font-size:15.5px;line-height:1.6;}
.s-foot h4{color:#fff;font-family:"Manrope";font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 16px;}
.s-foot ul{list-style:none;margin:0;padding:0;}
.s-foot ul li{margin-bottom:10px;font-size:15.5px;}
.s-footbar{border-top:1px solid rgba(255,255,255,.12);max-width:var(--s-container);margin-inline:auto;padding:20px 24px 34px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:14px;color:rgba(255,255,255,.55);}
.s-footbar .safe{color:rgba(255,255,255,.7);}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:960px){
  .s-hero-grid,.s-split{grid-template-columns:1fr;gap:34px;}
  .s-hero .s-paycard{max-width:340px;}
  .s-grid--3,.s-steps,.s-aud,.s-price-grid{grid-template-columns:1fr;}
  .s-stats{grid-template-columns:repeat(2,1fr);gap:28px;}
  .s-foot{grid-template-columns:1fr 1fr;gap:32px;}
  .s-section{padding:64px 22px;}
  .s-cta{padding:40px 24px;}
}
@media (max-width:560px){
  .s-grid--2{grid-template-columns:1fr;}
  .s-foot{grid-template-columns:1fr;}
  body.sentinel{font-size:17px;}
}
