/* Utility pages use the approved Walden tokens and existing editorial patterns. */
.walden-utility {
	background: var(--wd-white);
	color: var(--wd-ink);
	font: 400 16px/1.65 "Inter", system-ui, sans-serif;
}
.walden-utility .site-main { overflow: clip; }
.walden-utility :is(h1,h2,h3) { font-family: "Playfair Display", Georgia, serif; font-weight: 600; line-height: 1.12; text-wrap: balance; }
.walden-utility a { text-underline-offset: .22em; }
@media (hover: hover) and (pointer: fine) {.walden-utility a:hover{ opacity: 1; }}
.walden-utility .site-main :focus-visible { outline: 3px solid var(--wd-teal); outline-offset: 4px; }
.walden-utility .site-main :is(.title-banner, .utility-payment, .utility-referral-form, .utility-support, .walden-shared) :focus-visible { outline-color: var(--wd-gold); }
.walden-utility .site-main .utility-form-panel :focus-visible { outline-color: var(--wd-teal); }
.walden-utility .title-banner { padding-block:var(--wd-section-space); border: 0; color: var(--wd-white); background: var(--wd-teal-dark); }
.walden-utility .title-banner__inner { max-width: 1280px; gap: 20px; }
.walden-utility .title-banner :is(h1,p) { max-width: 850px; color: var(--wd-white); }
.walden-utility .title-banner h1 { font-size:var(--wd-type-h1); letter-spacing: -.035em; }
.walden-utility .title-banner .eyebrow { color: #f0c66d; font: 700 .75rem/1.4 "Inter", system-ui, sans-serif; letter-spacing: .15em; text-transform: uppercase; }
.walden-utility .title-banner__intro { max-width: 700px; color: rgba(255,255,255,.82); font-size: clamp(1.05rem, 1.5vw, 1.22rem); }
.walden-utility .title-banner .breadcrumbs, .walden-utility .title-banner .breadcrumbs__list { color: rgba(255,255,255,.75); }
.walden-utility .title-banner .breadcrumbs a { color: inherit; }
.walden-utility .title-banner .btn--cta { min-height: 48px; border-color: var(--wd-gold); border-radius: 8px; color: var(--wd-teal-dark); background: var(--wd-gold); font: 700 .88rem/1.2 "Inter", system-ui, sans-serif; }
@media (hover: hover) and (pointer: fine) {.walden-utility .title-banner .btn--cta:hover{ background: #e0b050; }}

.walden-utility .utility-shell { width: min(1280px, calc(100% - 48px)); margin-inline: auto; }
.walden-utility .utility-section { padding-block:var(--wd-section-space); scroll-margin-top: calc(var(--global-header-height) + 20px); }
.walden-utility .utility-section:nth-of-type(even) { background: var(--wd-surface); }
.walden-utility .utility-section h2 { margin: 0 0 24px; color: var(--wd-teal-dark); font-size:var(--wd-type-h2); letter-spacing: -.025em; }
.walden-utility .utility-section h3 { margin: 0 0 14px; color: var(--wd-teal-dark); font-size:var(--wd-type-h3); }
.walden-utility .utility-section p { max-width: 67ch; margin: 0 0 1.2em; }
.walden-utility .utility-section p:last-child { margin-bottom: 0; }
.walden-utility .utility-eyebrow { margin: 0 0 18px !important; color: var(--wd-teal-light); font-size: .74rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.walden-utility .utility-section-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.walden-utility .utility-section-head h2 { margin: 0; }
.walden-utility .utility-text-link { color: var(--wd-teal); font-weight: 700; text-decoration-thickness: 2px; }
@media (hover: hover) and (pointer: fine) {.walden-utility .utility-text-link:hover{ color: var(--wd-teal-light); }}
.walden-utility .utility-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 12px 22px; border-radius: 8px; color: var(--wd-teal-dark); background: var(--wd-gold); font-size: .88rem; font-weight: 700; text-decoration: none; }
@media (hover: hover) and (pointer: fine) {.walden-utility .utility-button:hover{ background: #e0b050; }}

.walden-utility .utility-topic-nav { padding-block: 28px; border-bottom: 1px solid var(--wd-line); background: var(--wd-white); }
.walden-utility .utility-topic-nav .utility-eyebrow { margin-bottom: 12px !important; }
.walden-utility .utility-topic-links { display: flex; flex-wrap: wrap; gap: 10px; }
.walden-utility .utility-topic-links a { display: inline-flex; min-height: 44px; align-items: center; padding: 8px 16px; border: 1px solid var(--wd-line); border-radius: 999px; color: var(--wd-teal-dark); font-size: .88rem; font-weight: 700; text-decoration: none; }
@media (hover: hover) and (pointer: fine) {.walden-utility .utility-topic-links a:hover{ border-color: var(--wd-teal); background: var(--wd-surface); }}

.walden-utility .utility-faq-topic { border-bottom: 1px solid var(--wd-line); }
.walden-utility .utility-faq-list { display: grid; gap: 12px; max-width: 990px; }
.walden-utility .utility-faq-list details { border: 1px solid var(--wd-line); border-radius: 12px; background: var(--wd-white); }
.walden-utility .utility-faq-list details[open] { border-color: rgba(0,62,81,.35); box-shadow:none; }
.walden-utility .utility-faq-list summary { display: flex; min-height: 64px; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 24px; color: var(--wd-teal-dark); cursor: pointer; font-weight: 700; list-style: none; }
.walden-utility .utility-faq-list summary::-webkit-details-marker { display: none; }
.walden-utility .utility-faq-list summary::after { content: "+"; flex: none; color: var(--wd-gold-dark); font-size: 1.5rem; line-height: 1; }
.walden-utility .utility-faq-list details[open] summary::after { content: "−"; }
.walden-utility .utility-faq-list details p { max-width: 74ch; padding: 0 24px 24px; color: var(--wd-muted); }

.walden-utility .utility-two-column, .walden-utility .utility-support-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr); gap: clamp(36px, 7vw, 110px); align-items: start; }
.walden-utility .utility-two-column > *, .walden-utility .utility-support-grid > * { min-width: 0; }
.walden-utility .utility-action-card { padding: clamp(28px, 4vw, 52px); border: 1px solid var(--wd-line); border-top:1px solid var(--wd-line); border-radius: 12px; background: var(--wd-white); box-shadow:none; }
.walden-utility .utility-action-card .utility-button { margin-top: 8px; }
.walden-utility .utility-notice { padding: 18px 20px; border-left: 4px solid var(--wd-gold); background: var(--wd-surface); }
.walden-utility .utility-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.walden-utility .utility-card-grid article { padding: clamp(28px, 4vw, 48px); border: 1px solid var(--wd-line); border-radius: 12px; background: var(--wd-white); }
.walden-utility .utility-card-grid p { color: var(--wd-muted); }
.walden-utility .utility-payment { color: var(--wd-white); background: var(--wd-teal-dark) !important; }
.walden-utility .utility-payment :is(h2,p) { color: var(--wd-white); }
.walden-utility .utility-payment .utility-eyebrow { color: #f0c66d; }
.walden-utility .utility-payment .utility-text-link { color: #f6cf7b; }
.walden-utility .utility-payment-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.walden-utility .utility-payment-list li { display: flex; min-height: 72px; align-items: center; justify-content: center; padding: 14px; border: 1px solid rgba(255,255,255,.28); border-radius: 10px; color: var(--wd-white); font-weight: 700; text-align: center; }
.walden-utility .utility-check-list { display: grid; gap: 12px; padding-left: 24px; }
.walden-utility .utility-check-list li::marker { color: var(--wd-gold-dark); }
.walden-utility .utility-check-list a { color: var(--wd-teal); font-weight: 700; }

.walden-utility .utility-referral-form { color: var(--wd-white); background: var(--wd-teal-dark) !important; }
.walden-utility .utility-referral-form :is(h2,p) { color: var(--wd-white); }
.walden-utility .utility-referral-form .utility-eyebrow { color: #f0c66d; }
.walden-utility .utility-form-panel { padding: clamp(24px, 3.5vw, 44px); border-radius: 12px; color: var(--wd-ink); background: var(--wd-white); }
.walden-utility .utility-form-panel .gform_wrapper { margin: 0; }
.walden-utility .utility-form-panel .gfield_label { color: var(--wd-teal-dark); font-weight: 700; }
.walden-utility .utility-form-panel :is(input[type="text"],input[type="email"],textarea) { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid var(--wd-line); border-radius: 8px; color: var(--wd-ink); background: var(--wd-white); font: inherit; font-size: 1rem; }
.walden-utility .utility-form-panel textarea { min-height: 120px; }
.walden-utility .utility-form-panel .gform_wrapper :is(input[type="text"],input[type="email"],input[type="tel"],select,textarea) { font-size: 1rem; }
.walden-utility .utility-form-panel :is(input[type="text"],input[type="email"],textarea):focus { border-color: var(--wd-teal); outline: 3px solid var(--wd-teal); outline-offset: 2px; }
.walden-utility .utility-form-panel :is(input[type="submit"],button[type="submit"]) { min-height: 48px; padding: 12px 24px; border: 0; border-radius: 8px; color: var(--wd-teal-dark); background: var(--wd-gold); cursor: pointer; font: 700 .9rem/1.2 "Inter", system-ui, sans-serif; }
.walden-utility .utility-form-panel .validation_message { color: #9b3300; }

.walden-utility .utility-support { color: var(--wd-white); background: var(--wd-teal) !important; }
.walden-utility .utility-support :is(h2,p) { color: var(--wd-white); }
.walden-utility .utility-support .utility-eyebrow { color: #f0c66d; }
.walden-utility .utility-resource-links { display: grid; border-top: 1px solid rgba(255,255,255,.3); }
.walden-utility .utility-resource-links a { display: grid; gap: 5px; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.3); color: var(--wd-white); text-decoration: none; }
.walden-utility .utility-resource-links strong { font: 600 1.35rem/1.2 "Playfair Display", Georgia, serif; }
.walden-utility .utility-resource-links span { color: rgba(255,255,255,.76); font-size: .9rem; }
@media (hover: hover) and (pointer: fine) {.walden-utility .utility-resource-links a:hover strong{ color: #f6cf7b; }}

@media (max-width: 768px) {
	.walden-utility .utility-shell { width: calc(100% - 32px); }
	.walden-utility .utility-section { padding-block:var(--wd-section-space); }
	.walden-utility .utility-two-column, .walden-utility .utility-support-grid, .walden-utility .utility-card-grid { grid-template-columns: 1fr; }
	.walden-utility .utility-section-head { display: grid; }
	.walden-utility .utility-section h2 { font-size:var(--wd-type-h2); }
	.walden-utility .utility-payment-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
	.walden-utility .utility-payment-list { grid-template-columns: 1fr; }
	.walden-utility .utility-faq-list summary { padding-inline: 18px; }
	.walden-utility .utility-faq-list details p { padding-inline: 18px; }
}
