/* =========================================================
   Little Scholars Islamic Montessori - Consolidated Styles
   Generated from all uploaded HTML files.
   Each page section is scoped to its body class to prevent conflicts.
   ========================================================= */

/* ===== littlescholars.html scoped styles (page-home) ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root { --cream:      #FDF6ED;
    --cream-dark: #F5EBDA;
    --terra:      #399700;
    --terra-lt:   #1cbc03;
    --terra-dk:   #00b9e7;
    --sage:       #7A9E7E;
    --sage-lt:    #C4DBC6;
    --sage-dk:    #4A7050;
    --yellow:     #139100;
    --yellow-lt:  #24e307;
    --blue:       #2b99d5;
    --blue-lt:    #D6F0FB;
    --brown:      #3D2B1F;
    --pink:       #E8A5A0;
    --pink-lt:    #F9DBD8;
    --lavender:   #B9A8D4;
    --lav-lt:     #E4DCEF;
    --font-display: "Baloo 2", Arial;
    --font-body:    "Lora", serif;
    --radius-blob:  40% 60% 55% 45% / 50% 40% 60% 50%; }
html { scroll-behavior: smooth; }
body.page-home { font-family: var(--font-body);
    background: var(--cream);
    color: var(--brown);
    overflow-x: hidden; }
body.page-home nav { position: sticky; top: 0; z-index: 100;
    background: rgba(253,246,237,0.92);
    backdrop-filter: blur(8px);
    border-bottom: 2px solid var(--sage-lt);
    padding: 0 2rem; }
body.page-home .nav-inner { max-width: 1200px; margin: 0 auto;
    display: flex; align-items: center; justify-content: space-between;
    height: 100px; }
body.page-home .logo { display: flex; flex-direction: column; align-items: center;
    text-decoration: none; color: var(--brown); }
body.page-home .logo-text { font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.1; }
body.page-home .logo-text span { display: block;
    min-width: 236.09px;
    font-size: .7rem;
    font-weight: bold;
    letter-spacing: .1em;
    color: var(--sage-dk);
    text-transform: uppercase;
    font-family: Arial;
    text-align: center; }
body.page-home .nav-links { display: flex; align-items: center; gap: .25rem; list-style: none; }
body.page-home .nav-links a { font-family: var(--font-display); font-weight: 600; font-size: .95rem;
    color: var(--brown); text-decoration: none;
    padding: .4rem .85rem; border-radius: 999px;}
body.page-home .nav-links a {
  position: relative;
  transition: 
    background .2s ease,
    color .2s ease,
    box-shadow .2s ease,
    transform .2s ease;
}
body.page-home .nav-links a:hover, body.page-home .nav-links a.active {
  color: #2caee7;
  box-shadow: 0 0 0 2px rgb(1 151 170 / 22%), 0 0 16px rgb(1 106 170 / 45%), 0 0 32px rgba(43, 159, 212, .35);
  transform: translateY(-2px);
}
body.page-home #daily-life { scroll-margin-top: 90px; }
body.page-home .nav-cta { background: var(--terra) !important; color: #fff !important;
    box-shadow: 0 3px 0 var(--terra-dk);
    transition: transform .15s, box-shadow .15s !important; }
body.page-home .nav-cta:hover { transform: translateY(-2px); box-shadow: 0 5px 0 var(--terra-dk) !important; background: var(--terra) !important; }
body.page-home .hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 6px; background: none; border: none; }
body.page-home .hamburger span {
    display: block;
    width: 24px;
    height: 2.5px;
    background: #2caee7;
    border-radius: 2px;
    transition: all .3s;
    border-color: #00b9e7;
    box-shadow: inset 0px -0.3px 20px #399700, inset 0px -0.3px 20px #00b9e7, 0px -0.03px 24px #399700, 0px -0.3px 1px #00b9e7;
}
body.page-home .hero { position: relative;
    display: flex; align-items: center; overflow: hidden;
    padding: 4rem 2rem 6rem; }
body.page-home .hero-bg { position: absolute; inset: 0; z-index: 0; }
body.page-home .float-shape { position: absolute; border-radius: var(--radius-blob);
    animation: floatBob-home 6s ease-in-out infinite; }
body.page-home .fs1 { width:180px; height:180px; background: var(--terra-lt); top:8%; right:12%; opacity:.55; animation-delay: 0s; }
body.page-home .fs2 { width:120px; height:120px; background: var(--yellow); top:60%; right:6%; opacity:.45; animation-delay: -2s; border-radius: 30% 70% 60% 40% / 40% 50% 50% 60%; }
body.page-home .fs3 { width: 90px; height: 90px; background: var(--lavender); bottom:15%; left:5%; opacity:.5; animation-delay: -4s; border-radius: 60% 40% 40% 60% / 60% 40% 60% 40%; }
body.page-home .fs4 { width:140px; height:100px; background: var(--pink); top:20%; left:55%; opacity:.3; animation-delay: -1s; border-radius: 55% 45% 40% 60%/45% 55% 45% 55%; }
body.page-home .fs5 { width:70px; height:70px; background: var(--sage); top:75%; left:35%; opacity:.4; animation-delay: -3s; border-radius: 50%; }
@keyframes floatBob-home {
    0%,100% { transform: translateY(0) rotate(0deg); }
    50%      { transform: translateY(-18px) rotate(4deg); }
  }
body.page-home .hero-inner { position: relative; z-index: 1;
    max-width: 1200px; margin: 0 auto; width: 100%;
    display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; }
body.page-home .hero-badge { display: inline-flex; align-items: center; gap: 6px;
    background: var(--yellow); color: white;
    font-family: var(--font-display); font-weight: 700; font-size: .8rem;
    letter-spacing: .08em; text-transform: uppercase;
    padding: .35rem .9rem; border-radius: 999px; margin-bottom: 1.25rem;
    box-shadow: 0 3px 0 rgba(0,0,0,.1); }
body.page-home .hero h1 { font-family: var(--font-display); font-weight: 800;
    font-size: clamp(2.4rem, 5vw, 3.8rem); line-height: 1.1;
    color: var(--brown); margin-bottom: 1.25rem; }
body.page-home .hero h1 em { font-style: normal; color: var(--terra); }
body.page-home .hero h1 .accent-word { position: relative; display: inline-block; }
body.page-home .hero h1 .accent-word::after { content: "";
    position: absolute; bottom: 2px; left: 0; right: 0; height: 8px;
    background: var(--terra); z-index: -1;
    border-radius: 4px; }
body.page-home .cta-inner h2 .accent-word {
  position: relative;
  display: inline-block;}
body.page-home .cta-inner h2 .accent-word::after { content: "";
    position: absolute; bottom: 2px; left: 0; right: 0; height: 8px;
    background: var(--yellow); z-index: -1;
    border-radius: 4px; }
body.page-home .hero-sub { font-size: 1.1rem; line-height: 1.7; color: #6B5040; max-width: 420px;
    margin-bottom: 2rem; }
body.page-home .hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; }
body.page-home .btn { font-family: var(--font-display); font-weight: 700; font-size: 1rem;
    padding: .75rem 1.75rem; border-radius: 999px; border: none; cursor: pointer;
    text-decoration: none; display: inline-flex; align-items: center; gap: .4rem;
    transition: transform .15s, box-shadow .15s; }
body.page-home .btn-primary { background: var(--terra); color: #fff;
    box-shadow: 0 4px 0 var(--terra-dk); }
body.page-home .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 6px 0 var(--terra-dk); }
body.page-home .btn-secondary { background: #fff; color: var(--brown);
    box-shadow: 0 4px 0 var(--terra-lt);
    border: 2px solid var(--terra-lt); }
body.page-home .btn-secondary:hover { transform: translateY(-2px); box-shadow: 0 6px 0 var(--terra-lt); }
body.page-home .hero-stats { display: flex; gap: 2rem; margin-top: 2.5rem; flex-wrap: wrap; }
body.page-home .stat { text-align: center; }
body.page-home .stat-num { font-family: var(--font-display); font-size: 2rem; font-weight: 800; color: var(--terra); line-height: 1; text-shadow: 2px 1px #095d81; }
body.page-home .stat-label { font-size: .8rem; color: #1E7EA8; margin-top: .15rem; letter-spacing: .04em; font-weight: bold; }
body.page-home .hero-visual { display: flex; justify-content: center; align-items: center;
    position: relative; }
body.page-home .school-house { width: 100%; max-width: 420px;
    animation: floatBob-home 7s ease-in-out infinite; }
body.page-home .wave-divider { display: block; width: 100%; overflow: hidden; line-height: 0; }
body.page-home .wave-divider svg { display: block; width: 100%; }
body.page-home .section-label { font-family: var(--font-display); font-weight: 700; font-size: .8rem;
    letter-spacing: .12em; text-transform: uppercase; color: var(--sage-dk);
    margin-bottom: .5rem; }
body.page-home .section-title { font-family: var(--font-display); font-weight: 800;
    font-size: clamp(1.8rem, 3.5vw, 2.6rem); color: var(--brown);
    line-height: 1.2; margin-bottom: .75rem; }
body.page-home .section-sub { font-size: 1rem; color: #8A6A55; line-height: 1.6; }
body.page-home .explore { background: var(--cream-dark); padding: 5rem 2rem; }
body.page-home .explore-inner { max-width: 1200px; margin: 0 auto; }
body.page-home .explore-header { text-align: center; margin-bottom: 3.5rem; }
body.page-home .cards-grid { display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1.5rem; }
body.page-home .nav-card { background: #fff; border-radius: 24px; overflow: hidden;
    text-decoration: none; color: var(--brown);
    display: flex; flex-direction: column;
    box-shadow: 0 6px 0 rgba(61,43,31,.1);
    border: 2.5px solid transparent;
    transition: transform .25s, box-shadow .25s, border-color .25s;
    cursor: pointer; }
body.page-home .nav-card:hover { transform: translateY(-6px) rotate(-1deg);
    box-shadow: 0 12px 0 rgba(61,43,31,.12); }
body.page-home .card-top { height: 140px; display: flex; align-items: center; justify-content: center;
    font-size: 3.5rem; position: relative; overflow: hidden; }
body.page-home .card-top::before { content: "";
    position: absolute; width: 110px; height: 110px; border-radius: 50%;
    background: rgba(255,255,255,.25); top: -20px; right: -20px; }
body.page-home .card-top::after { content: "";
    position: absolute; width: 70px; height: 70px; border-radius: 50%;
    background: rgba(255,255,255,.2); bottom: -15px; left: 10px; }
body.page-home .ct-terra { background: linear-gradient(135deg, var(--terra) 0%, #E8845C 100%); }
body.page-home .ct-sage { background: linear-gradient(135deg, var(--sage) 0%, #92C096 100%); }
body.page-home .ct-yellow { background: linear-gradient(135deg, #F0B830 0%, var(--yellow) 100%); }
body.page-home .ct-blue { background: linear-gradient(135deg, var(--blue) 0%, #9ABFD6 100%); }
body.page-home .ct-pink { background: linear-gradient(135deg, var(--pink) 0%, #F0C4C0 100%); }
body.page-home .ct-lav { background: linear-gradient(135deg, var(--lavender) 0%, #CBBFE0 100%); }
body.page-home .card-body { padding: 1.25rem 1.5rem 1.5rem; flex: 1; }
body.page-home .card-title { font-family: var(--font-display); font-weight: 800; font-size: 1.2rem;
    margin-bottom: .4rem; color: var(--brown); }
body.page-home .card-desc { font-size: .9rem; line-height: 1.5; color: #8A6A55; }
body.page-home .card-link { display: inline-flex; align-items: center; gap: .3rem; margin-top: .85rem;
    font-family: var(--font-display); font-weight: 700; font-size: .85rem; color: var(--terra); }
body.page-home .card-link svg { transition: transform .2s; }
body.page-home .nav-card:hover .card-link svg { transform: translateX(4px); }
body.page-home .nav-card.ct-terra-card:hover { border-color: var(--terra); }
body.page-home .nav-card.ct-sage-card:hover { border-color: var(--sage); }
body.page-home .nav-card.ct-yellow-card:hover { border-color: var(--yellow); }
body.page-home .nav-card.ct-blue-card:hover { border-color: var(--blue); }
body.page-home .nav-card.ct-pink-card:hover { border-color: var(--pink); }
body.page-home .nav-card.ct-lav-card:hover { border-color: var(--lavender); }
body.page-home .why { padding: 5rem 2rem; background: var(--cream); }
body.page-home .why-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
body.page-home .why-pillars { display: flex; flex-direction: column; gap: 1.5rem; }
body.page-home .pillar { display: flex; gap: 1rem; align-items: flex-start;
    padding: 1.25rem; border-radius: 20px; background: #fff;
    box-shadow: 0 4px 0 rgba(61,43,31,.07);
    border-left: 5px solid var(--terra);
    transition: transform .2s; }
body.page-home .pillar:nth-child(2) { border-left-color: var(--sage); }
body.page-home .pillar:nth-child(3) { border-left-color: var(--blue); }
body.page-home .pillar:hover { transform: translateX(4px); }
body.page-home .pillar-icon { font-size: 2rem; flex-shrink: 0; line-height: 1; margin-top: .15rem; }
body.page-home .pillar-title { font-family: var(--font-display); font-weight: 700; font-size: 1.05rem; margin-bottom: .3rem; }
body.page-home .pillar-text { font-size: .9rem; color: #8A6A55; line-height: 1.55; }
body.page-home .why-visual { position: relative; }
body.page-home .quote-block { background: var(--terra); color: #fff;
    padding: 2.5rem; border-radius: 28px;
    box-shadow: 8px 8px 0 var(--terra-dk);
    position: relative; }
body.page-home .quote-mark { font-family: var(--font-display); font-size: 6rem; line-height: .8;
    opacity: .25; position: absolute; top: 1rem; left: 1.5rem;
    font-weight: 800; }
body.page-home .quote-text { font-family: var(--font-body); font-style: italic; font-size: 1.2rem;
    line-height: 1.6; position: relative; z-index: 1; padding-top: 1rem; }
body.page-home .quote-source { margin-top: 1.25rem; font-family: var(--font-display); font-weight: 700;
    font-size: .85rem; letter-spacing: .06em; opacity: .85; }
body.page-home .floating-badge { position: absolute; right: -24px; bottom: -24px;
    background: var(--blue); color: var(--cream);
    width: 100px; height: 100px; border-radius: 50%;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    font-family: var(--font-display); font-weight: 800; text-align: center;
    box-shadow: 4px 4px 0 rgba(0,0,0,.15);
    line-height: 1.1; font-size: .8rem; padding: .5rem;
    animation: floatBob-home 5s ease-in-out infinite; }
body.page-home .floating-badge strong { font-size: 1.5rem; display: block; }
body.page-home .schedule-section { background: var(--sage-lt); padding: 5rem 2rem; }
body.page-home .schedule-inner { max-width: 1100px; margin: 0 auto; }
body.page-home .schedule-header { text-align: center; margin-bottom: 3rem; }
body.page-home .timeline { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem;
    position: relative; }
body.page-home .time-item { background: #fff; border-radius: 20px; padding: 1.25rem 1.25rem 1.5rem;
    text-align: center; position: relative;
    box-shadow: 0 5px 0 rgba(61,43,31,.08);
    transition: transform .2s; }
body.page-home .time-item:hover { transform: translateY(-4px); }
body.page-home .time-icon { font-size: 2.4rem; margin-bottom: .6rem; }
body.page-home .time-clock { font-family: var(--font-display); font-size: .75rem; font-weight: 700;
    letter-spacing: .08em; color: var(--sage-dk); background: var(--sage-lt);
    padding: .2rem .65rem; border-radius: 999px; display: inline-block;
    margin-bottom: .5rem; }
body.page-home .time-label { font-family: var(--font-display); font-weight: 700; font-size: 1rem;
    color: var(--brown); margin-bottom: .3rem; }
body.page-home .time-desc { font-size: .82rem; color: #8A6A55; line-height: 1.45; }
body.page-home .testimonials { padding: 5rem 2rem; background: var(--cream); }
body.page-home .testimonials-inner { max-width: 1100px; margin: 0 auto; }
body.page-home .testimonials-header { text-align: center; margin-bottom: 3rem; }
body.page-home .testi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; }
body.page-home .testi-card { background: #fff; border-radius: 24px; padding: 1.75rem;
    box-shadow: 0 5px 0 rgba(61,43,31,.07);
    display: flex; flex-direction: column; gap: .85rem;
    border-top: 5px solid var(--terra); }
body.page-home .testi-card:nth-child(2) { border-top-color: var(--sage); }
body.page-home .testi-card:nth-child(3) { border-top-color: var(--blue); }
body.page-home .testi-stars { color: var(--yellow); font-size: 1rem; letter-spacing: 2px; }
body.page-home .testi-text { font-style: italic; font-size: .95rem; line-height: 1.65; color: #5A4030; }
body.page-home .testi-author { display: flex; align-items: center; gap: .75rem; margin-top: auto; }
body.page-home .avatar { width: 44px; height: 44px; border-radius: 50%; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    font-family: var(--font-display); font-weight: 800; font-size: 1rem; color: #fff; }
body.page-home .av-terra { background: var(--terra); }
body.page-home .av-sage { background: var(--sage); }
body.page-home .av-blue { background: var(--blue); }
body.page-home .author-name { font-family: var(--font-display); font-weight: 700; font-size: .95rem; color: var(--brown); }
body.page-home .author-info { font-size: .8rem; color: #8A6A55; }
body.page-home .cta-banner { background: #2B9FD4; color: #fff; padding: 5rem 2rem;
    position: relative; overflow: hidden; }
body.page-home .cta-banner::before, body.page-home .cta-banner::after { content: ""; position: absolute; border-radius: 50%;
    background: rgba(255,255,255,.04); }
body.page-home .cta-banner::before { width: 400px; height: 400px; top: -150px; right: -80px; }
body.page-home .cta-banner::after { width: 250px; height: 250px; bottom: -80px; left: -40px; }
body.page-home .cta-inner { max-width: 700px; margin: 0 auto; text-align: center; position: relative; z-index: 1; }
body.page-home .cta-inner h2 { font-family: var(--font-display); font-weight: 800;
    font-size: clamp(1.8rem, 4vw, 2.8rem); margin-bottom: 1rem; line-height: 1.15; }
body.page-home .cta-inner h2 em { font-style: normal; color: var(--yellow); }
body.page-home .cta-inner p { font-size: 1.05rem; opacity: .75; margin-bottom: 2rem; line-height: 1.6; }
body.page-home .btn-light { background: var(--terra); color: white;
    box-shadow: 0 4px 0 #005690;
    font-size: 1.1rem; padding: .9rem 2.5rem; }
body.page-home .btn-light:hover { transform: translateY(-2px); box-shadow: 0 7px 0 rgba(0,0,0,.35); }
body.page-home footer { background: #005690; color: rgba(255,255,255,.65);
    padding: 3.5rem 2rem 2rem;
    font-size: .875rem; }
body.page-home .footer-inner { max-width: 1200px; margin: 0 auto;
    display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 3rem; }
body.page-home footer h4 { font-family: var(--font-display); font-weight: 700; font-size: .95rem;
    color: rgba(255,255,255,.9); margin-bottom: .85rem; letter-spacing: .04em; }
body.page-home footer a { color: rgba(255,255,255,.55); text-decoration: none; display: block; margin-bottom: .45rem; }
body.page-home footer a:hover { color: var(--terra-lt); }
body.page-home .footer-brand p { margin-top: .75rem; line-height: 1.6; }
body.page-home .footer-bottom { max-width: 1200px; margin: 2rem auto 0;
    padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.1);
    display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .75rem;
    font-size: .8rem; }
body.page-home .mobile-menu { display: none; position: fixed; inset: 72px 0 0 0;
    background: var(--cream); z-index: 99; padding: 2rem;
    flex-direction: column; gap: .5rem; overflow-y: auto; }
body.page-home .mobile-menu.open { display: flex; margin-top: 15px;}
body.page-home .mobile-menu a { font-family: var(--font-display); font-weight: 700; font-size: 1.2rem;
    color: var(--brown); text-decoration: none; padding: .85rem 1rem;
    border-radius: 12px; border-left: 4px solid transparent;
    transition: background .15s, border-color .15s; }
body.page-home .mobile-menu a:hover, body.page-home .mobile-menu a.active { background: var(--cream-dark); border-left-color: #2caee7; }
@media (max-width: 960px) {
  body.page-home .nav-inner { position: relative;
        justify-content: center; }
  body.page-home .logo { position: absolute;
        left: 50%;
        transform: translateX(-50%); }
  body.page-home .hamburger { position: absolute;
        right: 0rem;
        display: flex; }
  body.page-home .nav-links { display: none; }
  body.page-home .hero-inner { grid-template-columns: 1fr; text-align: center; }
  body.page-home .hero h1 .accent-word::after { display: none; }
  body.page-home .hero-sub { margin: 0 auto 2rem; }
  body.page-home .hero-actions { justify-content: center; }
  body.page-home .hero-stats { justify-content: center; }
  body.page-home .hero-visual { display: none; }
  body.page-home .why-inner { grid-template-columns: 1fr; }
  body.page-home .why-visual { order: -1; }
  body.page-home .floating-badge { right: 12px; bottom: -12px; }
  body.page-home .footer-inner { grid-template-columns: 1fr 1fr; gap: 2rem; }
}
@media (max-width: 640px) {
  body.page-home .slider-shell { overflow: visible;
        margin: 0;
        padding: 0; }
  body.page-home .timeline { display: flex;
        gap: 1rem;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding: .25rem .5rem 1rem;
        margin: 0 -.5rem;
        scrollbar-width: none; }
  body.page-home .timeline::-webkit-scrollbar { display: none; }
  body.page-home .time-item { flex: 0 0 85%;
        scroll-snap-align: center;
        margin: 0; }
  body.page-home .timeline::after { content: "";
        flex: 0 0 .5rem; }
  body.page-home .cards-grid { display: flex;
      gap: 1rem;
      overflow-x: auto;
      overflow-y: hidden;
      scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch;
      padding: .25rem .5rem 1rem;
      margin: 2rem -0.5rem 0; }
  body.page-home .cards-grid::-webkit-scrollbar { display: none; }
  body.page-home .cards-grid { scrollbar-width: none; }
  body.page-home .nav-card { flex: 0 0 85%;
          scroll-snap-align: center;
          margin: 0; }
  body.page-home .cards-grid::after { content: "";
          flex: 0 0 .5rem; }
  body.page-home .footer-inner { grid-template-columns: 1fr; }
  body.page-home .footer-bottom { flex-direction: column; gap: .75rem; text-align: center; }
  body.page-home .cards-grid .reveal, body.page-home .timeline .reveal { opacity: 1 !important;
        transform: none !important;
        transition: none !important; }
}
body.page-home .slider-controls { display: none; }
body.page-home .reveal { opacity: 0; transform: translateY(28px); transition: opacity .6s ease, transform .6s ease; }
body.page-home .reveal.visible { opacity: 1; transform: none; }

/* ===== aboutus.html scoped styles (page-about) ===== */
body.page-about { font-family: var(--font-body);
    background: var(--cream);
    color: var(--brown);
    overflow-x: hidden; }
