/* Shared visual finish, following the approved Hero 2. No content or behaviour changes. */
:root{--finish-border:rgba(13,70,82,.15);--finish-shadow:0 18px 42px -24px rgba(7,31,40,.28)}
.topbar{border-bottom-color:rgba(13,70,82,.13);box-shadow:0 8px 28px -20px rgba(7,31,40,.25)}
.topbar .logo-link{box-shadow:0 8px 26px -14px rgba(13,70,82,.22);border-color:rgba(13,70,82,.09)}
.topbar .btn:not(.primary):hover{background:#e8f5ef!important;border-color:rgba(45,155,146,.32)}
.topbar .nav-toggle[aria-expanded=true]:hover{background:#0d4652!important}
.mobile-nav a{transition:background .18s ease,border-color .18s ease}
.mobile-nav a[aria-current=page]{box-shadow:inset 3px 0 0 #2d9b92;background:#e9f6f0}
.btn{transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}
button:disabled,.btn[aria-disabled=true]{cursor:default;opacity:.58;box-shadow:none!important;transform:none!important}
.btn:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #2d9b92;outline-offset:4px}
.home-page .section{padding-top:76px!important;padding-bottom:24px!important}
.home-page .section-head h2{color:#0d4652;letter-spacing:-1.3px}
.home-page .section-head{margin-bottom:28px!important}
.home-page .visual-band{gap:22px;padding-top:38px!important}
.home-page .visual-card{border-radius:30px;box-shadow:0 20px 44px -22px rgba(7,31,40,.34)!important;border-color:rgba(255,255,255,.94)}
.home-page .visual-card:after{background:linear-gradient(180deg,rgba(7,31,40,.02) 12%,rgba(7,31,40,.16) 48%,rgba(7,31,40,.64) 100%)!important}
.home-page .visual-caption{background:linear-gradient(135deg,rgba(7,31,40,.88),rgba(13,70,82,.80));border:1px solid rgba(234,248,245,.24);padding:18px;border-radius:20px;backdrop-filter:blur(4px)}
.home-page .visual-caption strong{font-weight:650!important;line-height:1.2!important;text-shadow:none!important}
.home-page .visual-caption span{font-weight:400!important;text-shadow:none!important}
.home-page .premium-image-note{background:#fffaf2!important;border:1px solid rgba(199,163,107,.38);letter-spacing:.07em}
.home-page .side-panel,.home-page .chat-card,.home-page .contact-card{border:1px solid var(--finish-border)!important;box-shadow:var(--finish-shadow)!important;border-radius:28px!important}
.home-page .side-panel{top:var(--header-offset);background:linear-gradient(140deg,#eef8f3,#fbfaf7)!important}
.home-page .side-panel h2{font-size:clamp(32px,3.2vw,46px)!important;color:#0d4652}
.home-page .step-list{gap:18px;margin-top:24px}
html[data-lang=es] .home-page .step-list[data-lang=es],html[data-lang=en] .home-page .step-list[data-lang=en]{display:grid!important}
.home-page .step-list .num{border:1px solid rgba(45,155,146,.22);box-shadow:none;background:#fffaf2!important}
.home-page .disclaimer{border-color:rgba(199,163,107,.45);background:#fff8eb;line-height:1.55}
.home-page .chat-card{background:#fff!important}
.home-page .chat-top{padding:20px 24px;background:linear-gradient(120deg,#071f28,#0d4652 64%,#1b736d)!important;border-bottom:2px solid #c7a36b}
.home-page .chat-actions{padding:18px 22px;background:#f2f8f5;border-top:1px solid var(--finish-border)}
.home-page .chat-actions .btn{background:#fff!important;box-shadow:none!important;min-height:44px}
.home-page .bubble.bot{background:#eef8f3!important;border:1px solid #d3e9df;border-radius:18px;color:#183e48}
.home-page .option{border-color:rgba(13,70,82,.18);padding:18px;border-radius:18px;background:#fff;box-shadow:0 7px 20px -16px rgba(13,70,82,.28);transition:background .18s ease,border-color .18s ease,transform .18s ease}
.home-page .option:hover{background:#eef8f3;border-color:#2d9b92;transform:translateY(-2px)}
.home-page .option:focus-visible{outline:3px solid #2d9b92;outline-offset:3px}
.home-page .consultation-info .info-block{border-color:rgba(13,70,82,.15);background:linear-gradient(130deg,#fff,#f2f9f5);border-radius:18px}
.home-page .contact-card{background:#fff!important}
.home-page .contact-card:first-child{background:linear-gradient(140deg,#edf7f1,#fffaf2)!important}
.home-page .contact-card h3{font-size:23px;color:#0d4652;margin-bottom:22px;letter-spacing:-.35px}
.home-page .contact-method{background:rgba(255,255,255,.8);border-color:rgba(13,70,82,.13);border-radius:18px;padding:18px;gap:12px}
.home-page .contact-method a{text-decoration:underline;text-decoration-color:rgba(13,70,82,.25);text-underline-offset:4px}
.home-page .field input,.home-page .field select,.home-page .field textarea{border-radius:12px;background:#fcfefd!important}
.home-page .field input:hover,.home-page .field select:hover,.home-page .field textarea:hover{border-color:rgba(45,155,146,.6)!important}
.home-page .check{padding:12px 0}
.home-page .final-cta{width:calc(100% - 48px);max-width:1180px!important;margin:54px auto 0!important;padding:42px!important;border:1px solid rgba(199,163,107,.5);border-radius:32px!important;box-shadow:0 24px 60px -28px rgba(7,31,40,.40)!important}
.home-page .final-cta:after{display:none}
.home-page .final-cta h2{font-size:clamp(32px,3.5vw,46px)!important;line-height:1.12}
.home-page .final-cta .btn:not(.gold){background:rgba(255,250,242,.10)!important;color:#fffaf2!important;border-color:rgba(234,248,245,.44)!important}
.footer{background:linear-gradient(120deg,#071f28,#0d4652)!important;color:#e3efe8;border:1px solid rgba(199,163,107,.35);border-radius:28px;box-shadow:var(--finish-shadow)}
.home-page .footer{width:calc(100% - 48px);max-width:1180px;margin:28px auto 32px!important;padding:30px!important;gap:22px}
.home-page .footer-block{background:rgba(234,248,245,.055);border-color:rgba(234,248,245,.16);box-shadow:none;border-radius:20px;color:#e3efe8}
.home-page .footer .footer-title{color:#fffaf2!important;font-weight:650}
.home-page .footer .footer-links a{background:rgba(234,248,245,.07);border-color:rgba(234,248,245,.22);color:#f4faf6!important}
.home-page .footer .footer-links a:hover{background:#e6c98e;color:#102b33!important;border-color:#e6c98e}
.home-page .footer-legal{color:#d0e3da;font-size:14px;line-height:1.8;border-top:1px solid rgba(234,248,245,.18);padding-top:22px}
.footer a,.home-page .footer .footer-legal a{color:#e6c98e;text-underline-offset:4px}
.footer a:hover{text-decoration:underline}
.footer a:focus-visible{outline-color:#a5e4d8}
/* Interior pages remain bright reading surfaces, with the same petrol framing. */
body:not(.home-page) .hero{background:radial-gradient(ellipse at 95% 0,rgba(199,163,107,.22),transparent 55%),linear-gradient(120deg,#071f28,#0d4652 65%,#196e68);border:1px solid rgba(199,163,107,.5);border-radius:32px;box-shadow:0 22px 56px -28px rgba(7,31,40,.42);padding:54px 38px 38px}
body:not(.home-page) .hero:after{display:none}
body:not(.home-page) .hero h1{color:#fffaf2;line-height:1.06}
body:not(.home-page) .hero .lead{color:#e3efe8}
body:not(.home-page) .hero .eyebrow{color:#cce7da}
body:not(.home-page) .grid{gap:22px}
body:not(.home-page) .card,body:not(.home-page) .content,body:not(.home-page) .method{background:linear-gradient(140deg,#fff,#f4faf6);border:1px solid var(--finish-border);border-radius:24px;box-shadow:var(--finish-shadow)}
body:not(.home-page) .card{padding:26px;border-top:3px solid rgba(45,155,146,.6)}
body:not(.home-page) .card h3{font-weight:650;letter-spacing:-.3px}
body:not(.home-page) .content{padding:32px}
body:not(.home-page) .content h2{color:#0d4652}
body:not(.home-page) .content h3:not(:first-child){margin-top:26px;padding-top:24px;border-top:1px solid var(--finish-border)}
body:not(.home-page) .content p,body:not(.home-page) .content li{max-width:80ch}
body:not(.home-page) .method{padding:22px}
body:not(.home-page) .method strong{margin-bottom:10px}
body:not(.home-page) .contactbox{gap:18px;margin-top:28px}
body:not(.home-page) .notice{background:#fff8eb;border-color:rgba(199,163,107,.48);border-radius:18px}
body:not(.home-page) .notice>.card{margin-top:16px}
body:not(.home-page) .footer{width:calc(100% - 48px);max-width:1032px;margin:32px auto;padding:30px;color:#dbeae2}
body:not(.home-page) .footer>strong{color:#fffaf2;font-size:18px;line-height:2}
@media(hover:hover){body:not(.home-page) .card:hover,body:not(.home-page) .method:hover{transform:translateY(-3px);border-color:rgba(45,155,146,.35);box-shadow:0 24px 50px -26px rgba(7,31,40,.30)}}
@media(max-height:850px){.home-page .side-panel{position:static!important}}
@media(max-width:640px){
 .home-page .section{padding-top:52px!important;padding-bottom:18px!important}
 .home-page .visual-band{padding-top:28px!important;gap:16px}
 .home-page .visual-caption{padding:14px;border-radius:17px}
 .home-page .visual-card{border-radius:24px}
 .home-page .chat-top{padding:17px 18px}
 .home-page .chat-actions{padding:16px}
 .home-page .option{padding:16px}
 .home-page .contact-method{padding:14px}
 .home-page .contact-card h3{font-size:22px}
 .home-page .final-cta{width:calc(100% - 24px);padding:26px!important;margin-top:34px!important;border-radius:26px!important}
 .home-page .footer{width:calc(100% - 24px);padding:20px!important;margin-bottom:16px!important;border-radius:26px;gap:18px}
 .home-page .footer-legal{font-size:14px;line-height:1.9}
 body:not(.home-page) .hero{padding:32px 22px 26px;border-radius:26px}
 body:not(.home-page) .grid{gap:16px}
 body:not(.home-page) .card,body:not(.home-page) .method{padding:22px;border-radius:22px}
 body:not(.home-page) .content{padding:24px 20px!important;border-radius:24px}
 body:not(.home-page) .footer{width:calc(100% - 32px);padding:24px 20px;border-radius:24px}
}
@media(prefers-reduced-motion:reduce){
 .btn,.option,.mobile-nav a{transition:none!important}
 .card:hover,.method:hover,.option:hover{transform:none!important}
}
