.support-hero { padding-block: 34px 65px; }
.support-hero h1 { font-size: clamp(68px,6.8vw,104px); margin-top: 35px; line-height: 1.05; }
.support-hero h1 em::after { display: none; }
.support-intro { max-width: 650px; font-size: 23px; line-height: 1.5; color: var(--muted); margin-top: 28px; }
.policy-date { margin-top: 27px; color: var(--muted); font-size: 14px; }
.policy-surface { background: #f6f6ee; color: var(--dark); padding-block: 64px 76px; }
.policy-layout { display: grid; grid-template-columns: 230px minmax(0,720px); gap: 80px; align-items: start; }
.policy-contents { display: flex; flex-direction: column; gap: 5px; font-size: 14px; position: sticky; top: 25px; left: auto; right: auto; background: transparent; color: var(--dark); width: auto; max-height: none; overflow: visible; z-index: auto; border-top: 1px solid #adb8a0; border-bottom: 0; padding: 16px 0 0; }
.policy-contents a { display: block; padding: 10px 0; line-height: 1.5; text-decoration: underline; text-underline-offset: 4px; color: #4f6041; }
.policy-copy { min-width: 0; }
.policy-copy section { scroll-margin-top: 35px; }
.policy-copy section + section { margin-top: 43px; padding-top: 36px; border-top: 1px solid #c4cbb8; }
.policy-copy h2 { font-size: 32px; line-height: 1.2; letter-spacing: -.035em; }
.policy-copy p { font-size: 17px; line-height: 1.7; color: #454f42; margin-top: 21px; }
.policy-copy p a, .provider-list a, .error-help a { text-decoration: underline; text-underline-offset: 4px; }
.policy-copy .arrow-link { margin-top: 27px; }
.provider-list { margin: 25px 0; }
.provider-list > div { display: grid; grid-template-columns: 165px 1fr; gap: 25px; padding-block: 18px; border-top: 1px solid #c4cbb8; }
.provider-list dt { font-weight: 550; font-size: 16px; line-height: 1.6; }
.provider-list dd { margin: 0; font-size: 16px; line-height: 1.7; color: #454f42; }
.error-grid { display: grid; grid-template-columns: 1.65fr .6fr; gap: 65px; align-items: center; }
.error-hero h1 { font-size: clamp(64px,6.2vw,96px); }
.error-hero .support-intro { font-size: 20px; max-width: 610px; }
.error-hero .pill { margin-top: 31px; }
.error-number { color: var(--lime); position: relative; padding-block: 35px 25px; border-block: 1px solid #667457; text-align: center; }
.error-number > span { font-size: clamp(90px,12vw,180px); line-height: 1; letter-spacing: -.065em; }
.error-number i { display: block; width: 45%; margin: 27px auto; border-top: 1px dashed #718065; }
.error-number small { font-size: 11px; letter-spacing: 2px; }
.error-routes { background: var(--paper); color: var(--dark); padding-block: 55px 63px; }
.error-route-grid { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 32px; border-top: 1px solid #aeb6a5; border-bottom: 1px solid #aeb6a5; }
.error-route-grid > a { display: flex; flex-direction: column; align-items: start; padding: 27px 28px; border-right: 1px solid #aeb6a5; }
.error-route-grid > a:first-child { padding-left: 0; }
.error-route-grid > a:last-child { border-right: 0; }
.error-route-grid > a:hover { background: #dfe6d2; }
.error-route-grid > a > span:first-child { font-size: 13px; color: #535d51; }
.error-route-grid h2 { font-size: 33px; line-height: 1.15; letter-spacing: -.04em; margin-top: 22px; }
.error-route-grid p { font-size: 16px; line-height: 1.65; color: #535d51; margin-top: 20px; margin-bottom: 24px; }
.error-route-grid .route-arrow { margin-top: auto; font-size: 26px; }
.error-help { font-size: 16px; color: #535d51; margin-top: 30px; }
@media(max-width:1000px) { .policy-layout { grid-template-columns: 190px minmax(0,1fr); gap: 40px; } .error-grid { gap: 35px; grid-template-columns: 1.6fr .6fr; } .error-route-grid > a { padding-inline: 20px; } }
@media(max-width:700px) { .policy-layout { display: block; } .policy-contents { position: static; margin-bottom: 35px; } .error-grid { display: block; } .error-number { display: none; } .error-route-grid { grid-template-columns: 1fr; } .error-route-grid > a, .error-route-grid > a:first-child { padding: 25px 0; border-right: 0; border-bottom: 1px solid #aeb6a5; } .error-route-grid > a:last-child { border-bottom: 0; } }
@media(max-width:600px) { .support-hero { padding-block: 24px 43px; } .support-hero h1 { font-size: clamp(48px,12vw,72px); margin-top: 29px; } .support-intro { font-size: 21px; margin-top: 25px; } .policy-surface { padding-block: 35px 46px; } .policy-copy h2 { font-size: 28px; } .provider-list > div { display: block; } .provider-list dd { margin-top: 9px; } .policy-copy section + section { padding-top: 29px; margin-top: 32px; } .error-hero .support-intro { font-size: 18px; } .error-hero .pill { gap: 22px; padding-inline: 21px; } .error-routes { padding-block: 36px 43px; } .error-route-grid h2 { font-size: 31px; } }
