/* Shared editorial language for the detail pages. */
.subpage {background:#fbfaf7;color:#515654}
.subpage .top {background:#fbfaf7!important;color:#34363a}
.subpage .top .logo-dark {display:flex!important}
.subpage .top .logo-light {display:none!important}
.subpage .topnav a {color:#34363a!important;text-shadow:none!important}
.page-intro {padding:132px 0 42px;background:#e5e5e0}
.page-intro__grid {display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:64px;align-items:center}
.page-back {display:inline-flex;align-items:center;min-height:32px;margin-bottom:30px;font:400 12px/1.5 var(--sans);color:#646862;text-decoration:none}
.page-back:hover {color:#94191e}
.page-intro .caps {font-size:10px;letter-spacing:.14em;color:#6c706a;margin-bottom:16px}
.page-intro h1 {font-size:clamp(36px,4vw,52px);line-height:1.16;color:#333638;max-width:760px;margin:0;text-wrap:balance}
.page-intro__art {width:100%;max-width:320px;justify-self:end}
.page-intro__art>img {width:100%;height:auto;mix-blend-mode:multiply}
.page-intro__art>svg {display:block;width:100%;height:auto}
.page-intro__art .page-mark {width:100px;margin-inline:auto;mix-blend-mode:normal}
.subpage .content {padding:64px 0 80px}
.subpage .two {grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,7vw,100px)}
.subpage .two>*,.subpage .field {min-width:0}
.subpage .content .lead {font-size:17px;line-height:1.8;text-align:left;max-width:none;margin:0 0 32px;color:#545a56}
.subpage .content h2 {font-size:30px;line-height:1.25;margin-bottom:18px;color:#343739}
.subpage .content p {font-size:15px;line-height:1.8}
.subpage .content .caps {font-size:10px;letter-spacing:.13em;margin-bottom:12px;color:#757973}
.subpage .list {margin:26px 0 0}
.subpage .list li {font-size:14px;padding:12px 0;color:#555a55}
.subpage .form {gap:24px 24px;padding:28px;background:#f1f0ec;border:1px solid #e1e0da;align-content:start}
.subpage .registration {scroll-margin-top:110px}
.subpage .registration>h2 {font-size:24px;margin-bottom:20px}
.subpage .field label {font-size:12px;font-weight:500;letter-spacing:0;text-transform:none;color:#515650;line-height:1.4;margin-bottom:8px}
.subpage .field input,.subpage .field select,.subpage .field textarea {background-color:#fbfaf7;border:1px solid #cdcec7;border-radius:2px;padding:12px;font-size:16px;line-height:1.5}
.subpage .field select {padding-right:28px;background-position:right 9px center}
.subpage .field textarea {min-height:180px}
.subpage .field input:focus,.subpage .field select:focus,.subpage .field textarea:focus {outline:2px solid #94191e;outline-offset:2px;border-color:#94191e}
.subpage .field input[type=file] {background:transparent;border:0;padding:0;font-size:13px;overflow-wrap:anywhere}
.subpage input::file-selector-button {font:500 11px/1.4 var(--sans);color:#414348;padding:10px 12px;border:1px solid #898b87;background:transparent;margin:0 10px 6px 0;cursor:pointer}
.subpage .check {font-size:12px;line-height:1.65;color:#62665f;gap:10px}
.subpage .check input {min-width:18px;height:18px;margin-top:2px}
.subpage .submit-row {margin-top:2px}
.subpage .message-layout .lead {max-width:430px;margin:0;padding-top:4px}
.subpage .message-layout .form {grid-template-columns:1fr}
.subpage .message-layout textarea {min-height:220px}
.subpage .map-links {display:flex;flex-wrap:wrap;gap:24px;margin-top:26px}
.subpage .map-links .more {font-size:11px;letter-spacing:.08em}
.subpage .hours {font-size:14px;font-variant-numeric:tabular-nums}
.subpage .hours th,.subpage .hours td {padding:10px 0}
.subpage .hours td {color:#62665f}
.hours-mark {display:inline-block;width:21px;height:26px;margin-right:11px;vertical-align:middle;opacity:0}
.hours-today {margin-left:10px;font:500 10px/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#94191e}
.subpage .hours th,.subpage .hours td {padding:11px 12px}
.subpage .hours tr.is-today {background:#94191e08}
.subpage .hours tr.is-today th {box-shadow:inset 2px 0 #94191e}
.subpage .hours tr.is-today .hours-mark {opacity:1}
.subpage .hours tr.is-today td {color:#94191e;font-weight:500}
.career-benefits li {display:flex;align-items:center;gap:13px}
.career-benefits svg {width:21px;height:21px;flex:none;fill:none;stroke:#94191e;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.career-contact {margin-top:22px}
.career-contact a {display:inline-block;line-height:2;text-decoration:none}
.career-contact a:hover {color:#94191e}
.quality-layout {display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);column-gap:clamp(42px,7vw,100px);align-items:start}
.quality-layout>.lead {grid-column:2}
.principle-nav {grid-column:1;grid-row:1 / span 2;display:flex;flex-direction:column;align-items:flex-start;position:sticky;top:116px;border-top:1px solid #d4d5ce;padding-top:20px}
.principle-nav a {font-size:13px;line-height:1.6;text-decoration:none;padding:10px 0;color:#62665f}
.principle-nav a:hover {color:#94191e}
.quality-layout>.prose {grid-column:2;font-size:15px;max-width:740px}
.principle-heading {display:grid;grid-template-columns:minmax(0,1fr) 168px;gap:28px;align-items:center;margin:48px 0 22px;padding-top:24px;border-top:1px solid #d4d5ce;scroll-margin-top:110px}
.principle-heading:first-child {margin-top:0}
.quality-layout>.prose .principle-heading h2 {font-size:28px;line-height:1.28;margin:0;text-wrap:balance}
.principle-heading img {display:block;width:168px;height:130px;object-fit:contain}
.quality-layout>.prose p {font-size:15px;line-height:1.85;margin-bottom:20px}
.quality-layout .quote {font-size:24px;line-height:1.45;text-align:left;border-left:2px solid #94191e;padding-left:22px;margin:30px 0}
.quality-layout .quote span+span {margin-top:10px}
.quality-return {grid-column:2;margin:36px 0 0!important}
.subpage .legal {padding-top:146px;min-height:70vh}
.subpage .legal h1 {font-size:46px;margin-bottom:36px}
.subpage .legal h2 {font-size:26px;margin-top:36px}
.subpage .legal h3 {font-size:21px;margin-top:24px}
.subpage .legal p,.subpage .legal li {font-size:14px;line-height:1.85}
.subpage .legal {overflow-wrap:anywhere}
@media(max-width:1000px){
 .page-intro {padding-top:154px}
 .page-intro__grid {grid-template-columns:minmax(0,1fr) 240px;gap:32px}
 .subpage .two {gap:36px}
 .subpage .form {padding:24px;gap:20px}
 .subpage .legal {padding-top:160px}
}
@media(max-width:760px){
 .page-intro {padding:154px 0 30px}
 .page-intro__grid {grid-template-columns:minmax(0,1fr) 160px;gap:16px}
 .page-intro h1 {font-size:34px;line-height:1.2}
 .page-back {margin-bottom:20px}
 .subpage .content {padding:38px 0 52px}
 .subpage .two,.quality-layout {grid-template-columns:1fr;gap:32px}
 .quality-layout>.lead,.quality-layout>.prose,.quality-return,.principle-nav {grid-column:1;grid-row:auto}
 .principle-nav {position:static;display:flex;flex-direction:row;flex-wrap:wrap;gap:4px 22px;border-block:1px solid #d4d5ce;padding:14px 0}
 .principle-nav .caps {flex-basis:100%;margin:0!important}
 .principle-nav a {font-size:12px;padding:4px 0}
 .quality-layout>.lead {margin-bottom:0!important}
 .principle-heading {margin-top:36px;gap:20px}
 .quality-layout>.prose .principle-heading h2 {font-size:26px}
 .quality-layout .quote {font-size:22px}
 .subpage .content h2 {font-size:26px}
 .subpage .content .lead {font-size:16px}
 .subpage .content p {font-size:14px}
 .subpage .message-layout .lead {max-width:none}
 .subpage .form {padding:22px}
 .subpage .legal {padding-top:160px}
 .subpage .legal h1 {font-size:36px}
}

/* Quiet contact actions, without underlined blocks of contact information. */
.contact-actions {display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin:22px 0 0}
.contact-actions a {display:inline-flex;align-items:center;gap:12px;min-height:44px;text-decoration:none;font-size:15px;line-height:1.5;color:#414746}
.contact-actions a svg {flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;color:#94191e}
.contact-actions a span {overflow-wrap:anywhere;min-width:0}
.contact-actions a:hover {color:#94191e}
.contact-actions a:focus-visible,.contact-content .btn-line:focus-visible {outline:2px solid #94191e;outline-offset:5px}
.contact-content .map-links {gap:10px;margin-top:22px}
.contact-secondary {margin-top:38px;padding-top:26px;border-top:1px solid #d4d5ce}
.contact-secondary .contact-actions {margin-top:8px}
.contact-secondary>p {margin-bottom:0}
@media(max-width:500px){
 .principle-heading {grid-template-columns:minmax(0,1fr);gap:12px}
 .principle-heading img {grid-row:1;width:150px;height:116px;justify-self:end}
 .quality-layout>.prose .principle-heading h2 {font-size:24px;line-height:1.3;text-wrap:initial}
}
@media(max-width:480px){
 .subpage .hours th,.subpage .hours td {padding:11px 8px}
 .subpage .hours .hours-today {display:none}
 .page-intro__grid {grid-template-columns:1fr;gap:12px;position:relative}
 .page-intro h1 {font-size:34px;max-width:100%}
 .page-intro__art {max-width:190px;justify-self:end;margin-top:-8px}
 .page-intro__art .page-mark {width:68px}
 .page-back {margin-bottom:18px}
 .subpage .form {grid-template-columns:1fr;padding:20px}
 .subpage .two {gap:30px}
 .subpage .registration>h2 {font-size:24px}
 .subpage .map-links {gap:20px}
}

.subpage .topnav a[aria-current="page"] {color:#94191e!important;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.subpage .hp {display:none}
@media(max-width:760px){
 .subpage .mobilebar,.subpage .lobster-helper {display:none}
 .subpage .site-footer {padding-bottom:24px}
}

/* Overview first, followed by one centered reading column. */
.quality-layout{display:block}
.principle-overview{margin:0 0 64px}
.principle-overview h2{margin:0 0 32px}
.principle-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.principle-overview-grid a{display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px;text-decoration:none;border-bottom:1px solid #d4d5ce;padding-bottom:24px}
.principle-overview-grid a:hover{color:#94191e;border-color:#94191e}
.principle-overview-grid img{width:100%;max-width:200px;height:140px;object-fit:contain}
.principle-overview-grid span{font-size:15px;line-height:1.5}
.quality-layout>.lead,.quality-layout>.prose,.quality-layout>.quality-return{max-width:760px;margin-left:auto!important;margin-right:auto!important}
.quality-layout>.lead{margin-bottom:40px!important}
.card-step{scroll-margin-top:130px}
.card-step-heading{margin-bottom:28px}
.card-step-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
.card-step-layout .registration .form{margin:0}
.card-step-topup{margin-top:64px;padding:40px 0 0;border-top:1px solid #d4d5ce;display:flex;align-items:center;justify-content:space-between;gap:40px}
.card-step-topup .btn-solid{flex:none}
@media(max-width:760px){.principle-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.principle-overview-grid img{height:112px}.principle-overview{margin-bottom:40px}.card-step-layout{grid-template-columns:1fr;gap:24px}.card-step-topup{margin-top:40px;display:block}.card-step-topup .btn-solid{margin-top:16px}}
.subpage .quality-layout>.lead{max-width:760px}

.card-benefits li{display:flex;align-items:center;gap:16px;min-height:66px;padding:14px 0}
.card-benefits svg{flex:0 0 30px;width:30px;height:30px;fill:none;stroke:#94191e;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* Contact: one readable sequence, without an empty second column. */
.contact-stack {max-width:760px;display:flex;flex-direction:column;gap:44px}
.contact-stack .contact-hours,.contact-stack .contact-secondary {border-top:1px solid #d4d5ce;padding-top:36px;margin-top:0}
.contact-stack .hours {width:100%}
.subpage .contact-content {padding-bottom:64px}
@media(max-width:760px){.contact-stack{gap:32px}.contact-stack .contact-hours,.contact-stack .contact-secondary{padding-top:28px}.subpage .contact-content{padding-bottom:44px}}

.subpage .form .form-required-note {font-size:12px;line-height:1.5;margin:0;color:#62665f}
