@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap');
:root{--ink:#0c3341;--blue:#075573;--teal:#0b7880;--cream:#f6f2e9;--orange:#f28f3b;--line:#d8dedb;--muted:#6e7c7e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;background:var(--cream);line-height:1.55}a{color:inherit;text-decoration:none}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;border-bottom:1px solid rgba(12,51,65,.12);background:rgba(246,242,233,.94);position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{height:38px;width:38px;border:2px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-family:Fraunces,serif;font-size:24px;font-weight:600}.brand strong{display:block;font-family:Fraunces,serif;font-size:22px;line-height:.9}.brand small{display:block;text-transform:uppercase;letter-spacing:.18em;font-size:8px;font-weight:700;color:var(--teal);margin-top:5px}nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:600}nav a:not(.nav-cta){color:#53676b}nav a:not(.nav-cta):hover{color:var(--orange)}.nav-cta{background:var(--ink);color:#fff;padding:12px 19px;border-radius:4px}.menu-toggle{display:none;background:0;border:0;font-size:22px}.hero{min-height:690px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4vw;padding:70px 9vw 80px;overflow:hidden}.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:700;color:var(--teal);margin:0 0 25px}.hero h1{font:600 clamp(54px,6vw,92px)/.98 Fraunces,serif;letter-spacing:-.04em;max-width:650px;margin:0}.hero h1 em,h2 em{color:var(--orange);font-style:normal}.hero-text{color:var(--muted);font-size:18px;max-width:470px;margin:30px 0}.hero-actions{display:flex;align-items:center;gap:29px}.button{border:0;display:inline-flex;align-items:center;gap:24px;cursor:pointer;font:700 13px 'DM Sans';padding:16px 23px;border-radius:4px}.button-primary{background:var(--orange);color:#1b302f}.button-primary:hover{background:#ffab58;transform:translateY(-2px)}.text-link{font-size:13px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:5px}.text-link span{margin-left:14px;color:var(--orange)}.hero-art{height:530px;position:relative}.sun{position:absolute;width:310px;height:310px;border-radius:50%;background:#dfebdd;top:32px;right:8%}.arch{position:absolute;border:1px solid var(--teal);border-bottom:0;border-radius:180px 180px 0 0}.arch-one{width:310px;height:450px;right:17%;top:26px}.arch-two{width:210px;height:325px;right:28%;top:150px;border-color:var(--orange)}.hero-card{position:absolute;right:4%;bottom:20px;background:#fff;padding:26px 32px;box-shadow:0 22px 55px rgba(12,51,65,.15);min-width:220px}.hero-card span,.hero-card small{display:block;text-transform:uppercase;letter-spacing:.18em;font-size:10px;color:var(--teal);font-weight:700}.hero-card b{font:600 66px/1 Fraunces,serif;display:block;margin:5px 0 9px}.trust-strip{padding:23px 9vw;background:#0b7880;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}.trust-strip p{margin:0;font:500 18px Fraunces,serif}.trust-strip div{display:flex;gap:25px;font-size:10px;letter-spacing:.18em;opacity:.8}.section,.quote-section{padding:115px 9vw}.section-label{color:var(--orange)}h2{font:600 clamp(43px,5vw,68px)/1.03 Fraunces,serif;letter-spacing:-.045em;margin:0}h2 span{color:var(--teal)}.about{background:#fff}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.about-copy{max-width:590px;color:var(--muted);font-size:16px}.about-copy .lead{font:500 28px/1.25 Fraunces,serif;color:var(--ink);margin-top:0}.coverage{background:var(--cream)}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:45px}.section-heading p:last-child{max-width:360px;color:var(--muted);margin:0}.coverage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.coverage-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}.coverage-tab{border:1px solid var(--line);background:transparent;color:var(--ink);padding:12px 17px;font:700 12px 'DM Sans';cursor:default}.coverage-tab.is-active{background:var(--blue);border-color:var(--blue);color:#fff}.coverage-card{min-height:330px;padding:28px;background:#e8e9e2;display:flex;flex-direction:column}.commercial-coverage-grid .coverage-card{min-height:170px;justify-content:flex-end}.icon{font-size:38px;height:76px}.coverage-card h3{font:500 30px/1.02 Fraunces,serif;margin:15px 0}.commercial-coverage-grid .coverage-card h3{margin:0;font-size:24px}.coverage-card p{font-size:13px;color:var(--muted);margin:0}.coverage-card a{font-size:12px;font-weight:700;margin-top:auto}.coverage-card a span{color:var(--orange);margin-left:12px}.coverage-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.coverage-list span{padding:10px 14px;border:1px solid var(--line);font-size:12px;color:var(--muted)}.contact{background:var(--blue);color:#fff}.contact-card{background:var(--teal);padding:65px 7vw;display:grid;grid-template-columns:1.2fr .8fr;gap:70px}.light{color:#b7dbcf}.contact h2{color:#fff}.contact h2 em{color:#f8b66e}.contact p{max-width:430px;color:#d4ebe2;margin-top:27px}.contact-details{display:grid;gap:25px;align-content:center}.contact-details a,.contact-details address{font-style:normal;font-size:18px}.contact-details span{display:block;text-transform:uppercase;letter-spacing:.18em;font-size:10px;color:#a9d8ca;margin-bottom:4px}.quote-section{max-width:1000px;margin:auto}.quote-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:45px}.quote-heading p{max-width:350px;color:var(--muted);margin:0}.quote-section form{background:#fff;padding:42px;box-shadow:0 15px 50px rgba(12,51,65,.08)}label{display:block;font-size:12px;font-weight:700;color:var(--ink);margin-bottom:23px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}input,select,textarea{display:block;width:100%;border:1px solid #ccd4d1;background:#fff;padding:14px 15px;margin-top:8px;font:14px 'DM Sans';color:var(--ink);border-radius:2px}textarea{resize:vertical}.form-message{font-size:13px;font-weight:600;margin:16px 0 0}.success{color:#267457}.error{color:#b24730}footer{background:#062a37;color:#d1e4df;padding:40px 9vw;display:flex;align-items:center;justify-content:space-between;font-size:11px}footer .brand{color:#fff}footer>span{opacity:.7}
@media(max-width:800px){nav{display:none}.menu-toggle{display:block}.site-header{height:70px;padding:0 5vw}.hero{grid-template-columns:1fr;padding:75px 7vw 65px;min-height:0}.hero-art{height:380px}.hero-card{right:0}.sun{width:250px;height:250px}.trust-strip{display:block;padding:24px 7vw}.trust-strip div{margin-top:15px;gap:12px;flex-wrap:wrap}.section,.quote-section{padding:75px 7vw}.about-grid,.contact-card{grid-template-columns:1fr;gap:35px}.section-heading,.quote-heading{display:block}.section-heading p:last-child,.quote-heading p{margin-top:25px}.coverage-grid{grid-template-columns:1fr 1fr}.coverage-card{min-height:270px;padding:22px}.coverage-card h3{font-size:25px}.contact-card{padding:40px 7vw}.form-row{grid-template-columns:1fr;gap:0}footer{display:block;padding:35px 7vw}footer p{margin:22px 0}h2{font-size:48px}}
@media(max-width:450px){.hero h1{font-size:54px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.coverage-grid{grid-template-columns:1fr}.quote-section form{padding:25px 20px}}

/* Supplied logo used in the header and footer. */
.brand img{display:block;width:310px;height:auto;max-height:91px;object-fit:contain}
.brand-name{display:flex;flex-direction:column;gap:5px;margin-left:-58px;color:var(--ink);white-space:nowrap}
.brand-name strong{font:600 29px/1 Fraunces,serif;letter-spacing:-.02em}
.brand-name small{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700;color:var(--teal)}
footer .brand img{width:190px;max-height:58px}
@media(max-width:800px){.brand-name{margin-left:-48px}.brand-name strong{font-size:23px}.brand-name small{font-size:10px}.brand img{width:267px;max-height:78px}.site-header{height:94px}}
@media(max-width:450px){.brand-name{margin-left:-40px;gap:3px}.brand-name strong{font-size:21px}.brand-name small{font-size:9px}.brand img{width:224px;max-height:66px}footer .brand img{width:160px}}

/* Commercial Coverage card decoration and non-navigational selection states. */
.commercial-coverage-grid .coverage-card{min-height:230px;justify-content:flex-end;cursor:default;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
.coverage-card-icon{display:block;margin:auto auto 22px;font:500 clamp(58px,6vw,82px)/.8 Fraunces,serif;color:var(--teal)}

.coverage-card-label{color:var(--teal);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px}

.commercial-coverage-grid .coverage-card:hover{background:#dce9e4;box-shadow:0 16px 30px rgba(12,51,65,.16);transform:translateY(-5px);outline:none}

@media(max-width:800px){.commercial-coverage-grid .coverage-card{min-height:230px}.coverage-card-icon{font-size:64px}}
@media(max-width:450px){.commercial-coverage-grid .coverage-card{min-height:220px}.coverage-card-icon{font-size:58px}}

/* Personal coverage uses the same responsive card treatment as commercial coverage. */
.coverage-tab{cursor:pointer}
.personal-coverage-grid .coverage-card{min-height:230px;justify-content:flex-end;cursor:default;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
.personal-coverage-grid .coverage-card:hover{background:#dce9e4;box-shadow:0 16px 30px rgba(12,51,65,.16);transform:translateY(-5px);outline:none}
@media(max-width:800px){.personal-coverage-grid .coverage-card{min-height:230px}}
@media(max-width:450px){.personal-coverage-grid .coverage-card{min-height:220px}}

/* Keep inactive coverage panels hidden even though coverage grids use display:grid. */
.coverage-grid[hidden]{display:none}
