/* v0.7: visible actions, office location and progressive consultation guide. */
.icon-brand{fill:currentColor;stroke:none}
.button.button-whatsapp{background:#087f5b;border-color:#087f5b;color:white;gap:12px}
.button.button-whatsapp:hover{background:#066449;border-color:#066449;color:white}
.button-whatsapp .icon-brand{width:23px;height:23px}
.main-nav .button-whatsapp{padding:12px 19px}
.floating-contact{background:#087f5b;color:white;border-color:#087f5b}
.floating-contact:hover{background:#066449}
.button{transition:background .2s,border-color .2s,box-shadow .2s,transform .2s}
.button:hover{box-shadow:0 5px 16px #001f3d16}
.button>.icon:last-child{transition:transform .2s}
.button:hover>.icon:last-child{transform:translateX(3px)}
.hero-actions{gap:14px;flex-wrap:wrap}
.hero-actions .hero-services{border:1px solid #aec2d5;color:white;background:#ffffff08;min-height:54px;gap:12px}
.hero-actions .hero-services:hover{background:#ffffff17;border-color:white}
.hero-actions .button{font-size:14px;padding-inline:20px}
.editorial-image,.contact-illustration{overflow:hidden;border-radius:8px}
.editorial-image img,.contact-illustration img{transition:transform 1.2s cubic-bezier(.2,.65,.3,1);transform-origin:center}
.image-revealed img{animation:image-settle 1.2s cubic-bezier(.2,.65,.3,1) both}
@keyframes image-settle{from{transform:scale(1.045);opacity:.72}to{transform:scale(1);opacity:1}}
@media(hover:hover){.editorial-image:hover img,.contact-illustration:hover img{transform:scale(1.025);animation:none}}
.needs-navigator{border:0;background:#f3f6f9}
.needs-navigator>.container{display:block;padding-block:42px 45px}
.needs-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:24px}
.needs-navigator h2{font-size:clamp(34px,3.6vw,49px);margin:0}
.needs-heading p{font-size:14px;margin:0;max-width:340px}
.needs-links{padding:0;border:0;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}
.needs-links a,.needs-links a:nth-child(n){display:grid;grid-template-columns:39px minmax(0,1fr) 18px;gap:13px;padding:20px 17px;min-height:94px;border:1px solid #cfdae5;border-radius:8px;background:white;font-size:14px;font-weight:600;line-height:1.5;text-decoration:none;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s}
.need-icon{display:flex;align-items:center}.need-icon>.icon{width:34px;height:34px;stroke-width:1.55}
.needs-links a>.need-arrow{width:18px;height:18px;opacity:1}
.needs-links a:hover,.needs-links a:focus-visible{border-color:#335c7c;background:#eaf1f7;box-shadow:0 5px 16px #001f3d09;transform:translateY(-2px);text-decoration:none}
.service-explorer{background:#fff;padding-block:55px}
.finder-heading h2{font-size:clamp(42px,4.4vw,63px)}
.service-list{grid-auto-flow:row;grid-template-rows:none;gap:20px}
.service-row{grid-template-columns:66px minmax(0,1fr);align-items:start;gap:20px;padding:25px;min-height:195px;border:1px solid #d0dce7;border-radius:8px;background:#fff;transition:border-color .2s,box-shadow .2s,transform .2s}
.service-icon{width:66px;height:66px;background:#f0f5f9;border-radius:50%}
.service-icon .icon{width:35px;height:35px}
.service-row h3{font-size:31px;line-height:1.15;margin-bottom:10px}
.service-row p{font-size:14px;line-height:1.75}
.service-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #d8e3ec;padding-top:14px;margin-top:18px;font:600 13px/1.5 var(--sans);color:#001f3d}
.service-cta>.icon{width:20px;height:20px;flex-shrink:0;transition:transform .2s}
.service-row:hover,.service-row:focus-visible{border-color:#335c7c;box-shadow:inset 4px 0 #001f3d,0 8px 24px #001f3d0a;transform:translateY(-2px)}
.service-row:hover .service-cta>.icon,.catalogue-card-link:hover .service-cta>.icon{transform:translateX(4px)}
.catalogue-list{gap:20px}
.catalogue-row{display:flex;flex-direction:column;position:relative;gap:0;padding:0;border:1px solid #cfdae5;border-radius:8px;background:white;overflow:hidden;align-items:stretch;transition:border-color .2s,box-shadow .2s}
.catalogue-card-link{display:grid;grid-template-columns:61px minmax(0,1fr);gap:20px;padding:25px;text-decoration:none;flex:1}
.catalogue-icon{width:61px;height:61px;background:#f0f5f9;border:0;border-radius:50%}
.catalogue-icon>.icon{width:33px;height:33px}
.catalogue-row h2{font-size:31px;line-height:1.15;margin-bottom:10px;overflow-wrap:normal}
.catalogue-row p{margin-bottom:0;font-size:14px}
.catalogue-row:has(.catalogue-card-link:hover),.catalogue-row:focus-within{border-color:#335c7c;box-shadow:inset 4px 0 #001f3d,0 8px 24px #001f3d09}
.catalogue-card-link:focus-visible{outline-offset:-4px}
.catalogue-row .comparison-choice{position:static;display:flex;align-items:center;gap:10px;font-size:12px;min-height:50px;margin:0;padding:13px 25px 13px 106px;border-top:1px solid #e2e9ef;background:#f7f9fb}
.comparison-choice:has(input:checked){background:#e8f0f7}
.about-body .prose{max-width:730px;margin-bottom:38px}
.about-body .prose h2{font-size:49px;margin-bottom:14px}
.about-body .prose p{font-size:19px;line-height:1.75}
.office-location{background:#001f3d;color:#fff;padding-block:64px}
.office-location>.container{grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:56px;align-items:center}
.office-location h2{font-size:clamp(40px,4.3vw,61px);color:white;line-height:1.06;margin-block:18px 28px}
.office-copy>.icon-tile{background:#143955;color:#d0deea}
.office-copy h3{font-size:32px;color:white;margin-bottom:8px}
.office-floor{font:600 22px/1.4 var(--serif);color:#d2deea;margin-bottom:18px}
.office-location address{font-size:14px;line-height:1.85;color:#c0d0df;max-width:460px}
.office-location .contact-methods{display:flex;flex-direction:column;align-items:stretch;max-width:420px;gap:12px;margin-top:25px}
.office-location .button-outline{border-color:#b8cada;color:white;background:transparent}
.office-location .button-outline:hover{background:#193d5a}
.office-appointment{display:flex;align-items:center;gap:12px;font-size:13px;margin:23px 0 0;color:inherit}
.office-appointment>.icon{width:21px;height:21px;flex-shrink:0}
.location-map{background:#f3f6f9;color:#001f3d;border:1px solid #cfdae5;border-radius:9px;padding:16px;min-width:0}
.map-stage{position:relative;height:360px;min-width:0;overflow:hidden;border:1px solid #d4e0e9;border-radius:6px;background:#eaf1f6}
.map-stage iframe{display:block;width:100%;height:100%;border:0;background:white}
.map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;font:600 12px/1.5 var(--sans)}
.map-toolbar[hidden]{display:none}
.map-toolbar>span,.map-toolbar>button{display:flex;align-items:center;gap:8px}
.map-toolbar .icon{width:17px;height:17px}
.map-toolbar>button{min-height:44px;font-size:11px;color:#294e6e}
.map-loading .map-stage::after{content:'';position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,#cbdbe8,#214e73,#cbdbe8);background-size:200% 100%;animation:map-wait 1.5s linear infinite;pointer-events:none}
@keyframes map-wait{to{background-position:-200% 0}}
.map-stage [hidden]{display:none!important}
.map-delay{position:absolute;inset:0;background:#eef4f8}
.map-delay .map-symbol{width:46px;height:46px;margin-bottom:10px}
.map-delay .map-symbol>.icon{width:26px;height:26px}
.map-delay h3{font-size:28px}
.map-delay p{max-width:310px;margin-bottom:13px}
.map-delay>.text-button{min-height:40px;font-size:11px;margin-top:6px}
.location-map .map-retry{font-size:12px;min-height:44px;margin-top:8px}
.location-map .map-retry[hidden]{display:none}
.map-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px 16px}
.map-symbol{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:white;border:1px solid #cedce8;margin-bottom:16px}
.map-symbol>.icon{width:35px;height:35px}
.map-placeholder h3{font-size:33px;margin:0 0 8px;color:#001f3d}
.map-placeholder p{font-size:13px;margin:0 0 20px;color:#4c6379}
.map-placeholder small{font-size:11px;margin-top:13px;line-height:1.6;color:#526b82}
.map-placeholder .button{font-size:13px;min-height:48px;gap:10px}
.map-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:15px}
.map-actions .button{font-size:12px;min-height:46px;padding:10px 17px;border:1px solid #a9bece;background:white;gap:9px}
.map-actions .text-button{display:flex;align-items:center;gap:9px;font-size:12px;min-height:46px;padding:7px 4px;color:#001f3d}
.map-actions .icon{width:19px;height:19px}
.map-status{font-size:11px;line-height:1.65;margin:0;color:#405e77}
.map-status:not(:empty){margin-top:12px}
[data-load-map],[data-copy-address]{display:none}
.has-js [data-load-map],.has-js [data-copy-address]{display:inline-flex}
.contact-whatsapp{display:flex;width:100%;margin-top:24px;min-height:56px}
.contact-details .location-map{margin-top:20px;padding:12px}
.contact-details .map-stage{height:300px}
.contact-details .map-placeholder h3{font-size:29px}
.contact-details .map-actions{gap:10px;flex-wrap:wrap}
.contact-details .map-actions .button,.contact-details .map-actions .text-button{font-size:11px}
.contact-details .office-appointment{color:#526b82}
.quick-preparation fieldset{min-width:0}
.quick-preparation .area-choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}
.quick-preparation .area-choices legend{font:600 29px/1.25 var(--serif);padding:0;margin-bottom:20px}
.quick-preparation .area-choice{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:12px;min-height:150px;padding:18px 14px}
.quick-preparation .area-choice>.icon{width:29px;height:29px;flex-shrink:0}
.quick-preparation .area-choice>span:not(.choice-mark){font:400 13px/1.5 var(--sans);overflow-wrap:normal;min-width:0}
.area-choice strong{display:block;font-size:13px;line-height:1.55;font-weight:600}
.area-choice small{display:block;font-size:10px;font-weight:400;line-height:1.6;color:#5d748a;margin-top:5px}
.quick-preparation .choice-mark{position:absolute;top:12px;right:12px;width:18px;height:18px;display:grid;place-items:center;border-color:#a6bbce;background:white}
.choice-mark>.icon{width:12px;height:12px;opacity:0}
.quick-preparation .area-choice:has(input:checked){background:#001f3d;color:white;border-color:#001f3d;box-shadow:none}
.quick-preparation .area-choice:has(input:checked) small{color:#c1d1e0}
.quick-preparation .area-choice:has(input:checked) .choice-mark{border:0;color:#001f3d}
.quick-preparation .area-choice:has(input:checked) .choice-mark>.icon{opacity:1}
.guide-checklist-panel{border-top:1px solid #ccdbe6;margin-top:30px;padding-top:27px}
.guide-checklist-panel h2{font-size:29px;line-height:1.3;margin:0 0 12px}
.guide-checklist-panel>p{font-size:13px;line-height:1.8;margin-bottom:20px}
.quick-preparation .preparation-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}
.quick-preparation .preparation-checks label{gap:12px;min-height:82px;padding:17px 14px;margin:0;font-size:13px;line-height:1.65;background:white;align-items:flex-start}
.quick-preparation .preparation-checks input{width:21px;height:21px;flex-shrink:0;margin-top:2px}
.quick-preparation .preparation-checks label>span{overflow-wrap:normal}
.quick-preparation .preparation-checks label:has(input:checked){background:#eaf2f8;border-color:#6385a2}
.quick-preparation .preparation-checks .icon{width:16px;height:16px;flex-shrink:0;margin-top:4px}
.guide-count-row{display:flex;gap:18px;align-items:center;margin-block:20px}
.guide-count-row .preparation-progress{margin:0;flex:1;min-width:40px;height:8px}
.guide-count-row .checklist-count{font-size:11px;margin:0;white-space:nowrap}
.guide-change-status{font-size:11px;color:#4c657c;margin:0}
.guide-change-status:empty{display:none}
.quick-preparation .form-actions{margin-top:25px;gap:18px;align-items:center}
.quick-preparation .form-actions .button{font-size:13px;gap:12px}
.quick-preparation .form-actions>a{font-size:12px;min-height:44px;display:inline-flex;align-items:center}
.guide-private-note{display:flex;align-items:flex-start;gap:12px;font-size:11px;line-height:1.8;margin-top:24px;color:#4d657b}
.guide-private-note>.icon{width:20px;height:20px;flex-shrink:0}
.guide-save-note{font-size:11px;line-height:1.7;color:#4d657b;margin-top:8px;display:none}
.has-js .guide-save-note{display:block}
.preparation-layout{grid-template-columns:minmax(0,1fr) 330px;gap:36px}
.preparation-summary.guide-summary{background:#001f3d;color:white;display:block;padding:30px;top:24px}
.guide-summary h2,.guide-summary h3,.guide-summary p,.guide-summary li{color:white}
.guide-summary h2{font-size:30px;margin-bottom:0}
.guide-summary>.icon-tile{background:#153c5d;color:white;width:54px;height:54px;margin-bottom:20px}
.guide-summary .summary-area{border-color:#547089;margin:24px 0;padding:22px 0}
.guide-summary .summary-area h3{font-size:35px;line-height:1.15;overflow-wrap:normal}
.guide-summary .summary-area p{font-size:11px;color:#bed0e0}
.guide-summary>h3{font-size:26px;margin-bottom:20px}
.guide-summary>.check-list{display:block}
.guide-summary .check-list li{font-size:13px;line-height:1.7;margin:15px 0;gap:12px;color:#dce6ef}
.guide-summary .check-list .icon{color:#cfdfed;width:20px;height:20px}
.guide-summary .summary-document{font-size:11px;color:#c2d2e1;border-color:#547089}
.guide-summary .summary-contact{display:flex;flex-direction:column;align-items:stretch}
.guide-summary .summary-contact .button{width:100%;font-size:12px;padding:12px 10px;min-height:48px;gap:8px}
.guide-summary .summary-contact .button-outline{color:white;border-color:#9db5cb;background:transparent}
@media(min-width:1400px){.preparation-layout{grid-template-columns:minmax(0,1fr) 350px;gap:42px}}
@media(max-width:1100px){.needs-links a,.needs-links a:nth-child(n){grid-template-columns:31px minmax(0,1fr) 14px;padding:16px 12px;gap:10px;font-size:12px}.need-icon>.icon{width:29px;height:29px}.service-row,.catalogue-card-link{padding:22px;gap:16px;grid-template-columns:52px minmax(0,1fr)}.service-icon,.catalogue-icon{width:52px;height:52px}.service-row h3,.catalogue-row h2{font-size:28px}.catalogue-row .comparison-choice{padding-left:90px}.preparation-layout{grid-template-columns:minmax(0,1fr) 290px;gap:25px}.quick-preparation .area-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-preparation .area-choice{min-height:128px}.office-location>.container{gap:30px}.map-actions{flex-wrap:wrap}}
@media(max-width:980px){.needs-heading{display:block}.needs-heading p{margin-top:12px;max-width:none}.preparation-layout{grid-template-columns:minmax(0,1fr)}.quick-preparation .area-choices{grid-template-columns:repeat(4,minmax(0,1fr))}.guide-summary{position:static}.office-location>.container{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:30px}.office-location h2{font-size:44px}.office-location .contact-methods .button{font-size:12px}.contact-whatsapp{font-size:12px;gap:8px}}
@media(max-width:760px){.needs-links{grid-template-columns:repeat(2,minmax(0,1fr))}.needs-links a,.needs-links a:nth-child(n){min-height:91px;font-size:13px;padding:16px 13px;gap:10px}.needs-navigator>.container{padding-block:30px}.service-list{display:grid;grid-template-columns:minmax(0,1fr)}.service-row{min-height:0}.office-location>.container{grid-template-columns:minmax(0,1fr);gap:30px}.office-location .contact-methods{max-width:none}.office-location h2{font-size:46px}.map-stage{height:330px}.office-location .contact-methods .button{font-size:14px}.contact-whatsapp{font-size:14px}.quick-preparation .area-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-preparation .area-choice{min-height:132px}.quick-preparation .area-choice>span:not(.choice-mark){font-size:14px}.area-choice strong{font-size:14px}.area-choice small{font-size:11px}.preparation-summary.guide-summary{padding:26px}.about-body .prose h2{font-size:41px}.about-body .prose p{font-size:16px}}
@media(max-width:480px){.hero-actions{display:flex;flex-direction:column;gap:12px}.hero-actions .button{width:100%;font-size:13px}.needs-navigator h2{font-size:34px}.needs-heading p{font-size:12px}.needs-links{gap:10px}.needs-links a,.needs-links a:nth-child(n){grid-template-columns:28px minmax(0,1fr);gap:9px;padding:15px 10px;min-height:92px;font-size:12px}.needs-links a>.need-arrow{display:none}.need-icon>.icon{width:27px;height:27px}.service-row,.catalogue-card-link{grid-template-columns:43px minmax(0,1fr);padding:20px 16px;gap:13px}.service-icon,.catalogue-icon{width:43px;height:47px}.service-icon .icon,.catalogue-icon>.icon{width:27px;height:27px}.service-row h3,.catalogue-row h2{font-size:28px}.service-row p,.catalogue-row p{font-size:13px}.service-cta{font-size:11px;gap:8px}.catalogue-row .comparison-choice{padding:13px 16px 13px 72px;font-size:11px}.map-stage{height:300px}.map-actions{gap:8px}.map-actions .button,.map-actions .text-button{font-size:11px}.map-placeholder h3{font-size:29px}.quick-preparation .preparation-checks{grid-template-columns:minmax(0,1fr)}.quick-preparation .area-choices{gap:10px}.quick-preparation .area-choice{padding:16px 12px}.quick-preparation .preparation-checks label{min-height:68px}.guide-count-row{flex-wrap:wrap}.guide-count-row .checklist-count{font-size:10px}.guide-checklist-panel h2{font-size:28px}.quick-preparation .area-choices legend{font-size:29px}.guide-summary .summary-area h3{font-size:34px}.contact-details .phone{font-size:27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.editorial-image img,.contact-illustration img,.image-revealed img{animation:none!important;transform:none!important;transition:none!important}.button,.button>.icon,.needs-links a,.service-row,.catalogue-row,.service-cta>.icon{transition:none!important}.needs-links a:hover,.service-row:hover,.button:hover>.icon:last-child,.service-row:hover .service-cta>.icon,.catalogue-card-link:hover .service-cta>.icon{transform:none}}
@media print{.location-map,.office-location,.guide-summary{display:none!important}}
@media(prefers-reduced-motion:reduce){.map-loading .map-stage::after{animation:none}}
