.mobile-solution-picker{display:none}.back-to-top{position:fixed;z-index:31;right:27px;bottom:calc(96px + env(safe-area-inset-bottom));height:48px;width:48px;border:1px solid #9db6c6;background:white;color:var(--navy);border-radius:50%;display:grid;place-items:center;box-shadow:0 8px 22px #001d3520}.back-to-top:hover{background:var(--navy);color:white;transform:translateY(-3px)}.wa-float{position:relative;overflow:visible}.wa-float:before{content:'';position:absolute;inset:-5px;border:2px solid #25d366;border-radius:inherit;pointer-events:none;animation:whatsapp-pulse 2.2s ease-out infinite}.wa-float[aria-expanded=true]:before{animation:none;opacity:0}@keyframes whatsapp-pulse{0%{opacity:.65;transform:scale(.94)}70%,100%{opacity:0;transform:scale(1.15)}}.team-grid{grid-template-columns:1fr 1.15fr 1fr;align-items:end}.team figure{background:transparent;overflow:visible}.team figure img,.team .edu-portrait img{height:410px;width:100%;object-fit:contain;object-position:center bottom;opacity:1;filter:none;mix-blend-mode:normal}.team figcaption{position:static;background:none;padding:18px 0 0;text-align:center}.hero-elaine,.conversation-person img{opacity:1;filter:none;mix-blend-mode:normal}.wa-head img,.links-people-preview img{object-fit:cover;object-position:center 12%;background:var(--navy)}.person-link img{object-position:center top}.auto-profile{padding:96px 7vw;background:#f3f4f2;display:grid;grid-template-columns:.8fr 1.4fr;gap:7vw;align-items:start;scroll-margin-top:100px}.auto-profile-intro{position:sticky;top:140px}.auto-profile h2{font-size:clamp(34px,3.4vw,50px);margin-bottom:28px}.auto-profile-intro>p{color:var(--muted);font-size:17px}.profile-note{font-size:13px!important;line-height:1.7}.profile-note a{text-decoration:underline;text-underline-offset:3px}.auto-profile form{min-width:0;scroll-margin-top:125px}.profile-progress{display:flex;flex-wrap:wrap;gap:8px 20px;border-bottom:1px solid #a4bbc9;padding-bottom:18px;font-size:13px;color:var(--muted)}.profile-progress .active{color:var(--navy);font-weight:700;border-bottom:2px solid var(--orange)}.profile-status{font-size:13px;color:var(--muted);margin:20px 0 28px}.auto-profile fieldset{border:0;padding:0;margin:0;min-width:0}.auto-profile legend{font:600 clamp(24px,2.2vw,32px)/1.2 Manrope;letter-spacing:-.025em;margin-bottom:18px}.auto-profile fieldset>p{font-size:15px;color:var(--muted)}.profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px;margin:30px 0}.profile-fields label{font-size:14px;line-height:1.5;display:flex;flex-direction:column;gap:9px;min-width:0}.profile-fields label>span{font-size:12px;color:var(--muted)}.profile-fields input,.profile-fields select,.profile-fields textarea{width:100%;font-size:16px;min-height:52px}.profile-controls{display:flex;gap:24px;justify-content:space-between;align-items:center;margin-top:32px}.profile-controls #profile-next:only-child{margin-left:auto}.profile-consent{display:flex;align-items:flex-start;gap:14px;font-size:14px;margin:28px 0}.profile-consent input{min-height:24px;width:24px;flex-shrink:0;accent-color:var(--navy)}#profile-review dl{margin:28px 0}#profile-review dt{font-size:12px;font-weight:600;color:var(--muted);padding-top:14px;border-top:1px solid var(--line)}#profile-review dd{font-size:15px;margin:4px 0 14px;overflow-wrap:anywhere}
@media(max-width:850px){.team-grid{grid-template-columns:1fr 1fr;gap:28px}.team-statement{grid-column:1/-1;grid-row:2}.team .edu-portrait{grid-column:2;grid-row:1}.team .elaine-portrait{grid-column:1;grid-row:1}.team figure img,.team .edu-portrait img{height:360px}.auto-profile{display:block;padding:72px 6vw}.auto-profile-intro{position:static;max-width:650px;margin-bottom:44px}.auto-profile-intro .text-link{font-size:12px}}
@media(max-width:600px){.mobile-solution-picker{display:block}.mobile-solution-picker label{display:block;font:600 16px Manrope;margin-bottom:12px}.mobile-solution-picker select{width:100%;min-height:56px;font-size:16px}.mobile-solution-picker p{font-size:13px;color:#354b5e;line-height:1.6;margin:14px 0 0}.solution-directory{display:none}.contact-section{text-align:center}.contact-section h2{font-size:34px}.contact-section p{margin-left:auto;margin-right:auto}.contact-section .button{justify-content:center}.contact-section .phone{text-align:center}.footer-top .brand{margin:0 auto 25px}.footer-top p{margin:0 auto 20px}.footer-top,footer{text-align:center}.footer-links{justify-content:center;gap:8px 18px}.footer-bottom,.footer-bottom>a{justify-content:center;text-align:center}.wefirst-credit{justify-content:center;text-align:center}.disclaimer{padding-right:0;margin-left:auto;margin-right:auto}.team-grid{gap:20px}.team figure img,.team .edu-portrait img{height:270px}.team figcaption{padding:14px 0 0}.team figcaption strong{font-size:21px}.back-to-top{right:21px;width:48px;height:48px;bottom:calc(90px + env(safe-area-inset-bottom))}.wa-panel{bottom:calc(158px + env(safe-area-inset-bottom));max-height:calc(100dvh - 180px);width:calc(100vw - 32px)}.auto-profile{padding:64px 6vw;scroll-margin-top:76px}.auto-profile form{scroll-margin-top:95px}.profile-fields{grid-template-columns:1fr;gap:22px}.profile-progress{gap:12px 16px;font-size:12px}.profile-controls{gap:16px}.profile-controls .button{font-size:13px;padding:16px 18px}.profile-controls #profile-send{max-width:240px}.profile-consent{font-size:14px}}
@media(max-width:360px){.team figure img,.team .edu-portrait img{height:230px}.team figcaption strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){.wa-float:before{animation:none;opacity:0}}
.team .edu-portrait img{object-fit:cover;object-position:58% bottom}
.brand img{aspect-ratio:1815/457}.header .brand{width:255px}
@media(max-width:600px){.header .brand{width:210px}.footer-top .brand{width:250px}}
.credit-maker{display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}
@media(max-width:850px){footer{text-align:center}.footer-top .brand{margin-left:auto;margin-right:auto}.footer-links,.footer-bottom{justify-content:center}.footer-top p{margin-left:auto;margin-right:auto}}
@media(max-width:600px){footer{padding-bottom:110px}.footer-links a{min-height:44px}.footer-bottom{font-size:11px}.disclaimer{font-size:11px;line-height:1.7}.wefirst-credit{gap:4px 12px}.wefirst-credit>span:first-child{flex-basis:100%}}
/* One icon family, optical sizes and consistent alignment. Brand glyphs stay authentic. */
.ui-icon{display:inline-block;width:20px;height:20px;flex:0 0 auto;vertical-align:-.125em;fill:currentColor;stroke:none;overflow:visible}
.button>.ui-icon,.text-link>.ui-icon,.coverage-ask>.ui-icon{width:18px;height:18px}
.button>.icon-whatsapp,.person-action>.icon-whatsapp{width:22px;height:22px}
.header-contact>.icon-whatsapp{width:21px;height:21px}
.wa-float{padding:9px;gap:11px;align-items:center;border-color:#ffffff24;box-shadow:0 8px 24px #001d3533}
.wa-float>.icon-whatsapp{width:38px;height:38px;min-width:38px;padding:6px;background:#167a48;border-radius:50%;fill:white;stroke:none}
.wa-close,.gallery-dialog>button{display:grid;place-items:center}.wa-close>.ui-icon,.gallery-dialog>button>.ui-icon{width:18px;height:18px}
.back-to-top>.ui-icon{width:18px;height:18px}.wa-send>.icon-whatsapp{width:22px;height:22px}
.menu-toggle .icon-close{display:none}.menu-toggle>.ui-icon{width:23px;height:23px}.menu-open .menu-toggle .icon-menu{display:none}.menu-open .menu-toggle .icon-close{display:block}
.hero-bottom>span:last-child{display:flex;align-items:center;gap:12px}.hero-bottom .ui-icon,.scene-bottom .ui-icon{width:14px;height:14px}.gallery-item>span{align-items:center}.gallery-item>span>span{display:inline-flex}.gallery-item .ui-icon{width:15px;height:15px}
.disclosure-icon{display:inline-grid;place-items:center;width:24px;height:24px;flex-shrink:0}.disclosure-icon .ui-icon{width:14px;height:14px}.disclosure-icon .icon-minus{display:none}details[open]>summary .icon-plus{display:none}details[open]>summary .icon-minus{display:block}
.attention-points .icon-check{width:23px;height:23px;margin-top:4px}.wefirst-credit .wefirst-heart{width:13px;height:13px}
.social-icon>.icon-instagram,.social-icon>.icon-facebook{width:23px;height:23px}.social-icon>.icon-facebook{width:14px}.link-icon>.icon-whatsapp{width:29px;height:29px}.solution-directory .ui-icon{width:15px;height:15px}
.menu-toggle{color:white}

/* Navy sampled from the generated campaign photography (auto banner wall). */
:root{--photo-blue:#0a2031}
.header,footer{--navy:var(--photo-blue);background:var(--photo-blue)}
#profile-review>h3{font-size:21px;line-height:1.4;margin:32px 0 18px}#profile-review>h3:first-child{margin-top:0}.profile-reopen{font-size:14px;margin:24px 0 0}.profile-reopen a{text-decoration:underline;text-underline-offset:3px;font-weight:600}.auto-profile legend:focus{outline:none}
@media(max-width:600px){.profile-progress{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.profile-progress>span{padding-bottom:5px}.profile-fields label{overflow-wrap:anywhere}}
/* Home follows exactly two alternating compositions: full photograph, then framed photograph. */
.protection-journey .scene--road .service-title,.protection-journey .scene--living .service-title{font-size:clamp(40px,4.6vw,76px);overflow-wrap:normal}
.team-grid{align-items:center}.team-statement{text-align:center;align-self:center}.team-statement p{margin-left:auto;margin-right:auto}.team-statement ul{list-style:none;padding:0}.team-statement li{margin:12px 0}.team figure img,.team .edu-portrait img{object-fit:contain;object-position:center bottom;height:410px;width:100%}.team figcaption{min-height:72px}.team .edu-portrait img{transform:none}
.contact-section{position:relative;isolation:isolate;overflow:hidden;min-height:420px;padding-top:88px;padding-bottom:88px;color:white;background:var(--photo-blue)}
.contact-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43%;z-index:-3}
.contact-overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(100deg,#34271eed 0%,#643719df 48%,#9c4c1aa8 100%)}
.contact-lines{position:absolute;inset:0;width:100%;height:100%;color:#ffac52;pointer-events:none;z-index:-1}.contact-lines path{stroke:currentColor;stroke-width:1.2;vector-effect:non-scaling-stroke}.contact-lines path+path{opacity:.4;stroke-width:.7}
.contact-section>.contact-copy,.contact-section>.contact-actions{position:relative;z-index:1}.contact-section h2{max-width:700px}.contact-section p{color:#fff2e2;font-size:16px;line-height:1.75}.contact-actions{flex:0 0 280px;text-align:center}.contact-section .primary{background:var(--photo-blue);border:1px solid #ffffff45}.contact-section .primary:hover{background:#183c50}.contact-section .phone{font-size:18px;text-align:center;line-height:1.5;margin-top:24px;color:white}.phone>span,.phone>strong{display:block}.phone>strong{font:600 clamp(24px,2.1vw,32px)/1.4 Manrope;letter-spacing:-.02em;margin-top:4px}.contact-section .phone:hover{text-decoration:underline;text-underline-offset:5px}
footer .disclaimer{text-align:center;margin:24px auto 0;padding:0;max-width:110ch}.wefirst-credit .wefirst-heart{fill:#e53935;color:#e53935}
/* Labels and optional hints share one track; controls share the next track. */
.profile-fields{gap:12px 24px}.profile-fields>label{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:10px;margin-bottom:14px;align-content:start}.profile-fields label>.profile-field-title{font-size:14px;line-height:1.5;color:var(--ink);display:block;min-width:0}.profile-field-title>span{display:inline;font-size:12px;white-space:nowrap;color:var(--muted)}.profile-fields input,.profile-fields select{height:52px;align-self:start}.profile-fields textarea{align-self:start;min-height:110px}
@supports not (grid-template-rows:subgrid){.profile-fields>label{display:flex;grid-row:auto;justify-content:flex-end}.profile-fields .profile-field-title{min-height:3em}}
@media(max-width:1100px){.contact-section{gap:36px}.contact-actions{flex-basis:250px}.team figure img,.team .edu-portrait img{height:360px}}
@media(max-width:850px){.team-grid{align-items:end}.team-statement{grid-column:1/-1;grid-row:2}.team .edu-portrait{grid-column:2;grid-row:1}.team .elaine-portrait{grid-column:1;grid-row:1}.team figure img,.team .edu-portrait img{height:360px}.contact-section{display:grid;grid-template-columns:1.2fr 1fr;gap:32px}.contact-actions{min-width:0}}
@media(max-width:600px){.team figure img,.team .edu-portrait img{height:270px}.contact-section{display:block;padding-top:64px;padding-bottom:64px}.contact-section h2{font-size:34px}.contact-section p{font-size:15px}.contact-actions{margin-top:32px}.contact-overlay{background:linear-gradient(110deg,#34271eed,#79401bdc)}.contact-section .phone{font-size:18px;margin-top:26px}.phone>strong{font-size:27px}.contact-lines{width:180%;left:-40%;opacity:.6}.profile-fields{row-gap:24px}.profile-fields>label{grid-row:auto;grid-template-rows:auto auto;gap:9px;margin-bottom:0}.profile-fields .profile-field-title{min-height:0}}
@media(max-width:360px){.team figure img,.team .edu-portrait img{height:230px}.protection-journey .scene--road .service-title,.protection-journey .scene--living .service-title{font-size:clamp(32px,10.1vw,38px)!important}}
/* Preserve the office photograph; local cards carry the text contrast. */
.contact-overlay{background:linear-gradient(100deg,#ff8a000d,#ff8a001f)}
.contact-lines{inset:0;left:0;width:100%;height:100%;opacity:.85}
.contact-section>.contact-copy,.contact-section>.contact-actions{background:#0a2031f2;border:1px solid #ffffff24;border-radius:12px;box-shadow:0 12px 32px #00131f26}
.contact-copy{max-width:650px;padding:32px 36px}.contact-actions{flex-basis:320px;padding:28px 24px}.contact-section p{color:#e4ecf1}
@media(max-width:850px){.contact-copy{padding:28px}.contact-actions{padding:28px 20px}}
@media(max-width:600px){.contact-overlay{background:linear-gradient(110deg,#ff8a000d,#ff8a001f)}.contact-lines{inset:0;left:0;width:100%;height:100%;opacity:.75}.contact-copy{padding:28px 22px}.contact-section h2{font-size:31px}.contact-actions{margin-top:22px;padding:24px}.contact-section .phone{margin-top:20px}.contact-section{padding-top:48px;padding-bottom:48px}}
/* Dissolve the portrait bases into the section without softening faces or captions. */
.team figure img{mask-image:linear-gradient(to bottom,#000 0%,#000 79%,#000c 87%,#0005 94%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 79%,#000c 87%,#0005 94%,transparent 100%)}
/* Reserve the photographed wall logo; place the contact cards to its right. */
.contact-section{padding-left:31vw;gap:24px}.contact-copy{flex:1;min-width:0}.contact-actions{flex-basis:280px;flex-shrink:0}
@media(max-width:1100px){.contact-actions{flex-basis:250px}.contact-copy{padding:28px}}
@media(max-width:850px){.contact-section{padding-left:31vw;grid-template-columns:1fr;gap:22px}.contact-actions{margin-top:0}.contact-copy{max-width:none}}
@media(max-width:600px){.contact-section{padding:292px 6vw 40px;background:var(--photo-blue)}.contact-photo{height:260px;object-position:left center}.contact-overlay{height:260px}.contact-copy{padding:28px 22px}.contact-actions{margin-top:22px}}
.person-link>img,.links-people-preview img{object-fit:cover;object-position:center top}
/* The same two fine protection curves as Automóvel, behind the entire hero foreground. */
.hero{isolation:isolate}.hero-visual{isolation:auto;z-index:auto}.hero-office,.hero-veil{z-index:0}.hero>.protection-line{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;color:var(--orange);opacity:.8}.hero>.protection-line path{stroke:currentColor;stroke-width:1.3;stroke-dasharray:1;stroke-dashoffset:0;vector-effect:non-scaling-stroke;animation:none}.hero>.protection-line path+path{stroke-width:.8;opacity:.3}.hero-copy,.hero-elaine{z-index:2}.hero-elaine{pointer-events:none}
/* One centered contact card, retaining clearance for the photographed wall logo. */
.contact-section{display:flex;justify-content:center}.contact-card{position:relative;z-index:1;width:min(100%,850px);padding:38px 42px;background:#0a2031f2;border:1px solid #ffffff24;border-radius:12px;box-shadow:0 12px 32px #00131f26;text-align:center}.contact-card .contact-copy,.contact-card .contact-actions{max-width:none;padding:0;border:0;border-radius:0;background:none;box-shadow:none}.contact-card h2,.contact-card p{margin-left:auto;margin-right:auto}.contact-card p{max-width:620px;margin-top:22px}.contact-card .contact-actions{margin-top:28px;text-align:center}.contact-card .phone{margin-top:18px}.contact-card .button{min-width:230px}
@media(max-width:850px){.contact-section{display:flex}.contact-card{padding:32px 28px}}
@media(max-width:600px){.contact-card{padding:30px 22px}.contact-card h2{font-size:31px}.contact-card .contact-actions{margin-top:26px}.contact-card .button{min-width:0;width:100%}}

/* Keep the mobile brand centered on the viewport, independent of the menu. */
@media(max-width:850px){.header{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;column-gap:8px}.header>.brand{grid-column:2;grid-row:1;justify-self:center;width:min(255px,100%);margin:0}.header>.menu-toggle{grid-column:3;grid-row:1;justify-self:end;margin:0}}
@media(max-width:600px){.header>.brand{width:min(210px,100%)}}

@media(max-width:850px){.header>.brand{transform:translateX(-6px)}}
.office-location{font-style:normal;font-size:15px;line-height:1.65}.office-location a{display:grid;gap:7px;max-width:66ch;padding:18px 0}.office-location strong{font:600 17px Manrope,sans-serif}.office-location small{display:flex;align-items:center;gap:9px;font-size:13px}.office-location small svg{width:14px;height:14px}footer>.office-location{margin:0 0 28px;border-top:1px solid #ffffff24;border-bottom:1px solid #ffffff24;color:#d3e1ea}footer>.office-location strong{color:#fff}footer>.office-location small{color:#ffac4c}.office-location a:hover small{text-decoration:underline;text-underline-offset:4px}.links-destinations .office-location{margin-bottom:28px;border-top:1px solid #07385e30;border-bottom:1px solid #07385e30}.links-destinations .office-location small{color:#07385e}@media(max-width:850px){footer>.office-location a{margin:auto}footer>.office-location small{justify-content:center}}@media(max-width:600px){.office-location{font-size:14px}.office-location a{padding:20px 0}}

footer>.office-location{text-align:center}footer>.office-location a{margin-left:auto;margin-right:auto}footer>.office-location small{justify-content:center}

footer .footer-links{justify-content:center;text-align:center}

@media(min-width:851px){.footer-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);align-items:center}.footer-top>.brand{justify-self:start}.footer-top>p{justify-self:center;margin:0;text-align:center}.footer-top>a:last-child{justify-self:end}}
@media(min-width:851px){.contact-section{padding-left:6vw;padding-right:6vw;justify-content:center}.contact-card{width:min(52vw,850px);flex:none}.contact-photo{object-position:left center}}
@media(min-width:601px) and (max-width:850px){.contact-section{padding:292px 6vw 40px}.contact-photo,.contact-overlay{height:260px}.contact-photo{object-position:left center}.contact-card{width:100%}}
.office-location{padding:20px 0}.office-location>strong{display:block;margin-bottom:8px}.office-location>a.office-address{display:block;padding:0;max-width:none}.route-choice{border:0;padding:0;margin:8px 0 0}.route-choice summary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:5px 0;font:500 13px/1.5 Manrope,sans-serif;color:#07385e;list-style:none;cursor:pointer}.route-choice summary::-webkit-details-marker{display:none}.route-choice summary svg{width:12px;height:12px;transition:transform .2s}.route-choice[open] summary svg{transform:rotate(180deg)}.route-choice summary:focus-visible{outline:2px solid #ff8a00;outline-offset:4px}.route-options{padding-top:8px}.route-options>span{display:block;font-size:12px;color:inherit;opacity:.85}.route-options>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.office-location .route-options a{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;min-height:44px;border:1px solid currentColor;border-radius:6px;font:600 13px/1.4 Manrope,sans-serif;max-width:none}.route-options svg{width:13px;height:13px}.office-location .route-options a:hover{background:#ffffff12;text-decoration:underline;text-underline-offset:4px}footer .route-choice summary,.certificate-process .route-choice summary{color:#ffac4c}footer .route-options>div{justify-content:center}footer>.office-location a{margin:0}footer>.office-location .office-address{margin:auto}@media(min-width:1200px){footer .footer-links{flex-wrap:nowrap;gap:clamp(8px,.9vw,16px);font-size:clamp(10px,.8vw,12px)}footer .footer-links a{white-space:nowrap}}@media(max-width:850px){footer .route-options>div{justify-content:center}}@media(prefers-reduced-motion:reduce){.route-choice summary svg{transition:none}}

.route-options svg.route-brand{width:22px;height:22px;flex-shrink:0}.route-options .icon-google{color:#4285f4}.route-options .icon-waze{color:#07385e}footer .route-options .icon-waze,.certificate-process .route-options .icon-waze{color:#6fdaff}
