/*
Theme Name: Ridge Starter Kit 652
Author: Alex Media
Description: Starter theme with built-in accessibility support.
Version: 1.11.3
Requires at least: 6.0
License URI: http://www.gnu.org/licenses/gpl-2.0.html
License: GNU General Public License v2 or later
Text Domain: ridge-starter-kit-652
Tags: education, right-sidebar
*/

@import url('https://fonts.googleapis.com/css2?family=Spectral:wght@500;600;700&family=IBM+Plex+Sans:wght@400;500;600&display=swap');
:root{
  --ink:#16263a; --muted:#5a6b7b; --accent:#1f6f7a; --accent-2:#0f4d56;
  --bg:#fbfbf8; --surface:#ffffff; --line:#dcdfd6; --info:#eef4f4; --warn:#f6f1e7;
  --maxw:900px; --radius:6px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;}
html,body{overflow-x:hidden;}
body{font-family:'IBM Plex Sans',system-ui,sans-serif;color:var(--ink);background:var(--bg);
  line-height:1.7;font-size:18px;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:'Spectral',Georgia,serif;line-height:1.25;color:var(--ink);
  letter-spacing:-.01em;}
h1{font-size:2.35rem;margin:.2em 0 .5em;font-weight:700;}
h2{font-size:1.6rem;margin:1.8em 0 .6em;font-weight:600;padding-bottom:.2em;}
h3{font-size:1.2rem;margin:1.3em 0 .4em;font-weight:600;}
p{margin:0 0 1.05em;} a{color:var(--accent);text-decoration:none;}
a:hover,a:focus{text-decoration:underline;}
img{max-width:100%;height:auto;display:block;border-radius:var(--radius);margin:1.4em 0;}
ul{margin:0 0 1.2em 1.2em;} li{margin:.3em 0;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 22px;}
.btn{display:inline-block;font-family:'IBM Plex Sans',sans-serif;font-weight:600;
  padding:.8em 1.5em;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;
  font-size:1rem;transition:transform .15s ease,background .2s ease;}
.btn-cta{background:var(--accent);color:#fff;}
.btn-cta:hover,.btn-cta:focus{background:var(--accent-2);text-decoration:none;
  transform:translateY(-2px);}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:transparent;
  transition:background .25s ease,border-color .25s ease,box-shadow .25s ease;
  border-bottom:1px solid transparent;}
.site-header.scrolled{background:rgba(251,251,248,.92);backdrop-filter:blur(8px);
  border-bottom:2px solid var(--accent);box-shadow:0 1px 10px rgba(0,0,0,.04);}
.hdr-inner{display:flex;flex-wrap:wrap;align-items:center;gap:18px;
  max-width:1120px;margin:0 auto;padding:16px 22px;}
.logo{font-family:'Spectral',serif;font-weight:700;font-size:1.5rem;color:var(--ink);
  letter-spacing:.02em;}