body.page-about nav { position: sticky; top: 0; z-index: 100;
    background: rgba(253,246,237,0.92);
    backdrop-filter: blur(8px);
    border-bottom: 2px solid var(--sage-lt);
    padding: 0 2rem; }
body.page-about .nav-inner { max-width: 1200px; margin: 0 auto;
    display: flex; align-items: center; justify-content: space-between;
    height: 100px; }
body.page-about .logo { display: flex; flex-direction: column; align-items: center;
    text-decoration: none; color: var(--brown); }
body.page-about .logo-text { font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.1; }
body.page-about .logo-text span { display: block;
    min-width: 236.09px;
    font-size: .7rem;
    font-weight: bold;
    letter-spacing: .1em;
    color: var(--sage-dk);
    text-transform: uppercase;
    font-family: Arial;
    text-align: center; }
body.page-about .nav-links { display: flex; align-items: center; gap: .25rem; list-style: none; }
body.page-about .nav-links a { font-family: var(--font-display); font-weight: 600; font-size: .95rem;
    color: var(--brown); text-decoration: none;
    padding: .4rem .85rem; border-radius: 999px;}
body.page-about .nav-links a {
  position: relative;
  transition: 
    background .2s ease,
    color .2s ease,
    box-shadow .2s ease,
    transform .2s ease;
}
body.page-about .nav-links a:hover, body.page-about .nav-links a.active {
  color: #2caee7;
  box-shadow: 0 0 0 2px rgb(1 151 170 / 22%), 0 0 16px rgb(1 106 170 / 45%), 0 0 32px rgba(43, 159, 212, .35);
  transform: translateY(-2px);
}
body.page-about .nav-cta { background: var(--terra) !important; color: #fff !important;
    box-shadow: 0 3px 0 var(--terra-dk);
    transition: transform .15s, box-shadow .15s !important; }
body.page-about .nav-cta:hover { transform: translateY(-2px); box-shadow: 0 5px 0 var(--terra-dk) !important; background: var(--terra) !important; }
body.page-about .hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 6px; background: none; border: none; }
body.page-about .hamburger span {
    display: block;
    width: 24px;
    height: 2.5px;
    background: #2caee7;
    border-radius: 2px;
    transition: all .3s;
    border-color: #00b9e7;
    box-shadow: inset 0px -0.3px 20px #399700, inset 0px -0.3px 20px #00b9e7, 0px -0.03px 24px #399700, 0px -0.3px 1px #00b9e7;
}
body.page-about .mobile-menu { display: none; position: fixed; inset: 72px 0 0 0;
    background: var(--cream); z-index: 99; padding: 2rem;
    flex-direction: column; gap: .5rem; overflow-y: auto; }
body.page-about .mobile-menu.open { display: flex; margin-top: 15px;}
body.page-about .mobile-menu a { font-family: var(--font-display); font-weight: 700; font-size: 1.2rem;
    color: var(--brown); text-decoration: none; padding: .85rem 1rem;
    border-radius: 12px; border-left: 4px solid transparent;
    transition: background .15s, border-color .15s; }
body.page-about .mobile-menu a:hover, body.page-about .mobile-menu a.active { background: var(--cream-dark); border-left-color: #2caee7; }
body.page-about .hero { position: relative;
    padding: 5rem 2rem 4rem;
    overflow: hidden; }
body.page-about .float-shape { position: absolute; border-radius: var(--radius-blob);
    animation: floatBob-about 6s ease-in-out infinite;
    z-index: 0;
    opacity: .45; }
body.page-about .fs1 { width: 170px; height: 170px; background: var(--blue); top: 7%; right: 3%; }
body.page-about .fs2 { width: 90px; height: 90px; background: var(--lavender); top: 18%; left: 8%; animation-delay: -1.5s; }
body.page-about .fs3 { width: 125px; height: 100px; background: var(--yellow); bottom: 12%; right: 9%; animation-delay: -3s; }
body.page-about .fs4 { width: 80px; height: 80px; background: var(--blue); bottom: 18%; left: 14%; animation-delay: -4.5s; }
@keyframes floatBob-about {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-16px) rotate(4deg); }
  }
body.page-about .hero-inner { position: relative; z-index: 1;
    max-width: 1200px; margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    display: grid; grid-template-columns: 1.1fr .9fr; gap: 3rem; align-items: center; }
body.page-about .hero-badge { display: inline-flex; align-items: center; gap: 6px;
    background: var(--yellow); color: #fff;
    font-family: var(--font-display); font-weight: 700; font-size: .8rem;
    letter-spacing: .08em; text-transform: uppercase;
    padding: .35rem .9rem; border-radius: 999px; margin-bottom: 1.25rem;
    box-shadow: 0 3px 0 rgba(0,0,0,.1); }
body.page-about h1, body.page-about h2, body.page-about h3, body.page-about h4 { font-family: var(--font-display); }
body.page-about .hero h1 { font-size: clamp(2.4rem, 5vw, 4rem);
    line-height: 1.06;
    margin-bottom: 1rem; }
body.page-about .hero h1 .accent { color: var(--terra); }
body.page-about .hero-sub { font-size: 1.08rem; line-height: 1.75; color: #6B5040;
    max-width: 610px; }
body.page-about .hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; }
body.page-about .btn { font-family: var(--font-display); font-weight: 700; font-size: 1rem;
    padding: .8rem 1.7rem; border-radius: 999px; border: none; cursor: pointer;
    text-decoration: none; display: inline-flex; align-items: center; gap: .45rem;
    transition: transform .15s, box-shadow .15s; }
