/* Shared navigation and Offerings pages. Existing homepage styles stay intact. */
:root { --ink-soft:#655e66; --lavender-dark:#725585; --lavender-wash:#eee6f2; --line:#d9cedd; }
.hero-script,
.ashley-script { color:var(--lavender-dark)!important; }
.skip-link { position:absolute; top:0; left:20px; z-index:100; padding:14px; background:white; color:var(--charcoal); transform:translateY(-120%); }
.skip-link:focus { transform:translateY(0); }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.offering-header { position:relative; z-index:20; }
.offering-header .main-nav { gap:28px; }
.offerings-menu { position:relative; }
.offerings-menu-label { display:flex; align-items:center; gap:5px; }
.offerings-toggle { border:0; background:transparent; color:var(--charcoal); font-size:21px; min-width:36px; min-height:44px; cursor:pointer; }
.offerings-submenu { display:none; position:absolute; top:100%; left:-20px; width:265px; padding:12px; background:var(--cream); border:1px solid var(--line); border-radius:14px; box-shadow:0 12px 32px #35323012; }
.offerings-submenu a { display:block; padding:14px 10px; font-size:10px; line-height:1.5; letter-spacing:1px; }
.offerings-menu.is-open .offerings-submenu { display:block; }
html:not(.nav-ready) .offerings-menu:hover .offerings-submenu,
html:not(.nav-ready) .offerings-menu:focus-within .offerings-submenu { display:block; }
.member-link small { display:block; margin-top:5px; font-size:8px; letter-spacing:1px; text-align:center; }
.menu-toggle { border:1px solid var(--charcoal); border-radius:30px; padding:12px 20px; color:var(--charcoal); background:transparent; font:500 12px 'Raleway',sans-serif; min-height:44px; cursor:pointer; }
.menu-toggle[hidden], .offerings-toggle[hidden] { display:none; }
.menu-toggle { display:none; }
a:focus-visible,button:focus-visible,summary:focus-visible,.table-scroll:focus-visible { outline:2px solid var(--lavender-dark); outline-offset:5px; }
.section-wrap { width:90%; max-width:1280px; margin:0 auto; }
.offerings-page p { line-height:1.85; font-size:15px; }
.offerings-page h1,.offerings-page h2,.offerings-page h3 { font-family:'Saudagar',serif; font-weight:normal; }
.offerings-page h1 { font-size:clamp(58px,6.4vw,90px); line-height:1.02; margin:22px 0; letter-spacing:-.8px; }
.offerings-page h2 { font-size:clamp(39px,4.3vw,59px); line-height:1.08; margin:16px 0 24px; }
.offerings-page h3 { font-size:34px; line-height:1.12; }
.offerings-page .eyebrow-label { font-size:10px; font-weight:600; letter-spacing:2.8px; line-height:1.6; }
.offerings-page .script-accent { font-family:'Celestine',cursive; color:var(--lavender-dark); font-size:clamp(36px,3.7vw,51px); line-height:1.2; margin:22px 0 14px; }
.offerings-page .lead { font-size:16px; max-width:540px; }
.solid-button,.outline-button { display:inline-flex; justify-content:center; align-items:center; gap:22px; min-height:48px; padding:17px 25px; border-radius:50px; font-size:10px; font-weight:600; letter-spacing:1.6px; text-transform:uppercase; text-decoration:none; color:var(--charcoal); transition:background .2s,transform .2s; }
.solid-button { background:var(--lavender); border:1px solid var(--lavender); }
.outline-button { border:1px solid var(--lavender-dark); }
.solid-button:hover,.outline-button:hover { background:var(--lavender-wash); transform:translateY(-2px); }
.text-link,.back-link { color:var(--charcoal); text-underline-offset:6px; font-size:13px; }
.offerings-hero { display:grid; grid-template-columns:1.15fr .85fr; gap:80px; align-items:center; padding:38px 0 95px; }
.offerings-hero .solid-button { margin-top:20px; }
.offerings-hero .script-accent { font-size:72px; line-height:.95; }
.offerings-arch { position:relative; height:535px; border-radius:240px 240px 0 0; overflow:hidden; }
.offerings-arch img { width:100%; height:100%; object-fit:cover; }
.offerings-arch span { position:absolute; bottom:0; left:0; width:100%; background:#f7f4efe6; text-align:center; padding:20px; font-family:'Celestine',cursive; font-size:34px; }
.offerings-selection { padding:30px 0 85px; scroll-margin-top:24px; }
.section-heading { text-align:center; max-width:700px; margin:0 auto 45px; }
.offerings-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.offering-card { padding:32px 24px; border:1px solid var(--line); border-radius:100px 100px 12px 12px; display:flex; flex-direction:column; padding-top:60px; background:#ffffff50; }
.offering-card:last-child { background:var(--lavender-wash); }
.card-number { font-size:8px; line-height:1.6; font-weight:600; letter-spacing:1.3px; }
.offering-card h3 { margin:22px 0 10px; min-height:78px; }
.offering-card>p:not(.price):not(.prepay) { min-height:82px; font-size:13px; }
.offerings-page .price { margin:22px 0 0; font-size:12px; white-space:nowrap; }
.price span { font-family:'Saudagar',serif; font-size:49px; }
.offerings-page .prepay { margin:0 0 25px; font-size:11px; }
.offering-card .outline-button { margin-top:auto; padding:14px 10px; font-size:9px; letter-spacing:1px; gap:12px; }
.offerings-page .pricing-note { text-align:center; margin:30px auto 0; font-size:12px; max-width:690px; }
.comparison-section { padding:75px 0; background:var(--lavender-wash); }
.table-scroll { overflow-x:auto; }
.offerings-page .table-hint { font-size:12px; }
.table-scroll table { width:100%; border-collapse:collapse; min-width:830px; text-align:left; }
th,td { border-bottom:1px solid #ccbfce; padding:22px 18px; font-size:12px; line-height:1.7; vertical-align:top; width:20%; }
thead th { font-family:'Saudagar',serif; font-size:26px; font-weight:normal; }
tbody th { font-weight:600; }
.ashley-note { padding:95px 0; max-width:710px; text-align:center; }
.ashley-note p:not(.script-accent) { max-width:560px; margin:0 auto 25px; }
.future-note { padding:45px 55px; border:1px solid var(--line); border-radius:0 70px 0 70px; margin-bottom:90px; }
.future-note p { max-width:800px; }
.offerings-footer { border-top:1px solid var(--line); padding:50px 5%; text-align:center; }
.footer-brand { display:inline-block; text-decoration:none; }
.footer-brand img { display:block; width:150px; height:auto; margin:0 auto; }
.offerings-footer div { display:flex; justify-content:center; gap:30px; flex-wrap:wrap; margin-top:25px; }
.offerings-footer div a { font-size:11px; color:var(--charcoal); text-underline-offset:4px; }
.service-hero { padding:25px 0 75px; }
.back-link { display:inline-block; margin-bottom:40px; }
.service-intro { display:grid; grid-template-columns:1.4fr .8fr; gap:85px; align-items:center; }
.service-intro h1 { font-size:clamp(57px,6.5vw,88px); }
.service-tagline { font-size:19px!important; color:var(--lavender-dark); }
.pricing-panel { padding:48px 35px; border:1px solid var(--line); border-radius:120px 120px 14px 14px; background:var(--lavender-wash); text-align:center; }
.pricing-panel p { font-size:12px; }
.pricing-panel .price span { font-size:65px; }
.pricing-panel .solid-button { margin:20px 0 5px; }
.offerings-page .small-note { font-size:11px; }
.fit-band { background:var(--lavender-wash); padding:38px 0; }
.fit-band .section-wrap { display:grid; grid-template-columns:1fr 2fr; gap:60px; align-items:center; }
.fit-band p:last-child { font-size:18px; max-width:740px; }
.service-details { display:grid; grid-template-columns:1fr 1.5fr; gap:80px; padding:90px 0; }
.included-list { list-style:none; margin:0; padding:0; }
.included-list li { padding:17px 0 17px 30px; border-bottom:1px solid var(--line); line-height:1.8; font-size:14px; position:relative; }
.included-list li:before { content:'✓'; position:absolute; left:0; color:var(--lavender-dark); }
.boundary-note { padding:22px; background:#eee6f280; border-radius:12px; font-size:13px!important; }
.hub-note { font-size:12px!important; }
.how-section { padding:15px 0 85px; }
.steps-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:45px; }
.steps-grid article { border-top:1px solid var(--line); padding-top:25px; }
.steps-grid h3 { margin:20px 0 12px; }
.step-number { color:var(--lavender-dark); font-size:12px; letter-spacing:2px; }
.faq-section { display:grid; grid-template-columns:1fr 1.5fr; gap:80px; padding:60px 0 90px; border-top:1px solid var(--line); }
.faq-section details { border-bottom:1px solid var(--line); padding:22px 0; }
.faq-section summary { cursor:pointer; font-size:14px; line-height:1.6; padding-right:15px; }
.faq-section details p { font-size:13px; }
.enrollment-section { text-align:center; background:var(--lavender-wash); border-radius:100px 100px 12px 12px; padding:65px 35px; margin-bottom:90px; scroll-margin-top:25px; }
.enrollment-section .script-accent { font-size:72px; line-height:.95; }
.enrollment-section>p:not(.script-accent) { max-width:580px; margin:0 auto 25px; }
.member-coming { max-width:780px; text-align:center; padding:50px 0 100px; }
.member-coming .lead { margin:25px auto; }
.member-coming .solid-button { margin-top:25px; }
@media(max-width:1100px) {
 .offering-header .main-nav { gap:15px; }
 .offering-header .main-nav>a,.offerings-menu-label>a { font-size:10px; letter-spacing:1.2px; }
 .offerings-grid { grid-template-columns:repeat(2,1fr); gap:24px; }
 .offering-card h3 { min-height:0; }
 .offering-card>p:not(.price):not(.prepay) { min-height:45px; }
 .offerings-hero,.service-intro { gap:40px; }
 .offerings-arch { height:480px; }
}
@media(max-width:850px) {
 .offering-header .main-nav { gap:12px!important; }
 .offering-header { flex-wrap:wrap; height:auto!important; min-height:135px; align-items:flex-start!important; }
 .menu-toggle:not([hidden]) { display:inline-flex; align-items:center; gap:14px; margin-top:12px; }
 .offering-header .main-nav { width:100%; flex-direction:column; align-items:stretch; padding:20px 0 30px; }
 .nav-ready .offering-header .main-nav { display:none!important; }
 .nav-ready .offering-header .main-nav.is-open { display:flex!important; }
 .offering-header .main-nav a:not(.nav-button) { display:block!important; }
 .offering-header .main-nav a { padding:14px 12px; font-size:12px; letter-spacing:1.4px; }
 .offerings-menu-label { justify-content:space-between; }
 .offerings-submenu { position:static; width:100%; box-shadow:none; border-radius:12px; margin:8px 0; }
 .member-link small { display:inline; margin-left:10px; }
 .offering-header .nav-button { align-self:flex-start; margin-top:12px; }
 .offerings-hero { grid-template-columns:1fr 1fr; gap:25px; padding-top:25px; }
 .offerings-arch { height:420px; }
 .offerings-page h1 { font-size:58px; }
 .service-intro { grid-template-columns:1fr; gap:30px; }
 .pricing-panel { border-radius:55px 55px 12px 12px; padding:25px; }
 .service-details,.faq-section { grid-template-columns:1fr; gap:25px; padding:55px 0; }
 .fit-band .section-wrap { grid-template-columns:1fr; gap:0; }
 .steps-grid { gap:25px; }
}
@media(max-width:750px) {
 .offerings-hero .script-accent { font-size:44px; line-height:1; }
 .enrollment-section .script-accent { font-size:44px; line-height:1; }
}
@media(max-width:600px) {
 .section-wrap { width:88%; }
 .offerings-hero { grid-template-columns:1fr; gap:45px; padding-bottom:50px; }
 .offerings-page h1,.service-intro h1 { font-size:57px; }
 .offerings-arch { height:370px; }
 .offerings-grid { grid-template-columns:1fr; }
 .offering-card { padding:45px 30px 30px; border-radius:75px 75px 12px 12px; }
 .offering-card h3 { font-size:38px; margin-top:16px; }
 .offering-card>p:not(.price):not(.prepay) { min-height:0; }
 .section-heading { text-align:left; }
 .comparison-section { padding:45px 0; }
 .ashley-note { padding:60px 0; }
 .future-note { padding:30px 25px; margin-bottom:55px; border-radius:0 45px; }
 .future-note h2 { font-size:36px; }
 .steps-grid { grid-template-columns:1fr; }
 .steps-grid article { padding-top:20px; }
 .steps-grid h3 { margin-top:12px; }
 .service-hero { padding:15px 0 45px; }
 .back-link { margin-bottom:25px; }
 .enrollment-section { padding:45px 22px; border-radius:65px 65px 12px 12px; margin-bottom:55px; }
 .offerings-footer div { gap:22px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .solid-button,.outline-button { transition:none; } }
