/* Goal / learn / apply pages — additive, scoped to .subpage.goal-page (2026-10 SEO update) */
.subpage.goal-page .goal-hero { position: relative; display: grid; grid-template-columns: 1.25fr .75fr; gap: 48px; align-items: start; padding: 8px 0 48px; margin-bottom: 48px; border-bottom: 1px solid rgba(15,29,46,.08); }
.subpage.goal-page .goal-hero.single { grid-template-columns: 1fr; }
.subpage.goal-page .goal-hero::before { content: ''; position: absolute; top: -32px; right: -100px; width: 380px; height: 380px; background: radial-gradient(circle at 30% 30%, rgba(31,182,176,.16), transparent 70%); pointer-events: none; z-index: 0; }
.subpage.goal-page .goal-hero-copy { position: relative; z-index: 1; }
.subpage.goal-page .goal-hero h1 { font-size: clamp(38px, 5vw, 60px); line-height: 1.02; letter-spacing: -.025em; font-weight: 400; margin: 0 0 22px; max-width: 20ch; color: #0a1525; text-wrap: balance; }
.subpage.goal-page .goal-hero h1 .accent { font-family: 'Fraunces', Georgia, serif; font-style: italic; color: #0EA89F; font-weight: 500; }
.subpage.goal-page .goal-hero .pull { font-family: 'Fraunces', Georgia, serif; font-style: italic; font-size: 20px; line-height: 1.5; color: #3a4a5e; max-width: 60ch; margin: 0 0 26px; }
.subpage.goal-page .actions { display: flex; flex-wrap: wrap; gap: 12px; }
.subpage.goal-page .actions .btn-primary { display: inline-flex; align-items: center; gap: 8px; background: linear-gradient(180deg, #1FB6B0 0%, #0EA89F 100%); color: #fff; padding: 14px 24px; border-radius: 999px; text-decoration: none; font-weight: 600; font-size: 15px; box-shadow: 0 8px 24px -8px rgba(14,168,159,.6); transition: transform .15s ease, box-shadow .15s ease; }
.subpage.goal-page .actions .btn-primary:hover { transform: translateY(-1px); box-shadow: 0 14px 32px -8px rgba(14,168,159,.7); }
.subpage.goal-page .actions .btn-ghost { display: inline-flex; align-items: center; gap: 8px; padding: 14px 22px; border-radius: 999px; border: 1px solid rgba(15,29,46,.14); color: #0a1525; text-decoration: none; font-weight: 600; font-size: 15px; background: #fff; transition: border-color .15s ease, color .15s ease; }
.subpage.goal-page .actions .btn-ghost:hover { border-color: #0EA89F; color: #0c7873; }
.subpage.goal-page .proof { list-style: none; padding: 0; margin: 24px 0 0; display: grid; gap: 8px; font-size: 14px; font-weight: 500; color: #283a5e; }
.subpage.goal-page .proof li { padding-left: 26px; position: relative; }
.subpage.goal-page .proof li::before { content: ''; position: absolute; left: 0; top: 2px; width: 16px; height: 16px; border-radius: 999px; background: #EEFBFA url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230EA89F' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center/70% no-repeat; }
.subpage.goal-page .score-card { position: relative; z-index: 1; background: #0A1F44; color: #fff; border-radius: 20px; padding: 28px; box-shadow: 0 24px 60px -16px rgba(10,31,68,.35); }
.subpage.goal-page .score-card .label { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .14em; color: #A6EFEC; }
.subpage.goal-page .score-card .num { font-family: 'Fraunces', Georgia, serif; font-size: 56px; line-height: 1; letter-spacing: -.03em; margin: 10px 0 14px; font-weight: 500; }
.subpage.goal-page .score-card p { margin: 0; font-size: 15px; line-height: 1.55; color: #DCE4F5; }
.subpage.goal-page .score-card .fine { margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.12); font-size: 12px; color: #B8C6E6; }
.subpage.goal-page .checks { list-style: none; padding: 0; margin: 20px 0 0; display: grid; gap: 12px; max-width: 70ch; }
.subpage.goal-page .checks li { padding-left: 30px; position: relative; font-size: 16px; line-height: 1.6; color: #283a5e; }
.subpage.goal-page .checks li::before { content: ''; position: absolute; left: 0; top: 5px; width: 18px; height: 18px; border-radius: 999px; background: #EEFBFA url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230c7873' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center/70% no-repeat; }
.subpage.goal-page .timeline.four { grid-template-columns: repeat(4, 1fr); }
.subpage.goal-page .goal-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 24px; }
.subpage.goal-page .goal-links a { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 16px; border: 1px solid rgba(15,29,46,.1); border-radius: 12px; color: #0a1525; text-decoration: none; font-weight: 600; font-size: 14px; transition: border-color .15s ease, background .15s ease; }
.subpage.goal-page .goal-links a:hover { border-color: #0EA89F; background: #EEFBFA; }
.subpage.goal-page .goal-links a span { font-size: 12px; font-weight: 700; color: #0EA89F; font-variant-numeric: tabular-nums; }
.subpage.goal-page .cta-block .btn-ghost { margin-left: 10px; background: transparent; border: 1px solid rgba(255,255,255,.35); color: #fff; }
.subpage.goal-page details.faq[open] summary { color: #0c7873; }
/* nav dropdown on subpages */
.subpage .goal-menu { position: relative; }
.subpage .goal-menu-btn { display: inline-flex; align-items: center; gap: 6px; background: none; border: 0; padding: 0; font: inherit; font-weight: 500; font-size: 15px; color: var(--navy-800, #0f1d2e); cursor: pointer; }
.subpage .goal-menu-btn svg { color: #0EA89F; transition: transform .25s ease; }
.subpage .goal-menu.open .goal-menu-btn svg, .subpage .goal-menu:hover .goal-menu-btn svg { transform: rotate(180deg); }
.subpage .goal-menu-panel { position: absolute; top: calc(100% + 16px); left: 50%; transform: translate(-50%, 6px); min-width: 300px; padding: 8px; background: #fff; border: 1px solid rgba(10,31,68,.08); border-radius: 14px; box-shadow: 0 24px 60px -16px rgba(10,31,68,.18); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .18s ease, transform .22s ease, visibility 0s linear .2s; z-index: 60; }
.subpage .goal-menu-panel::before { content: ''; position: absolute; left: 0; right: 0; top: -16px; height: 16px; }
.subpage .goal-menu.open .goal-menu-panel, .subpage .goal-menu:hover .goal-menu-panel, .subpage .goal-menu:focus-within .goal-menu-panel { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0); transition: opacity .18s ease, transform .22s ease, visibility 0s; }
.subpage .goal-menu-panel a { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 10px 12px; border-radius: 8px; color: var(--navy-800, #0f1d2e); font-size: 14px; font-weight: 500; text-decoration: none; white-space: nowrap; }
.subpage .goal-menu-panel a:hover { background: #EEFBFA; color: #0c7873; }
.subpage .goal-menu-panel a .score { font-size: 12px; font-weight: 700; color: #0EA89F; }
.subpage .goal-menu-panel a.all { margin-top: 4px; border-top: 1px solid #EEF1F7; border-radius: 0 0 8px 8px; color: #0c7873; font-weight: 600; }
@media (max-width: 920px) { .subpage.goal-page .goal-hero { grid-template-columns: 1fr; gap: 28px; } .subpage.goal-page .timeline.four { grid-template-columns: 1fr; } .subpage.goal-page .goal-links { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .subpage.goal-page .goal-links { grid-template-columns: 1fr; } .subpage.goal-page .cta-block .btn-ghost { margin-left: 0; margin-top: 10px; } }
