/* Option B follows Solace's split hero, navy controls, Poppins and serif copy. */
.option-b { --primary: #203d63; --primary-hov: #152d4c; --dark: #1d272e; --gray-600: #435660; --font-head: 'Poppins', sans-serif; --font-body: 'Source Serif 4', Georgia, serif; font-size: 18px; }
.option-b .container { max-width: 1220px; }
.option-b h1, .option-b h2, .option-b h3 { font-weight: 600; }
.option-b .contact-bar { background: #203d63; padding: 15px 0; font: 400 13px var(--font-head); }
.option-b .site-header { background: #f1f8f7; border: 0; }
.option-b .nav-wrap { min-height: 92px; }
.option-b .brand img { height: 84px; width: 84px; }
.option-b #navigation { font-size: 13px; gap: 19px; }
.option-b .btn-primary { border-radius: 7px; font-weight: 600; padding: 17px 23px; font-size: 14px; box-shadow: none; }
.solace-hero { padding: 65px 0 75px; }
.solace-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 65px; align-items: center; }
.service-chip { display: inline-flex; flex-direction: column; background: #f4f5f4; border: 1px solid #e0e4e4; border-radius: 45px; padding: 12px 22px; font: 400 13px/1.6 var(--font-head); margin-bottom: 24px; }
.solace-hero h1 { font-size: clamp(38px, 3.65vw, 55px); line-height: 1.13; letter-spacing: -.045em; margin-bottom: 24px; }
.solace-hero p { font-size: 24px; line-height: 1.55; }
.solace-portrait { width: 100%; height: 590px; border-radius: 30px; object-fit: cover; object-position: center; box-shadow: 0 25px 35px -25px #61726e; }
.solace-actions { display: flex; gap: 12px; align-items: center; margin: 30px 0 15px; }
.solace-secondary { padding: 16px 20px; border: 2px solid #b7c1c5; border-radius: 7px; font: 600 14px var(--font-head); color: var(--dark); }
.solace-hero .solace-note { font: 400 13px/1.8 var(--font-head); }
.option-b .service-band { background: #203d63; color: white; padding: 25px 0; font: 400 14px var(--font-head); }
.option-b .service-band a { color: white; }
.option-b .soft, .option-b .promise, .option-b .page-hero { background: #f1f8f7; }
.option-b .section-intro { max-width: none; text-align: left; margin-bottom: 35px; }
.option-b .section-label { font-size: 13px; font-weight: 600; }
.option-b .service-card { border: 1px solid #dce6e5; border-radius: 18px; padding: 27px; background: white; }
.option-b .service-card img { height: 175px; margin-bottom: 22px; }
.option-b .service-card h3 { font-size: 21px; }
.option-b .service-card p { font-size: 18px; }
.option-b .text-link { font-family: var(--font-head); font-size: 13px; }
.option-b .mission-copy, .option-b .step, .option-b .scenario-copy, .option-b .promise li { font-size: 18px; }
.option-b .mission-frame { position: relative; aspect-ratio: 1; overflow: hidden; border-radius: 25px; }
.option-b .mission-image img { position: absolute; width: 125%; max-width: none; height: 125%; left: -12.5%; top: -25%; object-fit: cover; border-radius: 0; }
.option-b .step { border-top: 3px solid #b6cac9; padding-top: 25px; }
.option-b .step-number { border: 0; border-radius: 0; height: auto; width: auto; justify-content: flex-start; font: 500 14px var(--font-head); margin-bottom: 18px; }
.option-b .step h3 { font-size: 19px; }
.option-b .continuum { text-align: left; }
.option-b .ready { background: #203d63; }
.option-b .ready .btn-primary { background: white; color: #203d63; }
.option-b .ready p { font-size: 22px; }
.option-b .site-footer { background: #f1f8f7; font-family: var(--font-head); }
.option-b .price { font-family: var(--font-head); }
.option-b .home-section { padding: 96px 0; }
.option-b .section-label { text-transform: uppercase; letter-spacing: .12em; }
.option-b .service-grid { gap: 24px; }
.option-b .service-card { display: flex; flex-direction: column; }
.option-b .service-card .text-link { margin-top: auto; padding-top: 8px; }
.option-b .image-note { font: 400 14px/1.6 var(--font-head); }
.option-b .container.continuum { max-width: 900px; }
.option-b .page-hero { padding: 64px 0; }
.option-b .page-hero .container, .option-b .container.page-content { max-width: 900px; }
.option-b .page-hero h1 { max-width: 780px; line-height: 1.15; letter-spacing: -.035em; }
.option-b .page-content { padding-top: 16px; padding-bottom: 80px; }
.option-b .content-section { padding: 40px 0; line-height: 1.75; }
.option-b .content-section h2 { margin-top: 8px; font-size: clamp(28px, 3vw, 36px); }
.option-b .content-section h3, .option-b .content-section .content-subheading { font-size: 22px; }
.option-b .content-section h2.content-subheading { margin-top: 0; }
.option-b .content-section > :last-child, .option-b .content-section > .copy:last-child > :last-child { margin-bottom: 0; }
.option-b .content-section > img { max-height: 320px; margin: 0 0 32px; }
.option-b .content-section > a { font: 600 14px/1.6 var(--font-head); padding: 16px 22px; }
.option-b .price-row { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; border-bottom: 1px solid #cbdad8; padding: 20px 0 16px; margin-bottom: 20px; }
.option-b .price-row h3, .option-b .price-row .price { margin: 0; }
.option-b .price-row h3 { font-size: 20px; }
.option-b .price-row .price { flex-shrink: 0; font-size: 26px; }
.option-b .faq .content-section > a { padding: 22px 0; font-size: 17px; font-weight: 400; }
.option-b .faq-item summary { padding: 22px 0; font-size: 17px; }
.option-b .booking-content { padding-top: 32px; padding-bottom: 56px; }
.option-b .booking-frame { display: block; width: 100%; height: 900px; border: 0; margin-top: 24px; background: white; }
.option-b .legal-nav { display: flex; flex-wrap: wrap; gap: 16px 28px; padding: 24px 0; margin-bottom: 24px; border-bottom: 1px solid #cbdad8; font: 500 14px/1.7 var(--font-head); }
.option-b .legal-document { line-height: 1.8; }
.option-b .legal-document h2 { font-size: clamp(24px, 2.4vw, 30px); margin: 40px 0 18px; }
.option-b .legal-document ul { list-style: disc; padding-left: 25px; margin-bottom: 24px; }
.option-b .legal-document li { padding-left: 4px; margin-bottom: 12px; }
.option-b #navigation [aria-current="page"] { text-decoration: underline; text-decoration-color: #45746b; text-underline-offset: 7px; text-decoration-thickness: 2px; }
@media (max-width: 1100px) { .solace-grid { gap: 35px; } .option-b #navigation { gap: 12px; } .solace-actions { flex-wrap: wrap; } }
@media (max-width: 900px) { .solace-grid { grid-template-columns: 1fr 1fr; gap: 25px; } .solace-portrait { height: 530px; } .solace-hero h1 { font-size: 39px; } .solace-hero p { font-size: 20px; } .option-b .service-grid { grid-template-columns: 1fr; } .option-b .service-card img { height: 260px; } .option-b .mission-image { max-width: 520px; margin: auto; width: 100%; } }
@media (max-width: 600px) { .solace-hero { padding: 35px 0 45px; } .solace-grid { grid-template-columns: 1fr; gap: 30px; } .solace-hero h1 { font-size: 39px; } .solace-portrait { height: 350px; } .solace-actions { align-items: stretch; flex-direction: column; text-align: center; } .service-chip { font-size: 12px; } .option-b .service-card img { height: 220px; } .option-b .home-section { padding: 56px 0; } .option-b .page-hero { padding: 40px 0; } .option-b .content-section { padding: 28px 0; } .option-b .price-row { gap: 16px; } .option-b .price-row h3 { font-size: 18px; } .option-b .price-row .price { font-size: 24px; } }
