.service-page { background: #fcfaf6; }
.service-page ::selection { background: #efd18d; color: #071522; }
.service-page :focus-visible { outline: 3px solid #9b701f; outline-offset: 5px; }
.service-page .site-header { position: relative; background: #071522; }
.service-page .header-inner { grid-template-columns: 240px 1fr 160px; gap: 22px; }
.service-page .main-nav { gap: 19px; }
.service-page .main-nav a { font-size: 15px; white-space: nowrap; }
.service-page .header-phone { padding: 10px 13px; }
.service-page .service-hero { background: #0b2033; color: #fff; padding-bottom: 50px; }
.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 22px 0 28px; font-size: 14px; color: #d4dfeb; }
.breadcrumbs a { text-underline-offset: 5px; }
.breadcrumbs a:hover { color: #efd18d; }
.service-hero-grid { display: grid; grid-template-columns: 1.12fr 1fr; gap: 52px; align-items: center; }
.service-hero-copy h1 { font-size: clamp(36px,3.7vw,54px); font-weight: 600; line-height: 1.18; letter-spacing: -.025em; margin: 0 0 15px; text-wrap: balance; }
.service-accent { color: #efd18d; font-size: clamp(24px,2.25vw,32px); line-height: 1.35; font-weight: 500; margin: 0 0 22px; }
.service-intro { font-size: 19px; line-height: 1.75; color: #e3eaf1; margin: 0 0 26px; max-width: 55ch; }
.service-actions { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.service-actions .button { font-size: 17px; padding-inline: 20px; }
.service-whatsapp { color: #fff; text-decoration: none; }
.service-whatsapp svg,.service-mobile-bar .button-whatsapp svg { width: 22px; height: 22px; flex-shrink: 0; }
.service-trust { margin: 14px 0 0; color: #cbd7e3; font-size: 14px; }
.service-photo { position: relative; margin: 0; align-self: stretch; min-height: 345px; overflow: hidden; border-radius: 3px; background: #071522; }
.service-photo img { display: block; width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: 72% center; }
.service-photo figcaption { position: absolute; bottom: 0; inset-inline: 0; padding: 36px 22px 18px; background: linear-gradient(transparent,rgba(7,21,34,.95)); color: #fff; font-size: 15px; }
.service-switcher { background: #f7f2e8; border-bottom: 1px solid #dfd7c8; }
.service-switcher .shell { display: flex; gap: 40px; }
.service-switcher a { text-decoration: none; padding: 18px 5px 14px; border-bottom: 3px solid transparent; color: #435366; font-size: 17px; }
.service-switcher a[aria-current] { border-color: #b18432; font-weight: 700; color: #0b2033; }
.service-switcher a:hover { color: #805913; }
.service-reading { display: grid; grid-template-columns: 240px minmax(0,1fr); gap: 76px; padding-top: 54px; padding-bottom: 58px; }
.service-toc nav { position: sticky; top: 28px; padding-inline-end: 25px; border-inline-end: 1px solid #dfd7c8; }
.service-toc strong { font-size: 18px; color: #0b2033; }
.service-toc ol,.mobile-toc ol { list-style: none; padding: 0; margin: 16px 0 24px; }
.service-toc li { margin-bottom: 13px; font-size: 15px; line-height: 1.5; }
.service-toc a { text-decoration: none; color: #526274; }
.service-toc a:hover,.service-toc a[aria-current] { color: #805913; text-decoration: underline; text-underline-offset: 4px; }
.service-toc .toc-home { display: block; border-top: 1px solid #dfd7c8; padding-top: 20px; color: #0b2033; font-weight: 600; }
.service-article { min-width: 0; max-width: 780px; }
.service-answer { font-size: 21px; line-height: 1.85; color: #0b2033; padding-bottom: 28px; border-bottom: 1px solid #dfd7c8; }
.service-answer p { margin: 0; }
.service-content-section { scroll-margin-top: 25px; margin-top: 45px; }
.service-content-section h2,.service-office h2 { margin: 0 0 18px; font-size: clamp(26px,2.45vw,34px); line-height: 1.25; letter-spacing: -.02em; font-weight: 600; color: #0b2033; text-wrap: balance; }
.service-article p { max-width: 70ch; }
.service-content-section p { margin: 0 0 17px; line-height: 1.85; }
.service-article a { text-underline-offset: 4px; }
.service-article p a { font-weight: 500; color: #805913; }
.service-list { padding-inline-start: 23px; margin: 20px 0; }
.service-list li { padding-inline-start: 6px; margin: 10px 0; }
.service-list li::marker { color: #956b20; }
.service-note { padding: 20px 24px; background: #f1eadc; color: #3c4b58; border-radius: 3px; }
.service-steps { list-style: none; counter-reset: step; padding: 0; margin: 26px 0 14px; }
.service-steps li { counter-increment: step; position: relative; padding-inline-start: 56px; padding-block: 0 20px; }
.service-steps li::before { content: counter(step,decimal-leading-zero); position: absolute; inset-inline-start: 0; top: 2px; color: #805913; font-size: 20px; font-weight: 600; }
.service-steps h3 { font-size: 21px; margin: 0 0 5px; color: #0b2033; }
.service-steps p { color: #4d5c6b; font-size: 17px; }
.service-options { margin: 24px 0; }
.service-options > div { display: grid; grid-template-columns: 175px 1fr; gap: 24px; border-top: 1px solid #dfd7c8; padding: 20px 0; }
.service-options dt { font-weight: 600; color: #0b2033; }
.service-options dd { margin: 0; color: #4d5c6b; font-size: 17px; }
.source-inline { display: inline-block; font-size: 14px; color: #536475; line-height: 1.7; }
.service-office { padding: 30px; margin: 44px 0; background: #0b2033; color: #e3eaf1; border-radius: 3px; }
.service-office h2 { color: #efd18d; font-size: 29px; }
.service-office p { font-size: 17px; line-height: 1.85; }
.service-office-links { display: flex; flex-wrap: wrap; gap: 14px 30px; font-size: 15px; }
.service-faq details { border-bottom: 1px solid #dfd7c8; }
.service-faq summary { display: flex; justify-content: space-between; align-items: start; gap: 20px; padding: 20px 0; font-size: 19px; font-weight: 600; color: #0b2033; cursor: pointer; list-style: none; }
.service-faq summary::-webkit-details-marker { display: none; }
.service-faq summary::after { content: '+'; font-size: 25px; line-height: 1.25; color: #805913; flex-shrink: 0; }
.service-faq details[open] summary::after { content: '−'; }
.service-faq details p { padding-bottom: 10px; font-size: 17px; color: #4d5c6b; }
.service-sources { font-size: 15px; color: #4d5c6b; }
.service-sources h2 { font-size: 25px; }
.service-sources ul { padding-inline-start: 20px; }
.service-sources li { margin-bottom: 10px; }
.service-meta { margin-top: 28px !important; }
.service-disclaimer { font-size: 14px; }
.service-contact { padding: 45px 0; background: #0b2033; color: #fff; }
.service-contact .shell { display: flex; justify-content: space-between; align-items: center; gap: 35px; }
.service-contact h2 { font-size: 35px; line-height: 1.2; margin: 0 0 16px; font-weight: 500; }
.service-contact p { margin: 7px 0; color: #d4dfeb; }
.service-related { display: flex; justify-content: space-between; gap: 24px; padding-block: 30px; font-size: 16px; }
.service-related a { text-underline-offset: 5px; }
.service-page .site-footer { background: #f7f2e8; }
.mobile-toc,.service-mobile-bar { display: none; }
.service-page .dialog-status.is-success { background: #e5f0e9; padding: 18px; color: #174b35; font-weight: 700; }
.service-page .dialog-status.is-error { background: #fff1ed; color: #962b1f; padding: 16px; }
.service-page dialog input { caret-color: #805913; }
@media(max-width:1100px) {
 .service-page .header-inner { grid-template-columns: 210px 1fr 150px; gap: 16px; }
 .service-page .main-nav { gap: 12px; }
 .service-page .main-nav a { font-size: 13px; }
 .service-hero-grid { gap: 30px; }
 .service-reading { grid-template-columns: 205px minmax(0,1fr); gap: 38px; }
}
@media(max-width:900px) {
 .service-page .header-inner { display: flex; justify-content: space-between; }
 .service-page .main-nav a { font-size: 17px; }
 .service-page .main-nav { gap: 0; }
 .service-hero-grid { grid-template-columns: 1.2fr 1fr; gap: 24px; }
 .service-photo { min-height: 330px; }
 .service-reading { grid-template-columns: 1fr; padding-top: 30px; }
 .service-article { max-width: none; }
 .service-toc { display: none; }
 .mobile-toc { display: block; border-bottom: 1px solid #dfd7c8; margin-bottom: 26px; padding-bottom: 18px; }
 .mobile-toc summary { cursor: pointer; font-weight: 600; }
 .mobile-toc li { margin-block: 10px; font-size: 16px; }
}
@media(max-width:640px) {
 .service-page .shell { width: calc(100% - 36px); }
 .service-page .header-inner { min-height: 78px; }
 .service-page .brand { width: 220px; }
 .service-page .brand-image--light img { width: 220px; height: 220px; top: -70px; }
 .service-page .main-nav { top: 78px; background: #071522; }
 .breadcrumbs { padding: 18px 0 20px; gap: 9px; font-size: 13px; }
 .service-hero-grid { display: flex; flex-direction: column; align-items: stretch; gap: 26px; }
 .service-hero-copy h1 { font-size: 36px; }
 .service-accent { font-size: 24px; margin-bottom: 16px; }
 .service-intro { font-size: 17px; line-height: 1.8; margin-bottom: 22px; }
 .service-actions { gap: 14px; }
 .service-actions .button { width: 100%; min-height: 54px; }
 .service-whatsapp { margin-inline: auto; }
 .service-trust { text-align: center; font-size: 12px; }
 .service-photo { min-height: 210px; height: 210px; }
 .service-photo img { object-position: 70% 43%; }
 .service-photo figcaption { font-size: 13px; padding-bottom: 13px; }
 .service-page .service-hero { padding-bottom: 26px; }
 .service-switcher .shell { gap: 0; justify-content: space-between; }
 .service-switcher a { font-size: 15px; padding: 16px 4px 12px; }
 .service-reading { padding-top: 26px; padding-bottom: 35px; }
 .service-answer { font-size: 19px; line-height: 1.85; padding-bottom: 23px; }
 .service-content-section { margin-top: 33px; }
 .service-content-section h2 { font-size: 27px; }
 .service-content-section p,.service-list { font-size: 17px; line-height: 1.85; }
 .service-options > div { grid-template-columns: 1fr; gap: 7px; padding: 17px 0; }
 .service-steps li { padding-inline-start: 44px; }
 .service-note { padding: 18px; }
 .service-office { padding: 24px 20px; margin-block: 32px; }
 .service-office h2 { font-size: 27px; }
 .service-office-links { flex-direction: column; gap: 13px; }
 .service-faq summary { font-size: 18px; gap: 15px; }
 .service-contact .shell { flex-direction: column; align-items: stretch; gap: 20px; }
 .service-contact h2 { font-size: 30px; }
 .service-contact p { font-size: 16px; }
 .service-related { flex-direction: column; gap: 18px; }
 .service-page .site-footer { padding-bottom: 105px; }
 .service-mobile-bar { display: flex; position: fixed; bottom: 0; inset-inline: 0; z-index: 30; gap: 10px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: #071522; transform: translateY(110%); visibility: hidden; transition: transform .2s ease; }
 .service-mobile-bar.is-visible { transform: none; visibility: visible; }
 .service-mobile-bar .button { min-height: 48px; padding: 10px 12px; font-size: 16px; flex: 1; }
 .service-page .lead-dialog { max-height: calc(100dvh - 24px); width: calc(100% - 24px); }
}
@media(prefers-reduced-motion:reduce) { .service-page { scroll-behavior:auto; } .service-page * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
