/* MSP Nest theme styles: the playful details theme.json can't express (offset shadows, cards, badges). */
body{
  --ink:var(--wp--preset--color--ink); --muted:var(--wp--preset--color--muted); --line:var(--wp--preset--color--line);
  --yolk:var(--wp--preset--color--yolk); --yolk-soft:var(--wp--preset--color--yolk-soft);
  --coral:var(--wp--preset--color--coral); --coral-soft:var(--wp--preset--color--coral-soft); --coral-ink:var(--wp--preset--color--coral-ink);
  --sky:var(--wp--preset--color--sky); --sky-soft:var(--wp--preset--color--sky-soft);
  --r-lg:28px; --r-md:16px;
}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased}
:where(h1,h2,h3){text-wrap:balance}
:focus-visible{outline:3px solid var(--sky); outline-offset:3px; border-radius:6px}
.site-main{margin-block-start:0}
.site-main > *{margin-block:0 !important}

/* section rhythm */
.site-main > section, .generic{padding-block:clamp(64px, 9vw, 112px)}
.eyebrow{font-weight:700; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--coral-ink); margin:0}
.lede{color:var(--muted); font-size:var(--wp--preset--font-size--large); max-width:62ch}
.section-head{display:flex; flex-direction:column; gap:14px; margin-bottom:48px !important; max-width:760px}
.section-head > *{margin:0 !important}

/* buttons */
.wp-block-button .wp-block-button__link{transition:transform .15s ease, box-shadow .15s ease}
.wp-block-button .wp-block-button__link:hover{transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--ink)}
.wp-block-button.btn-ghost .wp-block-button__link{background:transparent; color:var(--ink); box-shadow:none; border:2.5px solid var(--ink)}
.wp-block-button.btn-ghost .wp-block-button__link:hover{background:#fff; box-shadow:none; transform:none}
.wp-block-button.btn-small .wp-block-button__link{padding:.55em 1.1em; font-size:.92rem; box-shadow:3px 3px 0 var(--ink)}

/* header */
.site-nav{position:sticky; top:0; z-index:50; background:color-mix(in srgb, var(--wp--preset--color--bg) 88%, transparent); backdrop-filter:blur(10px); border-bottom:1px solid var(--line)}
.admin-bar .site-nav{top:32px}
@media (max-width:782px){ .admin-bar .site-nav{top:46px} }
.nav-inner{padding-block:12px; gap:16px}
.nav-right{gap:24px}
.main-nav{font-weight:600; font-size:.95rem; gap:28px}
.main-nav a{color:var(--muted); text-decoration:none}
.main-nav a:hover, .main-nav .current-menu-item a{color:var(--ink)}
.main-nav .current-menu-item a{text-decoration:underline; text-decoration-color:var(--coral); text-decoration-thickness:3px; text-underline-offset:8px}
.wordmark{margin:0; font-family:var(--wp--preset--font-family--display); font-weight:800; font-size:1.5rem; letter-spacing:-.03em; line-height:1}
.wordmark a{display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink)}
.wordmark a::before{content:""; width:42px; height:42px; flex:none; background:url(../images/mark.svg) center/contain no-repeat}
.wordmark-small{font-size:1.2rem}
.wordmark-small a::before{width:32px; height:32px}
@media (max-width:520px){ .nav-right .wp-block-buttons{display:none} }

/* hero */
.hero{padding-block:clamp(48px,7vw,96px) clamp(40px,6vw,72px) !important}
.hero-cols{align-items:center !important; gap:48px}
.hero-copy > *{margin-block:0 0 22px}
.hero-title{font-size:var(--wp--preset--font-size--huge)}
.hero-title mark.hl{background:linear-gradient(transparent 62%, var(--yolk) 62%); color:inherit; padding:0 .08em}
.trust{color:var(--muted); font-size:.95rem}
.trust strong{color:var(--ink)}
.hero-art img{width:100%; height:auto}

/* stats ribbon */
.ribbon{padding-block:34px !important}
.ribbon .stats{gap:24px; margin:0}
.stat > *{margin:0}
.stat-num{font-family:var(--wp--preset--font-family--display); font-weight:800; font-size:clamp(2rem,4vw,2.9rem); line-height:1; color:var(--yolk); font-variant-numeric:tabular-nums}
.stat-label{font-size:.95rem; opacity:.85}
@media (max-width:781px){ .ribbon .stats{display:grid !important; grid-template-columns:1fr 1fr} }

