/* ui_kits/website/site.css — Mini Scholars marketing site */
:root{
  --cream:#E5E3DC; --cream-2:#EDEBE3; --white:#fff;
  --rose:#DA9DA7; --sage:#ABD0C3; --terra:#D4967D; --terra-2:#C5805F;
  --slate:#4A5A58; --ink:#3A3A37; --ink-2:#5C5B55; --muted:#8A887F; --line:#D7D4CA;
  --font-display:"Poppins","Century Gothic",ui-sans-serif,system-ui,sans-serif;
  --font-body:"Mulish",ui-sans-serif,system-ui,sans-serif;
  --font-serif:"PT Serif",Georgia,serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font-body);background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
.page{max-width:1280px;margin:0 auto;position:relative}

/* shared display heads */
.section-h1{font-family:var(--font-display);font-weight:600;font-size:54px;color:var(--slate);letter-spacing:-.01em;line-height:1.05}
.section-h2{font-family:var(--font-display);font-weight:600;font-size:34px;color:var(--slate);letter-spacing:-.005em}
.section-h2.terra{color:var(--terra)}
.section-h3{font-family:var(--font-display);font-weight:600;color:var(--slate)}
.eyebrow{font-family:var(--font-display);font-weight:600;font-size:20px;color:var(--terra)}

/* buttons */
.btn-pill{font-family:var(--font-display);font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--terra);border:none;border-radius:999px;padding:15px 34px;cursor:pointer;transition:background .15s,transform .08s}
.btn-pill:hover{background:#dba089}
.btn-pill:active{transform:translateY(1px);background:var(--terra-2)}
.btn-pill.lg{padding:18px 56px;font-size:14px}
.btn-pill.on-panel{background:#fff;color:var(--terra)}
.btn-pill.on-panel:hover{background:#fdf3ee}

/* header */
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px 40px;background:var(--cream);}
.brand-lockup img{height:52px;cursor:pointer}
.site-nav{display:flex;gap:34px}
.nav-link{font-family:var(--font-body);font-size:17px;color:var(--ink);cursor:pointer;padding-bottom:3px;border-bottom:2px solid transparent}
.nav-link:hover{color:var(--slate)}
.nav-link.is-active{border-color:var(--ink)}

/* decorative blobs */
.blob-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
section{position:relative;z-index:1}

/* hero */
.hero{padding:8px 40px 48px}
.hero-photo{position:relative;border-radius:0;overflow:hidden;height:520px;background:linear-gradient(135deg,#2b3a4a,#54657a)}
.hero-photo image-slot{position:absolute;inset:0;width:100%;height:100%}
.hero-scrim{position:absolute;inset:0;background:rgba(20,26,32,.34)}
.hero-title{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;font-family:var(--font-display);font-weight:600;font-size:72px;line-height:1.04;color:#F2EFE8;letter-spacing:-.015em;padding:0 24px}

/* services */
.services{padding:30px 40px 70px}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:34px}
.service-card{display:flex;flex-direction:column;align-items:center;text-align:center}
.service-card image-slot{width:100%;height:280px;border-radius:18px;box-shadow:0 8px 24px -14px rgba(58,58,55,.35);margin-bottom:22px}
.service-title{font-family:var(--font-display);font-weight:600;font-size:23px;color:var(--slate);line-height:1.2;max-width:18ch}
.service-body{font-family:var(--font-body);font-size:16px;line-height:1.55;color:var(--ink);margin-top:12px;max-width:34ch;flex:1}
.service-body b{font-weight:700}
.service-card .btn-pill{margin-top:24px}

/* waitlist + policies */
.waitlist{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;padding:30px 40px 80px;align-items:start}
.waitlist-col{text-align:center;padding-top:10px}
.waitlist-copy{font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--ink-2);max-width:42ch;margin:18px auto 30px;text-align:justify}
.policies-col{}
.policy-list{list-style:none;margin-top:22px;display:flex;flex-direction:column;gap:14px}
.policy-list li{position:relative;padding-left:24px;font-size:17px;color:var(--ink);line-height:1.45}
.policy-list li::before{content:"·";position:absolute;left:6px;top:-2px;font-size:24px;color:var(--ink)}

/* contact */
.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;padding:60px 40px 80px;align-items:start}
.contact.panel{background:var(--terra);border-radius:0;color:#F4EDE7;margin-top:20px;padding:80px 60px}
.contact.panel .section-h1{color:#FBF6F1}
.contact.panel .contact-copy{color:#F4E4DB}
.contact.panel label,.contact.panel .group-label{color:#FBEEE7}
.contact.panel .req{color:#F0D3C6}
.contact.panel input,.contact.panel textarea{border-color:#B86b4d;color:#fff}
.contact-copy{font-family:var(--font-body);font-size:17px;line-height:1.6;color:var(--ink-2);margin-top:20px;max-width:40ch}
.contact-meta{margin-top:22px;display:flex;flex-direction:column;gap:4px;font-size:17px}
.contact-meta a{color:var(--terra);text-decoration:underline}
.contact-form{display:flex;flex-direction:column;gap:22px}
.field-group .group-label{display:block;font-size:18px;color:var(--ink);margin-bottom:10px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.field label{display:block;font-size:15px;color:var(--ink-2);margin-bottom:7px}
.field .req{color:var(--muted);font-size:13px}
.field input,.field textarea{width:100%;padding:13px 18px;border:1.5px solid var(--ink-2);border-radius:26px;background:transparent;font-family:var(--font-body);font-size:16px;color:var(--ink);outline:none}
.field textarea{border-radius:22px;resize:none}
.field input:focus,.field textarea:focus{border-color:var(--slate)}
.checkbox{display:flex;align-items:center;gap:9px;font-size:15px;color:var(--ink-2);cursor:pointer}
.checkbox input{width:17px;height:17px;accent-color:var(--terra)}

/* footer */
.site-footer{position:relative;background:var(--cream);padding-top:60px}
.footer-wave{position:absolute;top:-1px;left:0;right:0;height:90px;background:var(--white);border-bottom-left-radius:50% 90px;border-bottom-right-radius:50% 90px;transform:scaleX(1.5)}
.footer-inner{position:relative;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding:30px 40px 50px;align-items:start}
.footer-brand img{height:52px}
.socials{display:flex;gap:12px;margin-top:18px}
.social-dot{width:34px;height:34px;border-radius:50%;background:var(--slate);color:var(--cream);display:grid;place-items:center;cursor:pointer}
.social-dot:hover{background:var(--ink)}
.footer-col h4{font-family:var(--font-display);font-weight:600;font-size:26px;color:var(--ink);margin-bottom:14px}
.footer-col p{font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--ink)}
.footer-col a{color:var(--terra);text-decoration:underline}
