

.hf {--cream:#fff5d9;--teal:#1a4d4e;--navy:#182241;--slate:#213c4e;color:var(--navy);background:#fbf8ef;font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.65;overflow-wrap:break-word}
.hf *, .hf *:before,.hf *:after {box-sizing:border-box}
.hf h1,.hf h2,.hf h3,.hf p,.hf ul {margin:0;color:inherit;font-family:inherit;letter-spacing:normal}
.hf h1 {font-size:clamp(36px,4.4vw,66px);line-height:1.08;font-weight:400;letter-spacing:-.045em;max-width:960px}
.hf h2 {font-size:clamp(28px,3vw,43px);line-height:1.16;font-weight:400;letter-spacing:-.035em}
.hf h3 {font-size:24px;line-height:1.3;font-weight:500;letter-spacing:-.025em}
.hf p+p {margin-top:16px}.hf a{color:inherit;text-underline-offset:5px}.hf a:hover{text-decoration-thickness:2px}
.hf a:focus-visible,.hf summary:focus-visible {outline:3px solid var(--teal);outline-offset:5px}
.hf .wrap {width:min(1200px,calc(100% - 96px));margin:auto}
.hf .nav {padding:20px 0;background:#f5f1e6;border-bottom:1px solid #d9ded4}
.hf .nav .wrap {display:flex;align-items:center;justify-content:space-between;gap:28px}
.hf .logo {display:block;width:130px;height:82px;object-fit:contain}
.hf .navlinks {display:flex;align-items:center;gap:24px;font-size:14px;flex-wrap:wrap}
.hf .nav a {text-decoration:none}.hf .nav a:hover{text-decoration:underline}
.hf .button {display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 25px;border:1px solid var(--teal);background:var(--teal);color:var(--cream)!important;text-decoration:none;font-size:14px;line-height:1.35;font-weight:600;letter-spacing:.01em;border-radius:3px}
.hf .button.alt {background:transparent;color:var(--teal)!important}
.hf .eyebrow {font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--teal);margin-bottom:20px}
.hf .hero {padding:80px 0 76px;background:var(--cream)}
.hf .lead {font-size:20px;line-height:1.65;max-width:730px;margin-top:26px;color:var(--slate)}
.hf .actions {display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.hf .split {display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.hf .hero-photo {width:100%;height:auto;display:block;border-radius:2px}
.hf .section {padding:76px 0}.hf .section.white {background:#fffdf7}.hf .section.teal {background:var(--teal);color:var(--cream)}
.hf .section.teal .eyebrow {color:var(--cream)}
.hf .sectionhead {display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:36px}
.hf .sectionhead p {max-width:430px;color:var(--slate)}
.hf .grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.hf .grid.four {grid-template-columns:repeat(4,minmax(0,1fr))}.hf .grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.hf .card {padding:32px;background:#fffdf7;border:1px solid #cdd4c9;border-top:3px solid var(--teal);display:flex;flex-direction:column;gap:20px;min-width:0}
.hf .card .price {font-size:38px;line-height:1.1;letter-spacing:-.04em;color:var(--teal)}
.hf .card .price small {font-size:16px;letter-spacing:0}.hf .card .sub {font-size:14px;color:var(--slate)}
.hf .card ul {padding:0;list-style:none;font-size:16px}.hf .card li{padding:12px 0;border-bottom:1px solid #e1e4da}
.hf .card .button {margin-top:auto}.hf .card .note{font-size:14px;color:var(--slate)}
.hf .featured {background:var(--cream);border-color:var(--teal)}
.hf .tag {font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--teal)}
.hf .small {font-size:14px;line-height:1.7}.hf .muted{color:var(--slate)}
.hf .steps {counter-reset:step;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin-top:36px}
.hf .step:before{counter-increment:step;content:'0' counter(step);display:block;font-size:14px;letter-spacing:.15em;border-top:1px solid #8ca5a0;padding-top:18px;margin-bottom:20px}
.hf .step h3{font-size:21px;margin-bottom:12px}.hf .step p{font-size:15px}
.hf .copy {max-width:850px}.hf .copy h2 {margin:48px 0 20px}.hf .copy h3{margin:30px 0 14px}.hf .copy ul{padding-left:22px;margin:18px 0}.hf .copy li+li{margin-top:10px}
.hf .rule {border-top:1px solid #cdd4c9;padding-top:24px;margin-top:30px}
.hf .callout {padding:28px;background:#e8ece3;border-left:3px solid var(--teal)}
.hf .faqnav {display:flex;gap:18px;flex-wrap:wrap;margin:30px 0}.hf details{border-top:1px solid #c9d1c7;padding:20px 0}.hf details:last-child{border-bottom:1px solid #c9d1c7}.hf summary{cursor:pointer;font-size:20px;line-height:1.4;padding-right:20px}.hf details p{margin-top:18px;font-size:16px;max-width:800px}
.hf .photo-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:28px}.hf .photo-row img{width:100%;height:200px;object-fit:cover;display:block}
.hf .division-img{width:100%;height:190px;object-fit:cover;margin-bottom:8px}.hf .foot {padding:50px 0;background:var(--slate);color:var(--cream);font-size:14px}.hf .foot .wrap{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap}.hf .footnav{display:flex;gap:22px;flex-wrap:wrap}.hf .foot a:focus-visible{outline-color:var(--cream)}
.hf .mobilemenu{display:none}.hf .skip{position:absolute;left:-10000px}.hf .skip:focus{left:20px;top:20px;z-index:999;background:var(--cream);padding:16px}
@media(max-width:1000px){.hf .navlinks{gap:15px}.hf .grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.hf .split{gap:30px}.hf .card{padding:25px}.hf .wrap{width:calc(100% - 56px)}}
@media(max-width:760px){.hf .wrap{width:calc(100% - 40px)}.hf .nav .wrap{gap:15px;align-items:center}.hf .logo{width:112px;height:70px}.hf .navlinks{display:none}.hf .mobilemenu{display:block;position:relative;border:0;padding:0}.hf .mobilemenu summary{font-size:15px}.hf .mobilemenu div{position:absolute;right:0;top:40px;z-index:100;background:var(--cream);padding:22px;width:230px;border:1px solid #b5c2b6;display:grid;gap:15px}.hf .hero{padding:48px 0}.hf .split{grid-template-columns:1fr;gap:32px}.hf .hero-photo{max-height:400px;object-fit:contain}.hf .lead{font-size:18px}.hf .section{padding:50px 0}.hf .sectionhead{display:block}.hf .sectionhead p{margin-top:18px}.hf .grid,.hf .grid.four,.hf .grid.two{grid-template-columns:1fr}.hf .steps{grid-template-columns:1fr 1fr;gap:26px}.hf .card{padding:27px}.hf .photo-row{grid-template-columns:1fr 1fr}.hf .photo-row img{height:160px}.hf .foot .wrap{display:block}.hf .footnav{margin-top:25px}.hf .actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){.hf *{scroll-behavior:auto!important;transition:none!important}}

.hf .section.teal .sectionhead p{color:var(--cream)}.hf .homehero img,.hf .original-photo{object-fit:contain!important;height:auto!important}.hf .homehero{grid-template-columns:.9fr 1.1fr}.hf .homehero h1{font-size:clamp(36px,4vw,60px)}.hf .division-img{object-fit:contain;background:var(--cream)}@media(max-width:760px){.hf .homehero{grid-template-columns:1fr}}

.hf .division-img.original-photo{height:190px!important;object-fit:contain!important}.hf .photo-row .original-photo{height:200px!important;object-fit:contain!important;background:#f5f1e6}@media(max-width:760px){.hf .photo-row .original-photo{height:160px!important}}

/* Comfortable keyboard/touch target for the shared mobile menu. */
@media(max-width:760px){.hf .mobilemenu summary{display:flex;align-items:center;justify-content:center;min-height:48px;min-width:64px;list-style:none}.hf .mobilemenu div{top:52px}.hf .mobilemenu div a{display:flex;align-items:center;min-height:44px}}

/* Owner-approved homepage van-background preview — October 21, 2026. */
.hf .hero {position:relative;isolation:isolate;overflow:hidden;min-height:680px;padding:92px 0;background:var(--teal);color:#fff}
.hf .hero .hero-photo {position:absolute;inset:0;z-index:-2;width:100%;height:100%!important;max-height:none;object-fit:cover!important;object-position:center bottom;border-radius:0}
.hf .hero:before {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,40,41,.94) 0%,rgba(10,40,41,.88) 38%,rgba(10,40,41,.52) 65%,rgba(10,40,41,.22) 100%)}
.hf .hero .homehero {display:block}
.hf .hero .homehero>div {max-width:650px}
.hf .hero h1,.hf .hero .eyebrow,.hf .hero .lead,.hf .hero .slogan {color:#fff}
.hf .hero .slogan {font-size:clamp(22px,2.2vw,30px);line-height:1.4;margin-top:24px;max-width:620px}
.hf .hero .lead {max-width:590px}
.hf .hero .button {background:var(--cream);border-color:var(--cream);color:var(--teal)!important}
.hf .hero .button.alt {background:var(--teal);border-color:var(--cream);color:var(--cream)!important}
.hf .hero a:focus-visible {outline-color:#fff}
@media(max-width:760px){.hf .hero{min-height:760px;padding:56px 0}.hf .hero .hero-photo{object-position:60% center}.hf .hero:before{background:linear-gradient(180deg,rgba(10,40,41,.89),rgba(10,40,41,.80) 62%,rgba(10,40,41,.36))}.hf .hero .slogan{font-size:24px}}

/* Owner-approved full-width hero separator. */
.hf .hero {border-bottom:5px solid var(--cream)}

/* Owner-approved header Services disclosure. */
.hf .services,.hf .services:last-child {position:relative;border:0;padding:0;margin:0}
.hf .services>summary {font-size:inherit;font-weight:inherit;padding:0;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;min-height:44px;color:inherit}
.hf .services>summary::-webkit-details-marker {display:none}
.hf .services>summary:after {content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px}
.hf .services[open]>summary:after {transform:rotate(225deg);margin-top:4px}
.hf .services>ul {position:absolute;top:100%;left:0;z-index:200;min-width:200px;margin:0;padding:10px;list-style:none;background:var(--cream);color:var(--teal);border:1px solid #b5c2b6;border-radius:3px;box-shadow:0 8px 20px rgba(24,34,65,.12)}
.hf .services:not([open])>ul {display:none}
.hf .services[open]>ul {display:grid;gap:2px}
.hf .services>ul a {display:flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:2px}
.hf .services>ul a:hover {background:rgba(26,77,78,.08)}
@media(max-width:760px){.hf .mobilemenu .services>summary{justify-content:flex-start;min-width:0;font-size:inherit}.hf .mobilemenu .services>ul{position:static;min-width:0;width:100%;padding:4px 0 4px 12px;border:0;border-left:2px solid var(--teal);box-shadow:none;border-radius:0}.hf .mobilemenu .services>ul a{padding:6px 8px}}

/* Owner-requested arrow-free Services hover menu. */
.hf .services>summary:after {display:none}
.hf .services-label {appearance:none;background:none;border:0;border-radius:0;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;min-height:44px;display:flex;align-items:center}
.hf .services-hover>ul {display:none}
.hf .services-hover:hover>ul,.hf .services-hover:focus-within>ul {display:grid;gap:2px}
.hf .services-label:focus-visible {outline:3px solid var(--teal);outline-offset:5px}

/* Owner-approved green frosted Services panel. */
.hf .services>ul {min-width:224px;padding:10px;background:linear-gradient(145deg,rgba(26,77,78,.96),rgba(14,48,49,.94));color:var(--cream);border:1px solid rgba(255,245,217,.24);border-radius:0 0 12px 12px;box-shadow:0 18px 38px rgba(8,30,31,.24),inset 0 1px 0 rgba(255,245,217,.12);overflow:hidden;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);clip-path:inset(0 round 0 0 12px 12px)}
.hf .services-hover {z-index:300;filter:drop-shadow(0 10px 16px rgba(8,30,31,.18))}
.hf .services-hover>ul {display:grid;gap:3px;visibility:hidden;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity 200ms ease,transform 240ms cubic-bezier(.2,.7,.3,1),visibility 240ms}
.hf .services-hover:hover>ul,.hf .services-hover:focus-within>ul {visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}
.hf .services>ul a {min-height:46px;border-radius:6px;padding:10px 14px;color:var(--cream);transition:background-color 160ms ease}
.hf .services>ul a:hover,.hf .services>ul a:focus-visible {background:rgba(255,245,217,.12);text-decoration:none}
.hf .services>ul a:focus-visible {outline-color:var(--cream);outline-offset:-3px}
@media(max-width:760px){.hf .mobilemenu .services>ul{padding:6px;background:linear-gradient(145deg,rgba(26,77,78,.97),rgba(14,48,49,.97));color:var(--cream);border:1px solid rgba(255,245,217,.24);border-radius:8px;box-shadow:0 6px 16px rgba(8,30,31,.12)}.hf .mobilemenu .services>ul a{padding:8px 12px}.hf .mobilemenu .services[open]>ul{animation:hf-services-reveal 200ms ease-out}}
@keyframes hf-services-reveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.hf .services-hover>ul,.hf .services>ul a{transition:none;transform:none}.hf .mobilemenu .services[open]>ul{animation:none}}

/* Owner-approved matching homepage division button proportions. */
.hf #divisions .card>.button {min-height:66px;flex-shrink:0;align-self:stretch;justify-content:center;text-align:center}
