@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#0b263c;--ink:#172c3b;--muted:#667078;--cream:#f7f6f2;--line:#dedfd9;--accent:#b5a48a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--cream);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif}h1,h2{font-weight:500;letter-spacing:-2.8px;line-height:1.12}h1{font-size:clamp(44px,4.8vw,74px)}h2{font-size:clamp(36px,3.5vw,53px)}h3{font-weight:600;line-height:1.4}em{font-family:Georgia,serif;font-weight:400;color:#8b7b64}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b1905b;outline-offset:6px}.topbar{background:var(--navy);color:#eef0f1;padding:9px 5%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.4px}.insured{letter-spacing:.3px;font-size:11px}.insured span{margin-right:8px}.header{height:102px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--cream)}.brand{display:flex;align-items:center;gap:11px;font-family:Georgia,serif;font-size:35px;line-height:1;letter-spacing:2px;font-weight:bold}.brand svg{width:53px;fill:none;stroke:var(--navy);stroke-width:4}.brand .window{fill:var(--navy);stroke-width:0}.brand small{display:block;font:8px Manrope,sans-serif;letter-spacing:2.6px;margin-top:7px}.header nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:500}.header nav>a:hover{color:#8b7b64}.nav-call{border:1px solid #bac2c5;padding:11px 20px}.nav-call span{margin-right:9px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:640px;padding-left:5%}.hero-copy{padding:72px 35px 55px 0;align-self:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;margin-bottom:26px;display:flex;align-items:center;gap:10px}.eyebrow>span{width:20px;height:1px;background:var(--navy)}.hero-description{color:var(--muted);font-size:16px;max-width:350px;margin-top:28px}.hero-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap;margin-top:35px}.button{padding:17px 22px;display:inline-flex;align-items:center;justify-content:center;gap:26px;font-size:12px;font-weight:600;transition:background .2s,transform .2s}.button:hover{transform:translateY(-3px)}.button-navy{background:var(--navy);color:white}.button-navy:hover{background:#20435e}.text-link{font-size:12px;border-bottom:1px solid #aeb4b5;padding:5px 0}.text-link span{margin-left:14px}.hero-note{display:flex;align-items:center;gap:13px;font-size:11px;line-height:1.7;color:var(--muted);margin-top:48px}.hero-note strong{font-weight:500;color:var(--ink)}.small-seal{border:1px solid #bac1c0;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:17px;color:var(--navy)}.hero-photo{position:relative;min-height:640px}.hero-photo>img{position:absolute;object-position:55% center}.photo-label{position:absolute;top:26px;left:26px;background:#ffffffc9;font-size:8px;letter-spacing:1.7px;padding:9px 13px}.photo-credit{position:absolute;right:15px;bottom:10px;background:#ffffffc9;padding:3px 8px;font-size:9px}.photo-badge{position:absolute;bottom:42px;left:-28px;padding:24px 30px;background:var(--navy);color:white;min-width:292px;box-shadow:0 8px 25px #0001}.photo-badge>span{font-size:9px;letter-spacing:1.8px;display:block}.photo-badge strong{font-family:Georgia,serif;font-size:27px;font-weight:400}.photo-badge svg{width:30px;stroke:#c4b59b;fill:none;stroke-width:1.2;position:absolute;right:23px;top:35px}.trust-strip{padding:26px 10%;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px;font-size:12px}.trust-strip>span{display:flex;align-items:center;gap:12px}.trust-strip svg{width:22px;height:22px;fill:none;stroke:var(--navy);stroke-width:1.2}.section{padding:95px 7%}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px;gap:40px}.section-heading>p{color:var(--muted);max-width:325px;font-size:14px;padding-bottom:6px}.section .eyebrow{margin-bottom:20px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service{padding:27px 23px 24px 0;display:flex;flex-direction:column;transition:background .2s}.service+.service{border-left:1px solid var(--line);padding-left:23px}.service:hover{background:#eeeee7}.service-top{display:flex;align-items:center;justify-content:space-between;color:#879092;font-size:10px;margin-bottom:30px}.tile-icon{font-size:37px;line-height:1;color:var(--navy)}.service h3{font-size:18px;margin-bottom:14px;letter-spacing:-.5px}.service p{color:var(--muted);font-size:12px;margin-bottom:30px}.service-bottom{margin-top:auto;display:flex;justify-content:space-between;font-size:9px;gap:10px}.service-bottom>span{font-size:18px}.about{padding-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.about-image{margin:0;position:relative;height:590px;background:#ddd}.about-image img{object-position:center}.about-image figcaption{position:absolute;bottom:0;background:#0b263cd9;color:white;font-size:9px;padding:12px 18px;width:100%}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:13px;max-width:420px;margin-top:23px}.about-facts{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid var(--line);padding-top:24px;margin-top:32px}.about-facts span{font-size:8px;letter-spacing:1px}.about-facts h3{font-size:15px;margin:9px 0}.about-facts p{font-size:11px;color:var(--muted)}.process{background:#eeeee8}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.process-grid article{border-top:1px solid #c9cdc7;padding-top:20px}.process-grid article>span{color:#8b7b64;font-family:Georgia,serif;font-size:30px}.process-grid h3{font-size:17px;margin:17px 0 13px}.process-grid p{font-size:13px;color:var(--muted);max-width:320px}.faq{display:grid;grid-template-columns:1fr 1.25fr;gap:8%}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{padding:22px 0;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-size:14px;list-style:none}summary::-webkit-details-marker{display:none}summary>span{font-size:20px;font-weight:400;line-height:1}details[open] summary>span{transform:rotate(45deg)}details p{padding:0 25px 22px 0;font-size:13px;color:var(--muted)}.contact{position:relative;overflow:hidden;text-align:center;background:var(--navy);color:white;margin:0 3% 55px;padding:75px 6%}.contact .eyebrow{justify-content:center;color:#c6cfce}.contact h2{font-size:clamp(42px,4.8vw,70px)}.contact em{color:#c1b297}.contact>p:not(.eyebrow){color:#c2ccd1;margin-top:22px;font-size:14px}.contact-actions{display:flex;justify-content:center;gap:12px;margin:30px 0}.button-white{background:var(--cream);color:var(--navy)}.button-outline{border:1px solid #60717f;color:white}.button-outline:hover{background:#244057}.contact-location{font-size:8px;letter-spacing:1.6px;color:#b5c0c6}.contact-decoration{position:absolute;pointer-events:none;width:350px;height:350px;right:-180px;top:100px;border:1px solid #ffffff17;transform:rotate(45deg);box-shadow:0 0 0 45px #ffffff05,0 0 0 90px #ffffff03}footer{padding:0 7% 25px}.footer-top{display:grid;grid-template-columns:1.2fr 1.3fr 1.4fr 1fr;gap:25px;align-items:start;padding-bottom:40px}.footer-brand{display:block;font-size:30px}.footer-top p,.footer-top address{font-size:11px;font-style:normal;color:var(--muted);line-height:1.9}.footer-top address a{display:inline-block;margin-top:8px;color:var(--navy);border-bottom:1px solid #adb4b8}.footer-phone{font-size:13px;white-space:nowrap}.footer-bottom{padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.skip-link{position:fixed;top:-100px;left:20px;background:white;padding:12px;z-index:10}.skip-link:focus{top:10px}@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero{min-height:750px}.hero-photo{min-height:750px}}@media(max-width:1100px){.header nav{gap:20px}.hero-actions{gap:15px}.hero{grid-template-columns:1fr 1fr}.hero-copy{padding-right:25px}h1{font-size:52px}.hero-photo,.hero{min-height:620px}.section{padding:70px 5%}.service{padding-right:15px}.service+.service{padding-left:15px}.service h3{font-size:16px}.about{gap:6%}.about-image{height:560px}.footer-top{grid-template-columns:1fr 1fr;row-gap:30px}}@media(max-width:760px){html{scroll-padding-top:20px}.topbar{justify-content:center;font-size:8px;padding:8px 4%}.insured{display:none}.header{height:82px;padding:0 6%;position:relative;z-index:2}.brand{font-size:28px}.brand svg{width:43px}.brand small{font-size:6px}.menu-toggle{display:flex;gap:12px;align-items:center;background:none;border:1px solid #bac2c5;padding:8px 12px;font-size:12px;color:var(--navy)}.header nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--cream);padding:20px 6% 25px;box-shadow:0 10px 12px #0001;align-items:stretch}.header nav.is-open{display:flex;flex-direction:column}.header nav>a{padding:8px}.hero{display:flex;flex-direction:column;padding:0;min-height:0}.hero-copy{padding:42px 6%}.eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:23px}h1{font-size:clamp(42px,8vw,62px);letter-spacing:-2px}.hero-description{font-size:15px;max-width:340px;margin-top:22px}.hero-actions{margin-top:25px;gap:20px}.button{padding:16px 18px}.hero-note{margin-top:30px}.hero-photo{min-height:440px;margin-left:6%}.photo-badge{left:-12px;bottom:32px;min-width:270px;padding:20px 25px}.photo-badge strong{font-size:25px}.photo-label{left:18px;top:18px;font-size:7px}.trust-strip{padding:22px 6%;flex-wrap:wrap;justify-content:center;gap:14px 25px;font-size:10px}.trust-strip svg{width:18px;height:18px}.section{padding:60px 6%}h2{font-size:38px;letter-spacing:-1.8px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:22px;font-size:13px}.service-grid{grid-template-columns:1fr 1fr}.service{padding:22px 18px 22px 0}.service+.service{padding-left:18px}.service:nth-child(3){border-left:0;padding-left:0}.service:nth-child(n+3){border-top:1px solid var(--line)}.service h3{font-size:16px}.service-top{margin-bottom:20px}.service-bottom{font-size:8px}.about{padding-top:0;grid-template-columns:1fr;gap:35px}.about-image{height:430px}.about-copy h2 br:nth-child(2){display:none}.about-copy>p:not(.eyebrow){max-width:none}.process .section-heading>.text-link{display:inline-block;margin-top:24px}.process-grid{grid-template-columns:1fr;gap:28px}.process-grid h3{margin-top:8px}.process-grid p{max-width:none}.faq{grid-template-columns:1fr;gap:30px}.contact{margin:0 3% 40px;padding:55px 6%}.contact h2{font-size:46px}.contact-actions{flex-direction:column;max-width:300px;margin:28px auto}.contact-location{font-size:7px;letter-spacing:.8px}.footer-top{gap:28px 20px}.footer-top p{font-size:10px}.footer-phone{font-size:12px}.footer-bottom{gap:16px;flex-direction:column;font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Persistent WhatsApp contact, with room for mobile safe areas. */
.whatsapp-button {
  position: fixed;
  right: calc(24px + env(safe-area-inset-right, 0px));
  bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 22px;
  height: 60px;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 700;
  white-space: nowrap;
  background: #25d366;
  color: #fff;
  box-shadow: 0 4px 20px #0003;
  transition: transform .2s, background .2s;
}
.whatsapp-button svg { width: 32px; height: 32px; }
.whatsapp-button:hover { background: #128c46; transform: translateY(-3px); }
.whatsapp-button:focus-visible { outline: 3px solid var(--navy); outline-offset: 4px; }
footer { padding-bottom: 100px; }
@media (max-width: 760px) {
  .whatsapp-button {
    padding: 0 18px;
    height: 56px;
    right: calc(16px + env(safe-area-inset-right, 0px));
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  }
}

.contact-form { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 660px; margin: 36px auto 0; text-align: left; }
.form-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.form-field label { font-size: 13px; font-weight: 600; }
.form-field label span { color: #c2ccd1; font-weight: 400; }
.form-field input, .form-field select, .form-field textarea { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid #60717f; border-radius: 3px; background: #f7f6f2; color: var(--ink); font: inherit; font-size: 15px; }
.form-field textarea { resize: vertical; }
.form-field input:focus-visible, .form-field select:focus-visible, .form-field textarea:focus-visible { outline: 3px solid #c1b297; outline-offset: 3px; }
.form-wide { grid-column: 1 / -1; }
.form-note { color: #c2ccd1; font-size: 12px; margin-bottom: 16px; }
.contact-form button { border: 0; cursor: pointer; }
.contact-form button:disabled { opacity: .65; cursor: wait; transform: none; }
.form-status { font-size: 14px; }
.form-status:empty { display: none; }
.form-status[data-state="error"] { color: #ffd3cb; }
.form-status[data-state="success"] { color: #bff1ce; }
.form-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 760px) { .contact-form { grid-template-columns: 1fr; } }
