/* Be Alright Tutoring blog. Base tokens and components match the landing page (index.html). */
:root{
  --page:#FFFFFF;--surface:#EAF6F5;--surface2:#F4FAFB;--ink:#23405E;--ink-soft:#5E7287;--navy-dark:#1E3450;
  --red:#E43C48;--red-deep:#D2293A;--teal:#3FB1AC;--teal-soft:#C3E8E5;--teal-deep:#2C8480;--blue:#5B8FCF;--blue-deep:#3A6BB0;
  --line:rgba(35,64,94,0.14);--soft-shadow:0 16px 38px -20px rgba(35,64,94,0.42);--maxw:1100px;
  --display:"Fredoka",system-ui,sans-serif;--body:"Nunito",system-ui,-apple-system,sans-serif;--hand:"Caveat",cursive;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;color:var(--ink);font-family:var(--body);font-size:clamp(1.02rem,0.99rem + 0.2vw,1.12rem);line-height:1.65;
  -webkit-font-smoothing:antialiased;background-color:var(--page);
  background-image:radial-gradient(rgba(63,177,172,0.16) 1.4px, transparent 1.4px);background-size:26px 26px;}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.15;letter-spacing:-0.005em;margin:0;}
p{margin:0;}
a{color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px;}
.wrap.narrow{max-width:760px;}
.eyebrow{font-size:0.8rem;font-weight:800;letter-spacing:0.13em;text-transform:uppercase;color:var(--teal-deep);
  display:inline-flex;align-items:center;gap:9px;}
.eyebrow::before{content:"";width:22px;height:3px;background:var(--teal);display:inline-block;border-radius:3px;}
.hand{font-family:var(--hand);font-weight:600;color:var(--red);font-size:1.5rem;line-height:1;transform:rotate(-3deg);display:inline-block;}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--display);font-weight:600;font-size:1.08rem;
  padding:17px 34px;border-radius:999px;border:3px solid transparent;cursor:pointer;text-decoration:none;
  transition:transform .15s ease,box-shadow .2s ease,background .2s ease;}
