@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#163840;--navy2:#0d2d35;--sand:#f9f5ed;--off:#fffdf9;--ink:#18363a;--muted:#5a6d70;--orange:#cf7549;--orange-dark:#ac5731;--mint:#e0eee8;--line:#e4e9e5;--font:'DM Sans',Arial,sans-serif;--head:'Manrope','DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--off);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img,svg{max-width:100%}button,a{touch-action:manipulation}.wrap{width:min(1180px,calc(100% - 72px));margin:auto}.skip{position:absolute;left:-9999px;top:0;background:#fff;padding:12px;z-index:100}.skip:focus{left:8px}.ico{width:21px;height:21px;vertical-align:middle;flex-shrink:0}.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:11px;color:var(--orange-dark)}.eyebrow.light{color:#e7ae83}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--head);letter-spacing:-.055em}h1{font-size:clamp(44px,5.2vw,72px);line-height:1.08;font-weight:800}h2{font-size:clamp(30px,3.6vw,48px);line-height:1.16}h3{font-size:21px;line-height:1.3}p{line-height:1.75;color:var(--muted);font-size:15.7px}a:focus-visible,button:focus-visible{outline:3px solid #e5aa7d;outline-offset:4px}.btn{display:inline-flex;gap:13px;align-items:center;justify-content:center;padding:16px 23px;font-size:14px;font-weight:800;border-radius:8px;transition:transform .2s,background .2s,box-shadow .2s;border:1px solid transparent;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn .ico{width:17px;height:17px}.btn-primary{background:var(--orange);color:white;box-shadow:0 12px 22px #cf75492a}.btn-primary:hover{background:var(--orange-dark)}.btn-light{background:#f9f6ef;color:var(--navy)}.btn-outline-light{color:white;border-color:#ffffff70}.btn-quiet{color:var(--navy);border:1px solid #bdcbc7;background:white}.btn-wide{width:100%}.text-link{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:14px;color:var(--orange-dark)}.text-link .ico{width:17px}.section{padding:105px 0}.section.warm,.warm{background:var(--sand)}.section-top{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:37px}.section-top h2{max-width:590px;margin:13px 0 0}.section-top>p{max-width:325px;margin:0}.utility{background:var(--navy2);color:#eff3ef;font-size:11px;font-weight:700}.util-inner{height:34px;display:flex;align-items:center;justify-content:space-between;gap:20px}.util-inner a{display:flex;gap:8px;align-items:center}.util-inner .ico{width:13px;height:13px;color:#e3ad82}.header{background:#fffdf9f5;border-bottom:1px solid #e2e8e6;position:relative;z-index:20}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:86px;gap:26px}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand-mark{width:52px;height:52px;background:var(--navy);display:grid;place-items:center;color:white;border-radius:15px 15px 19px 19px;transform:rotate(-7deg);box-shadow:0 4px 0 #db9270}.brand-mark .ico{width:31px;height:31px;transform:rotate(7deg)}.brand-word{display:flex;flex-direction:column;gap:3px}.brand-word strong{font:800 25px/1 var(--head);letter-spacing:-.08em}.brand-word small{font-weight:800;font-size:9px;letter-spacing:.24em;color:#9c684b}.desktop-nav{display:flex;gap:31px;align-items:center;margin-left:auto}.navlink{font-size:13px;font-weight:700;color:#506467;position:relative;padding:31px 0}.navlink:hover,.navlink.active{color:var(--navy)}.navlink.active:after{content:'';height:3px;position:absolute;bottom:0;left:0;right:0;background:var(--orange)}.nav-actions{display:flex;align-items:center;gap:18px}.language{font-size:12px;font-weight:800;color:var(--orange-dark)}.nav-cta{padding:13px 17px;font-size:12px}.menu-toggle{background:none;border:0;padding:7px;display:none;cursor:pointer}.menu-toggle span{display:block;width:25px;height:2px;background:var(--navy);margin:5px 0;border-radius:3px}.mobile-nav{display:none}.hero{background:radial-gradient(circle at 10% 8%,#fff 0,transparent 33%),linear-gradient(115deg,#fbf7ef,#f4f1e8);overflow:hidden}.hero-grid{min-height:660px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:58px;padding:58px 0 72px}.hero-content{position:relative;z-index:2}.hero h1{margin:22px 0 23px;max-width:635px}.hero h1 em{font-style:normal;color:var(--orange)}.hero-content>p{font-size:17px;line-height:1.85;max-width:525px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin:29px 0 61px}.hero-proof{display:flex;gap:36px;border-top:1px solid #d7dfd9;padding-top:25px}.hero-proof>div{display:flex;flex-direction:column;gap:6px;min-width:95px}.hero-proof strong{font:800 28px/1.1 var(--head);color:var(--navy);letter-spacing:-.045em}.hero-proof strong small{font-size:18px}.hero-proof span{font-size:11px;color:#667876;max-width:115px;line-height:1.5}.hero-art{height:575px;position:relative;isolation:isolate}.hero-image{background-color:#d6c7b3;background-position:center center;background-size:cover;border-radius:220px 220px 26px 26px;position:absolute;inset:9px 0 5px 45px;box-shadow:0 35px 70px #233e361d;overflow:hidden}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#1736403c,transparent 45%)}.hero-art .decor{position:absolute;inset:-20px 0 0 0;width:100%;height:100%;fill:none;stroke:#dbb994;stroke-width:1;z-index:-1;transform:rotate(-4deg)}.hero-stamp{position:absolute;bottom:39px;left:-16px;display:flex;gap:12px;align-items:center;background:white;border-radius:12px;padding:15px 17px;box-shadow:0 16px 38px #1c443530}.hero-stamp>.ico{width:35px;height:35px;color:var(--orange)}.hero-stamp strong{display:block;color:var(--navy);font-size:14px}.hero-stamp span{font-size:11px;color:var(--muted)}.trust-strip{border-top:1px solid #e5e3db;border-bottom:1px solid #e5e8e2;background:white}.trust-items{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:19px 0}.trust-items span{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:800}.trust-items .ico{color:var(--orange-dark);width:17px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.service-card{border:1px solid var(--line);padding:31px 28px 28px;min-height:280px;background:white;position:relative;border-radius:12px;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s}.service-card:hover{transform:translateY(-6px);border-color:#e5ac8a;box-shadow:0 20px 40px #1c393a16}.service-icon{width:52px;height:52px;background:#e7efe9;display:flex;align-items:center;justify-content:center;border-radius:13px;color:var(--navy)}.service-icon .ico{width:26px;height:26px}.service-number{position:absolute;right:28px;top:32px;font-size:11px;color:#adb7b3;font-weight:800}.service-card h3{margin:20px 0 9px}.service-card p{font-size:13px;line-height:1.7;margin:0 0 15px}.card-link{font-size:12px;font-weight:800;color:var(--orange-dark);margin-top:auto;display:flex;gap:9px;align-items:center}.card-link .ico{width:15px;height:15px}.split-story{display:grid;grid-template-columns:1fr 1fr;gap:105px;align-items:center}.story-visual{min-height:505px;border-radius:12px;background:#e1c5aa;position:relative;overflow:hidden}.story-visual img{width:100%;height:505px;object-fit:cover;object-position:center 28%;display:block;filter:saturate(.88)}.story-label{position:absolute;bottom:18px;left:18px;right:18px;padding:15px 20px;background:#fffdf9f4;border-radius:7px;font-size:11px;letter-spacing:.11em;font-weight:800;color:var(--navy)}.story-copy h2{margin:18px 0 20px}.story-copy p{margin-bottom:20px}.story-copy .text-link{margin-top:12px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step{padding:14px 32px 22px;border-left:1px solid #d7e3df}.step:first-child{border-color:var(--orange)}.step b{font:800 42px var(--head);color:var(--orange);letter-spacing:-.08em;opacity:.83}.step h3{margin:22px 0 11px}.step p{font-size:14px;margin:0}.local-banner{background:#204b53;color:#fff;overflow:hidden}.local-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:460px;gap:25px}.local-grid h2{margin:15px 0 18px;max-width:450px}.local-grid p{color:#d8e3df;max-width:410px;margin-bottom:25px}.landscape{align-self:end;display:flex;align-items:end}.landscape svg{width:100%;height:auto;display:block;margin-bottom:-2px}.end-cta{background:#d58054;color:white}.end-grid{min-height:276px;display:flex;align-items:center;justify-content:space-between;gap:40px}.end-cta h2{margin:12px 0 13px;max-width:600px;font-size:clamp(30px,3.4vw,44px)}.end-cta p{color:#fff4e9;margin:0}.end-buttons{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.footer{background:#132e35;color:#d8e0dd;padding:65px 0 25px}.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1.3fr 1fr;gap:45px;padding-bottom:65px}.foot-grid>div:not(:first-child){display:flex;flex-direction:column;gap:15px}.footer .brand-word strong{color:white}.footer .brand-word small{color:#c89173}.footer .brand-mark{background:#295661}.foot-grid p,.foot-grid a{font-size:13px;color:#bacbc8;line-height:1.85;margin:0}.footer-brand p{max-width:300px;margin-top:22px}.foot-grid a:hover{color:white}.foot-grid strong:not(.brand-word strong){font-weight:800;color:white;font-size:13px}.foot-bottom{border-top:1px solid #33545b;padding-top:24px;display:flex;justify-content:space-between;gap:30px;font-size:11px;color:#9fb1ad}.page-heading{position:relative;padding:92px 0 89px;background:radial-gradient(circle at 91% 10%,#e5eee5 0,transparent 32%),#f8f5ee;overflow:hidden}.page-heading h1{font-size:clamp(43px,5.1vw,65px);max-width:790px;margin:19px 0 18px}.page-heading p{max-width:580px;font-size:17px;margin:0}.arc-accent{position:absolute;width:380px;height:380px;border:1px solid #d9c5aa;border-radius:100%;right:-90px;top:24px;opacity:.6}.arc-accent:after{content:'';position:absolute;inset:36px;border:1px solid #d9c5aa;border-radius:100%}.about-story{gap:110px}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.why-grid>div{padding:32px;background:white;border:1px solid var(--line);border-radius:12px}.why-grid .ico{color:var(--orange);width:31px;height:31px}.why-grid h3{margin:20px 0 12px}.why-grid p{margin:0;font-size:14px}.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:20px}.detail-item{display:flex;align-items:flex-start;gap:22px;padding:30px;background:white;border:1px solid var(--line);border-radius:12px}.detail-item h2{font-size:23px;margin:6px 0 9px}.detail-item p{font-size:14px;margin-bottom:12px}.detail-item .service-icon{flex:none}.detail-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:65px;align-items:center}.detail-copy h2{margin:15px 0}.detail-copy p{max-width:580px;margin-bottom:27px}.detail-art{height:350px;border-radius:16px;background:radial-gradient(circle at 75% 20%,#59807d 0,transparent 40%),linear-gradient(130deg,#1c4a53,#0f343d);display:flex;align-items:flex-start;flex-direction:column;justify-content:end;padding:40px;color:white;position:relative;overflow:hidden}.detail-art>.ico{position:absolute;right:-50px;top:-35px;width:315px;height:315px;opacity:.15;stroke-width:1}.detail-art span{font-size:11px;letter-spacing:.13em;position:relative;z-index:1}.detail-art b{font-size:28px;line-height:1.28;letter-spacing:-.05em;font-family:var(--head);margin-top:10px;position:relative;z-index:1}.topic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.topic{border:1px solid var(--line);background:white;padding:26px;border-radius:10px}.topic .ico{color:var(--orange);width:24px;height:24px}.topic h3{font-size:17px;margin:16px 0 12px}.topic p{font-size:13px;margin:0}.info-box{display:flex;justify-content:space-between;align-items:center;gap:25px;background:var(--sand);border-radius:12px;padding:40px}.info-box h2{font-size:31px;margin-bottom:9px}.info-box p{margin:0}.contact-layout{display:grid;grid-template-columns:.93fr 1.07fr;gap:80px}.contact-details h2{max-width:460px;margin:15px 0 38px}.contact-method{display:flex;gap:18px;align-items:flex-start;padding:20px 0;border-bottom:1px solid var(--line)}.contact-method .service-icon{width:45px;height:45px;flex:none;font-weight:800;font-size:22px}.contact-method .service-icon .ico{width:22px}.contact-method strong,.contact-method a{display:block}.contact-method strong{font-size:13px;margin:2px 0 6px}.contact-method a{font-size:15px;color:var(--muted);line-height:1.5}.contact-method a:hover{color:var(--orange-dark)}.hours-box{padding:29px 0}.hours-box p{margin:8px 0}.contact-panel{background:var(--sand);border-radius:15px;overflow:hidden}.contact-map{height:295px;position:relative;background:#e4ece7;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;color:var(--navy);text-align:center}.contact-map>svg{position:absolute;inset:0;width:100%;height:100%;opacity:.9}.map-pin{z-index:1;width:64px;height:64px;background:var(--orange);color:white;display:grid;place-items:center;border-radius:50%;box-shadow:0 0 0 12px #cf75494f,0 6px 18px #0002}.map-pin .ico{width:29px;height:29px}.contact-map>span{z-index:1;margin-top:23px;font-size:25px;font-weight:800;line-height:1.1;background:#fffdf9bb;padding:4px 12px;border-radius:8px}.contact-map small{font-size:12px;color:var(--muted);font-weight:600}.panel-bottom{padding:30px}.panel-bottom h3{margin-bottom:10px}.panel-bottom p{font-size:14px}.quote-layout{display:grid;grid-template-columns:1.07fr .93fr;gap:50px;align-items:start}.quote-card{background:white;border:1px solid var(--line);border-radius:14px;padding:45px;box-shadow:0 20px 50px #1638400c}.quote-card h2{margin:14px 0 16px;font-size:36px}.quote-card>p{font-size:15px}.quote-card>.btn{margin-top:24px}.quote-divider{position:relative;text-align:center;margin:28px 0;color:var(--muted);font-size:12px}.quote-divider:before{content:'';height:1px;background:var(--line);position:absolute;top:50%;left:0;right:0}.quote-divider span{position:relative;background:white;padding:0 15px}.quote-phone{border:1px solid var(--line);display:flex;gap:15px;align-items:center;padding:20px;border-radius:9px;font-size:13px}.quote-phone .ico{color:var(--orange);width:30px;height:30px}.quote-phone strong{display:block;font-size:20px;color:var(--navy);margin-top:3px}.quote-card .small-print{font-size:11px;line-height:1.65;color:#83918e;margin:28px 0 0}.quote-side{background:var(--navy);border-radius:14px;color:white;padding:43px}.quote-side h3{font-size:33px;margin:18px 0 28px}.quote-side ul{list-style:none;padding:0;margin:0}.quote-side li{display:flex;align-items:center;gap:13px;padding:13px 0;border-top:1px solid #43626a;color:#e4ecea;font-weight:600;font-size:14px}.quote-side li .ico{width:20px;height:20px;color:#e5b18b}.quote-side-note{margin-top:32px;padding-top:22px;border-top:1px solid #43626a;color:#b6cfca;font-size:13px;line-height:1.7}
@media(min-width:1300px){.hero-grid{min-height:700px}}@media(max-width:1090px){.wrap{width:min(100% - 48px,1120px)}.desktop-nav{gap:19px}.brand-word strong{font-size:20px}.brand-mark{width:44px;height:44px}.nav-actions{gap:13px}.hero-grid{gap:30px}.hero-art{height:505px}.hero-image{inset:9px 0 5px 10px}.split-story{gap:65px}.contact-layout{gap:38px}}
@media(max-width:840px){.utility{display:none}.desktop-nav,.nav-cta{display:none}.menu-toggle{display:block}.nav-inner{height:76px}.header.open .mobile-nav{display:flex}.mobile-nav{padding:13px 24px 22px;border-top:1px solid var(--line);background:white;flex-direction:column;gap:3px;box-shadow:0 15px 20px #00000012}.mobile-nav a{padding:13px 6px;font-size:14px;font-weight:750}.mobile-nav a:hover,.mobile-nav a.active{color:var(--orange-dark)}.hero-grid{grid-template-columns:1fr;min-height:unset;gap:34px;padding-top:65px}.hero-content h1{max-width:730px}.hero-proof{margin-bottom:0}.hero-actions{margin-bottom:32px}.hero-art{height:480px;max-width:560px;width:100%;justify-self:center}.hero-image{inset:0 20px 0 20px}.hero-stamp{left:0}.section{padding:75px 0}.service-grid{grid-template-columns:repeat(2,1fr)}.split-story{gap:38px}.story-visual,.story-visual img{min-height:430px;height:430px}.step{padding:14px 20px 15px}.end-grid{padding:48px 0;display:block}.end-buttons{justify-content:flex-start;margin-top:25px}.foot-grid{grid-template-columns:repeat(2,1fr);gap:40px}.contact-layout,.quote-layout{grid-template-columns:1fr}.contact-panel{max-width:640px}.detail-hero{gap:25px}.topic-grid{grid-template-columns:repeat(2,1fr)}.about-story{gap:45px}.detail-list{grid-template-columns:1fr}}
@media(max-width:600px){.wrap{width:calc(100% - 34px)}.header .brand-mark{width:41px;height:41px}.brand-word strong{font-size:20px}.brand-word small{font-size:8px}.language{font-size:12px}.nav-actions{gap:10px}h1{font-size:clamp(39px,9.4vw,52px)}.hero-grid{padding:44px 0 40px}.hero h1{margin:15px 0}.hero-content>p{font-size:15.5px}.hero-actions{gap:8px}.hero-actions .btn{flex:1;white-space:normal}.hero-proof{gap:12px;justify-content:space-between}.hero-proof strong{font-size:23px}.hero-proof strong small{font-size:15px}.hero-proof span{font-size:10px}.hero-art{height:390px}.hero-image{inset:0 13px}.hero-stamp{bottom:14px;left:0;padding:13px}.trust-items{display:grid;grid-template-columns:1fr;gap:10px}.section{padding:62px 0}.section-top{display:block;margin-bottom:25px}.section-top h2{margin:12px 0}.section-top>p{margin-top:10px}.service-grid{grid-template-columns:1fr;gap:13px}.service-card{min-height:230px;padding:25px}.service-card h3{margin-top:15px}.split-story{grid-template-columns:1fr;gap:30px}.story-visual,.story-visual img{min-height:380px;height:380px}.steps{grid-template-columns:1fr}.step{border-left:3px solid #dce5df;padding:12px 23px 17px}.step b{font-size:35px}.step h3{margin:12px 0 7px}.local-grid{grid-template-columns:1fr;min-height:unset;padding-top:57px;gap:0}.landscape{margin-top:22px}.end-cta h2{font-size:34px}.end-buttons{display:grid}.foot-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-brand{grid-column:span 2}.foot-bottom{flex-direction:column;gap:8px}.page-heading{padding:66px 0}.page-heading h1{font-size:clamp(37px,9vw,49px)}.page-heading p{font-size:15px}.why-grid,.topic-grid{grid-template-columns:1fr}.detail-hero{grid-template-columns:1fr}.detail-art{height:270px}.detail-item{padding:22px;gap:14px}.detail-item .service-icon{width:44px;height:44px}.info-box{display:block;padding:27px}.info-box .btn{margin-top:20px}.contact-details h2{margin-bottom:25px}.contact-layout{gap:10px}.quote-card,.quote-side{padding:26px}.quote-card h2{font-size:29px}.quote-side h3{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* PHOTO & TRUST COLOR REFRESH — VERSION 2 */
:root{--navy:#163B65;--navy2:#102B4C;--sand:#F0F5FA;--off:#F8FAFD;--ink:#152E4D;--muted:#53667B;--orange:#2469A0;--orange-dark:#175481;--mint:#E7F3F5;--line:#DCE5EE}
body{background:var(--off)}
.utility{background:var(--navy2);color:#f4f8fc}
.util-inner .ico{color:#D5B078}
.header{background:#FFFFFFf8;border-bottom-color:#DFE7F0}
.brand-mark{box-shadow:0 4px 0 #9FC3D2}
.brand-word small{color:#2469A0}
.navlink{color:#465C72}
.navlink:hover,.navlink.active{color:#163B65}
.navlink.active:after{background:#2469A0}
.language,.text-link,.contact-method a:hover{color:#175481}
.eyebrow{color:#175481}
.eyebrow.light{color:#F0D19A}
.btn-primary{background:#2469A0;color:white;box-shadow:0 12px 22px #2469A02b}
.btn-primary:hover{background:#175481}
.btn-quiet{border-color:#C9D7E4;color:#163B65}
.btn-light{background:#fff;color:#163B65}
.btn-outline-light{border-color:#CCDCEB}
.hero{background:radial-gradient(circle at 10% 6%,#FFFFFF 0,transparent 38%),linear-gradient(115deg,#F6FAFE,#EAF1F9)}
.hero-content h1 em{color:#2469A0}
.trust-strip{background:#E7F0F8}
.trust-items .ico{color:#176D78}
.service-card{padding:0 0 25px;overflow:hidden;border-color:#DCE5EE;min-height:390px}
.service-card:hover{border-color:#8AB6D9;box-shadow:0 20px 36px #204a7620}
.service-image{display:block;overflow:hidden;position:relative;width:100%;height:150px;background:#E2EEF7}
.service-image img{height:100%;width:100%;object-fit:cover;display:block;transition:transform .35s}
.service-card:hover .service-image img{transform:scale(1.045)}
.service-card>.service-icon{margin:19px 24px 0;background:#E5F0F8;color:#2469A0}
.service-card>.service-number{top:174px;right:23px}
.service-card h3{padding:0 24px;margin:15px 0 8px}
.service-card p{padding:0 24px}
.service-card .card-link{padding:0 24px;margin-top:auto}
.heritage-band{padding:10px 0 85px;background:var(--off)}
.heritage-card{display:grid;grid-template-columns:1fr 1.08fr;align-items:center;gap:30px;padding:25px 32px 25px 38px;border-radius:16px;background:#EAF1F9;border:1px solid #D8E5F0}
.heritage-card h2{font-size:clamp(24px,2.7vw,35px);margin:10px 0 8px}
.heritage-card p{margin:0;font-size:13px}
.heritage-card .logo-holder{min-height:105px;display:flex;align-items:center;justify-content:center;background:white;border-radius:12px;padding:14px 18px;border:1px solid #D7E1E9}
.heritage-card .logo-holder img{width:100%;height:auto;object-fit:contain;max-height:133px}
.heritage-card .preview-note{font-size:11px;color:#5d6c7b;margin-top:7px}
.local-banner{background:#163B65}
.local-banner .eyebrow.light{color:#E5C38A}
.landscape{overflow:hidden;border-radius:18px 18px 0 0;box-shadow:0 20px 50px #061b2e40;min-height:290px;max-height:390px;background:#A5BACB;align-self:end}
.landscape img{display:block;width:100%;height:345px;object-fit:cover}
.story-visual{background:#D4E4F0}
.story-label{background:#163B65}
.page-heading{background:radial-gradient(circle at 94% 5%,#D9E8F4 0,transparent 31%),#F0F5FA}
.arc-accent,.arc-accent:after{border-color:#ABC8DD}
.detail-art{background:#173B61;isolation:isolate}
.detail-art .detail-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.detail-art:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,32,58,.89),rgba(10,32,58,.34) 70%,rgba(10,32,58,.1));z-index:-1}
.detail-art>.ico{opacity:.36;width:84px;height:84px;right:26px;top:24px}
.detail-art span,.detail-art b{color:white;text-shadow:0 2px 8px #051a2b44}
.topic{overflow:hidden;padding:0 0 23px}
.topic>.ico,.topic>h3,.topic>p{margin-left:22px;margin-right:22px}
.topic>.ico{margin-top:20px;color:#176D78}
.topic .topic-photo{display:block;width:100%;height:135px;object-fit:cover;background:#E1EAF2}
.topic h3{font-size:17px;margin-top:11px}
.topic p{font-size:13px}
.service-intro-image{height:285px;margin:0 0 40px;border-radius:16px;position:relative;overflow:hidden;background:#142f50;display:flex;align-items:end;padding:35px;color:white}
.service-intro-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72}
.service-intro-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#082a4d9e,transparent 100%)}
.service-intro-image span{position:relative;z-index:1;max-width:500px;font:800 27px/1.25 var(--head);letter-spacing:-.04em}
.about-local{display:grid;grid-template-columns:.95fr 1.05fr;gap:36px;align-items:center}
.about-local img.landscape-photo{width:100%;height:265px;object-fit:cover;border-radius:12px}
.about-local .flag-thumb{height:28px;width:44px;object-fit:contain;margin-bottom:12px}
.contact-map{background:#244d75;isolation:isolate;color:white}
.contact-map>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.contact-map:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,38,67,.72),rgba(17,57,89,.18));z-index:-1}
.contact-map>svg{display:none}
.contact-map>span{background:#15395dc9;color:white}
.contact-map small{color:#e6edf2}
.map-pin{background:#2469A0;box-shadow:0 0 0 12px #d4e8f744,0 6px 18px #0002}
.footer{background:#102B4C}
.footer .brand-mark{background:#2469A0}
.footer .brand-word small{color:#b4dbed}
.foot-bottom{border-color:#315273;color:#bac9d8}
.foot-grid p,.foot-grid a{color:#d4e0ed}
.quote-side{background:#163B65}
.quote-side li{border-color:#46688a}
.quote-side li .ico{color:#A8D6D9}
.quote-side-note{border-color:#46688a;color:#dceaf4}
a:focus-visible,button:focus-visible{outline:3px solid #A86914;outline-offset:3px}
@media(max-width:840px){.heritage-card{grid-template-columns:1fr}.about-local{grid-template-columns:1fr}.landscape img{height:300px}}
@media(max-width:600px){.service-card{padding:0 0 23px;min-height:360px}.service-card h3{margin-top:12px}.service-card>.service-number{top:166px}.service-image{height:142px}.heritage-card{padding:25px;gap:19px}.heritage-band{padding:0 0 60px}.service-intro-image{height:210px;padding:22px}.service-intro-image span{font-size:21px}.landscape{min-height:220px}.landscape img{height:230px}.about-local img.landscape-photo{height:220px}}

/* v3: use a natural landscape frame for the real family photo.
   The image is a wide original; the old tall arched crop cut too much away. */
.hero-art{height:460px;isolation:isolate}
.hero-art::before{content:"";position:absolute;inset:30px 0 0 25px;border-radius:25px;background:#DCE9F4;z-index:-1}
.hero-image{
  inset:0 20px 28px 0;
  border-radius:24px;
  background-position:center 43%;
  box-shadow:0 25px 60px rgba(18,53,86,.17)
}
.hero-image::after{background:linear-gradient(0deg,rgba(12,35,65,.22),transparent 42%)}
.hero-art .decor{display:none}
.hero-stamp{bottom:8px;left:-15px}
@media(max-width:1090px){.hero-art{height:420px}.hero-image{inset:0 16px 24px 0}}
@media(max-width:840px){.hero-art{height:425px;max-width:610px}.hero-image{inset:0 18px 26px 0}.hero-stamp{left:0;bottom:5px}}
@media(max-width:600px){.hero-art{height:305px}.hero-image{inset:0 12px 19px 0;border-radius:17px}.hero-art::before{inset:19px 0 0 14px;border-radius:19px}.hero-stamp{bottom:1px;left:0}}


/* Expanded services IA: navigable grouped coverage, exact source photographs */
.dropdown-wrap{position:relative;height:100%;display:flex;align-items:center}
.dropdown-wrap>.navlink{display:inline-flex;align-items:center;gap:5px}
.nav-caret{font-size:17px;line-height:1;transform:translateY(-2px)}
.mega-menu{display:none;position:absolute;top:calc(100% - 8px);left:50%;transform:translateX(-45%);width:min(980px,calc(100vw - 52px));padding:22px;background:#fff;border:1px solid var(--line);box-shadow:0 24px 65px #102b4c25;border-radius:13px;z-index:100}
.dropdown-wrap:hover .mega-menu,.dropdown-wrap:focus-within .mega-menu{display:block}
.mega-head{display:flex;justify-content:space-between;align-items:center;padding:0 5px 14px;margin-bottom:14px;border-bottom:1px solid var(--line);font-size:14px;color:var(--navy)}
.mega-head a{color:#175481;font-size:12px;font-weight:800}
.mega-columns{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.mega-col{display:flex;flex-direction:column;gap:8px}
.mega-col a{font-size:11.5px;color:#53667B;font-weight:600;line-height:1.42}
.mega-col a:hover{color:#175481;text-decoration:underline}
.mega-col .mega-category{font-size:12px;font-weight:800;color:#163B65;margin-bottom:6px}
.mobile-coverages{background:#edf5fb;border-radius:8px;margin:5px 0 10px}
.mobile-coverages summary{padding:11px 14px;cursor:pointer;font-weight:800;color:var(--navy)}
.mobile-submenu{padding:5px 14px 15px;max-height:45vh;overflow-y:auto;display:flex;flex-direction:column;gap:7px}
.mobile-submenu strong{color:var(--navy);border-top:1px solid #d3e4f0;margin-top:10px;padding-top:12px;font-size:12px}
.mobile-submenu a{font-size:12px!important;font-weight:600!important;padding:6px 8px!important;line-height:1.3!important}
.group-pills{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 42px}
.group-pills a{background:#fff;border:1px solid #cfddea;border-radius:50px;padding:10px 17px;color:#163B65;font-size:12px;font-weight:800}
.group-pills a:hover{background:#e7f3fa}
.coverage-group{scroll-margin-top:24px;padding:0 0 75px;margin:0 0 74px;border-bottom:1px solid var(--line)}
.coverage-group:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.coverage-group-heading{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:20px}
.coverage-group-heading h2{font-size:clamp(28px,3vw,39px);margin:8px 0 10px}
.coverage-group-heading p{margin:0;max-width:650px;font-size:14px}
.coverage-intro{display:flex;align-items:center;background:#eaf3f9;border:1px solid #dfeaf2;border-radius:13px;overflow:hidden;margin-bottom:25px;min-height:140px}
.coverage-intro img{width:290px;height:175px;object-fit:cover;display:block}
.coverage-intro p{font-size:17px;font-weight:700;color:#163B65;padding:23px 30px;margin:0;line-height:1.55}
.coverage-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.coverage-card{display:flex;flex-direction:column;background:white;border:1px solid #dce5ee;border-radius:13px;overflow:hidden;min-height:330px;transition:box-shadow .2s,transform .2s;}
.coverage-card:hover{box-shadow:0 20px 44px #1139581d;transform:translateY(-4px)}
.coverage-card:focus-visible{outline:3px solid #a86914;outline-offset:3px}
.coverage-card>img{width:100%;height:166px;object-fit:cover;display:block;background:#e0ebf2}
.coverage-card-body{display:flex;flex-direction:column;gap:8px;padding:18px 21px 19px;flex:1}
.coverage-card-body strong{font:800 18px/1.25 var(--head);color:#163B65;letter-spacing:-.025em}
.coverage-card-body>span{font-size:12.5px;color:#53667B;line-height:1.6}
.coverage-card-body>b{display:flex;gap:7px;align-items:center;margin-top:auto;padding-top:8px;font-size:12px;color:#175481}
.crumbs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:11px;font-weight:700;margin-bottom:27px;color:#526d86}
.crumbs a{color:#175481}
.detail-header{padding:62px 0 66px}
.detail-header h1{max-width:990px;font-size:clamp(42px,4.7vw,64px)}
.detail-actions{display:flex;gap:10px;flex-wrap:wrap}
.coverage-lead-image{position:relative;height:365px;border-radius:15px;overflow:hidden;margin:0;background:#d9e6ee;box-shadow:0 23px 47px #0c2f501d}
.coverage-lead-image img{width:100%;height:100%;object-fit:cover;display:block}
.coverage-lead-image figcaption{position:absolute;bottom:12px;left:12px;right:12px;padding:12px 17px;border-radius:8px;background:#102b4cd9;color:white;font-size:11px;font-weight:800}
.coverage-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.coverage-feature{background:#fff;overflow:hidden;border:1px solid #dce5ee;border-radius:14px}
.coverage-feature>img{display:block;width:100%;height:210px;object-fit:cover;background:#dfe8f0}
.coverage-feature>div{padding:28px}
.feature-index{display:inline-block;color:#175481;font-size:12px;font-weight:800;letter-spacing:.12em;margin-bottom:9px}
.coverage-feature h3{margin:0 0 12px;color:#163B65}
.coverage-feature p{margin:0;font-size:14px;line-height:1.8}
.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px}
.faq-list{border-top:1px solid #cdddea}
.faq-list details{border-bottom:1px solid #cdddea;padding:17px 0}
.faq-list summary{cursor:pointer;color:#163B65;font-size:16px;font-weight:800;line-height:1.6;list-style-position:outside;margin-left:20px}
.faq-list p{margin:11px 0 5px 20px;font-size:14px}
.related-coverages{background:#f7fafd}
@media(min-width:841px){.desktop-nav{gap:25px}.dropdown-wrap:hover:after{content:'';position:absolute;left:-20px;right:-20px;bottom:0;height:18px}}
@media(max-width:1090px){.mega-menu{left:-160px;transform:none;width:min(850px,calc(100vw - 36px))}.mega-columns{gap:12px}.coverage-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:840px){.dropdown-wrap{display:none}.coverage-intro img{width:38%}.faq-layout{grid-template-columns:1fr;gap:25px}}
@media(max-width:600px){.coverage-card-grid,.coverage-feature-grid{grid-template-columns:1fr}.coverage-card{min-height:300px}.coverage-card>img{height:185px}.group-pills{gap:7px}.group-pills a{font-size:11px;padding:8px 11px}.coverage-group{padding-bottom:48px;margin-bottom:48px}.coverage-group-heading{display:block}.coverage-group-heading .text-link{margin-top:10px}.coverage-intro{display:block}.coverage-intro img{width:100%;height:165px}.coverage-intro p{padding:18px;font-size:14px}.coverage-lead-image{height:270px}.coverage-feature>img{height:195px}.coverage-feature>div{padding:22px}.detail-actions{flex-direction:column}.detail-actions .btn{width:100%}}

/* v5: Homepage hero type hierarchy and alignment, English + Spanish only */
.hero-grid {
  grid-template-columns: minmax(0,1.06fr) minmax(0,.94fr);
  gap: clamp(34px,4.1vw,62px);
  min-height: 625px;
  padding: 68px 0 76px;
}
.hero-content {
  max-width: 590px;
  width: 100%;
  text-align: left;
}
.hero-content .eyebrow {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  letter-spacing: .12em;
  line-height: 1.5;
  color: #275C85;
}
.hero-content h1 {
  margin: 18px 0 19px;
  max-width: 590px;
  font-size: clamp(42px,4.55vw,65px);
  font-weight: 800;
  line-height: 1.105;
  letter-spacing: -.053em;
  text-wrap: balance;
}
.hero-content h1 .hero-title-accent {
  color: #2469A0;
}
.hero-content > p {
  max-width: 505px;
  margin: 0;
  font-size: clamp(15.5px,1.2vw,17px);
  line-height: 1.72;
  color: #516776;
}
.hero-actions {
  display: flex;
  align-items: stretch;
  gap: 12px;
  margin: 27px 0 31px;
}
.hero-actions .btn {
  min-height: 52px;
  padding: 14px 20px;
  line-height: 1.3;
  text-align: center;
}
.hero-highlights {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 25px;
  max-width: 505px;
  padding-top: 22px;
  border-top: 1px solid #D6E2EC;
}
.hero-highlights span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #315269;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 700;
}
.hero-highlights span::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex: 0 0 7px;
  background-color: #2469A0;
}
@media (min-width: 1300px) {
 .hero-grid { min-height: 650px; }
}
@media (max-width: 1090px) {
 .hero-grid { gap: 32px; }
 .hero-content h1 { font-size: clamp(40px,4.3vw,54px); }
}
@media (max-width: 840px) {
 .hero-grid { grid-template-columns: 1fr; min-height: unset; gap: 34px; padding: 57px 0 54px; }
 .hero-content { max-width: 710px; }
 .hero-content h1 { max-width: 710px; font-size: clamp(43px,6vw,60px); }
 .hero-actions { margin: 24px 0 26px; }
 .hero-highlights { max-width: 600px; }
}
@media (max-width: 600px) {
 .hero-grid { padding: 40px 0 45px; gap: 29px; }
 .hero-content .eyebrow { font-size: 10px; letter-spacing: .09em; }
 .hero-content h1 { margin: 14px 0 17px; font-size: clamp(38px,9.5vw,50px); line-height: 1.13; }
 .hero-content > p { font-size: 15px; line-height: 1.7; }
 .hero-actions { gap: 10px; margin: 23px 0 23px; }
 .hero-actions .btn { flex: 1; padding: 13px 11px; min-height: 51px; font-size: 13px; }
 .hero-highlights { padding-top: 18px; gap: 8px 22px; }
 .hero-highlights span { font-size: 11.5px; }
}
@media (max-width: 390px) {
 .hero-actions { flex-direction: column; }
 .hero-actions .btn { width: 100%; }
}

/* Homepage agency introduction — refined Jose Perez portrait, October 2026. */
.home-story {
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: clamp(36px, 6vw, 92px);
  align-items: center;
}
.home-story .story-visual {
  width: min(100%, 370px);
  min-height: 0;
  height: auto;
  aspect-ratio: 1 / 1.04;
  margin-inline: auto;
  border-radius: 18px;
  box-shadow: 0 18px 42px rgba(22, 59, 101, .11);
}
.home-story .story-visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center 24%;
  filter: none;
}
.home-story .story-copy { max-width: 570px; }
.home-story .story-label {
  bottom: 14px;
  left: 14px;
  right: 14px;
  padding: 12px 15px;
  text-align: center;
  border-radius: 7px;
  letter-spacing: .08em;
}
@media (max-width: 720px) {
  .home-story { grid-template-columns: 1fr; gap: 33px; }
  .home-story .story-visual { width: min(100%, 340px); }
  .home-story .story-copy { max-width: 580px; }
}
@media (max-width: 420px) {
  .home-story .story-visual { width: min(100%, 312px); }
  .home-story { gap: 29px; }
}

/* Jose's founder nameplate: clear contrast and balanced typography. */
.home-story .story-label {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-height: 68px;
  padding: 10px 16px;
  background: #163B65;
  color: #FFFFFF;
  text-align: center;
  line-height: 1.32;
  letter-spacing: 0;
  box-shadow: 0 8px 18px rgba(10, 37, 72, .14);
}
.home-story .story-label strong {
  color: #FFFFFF;
  font-size: clamp(15px, 1.5vw, 17px);
  font-weight: 800;
  letter-spacing: .005em;
}
.home-story .story-label span {
  color: #EAF3FB;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .02em;
}

/* Carrier logos: preserve the original provider graphic and add the six
   existing-site carrier marks as responsive individual tiles. */
.heritage-card .logo-holder.carrier-logos {
  display:flex;
  flex-direction:column;
  gap:16px;
  align-items:stretch;
  justify-content:center;
  min-height:0;
  padding:18px;
}
.carrier-logo-original {display:flex;justify-content:center;align-items:center;padding:0 8px 13px;border-bottom:1px solid #e4ebf2}
.heritage-card .carrier-logo-original img {width:100%;max-width:550px;height:auto;max-height:155px;object-fit:contain}
.additional-carriers {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.carrier-logo {height:88px;display:flex;align-items:center;justify-content:center;min-width:0;background:#fff;border:1px solid #e8edf2;border-radius:9px;padding:11px 8px}
.heritage-card .carrier-logo img {width:100%;height:100%;max-height:69px;object-fit:contain;display:block}
@media(max-width:600px){
  .heritage-card .logo-holder.carrier-logos{padding:11px;gap:13px}
  .additional-carriers{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .carrier-logo{height:84px;padding:9px 8px}
}


/* Version 10 — full-bleed photo heroes for main insurance service pages.
   Images from the agency's original Wix Media Manager are decorative to their matching page headings. */
.has-coverage-hero .coverage-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  overflow: hidden;
  min-height: 485px;
  padding: 88px 0 90px;
  background: #173759;
}
.has-coverage-hero .coverage-hero-photo {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--hero-position, center);
  transform: scale(1.012);
}
.has-coverage-hero .coverage-hero-shade {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg,
    rgba(8,26,48,.96) 0%,
    rgba(11,35,61,.89) 28%,
    rgba(13,39,65,.70) 53%,
    rgba(13,39,65,.26) 81%,
    rgba(13,39,65,.16) 100%),
    linear-gradient(0deg,rgba(6,21,40,.30),rgba(6,21,40,.05) 60%);
}
.has-coverage-hero .coverage-hero-inner {
  position: relative;
  z-index: 2;
  width: min(100% - 80px,1120px);
  margin-inline: auto;
}
.has-coverage-hero .coverage-hero .eyebrow {
  display: inline-block;
  color: #DFEAF3;
  font-weight: 800;
  letter-spacing: .17em;
  text-shadow: 0 1px 9px rgba(0,0,0,.15);
}
.has-coverage-hero .coverage-hero h1 {
  max-width: 690px;
  margin: 18px 0;
  color: #FFFFFF;
  font-size: clamp(42px,5vw,69px);
  line-height: 1.11;
  letter-spacing: -.047em;
  text-wrap: balance;
  text-shadow: 0 2px 16px rgba(0,0,0,.16);
}
.has-coverage-hero .coverage-hero p {
  max-width: 615px;
  margin: 0;
  color: #EFF5FB;
  font-size: clamp(16px,1.65vw,19px);
  line-height: 1.7;
  text-shadow: 0 1px 12px rgba(0,0,0,.28);
}
.has-coverage-hero .coverage-hero-cta {
  display: inline-flex;
  margin-top: 27px;
  padding: 14px 25px;
  border: 1px solid #FFFFFF;
  border-radius: 8px;
  background: #FFFFFF;
  color: #163B65;
  font-weight: 800;
  box-shadow: 0 5px 20px rgba(0,0,0,.15);
}
.has-coverage-hero .coverage-hero-cta:hover,
.has-coverage-hero .coverage-hero-cta:focus-visible {
  background: #E9F3FA;
  border-color: #E9F3FA;
  color: #102B4C;
}
.has-coverage-hero .detail-art {
  min-height: 280px;
  height: 305px;
  background: radial-gradient(circle at 80% 0%,#2F698D 0,transparent 45%),linear-gradient(140deg,#163B65,#102B4C);
}
.has-coverage-hero .detail-art:after {display:none}
.has-coverage-hero .detail-art > .ico {opacity:.16;right:0;top:0;width:190px;height:190px}
@media (max-width: 840px) {
  .has-coverage-hero .coverage-hero {min-height:425px;padding:78px 0 80px}
  .has-coverage-hero .coverage-hero-inner {width:calc(100% - 48px)}
  .has-coverage-hero .coverage-hero h1 {max-width:620px;font-size:clamp(39px,6.4vw,57px)}
  .has-coverage-hero .coverage-hero-shade {
    background: linear-gradient(90deg,rgba(8,26,48,.95),rgba(10,32,56,.83) 50%,rgba(10,32,56,.40)),
    linear-gradient(0deg,rgba(6,21,40,.22),transparent);
  }
}
@media (max-width:600px) {
  .has-coverage-hero .coverage-hero {min-height:450px;padding:62px 0 67px}
  .has-coverage-hero .coverage-hero-inner {width:calc(100% - 34px)}
  .has-coverage-hero .coverage-hero h1 {font-size:clamp(35px,9.3vw,45px);line-height:1.13;max-width:100%;margin:16px 0}
  .has-coverage-hero .coverage-hero p {font-size:15.5px;line-height:1.64}
  .has-coverage-hero .coverage-hero .eyebrow {font-size:10px}
  .has-coverage-hero .coverage-hero-shade {
    background: linear-gradient(90deg,rgba(8,26,48,.92),rgba(10,32,56,.72)),
    linear-gradient(0deg,rgba(6,21,40,.35),transparent);
  }
  .has-coverage-hero .coverage-hero-cta {margin-top:24px}
}


/* v11 — streamlined navigation: tasteful plus/minus indicators; no dropdown arrows. */
.dropdown-wrap > .navlink { gap: 10px; }
.dropdown-wrap .nav-caret {
  width: 23px; height: 23px;
  border-radius: 7px;
  background: #edf4f8;
  border: 1px solid #d5e6f0;
  position: relative;
  display: inline-block;
  flex: none;
  font-size: 0;
  transform: none;
  transition: background-color .18s ease, border-color .18s ease;
}
.dropdown-wrap .nav-caret::before,
.dropdown-wrap .nav-caret::after {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  width: 9px; height: 1.7px;
  border-radius: 3px;
  background: #2469a0;
  transform: translate(-50%, -50%);
  transition: transform .18s ease, opacity .18s ease;
}
.dropdown-wrap .nav-caret::after { transform: translate(-50%, -50%) rotate(90deg); }
.dropdown-wrap:hover .nav-caret,
.dropdown-wrap:focus-within .nav-caret { background: #e1eff8; border-color: #b8d7e8; }
.dropdown-wrap:hover .nav-caret::after,
.dropdown-wrap:focus-within .nav-caret::after { transform: translate(-50%, -50%) rotate(0deg); opacity: 0; }

/* Native details remains keyboard-accessible; replace the browser marker with a matching plus. */
.mobile-coverages summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}
.mobile-coverages summary::-webkit-details-marker { display: none; }
.mobile-coverages summary::after {
  content: '+';
  width: 26px; height: 26px;
  border: 1px solid #b8d7e8;
  border-radius: 7px;
  background: #fff;
  color: #2469a0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font: 600 20px/1 'DM Sans', Arial, sans-serif;
  flex: none;
}
.mobile-coverages[open] summary::after { content: '−'; }


/* v12: user-uploaded Family Insurance logo in site header & footer */
.header .nav-inner{height:96px;gap:19px}
.header a.brand{display:flex;align-items:center;flex:0 0 auto;overflow:hidden;min-width:0}
.brand-image-frame{width:230px;height:79px;display:block;flex-shrink:0;position:relative;overflow:hidden}
.brand-logo-img{display:block;width:100%;height:auto;max-width:none;position:relative;top:-13px;object-fit:contain}
.header .desktop-nav{gap:23px}
.footer .footer-logo{background:#fff;border-radius:12px;width:max-content;max-width:100%;padding:0 10px;min-height:81px;display:flex;align-items:center}
.footer .footer-logo .brand-image-frame{width:229px;height:81px}
.footer .footer-logo .brand-logo-img{top:-12px}
@media(max-width:1090px){
  .header .nav-inner{gap:12px;height:85px}
  .header .brand-image-frame{width:184px;height:68px}
  .header .brand-logo-img{top:-10px}
  .header .desktop-nav{gap:15px}
  .header .nav-actions{gap:10px}
  .header .nav-cta{padding:11px 12px}
}
@media(max-width:840px){
  .header .nav-inner{height:80px}
  .header .brand-image-frame{width:218px;height:74px}
  .header .brand-logo-img{top:-13px}
}
@media(max-width:480px){
  .header .brand-image-frame{width:186px;height:68px}
  .header .brand-logo-img{top:-10px}
}
@media(max-width:365px){
  .header .brand-image-frame{width:168px;height:60px}
  .header .brand-logo-img{top:-10px}
}

/* v13 — the new footer-only logo contains its own white breathing room.
   Remove the surrounding white card; leave the header logo unchanged. */
.footer .footer-logo {
  display: block;
  width: fit-content;
  max-width: 100%;
  min-height: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.footer .footer-logo .brand-image-frame {
  width: 255px;
  max-width: 100%;
  height: auto;
  overflow: visible;
}
.footer .footer-logo .brand-logo-img {
  display: block;
  position: static;
  top: auto;
  width: 100%;
  height: auto;
  object-fit: contain;
  border: 0;
  border-radius: 0;
}
@media (max-width: 480px) {
  .footer .footer-logo .brand-image-frame { width: 235px; }
}

/* v14 footer-specific *transparent* artwork; no white matte pixels or white CSS card. */
.footer .footer-logo, .footer .footer-logo .brand-image-frame {
 background: transparent !important;
 border: 0 !important;
 border-radius: 0 !important;
 box-shadow: none !important;
 padding: 0 !important;
}
.footer .footer-logo .brand-image-frame { width: 275px; height: auto; overflow: visible; }
.footer .footer-logo .brand-logo-img { width: 100%; height: auto; top: auto; display: block; }
@media (max-width:480px) { .footer .footer-logo .brand-image-frame { width: 250px; } }

/* VERSION 15 — Warm gold finish for the English/Spanish homepage CTA only. */
.end-cta--gold {
  background: linear-gradient(110deg, #DBB36C 0%, #C89545 100%);
  color: #102B4C;
}
.end-cta--gold .eyebrow.light { color: #193755; }
.end-cta--gold h2 { color: #102B4C; }
.end-cta--gold p { color: #193755; }
.end-cta--gold .btn-light {
  background: #102B4C;
  color: #FFFFFF;
  border-color: #102B4C;
}
.end-cta--gold .btn-light:hover { background: #163B65; }
.end-cta--gold .btn-outline-light {
  color: #102B4C;
  border-color: #102B4C;
  background: transparent;
}
.end-cta--gold .btn-outline-light:hover { background: #FFFFFF35; }

/* Clickable footer identity: clear focus, subtle hover, no added background. */
.footer a.footer-logo{cursor:pointer;transition:opacity .2s ease}
.footer a.footer-logo:hover{opacity:.87}

/* v20 — iOS/Android mobile menu interaction hardening.
   Use one accessible scroll area, not a second nested 45vh scroll region;
   provide full-height tap targets for every coverage destination. */
@media(max-width:840px){
  .header.open .mobile-nav{
    display:flex;
    max-height:75vh; /* fallback for older mobile browser versions */
    max-height:calc(100dvh - 80px);
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
    padding-bottom:26px;
  }
  .mobile-nav>a{
    display:flex;
    align-items:center;
    min-height:44px;
    flex-shrink:0;
  }
  .mobile-coverages{
    flex-shrink:0;
    width:100%;
  }
  .mobile-coverages summary{
    min-height:48px;
    touch-action:manipulation;
  }
  .mobile-submenu{
    max-height:none;
    overflow:visible;
    padding:6px 10px 17px;
    gap:2px;
  }
  .mobile-submenu strong{
    margin-top:12px;
    padding-top:12px;
    padding-bottom:3px;
  }
  .mobile-submenu a{
    display:flex!important;
    align-items:center;
    flex-shrink:0;
    min-height:44px;
    width:100%;
    font-size:13.5px!important;
    font-weight:650!important;
    line-height:1.4!important;
    padding:10px 12px!important;
    border-radius:7px;
    color:#314C65;
    touch-action:manipulation;
  }
  .mobile-submenu a:active,
  .mobile-submenu a:focus-visible{background:#dbeaf7;color:#102B4C;}
}

/* v21: make each primary mobile insurance category a REAL, full-width link.
   The previous category labels were inert <strong> elements above tiny Overview
   links, which caused missed taps and incorrect destinations on phones. */
@media (max-width:840px) {
  .mobile-submenu {
    gap: 0;
    padding: 8px 10px 18px;
  }
  .mobile-submenu a.mobile-service-heading {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 62px;
    padding: 15px 16px !important;
    margin-top: 13px;
    margin-bottom: 4px;
    color: #fff !important;
    background: #163B65;
    border: 2px solid #163B65;
    border-radius: 9px;
    font-size: 16px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
    text-align: left;
    cursor: pointer;
    -webkit-tap-highlight-color: rgba(200,149,69,.28);
    touch-action: manipulation;
  }
  .mobile-submenu a.mobile-service-heading:first-child {
    margin-top: 1px;
  }
  .mobile-submenu a.mobile-service-heading .mobile-service-arrow {
    display: inline-grid;
    place-items: center;
    flex: none;
    width: 31px;
    height: 31px;
    border-radius: 50%;
    background: #C89545;
    color: #102B4C;
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    pointer-events: none;
  }
  .mobile-submenu a.mobile-service-heading:active,
  .mobile-submenu a.mobile-service-heading:focus-visible {
    color: white !important;
    background: #2469A0;
    border-color: #C89545;
    outline-offset: 1px;
  }
  .mobile-submenu a:not(.mobile-service-heading) {
    display: flex !important;
    align-items: center;
    width: 100%;
    min-height: 48px;
    padding: 13px 16px !important;
    border-bottom: 1px solid #D9E6F0;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    color: #304D67;
    touch-action: manipulation;
  }
  .mobile-submenu a:not(.mobile-service-heading):active,
  .mobile-submenu a:not(.mobile-service-heading):focus-visible {
    background: #DBEAF7;
    color: #102B4C;
  }
}

/* v22: Jose-approved original red-and-blue logo, refined crisp artwork. */
.header .brand-image-frame {width:229px;height:auto;overflow:visible;display:block;}
.header .brand-logo-img {width:100%;height:auto;position:static;top:auto;display:block;}
.footer .footer-logo .brand-image-frame {width:214px;height:auto;max-width:100%;overflow:visible;}
.footer .footer-logo .brand-logo-img {width:100%;height:auto;position:static;top:auto;display:block;filter:drop-shadow(0 0 2px rgba(255,255,255,.8)) drop-shadow(0 0 6px rgba(255,255,255,.28));}
@media(max-width:1090px){.header .brand-image-frame{width:190px;height:auto}}
@media(max-width:840px){.header .brand-image-frame{width:216px;height:auto}}
@media(max-width:480px){.header .brand-image-frame{width:184px;height:auto}.footer .footer-logo .brand-image-frame{width:200px}}
@media(max-width:365px){.header .brand-image-frame{width:158px;height:auto}}


/* v24 — a smart, floating/sticky header, visible on upward scroll and hidden on downward scroll.
   Keep the header's natural document space, to avoid jumpy content and tap-target overlays. */
.header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 253, 249, 0.97);
  -webkit-backdrop-filter: saturate(1.1) blur(12px);
  backdrop-filter: saturate(1.1) blur(12px);
  transition: transform 250ms cubic-bezier(.22, 1, .36, 1), box-shadow 250ms ease;
}
.header.nav-scrolled {
  box-shadow: 0 9px 25px rgba(16, 43, 76, .12);
}
.header.nav-hidden:not(.open):not(:focus-within) {
  transform: translate3d(0, calc(-100% - 2px), 0);
  pointer-events: none;
}
/* Tapping the hamburger must never cause the mobile menu to disappear. */
.header.open { transform: translate3d(0,0,0); }
@media (prefers-reduced-motion: reduce) {
  .header { transition: none; }
}

/* EWM FOOTER CREDIT V2 - inline with original bottom footer content */
.ewm-site-credit{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;margin-left:auto;white-space:nowrap;padding:0;border:0;background:transparent}
.ewm-site-credit__label{color:rgba(230,242,236,.72);font-weight:600;font-size:9px;line-height:1.25;font-family:inherit;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;position:relative;top:3px}
.ewm-site-credit__link{display:inline-flex;align-items:center;justify-content:center;border-radius:4px;opacity:.85;transition:opacity .16s ease}
.ewm-site-credit__link:hover{opacity:1}
.ewm-site-credit__link:focus-visible{outline:2px solid #ffd447;outline-offset:4px;opacity:1}
.ewm-site-credit__logo{display:block;width:98px;height:auto;max-height:33px;object-fit:contain}
.site-footer .footer-bottom,.footer .foot-bottom{flex-wrap:wrap;align-items:center}
@media(max-width:650px){.ewm-site-credit{margin-left:auto;align-self:flex-end;gap:6px}.ewm-site-credit__logo{width:92px}}
@media(prefers-reduced-motion:reduce){.ewm-site-credit__link{transition:none}}
