:root{--blue:#0874d9;--blue2:#004d9e;--dark:#061b38;--navy:#08264b;--sky:#eaf5ff;--grey:#f4f7fb;--text:#142033;--muted:#667085;--line:#d9e3ef;--white:#fff;--shadow:0 18px 50px rgba(6,27,56,.15);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff;line-height:1.65}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.topbar{background:var(--dark);color:#fff;font-size:13px}.topbar .wrap{max-width:1180px;margin:auto;display:flex;justify-content:space-between;gap:20px;padding:5px 18px}.header{position:sticky;top:0;z-index:1000;background:#fff;box-shadow:0 8px 22px rgba(6,27,56,.08);isolation:isolate}.nav-wrap{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:4px 18px;height:62px;position:relative}.logo{width:205px;height:62px;display:block;position:relative;z-index:12;flex:0 0 205px}.logo img{position:absolute;left:0;top:-18px;width:205px;height:auto;background:rgba(255,255,255,.96);border-radius:18px;padding:5px;box-shadow:0 14px 30px rgba(6,27,56,.16)}.nav{display:flex;align-items:center;gap:2px}.nav a,.dropbtn{padding:9px 10px;border-radius:12px;font-weight:800;color:var(--navy);font-size:13px;background:transparent;border:0;cursor:pointer}.nav a:hover,.drop:hover .dropbtn{background:var(--sky);color:var(--blue)}.drop{position:relative}.drop-menu{display:none;position:absolute;top:100%;left:0;background:#fff;box-shadow:var(--shadow);border-radius:16px;min-width:250px;padding:10px;border:1px solid var(--line)}.drop:hover .drop-menu{display:grid}.drop-menu a{display:block;padding:10px 12px}.cta-head{display:flex;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 17px;border-radius:999px;font-weight:900;border:2px solid transparent;cursor:pointer}.cta-head .btn{padding:9px 13px;font-size:13px}.btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;box-shadow:0 10px 20px rgba(8,116,217,.25)}.btn-dark{background:var(--dark);color:#fff}.btn-light{background:#fff;color:var(--navy)}.menu-toggle{display:none;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;border:0;border-radius:999px;padding:10px 15px;font-weight:900}.hero{position:relative;min-height:680px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(4,19,40,.82) 0%,rgba(4,19,40,.68) 34%,rgba(4,19,40,.14) 64%,rgba(4,19,40,.02) 100%),none center/cover no-repeat;color:#fff}.hero:before,.page-hero:before{content:"";position:absolute;left:0;right:0;top:0;height:52px;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0));pointer-events:none}.hero-inner{max-width:1180px;margin:auto;padding:90px 18px;width:100%;position:relative}.hero-card{max-width:640px}.kicker{display:inline-flex;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);padding:8px 12px;border-radius:999px;font-weight:900;margin-bottom:18px}.hero h1{font-size:60px;line-height:1.02;margin:0 0 20px}.hero p{font-size:20px;color:#e6f2ff;margin:0 0 28px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.trust-strip{background:#fff;margin-top:-45px;position:relative;z-index:5}.trust-grid{max-width:1180px;margin:auto;padding:0 18px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.trust-item{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow);font-weight:900;color:var(--navy)}.section{padding:84px 18px}.wrap{max-width:1180px;margin:auto}.center{text-align:center}.eyebrow{font-weight:900;color:var(--blue);text-transform:uppercase;letter-spacing:.08em;font-size:13px}.h2{font-size:42px;line-height:1.12;margin:8px 0 16px;color:var(--dark)}.lead{font-size:18px;color:var(--muted);max-width:820px;margin:0 auto 34px}.grid{display:grid;gap:24px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 12px 35px rgba(6,27,56,.08)}.card-img{height:230px;object-fit:cover;width:100%}.card-body{padding:24px}.card h3{margin:0 0 10px;color:var(--dark);font-size:23px}.card p{color:var(--muted);margin:0 0 16px}.service-link{font-weight:900;color:var(--blue)}.blue-band{background:linear-gradient(135deg,var(--dark),#073b78);color:#fff}.blue-band .h2,.blue-band p{color:#fff}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}.split img{border-radius:var(--radius);box-shadow:var(--shadow);height:480px;width:100%;object-fit:cover}.ticks{list-style:none;padding:0;margin:22px 0;display:grid;gap:10px}.ticks li{padding-left:30px;position:relative}.ticks li:before{content:'✓';position:absolute;left:0;top:0;color:var(--blue);font-weight:900}.page-hero{position:relative;background:linear-gradient(90deg,rgba(6,27,56,.86),rgba(6,27,56,.52)),var(--page-img) center/cover no-repeat;color:#fff;padding:115px 18px}.page-hero .wrap{max-width:1180px;position:relative}.page-hero h1{font-size:54px;line-height:1.05;margin:0 0 15px}.page-hero p{max-width:760px;font-size:20px;color:#eaf5ff}.quote-box{background:#fff;border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);border:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid .full{grid-column:1/-1}input,select,textarea{width:100%;padding:15px 14px;border:1px solid var(--line);border-radius:14px;font:inherit;background:#fff}textarea{min-height:130px}.footer{background:#031122;color:#d8e7f6;padding:58px 18px 100px}.footer-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}.footer img{width:190px;background:#fff;border-radius:18px;padding:8px;margin-bottom:14px}.footer h3{color:#fff;margin-top:0}.footer a{display:block;color:#d8e7f6;margin:7px 0}.mobile-bar{display:none}.gallery-img{height:260px;width:100%;object-fit:cover;border-radius:20px;box-shadow:0 10px 28px rgba(6,27,56,.12)}.review{padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(6,27,56,.06)}.review strong{color:var(--dark)}.chat-btn{position:fixed;right:18px;bottom:22px;z-index:1100;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;border:0;border-radius:999px;padding:14px 18px;font-weight:900;box-shadow:var(--shadow);cursor:pointer}.chat-panel{position:fixed;right:18px;bottom:82px;z-index:1100;width:390px;max-width:calc(100vw - 36px);background:#fff;border-radius:22px;box-shadow:var(--shadow);border:1px solid var(--line);display:none;overflow:hidden}.chat-head{background:var(--dark);color:#fff;padding:13px 16px;font-weight:900;display:flex;align-items:center;justify-content:space-between}.chat-close{background:rgba(255,255,255,.14);color:#fff;border:0;border-radius:50%;width:30px;height:30px;font-size:19px;cursor:pointer}.chat-body{padding:14px;background:#f6f9fd}.chat-log{height:280px;overflow:auto;display:flex;flex-direction:column;gap:10px;padding-right:4px}.chat-msg{max-width:88%;padding:10px 12px;border-radius:16px;font-size:14px;line-height:1.45}.chat-msg.bot{background:#fff;border:1px solid var(--line);color:var(--text);align-self:flex-start}.chat-msg.user{background:var(--blue);color:#fff;align-self:flex-end}.chat-quick{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.chat-quick button{border:1px solid var(--line);background:#fff;color:var(--navy);padding:8px 10px;border-radius:999px;font-weight:800;cursor:pointer;font-size:13px}.chat-form{display:flex;gap:8px}.chat-form input{border-radius:999px;padding:12px 13px}.chat-form button{border:0;border-radius:999px;background:var(--dark);color:#fff;padding:0 15px;font-weight:900}.chat-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.chat-actions a,.chat-actions button{font-size:13px;padding:10px 8px;border-radius:999px;text-align:center;font-weight:900;border:0;cursor:pointer}.chat-actions a:first-child{background:var(--blue);color:#fff}.chat-actions a:last-child,.chat-actions button{background:var(--dark);color:#fff}@media(max-width:1030px){.nav a,.dropbtn{font-size:12px;padding:8px 7px}.logo{width:182px;flex-basis:182px}.logo img{width:182px}.cta-head .btn{padding:8px 10px}}@media(max-width:900px){.topbar{display:none}.header{height:58px}.nav-wrap{height:58px;padding:4px 14px}.logo{width:138px;height:58px;flex:0 0 138px}.logo img{width:138px;top:-11px;border-radius:14px}.menu-toggle{display:inline-flex}.nav{display:none;position:absolute;left:12px;right:12px;top:66px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:10px;flex-direction:column;align-items:stretch}.nav.open{display:flex}.drop-menu{position:static;box-shadow:none;border:0;padding:0;display:grid;background:#f7fbff}.drop:hover .drop-menu{display:grid}.cta-head{display:none}.hero{min-height:620px;background-position:58% center}.hero h1{font-size:42px}.trust-grid,.grid-3,.grid-2,.split,.footer-grid{grid-template-columns:1fr}.trust-strip{margin-top:0}.section{padding:58px 16px}.page-hero{padding:78px 16px}.page-hero h1{font-size:38px}.form-grid{grid-template-columns:1fr}.split img{height:330px}.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:1200;display:grid;grid-template-columns:1fr 1fr}.mobile-bar a{padding:14px 10px;text-align:center;color:#fff;font-weight:900}.mobile-bar a:first-child{background:var(--blue)}.mobile-bar a:last-child{background:var(--dark)}.chat-btn{bottom:70px;right:12px}.chat-panel{bottom:125px;right:12px}.h2{font-size:32px}.footer{padding-bottom:120px}}@media(max-width:520px){.hero h1{font-size:34px}.hero p{font-size:17px}.hero{min-height:590px;background-position:62% center}.hero-actions .btn{width:100%}.card-img{height:200px}.chat-panel{left:10px;right:10px;width:auto;bottom:124px}.chat-log{height:260px}.chat-actions{grid-template-columns:1fr}.logo{width:126px;flex-basis:126px}.logo img{width:126px;top:-9px}.menu-toggle{padding:9px 13px}}
.chat-panel {
    display: none;
}

.chat-panel.open {
    display: block;
}

.chat-msg {
    padding: 10px 12px;
    border-radius: 12px;
    margin: 8px 0;
    font-size: 14px;
    line-height: 1.45;
}

.chat-ai {
    background: #eef5ff;
    color: #10243e;
}

.chat-user {
    background: #0b65c2;
    color: #fff;
    margin-left: 28px;
}

.chat-typing {
    opacity: .7;
}

/* Company details and WhatsApp contact options */
.company-details { line-height: 1.65; }
.whatsapp-float {
    position: fixed;
    left: 18px;
    bottom: 22px;
    z-index: 1100;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 22px;
    border: 2px solid transparent;
    border-radius: 999px;
    background: #128c46;
    color: #fff;
    font-weight: 900;
    box-shadow: var(--shadow);
}
.btn-whatsapp { background: #128c46; color: #fff; }
.whatsapp-float:hover, .btn-whatsapp:hover { background: #0d7339; }
.whatsapp-float:focus-visible, .btn-whatsapp:focus-visible,
.whatsapp-mobile:focus-visible { outline: 3px solid #f7be39; outline-offset: 3px; }
@media (max-width: 900px) {
    .whatsapp-float { display: none; }
    .mobile-bar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .mobile-bar .whatsapp-mobile { background: #128c46; color: #fff; }
}

/* Corporate footer and customer information */
.corporate-footer { padding: 0 24px 100px; background: #031122; color: #cad6e4; }
.footer-intro { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 42px 0; border-bottom: 1px solid #263447; }
.footer-eyebrow { font-size: 12px; font-weight: 800; letter-spacing: .15em; color: #96caff; }
.footer-intro h2 { margin: 8px 0; font-size: 32px; line-height: 1.2; color: #fff; }
.footer-intro p { margin: 0; }
.corporate-footer .footer-intro .btn { display: inline-flex; margin: 0; white-space: nowrap; color: #fff; }
.corporate-footer .footer-grid { padding: 38px 0; grid-template-columns: 1.15fr 1fr 1fr 1.2fr; gap: 32px; }
.corporate-footer .footer-brand img { width: 140px; height: auto; border-radius: 12px; padding: 6px; }
.corporate-footer h3 { font-size: 16px; margin-bottom: 16px; }
.corporate-footer p, .corporate-footer a { font-size: 14px; overflow-wrap: anywhere; }
.corporate-footer a { padding: 3px 0; }
.corporate-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.corporate-footer a:focus-visible { outline: 2px solid #96caff; outline-offset: 4px; }
.corporate-footer .footer-phone { font-size: 22px; font-weight: 800; color: #fff; }
.corporate-footer .footer-whatsapp { color: #86e5ac; font-weight: 700; }
.corporate-footer .company-details { border-top: 1px solid #263447; padding-top: 12px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 24px; border-top: 1px solid #263447; padding-top: 22px; }
.footer-bottom p { margin: 0; font-size: 12px; }
.corporate-footer .footer-bottom a { display: inline; font-size: inherit; }
.customer-care { background: #eaf5ff; border-top: 1px solid #d9e3ef; padding: 26px 24px; }
.customer-care > .wrap { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.customer-care strong { color: #061b38; font-size: 18px; }
.customer-care p { margin: 5px 0 0; font-size: 14px; }
.customer-care nav { display: flex; gap: 12px 18px; flex-wrap: wrap; }
.customer-care a { color: #004d9e; text-decoration: underline; font-size: 14px; font-weight: 700; }
.imagery-note { padding: 18px; font-size: 13px; color: #526072; }
.field-label { display: block; font-size: 14px; font-weight: 700; }
.field-label input, .field-label textarea { margin-top: 6px; font-weight: 400; }
.form-note a, .chat-privacy a { color: #004d9e; text-decoration: underline; }
.form-note input[type="checkbox"] { width: auto; margin-right: 6px; }
.chat-privacy { margin: 0 0 10px; font-size: 12px; line-height: 1.45; color: #334155; }
.chat-panel.chat-panel { max-height: min(760px, calc(100dvh - 165px)); overflow-y: auto; }
.chat-head > span { min-width: 0; font-size: 14px; }
.chat-close { flex-shrink: 0; }
.legal-hero { padding: 90px 24px 45px; background: #eaf5ff; }
.legal-hero h1 { color: #061b38; font-size: clamp(32px, 4vw, 48px); line-height: 1.12; margin: 12px 0; }
.legal-hero p { font-size: 18px; margin: 0; }
.legal-section { padding-top: 45px; }
.legal-copy { max-width: 860px; margin: auto; }
.legal-copy h2 { font-size: 24px; color: #061b38; margin: 32px 0 12px; line-height: 1.25; }
.legal-copy h2:first-child { margin-top: 0; }
.legal-copy a { color: #004d9e; text-decoration: underline; overflow-wrap: anywhere; }
.legal-copy .btn { color: #fff; }
.business-details { display: grid; grid-template-columns: 150px 1fr; gap: 12px 24px; }
.business-details dt { font-weight: 700; }.business-details dd { margin: 0; }
.cancellation-message { border: 1px solid #d9e3ef; padding: 22px; background: #f4f7fb; border-radius: 12px; }
.policy-date { color: #667085; font-size: 13px; margin-top: 40px; }
.skip-link { position: fixed; top: -100px; left: 16px; background: #061b38; color: #fff; padding: 12px; z-index: 1000000; }
.skip-link:focus { top: 8px; }
@media (max-width: 1030px) { .corporate-footer .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 900px) {
    .footer-intro, .footer-bottom, .customer-care > .wrap { flex-direction: column; align-items: flex-start; gap: 18px; }
    .corporate-footer { padding: 0 20px 135px; }
    .customer-care { padding: 24px 20px; }
    .chat-panel.chat-panel { max-height: calc(100dvh - 160px); }
}
@media (max-width: 520px) {
    .corporate-footer .footer-grid { grid-template-columns: 1fr; gap: 28px; }
    .business-details { grid-template-columns: 1fr; gap: 4px; }
    .business-details dd { margin-bottom: 14px; }
    .footer-intro h2 { font-size: 28px; }
}
@media print {
    .topbar, .header, .customer-care, .footer, .mobile-bar, .chat-btn, .chat-panel, .whatsapp-float, .skip-link, [data-print] { display: none !important; }
    .legal-hero, .section { padding: 16px 0; background: #fff; }
    .legal-copy { max-width: none; }.legal-copy h2 { break-after: avoid; }
}

/* Distinct responsive photographic heroes — September 2026 */
.hero.has-photo, .page-hero.has-photo {
    position: relative; isolation: isolate; overflow: hidden;
    background: #061b38; color: #fff;
}
.hero.has-photo { min-height: 660px; }
.page-hero.has-photo { min-height: 510px; display: flex; align-items: center; padding: 105px 24px 72px; }
.hero.has-photo::before, .page-hero.has-photo::before { display: none; }
.hero-photo { position: absolute; inset: 0; display: block; z-index: 0; }
.hero-photo .hero-image { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: var(--hero-focus, 60% 50%); }
.hero.has-photo::after, .page-hero.has-photo::after {
    content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
    background: linear-gradient(90deg, rgba(3,18,37,.92) 0%, rgba(3,18,37,.74) 36%, rgba(3,18,37,.24) 70%, rgba(3,18,37,.12) 100%);
}
.hero.has-photo .hero-inner, .page-hero.has-photo > .wrap { position: relative; z-index: 2; width: 100%; }
.page-hero.has-photo h1 { max-width: 760px; text-wrap: balance; font-size: clamp(36px,4.3vw,58px); line-height: 1.08; }
.page-hero.has-photo p { max-width: 640px; margin: 0 0 26px; line-height: 1.55; font-size: 19px; }
.page-hero.has-photo .kicker { background: rgba(6,27,56,.5); backdrop-filter: blur(4px); }
.page-hero.has-photo .btn { box-shadow: 0 10px 25px rgba(0,0,0,.2); }
.service-detail-image { object-position: 50% 50%; }
.gallery-img { transition: transform .18s ease; }
@media (max-width: 900px) {
    .page-hero.has-photo { min-height: 490px; padding: 100px 20px 60px; }
    .hero.has-photo::after, .page-hero.has-photo::after { background: linear-gradient(90deg,rgba(3,18,37,.86),rgba(3,18,37,.34)); }
}
@media (max-width: 700px) {
    .page-hero.has-photo { min-height: 570px; align-items: flex-end; padding: 220px 20px 42px; }
    .page-hero.has-photo h1 { font-size: clamp(32px,8.5vw,44px); margin: 0 0 15px; }
    .page-hero.has-photo p { font-size: 17px; line-height: 1.5; margin-bottom: 22px; }
    .page-hero.has-photo .kicker { font-size: 12px; margin-bottom: 14px; }
    .hero.has-photo { min-height: 650px; align-items: flex-end; }
    .hero.has-photo .hero-inner { padding: 215px 20px 70px; }
    .hero.has-photo::after, .page-hero.has-photo::after {
        background: linear-gradient(0deg,rgba(3,18,37,.97) 0%,rgba(3,18,37,.88) 32%,rgba(3,18,37,.40) 69%,rgba(3,18,37,.12) 100%);
    }
    .hero-photo .hero-image { object-position: var(--hero-focus, 65% 50%); }
    .split img.service-detail-image, .split img.advice-image, .split img.team-image { height: auto; aspect-ratio: 4 / 3; }
    .gallery-img { height: auto; aspect-ratio: 4 / 3; }
}
