/* Offer details and navigation extend the approved visual system. */
.agreement-links{padding-left:20px}.agreement-links li{margin-bottom:20px}
.site-header{position:relative;align-items:center}
.site-header nav{gap:18px;flex-wrap:nowrap}
.site-header nav>a,.nav-group>summary{font-size:14px}
.nav-group{position:relative}
.nav-group>summary{cursor:pointer;list-style:none;padding:8px 0;border-bottom:2px solid transparent;white-space:nowrap}
.nav-group>summary::-webkit-details-marker{display:none}
.nav-group>summary:after{content:'⌄';display:inline-block;margin-left:7px;font-size:14px}
.nav-group[open]>summary,.nav-group.current-group>summary,.nav-group>summary:hover{border-color:var(--coral)}
.nav-group[open]>summary:after{transform:rotate(180deg)}
summary:focus-visible{outline:3px solid var(--coral);outline-offset:4px}
.nav-dropdown{position:absolute;z-index:20;top:calc(100% + 8px);left:-18px;min-width:255px;padding:12px 18px;background:var(--cream);border:1px solid var(--line);box-shadow:0 12px 26px #183f351c;border-radius:4px}
.nav-dropdown a{display:block;padding:12px 0;white-space:normal;line-height:1.4}
.menu-toggle{display:none;background:transparent;border:1px solid var(--green);padding:9px 14px;border-radius:4px;align-items:center;gap:24px;font-weight:600}
.offer-pair{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch}
.offer-pair .offer-box{display:flex;flex-direction:column}
.offer-pair .offer-box .button{align-self:flex-start;margin-top:auto}
.offer-box .price>span{display:block;font-size:16px;line-height:1.6;margin-top:6px}
.offer-box .small:empty{display:none}
.schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 7%}
.schedule-grid article{border-top:1px solid var(--line);padding-top:24px}
.schedule-grid h3{font-size:32px;margin-bottom:22px}
.schedule-grid p:last-child{margin-bottom:0}
.schedule-note{max-width:850px;border-top:1px solid var(--line);padding-top:25px;margin:32px 0 0;font-size:15px}
.compact-schedule{gap:28px;margin-bottom:28px}
.compact-schedule h3{font-size:27px}
.faq-section{border-top:1px solid var(--line)}
.faq-list{max-width:1000px}
.faq-list details{border-top:1px solid var(--line)}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{position:relative;list-style:none;padding:24px 44px 24px 0;font-size:20px;line-height:1.45;font-weight:600;cursor:pointer}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';position:absolute;right:6px;top:20px;font-size:28px;font-weight:400}
.faq-list details[open]>summary:after{content:'−'}
.faq-list details>div{max-width:850px;padding:0 32px 25px 0}
.faq-list details>div p:last-child{margin-bottom:0}
.next-steps{list-style:none;counter-reset:step;margin:0;padding:0}
.next-steps li{position:relative;counter-increment:step;border-top:1px solid var(--line);padding:22px 0 22px 48px}
.next-steps li:before{content:counter(step,decimal-leading-zero);position:absolute;left:0;color:var(--coral);font-weight:600}
.talk-invitation{border-top:1px solid var(--line);padding-top:24px;margin-top:30px}
.talk-invitation p{margin-bottom:12px}
.community-benefit{background:var(--wash)}
.event-invite{margin-top:24px}
.event-invite .text-link{font-size:inherit}
.photo-context{margin-top:12px;max-width:400px}
.action-context{margin:18px 0 0}
.page-youth .about-portrait img{aspect-ratio:4/3}
.page-farm-recharge h1{font-size:clamp(50px,5.25vw,80px)}
.page-embodied-practice .hero{background:var(--wash)}
.page-open-house .hero{background:var(--yellow)}
.footer-links .text-link{font-size:16px}
@media(max-width:1350px){
 .site-header{flex-wrap:wrap;gap:22px}
 .site-header nav{width:100%;flex-wrap:wrap;justify-content:flex-start;column-gap:24px}
 .nav-enhanced .menu-toggle{display:inline-flex;margin-left:auto}
 .nav-enhanced .site-header nav{display:none}
 .nav-enhanced .site-header nav.is-open{display:flex}
}
@media(max-width:760px){
 .site-header{flex-direction:row;align-items:center;gap:20px}
 .site-header nav,.nav-enhanced .site-header nav.is-open{flex-direction:column;align-items:stretch;gap:0}
 .site-header nav>a,.nav-group>summary{font-size:17px;padding:13px 0}
 .nav-dropdown{position:static;box-shadow:none;border:0;border-left:2px solid var(--coral);border-radius:0;min-width:0;padding:0 0 0 18px;margin:5px 0 14px}
 .nav-dropdown a{font-size:16px;padding:11px 0}
 .offer-pair,.schedule-grid{grid-template-columns:1fr;gap:26px}
 .offer-pair .offer-box{padding:30px 23px}
 .faq-list summary{font-size:18px;padding-right:38px}
 .faq-list details>div{padding-right:0}
 .schedule-grid h3{font-size:30px}
 .page-farm-recharge h1{font-size:clamp(43px,10vw,68px)}
 .talk-invitation .text-link{font-size:15px}
}
/* A short reading path through each offer, using the established design. */
.hero--offer { padding-bottom: 1.5rem; }
.hero--offer .hero-grid { padding-bottom: 2rem; }
.hero--offer h1 { font-size: clamp(2.75rem, 5vw, 5rem); }
.decision-summary { margin-top: 1.5rem; padding: 1.5rem 0 0; border-top: 1px solid #183f3540; display: grid; grid-template-columns: 1fr 1.5fr 1fr; gap: 1.25rem 2rem; }
.decision-lead p, .decision-price p { margin: 0 0 .65rem; font-size: 1rem; line-height: 1.5; }
.decision-facts { margin: 0; display: grid; gap: .8rem; }
.decision-facts div { display: grid; grid-template-columns: 4.5rem 1fr; gap: .5rem; }
.decision-facts dt { font-weight: 700; font-size: 1rem; }
.decision-facts dd { margin: 0; font-size: 1rem; line-height: 1.5; }
.decision-price .decision-amount { font-family: 'Fraunces', Georgia, serif; font-size: 1.5rem; line-height: 1.3; }
.decision-terms { grid-column: 1 / -1; margin: 0; font-size: .9375rem; line-height: 1.6; max-width: 78rem; }
.decision-terms a { color: inherit; text-underline-offset: .2em; }
.practice-summary { border-top: 1px solid #183f3525; }
.practice-opportunities { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; padding-left: 1.25rem; margin: 2rem 0 0; }
.practice-opportunities li { padding-left: .4rem; font-size: 1.125rem; line-height: 1.6; }
.youth-choice { background: var(--wash); }
.youth-choice .section-heading { max-width: 820px; }
.youth-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; align-items: stretch; }
.youth-choice-card { background: var(--cream); border: 1px solid var(--line); border-radius: 8px; padding: clamp(1.7rem, 3vw, 2.5rem); display: flex; flex-direction: column; box-shadow: 7px 7px 0 #183f3510; }
.youth-choice-card h3 { font-size: clamp(2rem, 3vw, 3rem); margin-bottom: 1rem; }
.youth-choice-card .check-list { margin-bottom: 1.5rem; }
.youth-choice-price { font-family: 'Fraunces', Georgia, serif; font-size: 2.2rem; line-height: 1.2; margin: auto 0 .35rem; padding-top: 1rem; }
.youth-choice-price span { display: block; font-family: 'DM Sans', Arial, sans-serif; font-size: .875rem; letter-spacing: 0; margin-top: .35rem; }
.youth-choice-card .button { width: 100%; margin-top: 1rem; }
.youth-offer-detail { scroll-margin-top: 1rem; }
.youth-offer-detail > .section-heading { max-width: 820px; }
.youth-offer-detail .parts { margin-top: 3rem; }
.youth-offer-detail .photo-band { margin: 3rem 0; }
.youth-offer-detail .photo-band h3 { font-size: clamp(2.4rem, 4vw, 4.5rem); margin-bottom: 1.5rem; }
.offer-investment-fit { margin-top: 3rem; }
.fit-promise { border-top: 2px solid var(--coral); padding-top: 1.4rem; }
.in-person-fit { border-color: var(--green); }
.fit-promise h3, .youth-offer-detail .offer-box h3 { margin-bottom: 1rem; }
@media (max-width: 850px) {
  .decision-summary { grid-template-columns: 1fr 1fr; gap: 1.25rem; }
  .decision-lead { grid-column: 1 / -1; }
  .practice-opportunities { grid-template-columns: 1fr; gap: 1rem; }
  .youth-choice-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .decision-summary { grid-template-columns: 1fr; }
  .decision-facts div { grid-template-columns: 1fr; gap: .15rem; }
  .hero--offer h1 { font-size: clamp(2.4rem, 10vw, 3.5rem); }
  .hero--offer .hero-grid { gap: 1.5rem; }
}

/* Discovery is visible before offer details; inquiry reuses the signup styling. */
.hero-top .discovery-hero{font-size:15px;line-height:1.45;flex-shrink:0;margin-bottom:24px}
.signup-card textarea,.signup-card select{display:block;width:100%;margin-bottom:24px;padding:10px 12px;min-height:48px;border:1px solid var(--green);border-radius:0;background:#fff;color:var(--green);font:inherit}
.signup-card textarea{resize:vertical}.signup-card textarea:focus-visible,.signup-card select:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
@media(max-width:760px){.hero-top:has(.discovery-hero){flex-direction:column;gap:0}.hero-top .discovery-hero{align-self:flex-start;margin-bottom:24px}}

/* September continuation: editorial offer pages within the existing brand system. */
.hero--minimal{min-height:min(780px,88vh);display:flex;flex-direction:column;justify-content:space-between}
.hero--minimal .discovery-hero{display:none}
.minimal-hero-copy{max-width:1050px;padding:7vh 0 9vh}
.minimal-hero-copy h1{font-size:clamp(3.5rem,7.2vw,7.4rem);line-height:.96;margin:0 0 2.5rem}
.minimal-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:6vw;align-items:center;padding:3vh 0 6vh}
.minimal-hero-grid .minimal-hero-copy{padding:0}
.minimal-hero-photo{width:100%;height:min(64vh,690px);object-fit:cover;object-position:center 38%;border-radius:2px}
.outcome-list{columns:2;column-gap:7%;padding-left:1.25rem;margin:2rem 0;max-width:1050px}
.outcome-list li{break-inside:avoid;margin:0 0 1.15rem;padding-left:.4rem;line-height:1.55}
.pathway-steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:1rem;align-items:stretch;margin:2.5rem 0}
.pathway-steps article{background:var(--wash);padding:1.5rem;border-top:4px solid var(--coral)}
.pathway-steps article span{display:block;color:var(--coral);font-weight:700;margin-bottom:.75rem}
.pathway-steps article strong{font-family:'Fraunces',Georgia,serif;font-size:1.45rem;line-height:1.2}
.pathway-steps article p{margin:.75rem 0 0;line-height:1.5}
.pathway-steps>b{align-self:center;color:var(--coral);font-size:.85rem;text-transform:uppercase;letter-spacing:.12em}
.pathway-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.pathway-cards .part{display:flex;flex-direction:column;border:1px solid var(--line);padding:1.7rem;background:var(--cream)}
.pathway-cards .part .text-link{margin-top:auto;align-self:flex-start}
.price-line{font-family:'Fraunces',Georgia,serif;font-size:1.5rem;line-height:1.3;margin-top:auto;padding-top:1rem}
.price-line small{font-family:inherit;font-size:.95rem}
.quiet-alternative{margin:1.5rem 0 0;font-size:.95rem}
.photo-proof{padding:clamp(3rem,8vw,7rem);background:var(--green);color:var(--cream)}
.proof-quote{max-width:1000px;margin:auto}
.proof-quote blockquote{font-family:'Fraunces',Georgia,serif;font-size:clamp(2rem,4vw,4rem);line-height:1.15;margin:0 0 2rem}
.page-coaching .coaching-pull-quote{padding-block:64px;text-align:left}
.page-coaching .coaching-pull-quote blockquote{max-width:920px}
.page-coaching .coaching-glance{padding-top:20px}
.page-coaching .coaching-glance .decision-summary{padding-top:36px}
/* Stack coaching labels above values so longer labels never overlap prices. */
.page-coaching .coaching-glance .decision-facts div{grid-template-columns:minmax(0,1fr);gap:.2rem}
.page-coaching .coaching-glance .decision-facts dd{min-width:0;overflow-wrap:break-word}
.page-coaching .coaching-glance .decision-price .button{margin-top:18px}
.page-coaching .practice-opportunities{margin-bottom:34px}
.page-coaching .coaching-context{max-width:760px}
.page-coaching .coaching-testimonial h2.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.page-coaching .coaching-testimonial blockquote{max-width:1120px}
.page-coaching .prose h3{font-size:1.35rem;letter-spacing:-.02em;margin:2rem 0 .65rem}
.page-coaching .coaching-closing .button{margin:8px auto 24px}
.page-coaching .coaching-closing .coaching-questions{margin:0 auto}
.photo-band{display:grid;grid-template-columns:1.25fr .75fr;background:var(--green);color:var(--cream);align-items:stretch}
.photo-band img{width:100%;height:100%;min-height:520px;object-fit:cover}
.photo-band>div{padding:clamp(2.5rem,6vw,6rem);align-self:center}
.photo-band h2{font-size:clamp(2.4rem,4vw,4.5rem)}
.family-photo-proof img{height:auto;aspect-ratio:4/3;min-height:0;object-position:center}
.family-photo-proof .proof-quote{margin:0}
.family-photo-proof .proof-quote blockquote{font-size:clamp(1.75rem,3vw,3.15rem)}
.meet-matt{display:grid;grid-template-columns:1fr minmax(300px,.7fr);gap:8%;align-items:center}
.meet-matt img{width:100%;max-height:620px;object-fit:cover}
.proof-grid blockquote{margin:0;font-family:'Fraunces',Georgia,serif;line-height:1.45}
.proof-grid cite{display:block;font-family:Arial,sans-serif;font-size:.85rem;font-style:normal;margin-top:1.3rem}
.proof-anchor{font-size:clamp(1.5rem,2.5vw,2.5rem);max-width:1050px;padding:2rem 0 3rem}
.proof-support{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.proof-support blockquote{background:var(--wash);padding:2rem;font-size:1.2rem}
.foundations-price{margin-top:2.5rem;max-width:720px}
@media(max-width:850px){
 .hero--minimal{min-height:0}
 .minimal-hero-grid{grid-template-columns:1fr;gap:1.5rem}
 .minimal-hero-copy{padding:3rem 0}
 .minimal-hero-grid .minimal-hero-copy{padding:2rem 0 0}
 .minimal-hero-copy h1{font-size:clamp(2.3rem,9.5vw,4.5rem)}
 .minimal-hero-photo{height:min(70vh,650px)}
 .outcome-list{columns:1}
 .pathway-steps{grid-template-columns:1fr}
 .pathway-steps>b{justify-self:center}
 .pathway-cards{grid-template-columns:1fr}
 .photo-band,.meet-matt{grid-template-columns:1fr}
 .photo-band img{min-height:340px}
 .family-photo-proof img{height:auto;min-height:0}
 .proof-support{grid-template-columns:1fr}
}

/* Being Yourself, Together direct enrollment and participant forms. */
.page-being-yourself-together .hero-actions{align-items:flex-start}
.page-being-yourself-together .hero-actions .text-link{max-width:260px;line-height:1.35}
.page-being-yourself-together .byt-dates{padding-left:1.2rem;line-height:1.8}
.byt-payment-options .offer-box{gap:.6rem}
.byt-payment-options .offer-box>p{margin-top:0}
.byt-payment-options .offer-box .price{margin-bottom:.4rem}
.byt-payment-options .offer-box .button{margin-top:auto}
.byt-terms-link{display:flex;flex-wrap:wrap;gap:24px;margin-top:36px}
.byt-closing{text-align:center}
.byt-closing .section-heading,.byt-closing .wide-prose{margin-inline:auto}
.byt-final-actions{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:32px}
.button.button-secondary{background:transparent;color:var(--green);border:1px solid var(--green)}
.button.button-secondary:hover{background:var(--green);color:var(--cream)}
.byt-provider{margin:34px 0 0}

.byt-aux-page,.agreement-page{background:var(--cream);color:var(--green)}
.byt-aux-main{max-width:900px;margin:auto;padding:64px 32px 88px}
.byt-aux-main>h1{font-size:clamp(44px,7vw,76px);line-height:1.05;letter-spacing:-.04em;margin:20px 0 28px}
.byt-aux-main>.intro{max-width:700px;font-size:20px;line-height:1.65}
.byt-aux-main .prose{max-width:760px}
.byt-aux-main .prose h2{font-size:clamp(30px,4vw,42px);margin-top:42px}
.byt-aux-main .prose ul{line-height:1.7;padding-left:1.3rem}
.byt-aux-footer{display:flex;justify-content:space-between;gap:20px;padding:30px 6%;border-top:1px solid var(--line);font-size:14px}
.byt-aux-footer p{margin:0}
.byt-form-intro{margin-bottom:42px}
.byt-form{max-width:780px}
.byt-form fieldset{border:0;border-top:1px solid var(--line);padding:38px 0 12px;margin:0 0 30px}
.byt-form legend{font-family:'Fraunces',Georgia,serif;font-size:30px;line-height:1.2;padding:0 18px 0 0}
.byt-form>fieldset>label:not(.byt-check){display:block;font-weight:700;margin:24px 0 8px}
.byt-form>fieldset>label:not(.byt-check)>span{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#183f35b8;margin-left:8px}
.byt-form input:not([type="checkbox"]),.byt-form textarea{display:block;width:100%;box-sizing:border-box;padding:13px 14px;border:1px solid var(--green);border-radius:0;background:#fff;color:var(--green);font:inherit}
.byt-form textarea{resize:vertical}
.byt-form input:focus-visible,.byt-form textarea:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
.byt-check{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;margin:20px 0;font-weight:400;line-height:1.55}
.byt-check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--green)}
.byt-check input:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
.byt-optional{background:var(--wash);padding:32px!important;border-top:4px solid var(--coral)!important}
.hidden-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

@media(max-width:760px){
 .byt-aux-main{padding:42px 22px 64px}
 .byt-aux-footer{display:block;padding:24px 22px}
 .byt-aux-footer p+p{margin-top:12px}
 .byt-payment-options .offer-box{padding:30px 23px}
 .byt-final-actions{align-items:stretch;flex-direction:column}
 .byt-final-actions .button,.byt-final-actions .text-link{text-align:center}
 .byt-optional{padding:24px!important}
 .byt-form legend{font-size:27px}
}

@media print{
 .byt-aux-footer{display:none}
}