.btn-primary{background:var(--red-deep);color:#fff;box-shadow:0 14px 26px -12px rgba(210,41,58,.85);}
.btn-primary:hover{background:#bb2333;transform:translateY(-2px);}
.btn-teal{background:var(--teal);color:#fff;}
.btn-teal:hover{background:var(--teal-deep);transform:translateY(-2px);}
.btn .arrow{transition:transform .15s ease;}
.btn:hover .arrow{transform:translateX(3px);}
.btn-big{font-size:1.18rem;padding:20px 42px;}
:focus-visible{outline:3px solid var(--blue-deep);outline-offset:3px;border-radius:6px;}

/* nav */
header.nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,0.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:10px 22px;max-width:var(--maxw);margin:0 auto;}
.logo-img{height:46px;width:auto;}
.nav-right{display:flex;align-items:center;gap:6px;}
.nav-link{font-family:var(--display);font-weight:600;font-size:1rem;color:var(--ink);text-decoration:none;padding:8px 12px;border-radius:999px;}
.nav-link:hover{color:var(--red-deep);}
.nav-link.is-active{background:var(--surface);color:var(--teal-deep);}
.nav-cta{display:none;}
@media(min-width:760px){.nav-cta{display:inline-flex;padding:11px 22px;font-size:0.96rem;margin-left:8px;}}

/* hub */
.hub-hero{padding:clamp(40px,6vw,76px) 0 clamp(26px,4vw,40px);text-align:center;}
.hub-hero .eyebrow{justify-content:center;}
.hub-hero h1{font-size:clamp(2.2rem,5vw,3.5rem);max-width:20ch;margin:14px auto 16px;}
.hub-hero h1 em{font-style:normal;color:var(--red);}
.hub-hero .sub{font-size:clamp(1.08rem,1.5vw,1.25rem);color:var(--ink-soft);max-width:56ch;margin:0 auto;}
.hub-list{padding:0 0 clamp(56px,8vw,96px);}
.grid{display:grid;gap:20px;grid-template-columns:1fr;}
@media(min-width:700px){.grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1000px){.grid{grid-template-columns:repeat(3,1fr);}}
.card{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px 24px;
  text-decoration:none;box-shadow:var(--soft-shadow);transition:transform .15s ease,border-color .2s ease;}
.card:hover{transform:translateY(-3px);border-color:var(--teal);}
.card h3{font-size:1.28rem;}
.card p{color:var(--ink-soft);font-size:0.98rem;flex:1;}
.card .more{font-family:var(--display);font-weight:600;color:var(--red-deep);}
.card.feature{background:var(--navy-dark);color:#fff;border:none;margin-bottom:20px;padding:clamp(28px,4vw,44px);}
.card.feature h2{font-size:clamp(1.6rem,3.4vw,2.3rem);max-width:26ch;}
.card.feature p{color:#C7D5E3;max-width:60ch;font-size:1.05rem;}
.card.feature .more{color:var(--teal-soft);}
.card.feature .tag{background:rgba(255,255,255,0.12);color:var(--teal-soft);}
.tag{align-self:flex-start;font-size:0.74rem;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:var(--teal-deep);
  background:var(--surface);padding:5px 12px;border-radius:999px;}

/* article */
.post{padding:clamp(28px,4vw,48px) 0 clamp(40px,6vw,64px);}
.crumbs{font-size:0.88rem;color:var(--ink-soft);margin-bottom:22px;}
.crumbs a{color:var(--ink-soft);}
.crumbs span{margin:0 4px;}
.post h1{font-size:clamp(2rem,4.6vw,3rem);margin:12px 0 14px;}
.byline{color:var(--ink-soft);font-size:0.92rem;margin-bottom:30px;padding-bottom:22px;border-bottom:1px solid var(--line);}
.prose{background:rgba(255,255,255,0.86);}
.prose > p,.prose li{font-size:1.08rem;}
.prose p{margin:0 0 18px;}
.prose h2{font-size:clamp(1.5rem,3vw,1.95rem);margin:40px 0 14px;}
.prose h3{font-size:1.25rem;margin:26px 0 10px;color:var(--navy-dark);}
.prose ul,.prose ol{margin:0 0 20px;padding-left:1.3em;}
.prose li{margin:0 0 9px;}
.prose li::marker{color:var(--teal-deep);font-weight:800;}
.prose a{color:var(--blue-deep);font-weight:700;}
.prose a.btn{color:#fff;}
.prose strong{color:var(--navy-dark);}
.prose .callout{background:var(--surface);border-left:4px solid var(--teal);padding:14px 18px;border-radius:0 14px 14px 0;font-size:0.98rem;}
.prose .note{font-size:0.88rem;color:var(--ink-soft);}
.table-wrap{overflow-x:auto;margin:0 0 12px;}
.prose table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--soft-shadow);min-width:340px;}
.prose th,.prose td{padding:12px 14px;text-align:center;border-bottom:1px solid var(--line);}
.prose th{background:var(--navy-dark);color:#fff;font-family:var(--display);font-weight:600;}
.prose td:first-child,.prose th:first-child{text-align:left;font-weight:800;}
.cta-box{background:var(--surface);border:2px dashed var(--teal);border-radius:22px;padding:26px 24px;margin:34px 0;text-align:center;}
.cta-box h3{font-size:1.4rem;margin:10px 0 10px;color:var(--ink);}
.cta-box p{color:var(--ink-soft);margin:0 auto 18px;max-width:52ch;font-size:1rem;}
.cta-box .hand{font-size:1.45rem;}
.post-faq{margin-top:44px;}
.post-faq h2{font-size:clamp(1.5rem,3vw,1.95rem);margin-bottom:8px;}
details{border-bottom:1px solid var(--line);}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:18px 4px;font-family:var(--display);font-weight:500;font-size:clamp(1.05rem,1.8vw,1.2rem);}
summary::-webkit-details-marker{display:none;}
summary .pm{flex:0 0 auto;width:28px;height:28px;border-radius:50%;border:3px solid var(--teal);position:relative;transition:transform .2s ease;}
summary .pm::before,summary .pm::after{content:"";position:absolute;background:var(--teal-deep);left:50%;top:50%;transform:translate(-50%,-50%);}
summary .pm::before{width:12px;height:2px;}
summary .pm::after{width:2px;height:12px;transition:opacity .2s ease;}
details[open] summary .pm::after{opacity:0;}
details[open] summary .pm{transform:rotate(90deg);}
details .ans{padding:0 4px 20px;color:var(--ink-soft);}
.about{display:flex;gap:20px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;margin-top:40px;box-shadow:var(--soft-shadow);}
.about img{width:84px;height:84px;border-radius:50%;object-fit:cover;object-position:center 28%;flex:0 0 auto;}
.about-h{font-family:var(--display);font-weight:600;font-size:1.15rem;margin-bottom:6px;}
.about p{font-size:0.96rem;color:var(--ink-soft);}
@media(max-width:520px){.about{flex-direction:column;}}
details.sources{margin-top:26px;border:none;font-size:0.88rem;color:var(--ink-soft);}
details.sources summary{font-family:var(--body);font-weight:800;font-size:0.9rem;padding:8px 0;justify-content:flex-start;}
details.sources ul{margin:0;padding-left:1.2em;}
details.sources li{margin:4px 0;}
.related{padding:clamp(40px,6vw,72px) 0;background:var(--surface2);border-top:1px solid var(--line);}
.related h2{font-size:clamp(1.6rem,3.4vw,2.2rem);text-align:center;margin-bottom:26px;}

/* final + footer (same as landing page) */
.final{background:var(--navy-dark);color:#fff;text-align:center;padding:clamp(56px,8vw,96px) 0;}
.final .kicker{font-family:var(--hand);color:var(--teal-soft);font-size:clamp(1.7rem,3vw,2.2rem);margin-bottom:6px;}
.final h2{color:#fff;font-size:clamp(1.9rem,4.4vw,2.8rem);max-width:22ch;margin:0 auto 16px;}
.final p{color:#C7D5E3;max-width:48ch;margin:0 auto 30px;}
footer.ft{background:#16273D;color:#9FB1C6;padding:46px 0 120px;}
.ft-inner{display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between;align-items:flex-start;}
.ft-logo-chip{background:#fff;border-radius:16px;padding:12px 16px;display:inline-block;}
.ft-logo-chip img{height:54px;width:auto;}
.ft a{color:#DCE6F0;text-decoration:none;}
.ft a:hover{text-decoration:underline;}
.ft .contact p{margin:6px 0;font-size:0.95rem;}
.ft-links ul{list-style:none;margin:8px 0 0;padding:0;}
.ft-links li{margin:6px 0;font-size:0.92rem;max-width:44ch;}
.ft .legal{font-size:0.74rem;color:#6E7F95;margin-top:16px;}
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:70;background:rgba(255,255,255,0.97);border-top:1px solid var(--line);
  padding:11px 16px;display:flex;gap:12px;align-items:center;justify-content:space-between;box-shadow:0 -10px 30px -18px rgba(35,64,94,.5);}
.sticky-cta .s-txt{font-weight:800;font-size:0.92rem;line-height:1.15;}
.sticky-cta .s-txt small{display:block;font-weight:600;color:var(--ink-soft);font-size:0.78rem;}
.sticky-cta .btn{padding:13px 20px;font-size:0.96rem;white-space:nowrap;}
@media(min-width:760px){.sticky-cta{display:none;} footer.ft{padding-bottom:46px;}}
@media (prefers-reduced-motion: reduce){*{transition:none !important;scroll-behavior:auto !important;}}