/* cards shared */
.mini, .stage{--c:var(--yolk); background:#fff; border:2.5px solid var(--ink); border-radius:var(--r-lg); box-shadow:6px 6px 0 var(--c)}
.mini.chick, .stage.chick{--c:var(--coral)}
.mini.fledgling, .stage.fledgling{--c:var(--sky)}

/* programme teaser */
.minis{gap:24px}
.mini{display:flex; align-items:center; gap:18px; padding:22px}
.mini > *{margin:0 !important}
.mini-badge{flex:none; width:96px}
.mini-badge img{width:96px; height:96px}
.mini-txt > *{margin:0}
.mini-txt h3{font-size:1.8rem; font-weight:800}
.who{font-weight:700; color:var(--muted); font-size:.92rem}
.more{font-weight:700; font-size:.92rem; margin-top:6px !important}
.more a{text-decoration:none}

/* programmes */
.stages{gap:24px; align-items:stretch !important}
.stage{padding:28px; display:flex; flex-direction:column; gap:18px}
.stage > *{margin:0 !important}
.stage-top{display:flex; align-items:center; gap:16px}
.stage-top > *{margin:0 !important}
.stage-badge{flex:none; width:96px}
.stage-badge img{width:96px; height:96px}
.stage-name > *{margin:0}
.stage-name h3{font-size:2rem; font-weight:800}
.desc{color:var(--muted)}
.ticks{list-style:none; padding:0; display:flex; flex-direction:column; gap:10px; font-size:.97rem}
.ticks li{display:flex; gap:10px; align-items:flex-start}
.ticks li::before{content:""; flex:none; width:10px; height:13px; margin-top:.45em; border-radius:50% 50% 50% 50% / 60% 60% 40% 40%; background:var(--c); border:1.5px solid var(--ink)}
.price{margin-top:auto !important; padding-top:18px; border-top:1.5px dashed var(--line); color:var(--muted); font-weight:600}
.price strong{font-family:var(--wp--preset--font-family--display); font-size:2.1rem; font-weight:800; color:var(--ink); font-variant-numeric:tabular-nums}
.tbc{font-size:.8rem; color:var(--coral-ink); font-weight:700; letter-spacing:.04em; text-transform:uppercase; margin-top:-12px !important}
.btn-stage{width:100%}
.btn-stage .wp-block-button__link{width:100%; background:var(--c); box-shadow:3px 3px 0 var(--ink)}
.stage .wp-block-buttons{width:100%}

/* pillars */
.pillars-band{border-block:1px solid var(--line)}
.pillars{gap:18px}
.pillar{padding:22px 20px; border-radius:var(--r-md); background:var(--wp--preset--color--bg)}
.pillar > *{margin:0 0 12px}
.pillar-icon img{width:48px; height:48px}
.pillar h3{font-size:1.3rem}
.pillar p{color:var(--muted); font-size:.95rem; margin:0}
@media (max-width:1060px) and (min-width:782px){ .pillars{flex-wrap:wrap !important} .pillars .pillar{flex-basis:30% !important} }

/* steps */
.steps{gap:28px}
.step > *{margin:0 0 10px}
.step-n{width:52px; height:52px; border-radius:50%; background:var(--yolk); border:2.5px solid var(--ink); display:grid; place-items:center; font:800 1.4rem var(--wp--preset--font-family--display)}
.step p:last-child{color:var(--muted)}

/* founder */
.founder{gap:56px; align-items:center !important}
.portrait-col{flex:0 0 340px !important; max-width:100%}
.portrait{aspect-ratio:4/5; border-radius:var(--r-lg); border:2.5px solid var(--ink); background:#fff; box-shadow:8px 8px 0 var(--coral); display:grid; place-content:center; text-align:center; padding:24px; color:var(--muted); font-size:.9rem}
.portrait-mark{margin:0 auto 12px !important}
.portrait-mark img{width:140px; height:140px}
.portrait-note{font-weight:700; color:var(--ink); margin:0}
.portrait-col .wp-block-image img{border-radius:var(--r-lg); border:2.5px solid var(--ink); box-shadow:8px 8px 0 var(--coral); aspect-ratio:4/5; object-fit:cover}
.founder-copy > *{margin-block:0 20px; max-width:62ch}
.quote{font-family:var(--wp--preset--font-family--display); font-size:1.5rem; font-weight:700; line-height:1.25; border-left:6px solid var(--coral); padding-left:20px}

/* booking */
.book{gap:56px}
.book-copy > *{margin-block:0 18px}
.book-copy .eyebrow{color:var(--yolk)}
.book-copy p{opacity:.88; max-width:52ch}
.ticks-light{list-style:none; padding:0; display:flex; flex-direction:column; gap:10px}
.ticks-light li{display:flex; gap:10px}
.ticks-light li::before{content:"✓"; color:var(--yolk); font-weight:800}
.form-card{background:#fff; color:var(--ink); border-radius:var(--r-lg); padding:32px; border:2.5px solid var(--ink); box-shadow:8px 8px 0 var(--yolk)}
.form-card input, .form-card select, .form-card textarea{font:inherit; color:var(--ink); background:var(--wp--preset--color--bg); border:2px solid var(--line); border-radius:12px; padding:.75em .9em; width:100%}
.form-note{color:var(--muted); font-size:.92rem}

/* faq */
.faq-list{max-width:820px; display:flex; flex-direction:column; gap:12px}
.faq-list > *{margin:0 !important}
.wp-block-details{background:#fff; border:2px solid var(--line); border-radius:var(--r-md); padding:18px 22px}
.wp-block-details[open]{border-color:var(--ink)}
.wp-block-details summary{cursor:pointer; font-family:var(--wp--preset--font-family--display); font-weight:700; font-size:1.2rem; list-style:none; display:flex; justify-content:space-between; gap:16px}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details summary::after{content:"+"; font-size:1.5rem; line-height:1; color:var(--coral-ink)}
.wp-block-details[open] summary::after{content:"–"}
.wp-block-details p{color:var(--muted); margin-top:10px}

/* call-to-action strip */
.site-main > .cta-strip{padding-block:56px}
.cta-inner{gap:24px}
.cta-text > *{margin:0}
.cta-text h2{font-size:clamp(1.7rem,3.4vw,2.4rem)}
.cta-text p{color:var(--muted); margin-top:6px}

/* footer */
.site-footer{border-top:1px solid var(--line); padding-block:40px}
.footer-inner{gap:20px}
.footer-note{color:var(--muted); font-size:.9rem; margin:0}

@media (max-width:781px){
  .portrait-col{flex-basis:auto !important; max-width:300px}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .wp-block-button .wp-block-button__link{transition:none}
}