.logo:hover{text-decoration:none;}
.main-nav{display:flex;flex-wrap:wrap;gap:22px;margin:0 auto;}
.main-nav a{color:var(--ink);font-weight:500;font-size:1rem;}
.hdr-cta{margin-left:auto;}
/* hero */
.front-hero{background:linear-gradient(135deg,#10303a,#1f6f7a);color:#fff;
  padding:74px 0 64px;text-align:center;}
.front-hero h1{color:#fff;font-size:2.7rem;max-width:14ch;margin:0 auto .35em;}
.hero-sub{font-size:1.2rem;color:#dcefef;min-height:1.6em;max-width:46ch;margin:0 auto;}
.hero-sub .typed{border-right:2px solid #9fd6d6;padding-right:3px;}
.hero-lead{margin:0 0 1.4em;}
.lead{font-size:1.2rem;color:var(--muted);margin-bottom:1.3em;}
/* article */
.article{background:var(--surface);border:1px solid var(--line);border-radius:8px;
  padding:42px 46px;margin:38px 0;}
.post-meta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;color:var(--muted);
  font-size:.92rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:12px 0;margin:0 0 1.6em;}
.cat-badge{background:var(--info);color:var(--accent-2);font-weight:600;font-size:.78rem;
  padding:.3em .7em;border-radius:99px;text-transform:uppercase;letter-spacing:.04em;}
.article h2{border-bottom:2px solid var(--accent);display:inline-block;}
blockquote{border-left:4px solid var(--accent);background:var(--info);
  padding:18px 22px;margin:1.6em 0;font-family:'Spectral',serif;font-size:1.18rem;
  font-style:italic;color:var(--accent-2);border-radius:0 var(--radius) var(--radius) 0;}
.infobox{background:var(--warn);border:1px solid #e4d9c0;border-left:4px solid #c9a35a;
  padding:18px 22px;margin:1.6em 0;border-radius:0 var(--radius) var(--radius) 0;}
.infobox h3{margin-top:0;color:#7a5a1e;}
/* timeline */
.timeline{margin:2em 0;}
.tl{list-style:none;margin:1em 0 0;padding:0;border-left:2px solid var(--line);}
.tl-item{display:flex;flex-wrap:wrap;gap:16px;padding:0 0 1.4em 22px;position:relative;}
.tl-num{position:absolute;left:-19px;top:0;width:34px;height:34px;border-radius:50%;
  background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;
  font-weight:600;font-family:'Spectral',serif;}
.tl-item h3{margin:.1em 0 .2em;}
.tl-item>div{flex:1;min-width:220px;}
/* faq */
.faq{margin:2em 0;}
.faq-item{border:1px solid var(--line);border-radius:var(--radius);margin:.6em 0;
  background:var(--surface);}
.faq-item summary{cursor:pointer;padding:14px 18px;font-weight:600;
  font-family:'Spectral',serif;list-style:none;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';float:right;color:var(--accent);font-weight:700;}
.faq-item[open] summary::after{content:'–';}
.faq-a{padding:0 18px 16px;color:var(--muted);}
/* author + reflection */
.author-box,.author-reflection{background:var(--info);border-radius:8px;
  padding:24px 26px;margin:2em 0;}
.author-grid,.team-card{display:flex;flex-wrap:wrap;gap:18px;align-items:center;}
.author-avatar{width:58px;height:58px;border-radius:50%;background:var(--accent);
  color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;
  font-family:'Spectral',serif;font-size:1.5rem;flex:none;}
.author-name{font-weight:700;font-family:'Spectral',serif;font-size:1.15rem;margin:0;}
.author-role{color:var(--accent-2);font-size:.92rem;margin:.1em 0 .5em;}
.team{display:flex;flex-wrap:wrap;gap:20px;margin:1em 0;}
.team-card{flex:1;min-width:260px;background:var(--info);border-radius:8px;
  padding:22px;align-items:flex-start;flex-direction:column;}
/* cards */
.post-cards-wrap{margin:2.4em 0;}
.post-cards{display:flex;flex-wrap:wrap;gap:20px;}
.pcard{flex:1;min-width:240px;background:var(--surface);border:1px solid var(--line);
  border-radius:8px;padding:22px;color:var(--ink);transition:transform .15s ease,
  box-shadow .2s ease;}
.pcard:hover{transform:translateY(-4px);box-shadow:0 8px 22px rgba(0,0,0,.06);
  text-decoration:none;}
.pcard h3{margin:.5em 0 .3em;} .pcard p{color:var(--muted);margin:0;font-size:.95rem;}
/* cta banner */
.cta-banner{background:var(--accent-2);color:#fff;border-radius:8px;
  padding:30px 34px;margin:2.2em 0;}
.cta-inner{display:flex;flex-wrap:wrap;gap:18px;align-items:center;
  justify-content:space-between;}
.cta-inner p{margin:0;font-size:1.15rem;font-family:'Spectral',serif;flex:1;
  min-width:240px;}
.cta-banner .btn-cta{background:#fff;color:var(--accent-2);}
.cta-banner .btn-cta:hover{background:#e8f3f3;}
/* subscribe */
.subscribe{background:var(--surface);border:1px solid var(--line);border-radius:8px;
  padding:30px 32px;margin:2.2em 0;}
.sub-form{display:flex;flex-wrap:wrap;gap:16px;margin-top:1em;}
.field{display:flex;flex-direction:column;flex:1;min-width:200px;}
.field label{font-size:.85rem;font-weight:600;margin-bottom:.35em;color:var(--muted);}
.field input,.field textarea{padding:.7em .9em;border:1px solid var(--line);
  border-radius:var(--radius);font-family:inherit;font-size:1rem;background:var(--bg);}
.field input:focus,.field textarea:focus{outline:2px solid var(--accent);
  border-color:var(--accent);}
.sub-form .btn-cta{align-self:flex-end;}
/* disclaimer */
.disclaimer{background:#f4f4ef;border:1px dashed var(--line);border-radius:var(--radius);
  padding:18px 22px;margin:2em 0 0;font-size:.92rem;color:var(--muted);}
.disclaimer h2{font-size:1rem;margin:0 0 .4em;border:none;}
/* contact + success + legal */
.contact-grid{display:flex;flex-wrap:wrap;gap:24px;margin:1.4em 0;}
.contact-card{flex:1;min-width:280px;background:var(--surface);border:1px solid var(--line);
  border-radius:8px;padding:26px;}
.success-wrap{text-align:center;padding:70px 0;}
.success-sub{max-width:46ch;margin:0 auto 1.6em;}
.legal-updated{color:var(--muted);font-size:.88rem;margin-top:2em;}
.read-also{margin:2em 0;border-top:1px solid var(--line);padding-top:1.2em;}
.ra-list{list-style:none;margin:.6em 0 0;padding:0;}
.ra-list li{margin:.4em 0;} .ra-list a{font-weight:600;}
.breadcrumb{color:var(--muted);font-size:.9rem;margin:24px 0 0;}
.breadcrumb a{color:var(--muted);}
/* footer */
.site-footer{background:#f1f2ec;border-top:1px solid var(--line);margin-top:60px;
  padding:46px 0 26px;color:var(--muted);font-size:.95rem;}
.footer-rule{border:none;border-top:1px solid var(--line);max-width:1120px;
  margin:0 auto 28px;}
.footer-cols{display:flex;flex-wrap:wrap;gap:30px;max-width:1120px;margin:0 auto;
  padding:0 22px;}
.footer-col{flex:1;min-width:170px;}
.footer-col h4{font-family:'Spectral',serif;color:var(--ink);font-size:1rem;
  margin-bottom:.7em;}
.footer-col a{display:block;color:var(--muted);margin:.32em 0;}
.footer-contact{max-width:1120px;margin:26px auto 0;padding:18px 22px 0;
  border-top:1px solid var(--line);color:var(--muted);}
.footer-copy{text-align:center;margin-top:18px;font-size:.88rem;color:var(--muted);}
/* cookie */
.cookie-bar{position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--ink);
  color:#fff;padding:16px 22px;display:none;}
.cookie-bar.show{display:block;}
.cookie-inner{max-width:1120px;margin:0 auto;display:flex;flex-wrap:wrap;gap:14px;
  align-items:center;justify-content:space-between;}
.cookie-inner p{margin:0;flex:1;min-width:240px;font-size:.92rem;color:#dfe6e6;}
.cookie-btns{display:flex;flex-wrap:wrap;gap:10px;}
.cookie-btns button{flex:1;min-width:120px;padding:.6em 1.1em;border-radius:var(--radius);
  border:1px solid #3a5563;background:#22384a;color:#fff;cursor:pointer;font-weight:600;
  font-family:inherit;}
.cookie-btns .c-accept{background:var(--accent);border-color:var(--accent);}
.cookie-modal{position:fixed;inset:0;z-index:95;background:rgba(10,20,28,.6);
  display:none;align-items:center;justify-content:center;padding:20px;}
.cookie-modal.show{display:flex;}
.cookie-box{background:var(--surface);color:var(--ink);border-radius:10px;
  max-width:520px;width:100%;padding:30px;max-height:88vh;overflow:auto;}
.cookie-box h3{margin-top:0;}
.cookie-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;
  justify-content:space-between;border-top:1px solid var(--line);padding:14px 0;}
.cookie-row p{margin:.2em 0 0;font-size:.88rem;color:var(--muted);max-width:80%;}
.switch{position:relative;width:46px;height:26px;flex:none;}
.switch input{opacity:0;width:0;height:0;}
.slider{position:absolute;inset:0;background:#c7ccc2;border-radius:99px;
  transition:.2s;cursor:pointer;}
.slider::before{content:'';position:absolute;width:20px;height:20px;left:3px;top:3px;
  background:#fff;border-radius:50%;transition:.2s;}
.switch input:checked+.slider{background:var(--accent);}
.switch input:checked+.slider::before{transform:translateX(20px);}
.switch input:disabled+.slider{opacity:.6;cursor:not-allowed;}
@media(max-width:720px){
  body{font-size:17px;} h1{font-size:1.9rem;} .front-hero h1{font-size:2rem;}
  .article{padding:26px 20px;} .cta-inner{flex-direction:column;align-items:flex-start;}
}
