/* ============ TOKENS ============ */
:root{
  --burgundy:#621218;
  --pink:#f4b8be;
  --peach:#ffd9c2;
  --blush:#fee6d9;
  --cream:#ffe8db;
  --lightpink:#ffcdcd;
  --yellow:#ebc339;
  --sage:#b5c4b1;
  --lavender:#d4cfe8;
  --ink:#621218;
  --maxw:1240px;
  --pill-shadow:0 6px 0 rgba(98,18,24,.16);
  --card-shadow:0 18px 34px rgba(98,18,24,.16);
  font-size:18px; /* was 16px — bumped for readability, per Rosie */
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'DM Sans',system-ui,sans-serif;
  color:var(--ink);
  background:var(--peach);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{font-family:'Sansita',Georgia,serif;}
a{color:inherit;}
img{max-width:100%;display:block;}

/* ============ HEADER ============ */
.site-header{
  position:sticky;top:0;z-index:60;
  background:var(--pink);
}
.header-inner{
  max-width:var(--maxw);margin:0 auto;
  min-height:104px;
  display:flex;align-items:center;gap:1.2rem;
  padding:0 clamp(14px,3vw,34px);
  position:relative;
}
/* logo badge (header) drops below the strip */
.brand{flex:0 0 auto;z-index:3;text-decoration:none;}
.badge{
  width:148px;height:148px;border-radius:50%;
  background:var(--burgundy);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  box-shadow:0 10px 22px rgba(98,18,24,.28);
  transform:translateY(22px);
  line-height:.9;
}
.badge .rora{font-family:'Sansita';font-weight:800;color:var(--pink);font-size:2.9rem;letter-spacing:.5px;}
.badge .stream{font-family:'DM Sans';font-weight:500;font-size:1.15rem;margin-top:.1rem;}
.badge.studio .stream{color:var(--peach);}
.badge.education .stream{color:var(--sage);}
.badge.coaching .stream{color:var(--lavender);}

nav.pills{margin-left:auto;display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;justify-content:flex-end;}
.pill{
  appearance:none;border:none;cursor:pointer;text-decoration:none;
  background:var(--burgundy);color:var(--peach);
  font-family:'DM Sans';font-weight:500;font-size:1.02rem;
  padding:.62rem 1.25rem;border-radius:999px;min-width:124px;text-align:center;
  transition:transform .15s ease,color .15s ease,background .15s ease;
  display:inline-flex;align-items:center;justify-content:center;
}
.pill-dd>.pill{width:100%;}
.pill:hover{transform:translateY(-2px);color:#fff;}
.pill.active{color:var(--yellow);font-weight:600;}
.pill:focus{outline:none;}
.pill:focus-visible{outline:2px solid var(--burgundy);outline-offset:2px;}
.pill-dd{position:relative;}
.pill-dd>.pill .caret{margin-left:.35rem;font-size:.8em;transition:transform .2s ease;display:inline-block;}
.pill-dd.open>.pill .caret{transform:rotate(180deg);}
.dd-menu{position:absolute;top:calc(100% + 6px);left:0;display:none;flex-direction:column;gap:.35rem;background:var(--burgundy);padding:.5rem;border-radius:14px;box-shadow:0 12px 22px rgba(98,18,24,.25);z-index:70;min-width:172px;}
.pill-dd.open .dd-menu{display:flex;}
.dd-menu button,.dd-menu a{appearance:none;border:none;background:none;color:var(--peach);font-family:'DM Sans';font-weight:500;font-size:.98rem;text-align:left;padding:.5rem .8rem;border-radius:10px;cursor:pointer;text-decoration:none;display:block;}
.dd-menu button:hover,.dd-menu a:hover{background:rgba(255,255,255,.12);color:#fff;}
.dd-menu button.active,.dd-menu a.active{color:var(--yellow);}
.dd-menu button:focus,.dd-menu a:focus{outline:none;}
.dd-menu button:focus-visible,.dd-menu a:focus-visible{outline:2px solid var(--peach);outline-offset:2px;}
.menu-toggle{display:none;}

/* ============ LAYOUT ============ */
main{max-width:var(--maxw);margin:0 auto;padding:0 clamp(14px,3vw,34px);}
.page{display:none;animation:fade .35s ease;position:relative;padding:2.4rem 0 4.5rem clamp(74px,8vw,120px);min-height:60vh;}
.page.active{display:block;}
@keyframes fade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

/* squiggle rail */
.squiggle{position:absolute;top:0;bottom:0;left:6px;width:62px;z-index:0;pointer-events:none;
  background-color:var(--yellow);
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='62'%20height='130'%20viewBox='0%200%2062%20130'%3E%3Cpath%20d='M31%200%20C0%2022%2062%2043%2031%2065%20C0%2087%2062%20108%2031%20130'%20fill='none'%20stroke='black'%20stroke-width='15'%20stroke-linecap='round'/%3E%3C/svg%3E") repeat-y center top / 62px 130px;
          mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='62'%20height='130'%20viewBox='0%200%2062%20130'%3E%3Cpath%20d='M31%200%20C0%2022%2062%2043%2031%2065%20C0%2087%2062%20108%2031%20130'%20fill='none'%20stroke='black'%20stroke-width='15'%20stroke-linecap='round'/%3E%3C/svg%3E") repeat-y center top / 62px 130px;}
.squiggle.lav{background-color:var(--lavender);}
.squiggle.sage{background-color:var(--sage);}
.page>:not(.squiggle){position:relative;z-index:1;}

/* buttons / CTAs */
.cta{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:'DM Sans';font-weight:700;font-size:1.18rem;
  color:var(--burgundy);background:var(--yellow);
  border:2.5px solid var(--burgundy);border-radius:999px;
  padding:.7rem 1.5rem;cursor:pointer;text-decoration:none;
  box-shadow:var(--pill-shadow);transition:transform .15s ease,box-shadow .15s ease;
}
.cta:hover{transform:translateY(-2px);box-shadow:0 9px 0 rgba(98,18,24,.16);}
.cta.lav{background:var(--lavender);}
.cta.sage{background:var(--blush);border-color:var(--burgundy);}
.cta.pricing-tab{background:var(--sage);border-color:var(--burgundy);font-size:1.05rem;padding:.55rem 1.6rem;}
.cta .cursor{width:34px;height:30px;flex:0 0 auto;}
.cta .cursor .lines{stroke:var(--burgundy);stroke-width:3;stroke-linecap:round;}
.cta .cursor .arrow{fill:var(--burgundy);}

/* ============ HOME ============ */
#home .intro{animation:rise .55s .05s both;}
#home .philosophy{animation:rise .55s .16s both;}
#home .stream-cards{animation:rise .55s .27s both;}
#home .home-cta{animation:rise .55s .38s both;}
@keyframes rise{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}
.intro{font-size:clamp(1.55rem,3.4vw,2.55rem);font-family:'DM Sans';font-weight:400;margin:.4rem 0 1.6rem;}
.intro b{font-weight:700;}
.philosophy{
  background:var(--pink);border-radius:34px;padding:1.5rem 2rem;
  text-align:center;font-size:clamp(1rem,1.8vw,1.35rem);
  box-shadow:var(--card-shadow);max-width:1080px;margin:0 auto 2.5rem;
}
.philosophy p{margin:.35rem 0;}
.philosophy b{font-weight:700;}
.stream-cards{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:1020px;margin:0 auto;}
.stream-card{
  background:var(--blush);border-radius:30px;padding:1.5rem;
  border:3px solid var(--lavender);box-shadow:var(--card-shadow);
  cursor:pointer;transition:transform .18s ease;text-align:center;
}
.stream-card{transition:transform .2s ease,box-shadow .2s ease;}
.stream-card:hover{transform:translateY(-6px);box-shadow:0 26px 46px rgba(98,18,24,.22);}
.stream-card.edu{border-color:var(--sage);}
.stream-card svg{width:min(360px,84%);height:auto;margin:0 auto;}
.home-cta{text-align:center;margin-top:2.4rem;}

/* curved badge svg text */
.arc-rora{font-family:'Sansita';font-weight:800;fill:var(--pink);}
.arc-stream{font-family:'DM Sans';font-weight:500;}
.arc-curve{font-family:'DM Sans';font-weight:600;fill:var(--burgundy);font-size:26px;letter-spacing:.5px;}

/* ============ ABOUT ============ */
.about-grid{display:grid;grid-template-columns:minmax(300px,360px) 1fr;gap:2.2rem;align-items:start;}
.rosie-card{background:var(--burgundy);border-radius:26px;overflow:hidden;color:var(--peach);}
.rosie-top{display:flex;gap:1rem;align-items:flex-start;padding:1.4rem 1.4rem 0;}
.rosie-name{font-family:'Sansita';font-weight:800;color:var(--pink);font-size:3.2rem;line-height:1;margin:.3rem 0;}
.rosie-photo{width:120px;height:150px;border-radius:18px 18px 18px 60px;object-fit:cover;flex:0 0 auto;margin-left:auto;border:3px solid var(--pink);}
.rosie-creds{background:var(--lightpink);color:var(--burgundy);margin:1rem 1.4rem;border-radius:16px;padding:.9rem 1.2rem;}
.rosie-creds ul,.rosie-body ul{margin:.3rem 0;padding-left:1.2rem;}
.rosie-creds li{font-weight:500;margin:.15rem 0;}
.rosie-body{padding:0 1.4rem 1.6rem;}
.rosie-body p{margin:.2rem 0 .6rem;}

.accordion{display:flex;flex-direction:column;gap:1rem;}
.acc-item{background:var(--pink);border-radius:16px;overflow:hidden;box-shadow:0 8px 18px rgba(98,18,24,.10);}
.acc-head{
  width:100%;text-align:left;border:none;background:none;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  padding:1.05rem 1.4rem;font-family:'DM Sans';font-weight:700;color:var(--burgundy);
  font-size:1.12rem;
}
.acc-head .chev{transition:transform .25s ease;flex:0 0 auto;}
.acc-item.open .chev{transform:rotate(180deg);}
.acc-body{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.acc-body-inner{padding:0 1.4rem 1.35rem;color:var(--burgundy);line-height:1.66;font-size:1.02rem;}
.acc-body-inner p{margin:0 0 1rem;}
.acc-body-inner .lead-name{font-weight:700;}

/* ============ COACHING ============ */
.coach-wrap{display:flex;flex-direction:column;align-items:center;gap:1.2rem;padding-top:0;}
.coach-badge{width:min(188px,44vw);}
.coach-panel{
  background:var(--blush);border:3px solid var(--lavender);border-radius:34px;
  box-shadow:var(--card-shadow);padding:2.1rem 2rem;text-align:center;max-width:980px;width:100%;
}
.coach-panel h2{font-size:clamp(1.7rem,4vw,2.6rem);margin:.2rem 0 .9rem;}
.coach-panel .soon{font-style:italic;font-size:clamp(1.3rem,3vw,2rem);font-family:'Sansita';}

/* ============ EDUCATION ============ */
.edu-top{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap;margin-bottom:1.6rem;}
.edu-title{
  background:var(--pink);border:3px solid var(--sage);border-radius:22px;
  padding:1rem 1.6rem;font-size:clamp(1.3rem,2.8vw,2rem);font-weight:800;font-family:'Sansita';
  flex:1 1 420px;
}
.edu-info{display:grid;grid-template-columns:1.4fr 1fr;gap:1.4rem;margin-bottom:1.8rem;}
.resource-teaser-btn{margin-bottom:1.8rem;}
.infobox{background:var(--lightpink);border-radius:18px;padding:1.2rem 1.5rem;}
.infobox ul{margin:.3rem 0;padding-left:1.2rem;}
.infobox li{margin:.3rem 0;}
.infobox .label{font-weight:700;margin-bottom:.2rem;}
.pricing-tab{display:inline-flex;}
.cmp{display:grid;grid-template-columns:130px 1fr 1fr 1fr;gap:.8rem;margin-top:1.4rem;}
.cmp .ch{font-weight:700;color:var(--burgundy);padding:.7rem 1rem;border:2px solid var(--sage);border-radius:12px;background:transparent;display:flex;align-items:center;}
.cmp .tier{font-weight:700;border:2px solid var(--sage);border-radius:12px;display:flex;align-items:center;justify-content:center;padding:.6rem;text-transform:uppercase;letter-spacing:.5px;}
.cmp .cell{background:var(--cream);border:2px solid var(--sage);border-radius:12px;padding:.9rem 1.1rem;}
.cmp .cell ul{margin:0;padding-left:1.1rem;}
.cmp .cell li{margin:.2rem 0;}
.cmp .corner{border:none;}
.edu-pricing-cta{margin-top:1.7rem;}
.edu-howheading{font-size:1.3rem;margin:1.9rem 0 1rem;}

/* ============ FOR SCHOOLS ============ */
.schools-title{
  background:var(--pink);border:3px solid var(--sage);border-radius:22px;
  padding:1rem 1.6rem;font-size:clamp(1.3rem,2.8vw,2rem);font-weight:800;font-family:'Sansita';
  margin-bottom:1.6rem;
}
.schools-about{background:var(--lightpink);border-radius:18px;padding:1.4rem 1.7rem;margin-bottom:1.6rem;}
.schools-about p{margin:.4rem 0;}
.schools-about .dbs{font-style:italic;font-size:.96rem;margin-top:.8rem;}
.context-box{background:var(--cream);border-radius:18px;padding:1.2rem 1.6rem;margin-bottom:1.6rem;}
.context-box .label{font-weight:700;margin-bottom:.6rem;}
.context-box ul{margin:.2rem 0;padding-left:1.2rem;}
.context-box li{margin:.35rem 0;}
.schools-grid{display:grid;grid-template-columns:160px 1fr;gap:0;margin-bottom:1.6rem;border-radius:18px;overflow:hidden;border:2px solid var(--sage);}
.schools-grid .sg-label{background:var(--sage);color:var(--burgundy);font-weight:700;padding:1rem 1.2rem;display:flex;align-items:flex-start;}
.schools-grid .sg-cell{background:var(--cream);padding:.9rem 1.2rem;border-top:2px solid var(--sage);}
.schools-grid .sg-cell:first-of-type{border-top:none;}
.schools-grid .sg-label+.sg-cell{border-top:none;}
.schools-grid .sg-label:not(:first-child){border-top:2px solid rgba(98,18,24,.15);}
.schools-grid .sg-cell ul{margin:.25rem 0;padding-left:1.1rem;}
.schools-grid .sg-cell li{margin:.25rem 0;}
.session-block{background:var(--blush);border-radius:18px;padding:1.3rem 1.6rem;margin-bottom:1rem;}
.session-block h3{font-size:1.1rem;margin:.1rem 0 .6rem;background:var(--yellow);display:inline-block;padding:.25rem .8rem;border-radius:8px;}
.session-block .session-desc{font-style:italic;margin:.2rem 0 .8rem;font-size:.97rem;}
.session-detail{display:grid;grid-template-columns:190px 1fr;gap:.5rem .8rem;font-size:.97rem;}
.session-detail .sd-key{font-weight:600;color:var(--burgundy);}

/* ============ SCHOOL PRICING ============ */
.sprice-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem;}
.sprice-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-bottom:1.4rem;}
.sprice-card{background:var(--cream);border-radius:18px;overflow:hidden;box-shadow:0 8px 18px rgba(98,18,24,.10);}
.sprice-card .spc-h{background:var(--sage);padding:.9rem 1.2rem;font-weight:700;font-size:1.15rem;text-align:center;color:var(--burgundy);}
.sprice-card .spc-body{padding:1rem 1.3rem;}
.sprice-card .spc-price{font-family:'Sansita';font-size:2.1rem;font-weight:800;color:var(--burgundy);text-align:center;margin:.5rem 0 .3rem;}
.sprice-card .spc-desc{font-size:.97rem;text-align:center;color:var(--burgundy);margin-bottom:.9rem;}
.sprice-card .spc-detail{font-size:.93rem;border-top:1px solid rgba(98,18,24,.12);padding-top:.8rem;margin-top:.5rem;}
.sprice-card .spc-detail li{margin:.3rem 0;}
.sprice-note{background:var(--pink);border-radius:14px;padding:1rem 1.4rem;font-style:italic;margin-bottom:1.4rem;}
.sprice-note p{margin:.3rem 0;}
.sprice-also{background:var(--lightpink);border-radius:14px;padding:1rem 1.4rem;margin-bottom:1.4rem;}
.sprice-also p{margin:.3rem 0;}
.sprice-also strong{font-weight:700;}

/* ============ RESOURCE BOX + POPUP (Education page) ============ */
.resource-box{
  background:var(--burgundy);border:2.5px solid var(--yellow);border-radius:18px;
  padding:1.7rem 1.9rem;margin-top:2.2rem;color:var(--peach);
}
.resource-box h3{color:var(--peach);margin:0 0 .6rem;font-size:1.4rem;font-family:'Sansita';}
.resource-box p{margin:0 0 1.3rem;line-height:1.55;}

.resource-modal-overlay{
  display:none;position:fixed;inset:0;z-index:200;
  background:rgba(98,18,24,.55);align-items:center;justify-content:center;padding:1.2rem;
}
.resource-modal-overlay.open{display:flex;}
.resource-modal{
  background:var(--peach);border:2.5px solid var(--burgundy);border-radius:18px;
  padding:1.9rem;max-width:380px;width:100%;position:relative;
  box-shadow:0 20px 40px rgba(98,18,24,.32);
}
.resource-modal h3{margin:0 0 .6rem;font-size:1.25rem;color:var(--burgundy);font-family:'Sansita';}
.resource-modal p{margin:0 0 1.3rem;line-height:1.5;color:var(--burgundy);}
.resource-modal-close{
  position:absolute;top:.6rem;right:.8rem;background:none;border:none;
  font-size:1.7rem;line-height:1;cursor:pointer;color:var(--burgundy);padding:.2rem .5rem;
}
.resource-modal-close:hover{opacity:.7;}

/* ============ PACKAGES ============ */
.pkg-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem;}
.ptable{display:grid;grid-template-columns:140px 1fr 1fr 1fr;gap:.55rem;}
.ptable .hd{padding:.8rem;border-radius:12px;text-align:center;font-weight:700;font-size:1.15rem;}
.ptable .hd.found{background:#cdd0cd;}
.ptable .hd.core,.ptable .hd.ext{background:var(--sage);}
.ptable .rl{display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--burgundy);text-align:center;}
.ptable .pc{background:var(--cream);border-radius:10px;padding:.85rem 1rem;text-align:center;}
.ptable .pc.big{font-size:1.1rem;}
.pkg-banner{background:var(--lightpink);border-radius:14px;padding:1rem 1.4rem;text-align:center;font-weight:700;font-style:italic;margin:1.4rem 0 1rem;}
.pkg-note{background:var(--pink);border-radius:14px;padding:1rem 1.4rem;font-style:italic;}
.pkg-note p{margin:.3rem 0;}
.pkg-cards{display:none;flex-direction:column;gap:1.2rem;margin-top:1rem;}
.pkg-card{background:var(--cream);border-radius:16px;overflow:hidden;box-shadow:0 8px 18px rgba(98,18,24,.1);}
.pkg-card .pc-h{padding:.8rem;text-align:center;font-weight:700;font-size:1.2rem;color:var(--burgundy);}
.pkg-card .pc-h.found{background:#cdd0cd;}
.pkg-card .pc-h.core,.pkg-card .pc-h.ext{background:var(--sage);}
.pkg-card .pc-row{padding:.7rem 1.1rem;border-top:1px solid rgba(98,18,24,.12);}
.pkg-card .pc-row span{display:block;font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.4px;margin-bottom:.15rem;}

/* ============ CONTACT ============ */
.contact-grid{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:2.2rem;align-items:start;}
.contact-box{background:var(--lightpink);border-radius:18px;padding:1.3rem 1.5rem;margin-bottom:1.3rem;}
.contact-box .label{font-weight:700;margin-bottom:.4rem;}
.contact-box ul{margin:.3rem 0;padding-left:1.2rem;}
.contact-box li{margin:.3rem 0;}
.email-box{background:var(--burgundy);border:2.5px solid var(--yellow);border-radius:16px;padding:1.2rem 1.4rem;color:var(--peach);}
.email-box p{margin:.55rem 0;font-size:.98rem;}
.email-box .c{color:var(--lavender);font-weight:600;}
.email-box .e{color:var(--sage);font-weight:600;}
.email-box .h{color:var(--yellow);font-weight:600;}
.email-box a{color:var(--peach);text-decoration:none;}
.form-card{background:transparent;}
.rora-form{display:flex;flex-direction:column;gap:1rem;}
.rora-form input,.rora-form select,.rora-form textarea{
  width:100%;background:var(--cream);border:2px solid var(--burgundy);border-radius:14px;
  padding:.85rem 1.1rem;font-family:'DM Sans';font-size:1rem;color:var(--burgundy);
}
.rora-form textarea{min-height:120px;resize:vertical;}
.rora-form label{font-weight:700;color:var(--burgundy);}
.rora-form .req{color:var(--burgundy);}
.tally-note{font-size:.82rem;background:#fff7f0;border:1px dashed var(--burgundy);border-radius:10px;padding:.6rem .8rem;color:var(--burgundy);}
.form-fallback{font-size:.85rem;margin-top:.6rem;color:var(--burgundy);}
.form-intro{margin:0 0 1rem;color:var(--burgundy);}
.form-fallback a{color:var(--burgundy);font-weight:600;}

/* footer */
.site-footer{max-width:var(--maxw);margin:0 auto;padding:1.5rem clamp(14px,3vw,34px) 1.9rem;padding-left:calc(clamp(14px,3vw,34px) + clamp(74px,8vw,120px));color:var(--burgundy);}
.foot-nav{display:flex;flex-wrap:wrap;gap:.4rem 1.3rem;justify-content:center;margin-bottom:.85rem;}
.foot-nav button,.foot-nav a{appearance:none;border:none;background:none;color:var(--burgundy);font-family:'DM Sans';font-weight:500;font-size:.95rem;cursor:pointer;padding:.2rem .3rem;border-radius:6px;text-decoration:none;}
.foot-nav button:hover,.foot-nav a:hover{text-decoration:underline;}
.foot-nav button:focus-visible,.foot-nav a:focus-visible{outline:2px solid var(--burgundy);outline-offset:2px;}
.foot-copy{text-align:center;font-size:.85rem;opacity:.75;}
.foot-legal{text-align:center;font-size:.82rem;margin-top:.6rem;}
.foot-legal button,.foot-legal a{background:none;border:none;color:var(--burgundy);text-decoration:underline;cursor:pointer;font-family:'DM Sans';font-size:.82rem;padding:0 .2rem;}
.foot-legal .muted{opacity:.55;padding:0 .2rem;}
.legal{max-width:760px;}
.legal h1{font-size:clamp(1.8rem,4vw,2.4rem);margin:.2rem 0 .3rem;}
.legal h2{font-size:1.2rem;margin:1.7rem 0 .45rem;}
.legal p,.legal li{line-height:1.62;}
.legal ul{padding-left:1.2rem;}
.legal-updated{opacity:.7;font-size:.9rem;margin-top:0;}
.cookie-banner{display:none;position:fixed;left:0;right:0;bottom:0;z-index:200;background:var(--burgundy);color:var(--peach);padding:1rem clamp(14px,3vw,34px);align-items:center;gap:.6rem 1.2rem;flex-wrap:wrap;justify-content:center;box-shadow:0 -6px 18px rgba(98,18,24,.22);}
.cookie-banner p{margin:0;font-size:.95rem;max-width:760px;}
.cookie-link{background:none;border:none;color:var(--yellow);font-family:'DM Sans';font-weight:600;cursor:pointer;text-decoration:underline;padding:0;font-size:.95rem;}
.cookie-accept{background:var(--yellow);color:var(--burgundy);border:none;border-radius:999px;padding:.5rem 1.5rem;font-family:'DM Sans';font-weight:700;cursor:pointer;}
.cookie-actions{display:flex;gap:.6rem;flex-wrap:wrap;}
.cookie-reject{background:var(--blush);color:var(--burgundy);border:none;border-radius:999px;padding:.5rem 1.5rem;font-family:'DM Sans';font-weight:700;cursor:pointer;}

/* ============ RESPONSIVE ============ */
@media(max-width:880px){
  .badge{width:108px;height:108px;transform:translateY(16px);}
  .badge .rora{font-size:2.1rem;}
  .badge .stream{font-size:.9rem;}
  .header-inner{min-height:84px;gap:.6rem;}
  .menu-toggle{
    display:flex;flex-direction:column;gap:5px;margin-left:auto;
    background:var(--burgundy);border:none;border-radius:12px;padding:12px;cursor:pointer;
  }
  .menu-toggle span{width:24px;height:3px;background:var(--pink);border-radius:2px;}
  nav.pills{
    position:absolute;top:100%;right:0;left:0;
    flex-direction:column;align-items:stretch;gap:.4rem;
    background:var(--pink);padding:1rem clamp(14px,3vw,34px);
    display:none;box-shadow:0 14px 22px rgba(98,18,24,.18);
  }
  nav.pills.open{display:flex;}
  .pill{text-align:center;font-size:1.05rem;}
  .stream-cards{grid-template-columns:1fr;}
  .about-grid,.contact-grid{grid-template-columns:1fr;}
  .edu-info{grid-template-columns:1fr;}
  .rosie-photo{width:104px;height:130px;}
  /* education grid -> stacked tier cards */
  .cmp{grid-template-columns:1fr;}
  .cmp .ch{display:none;}
  .cmp .tier{justify-content:flex-start;background:var(--sage);}
  .cmp .cell::before{content:attr(data-col);display:block;font-weight:700;margin-bottom:.3rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.4px;}
  /* packages table -> 3 stacked cards */
  .ptable{grid-template-columns:1fr;}
  .ptable .rl{display:none;}
  .ptable .hd.found,.ptable .hd.core,.ptable .hd.ext{margin-top:1rem;}
  .ptable .pc::before{content:attr(data-row);display:block;font-weight:700;font-size:.85rem;margin-bottom:.2rem;}
  .ptable .pc{text-align:left;}
}
@media(max-width:880px){
  .page{padding-left:56px;}
  .site-footer{padding-left:56px;}
  .squiggle{display:block;width:44px;left:4px;-webkit-mask-size:44px 92px;mask-size:44px 92px;}
  .pill-dd{width:100%;}
  .dd-menu{position:static;display:none;flex-direction:column;background:transparent;box-shadow:none;padding:0;margin-top:.4rem;gap:.4rem;min-width:0;}
  .pill-dd.open .dd-menu{display:flex;}
  .dd-menu button,.dd-menu a{background:var(--burgundy);color:var(--peach);text-align:center;padding:.62rem 1.5rem;font-size:1.05rem;border-radius:999px;}
  .ptable.desktop-only{display:none;}
  .pkg-cards{display:flex;}
  .schools-grid{grid-template-columns:1fr;}
  .schools-grid .sg-label{background:var(--sage);justify-content:flex-start;}
  .schools-grid .sg-label:not(:first-child){border-top:2px solid rgba(98,18,24,.15);}
  .session-detail{grid-template-columns:1fr;}
  .session-detail .sd-key{margin-bottom:-.3rem;}
  .sprice-cards{grid-template-columns:1fr;}
}
