/* Home editorial treatment; existing detail pages keep their own layouts. */
#mainNav { height:72px !important; }
#mainNav .nav-inner { width:calc(100% - 64px); max-width:1440px; padding:0; margin:auto; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:28px; }
#mainNav .nav-logo { justify-self:start; }
#mainNav .nav-links { margin:0; gap:30px; display:flex; align-items:center; }
#mainNav .nav-links a { font-family:Selo Hero,sans-serif; font-size:14px !important; font-weight:500 !important; letter-spacing:-.02em; padding:0 !important; height:72px !important; display:flex; align-items:center; }
#mainNav .nav-links a::after { bottom:18px !important; left:0 !important; right:0 !important; height:1px; }
#mainNav .nav-actions { margin:0; justify-self:end; }
#mainNav .nav-wordmark { font-size:20px; }
#mainNav .feature-menu a { height:auto !important; padding:14px !important; }
#home .home-consult { background:#fff; font-family:Selo Hero,sans-serif; }
#home .home-consult-h2 { font-size:clamp(28px,3vw,42px); font-weight:500; line-height:1.3; letter-spacing:-.035em; margin-bottom:24px; }
#home .home-consult-desc { font-size:17px; line-height:1.9; font-weight:400; color:#676b70; letter-spacing:-.02em; margin:0; max-width:430px; word-break:keep-all; }
#home .home-service-detail { margin:26px 0 0; font-size:13px; color:#81858a; line-height:1.8; word-break:keep-all; }
@media(max-width:1000px) {
 #mainNav .nav-inner { display:flex; width:calc(100% - 40px); gap:20px; }
 #mainNav .nav-links { display:none; }
 #mainNav .nav-actions { margin-left:auto; }
 #mainNav .hamburger { display:flex; }
}
@media(max-width:767px) {
 #mainNav { height:64px !important; }
 #home .home-consult-desc { font-size:15px; }
 #home .home-consult-h2 { font-size:29px; margin-bottom:18px; }
 #home .home-service-detail { font-size:12px; margin-top:18px; }
}

