/* Task signposting uses the theme's shared light/dark color contract. */
.drive-service-nav { background: var(--drive-ui-surface); border-block-end: 1px solid var(--drive-ui-border); }
.drive-service-nav > div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .4rem; padding-block: .7rem; }
.drive-service-nav a { display: flex; align-items: center; justify-content: center; min-block-size: 44px; padding: .6rem .75rem; text-align: center; border-radius: 6px; text-decoration: none; color: var(--drive-ui-text); font-weight: 650; line-height: 1.4; }
.drive-service-nav a:hover { background: var(--drive-ui-surface-soft); color: var(--drive-ui-link); }
.drive-service-nav a[aria-current] { background: var(--drive-ui-info-bg); color: var(--drive-ui-info-text); box-shadow: inset 0 -3px var(--drive-action); }
.drive-journey-choice, .drive-journey-pro { color: var(--drive-ui-text); }
.drive-journey-choice > header, .drive-journey-pro > header { max-inline-size: 780px; margin-block-end: 2rem; }
.drive-journey-choice h1, .drive-journey-pro h1 { font-size: clamp(1.9rem,3.2vw,2.8rem); line-height: 1.2; margin: 0 0 1rem; color: var(--drive-ui-heading); }
.drive-journey-choice p, .drive-journey-pro p { line-height: 1.7; max-inline-size: 72ch; }
.drive-journey-choice__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; }
.drive-journey-choice__grid > article, .drive-journey-services > article { min-inline-size: 0; padding: clamp(1.2rem,2.5vw,2rem); background: var(--drive-ui-surface); border: 1px solid var(--drive-ui-border); border-radius: 12px; display: flex; flex-direction: column; align-items: stretch; }
.drive-journey-choice__grid h2, .drive-journey-services h2 { font-size: 1.45rem; line-height: 1.35; margin: 0 0 .65rem; color: var(--drive-ui-heading); }
.drive-journey-choice__grid ul { padding-inline-start: 1.2rem; margin: 0 0 1.5rem; line-height: 1.8; }
.drive-journey-choice__grid small { display: block; font-size: .85rem; line-height: 1.6; color: var(--drive-ui-muted); margin-block-start: 1rem; }
.drive-journey-choice__grid .drive-journey-button { margin-block-start: auto; }
.drive-journey-button { display: inline-flex; align-items: center; justify-content: center; min-block-size: 46px; padding: .8rem 1.15rem; border-radius: 6px; border: 1px solid var(--drive-action); background: var(--drive-action); color: #fff !important; text-decoration: none; font-weight: 700; text-align: center; line-height: 1.4; }
.drive-journey-button:hover { background: var(--drive-action-hover); border-color: var(--drive-action-hover); }
.drive-journey-button:active { background: var(--drive-action-pressed); }
.drive-journey-button--outline { background: var(--drive-ui-surface); color: var(--drive-ui-link) !important; border-color: var(--drive-ui-border); }
.drive-journey-button--outline:hover { background: var(--drive-ui-info-bg); color: var(--drive-ui-info-text) !important; border-color: var(--drive-ui-link); }
.drive-journey-choice__signin { margin-block: 1.5rem .75rem; }
.drive-journey-note { color: var(--drive-ui-muted); font-size: .95rem; }
.drive-journey-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 1.5rem; margin-block: 1.5rem; }
.drive-journey-actions > a:not(.drive-journey-button) { padding-block: .65rem; }
.drive-journey-services { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin-block: 2rem; }
.drive-journey-services a { margin-block-start: auto; padding-block: .6rem; }
.drive-journey-process { border-block: 1px solid var(--drive-ui-border); padding-block: 1.5rem; margin-block: 2rem 1rem; }
.drive-journey-process h2 { font-size: 1.5rem; margin: 0 0 1.25rem; color: var(--drive-ui-heading); }
.drive-journey-process ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem; padding-inline-start: 1.4rem; margin: 0; }
.drive-journey-process li { padding-inline-start: .2rem; }
.drive-journey-process strong, .drive-journey-process span { display: block; line-height: 1.6; }
.drive-journey-process strong { color: var(--drive-ui-heading); margin-block-end: .4rem; }
.drive-journey-help { border: 1px solid var(--drive-ui-border); border-radius: 8px; padding: 1rem 1.25rem; margin-block: 1.5rem; background: var(--drive-ui-surface); }
.drive-journey-help summary { cursor: pointer; color: var(--drive-ui-heading); font-weight: 700; min-block-size: 28px; }
.drive-journey-signup-note { padding: 1rem 1.2rem; border-inline-start: 3px solid var(--drive-action); background: var(--drive-ui-surface-soft); color: var(--drive-ui-text); margin-block: 1rem; line-height: 1.65; }
.drive-journey-browse-note { margin-block: .6rem 1.3rem; color: var(--drive-ui-muted); font-size: .95rem; line-height: 1.65; }
:is(.drive-service-nav,.drive-journey-choice,.drive-journey-pro,.drive-journey-signup-note) a:focus-visible { outline: 3px solid var(--drive-ui-link); outline-offset: 4px; }
@media(max-width:800px) { .drive-journey-services { grid-template-columns: 1fr; } .drive-journey-process ol { grid-template-columns: 1fr; gap: 1rem; } }
@media(max-width:600px) { .drive-service-nav > div { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .2rem; } .drive-service-nav a { font-size: .86rem; padding: .5rem; } .drive-journey-choice__grid { grid-template-columns: 1fr; } .drive-journey-actions { align-items: stretch; flex-direction: column; gap: .5rem; } .drive-journey-choice > header, .drive-journey-pro > header { margin-block-end: 1.5rem; } }
/* Override the theme's editorial heading rhythm only inside these utility components. */
.drive-ma-site .site :is(.drive-journey-choice,.drive-journey-pro) h1 { font-size: clamp(1.9rem,3.2vw,2.8rem) !important; line-height: 1.2 !important; margin: 0 0 1rem !important; }
.drive-ma-site .site :is(.drive-journey-choice__grid,.drive-journey-services) h2 { font-size: 1.45rem !important; line-height: 1.35 !important; margin: 0 0 .65rem !important; }
.drive-ma-site .site .drive-journey-process h2 { font-size: 1.5rem !important; line-height: 1.35 !important; margin: 0 0 1.25rem !important; }
