:root{--ink:#162d31;--teal:#008c9a;--aqua:#3bcbd6;--gold:#b48b44;--muted:#5b6d70;--pale:#eefafb;--line:#d7e9eb;--shadow:0 14px 40px #173f4610}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:white;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--teal);outline-offset:5px}img{max-width:100%}.icon{display:inline-block;width:21px;height:21px;vertical-align:middle;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.announcement{padding:8px 6%;display:flex;justify-content:space-between;background:var(--ink);color:#fff;font-size:13px}.announcement span{color:#c9e9eb}header{padding:20px max(5%,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);background:#fcffff}.brand{display:inline-flex;flex-direction:column;flex-shrink:0;line-height:1}.brand strong{font-family:Georgia,serif;font-size:43px;font-style:italic;color:var(--teal);font-weight:normal}.brand .icon{width:19px;color:var(--gold);vertical-align:top;margin-left:8px}.brand small{font-size:11px;font-weight:700;letter-spacing:.23em;margin-top:8px}nav{display:flex;align-items:center;gap:26px;font-size:15px;font-weight:700}nav>a:hover,.text-link:hover{color:var(--teal)}.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;background:var(--teal);border:1px solid var(--teal);border-radius:9px;color:white;padding:16px 22px;box-shadow:0 9px 22px #008c9a20;font-weight:700;line-height:1.4;font-size:15px;transition:background .2s,transform .2s}.button:hover{background:#006b76;color:white;transform:translateY(-2px)}.button.small{padding:13px 21px;border-radius:26px 4px 26px 26px}.button.outline{background:white;border-color:var(--line);color:var(--ink);box-shadow:none}.button.outline:hover{border-color:var(--teal);color:var(--teal)}.actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:30px}.text-link{font-size:15px;font-weight:700}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:65px;padding:75px max(6%,calc((100% - 1180px)/2)) 80px;align-items:center;background:radial-gradient(ellipse at 5% 0%,#cff4f680,transparent 50%),linear-gradient(120deg,#fff 20%,#effbfc 100%);min-height:700px}.hero-copy{min-width:0}.eyebrow{display:inline-flex;align-items:center;max-width:100%;padding:7px 14px;background:#e6f7f8;border:1px solid #cce9eb;border-radius:99px;color:#006d78;font-size:12px;letter-spacing:.08em;font-weight:700;margin:0 0 22px;line-height:1.5}h1,h2,h3{margin:0;color:var(--ink);line-height:1.15}h1{font-size:clamp(42px,4.5vw,64px);letter-spacing:-.045em;font-weight:800;margin-bottom:25px}h1 em{display:inline-block;font-family:Georgia,serif;color:var(--teal);font-weight:400;letter-spacing:-.04em;line-height:1.2}h2{font-size:clamp(32px,3.2vw,46px);letter-spacing:-.035em;font-weight:750;margin:0 0 24px}h3{font-size:23px;font-weight:700;margin:16px 0 13px}p{color:var(--muted);margin:0 0 24px}.hero-copy>p:not(.eyebrow){font-size:18px}.hero-note{display:flex;flex-wrap:wrap;gap:9px 18px;font-size:13px;color:var(--muted);margin-top:28px}.hero-note span{border-left:2px solid var(--gold);padding-left:9px}.hero-image{position:relative;height:540px;isolation:isolate}.hero-image:before{content:'';position:absolute;inset:14px -14px -14px 14px;background:#ccf0f3;border:1px solid #abdce0;border-radius:260px 260px 28px 28px;z-index:-1}.hero-image>img{width:100%;height:100%;object-fit:cover;object-position:63% center;border:8px solid white;border-radius:260px 260px 24px 24px;box-shadow:0 20px 50px #19444a20}.floating-note{position:absolute;top:110px;left:-30px;z-index:2;background:white;box-shadow:0 12px 35px #173f4620;border-left:4px solid var(--gold);border-radius:12px;padding:17px 22px;font-size:14px}.floating-note .icon{display:block;color:var(--teal);margin-bottom:8px}.image-label{position:absolute;bottom:22px;left:24px;right:24px;background:#fffffff2;padding:20px 23px;border:1px solid white;border-radius:13px;box-shadow:var(--shadow)}.image-label span{font-size:11px;letter-spacing:.08em;display:block;color:var(--teal);font-weight:700;margin-bottom:4px}.image-label strong{font-size:16px}.section{padding:85px max(6%,calc((100% - 1180px)/2))}.section-heading{display:block;text-align:center;max-width:780px;margin:0 auto 42px}.section-heading>p{margin:0 auto;max-width:660px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;align-items:stretch}.service{background:white;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow)}.service-link{display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.service-link:hover{transform:translateY(-4px);border-color:var(--teal)}.service-top{display:flex;align-items:center;justify-content:space-between}.service-icon{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;color:var(--teal);background:var(--pale)}.service-icon .icon{width:27px;height:27px}.number{font-family:Georgia,serif;color:#718589;font-size:21px}.service p{font-size:15px;margin:0 0 15px}.card-checklist{list-style:none;padding:0;margin:0 0 24px;color:var(--muted);font-size:14px}.card-checklist li{position:relative;padding:7px 0 7px 17px;border-bottom:1px solid #eef4f4;line-height:1.6}.card-checklist li:before{content:'';position:absolute;left:0;top:15px;width:6px;height:6px;border:1px solid var(--teal);border-radius:50%}.detail-label{display:flex;align-items:center;justify-content:space-between;color:var(--teal);font-size:14px;font-weight:700;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}.detail-label b{display:flex;align-items:center}.fine{font-size:14px;line-height:1.7;margin:26px auto 0;max-width:900px}.frequency{text-align:center;background:linear-gradient(140deg,#f0fbfc,#fff 70%)}.frequency-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:38px;text-align:left}.frequency article{padding:28px 22px;background:white;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}.frequency article:nth-child(2){border-top:4px solid var(--teal);padding-top:25px}.frequency article>span{font-size:12px;color:var(--teal);font-weight:700}.frequency h3{font-size:26px;margin-top:20px}.frequency article p{font-size:15px;margin:0}.about{display:grid;grid-template-columns:.95fr 1.05fr;gap:80px;align-items:center}.portrait{position:relative;padding:0 15px 15px 0;isolation:isolate}.portrait:after{content:'';position:absolute;inset:15px 0 0 15px;border:1px solid #bce3e6;background:#edf9fa;border-radius:160px 24px 24px 24px;z-index:-1}.portrait img{width:100%;height:550px;display:block;object-fit:cover;object-position:center 25%;border-radius:160px 24px 24px 24px;box-shadow:var(--shadow);border:6px solid white}.signature{font-family:Georgia,serif;font-size:29px;font-style:italic;color:var(--teal);margin-top:30px}.areas{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;background:linear-gradient(115deg,#f0fbfc,#fff);align-items:center}.cities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.cities a{display:flex;align-items:center;justify-content:space-between;gap:10px;background:white;border:1px solid var(--line);border-radius:11px;padding:19px 17px;box-shadow:0 5px 18px #183b4006;font-weight:700;font-size:16px}.cities a .icon{color:var(--teal)}.cities a:hover{border-color:var(--teal);color:var(--teal)}.contact{text-align:center;background:var(--ink);color:white}.contact h2{color:white}.contact>.eyebrow{background:#25454a;color:#a3f0f5;border-color:#44676b}.contact>p:not(.eyebrow){color:#d0e0e2;max-width:680px;margin:0 auto}.contact .actions{justify-content:center}.contact .button{background:var(--aqua);border-color:var(--aqua);color:#14383c}.contact .outline{background:transparent;border-color:#6c8b90;color:white}.contact .button:hover{background:#8ee7ed;color:#14383c}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:35px max(6%,calc((100% - 1180px)/2));background:#f8fcfc}footer p{margin:0;font-size:14px}footer>span{color:var(--muted);font-size:13px}.detail-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;background:linear-gradient(120deg,#fff,#eefafb)}.detail-hero h1{font-size:clamp(40px,4.4vw,62px)}.detail-hero>img{width:100%;height:430px;object-fit:cover;border-radius:180px 180px 20px 20px;border:7px solid white;box-shadow:var(--shadow)}.detail-hero p:not(.eyebrow){font-size:18px}.breadcrumbs{font-size:14px;color:var(--muted);margin-bottom:25px}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.checklist-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px}.checklist{margin:0;padding:12px 28px 12px 48px;background:white;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.checklist li{padding:13px 0;border-bottom:1px solid var(--line)}.checklist li:last-child{border:0}.checklist li::marker{color:var(--teal)}.move-note,.local-details{background:var(--pale)}.move-note p,.local-details p{max-width:780px}.local-details h2{max-width:780px}@media(max-width:1050px){nav{gap:15px;font-size:14px}.hero{gap:40px;padding-left:5%;padding-right:5%}.hero-image{height:480px}.floating-note{left:-16px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.frequency-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about,.areas,.detail-hero,.checklist-section{gap:40px}.portrait img{height:490px}}@media(max-width:720px){.announcement{justify-content:center;font-size:12px}.announcement span{display:none}header{padding:18px 6%;flex-wrap:wrap;gap:20px}.brand strong{font-size:36px}nav{width:100%;overflow-x:auto;gap:20px;white-space:nowrap;padding:0 0 5px;min-height:46px}nav .small{padding:10px 16px}.hero{grid-template-columns:1fr;padding:42px 7% 60px;gap:38px;min-height:0}h1{font-size:48px}.hero-copy>p:not(.eyebrow){font-size:17px}.hero-image{height:440px;max-width:470px;width:calc(100% - 12px);margin:0 auto}.floating-note{top:78px;left:-8px;padding:13px 17px;font-size:13px}.image-label{left:18px;right:18px;padding:16px}.image-label strong{font-size:15px}.hero-note{font-size:12px;gap:10px}.section{padding:60px 7%}h2{font-size:35px}.eyebrow{font-size:11px}.service-grid{grid-template-columns:1fr;gap:20px}.service{padding:25px}.service h3{font-size:25px}.frequency-grid{gap:14px}.frequency article{padding:22px 18px}.frequency article:nth-child(2){padding-top:19px}.frequency article>span{font-size:11px}.frequency h3{font-size:24px}.frequency article p{font-size:14px}.about,.areas,.detail-hero,.checklist-section{grid-template-columns:1fr;gap:36px}.portrait{max-width:440px}.portrait img{height:auto;aspect-ratio:4/5;object-position:center top}.cities{gap:12px}.cities a{font-size:14px;padding:17px 13px}.cities .icon{width:17px}.contact .button{width:100%}.actions{gap:18px}.contact .actions{margin-top:28px}.detail-hero h1{font-size:43px}.detail-hero>img{height:320px}.detail-hero p:not(.eyebrow){font-size:17px}.breadcrumbs{font-size:13px}footer{flex-direction:column;align-items:flex-start;gap:20px}.checklist{padding-left:35px;padding-right:20px}}@media(max-width:380px){h1{font-size:42px}.frequency-grid{grid-template-columns:1fr}.hero-image{height:390px}.cities{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* 1.0.2: Compact mobile header with native, keyboard-accessible disclosure. */
.mobile-estimate, .mobile-menu { display: none; }
@media (max-width: 1050px) {
  header {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 44px;
    align-items: center;
    gap: 12px;
    padding: 18px 6%;
    z-index: 10;
  }
  header .desktop-nav { display: none; }
  header .brand { min-width: 0; }
  header .brand strong { font-size: 34px; }
  header .brand small { font-size: 9px; letter-spacing: .17em; }
  header .brand .icon { width: 15px; height: 15px; margin-left: 4px; }
  header .mobile-estimate {
    display: inline-flex;
    min-height: 44px;
    padding: 11px 14px;
    font-size: 13px;
    border-radius: 8px;
    white-space: normal;
    text-align: center;
    box-shadow: none;
  }
  .mobile-menu { display: block; }
  .mobile-menu summary {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--ink);
    background: white;
    cursor: pointer;
    list-style: none;
  }
  .mobile-menu summary::-webkit-details-marker { display: none; }
  .mobile-menu summary:focus-visible { outline: 3px solid var(--teal); outline-offset: 3px; }
  .mobile-menu summary .icon { width: 24px; height: 24px; }
  .mobile-menu summary .close-icon { display: none; }
  .mobile-menu[open] summary .icon:not(.close-icon) { display: none; }
  .mobile-menu[open] summary .close-icon { display: block; }
  .mobile-menu:not([open]) > .mobile-panel { display: none; }
  header .mobile-panel {
    position: absolute;
    top: calc(100% - 4px);
    right: 6%;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: min(320px, 88vw);
    min-width: 0;
    gap: 0;
    margin: 0;
    padding: 8px;
    overflow: visible;
    white-space: normal;
    background: white;
    border: 1px solid var(--line);
    border-radius: 12px;
    box-shadow: 0 14px 35px #173f4626;
  }
  .mobile-panel a { display: block; min-height: 44px; padding: 12px 14px; font-size: 15px; border-radius: 6px; }
  .mobile-panel a:hover { background: var(--pale); }
}
@media (max-width: 720px) {
  .hero { padding-top: 30px; }
  .detail-hero { padding-top: 30px; }
}
@media (max-width: 380px) {
  header { gap: 8px; padding: 15px 5%; }
  header .brand strong { font-size: 31px; }
  header .brand small { font-size: 8px; }
  header .mobile-estimate { max-width: 88px; padding: 8px 10px; font-size: 12px; }
}