/* Lower home section: HaccpSelo warm charcoal, fine borders, 8px controls. */
#home .home-pain { background:#fff; padding:104px 0 80px; font-family:'Selo Hero',sans-serif; }
#home .home-pain-inner { max-width:1240px; }
#home .home-pain-header { text-align:left; margin-bottom:48px; }
#home .home-pain-tag { font-size:12px; font-weight:500; letter-spacing:.06em; color:#6e6e75; opacity:1; margin-bottom:16px; }
#home .home-pain-h2 { font-size:36px; font-weight:500; line-height:1.4; letter-spacing:-.035em; color:#202124; }
#home .home-pain-h2 br, #home .home-pain-q br { display:none; }
#home .home-pain-h2 em, #home .home-pain-q em { font-weight:inherit; letter-spacing:inherit; color:inherit; }
#home .home-pain em::after, #home .home-pain-footer strong::after, #home .home-pain-row::before { display:none; }
#home .home-pain-sub { font-size:15px; line-height:1.7; color:#6e6e75; }
#home .home-pain-grid { margin-bottom:48px; border-color:#e8e8e8; }
#home .home-pain-row { grid-template-columns:40px 1fr; align-items:start; gap:24px; padding:32px 0; border-color:#e8e8e8; }
#home .home-pain-num { font-family:inherit; font-size:13px; font-weight:500; letter-spacing:0; line-height:30px; color:#8a8a92; opacity:1; }
#home .home-pain-q { font-size:22px; font-weight:500; line-height:1.5; letter-spacing:-.025em; color:#202124; margin-bottom:10px; }
#home .home-pain-a { font-size:15px; line-height:1.8; color:#6e6e75; max-width:780px; }
#home .home-pain-row:hover .home-pain-num, #home .home-pain-row:hover .home-pain-q { transform:none; opacity:1; }
#home .home-pain-footer { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:24px 0; text-align:left; background:#fff; border:0; border-radius:0; }
#home .home-pain-footer p { font-size:23px; font-weight:400; line-height:1.5; letter-spacing:-.025em; margin:0; color:#202124; }
#home .home-pain-footer p strong { font-weight:600; color:inherit; }
#home .home-pain-cta { background:#202124; color:#fff; border-radius:8px; padding:13px 20px; font-size:14px; font-weight:500; box-shadow:0 1px 0 #0000000a; white-space:nowrap; transition:background .18s ease; }
#home .home-pain-cta:hover { background:#353638; transform:none; box-shadow:none; }
#home .home-pain-cta:focus-visible { outline:2px solid #6e6e75; outline-offset:4px; }
body:has(#home.active, #how.active) footer { background:#fff; border-color:#e8e8e8; font-family:'Selo Hero',sans-serif; }
body:has(#home.active, #how.active) .footer-top { align-items:start; border-color:#e8e8e8; }
body:has(#home.active, #how.active) .footer-col h5 { font-weight:600; font-size:13px; letter-spacing:0; color:#202124; }
body:has(#home.active, #how.active) .footer-col a { font-size:13px; color:#6e6e75; margin-bottom:14px; }
body:has(#home.active, #how.active) .footer-col a:hover { padding-left:0; text-decoration:underline; text-underline-offset:4px; }
body:has(#home.active, #how.active) .footer-biz span, body:has(#home.active, #how.active) .footer-biz a { font-weight:400; }
body:has(#home.active, #how.active) .footer-biz b { font-weight:500; letter-spacing:0; opacity:.7; }
@media(max-width:767px) {
 #home .home-pain { padding:64px 0; }
 #home .home-pain-h2 { font-size:28px; }
 #home .home-pain-row { grid-template-columns:24px 1fr; gap:12px; padding:28px 0; }
 #home .home-pain-q { font-size:19px; }
 #home .home-pain-a { font-size:14px; }
 #home .home-pain-footer { flex-direction:column; align-items:flex-start; padding:24px 0; }
 #home .home-pain-footer p { font-size:21px; }
}

#home .home-pain-tag, #home .home-pain-num { display:none; }
#home .home-pain-row { grid-template-columns:1fr; }
#home .home-pain-h2 { font-size:30px; }
#home .home-pain-q { font-size:20px; }

/* Isolate dropdown rows from top-level navigation typography and underlines. */
body #mainNav .nav-links > a:hover,
body #mainNav .nav-links > a.active,
body #mainNav .nav-feature-trigger:hover,
body #mainNav .program-trigger:hover { color:#202124 !important; }
body #mainNav .nav-links > a:hover::after,
body #mainNav .nav-feature-trigger:hover::before { background:#202124 !important; }
#mainNav .feature-menu, #mainNav .program-menu { min-width:240px; padding:6px; border:1px solid #e5e5e5; border-radius:10px; background:#fff; box-shadow:0 8px 24px rgb(0 0 0 / 8%); }
#mainNav .feature-menu a, #mainNav .program-menu a { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:5px; height:auto !important; padding:13px 14px !important; border-radius:6px; color:#202124 !important; text-decoration:none !important; }
#mainNav .feature-menu a::after, #mainNav .feature-menu a::before,
#mainNav .program-menu a::after, #mainNav .program-menu a::before { display:none !important; }
#mainNav .feature-menu a span, #mainNav .program-menu a span { font-family:'Selo Hero',sans-serif; font-size:14px; font-weight:500; line-height:1.4; color:#202124 !important; }
#mainNav .feature-menu a small, #mainNav .program-menu a small { font-family:'Selo Hero',sans-serif; font-size:12px; font-weight:400; line-height:1.4; margin:0; color:#6e6e75 !important; }
#mainNav .feature-menu a:hover, #mainNav .program-menu a:hover,
#mainNav .feature-menu a:focus-visible, #mainNav .program-menu a:focus-visible { background:#f3f3f3 !important; color:#202124 !important; }

/* Requested treatment of the adoption comparison page only. */
#how { font-family:'Selo Hero',sans-serif; }
#how .section-header > .section-tag, #how .section-header > p,
#how .ba-row-num, #how .ba-arrow svg, #how .ba-arrow-label,
#how .ba-finale-tag { display:none; }
#how .section-header h2.how-headline { font-family:inherit; font-size:clamp(28px,3vw,42px); font-weight:500; line-height:1.4; letter-spacing:-.035em; color:#202124; }
#how .section-header h2.how-headline em { font-weight:500; font-style:normal; letter-spacing:inherit; color:inherit; }
#how .section-header h2.how-headline em::after { display:none; }
#how .ba-card { border-radius:8px; padding-top:28px; box-shadow:none; }
#how .ba-card::before { display:none; }
#how .ba-card.before { background:#f7f7f7; border-color:#e5e5e5; }
#how .ba-card.after { border-color:#e5e5e5; }
#how .ba-label { background:none; padding:0; border-radius:0; font-size:12px; font-weight:500; letter-spacing:0; color:#6e6e75; margin-bottom:16px; }
#how .ba-card h4 { font-family:inherit; font-weight:500; color:#202124; }
#how .ba-row.visible:hover .ba-card { transform:none; box-shadow:none; }
#how .ba-finale { background:#fff; background-image:none; box-shadow:none; border:1px solid #e5e5e5; border-radius:8px; }
#how .ba-finale::before, #how .ba-finale::after, #how .ba-finale-orb { display:none; }
#how .ba-finale h3 { font-family:inherit; font-weight:500; font-size:clamp(25px,2.6vw,34px); letter-spacing:-.03em; color:#202124; }
#how .ba-finale h3 .brand, #how .ba-finale h3 .hl { font-weight:500; color:#202124; background:none; -webkit-text-fill-color:#202124; }
#how .ba-finale-desc { font-size:15px; font-weight:400; line-height:1.8; letter-spacing:-.015em; color:#6e6e75; }
#how .ba-finale-stat-note { font-size:12px; font-weight:400; letter-spacing:0; color:#6e6e75; }
#how .ba-finale-stat-label { font-weight:500; color:#202124; }
#how .ba-finale-stat-num, #how .ba-finale-stat:hover .ba-finale-stat-num,
#how .ba-finale-stat-num span { background:none; color:#202124; -webkit-text-fill-color:#202124; font-family:inherit; font-weight:500; }
#how .ba-finale-stat:hover { transform:none; }
#how .ba-card h4, #how .ba-card li { font-family:'Selo Hero',sans-serif; }
#how .ba-card h4 { font-size:22px; font-weight:500; line-height:1.5; letter-spacing:-.025em; }
#how .ba-card li { font-size:15px; font-weight:400; line-height:1.8; letter-spacing:-.015em; color:#6e6e75; }
#how .ba-card li strong, #how .ba-card li b { font-weight:500; color:#202124; }
#how .ba-card.after li::before { display:none; }
#how .ba-card.after li::after { left:2px; top:10px; width:8px; height:4px; border-color:#777; }
@media(max-width:767px) { #how .ba-card h4 { font-size:20px; } #how .ba-card li { font-size:14px; } }

/* Adoption steps: white surface and quiet sequential motion. */
#how > .section.alt { background:#fff; border:0; }
#how .steps-grid::before, #how .steps-grid::after { top:44px; border-top-width:1px; border-top-style:solid; }
#how .steps-grid::before { border-color:#ededed; }
#how .steps-grid::after { border-color:#9b9b9b; }
#how .step-num-badge { width:48px; height:48px; border-radius:8px; background:#fff; border:1px solid #dedede; color:#202124; font-family:'Selo Hero',sans-serif; font-size:16px; font-weight:500; box-shadow:none; transform:translateY(6px); transition:transform .65s cubic-bezier(.16,1,.3,1),border-color .2s ease; }
#how .step-card.in .step-num-badge { transform:translateY(0); animation:none; }
#how .step-num-badge::before, #how .step-num-badge::after { display:none; }
#how .step-card:hover .step-num-badge { box-shadow:none; border-color:#999; }
#how .step-card h4 { font-family:'Selo Hero',sans-serif; font-size:16px; font-weight:500; color:#202124; }
#how .step-card p { font-family:'Selo Hero',sans-serif; font-size:14px; font-weight:400; color:#6e6e75; line-height:1.8; }
@media(prefers-reduced-motion:reduce) {
 #how .step-card, #how .step-num-badge { transition:none; transform:none; opacity:1; }
 #how .steps-grid::after { transition:none; }
}

body:has(#how.active) footer { background:#fff; border-top:0; }
#how .step-card p { word-break:keep-all; overflow-wrap:normal; text-wrap:pretty; max-width:190px; margin-inline:auto; }
#how > .section.alt { padding-bottom:64px; }

/* Pricing and contact: preserve content and controls, simplify presentation. */
:is(#plan,#plan-dossi), #contact { font-family:'Selo Hero',sans-serif; color:#202124; }
:is(#plan,#plan-dossi) .section, #contact .section { background:#fff; }
:is(#plan,#plan-dossi) .section-tag, #contact .section-tag, :is(#plan,#plan-dossi) .plan-name { display:none; }
:is(#plan,#plan-dossi) .section-header h2.how-headline, #contact .section-header h2.how-headline { font-family:inherit; font-size:clamp(28px,3vw,42px); font-weight:500; line-height:1.4; letter-spacing:-.035em; color:#202124; }
:is(#plan,#plan-dossi) .section-header p, #contact .section-header p { font-size:15px; font-weight:400; line-height:1.8; color:#6e6e75; word-break:keep-all; }
:is(#plan,#plan-dossi) .plan-card, :is(#plan,#plan-dossi) .plan-card.popular { background:#fff; border:1px solid #e2e2e2; border-radius:8px; box-shadow:none; }
:is(#plan,#plan-dossi) .plan-card::before { display:none; }
:is(#plan,#plan-dossi) .plan-card:hover { transform:none; box-shadow:none; border-color:#aaa; }
:is(#plan,#plan-dossi) .popular-badge { background:#f3f3f3; color:#202124; border:1px solid #e2e2e2; border-radius:4px; font-weight:500; letter-spacing:0; }
:is(#plan,#plan-dossi) .plan-title { font-size:23px; font-weight:500; color:#202124; }
:is(#plan,#plan-dossi) .plan-price strong { font-size:38px; font-weight:500; color:#202124; }
:is(#plan,#plan-dossi) .plan-features li { font-size:14px; font-weight:400; line-height:1.8; color:#6e6e75; }
:is(#plan,#plan-dossi) .plan-features .check { background:none; color:#777; box-shadow:none; }
:is(#plan,#plan-dossi) .plan-opt-label, :is(#plan,#plan-dossi) .plan-total { background:#fff; border-color:#e5e5e5; border-radius:8px; box-shadow:none; }
:is(#plan,#plan-dossi) .plan-total::before { display:none; }
:is(#plan,#plan-dossi) .plan-opt-name { font-weight:500; }
:is(#plan,#plan-dossi) .btn { border-radius:8px; box-shadow:none; font-weight:500; }
#contact .contact-form-card, #contact .contact-side { background:#fff; border-color:#e5e5e5; border-radius:8px; box-shadow:none; }
#contact .contact-form-head h3 { font-size:23px; font-weight:500; }
#contact .contact-form-head strong, #contact .contact-side-label { font-weight:500; letter-spacing:0; }
#contact .contact-side-phone { font-size:28px; font-weight:500; color:#202124; }
#contact .contact-side-kakao, #contact .contact-side-onboarding { border-radius:8px; background:#fff; border:1px solid #e5e5e5; box-shadow:none; color:#202124; font-weight:500; }
#contact .ctf-field label { font-weight:500; }
#contact input, #contact select, #contact textarea { font-family:inherit; background:#fff; border-color:#ddd; border-radius:8px; box-shadow:none; }
#contact .ctf-submit { font-family:inherit; background:#202124; color:#fff; border-radius:8px; font-weight:500; box-shadow:none; }
#contact .ctf-submit:hover { background:#353638; box-shadow:none; transform:none; }
body:has(:is(#plan,#plan-dossi).active, #contact.active) footer { background:#fff; border-top:0; font-family:'Selo Hero',sans-serif; }

/* Product selection and feature pages share the restrained app typography. */
:is(#feature-select,#plan-select), #features, #features-dossi { font-family:'Selo Hero',sans-serif; color:#202124; }
:is(#feature-select,#plan-select,#features,#features-dossi) .section { background:#fff !important; }
:is(#feature-select,#plan-select,#features,#features-dossi) .section-tag { display:none; }
:is(#feature-select,#plan-select,#features,#features-dossi) .section-header h2.how-headline { font-family:inherit; font-size:clamp(28px,3vw,42px); font-weight:500; line-height:1.4; letter-spacing:-.035em; color:#202124; }
:is(#feature-select,#plan-select,#features,#features-dossi) .section-header h2.how-headline em { font-weight:500; color:inherit; font-style:normal; letter-spacing:inherit; }
:is(#feature-select,#plan-select,#features,#features-dossi) .section-header h2.how-headline em::after { display:none; }
:is(#feature-select,#plan-select,#features,#features-dossi) .section-header p { font-size:15px; font-weight:400; line-height:1.8; color:#6e6e75; word-break:keep-all; }
:is(#feature-select,#plan-select) .product-choice-card { border-radius:8px; box-shadow:none !important; border-color:#e5e5e5 !important; }
:is(#feature-select,#plan-select) .product-choice-card:hover { transform:none; box-shadow:none !important; }
:is(#feature-select,#plan-select) .product-choice-kicker { background:none !important; border:0; padding:0; font-size:13px; font-weight:500; letter-spacing:0; }
:is(#feature-select,#plan-select) .product-choice-card h3 { font-size:25px; font-weight:500; letter-spacing:-.025em; }
:is(#feature-select,#plan-select) .product-choice-card p, :is(#feature-select,#plan-select) .product-choice-card li { font-size:15px; font-weight:400; color:#6e6e75 !important; }
:is(#feature-select,#plan-select) .product-choice-action { background:#202124; color:#fff !important; border-radius:8px; font-size:14px; font-weight:500; box-shadow:none; }
:is(#features,#features-dossi) .feature-content h3 { font-family:inherit; font-size:clamp(25px,2.6vw,34px); font-weight:500; line-height:1.45; letter-spacing:-.03em; color:#202124; }
:is(#features,#features-dossi) .feature-content p, :is(#features,#features-dossi) .feat-list li { font-size:15px; font-weight:400; line-height:1.8; color:#6e6e75; word-break:keep-all; }
:is(#features,#features-dossi) .feature-content .tag { background:none; border:0; padding:0; border-radius:0; font-size:12px; font-weight:500; letter-spacing:0; color:#6e6e75; }
:is(#features,#features-dossi) .feat-list li::before { background:none; color:#777; box-shadow:none; }
body:has(:is(#feature-select,#plan-select).active,#features.active,#features-dossi.active) footer { background:#fff; border-top:0; font-family:'Selo Hero',sans-serif; }

/* Product screenshots: understated tablet shell, no floating or glossy effects. */
:is(#features,#features-dossi) .tablet-frame { border-radius:20px; padding:12px; background:#242528; border:1px solid #3a3b3d; box-shadow:0 2px 4px rgb(0 0 0 / 8%),0 16px 36px rgb(0 0 0 / 10%); transform:none !important; }
:is(#features,#features-dossi) .tablet-frame::before, :is(#features,#features-dossi) .tablet-frame::after, :is(#features,#features-dossi) .tablet-home-btn { display:none; }
:is(#features,#features-dossi) .tablet-screen { border-radius:10px; background:#fff; overflow:hidden; }
:is(#features,#features-dossi) .tablet-screen img { display:block; width:100%; height:auto; transform:none !important; }
:is(#features,#features-dossi) .tablet-camera { width:4px; height:4px; margin:0 auto 8px; background:#515257; box-shadow:none; }
#features-dossi .features-block.text-only { width:100%; min-width:0; box-sizing:border-box; }
#features-dossi .features-block.text-only .feature-content { width:100%; min-width:0; }

/* Cancellation form shares the neutral account controls. */
#cancelModal { font-family:'Selo Hero',sans-serif; }
#cancelModal .cancel-modal-box { background:#fff; border:1px solid #e5e5e5; border-radius:12px; box-shadow:0 16px 48px rgb(0 0 0 / 12%); }
#cancelModal .cancel-modal-head { background:#fff; border-bottom:1px solid #eee; }
#cancelModal .cancel-modal-head h3 { color:#202124; font-size:23px; font-weight:500; }
#cancelModal .cancel-sub { color:#6e6e75; font-size:13px; }
#cancelModal .cancel-modal-close { background:#f4f4f4; color:#202124; border-radius:6px; }
#cancelModal .cancel-notice-box { background:#f7f7f7; border:1px solid #e5e5e5; border-radius:8px; }
#cancelModal .cn-title { color:#202124; font-weight:500; }
#cancelModal .cancel-notice-box li { color:#6e6e75; line-height:1.8; }
#cancelModal strong, #cancelModal label, #cancelModal .pay-section-label { font-weight:500; }
#cancelModal .pay-form-input { background:#fff; border:1px solid #ddd; border-radius:8px; font-family:inherit; box-shadow:none; }
#cancelModal .cancel-reason-opt span { background:#fff; border-color:#ddd; color:#6e6e75; font-weight:400; border-radius:8px; }
#cancelModal .cancel-reason-opt input:checked + span { background:#f3f3f3; border-color:#202124; color:#202124; font-weight:500; }
#cancelModal .btn-cancel-submit { background:#202124; color:#fff; border-radius:8px; box-shadow:none; font-family:inherit; font-weight:500; }
#cancelModal .btn-cancel-submit:hover { background:#353638; transform:none; }

/* Footer destinations and legal documents. */
.footer-action { display:block; border:0; padding:0; background:none; font:inherit; font-size:14px; color:#6e6e75; text-align:left; cursor:pointer; line-height:inherit; }
.footer-col .footer-action { margin-bottom:12px; }
.footer-action:hover { color:#202124; }
.footer-unavailable { display:block; color:#6e6e75; font-size:14px; margin-bottom:12px; }
.footer-unavailable small { display:block; font-size:11px; color:#777; margin-top:3px; }
#features [id^="feature-"] { scroll-margin-top:104px; }
.doc-modal-overlay { background:rgba(0,0,0,.3); backdrop-filter:none; font-family:'Selo Hero',sans-serif; }
.doc-modal-box { border-radius:12px; box-shadow:0 12px 40px #0002; background:#fff; }
.doc-modal-head,.doc-modal-body { background:#fff; padding:28px 32px; }
.doc-modal-head h3 { font-size:24px; font-weight:500; letter-spacing:-.03em; color:#202124; }
.doc-modal-head::before,.doc-modal-body h4::before { display:none; }
.doc-modal-body h4 { font-size:17px; font-weight:500; color:#202124; padding-bottom:0; border:0; }
.doc-modal-body p,.doc-modal-body li { color:#55565b; font-size:14px; font-weight:400; }
.doc-modal-body strong { font-weight:500; }
.doc-modal-close { border-radius:8px; width:34px; height:34px; top:22px; right:24px; }
.doc-modal-close:hover { transform:none; background:#f4f4f4; color:#202124; }
.doc-modal-body table th { background:#f5f5f5; color:#202124; font-weight:500; }
.doc-modal-body .doc-date { color:#6e6e75; background:none; border:0; padding:0; }
@media(max-width:600px) { .doc-modal-overlay {padding:12px} .doc-modal-head,.doc-modal-body {padding:24px 20px} }
#contactModal .modal-box,#contactModal .modal-head,#contactModal .modal-body {background:#fff; color:#202124; font-family:'Selo Hero',sans-serif;}
#contactModal .modal-box {border-radius:12px;box-shadow:0 12px 40px #0002;}
#contactModal .modal-head h3,#contactModal .modal-head h3 strong {font-size:24px;font-weight:500;color:#202124;}
#contactModal .modal-head::before {display:none;}
#contactModal .contact-method-btn {border-radius:8px;box-shadow:none;background:#fff;transform:none;border:1px solid #e5e5e5;}
#contactModal .contact-method-value {font-weight:500;font-size:18px;color:#202124;}
#contactModal .contact-method-icon {background:#f5f5f5;color:#555;border-radius:8px;}
#contactModal .modal-action-btn {border-radius:8px;font-weight:500;box-shadow:none;transform:none;}
#contactModal .modal-action-btn.primary {background:#202124;color:#fff;}
#contactModal [aria-disabled] {cursor:default;}

/* Product entry: consistent app typography and real, keyboard-accessible links. */
body:has(:is(#feature-select,#plan-select).active){background:#fff;}
body.not-home :is(#feature-select,#plan-select){padding-top:82px;min-height:0;background:#fff;}
:is(#feature-select,#plan-select) .section{min-height:calc(100svh - 82px);box-sizing:border-box;display:flex;align-items:center;padding:72px 0;}
:is(#feature-select,#plan-select) .section-inner{max-width:1440px;width:100%;}
:is(#feature-select,#plan-select) .section-header{text-align:left;margin-bottom:64px;}
:is(#feature-select,#plan-select) .section-header h2.how-headline{margin-bottom:18px;}
:is(#feature-select,#plan-select) .product-choice-grid{gap:72px;margin-top:0;}
:is(#feature-select,#plan-select) .product-choice-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0;border:0;border-radius:0;background:#fff;cursor:default;}
:is(#feature-select,#plan-select) .product-choice-card .product-choice-kicker{margin:0 0 16px;color:#6e6e75;font-size:14px;line-height:1.5;}
:is(#feature-select,#plan-select) .product-choice-card h3{font-family:'Selo Hero',sans-serif;font-size:clamp(44px,5vw,76px);font-weight:500;line-height:1.2;letter-spacing:-.035em;margin:0 0 32px;}
:is(#feature-select,#plan-select) .product-choice-card .product-choice-description{margin:0 0 28px;font-size:21px;line-height:1.85;word-break:keep-all;}
:is(#feature-select,#plan-select) .product-choice-card .product-choice-detail{margin:0 0 44px;font-size:15px;line-height:1.8;color:#81858a!important;word-break:keep-all;}
:is(#feature-select,#plan-select) .product-choice-action{display:inline-flex;align-items:center;justify-content:center;gap:32px;min-height:62px;padding:17px 32px;margin-top:auto;border:1px solid #202124;border-radius:8px;background:#202124;color:#fff!important;font-family:inherit;font-size:18px;font-weight:500;line-height:1.5;text-decoration:none;cursor:pointer;transition:background .18s,border-color .18s;}
:is(#feature-select,#plan-select) .product-choice-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
:is(#feature-select,#plan-select) .product-choice-action:hover{background:#353638;border-color:#353638;}
:is(#feature-select,#plan-select) .product-choice-action:focus-visible{outline:2px solid #202124;outline-offset:4px;}
:is(#feature-select,#plan-select) .product-choice-action:active{background:#111;}
@media(max-width:767px){
 :is(#feature-select,#plan-select) .section{min-height:0;padding:56px 0 64px;}
 :is(#feature-select,#plan-select) .section-header{margin-bottom:40px;}
 :is(#feature-select,#plan-select) .product-choice-grid{grid-template-columns:1fr;gap:72px;}
 :is(#feature-select,#plan-select) .product-choice-card{padding:0;}
 :is(#feature-select,#plan-select) .product-choice-card h3{font-size:44px;margin-bottom:24px;}
 :is(#feature-select,#plan-select) .product-choice-card .product-choice-description{font-size:17px;}
 :is(#feature-select,#plan-select) .product-choice-card .product-choice-description br{display:none;}
 :is(#feature-select,#plan-select) .product-choice-action{min-height:48px;}
}
@media(prefers-reduced-motion:reduce){:is(#feature-select,#plan-select) .product-choice-action{transition:none;}}
:is(#feature-select,#plan-select) .section-header{max-width:none;width:100%;margin:0 0 64px;}
:is(#feature-select,#plan-select) .section-header p{margin-left:0;margin-right:0;text-align:left;}
:is(#feature-select,#plan-select) .product-choice-card{border:0!important;box-shadow:none;transform:none;}
:is(#feature-select,#plan-select) .product-choice-card h3{color:#202124;}
@media(max-width:767px){:is(#feature-select,#plan-select) .section-header{margin-bottom:40px;}}

/* CCP: one reading column with three clearly grouped capabilities. */
:is(#feature-ccp,#feature-dashboard) .feature-content{max-width:560px;}
:is(#feature-ccp,#feature-dashboard) .feature-content h3{margin:16px 0 24px;}
:is(#feature-ccp,#feature-dashboard) .feature-content>p{margin:0;line-height:1.9;}
:is(#feature-ccp,#feature-dashboard) .feature-summary{margin:32px 0 0;display:grid;gap:20px;}
:is(#feature-ccp,#feature-dashboard) .feature-summary>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:16px;align-items:baseline;}
:is(#feature-ccp,#feature-dashboard) .feature-summary dt{font-size:15px;font-weight:500;color:#202124;line-height:1.8;}
:is(#feature-ccp,#feature-dashboard) .feature-summary dd{margin:0;font-size:15px;line-height:1.8;color:#6e6e75;word-break:keep-all;}
@media(max-width:767px){:is(#feature-ccp,#feature-dashboard) .feature-summary>div{grid-template-columns:72px minmax(0,1fr);gap:12px;}}

/* Mobile app access belongs inside the navigation drawer. */
@media(max-width:1000px){
 body #mainNav .nav-actions.program-nav{display:none;}
 #mainNav .hamburger{margin-left:auto;}
}
#mobileMenu .mobile-programs{margin-top:16px;flex-shrink:0;}
#mobileMenu .mobile-programs summary{display:flex;align-items:center;justify-content:center;gap:16px;min-height:56px;padding:16px 24px;border-radius:8px;background:#202124;color:#fff;font-family:'Selo Hero',sans-serif;font-size:16px;font-weight:500;list-style:none;cursor:pointer;}
#mobileMenu .mobile-programs summary::-webkit-details-marker{display:none;}
#mobileMenu .mobile-programs summary:focus-visible{outline:2px solid #202124;outline-offset:4px;}
#mobileMenu .mobile-programs[open] summary span{transform:rotate(180deg);}
#mobileMenu .mobile-program-links{padding-top:8px;}
#mobileMenu .mobile-program-links a{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:14px 20px;margin:0;font-family:'Selo Hero',sans-serif;font-size:16px;font-weight:500;letter-spacing:0;border:0;color:#202124;}
#mobileMenu .mobile-program-links a::after{display:none;}

/* Contact columns share the document scroll; intro wraps by sentence. */
#contact .contact-side{position:static;top:auto;}
#contact .section-header .contact-intro{max-width:100%;margin-inline:auto;}
#contact .contact-intro span{display:block;text-wrap:balance;word-break:keep-all;overflow-wrap:break-word;}
#contact .contact-intro span+span{margin-top:4px;}
@media(max-width:600px){#contact .section-header .contact-intro{max-width:340px;}#contact .contact-intro span+span{margin-top:10px;}}

/* Use the same single underline as the other navigation links. */
body #mainNav .nav-feature-trigger::before{content:none;display:none;}
body #mainNav .nav-feature-trigger::after{content:"";font-size:0;}
#how .ba-finale h3{line-height:1.45;margin:0 0 24px;text-wrap:balance;}
#how .ba-finale h3>span{display:block;}
#how .ba-finale-desc{max-width:440px;word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty;line-height:1.9;margin:0;}