body.page-about .btn-primary { background: var(--terra); color: #fff; box-shadow: 0 4px 0 var(--terra-dk); }
body.page-about .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 6px 0 var(--terra-dk); }
body.page-about .btn-secondary { background: #fff; color: var(--brown); border: 2px solid var(--terra-lt); box-shadow: 0 4px 0 var(--terra-lt); }
body.page-about .btn-secondary:hover { transform: translateY(-2px); box-shadow: 0 6px 0 var(--terra-lt); }
body.page-about .hero-card { background: #fff;
    border-radius: 30px;
    padding: 1.75rem;
    box-shadow: 0 8px 0 rgba(61,43,31,.08);
    position: relative; }
body.page-about .hero-card-inner { background: linear-gradient(180deg, #dff5ff 0%, #fdf6ed 100%);
    border-radius: 24px;
    padding: 1.5rem;
    border: 3px dashed var(--blue); }
body.page-about .hero-card h3 { font-size: 1.45rem;
    margin-bottom: .75rem; }
body.page-about .hero-card p { color: #6B5040;
    line-height: 1.65;
    font-size: .96rem; }
body.page-about .hero-illustration { background: linear-gradient(180deg, #dff5ff 0%, #fdf6ed 100%);
    border-radius: 24px;
    padding: 1rem;
    border: 3px dashed var(--blue); }
body.page-about .hero-note { position: absolute;
    right: -14px;
    bottom: -18px;
    background: var(--blue);
    color: #fff;
    border-radius: 50%;
    width: 110px; height: 110px;
    display: flex; align-items: center; justify-content: center;
    text-align: center; font-family: var(--font-display); font-weight: 800;
    box-shadow: 4px 4px 0 rgba(0,0,0,.12);
    line-height: 1.1;
    padding: .65rem; }
body.page-about .wave-divider { display: block; width: 100%; overflow: hidden; line-height: 0; }
body.page-about .wave-divider svg { display: block; width: 100%; }
body.page-about .section { padding: 3rem 2rem; }
body.page-about .section.alt { background: var(--cream-dark); }
body.page-about .container { max-width: 1200px; margin: 0 auto; }
body.page-about .section-label { font-family: var(--font-display); font-weight: 700; font-size: .82rem;
    letter-spacing: .12em; text-transform: uppercase; color: var(--sage-dk);
    margin-bottom: .55rem; }
body.page-about .section-title { font-size: clamp(1.9rem, 4vw, 2.8rem);
    line-height: 1.15;
    margin-bottom: .85rem; }
body.page-about .section-sub { color: #8A6A55;
    line-height: 1.7;
    font-size: 1rem; }
body.page-about .story-grid, body.page-about .founder-grid, body.page-about .promise-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: center; }
body.page-about .panel { background: #fff;
    border-radius: 28px;
    padding: 2rem;
    box-shadow: 0 6px 0 rgba(61,43,31,.07); }
body.page-about .panel p { line-height: 1.8; color: #6B5040; margin-bottom: 1rem; }
body.page-about .panel p:last-child { margin-bottom: 0; }
body.page-about .play-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin-top: 2rem; }
body.page-about .play-card { background: #fff;
    border-radius: 24px;
    padding: 1.4rem;
    box-shadow: 0 5px 0 rgba(61,43,31,.07);
    border-top: 6px solid var(--terra); }
body.page-about .play-card:nth-child(2) { border-top-color: var(--blue); }
body.page-about .play-card:nth-child(3) { border-top-color: var(--yellow); }
body.page-about .play-card:nth-child(4) { border-top-color: var(--pink); }
body.page-about .play-card:nth-child(5) { border-top-color: var(--sage); }
body.page-about .play-card:nth-child(6) { border-top-color: var(--lavender); }
body.page-about .play-icon { font-size: 2rem; margin-bottom: .7rem; }
body.page-about .play-card h3 { font-size: 1.15rem; margin-bottom: .45rem; }
body.page-about .play-card p { color: #8A6A55; line-height: 1.65; font-size: .94rem; }
body.page-about .blob-stack { position: relative; min-height: 430px; }
body.page-about .blob { position: absolute; border-radius: 32px; padding: 1.4rem;
    box-shadow: 0 6px 0 rgba(61,43,31,.08); }
body.page-about .blob.one { background: #fff; width: 74%; top: 0; left: 0;
    border: 3px dashed var(--terra); }
body.page-about .blob.two { background: var(--blue-lt); width: 62%; right: 0; top: 120px; }
body.page-about .blob.three { background: #fff7d9; width: 68%; left: 10%; bottom: 0; }
body.page-about .blob h3 { margin-bottom: .35rem; font-size: 1.1rem; }
body.page-about .blob p { color: #6B5040; line-height: 1.65; font-size: .94rem; }
body.page-about .timeline-strip { margin-top: 2rem;
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
body.page-about .timeline-card { background: #fff;
    border-radius: 22px;
    padding: 1.3rem;
    text-align: center;
    box-shadow: 0 5px 0 rgba(61,43,31,.07); }
body.page-about .timeline-card .year { display: inline-block;
    font-family: var(--font-display);
    font-weight: 800;
    color: var(--blue);
    background: var(--blue-lt);
    padding: .25rem .8rem;
    border-radius: 999px;
    margin-bottom: .7rem; }
body.page-about .timeline-card p { color: #8A6A55; line-height: 1.55; font-size: .92rem; }
body.page-about .founder-photo { background: linear-gradient(180deg, #fff 0%, #f7efe1 100%);
    border-radius: 30px;
    padding: 1.5rem;
    box-shadow: 0 7px 0 rgba(61,43,31,.07);
    position: relative; }
body.page-about .portrait-box { border-radius: 24px;
    min-height: 420px;
    background: linear-gradient(180deg, #d7f0fb 0%, #ffffff 100%);
    border: 3px dashed var(--blue);
    display: flex; align-items: center; justify-content: center;
    padding: 1.25rem; }
body.page-about .portrait-caption { margin-top: 1rem;
    background: var(--yellow-lt);
    border-radius: 18px;
    padding: .95rem 1rem;
    font-size: .95rem;
    line-height: 1.6;
    color: #4e3a29; }
body.page-about .value-pill { background: #fff;
    border-radius: 999px;
    padding: .65rem 1rem;
    font-family: var(--font-display);
    font-weight: 700;
    box-shadow: 0 4px 0 rgba(61,43,31,.07); }
body.page-about .promise-grid { margin-top: 2rem; }
body.page-about .promise-box { border-radius: 26px;
    padding: 1.6rem;
    box-shadow: 0 6px 0 rgba(61,43,31,.07); }
body.page-about .promise-box.green { background: #effcf0; border: 2px solid #cfeecf; }
body.page-about .promise-box.blue { background: #eef8fd; border: 2px solid #d5edf9; }
body.page-about .promise-box h3 { margin-bottom: .55rem; }
body.page-about .promise-box p, body.page-about .promise-box li { color: #6B5040; line-height: 1.7; }
body.page-about .promise-box ul { padding-left: 1.2rem; }
body.page-about .cta-banner { background: #2B9FD4; color: #fff; padding: 5rem 2rem;
    position: relative; overflow: hidden; }
body.page-about .cta-banner::before, body.page-about .cta-banner::after { content: ""; position: absolute; border-radius: 50%; background: rgba(255,255,255,.05); }
body.page-about .cta-banner::before { width: 380px; height: 380px; top: -150px; right: -80px; }
body.page-about .cta-banner::after { width: 260px; height: 260px; bottom: -90px; left: -40px; }
body.page-about .cta-inner { max-width: 760px; margin: 0 auto; text-align: center; position: relative; z-index: 1; }
body.page-about .cta-inner h2 { font-size: clamp(2rem, 4vw, 2.9rem);
    line-height: 1.12;
    margin-bottom: .9rem; }
body.page-about .cta-inner h2 em { font-style: normal; color: var(--yellow); }
body.page-about .cta-inner p { font-size: 1.05rem; line-height: 1.7; opacity: .9; margin-bottom: 1.9rem; }
body.page-about .btn-light { background: var(--yellow); color: var(--brown);
    box-shadow: 0 4px 0 rgba(0,0,0,.2);
    font-size: 1.05rem; padding: .9rem 2.3rem; }
body.page-about .btn-light:hover { transform: translateY(-2px); box-shadow: 0 6px 0 rgba(0,0,0,.25); }
body.page-about footer { background: #005690; color: rgba(255,255,255,.65);
    padding: 3.5rem 2rem 2rem;
    font-size: .875rem; }
body.page-about .footer-inner { max-width: 1200px; margin: 0 auto;
    display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 3rem; }
body.page-about footer h4 { font-family: var(--font-display); font-weight: 700; font-size: .95rem;
    color: rgba(255,255,255,.9); margin-bottom: .85rem; letter-spacing: .04em; }
body.page-about footer a { color: rgba(255,255,255,.55); text-decoration: none; display: block; margin-bottom: .45rem; }
body.page-about footer a:hover { color: var(--terra-lt); }
body.page-about .footer-brand p { margin-top: .75rem; line-height: 1.6; }
body.page-about .footer-bottom { max-width: 1200px; margin: 2rem auto 0;
    padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.1);
    display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .75rem;
    font-size: .8rem; }
body.page-about .reveal { opacity: 0; transform: translateY(28px); transition: opacity .6s ease, transform .6s ease; }
body.page-about .reveal.visible { opacity: 1; transform: none; }
@media (max-width: 960px) {
  body.page-about .nav-inner { position: relative; justify-content: center; }
  body.page-about .logo { position: absolute; left: 50%; transform: translateX(-50%); }
  body.page-about .hamburger { position: absolute; right: 0rem; display: flex; }
  body.page-about .nav-links { display: none; }
  body.page-about .story-grid, body.page-about .founder-grid, body.page-about .promise-grid { grid-template-columns: 1fr; }
  body.page-about .play-card-grid { grid-template-columns: 1fr 1fr; }
  body.page-about .timeline-strip { grid-template-columns: 1fr 1fr; }
  body.page-about .footer-inner { grid-template-columns: 1fr 1fr; gap: 2rem; }
  body.page-about .hero-card { max-width: 500px; margin: 0 auto; }
  body.page-about .hero { padding-top: 4rem; }
  body.page-about .hero-inner { grid-template-columns: 1fr;
        text-align: center; }
}
@media (max-width: 640px) {
  body.page-about .play-card-grid { display: flex;
          gap: 1rem;
          overflow-x: auto;
          overflow-y: hidden;
          scroll-snap-type: x mandatory;
          -webkit-overflow-scrolling: touch;
          padding: .25rem .5rem 1rem;
          margin: 2rem -0.5rem 0; }
  body.page-about .play-card-grid::-webkit-scrollbar { display: none; }
  body.page-about .play-card-grid { scrollbar-width: none; }
  body.page-about .play-card { flex: 0 0 85%;
          scroll-snap-align: center;
          margin: 0; }
  body.page-about .play-card-grid::after { content: "";
          flex: 0 0 .5rem; }
  body.page-about .timeline-strip { display: flex;
          gap: 1rem;
          overflow-x: auto;
          overflow-y: hidden;
          scroll-snap-type: x mandatory;
          -webkit-overflow-scrolling: touch;
          padding: .25rem .5rem 1rem;
          margin: 2rem -0.5rem 0;
          scrollbar-width: none; }
  body.page-about .timeline-strip::-webkit-scrollbar { display: none; }
  body.page-about .timeline-card { flex: 0 0 85%;
          scroll-snap-align: center;
          margin: 0; }
  body.page-about .timeline-strip::after { content: "";
          flex: 0 0 .5rem; }
  body.page-about .footer-inner { grid-template-columns: 1fr; }
  body.page-about .hero-actions { flex-direction: column; align-items: stretch; }
  body.page-about .btn { justify-content: center; }
  body.page-about .blob-stack { min-height: auto; display: grid; gap: 1rem; }
  body.page-about .blob { position: static; width: 100% !important; }
  body.page-about .hero-note { position: static; width: auto; height: auto; border-radius: 18px; margin-top: 1rem;
        padding: .9rem 1rem; }
  body.page-about .footer-bottom { flex-direction: column; text-align: center; }
  body.page-about .hero-card { display: none; }
  body.page-about .play-card-grid .reveal, body.page-about .timeline-strip .reveal { opacity: 1 !important;
        transform: none !important;
        transition: none !important; }
}

/* ===== programs.html scoped styles (page-programs) ===== */
body.page-programs { font-family: var(--font-body);
    background: var(--cream);
    color: var(--brown);
    overflow-x: hidden; }
body.page-programs nav { position: sticky; top: 0; z-index: 100;
    background: rgba(253,246,237,0.92);
    backdrop-filter: blur(8px);
    border-bottom: 2px solid var(--sage-lt);
    padding: 0 2rem; }
body.page-programs .nav-inner { max-width: 1200px; margin: 0 auto;
    display: flex; align-items: center; justify-content: space-between;
    height: 100px; }
body.page-programs .logo { display: flex; flex-direction: column; align-items: center;
    text-decoration: none; color: var(--brown); }
body.page-programs .logo-text { font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.1; }
body.page-programs .logo-text span { display: block;
    min-width: 236.09px;
    font-size: .7rem;
    font-weight: bold;
    letter-spacing: .1em;
    color: var(--sage-dk);
    text-transform: uppercase;
    font-family: Arial;
    text-align: center; }
body.page-programs .nav-links { display: flex; align-items: center; gap: .25rem; list-style: none; }
body.page-programs .nav-links a { font-family: var(--font-display); font-weight: 600; font-size: .95rem;
    color: var(--brown); text-decoration: none;
    padding: .4rem .85rem; border-radius: 999px;}
body.page-programs .nav-links a {
  position: relative;
  transition: 
    background .2s ease,
    color .2s ease,
    box-shadow .2s ease,
    transform .2s ease;
}
body.page-programs .nav-links a:hover, body.page-programs .nav-links a.active {
  color: #2caee7;
  box-shadow: 0 0 0 2px rgb(1 151 170 / 22%), 0 0 16px rgb(1 106 170 / 45%), 0 0 32px rgba(43, 159, 212, .35);
  transform: translateY(-2px);
}
body.page-programs .nav-cta { background: var(--terra) !important; color: #fff !important;
    box-shadow: 0 3px 0 var(--terra-dk);
    transition: transform .15s, box-shadow .15s !important; }
body.page-programs .nav-cta:hover { transform: translateY(-2px); box-shadow: 0 5px 0 var(--terra-dk) !important; background: var(--terra) !important; }
body.page-programs .hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 6px; background: none; border: none; }
body.page-programs .hamburger span {
    display: block;
    width: 24px;
    height: 2.5px;
    background: #2caee7;
    border-radius: 2px;
    transition: all .3s;
    border-color: #00b9e7;
    box-shadow: inset 0px -0.3px 20px #399700, inset 0px -0.3px 20px #00b9e7, 0px -0.03px 24px #399700, 0px -0.3px 1px #00b9e7;
}
body.page-programs .mobile-menu { display: none; position: fixed; inset: 72px 0 0 0;
    background: var(--cream); z-index: 99; padding: 2rem;
    flex-direction: column; gap: .5rem; overflow-y: auto; }
body.page-programs .mobile-menu.open { display: flex; margin-top: 15px;}
body.page-programs .mobile-menu a { font-family: var(--font-display); font-weight: 700; font-size: 1.2rem;
    color: var(--brown); text-decoration: none; padding: .85rem 1rem;
    border-radius: 12px; border-left: 4px solid transparent;
    transition: background .15s, border-color .15s; }
body.page-programs .mobile-menu a:hover, body.page-programs .mobile-menu a.active { background: var(--cream-dark); border-left-color: #2caee7; }
body.page-programs .hero { position: relative;
    padding: 5rem 2rem 2rem;
    overflow: hidden; }
body.page-programs .float-shape { position: absolute; border-radius: var(--radius-blob);
    animation: floatBob-programs 6s ease-in-out infinite;
    z-index: 0;
    opacity: .45; }
body.page-programs .fs1 { width: 170px; height: 170px; background: var(--terra-lt); top: 7%; right: 8%; }
body.page-programs .fs2 { width: 90px; height: 90px; background: var(--lavender); top: 18%; left: 8%; animation-delay: -1.5s; }
body.page-programs .fs3 { width: 125px; height: 100px; background: var(--yellow); bottom: 12%; right: 20%; animation-delay: -3s; }
body.page-programs .fs4 { width: 80px; height: 80px; background: var(--blue); bottom: 18%; left: 14%; animation-delay: -4.5s; }
@keyframes floatBob-programs {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-16px) rotate(4deg); }
  }
body.page-programs .hero-inner { position: relative; z-index: 1;
    max-width: 1200px; margin: 0 auto;
    display: grid; grid-template-columns: 1.1fr .9fr; gap: 3rem; align-items: center; }
body.page-programs .hero-badge { display: inline-flex; align-items: center; gap: 6px;
    background: var(--yellow); color: #fff;
    font-family: var(--font-display); font-weight: 700; font-size: .8rem;
    letter-spacing: .08em; text-transform: uppercase;
    padding: .35rem .9rem; border-radius: 999px; margin-bottom: 1.25rem;
    box-shadow: 0 3px 0 rgba(0,0,0,.1); }
body.page-programs h1, body.page-programs h2, body.page-programs h3, body.page-programs h4 { font-family: var(--font-display); }
body.page-programs .hero h1 { font-size: clamp(2.4rem, 5vw, 4rem);
    line-height: 1.06;
    margin-bottom: 1rem; }
body.page-programs .hero h1 .accent { color: var(--terra); }
body.page-programs .hero-sub { font-size: 1.08rem; line-height: 1.75; color: #6B5040;
    max-width: 610px; margin-bottom: 1.8rem; }
body.page-programs .hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; }
body.page-programs .btn { font-family: var(--font-display); font-weight: 700; font-size: 1rem;
    padding: .8rem 1.7rem; border-radius: 999px; border: none; cursor: pointer;
    text-decoration: none; display: inline-flex; align-items: center; gap: .45rem;
    transition: transform .15s, box-shadow .15s; }
body.page-programs .btn-primary { background: var(--terra); color: #fff; box-shadow: 0 4px 0 var(--terra-dk); }
body.page-programs .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 6px 0 var(--terra-dk); }
body.page-programs .btn-secondary { background: #fff; color: var(--brown); border: 2px solid var(--terra-lt); box-shadow: 0 4px 0 var(--terra-lt); }
body.page-programs .btn-secondary:hover { transform: translateY(-2px); box-shadow: 0 6px 0 var(--terra-lt); }
body.page-programs .hero-card { background: #fff;
    border-radius: 30px;
    padding: 1.75rem;
    box-shadow: 0 8px 0 rgba(61,43,31,.08);
    position: relative; }
body.page-programs .hero-illustration { background: linear-gradient(180deg, #dff5ff 0%, #fdf6ed 100%);
    border-radius: 24px;
    padding: 1rem;
    border: 3px dashed var(--blue); }
body.page-programs .hero-note { position: absolute;
    right: -14px;
    bottom: -18px;
    background: var(--blue);
    color: #fff;
    border-radius: 50%;
    width: 110px; height: 110px;
    display: flex; align-items: center; justify-content: center;
    text-align: center; font-family: var(--font-display); font-weight: 800;
    box-shadow: 4px 4px 0 rgba(0,0,0,.12);
    line-height: 1.1;
    padding: .65rem; }
body.page-programs .wave-divider { display: block; width: 100%; overflow: hidden; line-height: 0; }
body.page-programs .wave-divider svg { display: block; width: 100%; }
body.page-programs .section { padding: 3rem 2rem; }
body.page-programs .section.alt { background: var(--cream-dark); }
body.page-programs .container { max-width: 1200px; margin: 0 auto; }
body.page-programs .section-label { font-family: var(--font-display); font-weight: 700; font-size: .82rem;
    letter-spacing: .12em; text-transform: uppercase; color: var(--sage-dk);
    margin-bottom: .55rem; }
body.page-programs .section-title { font-size: clamp(1.9rem, 4vw, 2.8rem);
    line-height: 1.15;
    margin-bottom: .85rem; }
body.page-programs .section-sub { color: #8A6A55;
    line-height: 1.7;
    font-size: 1rem; }
body.page-programs .story-grid, body.page-programs .founder-grid, body.page-programs .promise-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: center; }
body.page-programs .panel { background: #fff;
    border-radius: 28px;
    padding: 2rem;
    box-shadow: 0 6px 0 rgba(61,43,31,.07); }
body.page-programs .panel p { line-height: 1.8; color: #6B5040; margin-bottom: 1rem; }
body.page-programs .panel p:last-child { margin-bottom: 0; }
body.page-programs .play-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin-top: 2rem; }
body.page-programs .play-card { background: #fff;
    border-radius: 24px;
    padding: 1.4rem;
    box-shadow: 0 5px 0 rgba(61,43,31,.07);
    border-top: 6px solid var(--terra); }
body.page-programs .play-card:nth-child(2) { border-top-color: var(--blue); }
body.page-programs .play-card:nth-child(3) { border-top-color: var(--yellow); }
body.page-programs .play-card:nth-child(4) { border-top-color: var(--pink); }
body.page-programs .play-card:nth-child(5) { border-top-color: var(--sage); }
body.page-programs .play-card:nth-child(6) { border-top-color: var(--lavender); }
body.page-programs .play-icon { font-size: 2rem; margin-bottom: .7rem; }
body.page-programs .play-card h3 { font-size: 1.15rem; margin-bottom: .45rem; }
body.page-programs .play-card p { color: #8A6A55; line-height: 1.65; font-size: .94rem; }
body.page-programs .blob-stack { position: relative; min-height: 430px; }
body.page-programs .blob { position: absolute; border-radius: 32px; padding: 1.4rem;
    box-shadow: 0 6px 0 rgba(61,43,31,.08); }
body.page-programs .blob.one { background: #fff; width: 74%; top: 0; left: 0;
    border: 3px dashed var(--terra); }
body.page-programs .blob.two { background: var(--blue-lt); width: 62%; right: 0; top: 120px; }
body.page-programs .blob.three { background: #fff7d9; width: 68%; left: 10%; bottom: 0; }
body.page-programs .blob h3 { margin-bottom: .35rem; font-size: 1.1rem; }
body.page-programs .blob p { color: #6B5040; line-height: 1.65; font-size: .94rem; }
body.page-programs .timeline-strip { margin-top: 2rem;
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
body.page-programs .timeline-card { background: #fff;
    border-radius: 22px;
    padding: 1.3rem;
    text-align: center;
    box-shadow: 0 5px 0 rgba(61,43,31,.07); }
body.page-programs .timeline-card .year { display: inline-block;
    font-family: var(--font-display);
    font-weight: 800;
    color: var(--blue);
    background: var(--blue-lt);
    padding: .25rem .8rem;
    border-radius: 999px;
    margin-bottom: .7rem; }
body.page-programs .timeline-card p { color: #8A6A55; line-height: 1.55; font-size: .92rem; }
body.page-programs .founder-photo { background: linear-gradient(180deg, #fff 0%, #f7efe1 100%);
    border-radius: 30px;
    padding: 1.5rem;
    box-shadow: 0 7px 0 rgba(61,43,31,.07);
    position: relative; }
body.page-programs .portrait-box { border-radius: 24px;
    min-height: 420px;
    background: linear-gradient(180deg, #d7f0fb 0%, #ffffff 100%);
    border: 3px dashed var(--blue);
    display: flex; align-items: center; justify-content: center;
    padding: 1.25rem; }
body.page-programs .portrait-caption { margin-top: 1rem;
    background: var(--yellow-lt);
    border-radius: 18px;
    padding: .95rem 1rem;
    font-size: .95rem;
    line-height: 1.6;
    color: #4e3a29; }
body.page-programs .value-pill { background: #fff;
    border-radius: 999px;
    padding: .65rem 1rem;
    font-family: var(--font-display);
    font-weight: 700;
    box-shadow: 0 4px 0 rgba(61,43,31,.07); }
body.page-programs .promise-grid { margin-top: 2rem; }
body.page-programs .promise-box { border-radius: 26px;
    padding: 1.6rem;
    box-shadow: 0 6px 0 rgba(61,43,31,.07); }
body.page-programs .promise-box.green { background: #effcf0; border: 2px solid #cfeecf; }
body.page-programs .promise-box.blue { background: #eef8fd; border: 2px solid #d5edf9; }
body.page-programs .promise-box h3 { margin-bottom: .55rem; }
body.page-programs .promise-box p, body.page-programs .promise-box li { color: #6B5040; line-height: 1.7; }
body.page-programs .promise-box ul { padding-left: 1.2rem; }
body.page-programs .cta-banner { background: #2B9FD4; color: #fff; padding: 5rem 2rem;
    position: relative; overflow: hidden; }
body.page-programs .cta-banner::before, body.page-programs .cta-banner::after { content: ""; position: absolute; border-radius: 50%; background: rgba(255,255,255,.05); }
body.page-programs .cta-banner::before { width: 380px; height: 380px; top: -150px; right: -80px; }
body.page-programs .cta-banner::after { width: 260px; height: 260px; bottom: -90px; left: -40px; }
body.page-programs .cta-inner { max-width: 760px; margin: 0 auto; text-align: center; position: relative; z-index: 1; }
body.page-programs .cta-inner h2 { font-size: clamp(2rem, 4vw, 2.9rem);
    line-height: 1.12;
    margin-bottom: .9rem; }
body.page-programs .cta-inner h2 em { font-style: normal; color: var(--yellow); }
body.page-programs .cta-inner p { font-size: 1.05rem; line-height: 1.7; opacity: .9; margin-bottom: 1.9rem; }
body.page-programs .btn-light { background: var(--yellow); color: white;
    box-shadow: 0 4px 0 rgba(0,0,0,.2);
    font-size: 1.05rem; padding: .9rem 2.3rem; }
body.page-programs .btn-light:hover { transform: translateY(-2px); box-shadow: 0 6px 0 rgba(0,0,0,.25); }
body.page-programs footer { background: #005690; color: rgba(255,255,255,.65);
    padding: 3.5rem 2rem 2rem;
    font-size: .875rem; }
body.page-programs .footer-inner { max-width: 1200px; margin: 0 auto;
    display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 3rem; }
body.page-programs footer h4 { font-family: var(--font-display); font-weight: 700; font-size: .95rem;
    color: rgba(255,255,255,.9); margin-bottom: .85rem; letter-spacing: .04em; }
body.page-programs footer a { color: rgba(255,255,255,.55); text-decoration: none; display: block; margin-bottom: .45rem; }
body.page-programs footer a:hover { color: var(--terra-lt); }
body.page-programs .footer-brand p { margin-top: .75rem; line-height: 1.6; }
body.page-programs .footer-bottom { max-width: 1200px; margin: 2rem auto 0;
    padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.1);
    display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .75rem;
    font-size: .8rem; }
body.page-programs .reveal { opacity: 0; transform: translateY(28px); transition: opacity .6s ease, transform .6s ease; }
body.page-programs .reveal.visible { opacity: 1; transform: none; }
@media (max-width: 960px) {
  body.page-programs .nav-inner { position: relative; justify-content: center; }
  body.page-programs .logo { position: absolute; left: 50%; transform: translateX(-50%); }
  body.page-programs .hamburger { position: absolute; right: 0rem; display: flex; }
  body.page-programs .nav-links { display: none; }
  body.page-programs .hero-inner, body.page-programs .story-grid, body.page-programs .founder-grid, body.page-programs .promise-grid { grid-template-columns: 1fr; }
  body.page-programs .play-card-grid { grid-template-columns: 1fr 1fr; }
  body.page-programs .timeline-strip { grid-template-columns: 1fr 1fr; }
  body.page-programs .footer-inner { grid-template-columns: 1fr 1fr; gap: 2rem; }
  body.page-programs .hero-card { max-width: 500px; margin: 0 auto; }
  body.page-programs .hero { padding-top: 4rem; }
  body.page-programs .hero-inner { grid-template-columns: 1fr;
        text-align: center; }
}
@media (max-width: 640px) {
  body.page-programs .play-card-grid { display: flex;
          gap: 1rem;
          overflow-x: auto;
          overflow-y: hidden;
          scroll-snap-type: x mandatory;
          -webkit-overflow-scrolling: touch;
          padding: .25rem .5rem 1rem;
          margin: 2rem -0.5rem 0; }
  body.page-programs .play-card-grid::-webkit-scrollbar { display: none; }
  body.page-programs .play-card-grid { scrollbar-width: none; }
  body.page-programs .play-card { flex: 0 0 85%;
          scroll-snap-align: center;
          margin: 0; }
  body.page-programs .play-card-grid::after { content: "";
          flex: 0 0 .5rem; }
  body.page-programs .timeline-strip { display: flex;
          gap: 1rem;
          overflow-x: auto;
          overflow-y: hidden;
          scroll-snap-type: x mandatory;
          -webkit-overflow-scrolling: touch;
          padding: .25rem .5rem 1rem;
          margin: 2rem -0.5rem 0;
          scrollbar-width: none; }
  body.page-programs .timeline-strip::-webkit-scrollbar { display: none; }
  body.page-programs .timeline-card { flex: 0 0 85%;
          scroll-snap-align: center;
          margin: 0; }
  body.page-programs .timeline-strip::after { content: "";
          flex: 0 0 .5rem; }
  body.page-programs .footer-inner { grid-template-columns: 1fr; }
  body.page-programs .hero-actions { flex-direction: column; align-items: stretch; }
  body.page-programs .btn { justify-content: center; }
  body.page-programs .blob-stack { min-height: auto; display: grid; gap: 1rem; }
  body.page-programs .blob { position: static; width: 100% !important; }
  body.page-programs .hero-note { position: static; width: auto; height: auto; border-radius: 18px; margin-top: 1rem;
        padding: .9rem 1rem; }
  body.page-programs .footer-bottom { flex-direction: column; text-align: center; }
  body.page-programs .hero-card { display: none; }
  body.page-programs .play-card-grid .reveal, body.page-programs .timeline-strip .reveal { opacity: 1 !important;
        transform: none !important;
        transition: none !important; }
}

/* ===== enrollment.html scoped styles (page-enrollment) ===== */
body.page-enrollment { font-family: var(--font-body);
    background: var(--cream);
    color: var(--brown);
    overflow-x: hidden; }
body.page-enrollment nav { position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(253,246,237,0.92);
    backdrop-filter: blur(8px);
    border-bottom: 2px solid var(--sage-lt);
    padding: 0 2rem; }
body.page-enrollment .nav-inner { max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100px; }
body.page-enrollment .logo { display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: var(--brown); }
body.page-enrollment .nav-links { display: flex;
    align-items: center;
    gap: .25rem;
    list-style: none; }
body.page-enrollment .nav-links a { font-family: var(--font-display); font-weight: 600; font-size: .95rem;
    color: var(--brown); text-decoration: none;
    padding: .4rem .85rem; border-radius: 999px;}
body.page-enrollment .nav-links a {
  position: relative;
  transition: 
    background .2s ease,
    color .2s ease,
    box-shadow .2s ease,
    transform .2s ease;
}
body.page-enrollment .nav-links a:hover, body.page-enrollment .nav-links a.active {
  color: #2caee7;
  box-shadow: 0 0 0 2px rgb(1 151 170 / 22%), 0 0 16px rgb(1 106 170 / 45%), 0 0 32px rgba(43, 159, 212, .35);
  transform: translateY(-2px);
}
body.page-enrollment .nav-cta { background: var(--terra) !important;
    color: #fff !important;
    box-shadow: 0 3px 0 var(--terra-dk);
    transition: transform .15s, box-shadow .15s !important; }
body.page-enrollment .nav-cta:hover { transform: translateY(-2px);
    box-shadow: 0 5px 0 var(--terra-dk) !important;
    background: var(--terra) !important; }
body.page-enrollment .hamburger { display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    padding: 6px;
    background: none;
    border: none; }
body.page-enrollment .hamburger span {
    display: block;
    width: 24px;
    height: 2.5px;
    background: #2caee7;
    border-radius: 2px;
    transition: all .3s;
    border-color: #00b9e7;
    box-shadow: inset 0px -0.3px 20px #399700, inset 0px -0.3px 20px #00b9e7, 0px -0.03px 24px #399700, 0px -0.3px 1px #00b9e7;
}
body.page-enrollment .mobile-menu { display: none;
    position: fixed;
    inset: 72px 0 0 0;
    background: var(--cream);
    z-index: 99;
    padding: 2rem;
    flex-direction: column;
    gap: .5rem;
    overflow-y: auto; }
body.page-enrollment .mobile-menu.open { display: flex; margin-top: 15px;}
body.page-enrollment .mobile-menu a { font-family: var(--font-display);
    font-weight: 700;
    font-size: 1.2rem;
    color: var(--brown);
    text-decoration: none;
    padding: .85rem 1rem;
    border-radius: 12px;
    border-left: 4px solid transparent;
    transition: background .15s, border-color .15s; }
body.page-enrollment .mobile-menu a:hover, body.page-enrollment .mobile-menu a.active { background: var(--cream-dark);
    border-left-color: #2caee7; }
body.page-enrollment h1, body.page-enrollment h2, body.page-enrollment h3, body.page-enrollment h4 { font-family: var(--font-display); }
body.page-enrollment .btn { font-family: var(--font-display);
    font-weight: 700;
    font-size: 1rem;
    padding: .75rem 1.75rem;
    border-radius: 999px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    transition: transform .15s, box-shadow .15s; }
body.page-enrollment .btn-primary { background: var(--terra);
    color: #fff;
    box-shadow: 0 4px 0 var(--terra-dk); }
body.page-enrollment .btn-primary:hover { transform: translateY(-2px);
    box-shadow: 0 6px 0 var(--terra-dk); }
body.page-enrollment .btn-secondary { background: #fff;
    color: var(--brown);
    box-shadow: 0 4px 0 var(--terra-lt);
    border: 2px solid var(--terra-lt); }
body.page-enrollment .btn-secondary:hover { transform: translateY(-2px);
    box-shadow: 0 6px 0 var(--terra-lt); }
body.page-enrollment .hero { position: relative;
    padding: 5rem 2rem 4rem;
    overflow: hidden; }
body.page-enrollment .hero-bg { position: absolute;
    inset: 0;
    z-index: 0; }
body.page-enrollment .float-shape { position: absolute;
    border-radius: var(--radius-blob);
    animation: floatBob-enrollment 6s ease-in-out infinite;
    z-index: 0; }
body.page-enrollment .fs1 { width: 170px;
    height: 170px;
    background: var(--terra-lt);
    top: 7%;
    right: 8%;
    opacity: .45; }
body.page-enrollment .fs2 { width: 90px;
    height: 90px;
    background: var(--lavender);
    top: 18%;
    left: 8%;
    animation-delay: -1.5s;
    opacity: .45; }
body.page-enrollment .fs3 { width: 125px;
    height: 100px;
    background: var(--yellow);
    bottom: 12%;
    right: 20%;
    animation-delay: -3s;
    opacity: .45; }
body.page-enrollment .fs4 { width: 80px;
    height: 80px;
    background: var(--blue);
    bottom: 18%;
    left: 14%;
    animation-delay: -4.5s;
    opacity: .45; }
@keyframes floatBob-enrollment {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-16px) rotate(4deg); }
  }
body.page-enrollment .hero-inner { position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 3rem;
    align-items: center; }
body.page-enrollment .hero-badge { display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--yellow);
    color: white;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: .8rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: .35rem .9rem;
    border-radius: 999px;
    margin-bottom: 1.25rem;
    box-shadow: 0 3px 0 rgba(0,0,0,.1); }
body.page-enrollment .hero h1 { font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(2.4rem, 5vw, 3.8rem);
    line-height: 1.1;
    color: var(--brown);
    margin-bottom: 1.25rem; }
body.page-enrollment .hero h1 em { font-style: normal;
    color: var(--terra); }
body.page-enrollment .hero-sub { font-size: 1.1rem;
    line-height: 1.7;
    color: #6B5040;
    max-width: 620px;
    margin-bottom: 2rem; }
body.page-enrollment .hero-card { background: #fff;
    border-radius: 30px;
    padding: 1.75rem;
    box-shadow: 0 8px 0 rgba(61,43,31,.08);
    position: relative; }
body.page-enrollment .hero-card-inner { background: linear-gradient(180deg, #dff5ff 0%, #fdf6ed 100%);
    border-radius: 24px;
    padding: 1.5rem;
    border: 3px dashed var(--blue); }
body.page-enrollment .hero-card h3 { font-size: 1.45rem;
    margin-bottom: .75rem; }
body.page-enrollment .hero-card p { color: #6B5040;
    line-height: 1.65;
    font-size: .96rem; }
body.page-enrollment .hero-actions {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}
body.page-enrollment .section { padding: 3rem 2rem; }
body.page-enrollment .section.alt { background: var(--cream-dark); }
body.page-enrollment .container { max-width: 1200px;
    margin: 0 auto; }
body.page-enrollment .section-label { font-family: var(--font-display);
    font-weight: 700;
    font-size: .8rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--sage-dk);
    margin-bottom: .5rem; }
body.page-enrollment .section-title { font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(1.8rem, 3.5vw, 2.6rem);
    color: var(--brown);
    line-height: 1.2;
    margin-bottom: .75rem; }
body.page-enrollment .section-sub { font-size: 1rem;
    color: #8A6A55;
    line-height: 1.6; }
body.page-enrollment .panel { background: #fff;
    border-radius: 28px;
    padding: 2rem;
    box-shadow: 0 6px 0 rgba(61,43,31,.07); }
body.page-enrollment .panel p { line-height: 1.8;
    color: #6B5040;
    margin-bottom: 1rem; }
body.page-enrollment .panel p:last-child { margin-bottom: 0; }
body.page-enrollment .condition-grid { display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin-top: 2rem; }
body.page-enrollment .condition-card { background: #fff;
    border-radius: 22px;
    padding: 1.3rem;
    text-align: center;
    box-shadow: 0 5px 0 rgba(61,43,31,.07); }
body.page-enrollment .condition-card:nth-child(1) { border-top: 5px solid var(--terra); }
body.page-enrollment .condition-card:nth-child(2) { border-top: 5px solid var(--blue); }
body.page-enrollment .condition-card:nth-child(3) { border-top: 5px solid var(--yellow); }
body.page-enrollment .condition-card:nth-child(4) { border-top: 5px solid var(--pink); }
body.page-enrollment .condition-icon { font-size: 2rem;
    margin-bottom: .6rem; }
body.page-enrollment .condition-card h3 { font-size: 1rem;
    margin-bottom: .35rem; }
body.page-enrollment .condition-card p { color: #8A6A55;
    line-height: 1.55;
    font-size: .9rem; }
body.page-enrollment .form-shell { background: #fff;
    border-radius: 30px;
    padding: 2rem;
    box-shadow: 0 8px 0 rgba(61,43,31,.08); }
body.page-enrollment .form-section { background: var(--cream);
    border-radius: 24px;
    padding: 1.6rem;
    margin-bottom: 1.5rem;
    border: 2.5px solid transparent;
    box-shadow: 0 5px 0 rgba(61,43,31,.05); }
body.page-enrollment .form-section:nth-child(1) { border-color: var(--terra-lt); }
body.page-enrollment .form-section:nth-child(2) { border-color: var(--blue); }
body.page-enrollment .form-section:nth-child(3) { border-color: var(--sage-lt); }
body.page-enrollment .form-section:nth-child(4) { border-color: var(--yellow-lt); }
body.page-enrollment .form-section h3 { font-size: 1.35rem;
    margin-bottom: 1rem;
    color: var(--brown); }
body.page-enrollment .form-grid { display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.1rem; }
body.page-enrollment .form-group { display: flex;
    flex-direction: column; }
body.page-enrollment .form-group.full { grid-column: 1 / -1; }
body.page-enrollment label { font-family: var(--font-display);
    font-weight: 700;
    font-size: .95rem;
    color: var(--brown);
    margin-bottom: .35rem; }
body.page-enrollment input, body.page-enrollment select, body.page-enrollment textarea { width: 100%;
    font-family: var(--font-body);
    font-size: .95rem;
    color: var(--brown);
    background: #fff;
    border: 2px solid var(--sage-lt);
    border-radius: 16px;
    padding: .85rem 1rem;
    outline: none;
    transition: border-color .2s, box-shadow .2s; }
body.page-enrollment input:focus, body.page-enrollment select:focus, body.page-enrollment textarea:focus { border-color: var(--blue);
    box-shadow: 0 0 0 4px rgba(43,159,212,.12); }
body.page-enrollment textarea { min-height: 115px;
    resize: vertical; }
body.page-enrollment .ack-box { background: #fff;
    border-radius: 22px;
    padding: 1.2rem;
    border: 2.5px dashed var(--blue);
    display: flex;
    gap: .8rem;
    align-items: flex-start;
    box-shadow: 0 5px 0 rgba(61,43,31,.05); }
body.page-enrollment .ack-box input { width: 18px;
    height: 18px;
    margin-top: .35rem;
    accent-color: var(--terra);
    flex: 0 0 auto; }
body.page-enrollment .ack-box label { font-family: var(--font-body);
    font-weight: 500;
    line-height: 1.65;
    color: #6B5040;
    margin: 0; }
body.page-enrollment .form-actions { display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    margin-top: 1.8rem; }
body.page-enrollment .form-note { color: #8A6A55;
    line-height: 1.6;
    font-size: .92rem;
    max-width: 680px; }
body.page-enrollment footer { background: #005690;
    color: rgba(255,255,255,.65);
    padding: 3.5rem 2rem 2rem;
    font-size: .875rem; }
body.page-enrollment .footer-inner { max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 3rem; }
body.page-enrollment footer h4 { font-family: var(--font-display);
    font-weight: 700;
    font-size: .95rem;
    color: rgba(255,255,255,.9);
    margin-bottom: .85rem;
    letter-spacing: .04em; }
body.page-enrollment footer a { color: rgba(255,255,255,.55);
    text-decoration: none;
    display: block;
    margin-bottom: .45rem; }
body.page-enrollment footer a:hover { color: var(--terra-lt); }
body.page-enrollment .footer-brand p { margin-top: .75rem;
    line-height: 1.6; }
body.page-enrollment .footer-bottom { max-width: 1200px;
    margin: 2rem auto 0;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255,255,255,.1);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: .75rem;
    font-size: .8rem; }
body.page-enrollment .reveal { opacity: 0;
    transform: translateY(28px);
    transition: opacity .6s ease, transform .6s ease; }
body.page-enrollment .reveal.visible { opacity: 1;
    transform: none; }
@media (max-width: 960px) {
  body.page-enrollment .nav-inner { position: relative;
        justify-content: center; }
  body.page-enrollment .logo { position: absolute;
        left: 50%;
        transform: translateX(-50%); }
  body.page-enrollment .hamburger { position: absolute;
        right: 0rem;
        display: flex; }
  body.page-enrollment .nav-links { display: none; }
  body.page-enrollment .hero-inner { grid-template-columns: 1fr;
        text-align: center; }
  body.page-enrollment .hero-sub { margin-left: auto;
        margin-right: auto; }
  body.page-enrollment .condition-grid { grid-template-columns: 1fr 1fr; }
  body.page-enrollment .footer-inner { grid-template-columns: 1fr 1fr;
        gap: 2rem; }
  body.page-enrollment .hero-actions { justify-content: center; }
}
@media (max-width: 640px) {
  body.page-enrollment .hero { padding: 4rem 1.25rem 3.5rem; }
  body.page-enrollment .section { padding: 4rem 1.25rem; }
  body.page-enrollment .hero-card { display: none; }
  body.page-enrollment .condition-grid { display: flex;
        gap: 1rem;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding: .25rem .5rem 1rem;
        margin: 2rem -.5rem 0;
        scrollbar-width: none; }
  body.page-enrollment .condition-grid::-webkit-scrollbar { display: none; }
  body.page-enrollment .condition-card { flex: 0 0 85%;
        scroll-snap-align: center; }
  body.page-enrollment .condition-grid::after { content: "";
        flex: 0 0 .5rem; }
  body.page-enrollment .form-shell { padding: 1.25rem;
        border-radius: 26px; }
  body.page-enrollment .form-section { padding: 1.25rem; }
  body.page-enrollment .form-grid { grid-template-columns: 1fr; }
  body.page-enrollment .form-actions { flex-direction: column;
        align-items: stretch; }
  body.page-enrollment .btn { width: 100%; }
  body.page-enrollment .footer-inner { grid-template-columns: 1fr; }
  body.page-enrollment .footer-bottom { flex-direction: column;
        text-align: center; }
  body.page-enrollment .condition-grid .reveal { opacity: 1 !important;
        transform: none !important;
        transition: none !important; }
}

/* ===== Enrollment Submitted ===== */

body.page-enrollment-submitted .hero {
  min-height: calc(100vh - 100px);
  display: flex;
  align-items: center;
  padding: 2rem 2rem 3rem;
}

body.page-enrollment-submitted .hero-inner {
  position: relative;
  z-index: 1;
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.4rem;
  text-align: center;
  padding: 2.2rem;
  border-radius: 38px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.76), rgba(253,246,237,.54));
  border: 2px solid rgba(255,255,255,.78);
  box-shadow:
    0 20px 45px rgba(61,43,31,.12),
    0 8px 0 rgba(61,43,31,.06),
    inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  overflow: hidden;
}

body.page-enrollment-submitted .hero-inner::before {
  content: "✓";
  width: 86px;
  height: 86px;
  margin: 0 auto .25rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.59) 0%, rgba(255, 255, 255, 0.179) 18%, transparent 34%),
    linear-gradient(145deg, rgba(36,227,7,.95) 0%, rgba(57,151,0,.95) 48%, rgba(0,185,231,.9) 100%);  color: white;
  font-family: var(--font-display);
  font-size: 3rem;
  font-weight: 800;
box-shadow: inset 0 1px 0 #00b9e7,
      inset 0 -1px 0 #00b9e7,
      0 10px 24px #00b9e7,
      0 5px 0 #00b9e7
}

body.page-enrollment-submitted .hero-inner::after {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  right: -75px;
  top: -90px;
  border-radius: 50%;
  background: rgba(43,159,212,.16);
  z-index: -1;
}

body.page-enrollment-submitted .hero-text {
  max-width: 760px;
  margin: 0 auto;
}

body.page-enrollment-submitted .hero h1 {
  margin-bottom: 1rem;
}

body.page-enrollment-submitted .hero-sub {
  max-width: 680px;
  margin: 0 auto;
}

body.page-enrollment-submitted .hero-card {
  max-width: 680px;
  width: 100%;
  margin: .5rem auto 0;
  padding: .85rem;
  border-radius: 30px;
  background: rgba(255,255,255,.78);
  border: 1.5px solid rgba(255,255,255,.85);
  box-shadow:
    0 10px 24px rgba(61,43,31,.10),
    inset 0 1px 0 rgba(255,255,255,.92);
}

body.page-enrollment-submitted .hero-card-inner {
  border-radius: 24px;
  padding: 1.5rem;
  background: linear-gradient(180deg, #dff5ff 0%, #fdf6ed 100%);
  border: 3px dashed var(--blue);
}

body.page-enrollment-submitted .submitted-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: .5rem;
  width: 100%;
}

@media (max-width: 640px) {
  body.page-enrollment-submitted .hero {
    min-height: auto;
    padding: 2rem 1.25rem 3rem;
  }

  body.page-enrollment-submitted .hero-inner {
    padding: 1.35rem;
    border-radius: 30px;
  }

  body.page-enrollment-submitted .hero-inner::before {
    width: 72px;
    height: 72px;
    font-size: 2.5rem;
  }

  body.page-enrollment-submitted .hero-card {
    display: block;
    padding: .65rem;
  }

  body.page-enrollment-submitted .submitted-actions {
    flex-direction: column;
    align-items: center;
  }

  body.page-enrollment-submitted .submitted-actions .btn {
    width: auto;
    min-width: 190px;
    max-width: 260px;
  }
}

/* ===== montessori-faq.html scoped styles (page-faq) ===== */
body.page-faq { font-family: var(--font-body);
    background: var(--cream);
    color: var(--brown);
    overflow-x: hidden; }
body.page-faq nav { position: sticky; top: 0; z-index: 100;
    background: rgba(253,246,237,0.92);
    backdrop-filter: blur(8px);
    border-bottom: 2px solid var(--sage-lt);
    padding: 0 2rem; }
body.page-faq .nav-inner { max-width: 1200px; margin: 0 auto;
    display: flex; align-items: center; justify-content: space-between;
    height: 100px; }
body.page-faq .logo { display: flex; flex-direction: column; align-items: center;
    text-decoration: none; color: var(--brown); }
body.page-faq .nav-links { display: flex; align-items: center; gap: .25rem; list-style: none; }
body.page-faq .nav-links a { font-family: var(--font-display); font-weight: 600; font-size: .95rem;
    color: var(--brown); text-decoration: none;
    padding: .4rem .85rem; border-radius: 999px;}
body.page-faq .nav-links a {
  position: relative;
  transition: 
    background .2s ease,
    color .2s ease,
    box-shadow .2s ease,
    transform .2s ease;
}
body.page-faq .nav-links a:hover, body.page-faq .nav-links a.active {
  color: #2caee7;
  box-shadow: 0 0 0 2px rgb(1 151 170 / 22%), 0 0 16px rgb(1 106 170 / 45%), 0 0 32px rgba(43, 159, 212, .35);
  transform: translateY(-2px);
}
body.page-faq .nav-cta { background: var(--terra) !important; color: #fff !important;
    box-shadow: 0 3px 0 var(--terra-dk);
    transition: transform .15s, box-shadow .15s !important; }
body.page-faq .nav-cta:hover { transform: translateY(-2px); box-shadow: 0 5px 0 var(--terra-dk) !important; background: var(--terra) !important; }
body.page-faq .hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 6px; background: none; border: none; }
body.page-faq .hamburger span {
    display: block;
    width: 24px;
    height: 2.5px;
    background: #2caee7;
    border-radius: 2px;
    transition: all .3s;
    border-color: #00b9e7;
    box-shadow: inset 0px -0.3px 20px #399700, inset 0px -0.3px 20px #00b9e7, 0px -0.03px 24px #399700, 0px -0.3px 1px #00b9e7;
}
body.page-faq .mobile-menu { display: none; position: fixed; inset: 72px 0 0 0;
    background: var(--cream); z-index: 99; padding: 2rem;
    flex-direction: column; gap: .5rem; overflow-y: auto; }
body.page-faq .mobile-menu.open { display: flex; margin-top: 15px;}
body.page-faq .mobile-menu a { font-family: var(--font-display); font-weight: 700; font-size: 1.2rem;
    color: var(--brown); text-decoration: none; padding: .85rem 1rem;
    border-radius: 12px; border-left: 4px solid transparent;
    transition: background .15s, border-color .15s; }
body.page-faq .mobile-menu a:hover, body.page-faq .mobile-menu a.active { background: var(--cream-dark); border-left-color: #2caee7; }
body.page-faq .hero { position: relative;
    padding: 5rem 2rem 4rem;
    overflow: hidden; }
body.page-faq .float-shape { position: absolute; border-radius: var(--radius-blob);
    animation: floatBob-faq 6s ease-in-out infinite;
    z-index: 0;
    opacity: .45; }
body.page-faq .fs1 { width: 170px; height: 170px; background: var(--terra-lt); top: 7%; right: 8%; }
body.page-faq .fs2 { width: 90px; height: 90px; background: var(--lavender); top: 18%; left: 8%; animation-delay: -1.5s; }
body.page-faq .fs3 { width: 125px; height: 100px; background: var(--yellow); bottom: 12%; right: 20%; animation-delay: -3s; }
body.page-faq .fs4 { width: 80px; height: 80px; background: var(--blue); bottom: 18%; left: 14%; animation-delay: -4.5s; }
@keyframes floatBob-faq {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-16px) rotate(4deg); }
  }
body.page-faq .hero-inner { position: relative; z-index: 1;
    max-width: 1200px; margin: 0 auto;
    display: grid; grid-template-columns: 1.1fr .9fr; gap: 3rem; align-items: center; }
body.page-faq .hero-badge { display: inline-flex; align-items: center; gap: 6px;
    background: var(--yellow); color: #fff;
    font-family: var(--font-display); font-weight: 700; font-size: .8rem;
    letter-spacing: .08em; text-transform: uppercase;
    padding: .35rem .9rem; border-radius: 999px; margin-bottom: 1.25rem;
    box-shadow: 0 3px 0 rgba(0,0,0,.1); }
body.page-faq h1, body.page-faq h2, body.page-faq h3, body.page-faq h4 { font-family: var(--font-display); }
body.page-faq .hero h1 { font-size: clamp(2.4rem, 5vw, 4rem);
    line-height: 1.06;
    margin-bottom: 1rem; }
body.page-faq .hero h1 .accent { color: var(--terra); }
body.page-faq .hero-sub { font-size: 1.08rem; line-height: 1.75; color: #6B5040;
    max-width: 610px; margin-bottom: 1.8rem; }
body.page-faq .hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; }
body.page-faq .btn { font-family: var(--font-display); font-weight: 700; font-size: 1rem;
    padding: .8rem 1.7rem; border-radius: 999px; border: none; cursor: pointer;
    text-decoration: none; display: inline-flex; align-items: center; gap: .45rem;
    transition: transform .15s, box-shadow .15s; }
body.page-faq .btn-primary { background: var(--terra); color: #fff; box-shadow: 0 4px 0 var(--terra-dk); }
body.page-faq .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 6px 0 var(--terra-dk); }
body.page-faq .btn-secondary { background: #fff; color: var(--brown); border: 2px solid var(--terra-lt); box-shadow: 0 4px 0 var(--terra-lt); }
body.page-faq .btn-secondary:hover { transform: translateY(-2px); box-shadow: 0 6px 0 var(--terra-lt); }
body.page-faq .hero-card { background: #fff;
    border-radius: 30px;
    padding: 1.75rem;
    box-shadow: 0 8px 0 rgba(61,43,31,.08);
    position: relative; }
body.page-faq .hero-card-inner, body.page-faq .hero-illustration { background: linear-gradient(180deg, #dff5ff 0%, #fdf6ed 100%);
    border-radius: 24px;
    padding: 1.5rem;
    border: 3px dashed var(--blue); }
body.page-faq .hero-card h3 { font-size: 1.45rem; margin-bottom: .75rem; }
body.page-faq .hero-card p { color: #6B5040; line-height: 1.65; font-size: .96rem; }
body.page-faq .wave-divider { display: block; width: 100%; overflow: hidden; line-height: 0; }
body.page-faq .wave-divider svg { display: block; width: 100%; }
body.page-faq .section { padding: 3rem 2rem; }
body.page-faq .section.alt { background: var(--cream-dark); }
body.page-faq .container { max-width: 1200px; margin: 0 auto; }
body.page-faq .section-label { font-family: var(--font-display); font-weight: 700; font-size: .82rem;
    letter-spacing: .12em; text-transform: uppercase; color: var(--sage-dk);
    margin-bottom: .55rem; }
body.page-faq .section-title { font-size: clamp(1.9rem, 4vw, 2.8rem);
    line-height: 1.15;
    margin-bottom: .85rem; }
body.page-faq .section-sub { color: #8A6A55; line-height: 1.7; font-size: 1rem; }
body.page-faq .panel { background: #fff;
    border-radius: 28px;
    padding: 2rem;
    box-shadow: 0 6px 0 rgba(61,43,31,.07); }
body.page-faq .panel p { line-height: 1.8; color: #6B5040; margin-bottom: 1rem; }
body.page-faq .panel p:last-child { margin-bottom: 0; }
body.page-faq .story-grid, body.page-faq .founder-grid, body.page-faq .promise-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: start; }
body.page-faq .play-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin-top: 2rem; }
body.page-faq .play-card { background: #fff;
    border-radius: 24px;
    padding: 1.4rem;
    box-shadow: 0 5px 0 rgba(61,43,31,.07);
    border-top: 6px solid var(--terra); }
body.page-faq .play-card:nth-child(2) { border-top-color: var(--blue); }
body.page-faq .play-card:nth-child(3) { border-top-color: var(--yellow); }
body.page-faq .play-card:nth-child(4) { border-top-color: var(--pink); }
body.page-faq .play-card:nth-child(5) { border-top-color: var(--sage); }
body.page-faq .play-card:nth-child(6) { border-top-color: var(--lavender); }
body.page-faq .play-icon { font-size: 2rem; margin-bottom: .7rem; }
body.page-faq .play-card h3 { font-size: 1.15rem; margin-bottom: .45rem; }
body.page-faq .play-card p { color: #8A6A55; line-height: 1.65; font-size: .94rem; }
body.page-faq .timeline-strip { margin-top: 2rem;
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
body.page-faq .timeline-card { background: #fff;
    border-radius: 22px;
    padding: 1.3rem;
    text-align: center;
    box-shadow: 0 5px 0 rgba(61,43,31,.07); }
body.page-faq .timeline-card .year { display: inline-block;
    font-family: var(--font-display);
    font-weight: 800;
    color: var(--blue);
    background: var(--blue-lt);
    padding: .25rem .8rem;
    border-radius: 999px;
    margin-bottom: .7rem; }
body.page-faq .timeline-card p { color: #8A6A55; line-height: 1.55; font-size: .92rem; }
body.page-faq .promise-grid { margin-top: 2rem; }
body.page-faq .promise-box { border-radius: 26px;
    padding: 1.6rem;
    box-shadow: 0 6px 0 rgba(61,43,31,.07); }
body.page-faq .promise-box.green { background: #effcf0; border: 2px solid #cfeecf; }
body.page-faq .promise-box.blue { background: #eef8fd; border: 2px solid #d5edf9; }
body.page-faq .promise-box h3 { margin-bottom: .55rem; }
body.page-faq .promise-box p, body.page-faq .promise-box li { color: #6B5040; line-height: 1.7; }
body.page-faq .promise-box ul { padding-left: 1.2rem; }
body.page-faq .cta-banner { background: #2B9FD4; color: #fff; padding: 5rem 2rem;
    position: relative; overflow: hidden; }
body.page-faq .cta-banner::before, body.page-faq .cta-banner::after { content: ""; position: absolute; border-radius: 50%; background: rgba(255,255,255,.05); }
body.page-faq .cta-banner::before { width: 380px; height: 380px; top: -150px; right: -80px; }
body.page-faq .cta-banner::after { width: 260px; height: 260px; bottom: -90px; left: -40px; }
body.page-faq .cta-inner { max-width: 760px; margin: 0 auto; text-align: center; position: relative; z-index: 1; }
body.page-faq .cta-inner h2 { font-size: clamp(2rem, 4vw, 2.9rem); line-height: 1.12; margin-bottom: .9rem; }
body.page-faq .cta-inner h2 em { font-style: normal; color: var(--yellow); }
body.page-faq .cta-inner p { font-size: 1.05rem; line-height: 1.7; opacity: .9; margin-bottom: 1.9rem; }
body.page-faq .btn-light { background: var(--yellow); color: white; box-shadow: 0 4px 0 rgba(0,0,0,.2); font-size: 1.05rem; padding: .9rem 2.3rem; }
body.page-faq .btn-light:hover { transform: translateY(-2px); box-shadow: 0 6px 0 rgba(0,0,0,.25); }
body.page-faq footer { background: #005690; color: rgba(255,255,255,.65);
    padding: 3.5rem 2rem 2rem;
    font-size: .875rem; }
body.page-faq .footer-inner { max-width: 1200px; margin: 0 auto;
    display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 3rem; }
body.page-faq footer h4 { font-family: var(--font-display); font-weight: 700; font-size: .95rem;
    color: rgba(255,255,255,.9); margin-bottom: .85rem; letter-spacing: .04em; }
body.page-faq footer a { color: rgba(255,255,255,.55); text-decoration: none; display: block; margin-bottom: .45rem; }
body.page-faq footer a:hover { color: var(--terra-lt); }
body.page-faq .footer-brand p { margin-top: .75rem; line-height: 1.6; }
body.page-faq .footer-bottom { max-width: 1200px; margin: 2rem auto 0;
    padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.1);
    display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .75rem;
    font-size: .8rem; }
body.page-faq .reveal { opacity: 0; transform: translateY(28px); transition: opacity .6s ease, transform .6s ease; }
body.page-faq .reveal.visible { opacity: 1; transform: none; }
body.page-faq .policy-layout { display: grid; grid-template-columns: 280px 1fr; gap: 2rem; align-items: start; }
body.page-faq .toc-card { position: sticky; top: 125px; background: #fff; border-radius: 24px; padding: 1.4rem; box-shadow: 0 5px 0 rgba(61,43,31,.07); border: 2px dashed var(--sage-lt); }
body.page-faq .toc-card h3 { font-size: 1.15rem; margin-bottom: .8rem; }
body.page-faq .toc-card a { display: block; color: #6B5040; text-decoration: none; font-family: var(--font-display); font-weight: 700; padding: .35rem .2rem; }
body.page-faq .toc-card a:hover { color: var(--terra); }
body.page-faq .policy-stack { display: grid; gap: 1.15rem; }
body.page-faq .policy-card { background: #fff; border-radius: 24px; padding: 1.55rem; box-shadow: 0 5px 0 rgba(61,43,31,.07); border-left: 6px solid var(--terra); }
body.page-faq .policy-card:nth-child(2n) { border-left-color: var(--blue); }
body.page-faq .policy-card:nth-child(3n) { border-left-color: var(--yellow); }
body.page-faq .policy-card h3 { font-size: 1.35rem; margin-bottom: .6rem; }
body.page-faq .policy-card p, body.page-faq .policy-card li { color: #6B5040; line-height: 1.75; }
body.page-faq .policy-card ul { padding-left: 1.2rem; margin-top: .6rem; }
body.page-faq .small-note { font-size: .92rem; color: #8A6A55; line-height: 1.6; margin-top: .75rem; }
body.page-faq .faq-layout { display: grid; grid-template-columns: .95fr 1.05fr; gap: 2rem; align-items: start; }
body.page-faq .faq-list { display: grid; gap: 1rem; }
body.page-faq details.faq-item { background: #fff; border-radius: 22px; box-shadow: 0 5px 0 rgba(61,43,31,.07); border: 2px solid transparent; overflow: hidden; }
body.page-faq details.faq-item:nth-child(1) { border-color: var(--terra-lt); }
body.page-faq details.faq-item:nth-child(2) { border-color: var(--blue); }
body.page-faq details.faq-item:nth-child(3) { border-color: var(--sage-lt); }
body.page-faq details.faq-item:nth-child(4) { border-color: var(--yellow-lt); }
body.page-faq details.faq-item:nth-child(5) { border-color: var(--pink-lt); }
body.page-faq details.faq-item:nth-child(6) { border-color: var(--lav-lt); }
body.page-faq details.faq-item:nth-child(7) { border-color: var(--terra-lt); }
body.page-faq details.faq-item:nth-child(8) { border-color: var(--blue); }
body.page-faq .faq-item summary { list-style: none; cursor: pointer; padding: 1.2rem 1.35rem; font-family: var(--font-display); font-weight: 800; font-size: 1.08rem; display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
body.page-faq .faq-item summary::-webkit-details-marker { display: none; }
body.page-faq .faq-item summary::after { content: "+"; width: 30px; height: 30px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--blue-lt); color: var(--blue); font-family: var(--font-display); font-weight: 800; flex: 0 0 auto; }
body.page-faq .faq-item[open] summary::after { content: "–"; background: var(--terra); color: #fff; }
body.page-faq .faq-item p { padding: 0 1.35rem 1.25rem; color: #6B5040; line-height: 1.75; }
body.page-faq .faq-side-card { background: #fff; border-radius: 28px; padding: 1.7rem; box-shadow: 0 6px 0 rgba(61,43,31,.07); }
body.page-faq .faq-side-card-inner { background: linear-gradient(180deg, #dff5ff 0%, #fdf6ed 100%); border-radius: 22px; padding: 1.4rem; border: 3px dashed var(--blue); }
body.page-faq .faq-side-card h3 { margin-bottom: .6rem; }
body.page-faq .faq-side-card p { color: #6B5040; line-height: 1.7; }
@media (max-width: 960px) {
  body.page-faq .nav-inner { position: relative; justify-content: center; }
  body.page-faq .logo { position: absolute; left: 50%; transform: translateX(-50%); }
  body.page-faq .hamburger { position: absolute; right: 0rem; display: flex; }
  body.page-faq .nav-links { display: none; }
  body.page-faq .hero-inner, body.page-faq .story-grid, body.page-faq .founder-grid, body.page-faq .promise-grid, body.page-faq .policy-layout, body.page-faq .faq-layout { grid-template-columns: 1fr; }
  body.page-faq .play-card-grid { grid-template-columns: 1fr 1fr; }
  body.page-faq .timeline-strip { grid-template-columns: 1fr 1fr; }
  body.page-faq .footer-inner { grid-template-columns: 1fr 1fr; gap: 2rem; }
  body.page-faq .hero-card { max-width: 500px; margin: 0 auto; }
  body.page-faq .hero { padding-top: 4rem; }
  body.page-faq .hero-inner { text-align: center; }
  body.page-faq .hero-sub { margin-left: auto; margin-right: auto; }
  body.page-faq .hero-actions { justify-content: center; }
  body.page-faq .toc-card { position: static; }
}
@media (max-width: 640px) {
  body.page-faq .hero { padding: 4rem 1.25rem 1rem; }
  body.page-faq .section { padding: 3rem 1.25rem; }
  body.page-faq .play-card-grid, body.page-faq .timeline-strip { display: flex;
          gap: 1rem;
          overflow-x: auto;
          overflow-y: hidden;
          scroll-snap-type: x mandatory;
          -webkit-overflow-scrolling: touch;
          padding: .25rem .5rem 1rem;
          margin: 2rem -0.5rem 0;
          scrollbar-width: none; }
  body.page-faq .play-card-grid::-webkit-scrollbar, body.page-faq .timeline-strip::-webkit-scrollbar { display: none; }
  body.page-faq .play-card, body.page-faq .timeline-card { flex: 0 0 85%; scroll-snap-align: center; margin: 0; }
  body.page-faq .play-card-grid::after, body.page-faq .timeline-strip::after { content: ""; flex: 0 0 .5rem; }
  body.page-faq .footer-inner { grid-template-columns: 1fr; }
  body.page-faq .hero-actions { flex-direction: column; align-items: stretch; }
  body.page-faq .btn { justify-content: center; }
  body.page-faq .hero-card { display: none; }
  body.page-faq .footer-bottom { flex-direction: column; text-align: center; }
  body.page-faq .policy-card, body.page-faq .panel, body.page-faq .faq-side-card { padding: 1.25rem; }
  body.page-faq .timeline-strip .reveal { opacity: 1 !important;
        transform: none !important;
        transition: none !important; }
}

/* ===== privacy-policy.html scoped styles (page-privacy) ===== */
body.page-privacy { font-family: var(--font-body);
    background: var(--cream);
    color: var(--brown);
    overflow-x: hidden; }
body.page-privacy nav { position: sticky; top: 0; z-index: 100;
    background: rgba(253,246,237,0.92);
    backdrop-filter: blur(8px);
    border-bottom: 2px solid var(--sage-lt);
    padding: 0 2rem; }
body.page-privacy .nav-inner { max-width: 1200px; margin: 0 auto;
    display: flex; align-items: center; justify-content: space-between;
    height: 100px; }
body.page-privacy .logo { display: flex; flex-direction: column; align-items: center;
    text-decoration: none; color: var(--brown); }
body.page-privacy .nav-links { display: flex; align-items: center; gap: .25rem; list-style: none; }
body.page-privacy .nav-links a { font-family: var(--font-display); font-weight: 600; font-size: .95rem;
    color: var(--brown); text-decoration: none;
    padding: .4rem .85rem; border-radius: 999px;}
body.page-privacy .nav-links a {
  position: relative;
  transition: 
    background .2s ease,
    color .2s ease,
    box-shadow .2s ease,
    transform .2s ease;
}
body.page-privacy .nav-links a:hover, body.page-privacy .nav-links a.active {
  color: #2caee7;
  box-shadow: 0 0 0 2px rgb(1 151 170 / 22%), 0 0 16px rgb(1 106 170 / 45%), 0 0 32px rgba(43, 159, 212, .35);
  transform: translateY(-2px);
}
body.page-privacy .nav-cta { background: var(--terra) !important; color: #fff !important;
    box-shadow: 0 3px 0 var(--terra-dk);
    transition: transform .15s, box-shadow .15s !important; }
body.page-privacy .nav-cta:hover { transform: translateY(-2px); box-shadow: 0 5px 0 var(--terra-dk) !important; background: var(--terra) !important; }
body.page-privacy .hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 6px; background: none; border: none; }
body.page-privacy .hamburger span {
    display: block;
    width: 24px;
    height: 2.5px;
    background: #2caee7;
    border-radius: 2px;
    transition: all .3s;
    border-color: #00b9e7;
    box-shadow: inset 0px -0.3px 20px #399700, inset 0px -0.3px 20px #00b9e7, 0px -0.03px 24px #399700, 0px -0.3px 1px #00b9e7;
}
body.page-privacy .mobile-menu { display: none; position: fixed; inset: 72px 0 0 0;
    background: var(--cream); z-index: 99; padding: 2rem;
    flex-direction: column; gap: .5rem; overflow-y: auto; }
body.page-privacy .mobile-menu.open { display: flex; margin-top: 15px;}
body.page-privacy .mobile-menu a { font-family: var(--font-display); font-weight: 700; font-size: 1.2rem;
    color: var(--brown); text-decoration: none; padding: .85rem 1rem;
    border-radius: 12px; border-left: 4px solid transparent;
    transition: background .15s, border-color .15s; }
body.page-privacy .mobile-menu a:hover, body.page-privacy .mobile-menu a.active { background: var(--cream-dark); border-left-color: #2caee7; }
body.page-privacy .hero { position: relative;
    padding: 5rem 2rem 4rem;
    overflow: hidden; }
body.page-privacy .float-shape { position: absolute; border-radius: var(--radius-blob);
    animation: floatBob-privacy 6s ease-in-out infinite;
    z-index: 0;
    opacity: .45; }
body.page-privacy .fs1 { width: 170px; height: 170px; background: var(--terra-lt); top: 7%; right: 8%; }
body.page-privacy .fs2 { width: 90px; height: 90px; background: var(--lavender); top: 18%; left: 8%; animation-delay: -1.5s; }
body.page-privacy .fs3 { width: 125px; height: 100px; background: var(--yellow); bottom: 12%; right: 20%; animation-delay: -3s; }
body.page-privacy .fs4 { width: 80px; height: 80px; background: var(--blue); bottom: 18%; left: 14%; animation-delay: -4.5s; }
@keyframes floatBob-privacy {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-16px) rotate(4deg); }
  }
body.page-privacy .hero-inner { position: relative; z-index: 1;
    max-width: 1200px; margin: 0 auto;
    display: grid; grid-template-columns: 1.1fr .9fr; gap: 3rem; align-items: center; }
body.page-privacy .hero-badge { display: inline-flex; align-items: center; gap: 6px;
    background: var(--yellow); color: #fff;
    font-family: var(--font-display); font-weight: 700; font-size: .8rem;
    letter-spacing: .08em; text-transform: uppercase;
    padding: .35rem .9rem; border-radius: 999px; margin-bottom: 1.25rem;
    box-shadow: 0 3px 0 rgba(0,0,0,.1); }
body.page-privacy h1, body.page-privacy h2, body.page-privacy h3, body.page-privacy h4 { font-family: var(--font-display); }
body.page-privacy .hero h1 { font-size: clamp(2.4rem, 5vw, 4rem);
    line-height: 1.06;
    margin-bottom: 1rem; }
body.page-privacy .hero h1 .accent { color: var(--terra); }
body.page-privacy .hero-sub { font-size: 1.08rem; line-height: 1.75; color: #6B5040;
    max-width: 610px; margin-bottom: 1.8rem; }
body.page-privacy .hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; }
body.page-privacy .btn { font-family: var(--font-display); font-weight: 700; font-size: 1rem;
    padding: .8rem 1.7rem; border-radius: 999px; border: none; cursor: pointer;
    text-decoration: none; display: inline-flex; align-items: center; gap: .45rem;
    transition: transform .15s, box-shadow .15s; }
body.page-privacy .btn-primary { background: var(--terra); color: #fff; box-shadow: 0 4px 0 var(--terra-dk); }
body.page-privacy .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 6px 0 var(--terra-dk); }
body.page-privacy .btn-secondary { background: #fff; color: var(--brown); border: 2px solid var(--terra-lt); box-shadow: 0 4px 0 var(--terra-lt); }
body.page-privacy .btn-secondary:hover { transform: translateY(-2px); box-shadow: 0 6px 0 var(--terra-lt); }
body.page-privacy .hero-card { background: #fff;
    border-radius: 30px;
    padding: 1.75rem;
    box-shadow: 0 8px 0 rgba(61,43,31,.08);
    position: relative; }
body.page-privacy .hero-card-inner, body.page-privacy .hero-illustration { background: linear-gradient(180deg, #dff5ff 0%, #fdf6ed 100%);
    border-radius: 24px;
    padding: 1.5rem;
    border: 3px dashed var(--blue); }
body.page-privacy .hero-card h3 { font-size: 1.45rem; margin-bottom: .75rem; }
body.page-privacy .hero-card p { color: #6B5040; line-height: 1.65; font-size: .96rem; }
body.page-privacy .wave-divider { display: block; width: 100%; overflow: hidden; line-height: 0; }
body.page-privacy .wave-divider svg { display: block; width: 100%; }
body.page-privacy .section { padding: 3rem 2rem; }
body.page-privacy .section.alt { background: var(--cream-dark); }
body.page-privacy .container { max-width: 1200px; margin: 0 auto; }
body.page-privacy .section-label { font-family: var(--font-display); font-weight: 700; font-size: .82rem;
    letter-spacing: .12em; text-transform: uppercase; color: var(--sage-dk);
    margin-bottom: .55rem; }
body.page-privacy .section-title { font-size: clamp(1.9rem, 4vw, 2.8rem);
    line-height: 1.15;
    margin-bottom: .85rem; }
body.page-privacy .section-sub { color: #8A6A55; line-height: 1.7; font-size: 1rem; }
body.page-privacy .panel { background: #fff;
    border-radius: 28px;
    padding: 2rem;
    box-shadow: 0 6px 0 rgba(61,43,31,.07); }
body.page-privacy .panel p { line-height: 1.8; color: #6B5040; margin-bottom: 1rem; }
body.page-privacy .panel p:last-child { margin-bottom: 0; }
body.page-privacy .story-grid, body.page-privacy .founder-grid, body.page-privacy .promise-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: start; }
body.page-privacy .play-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin-top: 2rem; }
body.page-privacy .play-card { background: #fff;
    border-radius: 24px;
    padding: 1.4rem;
    box-shadow: 0 5px 0 rgba(61,43,31,.07);
    border-top: 6px solid var(--terra); }
body.page-privacy .play-card:nth-child(2) { border-top-color: var(--blue); }
body.page-privacy .play-card:nth-child(3) { border-top-color: var(--yellow); }
body.page-privacy .play-card:nth-child(4) { border-top-color: var(--pink); }
body.page-privacy .play-card:nth-child(5) { border-top-color: var(--sage); }
body.page-privacy .play-card:nth-child(6) { border-top-color: var(--lavender); }
body.page-privacy .play-icon { font-size: 2rem; margin-bottom: .7rem; }
body.page-privacy .play-card h3 { font-size: 1.15rem; margin-bottom: .45rem; }
body.page-privacy .play-card p { color: #8A6A55; line-height: 1.65; font-size: .94rem; }
body.page-privacy .timeline-strip { margin-top: 2rem;
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
body.page-privacy .timeline-card { background: #fff;
    border-radius: 22px;
    padding: 1.3rem;
    text-align: center;
    box-shadow: 0 5px 0 rgba(61,43,31,.07); }
body.page-privacy .timeline-card .year { display: inline-block;
    font-family: var(--font-display);
    font-weight: 800;
    color: var(--blue);
    background: var(--blue-lt);
    padding: .25rem .8rem;
    border-radius: 999px;
    margin-bottom: .7rem; }
body.page-privacy .timeline-card p { color: #8A6A55; line-height: 1.55; font-size: .92rem; }
body.page-privacy .promise-grid { margin-top: 2rem; }
body.page-privacy .promise-box { border-radius: 26px;
    padding: 1.6rem;
    box-shadow: 0 6px 0 rgba(61,43,31,.07); }
body.page-privacy .promise-box.green { background: #effcf0; border: 2px solid #cfeecf; }
body.page-privacy .promise-box.blue { background: #eef8fd; border: 2px solid #d5edf9; }
body.page-privacy .promise-box h3 { margin-bottom: .55rem; }
body.page-privacy .promise-box p, body.page-privacy .promise-box li { color: #6B5040; line-height: 1.7; }
body.page-privacy .promise-box ul { padding-left: 1.2rem; }
body.page-privacy .cta-banner { background: #2B9FD4; color: #fff; padding: 5rem 2rem;
    position: relative; overflow: hidden; }
body.page-privacy .cta-banner::before, body.page-privacy .cta-banner::after { content: ""; position: absolute; border-radius: 50%; background: rgba(255,255,255,.05); }
body.page-privacy .cta-banner::before { width: 380px; height: 380px; top: -150px; right: -80px; }
body.page-privacy .cta-banner::after { width: 260px; height: 260px; bottom: -90px; left: -40px; }
body.page-privacy .cta-inner { max-width: 760px; margin: 0 auto; text-align: center; position: relative; z-index: 1; }
body.page-privacy .cta-inner h2 { font-size: clamp(2rem, 4vw, 2.9rem); line-height: 1.12; margin-bottom: .9rem; }
body.page-privacy .cta-inner h2 em { font-style: normal; color: var(--yellow); }
body.page-privacy .cta-inner p { font-size: 1.05rem; line-height: 1.7; opacity: .9; margin-bottom: 1.9rem; }
body.page-privacy .btn-light { background: var(--yellow); color: white; box-shadow: 0 4px 0 rgba(0,0,0,.2); font-size: 1.05rem; padding: .9rem 2.3rem; }
body.page-privacy .btn-light:hover { transform: translateY(-2px); box-shadow: 0 6px 0 rgba(0,0,0,.25); }
body.page-privacy footer { background: #005690; color: rgba(255,255,255,.65);
    padding: 3.5rem 2rem 2rem;
    font-size: .875rem; }
body.page-privacy .footer-inner { max-width: 1200px; margin: 0 auto;
    display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 3rem; }
body.page-privacy footer h4 { font-family: var(--font-display); font-weight: 700; font-size: .95rem;
    color: rgba(255,255,255,.9); margin-bottom: .85rem; letter-spacing: .04em; }
body.page-privacy footer a { color: rgba(255,255,255,.55); text-decoration: none; display: block; margin-bottom: .45rem; }
body.page-privacy footer a:hover { color: var(--terra-lt); }
body.page-privacy .footer-brand p { margin-top: .75rem; line-height: 1.6; }
body.page-privacy .footer-bottom { max-width: 1200px; margin: 2rem auto 0;
    padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.1);
    display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .75rem;
    font-size: .8rem; }
body.page-privacy .reveal { opacity: 0; transform: translateY(28px); transition: opacity .6s ease, transform .6s ease; }
body.page-privacy .reveal.visible { opacity: 1; transform: none; }
body.page-privacy .policy-layout { display: grid; grid-template-columns: 280px 1fr; gap: 2rem; align-items: start; }
body.page-privacy .toc-card { position: sticky; top: 125px; background: #fff; border-radius: 24px; padding: 1.4rem; box-shadow: 0 5px 0 rgba(61,43,31,.07); border: 2px dashed var(--sage-lt); }
body.page-privacy .toc-card h3 { font-size: 1.15rem; margin-bottom: .8rem; }
body.page-privacy .toc-card a { display: block; color: #6B5040; text-decoration: none; font-family: var(--font-display); font-weight: 700; padding: .35rem .2rem; }
body.page-privacy .toc-card a:hover { color: var(--terra); }
body.page-privacy .policy-stack { display: grid; gap: 1.15rem; }
body.page-privacy .policy-card { background: #fff; border-radius: 24px; padding: 1.55rem; box-shadow: 0 5px 0 rgba(61,43,31,.07); border-left: 6px solid var(--terra); }
body.page-privacy .policy-card:nth-child(2n) { border-left-color: var(--blue); }
body.page-privacy .policy-card h3 { font-size: 1.35rem; margin-bottom: .6rem; }
body.page-privacy .policy-card p, body.page-privacy .policy-card li { color: #6B5040; line-height: 1.75; }
body.page-privacy .policy-card ul { padding-left: 1.2rem; margin-top: .6rem; }
body.page-privacy .small-note { font-size: .92rem; color: #8A6A55; line-height: 1.6; margin-top: .75rem; }
body.page-privacy .faq-layout { display: grid; grid-template-columns: .95fr 1.05fr; gap: 2rem; align-items: start; }
body.page-privacy .faq-list { display: grid; gap: 1rem; }
body.page-privacy details.faq-item { background: #fff; border-radius: 22px; box-shadow: 0 5px 0 rgba(61,43,31,.07); border: 2px solid transparent; overflow: hidden; }
body.page-privacy details.faq-item:nth-child(1) { border-color: var(--terra-lt); }
body.page-privacy details.faq-item:nth-child(2) { border-color: var(--blue); }
body.page-privacy details.faq-item:nth-child(3) { border-color: var(--sage-lt); }
body.page-privacy details.faq-item:nth-child(4) { border-color: var(--yellow-lt); }
body.page-privacy details.faq-item:nth-child(5) { border-color: var(--pink-lt); }
body.page-privacy details.faq-item:nth-child(6) { border-color: var(--lav-lt); }
body.page-privacy details.faq-item:nth-child(7) { border-color: var(--terra-lt); }
body.page-privacy details.faq-item:nth-child(8) { border-color: var(--blue); }
body.page-privacy .faq-item summary { list-style: none; cursor: pointer; padding: 1.2rem 1.35rem; font-family: var(--font-display); font-weight: 800; font-size: 1.08rem; display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
body.page-privacy .faq-item summary::-webkit-details-marker { display: none; }
body.page-privacy .faq-item summary::after { content: "+"; width: 30px; height: 30px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--blue-lt); color: var(--blue); font-family: var(--font-display); font-weight: 800; flex: 0 0 auto; }
body.page-privacy .faq-item[open] summary::after { content: "–"; background: var(--terra); color: #fff; }
body.page-privacy .faq-item p { padding: 0 1.35rem 1.25rem; color: #6B5040; line-height: 1.75; }
body.page-privacy .faq-side-card { background: #fff; border-radius: 28px; padding: 1.7rem; box-shadow: 0 6px 0 rgba(61,43,31,.07); }
body.page-privacy .faq-side-card-inner { background: linear-gradient(180deg, #dff5ff 0%, #fdf6ed 100%); border-radius: 22px; padding: 1.4rem; border: 3px dashed var(--blue); }
body.page-privacy .faq-side-card h3 { margin-bottom: .6rem; }
body.page-privacy .faq-side-card p { color: #6B5040; line-height: 1.7; }
@media (max-width: 960px) {
  body.page-privacy .nav-inner { position: relative; justify-content: center; }
  body.page-privacy .logo { position: absolute; left: 50%; transform: translateX(-50%); }
  body.page-privacy .hamburger { position: absolute; right: 0rem; display: flex; }
  body.page-privacy .nav-links { display: none; }
  body.page-privacy .hero-inner, body.page-privacy .story-grid, body.page-privacy .founder-grid, body.page-privacy .promise-grid, body.page-privacy .policy-layout, body.page-privacy .faq-layout { grid-template-columns: 1fr; }
  body.page-privacy .play-card-grid { grid-template-columns: 1fr 1fr; }
  body.page-privacy .timeline-strip { grid-template-columns: 1fr 1fr; }
  body.page-privacy .footer-inner { grid-template-columns: 1fr 1fr; gap: 2rem; }
  body.page-privacy .hero-card { max-width: 500px; margin: 0 auto; }
  body.page-privacy .hero { padding-top: 4rem; }
  body.page-privacy .hero-inner { text-align: center; }
  body.page-privacy .hero-sub { margin-left: auto; margin-right: auto; }
  body.page-privacy .hero-actions { justify-content: center; }
  body.page-privacy .toc-card { position: static; }
}
@media (max-width: 640px) {
  body.page-privacy .hero { padding: 4rem 1.25rem 3.5rem; }
  body.page-privacy .section { padding: 4rem 1.25rem; }
  body.page-privacy .play-card-grid, body.page-privacy .timeline-strip { display: flex;
          gap: 1rem;
          overflow-x: auto;
          overflow-y: hidden;
          scroll-snap-type: x mandatory;
          -webkit-overflow-scrolling: touch;
          padding: .25rem .5rem 1rem;
          margin: 2rem -0.5rem 0;
          scrollbar-width: none; }
  body.page-privacy .play-card-grid::-webkit-scrollbar, body.page-privacy .timeline-strip::-webkit-scrollbar { display: none; }
  body.page-privacy .play-card, body.page-privacy .timeline-card { flex: 0 0 85%; scroll-snap-align: center; margin: 0; }
  body.page-privacy .play-card-grid::after, body.page-privacy .timeline-strip::after { content: ""; flex: 0 0 .5rem; }
  body.page-privacy .footer-inner { grid-template-columns: 1fr; }
  body.page-privacy .hero-actions { flex-direction: column; align-items: stretch; }
  body.page-privacy .btn { justify-content: center; }
  body.page-privacy .hero-card { display: none; }
  body.page-privacy .footer-bottom { flex-direction: column; text-align: center; }
  body.page-privacy .policy-card, body.page-privacy .panel, body.page-privacy .faq-side-card { padding: 1.25rem; }
}

/* ===== shop.html scoped styles (page-shop) ===== */
body.page-shop { font-family: var(--font-body);
    background: var(--cream);
    color: var(--brown);
    overflow-x: hidden; }
body.page-shop nav { position: sticky; top: 0; z-index: 100;
    background: rgba(253,246,237,0.92);
    backdrop-filter: blur(8px);
    border-bottom: 2px solid var(--sage-lt);
    padding: 0 2rem; }
body.page-shop .nav-inner { max-width: 1200px; margin: 0 auto;
    display: flex; align-items: center; justify-content: space-between;
    height: 100px; }
body.page-shop .logo { display: flex; flex-direction: column; align-items: center;
    text-decoration: none; color: var(--brown); }
body.page-shop .nav-links { display: flex; align-items: center; gap: .25rem; list-style: none; }
body.page-shop .nav-links a { font-family: var(--font-display); font-weight: 600; font-size: .95rem;
    color: var(--brown); text-decoration: none;
    padding: .4rem .85rem; border-radius: 999px;}
body.page-shop .nav-links a {
  position: relative;
  transition: 
    background .2s ease,
    color .2s ease,
    box-shadow .2s ease,
    transform .2s ease;
}
body.page-shop .nav-links a:hover, body.page-shop .nav-links a.active {
  color: #2caee7;
  box-shadow: 0 0 0 2px rgb(1 151 170 / 22%), 0 0 16px rgb(1 106 170 / 45%), 0 0 32px rgba(43, 159, 212, .35);
  transform: translateY(-2px);
}
body.page-shop .nav-cta { background: var(--terra) !important; color: #fff !important;
    box-shadow: 0 3px 0 var(--terra-dk);
    transition: transform .15s, box-shadow .15s !important; }
body.page-shop .nav-cta:hover { transform: translateY(-2px); box-shadow: 0 5px 0 var(--terra-dk) !important; background: var(--terra) !important; }
body.page-shop .hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 6px; background: none; border: none; }
body.page-shop .hamburger span {
    display: block;
    width: 24px;
    height: 2.5px;
    background: #2caee7;
    border-radius: 2px;
    transition: all .3s;
    border-color: #00b9e7;
    box-shadow: inset 0px -0.3px 20px #399700, inset 0px -0.3px 20px #00b9e7, 0px -0.03px 24px #399700, 0px -0.3px 1px #00b9e7;
}
body.page-shop .mobile-menu { display: none; position: fixed; inset: 72px 0 0 0;
    background: var(--cream); z-index: 99; padding: 2rem;
    flex-direction: column; gap: .5rem; overflow-y: auto; }
body.page-shop .mobile-menu.open { display: flex; margin-top: 15px;}
body.page-shop .mobile-menu a { font-family: var(--font-display); font-weight: 700; font-size: 1.2rem;
    color: var(--brown); text-decoration: none; padding: .85rem 1rem;
    border-radius: 12px; border-left: 4px solid transparent;
    transition: background .15s, border-color .15s; }
body.page-shop .mobile-menu a:hover, body.page-shop .mobile-menu a.active { background: var(--cream-dark); border-left-color: #2caee7; }
body.page-shop h1, body.page-shop h2, body.page-shop h3, body.page-shop h4 { font-family: var(--font-display); }
body.page-shop .hero { position: relative;
    padding: 5rem 2rem 4rem;
    overflow: hidden; }
body.page-shop .float-shape { position: absolute; border-radius: var(--radius-blob);
    animation: floatBob-shop 6s ease-in-out infinite;
    z-index: 0; opacity: .45; }
body.page-shop .fs1 { width: 170px; height: 170px; background: var(--terra-lt); top: 7%; right: 8%; }
body.page-shop .fs2 { width: 90px; height: 90px; background: var(--lavender); top: 18%; left: 8%; animation-delay: -1.5s; }
body.page-shop .fs3 { width: 125px; height: 100px; background: var(--yellow); bottom: 12%; right: 20%; animation-delay: -3s; }
body.page-shop .fs4 { width: 80px; height: 80px; background: var(--blue); bottom: 18%; left: 14%; animation-delay: -4.5s; }
@keyframes floatBob-shop {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-16px) rotate(4deg); }
  }
body.page-shop .hero-inner { position: relative; z-index: 1;
    max-width: 1200px; margin: 0 auto;
    display: grid; justify-content: space-evenly; gap: 3rem; align-items: center; }
body.page-shop .hero-badge { display: inline-flex; align-items: center; gap: 6px;
    background: var(--yellow); color: #fff;
    font-family: var(--font-display); font-weight: 700; font-size: .8rem;
    letter-spacing: .08em; text-transform: uppercase;
    padding: .35rem .9rem; border-radius: 999px; margin-bottom: 1.25rem;
    box-shadow: 0 3px 0 rgba(0,0,0,.1); }
body.page-shop .hero h1 { font-size: clamp(2.4rem, 5vw, 4rem);
    line-height: 1.06;
    margin-bottom: 1rem; text-align: center; }
body.page-shop .hero h1 .accent { color: var(--terra); }
body.page-shop .hero-sub { font-size: 1.08rem; line-height: 1.75; color: #6B5040;
    max-width: 610px; margin-bottom: 1.8rem; text-align: center; }
body.page-shop .hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; }
body.page-shop .btn { font-family: var(--font-display); font-weight: 700; font-size: 1rem;
    padding: .8rem 1.7rem; border-radius: 999px; border: none; cursor: pointer;
    text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
    transition: transform .15s, box-shadow .15s; }
body.page-shop .btn-primary { background: var(--terra); color: #fff; box-shadow: 0 4px 0 var(--terra-dk); }
body.page-shop .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 6px 0 var(--terra-dk); }
body.page-shop .btn-secondary { background: #fff; color: var(--brown); border: 2px solid var(--terra-lt); box-shadow: 0 4px 0 var(--terra-lt); }
body.page-shop .btn-secondary:hover { transform: translateY(-2px); box-shadow: 0 6px 0 var(--terra-lt); }
body.page-shop .hero-card { background: #fff;
    border-radius: 30px;
    padding: 1.75rem;
    box-shadow: 0 8px 0 rgba(61,43,31,.08);
    position: relative; }
body.page-shop .hero-card-inner { background: linear-gradient(180deg, #dff5ff 0%, #fdf6ed 100%);
    border-radius: 24px;
    padding: 1.5rem;
    border: 3px dashed var(--blue);
    min-height: 340px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center; }
body.page-shop .hero-card h3 { font-size: 1.55rem; margin: .75rem 0 .55rem; }
body.page-shop .hero-card p { color: #6B5040; line-height: 1.65; font-size: .96rem; }
body.page-shop .hero-note { position: absolute;
    right: -14px;
    bottom: -18px;
    background: var(--blue);
    color: #fff;
    border-radius: 50%;
    width: 112px; height: 112px;
    display: flex; align-items: center; justify-content: center;
    text-align: center; font-family: var(--font-display); font-weight: 800;
    box-shadow: 4px 4px 0 rgba(0,0,0,.12);
    line-height: 1.1;
    padding: .65rem; }
body.page-shop .wave-divider { display: block; width: 100%; overflow: hidden; line-height: 0; }
body.page-shop .wave-divider svg { display: block; width: 100%; }
body.page-shop .section { padding: 3rem 2rem; }
body.page-shop .section.alt { background: var(--cream-dark); }
body.page-shop .container { max-width: 1200px; margin: 0 auto; }
body.page-shop .section-label { font-family: var(--font-display); font-weight: 700; font-size: .82rem;
    letter-spacing: .12em; text-transform: uppercase; color: var(--sage-dk);
    margin-bottom: .55rem; }
body.page-shop .section-title { font-size: clamp(1.9rem, 4vw, 2.8rem);
    line-height: 1.15;
    margin-bottom: .85rem; }
body.page-shop .section-sub { color: #8A6A55; line-height: 1.7; font-size: 1rem; }
body.page-shop .category-strip { display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin-top: 2rem; }
body.page-shop .category-card { background: #fff;
    border-radius: 22px;
    padding: 1.3rem;
    text-align: center;
    text-decoration: none;
    color: var(--brown);
    box-shadow: 0 5px 0 rgba(61,43,31,.07);
    transition: transform .2s, box-shadow .2s; }
body.page-shop .category-card:hover { transform: translateY(-4px); box-shadow: 0 8px 0 rgba(61,43,31,.09); }
body.page-shop .category-card:nth-child(1) { border-top: 5px solid var(--terra); }
body.page-shop .category-card:nth-child(2) { border-top: 5px solid var(--blue); }
body.page-shop .category-card:nth-child(3) { border-top: 5px solid var(--yellow); }
body.page-shop .category-card:nth-child(4) { border-top: 5px solid var(--pink); }
body.page-shop .category-icon { font-size: 2.1rem; margin-bottom: .55rem; }
body.page-shop .category-card h3 { font-size: 1.05rem; margin-bottom: .25rem; }
body.page-shop .category-card p { color: #8A6A55; line-height: 1.5; font-size: .9rem; }
body.page-shop .shop-toolbar { margin: 2rem 0 1.5rem;
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap; }
body.page-shop .shop-note { color: #8A6A55;
    line-height: 1.6;
    max-width: 690px;
    font-size: .95rem; }
body.page-shop .shop-pill { display: inline-flex;
    align-items: center;
    gap: .4rem;
    background: #fff;
    border: 2px dashed var(--blue);
    color: var(--brown);
    border-radius: 999px;
    padding: .55rem 1rem;
    font-family: var(--font-display);
    font-weight: 800;
    box-shadow: 0 4px 0 rgba(61,43,31,.06); }
body.page-shop .product-grid { display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.35rem; }
body.page-shop .product-card { position: relative;
    background: linear-gradient(145deg, rgba(255,255,255,.68), rgba(255,255,255,.32));
    border-radius: 30px;
    overflow: hidden;
    border: 1.5px solid rgba(255,255,255,.72);
    box-shadow:
      0 18px 36px rgba(61,43,31,.12),
      0 7px 0 rgba(61,43,31,.05),
      inset 0 1px 0 rgba(255,255,255,.95),
      inset 0 -1px 0 rgba(255,255,255,.28);
    backdrop-filter: blur(18px) saturate(145%);
    -webkit-backdrop-filter: blur(18px) saturate(145%);
    display: flex;
    flex-direction: column;
    transition: transform .22s, box-shadow .22s, border-color .22s, background .22s; }
body.page-shop .product-card::before { content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
      linear-gradient(135deg, rgba(255,255,255,.75) 0%, rgba(255,255,255,.22) 28%, rgba(255,255,255,0) 48%),
      radial-gradient(circle at 18% 12%, rgba(255,255,255,.75), transparent 26%);
    opacity: .72;
    z-index: 1; }
body.page-shop .product-card::after { content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: .75rem;
    height: 1px;
    background: rgba(255,255,255,.55);
    pointer-events: none;
    z-index: 1; }
body.page-shop .product-card:hover { transform: translateY(-7px) rotate(-.35deg);
    background: linear-gradient(145deg, rgba(255,255,255,.78), rgba(255,255,255,.40));
    box-shadow:
      0 24px 44px rgba(61,43,31,.16),
      0 10px 0 rgba(61,43,31,.06),
      inset 0 1px 0 rgba(255,255,255,1),
      inset 0 -1px 0 rgba(255,255,255,.32); }
body.page-shop .product-card:nth-child(1) { border-color: rgba(28,188,3,.45); }
body.page-shop .product-card:nth-child(2) { border-color: rgba(43,159,212,.48); }
body.page-shop .product-card:nth-child(3) { border-color: rgba(36,227,7,.38); }
body.page-shop .product-card:nth-child(4) { border-color: rgba(232,165,160,.55); }
body.page-shop .product-card:nth-child(5) { border-color: rgba(122,158,126,.42); }
body.page-shop .product-card:nth-child(6) { border-color: rgba(185,168,212,.50); }
body.page-shop .product-art { min-height: 175px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 4.2rem;
    position: relative;
    overflow: hidden;
    margin: .85rem .85rem 0;
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,.64);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.78),
      inset 0 -20px 45px rgba(255,255,255,.20),
      0 12px 24px rgba(43,159,212,.10);
    backdrop-filter: blur(12px) saturate(140%);
    -webkit-backdrop-filter: blur(12px) saturate(140%);
    z-index: 2; }
body.page-shop .product-art::before, body.page-shop .product-art::after { content: "";
    position: absolute;
    border-radius: 50%;
    background: rgba(255,255,255,.35);
    filter: blur(.2px); }
body.page-shop .product-art::before { width: 145px; height: 145px; top: -48px; right: -36px; }
body.page-shop .product-art::after { width: 90px; height: 90px; bottom: -26px; left: 12px; }
body.page-shop .product-art span, body.page-shop .product-art { text-shadow: 0 8px 18px rgba(61,43,31,.08); }
body.page-shop .art-green { background: linear-gradient(135deg, rgba(223,248,223,.68) 0%, rgba(191,240,196,.42) 100%); }
body.page-shop .art-blue { background: linear-gradient(135deg, rgba(223,245,255,.72) 0%, rgba(174,226,248,.48) 100%); }
body.page-shop .art-yellow { background: linear-gradient(135deg, rgba(255,247,217,.76) 0%, rgba(223,248,223,.45) 100%); }
body.page-shop .art-pink { background: linear-gradient(135deg, rgba(255,232,229,.72) 0%, rgba(249,219,216,.48) 100%); }
body.page-shop .art-sage { background: linear-gradient(135deg, rgba(239,252,240,.74) 0%, rgba(196,219,198,.48) 100%); }
body.page-shop .art-lav { background: linear-gradient(135deg, rgba(241,236,251,.74) 0%, rgba(228,220,239,.48) 100%); }
body.page-shop .product-body { position: relative;
    z-index: 2;
    padding: 1.35rem;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    flex: 1; }
body.page-shop .product-topline { display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: .8rem; }
body.page-shop .product-card h3 { font-size: 1.25rem; line-height: 1.15; }
body.page-shop .price { flex: 0 0 auto;
    font-family: var(--font-display);
    font-weight: 800;
    color: var(--terra);
    background: rgba(239,252,240,.62);
    border: 1px solid rgba(255,255,255,.72);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.82), 0 6px 16px rgba(24,170,1,.10);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: .2rem .65rem;
    border-radius: 999px; }
body.page-shop .product-desc { color: #6B5040; line-height: 1.62; font-size: .94rem; }
body.page-shop .product-meta { display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-top: auto; }
body.page-shop .tag { font-family: var(--font-display);
    font-weight: 700;
    font-size: .78rem;
    color: #1E7EA8;
    background: rgba(214,240,251,.58);
    border: 1px solid rgba(255,255,255,.68);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.78);
    backdrop-filter: blur(9px);
    -webkit-backdrop-filter: blur(9px);
    border-radius: 999px;
    padding: .25rem .65rem; }
body.page-shop .product-actions { display: flex;
    gap: .65rem;
    flex-wrap: wrap;
    margin-top: .3rem; }
body.page-shop .btn-small { font-size: .92rem;
    padding: .65rem 1.1rem;
    flex: 1; }
body.page-shop .product-actions .btn-small { position: relative;
    flex: 1;
    overflow: hidden;
    isolation: isolate;
    font-size: .92rem;
    padding: .68rem 1.1rem;
    border-radius: 999px;
    border: 1.5px solid #00b9e7;
    backdrop-filter: blur(14px) saturate(150%);
    -webkit-backdrop-filter: blur(14px) saturate(150%);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.72),
      inset 0 -1px 0 rgba(255,255,255,.22),
      0 6px 16px rgba(43,159,212,.14),
      0 3px 0 rgba(61,43,31,.08);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease; }
body.page-shop .product-actions .btn-small::before { content: "";
    position: absolute;
    inset: 1px 1px auto 1px;
    height: 48%;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,.58), rgba(255,255,255,.08));
    pointer-events: none;
    z-index: -1; }
body.page-shop .product-actions .btn-small::after { content: "";
    position: absolute;
    width: 42px;
    height: 42px;
    top: -18px;
    right: -12px;
    border-radius: 50%;
    background: rgba(255,255,255,.35);
    filter: blur(1px);
    pointer-events: none;
    z-index: -1; }
body.page-shop .product-actions .btn-primary.btn-small { color: #fff;
    border-color: #00b9e7;
    text-shadow: 0 1px 1px rgba(0,0,0,.16); }
body.page-shop .product-actions .btn-secondary.btn-small { color: var(--brown);
    background:
      linear-gradient(135deg, rgba(255,255,255,.62), rgba(214,240,251,.38)),
      rgba(255,255,255,.34);
    border-color: rgba(43,159,212,.28); }
body.page-shop .product-actions .btn-small:hover { transform: translateY(-3px);
    border-color: #00b9e7;
    box-shadow:
      inset 0 1px 0 #00b9e7,
      inset 0 -1px 0 #00b9e7,
      0 10px 24px #00b9e7,
      0 5px 0 #00b9e7; }
body.page-shop .product-actions .btn-small:active { transform: translateY(0);
    box-shadow:
      inset 0 1px 0 #00b9e7,
      0 4px 12px rgba(43,159,212,.14),
      0 2px 0 rgba(61,43,31,.08); }
body.page-shop .bundle-panel { background: #fff;
    border-radius: 30px;
    padding: 2rem;
    box-shadow: 0 7px 0 rgba(61,43,31,.08);
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 2rem;
    align-items: center; }
body.page-shop .bundle-art { background: linear-gradient(180deg, #dff5ff 0%, #fdf6ed 100%);
    border: 3px dashed var(--blue);
    border-radius: 24px;
    padding: 1.7rem;
    text-align: center; }
body.page-shop .bundle-art .emoji { font-size: 5rem; line-height: 1; margin-bottom: .8rem; }
body.page-shop .bundle-copy p, body.page-shop .info-card p, body.page-shop .info-card li { color: #6B5040; line-height: 1.75; }
body.page-shop .bundle-list { display: grid;
    gap: .7rem;
    margin: 1.2rem 0; }
body.page-shop .bundle-item { background: var(--cream);
    border-radius: 18px;
    padding: .8rem 1rem;
    font-family: var(--font-display);
    font-weight: 700;
    color: var(--brown);
    border-left: 5px solid var(--terra); }
body.page-shop .bundle-item:nth-child(2) { border-left-color: var(--blue); }
body.page-shop .bundle-item:nth-child(3) { border-left-color: var(--yellow); }
body.page-shop .info-grid { display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem; }
body.page-shop .info-card { background: #fff;
    border-radius: 24px;
    padding: 1.45rem;
    box-shadow: 0 5px 0 rgba(61,43,31,.07);
    border-top: 6px solid var(--terra); }
body.page-shop .info-card:nth-child(2) { border-top-color: var(--blue); }
body.page-shop .info-card:nth-child(3) { border-top-color: var(--yellow); }
body.page-shop .info-card h3 { margin-bottom: .45rem; font-size: 1.18rem; }
body.page-shop .cta-banner { background: #2B9FD4; color: #fff; padding: 5rem 2rem;
    position: relative; overflow: hidden; }
body.page-shop .cta-banner::before, body.page-shop .cta-banner::after { content: ""; position: absolute; border-radius: 50%; background: rgba(255,255,255,.05); }
body.page-shop .cta-banner::before { width: 380px; height: 380px; top: -150px; right: -80px; }
body.page-shop .cta-banner::after { width: 260px; height: 260px; bottom: -90px; left: -40px; }
body.page-shop .cta-inner { max-width: 760px; margin: 0 auto; text-align: center; position: relative; z-index: 1; }
body.page-shop .cta-inner h2 { font-size: clamp(2rem, 4vw, 2.9rem);
    line-height: 1.12;
    margin-bottom: .9rem; }
body.page-shop .cta-inner h2 em { font-style: normal; color: var(--yellow); }
body.page-shop .cta-inner p { font-size: 1.05rem; line-height: 1.7; opacity: .9; margin-bottom: 1.9rem; }
body.page-shop .btn-light { background: var(--yellow); color: white;
    box-shadow: 0 4px 0 rgba(0,0,0,.2);
    font-size: 1.05rem; padding: .9rem 2.3rem; }
body.page-shop .btn-light:hover { transform: translateY(-2px); box-shadow: 0 6px 0 rgba(0,0,0,.25); }
body.page-shop footer { background: #005690; color: rgba(255,255,255,.65);
    padding: 3.5rem 2rem 2rem;
    font-size: .875rem; }
body.page-shop .footer-inner { max-width: 1200px; margin: 0 auto;
    display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 3rem; }
body.page-shop footer h4 { font-family: var(--font-display); font-weight: 700; font-size: .95rem;
    color: rgba(255,255,255,.9); margin-bottom: .85rem; letter-spacing: .04em; }
body.page-shop footer a { color: rgba(255,255,255,.55); text-decoration: none; display: block; margin-bottom: .45rem; }
body.page-shop footer a:hover { color: var(--terra-lt); }
body.page-shop .footer-brand p { margin-top: .75rem; line-height: 1.6; }
body.page-shop .footer-bottom { max-width: 1200px; margin: 2rem auto 0;
    padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.1);
    display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .75rem;
    font-size: .8rem; }
body.page-shop .reveal { opacity: 0; transform: translateY(28px); transition: opacity .6s ease, transform .6s ease; }
body.page-shop .reveal.visible { opacity: 1; transform: none; }
@media (max-width: 960px) {
  body.page-shop .nav-inner { position: relative; justify-content: center; }
  body.page-shop .logo { position: absolute; left: 50%; transform: translateX(-50%); }
  body.page-shop .hamburger { position: absolute; right: 0rem; display: flex; }
  body.page-shop .nav-links { display: none; }
  body.page-shop .hero-inner, body.page-shop .bundle-panel { grid-template-columns: 1fr; text-align: center; }
  body.page-shop .hero-sub { margin-left: auto; margin-right: auto; }
  body.page-shop .hero-actions { justify-content: center; }
  body.page-shop .category-strip { grid-template-columns: 1fr 1fr; }
  body.page-shop .product-grid { grid-template-columns: 1fr 1fr; }
  body.page-shop .info-grid { grid-template-columns: 1fr; }
  body.page-shop .footer-inner { grid-template-columns: 1fr 1fr; gap: 2rem; }
  body.page-shop .hero-card { max-width: 500px; margin: 0 auto; }
  body.page-shop .hero { padding-top: 4rem; }
}
@media (max-width: 640px) {
  body.page-shop .hero { padding: 4rem 1.25rem 3.5rem; }
  body.page-shop .section { padding: 4rem 1.25rem; }
  body.page-shop .hero-card { display: none; }
  body.page-shop .hero-actions { flex-direction: column; align-items: stretch; }
  body.page-shop .btn { width: 100%; }
  body.page-shop .category-strip, body.page-shop .product-grid { display: flex;
        gap: 1rem;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding: .25rem .5rem 1rem;
        margin: 2rem -.5rem 0;
        scrollbar-width: none; }
  body.page-shop .category-strip::-webkit-scrollbar, body.page-shop .product-grid::-webkit-scrollbar { display: none; }
  body.page-shop .category-card, body.page-shop .product-card { flex: 0 0 85%;
        scroll-snap-align: center;
        margin: 0; }
  body.page-shop .category-strip::after, body.page-shop .product-grid::after { content: ""; flex: 0 0 .5rem; }
  body.page-shop .product-topline { flex-direction: column; align-items: flex-start; }
  body.page-shop .bundle-panel { padding: 1.25rem; }
  body.page-shop .footer-inner { grid-template-columns: 1fr; }
  body.page-shop .footer-bottom { flex-direction: column; text-align: center; }
  body.page-shop .category-strip .reveal, body.page-shop .product-grid .reveal { opacity: 1 !important;
        transform: none !important;
        transition: none !important; }
}

body.page-newsletter .newsletter-hero-card {
  text-align: center;}

body.page-newsletter .hero-inner { position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 3rem;
    align-items: center; }

body.page-newsletter .hero-card { background: #fff;
    border-radius: 30px;
    padding: 1.75rem;
    box-shadow: 0 8px 0 rgba(61,43,31,.08);
    position: relative; }

body.page-newsletter .hero-illustration { background: linear-gradient(180deg, #dff5ff 0%, #fdf6ed 100%);
    border-radius: 24px;
    padding: 1.5rem;
    border: 3px dashed var(--blue); }

body.page-newsletter .hero h1 {
    font-size: clamp(2.4rem, 5vw, 4rem);
    line-height: 1.06;
    margin-bottom: 1rem;
    text-align: left;
}

body.page-newsletter .hero-sub {
    font-size: 1.08rem;
    line-height: 1.75;
    color: #6B5040;
    max-width: 610px;
    margin-bottom: 1.8rem;
    text-align: left;
}

body.page-newsletter .newsletter-hero-emoji {
  font-size: 4.8rem;
  line-height: 1;
  margin-bottom: .8rem;}

body.page-newsletter .newsletter-feature {
  background: #fff;
  border-radius: 30px;
  padding: 2rem;
  box-shadow: 0 7px 0 rgba(61,43,31,.08);
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 2rem;
  align-items: center;}

body.page-newsletter .newsletter-date-card {
  min-height: 220px;
  border-radius: 28px;
  background: linear-gradient(180deg, #dff5ff 0%, #fdf6ed 100%);
  border: 3px dashed var(--blue);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);}

body.page-newsletter .newsletter-date-card .month {
  font-family: var(--font-display);
  font-weight: 800;
  color: var(--terra);
  font-size: 1.35rem;
  letter-spacing: .08em;
  text-transform: uppercase;}

body.page-newsletter .newsletter-date-card strong {
  font-family: var(--font-display);
  font-size: 5.25rem;
  line-height: .95;
  color: var(--blue);
  text-shadow: 3px 2px rgba(24,170,1,.15);}

body.page-newsletter .newsletter-date-card .note {
  font-family: var(--font-display);
  font-weight: 800;
  color: var(--brown);
  background: rgba(255,255,255,.75);
  border-radius: 999px;
  padding: .35rem .85rem;}

body.page-newsletter .newsletter-feature-copy h3 {
  font-size: clamp(1.45rem, 3vw, 2.15rem);
  line-height: 1.15;
  margin-bottom: .75rem;}

body.page-newsletter .newsletter-feature-copy p {
  color: #6B5040;
  line-height: 1.8;
  font-size: 1rem;}

body.page-newsletter .newsletter-pills {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.2rem;}

body.page-newsletter .newsletter-pills span {
  font-family: var(--font-display);
  font-weight: 800;
  color: #1E7EA8;
  background: rgba(214,240,251,.72);
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 999px;
  padding: .45rem .85rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85);}

body.page-newsletter .newsletter-grid .product-card h3 {
  margin-bottom: .35rem;}

body.page-newsletter .newsletter-grid .product-card .product-body {
  gap: .65rem;
}

body.page-newsletter .newsletter-grid .product-card .product-meta {
  margin-top: .15rem;
}

body.page-newsletter .hero-badge {
  display: inline-flex;
}

@media (max-width: 960px) {
  body.page-newsletter .newsletter-feature {
    grid-template-columns: 1fr;
    text-align: center;
  }

  body.page-newsletter .newsletter-date-card {
    max-width: 300px;
    width: 100%;
    margin: 0 auto;
  }

  body.page-newsletter .newsletter-pills {
    justify-content: center;
  }
  body.page-newsletter .hero-card { max-width: 500px; margin: 0 auto; }
  body.page-newsletter .hero { padding-top: 4rem; }
  body.page-newsletter .hero-inner {
  grid-template-columns: 1fr;
  text-align: center;
}
body.page-newsletter .hero h1 {
    text-align: center;
}

body.page-newsletter .hero-sub {
    text-align: center;
}

body.page-newsletter .hero-sub {
  margin-left: auto;
  margin-right: auto;
}
}

@media (max-width: 640px) {
  body.page-newsletter .newsletter-feature {
    padding: 1.25rem;
  }

  body.page-newsletter .newsletter-date-card {
    min-height: 190px;
  }

  body.page-newsletter .newsletter-date-card strong {
    font-size: 4.5rem;
  }

  body.page-newsletter .hero { padding: 4rem 1.25rem 3.5rem; }
  body.page-newsletter .section { padding: 4rem 1.25rem; }
  body.page-newsletter .hero-card { display: none; }
}


/* ===== Former inline style attributes moved into stylesheet ===== */
body.page-home .inline-home-01 { display: flex; flex-direction: column; align-items: center; text-decoration: none; }
body.page-home .inline-home-02 { width:206px; height:88.7px; }
body.page-home .inline-home-03 { max-width: 155px;border-radius: 150px;text-align: center;alignment-baseline: middle; }
body.page-home .inline-home-04 { transform: scaleY(-1); }
body.page-home .inline-home-05 { margin-bottom:2rem; }
body.page-home .inline-home-06 { margin:0 auto; }
body.page-home .inline-home-07 { font-size:1.1rem; display:flex; align-items:center; gap:8px; }
body.page-home .inline-home-08 { margin-top:.75rem; }
body.page-about .inline-about-01 { width:206px; height:88.7px; }
body.page-about .inline-about-02 { max-width: 155px;border-radius: 150px;text-align: center;alignment-baseline: middle; }
body.page-about .inline-about-03 { transform: scaleY(-1); }
body.page-about .inline-about-04 { text-align:center; max-width:760px; margin:0 auto; }
body.page-about .inline-about-05 { transform: scaleY(-1); }
body.page-about .inline-about-06 { text-align:center; max-width:760px; margin:0 auto; }
body.page-about .inline-about-07 { font-size:1.1rem; display:flex; align-items:center; gap:8px; }
body.page-about .inline-about-08 { margin-top:.75rem; }
body.page-programs .inline-programs-01 { width:206px; height:88.7px; }
body.page-programs .inline-programs-02 { max-width: 155px;border-radius: 150px;text-align: center;alignment-baseline: middle; }
body.page-programs .inline-programs-03 { min-height:340px; display:flex; align-items:center; justify-content:center; text-align:center; }
body.page-programs .inline-programs-04 { font-size:5rem; line-height:1; }
body.page-programs .inline-programs-05 { font-size:1.6rem; margin:.75rem 0 .45rem; }
body.page-programs .inline-programs-06 { color:#6B5040; line-height:1.65; }
body.page-programs .inline-programs-07 { text-align:center; max-width:780px; margin:0 auto; }
body.page-programs .inline-programs-08 { transform: scaleY(-1); }
body.page-programs .inline-programs-09 { transform: scaleY(-1); }
body.page-programs .inline-programs-10 { text-align:center; max-width:760px; margin:0 auto; }
body.page-programs .inline-programs-11 { font-size:1.1rem; display:flex; align-items:center; gap:8px; }
body.page-programs .inline-programs-12 { margin-top:.75rem; }
body.page-enrollment .inline-enrollment-01 { width:206px; height:88.7px; }
body.page-enrollment .inline-enrollment-02 { max-width:155px;border-radius:150px;text-align:center; }
body.page-enrollment .inline-enrollment-03 { text-align:center; max-width:760px; margin:0 auto; }
body.page-enrollment .inline-enrollment-04 { text-align:center; max-width:760px; margin:0 auto 2.5rem; }
body.page-enrollment .inline-enrollment-05 { font-size:1.1rem; display:flex; align-items:center; gap:8px; }
body.page-enrollment .inline-enrollment-06 { margin-top:.75rem; }
body.page-faq .inline-faq-01 { width:206px; height:88.7px; }
body.page-faq .inline-faq-02 { max-width:155px;border-radius:150px;text-align:center; }
body.page-faq .inline-faq-03 { text-align:center; max-width:780px; margin:0 auto 2.5rem; }
body.page-faq .inline-faq-04 { font-size:4rem; line-height:1; margin-bottom:.65rem; }
body.page-faq .inline-faq-05 { transform: scaleY(-1); }
body.page-faq .inline-faq-06 { text-align:center; max-width:760px; margin:0 auto; }
body.page-faq .inline-faq-07 { font-size:1.1rem; display:flex; align-items:center; gap:8px; }
body.page-faq .inline-faq-08 { margin-top:.75rem; }
body.page-privacy .inline-privacy-01 { width:206px; height:88.7px; }
body.page-privacy .inline-privacy-02 { max-width:155px;border-radius:150px;text-align:center; }
body.page-privacy .inline-privacy-03 { color:var(--terra); font-weight:700; }
body.page-privacy .inline-privacy-04 { color:var(--terra); font-weight:700; }
body.page-privacy .inline-privacy-05 { font-size:1.1rem; display:flex; align-items:center; gap:8px; }
body.page-privacy .inline-privacy-06 { margin-top:.75rem; }
body.page-shop .inline-shop-01 { width:206px; height:88.7px; }
body.page-shop .inline-shop-02 { max-width:155px;border-radius:150px;text-align:center; }
body.page-shop .inline-shop-03 { font-size:5rem; line-height:1; }
body.page-shop .inline-shop-04 { text-align:center; max-width:780px; margin:0 auto; }
body.page-shop .inline-shop-05 { transform: scaleY(-1); }
body.page-shop .inline-shop-06 { text-align:center; max-width:760px; margin:0 auto 2rem; }
body.page-shop .inline-shop-07 { font-size:1.1rem; display:flex; align-items:center; gap:8px; }
body.page-shop .inline-shop-08 { margin-top:.75rem; }