:root{--navy:#0a2a69;--deep:#09263b;--gold:#f2bb52;--orange:#e47d16;--line:#d8e4f2;--body:#315280;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--navy);background:#fff;font-family:var(--sans);font-size:15px}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ef9a1a;outline-offset:3px}.container{width:calc(100% - 104px);max-width:1340px;margin:auto}.eyebrow{margin:0;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.25px}.orange{color:var(--orange)}.yellow{color:#ffc448}h1,h2,h3,p{margin-top:0}h2{font:700 33px/1.09 var(--serif);letter-spacing:-1.2px;margin:2px 0 8px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:36px;padding:0 17px;border-radius:2px;text-transform:uppercase;font-size:13px;font-weight:700;white-space:nowrap;transition:filter .2s,transform .2s}.button:hover{filter:brightness(1.07);transform:translateY(-1px)}.button span,.text-button span{font-size:20px;font-weight:400}.gold{color:#111a2b;background:linear-gradient(100deg,#f6c75f,#ffe59a 45%,#e6a832);box-shadow:0 5px 13px #92600020}.outline{color:#fff;border:1px solid #cad8e8;background:#092c4840}.text-button{display:inline-flex;justify-content:space-between;align-items:center;gap:12px;color:var(--navy);border:1px solid #f9ad3f;border-radius:2px;padding:0 15px;min-height:36px;text-transform:uppercase;font-weight:700;font-size:13px;white-space:nowrap}
.site-header{height:52px;background:linear-gradient(#fff,#fbfdff);position:relative;z-index:20}.header-inner{max-width:1390px;width:calc(100% - 92px);height:100%;margin:auto;display:flex;align-items:center;gap:19px}.brand{width:246px;flex-shrink:0}.brand img{width:228px;height:49px;object-fit:contain;object-position:left center}.primary-nav{display:flex;align-items:center;gap:23px;white-space:nowrap;margin-left:auto}.primary-nav>a,.dropdown-toggle{font-size:14px;color:var(--navy)}.primary-nav>a.active{font-weight:700;border-bottom:2px solid #ef9d00;padding:5px 0}.nav-dropdown{position:relative}.dropdown-toggle{background:transparent;border:0;padding:10px 0;cursor:pointer}.dropdown-menu{display:none;position:absolute;left:-12px;top:100%;min-width:175px;background:#fff;padding:6px;box-shadow:0 8px 24px #091f3e33}.nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu,.nav-dropdown.open .dropdown-menu{display:grid}.dropdown-menu a{padding:10px;color:var(--navy)}.dropdown-menu a:hover{background:#f3f7fd}.header-cta{min-height:34px;min-width:190px}.header-tagline{border-left:1px solid #b8cee8;padding-left:17px;color:#254476;text-transform:uppercase;letter-spacing:1.1px;line-height:1.06;font-size:14px;min-width:160px}.menu-toggle{display:none}
.hero{height:304px;background:url('../assets/02_ocean_sunrise_background.png') center 55%/cover no-repeat;color:#fff;position:relative}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,37,67,.76) 0%,rgba(11,42,71,.47) 37%,rgba(6,30,58,.04) 67%)}.hero-content{height:100%;position:relative;padding-top:25px}.hero-eyebrow{font-size:14px;letter-spacing:.5px}.hero h1{font:700 42px/.96 var(--serif);text-transform:uppercase;letter-spacing:.15px;margin:4px 0 9px;text-shadow:0 2px 3px #0b315455}.hero h1 span{color:#ffc45b}.hero-description{font-size:16px;line-height:1.36;margin:0 0 15px;color:#fff}.hero-actions{display:flex;gap:13px}.hero-actions .button{min-height:36px}.hero-script{position:absolute;right:-10px;bottom:16px;color:#fff;font:italic 700 23px/.87 Georgia,serif;transform:rotate(-11deg);text-align:center;text-shadow:0 1px 3px #1b2746}.hero-script:after{content:'';display:block;width:80%;height:4px;background:#f7bb35;border-radius:50%;transform:rotate(5deg);margin:8px auto 0}
.trust-strip{height:56px;background:linear-gradient(90deg,#f8fbff,#fff,#f8fbff);border-bottom:1px solid #e0eafa}.trust-grid{height:100%;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:18px}.trust-grid>div{display:flex;align-items:center;gap:12px;text-transform:uppercase;font-size:13px;line-height:1.55}.trust-grid img{width:31px;height:34px;object-fit:contain}
.services{padding:13px 0 10px}.services-intro{display:grid;grid-template-columns:1.75fr 1.16fr auto;align-items:center;gap:13px;margin-bottom:11px}.services-intro h2{white-space:nowrap}.services-intro>p{font-size:14px;line-height:1.55;color:var(--body);padding-left:13px;border-left:1px solid var(--line);margin:5px 0 0}.service-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px}.service-card{height:170px;border:1px solid #dce8f8;padding:8px 16px 11px;position:relative;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}.service-card:hover{box-shadow:0 6px 15px #12325e1b;transform:translateY(-2px)}.service-card img{width:31px;height:32px;object-fit:contain;object-position:left center;margin-bottom:5px}.service-card h3{font-size:17px;line-height:1.16;margin:0 0 5px;text-transform:uppercase}.service-card p{color:var(--body);font-size:14px;line-height:1.2;margin:0}.service-card>span{position:absolute;right:10px;bottom:5px;font-size:24px;color:#ec8c00}
.calculators{background:linear-gradient(120deg,#0a2d47,#082238 55%,#061d30);color:#fff;padding:14px 0 8px}.calculator-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px}.calculator-lead h2{font-size:39px;letter-spacing:-.8px;margin:2px 0 4px;color:#fff}.calculator-lead>p:not(.eyebrow){font-size:15px;line-height:1.4;margin:0 0 8px;max-width:275px}.calculator-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.calculator-card{min-height:144px;border:1px solid #93a4b3;padding:10px 13px 8px;display:flex;flex-direction:column}.calculator-card>div{display:flex;align-items:center;gap:8px}.calculator-card img{width:34px;height:33px;object-fit:contain;filter:brightness(0) invert(1)}.calculator-card h3{font-size:13px;line-height:1.3;text-transform:uppercase;margin:0}.calculator-card p{font-size:14px;line-height:1.4;margin:6px 0;flex:1}.calculator-card a{font-size:13px;text-transform:uppercase;color:#ffc347;font-weight:700;display:flex;justify-content:space-between;align-items:center}.calculator-card a span{font-size:20px;font-weight:400}
.about{min-height:290px;display:grid;grid-template-columns:36.5% 35.5% 28%;padding:5px 26px;gap:0;background:linear-gradient(90deg,#f7fbff,#fff 70%)}.about-photo{height:250px;text-align:center;overflow:hidden}.about-photo img{width:65%;height:100%;object-fit:cover;object-position:center 0%;margin:auto}.about-copy{padding:15px 24px 0}.about-copy h2{font-size:34px;margin:2px 0 5px}.about-copy>p:not(.eyebrow){font-size:15px;color:var(--body);line-height:1.32;margin:0 0 8px}.about-values{border-left:1px solid #bfd3e7;margin:9px 0;padding:0 0 0 20px;display:flex;flex-direction:column;justify-content:space-between}.about-values>div{display:flex;align-items:center;gap:12px}.about-values img{width:34px;height:33px;object-fit:contain}.about-values p{color:var(--body);line-height:1.3;font-size:14px;margin:0}.about-values strong{display:block;color:var(--navy);text-transform:uppercase;font-size:14px;margin-bottom:2px}
.credentials{background:linear-gradient(90deg,#f6faff,#fff,#f6faff);text-align:center;padding:7px 0 8px}.credentials h2{font-size:25px;margin:2px 0 4px}.credentials p:not(.eyebrow){color:var(--body);font-size:14px;margin:0 0 10px}.badge-grid{display:flex;justify-content:space-around;gap:30px;padding:0 20px}.badge-grid img{width:166px;height:122px;object-fit:contain}
.closing{width:100%;max-width:none;display:grid;grid-template-columns:49% 51%;gap:0;padding:8px 0 9px}.faq{padding:5px 22px 0 43px}.faq-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:5px;gap:10px}.faq-heading h2{font-size:25px;margin:1px 0 0}.faq-heading a{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;text-transform:uppercase;white-space:nowrap}.faq-heading a span{font-size:20px;font-weight:400}.faq-items details{border:1px solid #d0dff0;margin-bottom:2px;min-height:23px;background:#fff}.faq-items summary{list-style:none;cursor:pointer;font-size:14px;font-weight:600;padding:4px 30px 4px 12px;position:relative}.faq-items summary::-webkit-details-marker{display:none}.faq-items summary:after{content:'+';font-size:22px;line-height:13px;position:absolute;right:12px;top:4px;font-weight:700}.faq-items details[open] summary:after{content:'−'}.faq-items details p{padding:0 12px 9px;color:var(--body);font-size:14px;line-height:1.4;margin:0}.contact-panel{min-height:178px;color:#fff;background:linear-gradient(90deg,#082338 0%,#0a2944ce 45%,#08233813 100%),url('../assets/02_ocean_sunrise_background.png') 75% 54%/cover no-repeat;display:grid;grid-template-columns:55% 45%;align-items:center;padding:18px 22px}.contact-copy{padding-right:21px}.contact-copy h2{color:#fff;font-size:33px;margin:4px 0 7px}.contact-copy>p:not(.eyebrow){line-height:1.4;font-size:15px;margin:0 0 12px}.contact-copy .button{min-width:147px}.contact-details{border-left:1px solid #afc3d4;padding:12px 0 12px 20px;display:flex;flex-direction:column;gap:14px;font-style:normal;font-size:15px}.contact-details>a,.contact-details>div{display:flex;align-items:center;gap:12px;white-space:nowrap}.contact-details img{width:25px;height:24px;object-fit:contain;filter:brightness(0) invert(1)}
.footer{background:linear-gradient(90deg,#f7fbff,#fff,#f8fbff);padding-top:5px}.footer-top{height:54px;border-bottom:1px solid #d5e3f5;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-top>a img{width:230px;height:51px;object-fit:contain;object-position:left}.footer-top nav{display:flex;gap:22px;font-size:14px;white-space:nowrap}.footer-top nav a:first-child{font-weight:700;text-decoration:underline;text-decoration-color:#ed9c00;text-underline-offset:5px}.footer-top p{text-transform:uppercase;font-size:13px;letter-spacing:.3px;margin:0;white-space:nowrap}.footer-bottom{height:40px;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#26487a}.footer-bottom>div{display:flex;gap:14px}
@media(max-width:1200px){.header-inner{gap:9px}.brand{width:228px}.primary-nav{gap:11px}.header-cta{min-width:180px;padding:0 12px}.header-tagline{min-width:143px;padding-left:12px;font-size:13px}.calculator-grid{grid-template-columns:300px minmax(0,1fr)}}
@media(max-width:980px){.container{width:calc(100% - 64px)}.header-inner{width:calc(100% - 44px);gap:11px}.brand{width:190px}.brand img{width:190px}.primary-nav{gap:12px}.header-cta{min-width:155px;padding:0 9px;font-size:12px}.header-tagline{display:none}.services-intro{grid-template-columns:1fr auto}.services-intro>p{grid-row:2;grid-column:1 / -1;padding:0;border:0;margin:0}.service-grid{grid-template-columns:repeat(3,1fr)}.service-card{min-height:170px;height:auto}.calculator-grid{grid-template-columns:1fr}.calculator-lead{display:grid;grid-template-columns:1fr auto;align-items:end}.calculator-lead .eyebrow,.calculator-lead h2,.calculator-lead>p:not(.eyebrow){grid-column:1}.calculator-lead .button{grid-column:2;grid-row:2 / 4}.calculator-cards{margin-bottom:5px}.about{grid-template-columns:37% 63%;padding:10px 24px}.about-photo{height:250px}.about-values{grid-column:1 / -1;flex-direction:row;gap:10px;border:0;border-top:1px solid var(--line);padding:12px 0 0;margin:11px 0 0}.about-values>div{flex:1}.badge-grid{gap:10px}.badge-grid img{width:22%}.closing{grid-template-columns:1fr 1fr}.faq{padding-left:25px}.contact-panel{grid-template-columns:1fr}.contact-details{border:0;border-top:1px solid #afc3d4;padding:10px 0 0;gap:7px}.footer-top p{display:none}}
@media(max-width:700px){body{font-size:17px}.container{width:calc(100% - 36px)}.site-header{height:66px}.header-inner{width:calc(100% - 36px);justify-content:space-between}.brand{width:220px}.brand img{width:215px;height:60px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:8px;background:#fff;border:1px solid var(--line);cursor:pointer}.menu-toggle span{width:100%;height:2px;background:var(--navy)}.primary-nav{display:none;position:absolute;left:0;right:0;top:66px;background:#fff;box-shadow:0 12px 20px #09223830;flex-direction:column;align-items:stretch;gap:0;padding:12px 18px}.primary-nav.open{display:flex}.primary-nav>a,.dropdown-toggle{padding:12px 0;font-size:18px;text-align:left}.nav-dropdown:hover .dropdown-menu{display:none}.nav-dropdown.open .dropdown-menu{display:grid}.dropdown-menu{position:static;box-shadow:none;padding:0 0 0 12px}.header-cta,.header-tagline{display:none}.hero{height:auto;min-height:520px;background-position:66% center}.hero-shade{background:linear-gradient(90deg,#0a315fc9,#0a315f89 58%,#0a315f31)}.hero-content{padding:64px 0 95px}.hero-eyebrow{font-size:13px;line-height:1.5}.hero h1{font-size:clamp(39px,9vw,59px);line-height:1.02;margin:13px 0 15px}.hero-description{font-size:17px;max-width:390px}.desktop-break{display:none}.hero-actions{flex-wrap:wrap}.hero-script{font-size:19px;right:8px;bottom:12px}.trust-strip{height:auto}.trust-grid{grid-template-columns:repeat(2,1fr);gap:14px;padding:17px 0}.trust-grid>div{font-size:13px}.services{padding:30px 0}.services-intro{display:flex;flex-wrap:wrap;align-items:flex-start;gap:4px 12px}.services-intro>div{width:100%}.services-intro h2{white-space:normal}.services-intro>p{font-size:16px;margin:0 0 8px}.services-intro .text-button{margin-bottom:8px}.service-grid{grid-template-columns:repeat(2,1fr);gap:10px}.service-card{min-height:197px;padding:13px}.service-card h3{font-size:16px}.service-card p{font-size:15px}.calculators{padding:30px 0}.calculator-lead{display:block}.calculator-lead h2{font-size:37px}.calculator-lead>p:not(.eyebrow){font-size:17px;max-width:440px;margin-bottom:13px}.calculator-cards{grid-template-columns:repeat(2,1fr);margin-top:20px}.calculator-card{min-height:188px}.calculator-card p{font-size:15px}.about{display:block;min-height:0;padding:22px 18px}.about-photo{height:250px;aspect-ratio:auto;max-height:none}.about-copy{padding:25px 0 5px}.about-copy>p:not(.eyebrow){font-size:17px;line-height:1.5}.about-values{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 10px}.credentials{padding:26px 0}.credentials p:not(.eyebrow){font-size:16px;line-height:1.5}.badge-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0}.badge-grid img{width:100%;height:140px}.closing{display:block;padding:0;width:100%}.faq{padding:28px 18px}.faq-heading{align-items:flex-start}.faq-heading a{margin-top:12px}.faq-items summary{font-size:16px;padding:9px 30px 9px 12px}.faq-items summary:after{top:9px}.faq-items details p{font-size:16px}.contact-panel{min-height:300px;padding:30px 18px}.contact-copy>p:not(.eyebrow){font-size:17px}.contact-details{font-size:16px;margin-top:20px}.footer{padding:20px 0}.footer-top{height:auto;display:block;padding-bottom:18px}.footer-top>a img{width:220px}.footer-top nav{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:15px;font-size:16px}.footer-bottom{height:auto;display:flex;align-items:flex-start;gap:12px;flex-direction:column;padding-top:15px;font-size:14px}}
@media(max-width:410px){.hero h1{font-size:38px}.hero-actions .button{font-size:12px;padding:0 11px}.trust-grid>div{gap:7px}.trust-grid img{width:28px}.service-card{min-height:215px}.calculator-card{padding:10px}.calculator-card img{width:27px}.calculator-card h3{font-size:12px}.about-values{grid-template-columns:1fr}.badge-grid img{height:125px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.calculator-dialog{width:min(450px,calc(100% - 32px));border:1px solid #cbdbea;border-radius:4px;box-shadow:0 18px 55px #061c3855;padding:26px;color:var(--navy)}.calculator-dialog::backdrop{background:#04162ab0}.calculator-dialog h2{padding-right:25px}.dialog-close{position:absolute;right:13px;top:10px;font-size:30px;border:0;background:transparent;color:var(--navy);cursor:pointer}.calculator-dialog form{display:grid;gap:12px}.calculator-dialog label{display:grid;gap:5px;font-size:16px;font-weight:700}.calculator-dialog input{border:1px solid #aabed7;border-radius:2px;padding:10px;font:inherit;font-size:18px;width:100%}.calculator-dialog button[type=submit]{border:0;background:var(--gold);padding:11px;font-weight:700;text-transform:uppercase;cursor:pointer}.calculator-result{font-size:21px;font-weight:700;margin:3px 0}.calculator-disclaimer{font-size:14px;color:var(--body);line-height:1.4;margin:15px 0 0}

/* Accommodate source copy and the verified contact address. */
.hero-description{max-width:490px}.service-card{height:220px}.calculator-card{min-height:208px}.contact-panel{min-height:240px}.contact-details>a,.contact-details>div{white-space:normal;overflow-wrap:anywhere}.faq-heading h2{font-size:23px}
@media(max-width:700px){.service-card{height:auto;min-height:225px}.calculator-card{min-height:220px}.hero-description{max-width:380px}}

.calculator-intro{padding:28px 0}.calculator-summary{display:grid;grid-template-columns:34% 1fr;align-items:center;gap:28px}.calculator-summary h2{font-size:37px;color:#fff;max-width:340px;margin:5px 0 0}.calculator-summary-copy{border-left:1px solid #92a7bb;padding-left:30px}.calculator-summary-copy p{font-size:16px;line-height:1.48;margin:0 0 10px}.calculator-summary-copy p:last-child{margin-bottom:0}@media(max-width:700px){.calculator-summary{display:block}.calculator-summary h2{max-width:none}.calculator-summary-copy{border-left:0;border-top:1px solid #92a7bb;padding:17px 0 0;margin-top:17px}}

/* The six services are grouped once across two complementary sections. */
.financial-service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.financial-service-grid .service-card{height:215px;padding:19px 22px}
.financial-service-grid .service-card img{width:39px;height:41px;margin-bottom:10px}
.financial-service-grid .service-card h3{font-size:20px;margin-bottom:10px}
.financial-service-grid .service-card p{font-size:16px;line-height:1.45;max-width:350px}
.document-services{padding:25px 0}
.document-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:stretch}
.document-lead h2{color:#fff;font-size:34px;margin:5px 0 8px}
.document-lead p:not(.eyebrow){font-size:15px;line-height:1.5;margin-bottom:14px}
.document-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.document-card{border:1px solid #93a4b3;padding:15px 13px 11px;color:#fff;display:flex;flex-direction:column;min-height:215px;transition:background .2s}
.document-card:hover{background:#ffffff12}
.document-card img{width:35px;height:36px;object-fit:contain;filter:brightness(0) invert(1);margin-bottom:8px}
.document-card h3{font-size:16px;text-transform:uppercase;line-height:1.2;margin:0 0 8px}
.document-card p{font-size:14px;line-height:1.4;flex:1;margin:0 0 11px}
.document-card>span{display:flex;justify-content:space-between;align-items:center;color:#ffc347;font-size:13px;font-weight:700;text-transform:uppercase}
.document-card b{font-size:20px;font-weight:400}
@media(max-width:980px){.document-grid{grid-template-columns:1fr}.document-lead{display:grid;grid-template-columns:1fr auto;column-gap:15px}.document-lead .eyebrow,.document-lead h2,.document-lead p:not(.eyebrow){grid-column:1}.document-lead .button{grid-column:2;grid-row:2 / 4;align-self:center}.document-card{min-height:220px}}
@media(max-width:700px){.financial-service-grid{grid-template-columns:1fr;gap:12px}.financial-service-grid .service-card{height:auto;min-height:185px}.document-services{padding:28px 0}.document-lead{display:block}.document-lead h2{font-size:33px}.document-cards{grid-template-columns:1fr;gap:12px;margin-top:20px}.document-card{min-height:0;padding:18px}.document-card p{font-size:16px;line-height:1.5}.document-card h3{font-size:18px}}

.about-copy>p:not(.eyebrow){line-height:1.45;margin-bottom:11px}
@media(max-width:980px){.about{min-height:0}}

/* Readable FAQ typography at every viewport. */
.faq{padding-top:19px;padding-bottom:19px}.faq-heading h2{font-size:27px;line-height:1.18}.faq-items details{margin-bottom:5px}.faq-items summary{font-size:17px;line-height:1.4;padding:9px 34px 9px 12px}.faq-items summary:after{top:10px}.faq-items details p{font-size:16px;line-height:1.5;padding:1px 12px 11px}@media(max-width:700px){.faq{padding:28px 18px}.faq-items summary{font-size:18px}.faq-items details p{font-size:17px}}

/* Full-width FAQ and contact form with the contact details on the left. */
.closing{display:block;width:100%;max-width:none;padding:0}
.faq{max-width:1340px;margin:auto;padding:32px 52px 36px}
.faq-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 16px}
.faq-items details{align-self:start}
.contact-panel{width:100%;min-height:0;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);gap:42px;align-items:start;padding:42px max(52px,calc((100vw - 1340px)/2));background:linear-gradient(90deg,#071d30f5,#082941df 56%,#08243bd7),url('../assets/02_ocean_sunrise_background.png') center 55%/cover no-repeat}
.contact-details{order:1;border:0;border-right:1px solid #9aadc0;padding:6px 28px 6px 0;margin:0;gap:23px;font-size:18px;line-height:1.45}
.contact-details .eyebrow{margin:0;color:#ffc448;font-size:15px}
.contact-details h2{font-size:35px;color:#fff;margin:-16px 0 4px}
.contact-details>a,.contact-details>div{gap:15px;align-items:flex-start;white-space:normal}
.contact-details img{flex:none;width:28px;height:28px}
.contact-details strong{font-size:16px;text-transform:uppercase}
.contact-copy{order:2;padding:0;max-width:700px}
.contact-copy h2{font-size:34px;line-height:1.12;margin:0 0 9px}
.contact-copy>p:not(.eyebrow){font-size:16px;line-height:1.45;margin:0 0 20px}
.contact-form{display:grid;gap:13px}
.contact-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.contact-form label{display:flex;flex-direction:column;gap:6px;color:#fff;font-size:15px;font-weight:700}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #b2c4d2;background:#ffffffef;color:#102c4b;border-radius:2px;font:17px/1.4 Arial,Helvetica,sans-serif;padding:11px 13px;outline-offset:2px}
.contact-form input,.contact-form select{height:45px}
.contact-form textarea{min-height:105px;resize:vertical}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid #ffc347;border-color:#ffc347}
.contact-form ::placeholder{color:#607085;opacity:1}
.contact-submit{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:2px}
.contact-submit .button{border:0;cursor:pointer;min-width:150px}
.contact-submit p{font-size:14px;line-height:1.4;color:#e5edf5;margin:0}
@media(max-width:980px){.faq{padding:28px 32px}.contact-panel{gap:25px;padding:35px 32px;grid-template-columns:minmax(225px,.8fr) minmax(0,1.2fr)}.contact-details{font-size:16px;padding-right:20px}.contact-copy h2{font-size:30px}}
@media(max-width:700px){.faq{padding:28px 18px}.faq-items{grid-template-columns:1fr}.contact-panel{display:flex;flex-direction:column;gap:25px;padding:30px 18px}.contact-details{border:0;border-bottom:1px solid #9aadc0;padding:0 0 22px;width:100%;gap:16px}.contact-details h2{margin:-12px 0 2px}.contact-copy{width:100%}.contact-form-row{grid-template-columns:1fr}}

/* Form left, business details right. */
.contact-panel{grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr)}.contact-copy{order:1}.contact-details{order:2;border-right:0;border-left:1px solid #9aadc0;padding:6px 0 6px 28px}@media(max-width:980px){.contact-panel{grid-template-columns:minmax(0,1.2fr) minmax(225px,.8fr)}.contact-details{padding-left:20px}}@media(max-width:700px){.contact-panel{display:flex;flex-direction:column}.contact-details{border-left:0;border-bottom:0;border-top:1px solid #9aadc0;padding:22px 0 0}}

/* Location and social links reuse the site's navy and gold palette. */
.contact-social{display:flex!important;gap:10px!important;align-items:center!important;padding-top:6px}
.contact-social a{width:38px;height:38px;border:1px solid #a9bfd3;display:inline-flex;align-items:center;justify-content:center;color:#fff;border-radius:2px;transition:background .2s,border-color .2s}
.contact-social a:hover,.contact-social a:focus-visible{background:#e6ab3d;color:#09263b;border-color:#e6ab3d}
.contact-social svg{width:21px;height:21px}
.location-section{background:linear-gradient(90deg,#f7fbff,#fff,#f7fbff);padding:28px 0 0}
.location-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}
.location-heading h2{font-size:30px;margin:3px 0 2px}
.location-heading p:not(.eyebrow){font-size:16px;color:var(--body);margin:0}
.map-frame{border-top:3px solid #e8b148;background:#dce6ee}
.map-frame iframe{display:block;width:100%;height:360px;border:0}
@media(max-width:700px){.location-section{padding-top:24px}.location-heading{display:block}.location-heading .text-button{margin-top:14px}.location-heading h2{font-size:26px}.map-frame iframe{height:300px}}

/* Enlarged brand and room for the 2px typography increase. */
.site-header{height:74px}
.header-inner{gap:14px}
.brand{width:300px}
.brand img{width:300px;height:70px}
.hero{height:330px}
.trust-strip{height:68px}
.financial-service-grid .service-card{height:235px}
.document-card{min-height:238px}
.footer-top{height:74px}
.footer-top>a img{width:305px;height:70px}
@media(max-width:1200px){.brand{width:285px}.brand img{width:285px;height:68px}.header-tagline{display:none}.primary-nav{gap:12px}}
@media(max-width:980px){.site-header{height:72px}.header-inner{width:calc(100% - 36px);justify-content:space-between}.brand{width:275px}.brand img{width:275px;height:68px}.header-cta{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:8px;background:#fff;border:1px solid var(--line);cursor:pointer}.menu-toggle span{width:100%;height:2px;background:var(--navy)}.primary-nav{display:none;position:absolute;left:0;right:0;top:72px;background:#fff;box-shadow:0 12px 20px #09223830;flex-direction:column;align-items:stretch;gap:0;padding:12px 18px}.primary-nav.open{display:flex}.primary-nav>a,.dropdown-toggle{padding:12px 0;font-size:17px;text-align:left}.dropdown-menu{position:static;box-shadow:none;padding:0 0 0 12px}.document-card{min-height:240px}}
@media(max-width:700px){.site-header{height:72px}.primary-nav{top:72px}.hero{height:auto;min-height:530px}.trust-strip{height:auto}.footer-top{height:auto}.footer-top>a img{width:285px;height:68px}.financial-service-grid .service-card{height:auto;min-height:195px}.document-card{min-height:0}}
@media(max-width:410px){.brand{width:265px}.brand img{width:265px;height:68px}}

/* About page */
.about-page-hero{position:relative;isolation:isolate;min-height:395px;color:#fff;background:url('../assets/02_ocean_sunrise_background.png') center 54%/cover no-repeat}
.about-page-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#09253fde 0%,#092c4fc9 35%,#0a315d29 78%)}
.about-page-hero-inner{min-height:395px;display:flex;align-items:center;justify-content:space-between;position:relative;padding-top:24px;padding-bottom:28px}
.about-page-hero-copy{max-width:650px}.about-page-hero h1{font:700 clamp(43px,5vw,70px)/.99 var(--serif);letter-spacing:-1.8px;margin:12px 0 18px}.about-page-hero h1 span{color:#ffd069}.about-page-hero-copy>p:not(.eyebrow){font-size:20px;line-height:1.5;max-width:500px;margin-bottom:23px}.about-page-hero-script{font:italic 25px/1.15 var(--serif);align-self:flex-end;text-align:right;transform:rotate(-8deg);margin:0 24px 20px 0}
.about-page-story{background:linear-gradient(90deg,#f6faff,#fff 75%);padding:78px 0}.about-page-story-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:clamp(30px,5vw,80px);align-items:center}.about-page-story-copy h2{font-size:clamp(34px,3.4vw,50px);max-width:670px;margin:10px 0 25px}.about-page-story-copy p:not(.eyebrow){font-size:19px;line-height:1.72;color:var(--body);margin:0 0 19px}.about-page-story-copy .story-lead{font-weight:700;color:#173867!important}.about-page-portrait{height:510px;border:1px solid var(--line);padding:12px;background:#fff;box-shadow:18px 18px 0 #e7eff8}.about-page-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 0%}
.about-page-values{padding:35px 0;border-block:1px solid #e5edf6}.about-page-values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.about-page-values-grid>div{display:flex;align-items:center;gap:16px;border-right:1px solid var(--line);padding:14px 22px 14px 0}.about-page-values-grid>div:last-child{border:0}.about-page-values-grid img{width:44px;height:44px;object-fit:contain}.about-page-values-grid h3{font:700 20px/1.25 var(--sans);text-transform:uppercase;margin:0}
.about-page-schedule{background:linear-gradient(115deg,#071c30,#103b5c);padding:62px 0 70px;color:#fff;scroll-margin-top:20px}.about-page-schedule-inner{display:grid;grid-template-columns:minmax(235px,.65fr) minmax(0,1.35fr);align-items:start;gap:45px}.about-page-schedule-intro{padding-top:30px}.about-page-schedule h2{color:#fff;font-size:clamp(36px,3.8vw,53px);margin:10px 0 17px}.about-page-schedule-intro>p:not(.eyebrow){font-size:19px;line-height:1.55;color:#e2edf6;margin:0 0 25px}.about-page-schedule .button{min-height:48px;white-space:normal;text-align:left}.about-page-calendar{height:700px;min-width:0;background:#fff;border:4px solid #f2bb52;box-shadow:0 18px 38px #0004}.about-page-calendar iframe{display:block;width:100%;height:100%;border:0}.about-page-next{text-align:center;padding:65px 0 72px;background:#f7fbff}.about-page-next h2{font-size:clamp(33px,3.4vw,47px);margin:10px 0}.about-page-next p:not(.eyebrow){font-size:19px;line-height:1.5;color:var(--body);margin-bottom:22px}
@media(max-width:980px){.about-page-story-grid{grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr);gap:32px}.about-page-portrait{height:450px}.about-page-story-copy p:not(.eyebrow){font-size:18px}.about-page-schedule-inner{grid-template-columns:1fr;gap:25px}.about-page-schedule-intro{padding:0}.about-page-calendar{height:700px}}
@media(max-width:700px){.about-page-hero,.about-page-hero-inner{min-height:470px}.about-page-hero{background-position:64% center}.about-page-hero:before{background:linear-gradient(90deg,#08263fdf,#10365c85 85%)}.about-page-hero-inner{align-items:center;padding-block:45px 70px}.about-page-hero h1{font-size:clamp(42px,9vw,58px)}.about-page-hero-copy>p:not(.eyebrow){font-size:18px}.about-page-hero-script{position:absolute;right:0;bottom:15px;font-size:19px;margin:0}.about-page-story{padding:45px 0 58px}.about-page-story-grid{display:flex;flex-direction:column;align-items:stretch;gap:22px}.about-page-story-copy h2{font-size:36px}.about-page-story-copy p:not(.eyebrow){font-size:18px;line-height:1.6}.about-page-portrait{height:320px;box-shadow:9px 9px 0 #e7eff8}.about-page-portrait img{object-fit:contain}.about-page-values{padding:15px 0}.about-page-values-grid{grid-template-columns:1fr;gap:0}.about-page-values-grid>div{border-right:0;border-bottom:1px solid var(--line);padding:16px 0}.about-page-values-grid>div:last-child{border:0}.about-page-values-grid h3{font-size:18px}.about-page-schedule{padding:43px 0 48px}.about-page-schedule-intro>p:not(.eyebrow){font-size:18px}.about-page-calendar{height:730px}.about-page-next{padding:44px 0 52px}.about-page-next p:not(.eyebrow){font-size:18px}}
@media(max-width:410px){.about-page-hero h1{font-size:41px}.about-page-schedule .button{font-size:12px}.about-page-calendar{height:750px}}

/* Services detail page */
.services-page-hero{position:relative;isolation:isolate;color:#fff;background:url('../assets/02_ocean_sunrise_background.png') center 54%/cover no-repeat}.services-page-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#071f37e8 0%,#0b2e50ad 48%,#0b2e5012 86%)}.services-page-hero-inner{padding-block:68px 76px;min-height:390px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.services-page-hero h1{font:700 clamp(44px,5vw,69px)/1 var(--serif);letter-spacing:-1.7px;margin:12px 0 20px}.services-page-hero h1 span{color:#ffd069}.services-page-hero-inner>p:not(.eyebrow){font-size:20px;line-height:1.5;max-width:540px;margin:0 0 26px}
.services-page-intro{padding:68px 0 58px;background:linear-gradient(90deg,#f8fbff,#fff)}.services-page-intro h2{font-size:clamp(36px,3.5vw,50px);margin:9px 0 17px}.services-page-intro .container>p:not(.eyebrow){max-width:780px;color:var(--body);font-size:19px;line-height:1.65}.service-jump{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:33px}.service-jump a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:17px 20px;border:1px solid var(--line);background:#fff;font-weight:700;font-size:17px;transition:background .2s,border-color .2s}.service-jump a:hover,.service-jump a:focus-visible{background:#eef5fd;border-color:var(--gold)}.service-jump span{color:var(--orange);font-size:20px}
.service-detail{padding:68px 0;scroll-margin-top:24px;border-top:1px solid #dae6f2}.service-detail:nth-child(even){background:#f6faff}.service-detail-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr);gap:clamp(35px,6vw,90px);align-items:center}.service-detail:nth-child(even) .service-detail-body{order:2}.service-detail:nth-child(even) .service-detail-art{order:1}.service-detail-body h2{font-size:clamp(35px,3.6vw,50px);margin:10px 0 10px}.service-detail-body>p:not(.eyebrow){color:var(--body);font-size:18px;line-height:1.62;margin:0 0 16px}.service-detail-body .service-detail-tag{font-size:22px!important;font-weight:700;color:var(--navy)!important;line-height:1.3!important;margin-bottom:22px!important}.service-detail-body .service-detail-original{font-weight:700;color:#1c4174!important}.service-detail-body .button{margin-top:8px;min-height:43px}.service-detail-art{min-height:380px;display:flex;align-items:center;justify-content:center;padding:27px;background:linear-gradient(135deg,#0b2f51,#08243d 75%);border:1px solid #1b4767;box-shadow:15px 15px 0 #e8eff8}.service-detail:nth-child(even) .service-detail-art{background:linear-gradient(135deg,#153e64,#0a2949);box-shadow:-15px 15px 0 #e1ebf5}.service-detail-art-inner{width:100%;height:100%;min-height:325px;border:1px solid #7190a9;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:26px;color:#fff}.service-detail-art img{width:78px;height:78px;object-fit:contain;filter:brightness(0) invert(1)}.service-detail-art span{align-self:flex-end;font:700 109px/.9 var(--serif);color:#ffca6682}.service-detail-art strong{font:700 31px/1.1 var(--serif);color:#ffce77}.services-page-cta{padding:62px 0;background:linear-gradient(95deg,#08243d,#0a375b);color:#fff}.services-page-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:36px}.services-page-cta h2{color:#fff;font-size:clamp(35px,3.8vw,49px);margin:7px 0 12px}.services-page-cta p:not(.eyebrow){font-size:19px;line-height:1.5;color:#e6eff7;margin:0}.services-page-cta .button{min-height:44px}
@media(max-width:980px){.service-detail-grid{grid-template-columns:minmax(0,1.1fr) minmax(240px,.9fr);gap:34px}.service-detail-art{min-height:315px;padding:18px}.service-detail-art-inner{min-height:275px}.service-detail-art span{font-size:81px}.service-detail-art strong{font-size:26px}}
@media(max-width:700px){.services-page-hero{background-position:65% center}.services-page-hero:before{background:linear-gradient(90deg,#08233edc,#0a315f65)}.services-page-hero-inner{min-height:420px;padding-block:45px}.services-page-hero h1{font-size:clamp(41px,9vw,56px)}.services-page-hero-inner>p:not(.eyebrow){font-size:18px}.services-page-intro{padding:43px 0}.services-page-intro .container>p:not(.eyebrow){font-size:18px}.service-jump{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:24px}.service-jump a{font-size:15px;padding:12px;min-height:61px}.service-detail{padding:48px 0}.service-detail-grid{display:flex;flex-direction:column;align-items:stretch;gap:25px}.service-detail:nth-child(even) .service-detail-body,.service-detail:nth-child(even) .service-detail-art{order:unset}.service-detail-body>p:not(.eyebrow){font-size:17px;line-height:1.6}.service-detail-body .service-detail-tag{font-size:20px!important}.service-detail-art{min-height:210px;box-shadow:8px 8px 0 #e8eff8!important}.service-detail-art-inner{min-height:190px}.service-detail-art img{width:50px;height:50px}.service-detail-art span{font-size:66px}.service-detail-art strong{font-size:23px}.services-page-cta{padding:46px 0}.services-page-cta-inner{display:block}.services-page-cta p:not(.eyebrow){font-size:18px}.services-page-cta .button{margin-top:22px}}
@media(max-width:410px){.service-jump{grid-template-columns:1fr}.service-jump a{min-height:50px}}

/* Legal pages */
.legal-hero{background:linear-gradient(95deg,#071c30ec,#0a3559d8),url('../assets/02_ocean_sunrise_background.png') center 56%/cover no-repeat;color:#fff;padding:68px 0 70px}.legal-hero h1{color:#fff;font:700 clamp(44px,5vw,67px)/1.05 var(--serif);margin:12px 0 16px}.legal-hero p:last-child{font-size:18px;color:#e4eff9;margin:0}.legal-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(28px,5vw,76px);align-items:start;padding-top:64px;padding-bottom:80px}.legal-toc{position:sticky;top:22px;display:flex;flex-direction:column;gap:0;border:1px solid var(--line);background:#f8fbff;padding:18px}.legal-toc strong{font-size:17px;margin-bottom:10px}.legal-toc a{font-size:15px;line-height:1.35;padding:8px 0;color:var(--body);border-top:1px solid #e5edf5}.legal-toc a:hover{color:var(--orange)}.legal-copy{max-width:860px;min-width:0}.legal-copy .legal-intro{font-size:21px;color:#173867;font-weight:700;line-height:1.5;margin:0 0 28px}.legal-copy section{padding:20px 0 22px;border-top:1px solid var(--line);scroll-margin-top:25px}.legal-copy h2{font-size:30px;line-height:1.2;margin:0 0 13px}.legal-copy section p{color:var(--body);font-size:18px;line-height:1.7;margin:0 0 15px}.legal-copy section p:last-child{margin-bottom:0}.legal-related{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.legal-related a{border:1px solid #d9a344;padding:11px 16px;font-size:16px;font-weight:700}.legal-related span{color:var(--orange)}
@media(max-width:980px){.legal-layout{grid-template-columns:210px minmax(0,1fr);gap:28px}}@media(max-width:700px){.legal-hero{padding:50px 0}.legal-layout{display:block;padding-block:32px 50px}.legal-toc{position:static;display:block;margin-bottom:30px}.legal-toc a{display:inline-block;border:0;padding:6px 12px 6px 0}.legal-copy .legal-intro{font-size:19px}.legal-copy h2{font-size:26px}.legal-copy section p{font-size:17px}}

/* ── Gutenberg bridge ─────────────────────────────────────────────────────────
 * Applied after wp-block-library. Group inner-container is unwrapped in PHP
 * (hfc_unwrap_group_inner), but this CSS provides a safety net and resets
 * block-library defaults that conflict with the prototype layout.
 */

/* Reset wp-block-library base margins */
.wp-block-group { margin-top: 0; margin-bottom: 0; }
.wp-block-heading { margin-top: 0; }

/* If __inner-container still exists (no JS, cached), grid only it */
.hero .wp-block-group__inner-container,
.trust-strip .wp-block-group__inner-container,
.trust-grid .wp-block-group__inner-container,
.about .wp-block-group__inner-container,
.credentials .wp-block-group__inner-container,
.closing .wp-block-group__inner-container,
.location-section .wp-block-group__inner-container { width: 100%; }

/* Block image sizing */
.wp-block-image img { display: block; max-width: 100%; height: auto; }
.wp-block-image { margin: 0; }
.about-photo .wp-block-image img { width: 65%; height: 100%; object-fit: cover; object-position: center 0%; margin: auto; }
.about-page-portrait .wp-block-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 0%; }

/* Buttons block — prototype .button/.gold/.outline belong on the <a>.
   Gutenberg puts className on the wrapper; PHP moves them at render. CSS
   still neutralizes the wrapper and styles the link either way. */
.wp-block-buttons { gap: 13px; display: flex; flex-wrap: wrap; }
.wp-block-button.button,
.wp-block-button.gold,
.wp-block-button.outline {
  border: 0 !important;
  background: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0;
  min-height: 0 !important;
  color: inherit;
  display: inline-block;
}
.wp-block-button__link {
  text-decoration: none;
  box-sizing: border-box;
}
/* Single gold fill: either classes still on wrapper (pre-move) or on the link */
.wp-block-button.gold .wp-block-button__link,
.wp-block-button.button.gold .wp-block-button__link,
.wp-block-button__link.button.gold,
a.wp-block-button__link.gold {
  display: inline-flex; align-items: center; justify-content: space-between;
  gap: 18px; min-height: 36px; padding: 0 17px; border-radius: 2px;
  text-transform: uppercase; font-size: 13px; font-weight: 700; white-space: nowrap;
  color: #111a2b !important;
  background: linear-gradient(100deg,#f6c75f,#ffe59a 45%,#e6a832) !important;
  background-color: transparent !important;
  box-shadow: 0 5px 13px #92600020;
  border: 0 !important;
  transition: filter .2s, transform .2s;
}
.wp-block-button.outline .wp-block-button__link,
.wp-block-button.button.outline .wp-block-button__link,
.wp-block-button__link.button.outline,
a.wp-block-button__link.outline {
  display: inline-flex; align-items: center; gap: 18px; min-height: 36px;
  padding: 0 17px; border-radius: 2px; text-transform: uppercase; font-size: 13px;
  font-weight: 700; white-space: nowrap;
  color: #fff !important;
  border: 1px solid #cad8e8 !important;
  background: #092c4840 !important;
  background-image: none !important;
  box-shadow: none !important;
  transition: filter .2s, transform .2s;
}
.service-detail-body .wp-block-buttons { margin-top: 8px; }
.service-detail-body .wp-block-button__link { min-height: 43px; }
.wp-block-button .wp-block-button__link:hover { filter: brightness(1.07); transform: translateY(-1px); }

/* Paragraph / heading in sections */
.wp-block-paragraph { margin-top: 0; margin-bottom: 0; }

/* Badge grid images */
.badge-grid .wp-block-image { display: flex; }
.badge-grid .wp-block-image img { width: 166px; height: 122px; object-fit: contain; }

/* Hero section */
.hero { position: relative; z-index: 0; }
.hero .wp-block-group.container.hero-content { position: relative; }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(7,37,67,.76) 0%,rgba(11,42,71,.47) 37%,rgba(6,30,58,.04) 67%); pointer-events: none; z-index: 0; }

/* CF7 / WP Armour honeypot hides */
/* CF7 inherits prototype contact-form chrome */
.contact-panel .wpcf7 { width: 100%; }
.contact-panel .wpcf7-form p { margin: 0; }
.contact-panel .wpcf7-not-valid-tip { color: #ffc448; font-size: 13px; }
.contact-panel .wpcf7-response-output { margin: 12px 0 0; color: #fff; border-color: #ffc448; }

/* Submit is an <input> — browsers/CF7 default chrome beat bare .gold; force prototype button */
.contact-panel .contact-submit .wpcf7-submit,
.contact-panel input.wpcf7-submit.button,
.contact-panel input.wpcf7-submit.gold,
.wpcf7 .contact-submit input[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 36px;
  min-width: 150px;
  padding: 0 17px;
  border: 0 !important;
  border-radius: 2px;
  cursor: pointer;
  text-transform: uppercase;
  font-size: 13px;
  font-weight: 700;
  font-family: inherit;
  line-height: 1;
  white-space: nowrap;
  color: #111a2b !important;
  background: linear-gradient(100deg, #f6c75f, #ffe59a 45%, #e6a832) !important;
  background-color: #f6c75f !important;
  box-shadow: 0 5px 13px #92600020;
  transition: filter .2s, transform .2s;
}
.contact-panel .contact-submit .wpcf7-submit:hover,
.wpcf7 .contact-submit input[type="submit"]:hover {
  filter: brightness(1.07);
  transform: translateY(-1px);
}

.wpcf7 .hidden-fields-container,
.wpcf7 fieldset.hidden-fields-container,
fieldset.hidden-fields-container,
#altEmail_container,
.altEmail_container,
.wpa_hidden_field,
.wpa-test-msg,
span.wpcf7-form-control-wrap[data-name="honeypot"] {
  display: none !important; border: 0 !important; padding: 0 !important; margin: 0 !important;
  height: 0 !important; overflow: hidden !important; position: absolute !important; left: -9999px !important;
}

/* CF7 form inputs: override default size="40" that stretches beyond column */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea { width: 100% !important; max-width: 100% !important; }

/* Contact details address reset (shortcode output) */
.contact-details address { font-style: normal; }

/* Cookie banner */
.hfc-cookie-banner {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 9999;
  background: #09263b; color: #fff; padding: 16px 24px;
  box-shadow: 0 -4px 18px #00000033;
}
.hfc-cookie-inner { max-width: 1340px; margin: auto; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.hfc-cookie-text p { margin: 0; font-size: 15px; }
.hfc-cookie-text a { color: #ffc448; text-decoration: underline; margin-left: 8px; }
.hfc-cookie-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.hfc-cookie-btn { padding: 8px 18px; border: 0; border-radius: 2px; font-size: 14px; font-weight: 700; text-transform: uppercase; cursor: pointer; }
.hfc-cookie-accept-all { background: linear-gradient(100deg,#f6c75f,#ffe59a 45%,#e6a832); color: #111a2b; }
.hfc-cookie-essential { background: transparent; border: 1px solid #afc3d4; color: #fff; }
@media (max-width: 700px) { .hfc-cookie-inner { flex-direction: column; align-items: flex-start; } }

/* Language switcher EN | ES */
.hfc-lang-switch{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:8px;
  flex-shrink:0;
  white-space:nowrap;
}
.hfc-lang-opt{
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
  color:var(--navy);
  text-decoration:none;
  opacity:.55;
  padding:4px 2px;
}
.hfc-lang-opt:hover,
.hfc-lang-opt.is-active{
  opacity:1;
  color:var(--navy);
}
.hfc-lang-opt.is-active{
  border-bottom:2px solid #ef9d00;
}
.hfc-lang-sep{
  color:#afc3d4;
  font-size:13px;
}
@media (max-width:700px){
  .hfc-lang-switch{
    margin-left:auto;
    margin-right:8px;
  }
}

/* —— 0.2.1 Hero contrast + CTA clarity (customer feedback) ——
   Stronger navy shade over the bright ocean/sunrise so white copy stays readable.
   Primary gold CTA is larger/clearer; outline CTA gets a semi-opaque navy fill. */
.hero-shade{
  /* Keep photo visible on the right; darken left/center where copy sits over bright water/sun. */
  background:linear-gradient(
    100deg,
    rgba(5,20,36,.94) 0%,
    rgba(6,26,44,.9) 24%,
    rgba(7,32,54,.8) 44%,
    rgba(8,38,62,.52) 62%,
    rgba(8,38,62,.22) 80%,
    rgba(6,30,58,.1) 100%
  )!important;
  z-index:0;
}
.hero .hero-content,
.hero .wp-block-group.container.hero-content{
  z-index:1;
}
.hero .hero-eyebrow,
.hero .eyebrow.hero-eyebrow{
  color:#fff;
  text-shadow:0 1px 8px rgba(4,18,34,.55);
}
.hero h1{
  color:#fff;
  text-shadow:0 2px 14px rgba(4,18,34,.6),0 1px 3px rgba(4,18,34,.7);
}
.hero h1 span{
  color:#ffd069;
  text-shadow:0 2px 12px rgba(4,18,34,.55),0 1px 2px rgba(4,18,34,.5);
}
.hero-description{
  color:#fff!important;
  text-shadow:0 1px 10px rgba(4,18,34,.55),0 1px 2px rgba(4,18,34,.45);
  max-width:520px;
}
.hero-script{
  text-shadow:0 2px 10px rgba(4,18,34,.7),0 1px 2px rgba(4,18,34,.55);
}

/* Hero CTAs — dominant gold primary, clearer outline secondary */
.hero-actions{
  gap:14px;
  flex-wrap:wrap;
}
.hero .hero-actions .wp-block-button__link,
.hero .hero-actions a.button,
.hero .hero-actions .button,
.hero-actions .wp-block-button .wp-block-button__link{
  min-height:46px!important;
  padding:0 22px!important;
  font-size:14px!important;
  letter-spacing:.02em;
}
/* Primary Schedule CTA — slightly larger / bolder than the outline sibling */
.hero-actions .wp-block-button.gold .wp-block-button__link,
.hero-actions .wp-block-button.button.gold .wp-block-button__link,
.hero-actions a.wp-block-button__link.gold,
.hero-actions a.button.gold{
  min-height:50px!important;
  padding:0 26px!important;
  font-size:15px!important;
  font-weight:800!important;
  letter-spacing:.04em;
  color:#111a2b!important;
  background:linear-gradient(100deg,#f6c75f,#ffe59a 45%,#e6a832)!important;
  background-color:#f6c75f!important;
  border:0!important;
  box-shadow:0 6px 18px rgba(120,70,0,.35),0 2px 0 rgba(255,255,255,.25) inset;
}
.hero-actions .wp-block-button.gold .wp-block-button__link:hover,
.hero-actions a.button.gold:hover{
  filter:brightness(1.08);
  transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(120,70,0,.42);
}
.hero-actions .wp-block-button.outline .wp-block-button__link,
.hero-actions .wp-block-button.button.outline .wp-block-button__link,
.hero-actions a.wp-block-button__link.outline,
.hero-actions a.button.outline{
  color:#fff!important;
  border:1.5px solid rgba(255,255,255,.92)!important;
  background:rgba(7,32,55,.58)!important;
  background-image:none!important;
  box-shadow:0 4px 14px rgba(4,18,34,.28);
  text-shadow:0 1px 2px rgba(4,18,34,.45);
}
.hero-actions .wp-block-button.outline .wp-block-button__link:hover,
.hero-actions a.button.outline:hover{
  background:rgba(7,32,55,.78)!important;
  border-color:#fff!important;
  filter:none;
}
.hero-actions .wp-block-button__link:focus-visible,
.hero-actions a.button:focus-visible,
.header-cta:focus-visible{
  outline:3px solid #ef9a1a;
  outline-offset:3px;
}

/* Header CTA — same touch target as hero primary */
.header-cta.button.gold,
a.header-cta{
  min-height:44px;
  padding:0 18px;
  box-shadow:0 4px 12px rgba(120,70,0,.28);
}
.header-cta.button.gold:hover{
  filter:brightness(1.08);
  transform:translateY(-1px);
}

@media (max-width:700px){
  .hero-shade{
    /* Full-height navy wash on mobile — sun glare sits under the copy column. */
    background:linear-gradient(
      180deg,
      rgba(5,20,36,.92) 0%,
      rgba(6,26,44,.88) 35%,
      rgba(7,32,54,.84) 70%,
      rgba(7,32,54,.78) 100%
    )!important;
  }
  .hero-actions{
    flex-direction:column;
    align-items:stretch;
    width:100%;
    max-width:360px;
  }
  .hero-actions .wp-block-button,
  .hero-actions .wp-block-button__link,
  .hero-actions a.button{
    width:100%;
    justify-content:center;
  }
  .hero-description{max-width:100%}
}
@media (max-width:410px){
  .hero-actions .wp-block-button__link,
  .hero-actions a.button{
    font-size:13px;
    padding:0 14px;
    white-space:normal;
    text-align:center;
    line-height:1.25;
    min-height:48px;
  }
  .hero-actions .wp-block-button.gold .wp-block-button__link,
  .hero-actions a.button.gold{
    font-size:14px!important;
    min-height:52px!important;
    padding:0 16px!important;
  }
}
