/* Overlay navigation and glass card. Opaque card is the no-blur fallback. */
.home-page{--hero-nav-height:90px}
.home-page>header{position:fixed;top:0;left:0;right:0;z-index:50;background:transparent;border-bottom:1px solid transparent;transition:background-color .22s ease,box-shadow .22s ease,border-color .22s ease}
.home-page>header.is-scrolled,.home-page>header:has(.nav.open){background:#faf7f0;box-shadow:0 3px 16px #3326190b;border-bottom-color:#d9d1c2}
.home-page .header-inner{height:var(--hero-nav-height);max-width:1300px;width:calc(100% - 96px)}
.home-page .nav{gap:35px}.home-page .nav>a{color:#24241b;text-shadow:0 1px 8px #fff8eb80}
.home-page .nav .btn{margin-left:55px;color:#fff;text-shadow:none;min-height:46px;padding:11px 25px}
.home-page .skip{z-index:100}
.home-page .reference-hero{min-height:100svh;padding:calc(var(--hero-nav-height) + 30px) 0 18px;grid-template-rows:1fr auto;row-gap:25px}
.home-page .reference-hero:after{background:linear-gradient(180deg,#f7efe3d9 0,transparent 165px),linear-gradient(90deg,#f7efe3b8 0%,#f7efe3e8 30%,#f7efe3b3 55%,#f7efe322 100%)}
.home-page .hero-contact{background:#faf6ee;border:1px solid #eee5d4;border-radius:10px;box-shadow:0 12px 35px #3021161c,inset 0 1px 0 #ffffffa6;padding:30px 30px 26px}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.home-page .hero-contact{background:rgba(255,248,238,.28);border-color:rgba(255,248,238,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}}
.home-page .hero-contact .hero-contact-fields{gap:13px}
.home-page .hero-contact .field{color:#241f19;text-shadow:0 1px 3px #fff8ee80}
.home-page .hero-contact .field input,.home-page .hero-contact .field select{color:#241f19;background:rgba(255,248,238,.68);border-color:rgba(112,98,76,.48);box-shadow:inset 0 1px 2px #37241406;text-shadow:none;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}
.home-page .hero-contact .field input::placeholder{color:#62594e;opacity:1}
.home-page .hero-contact .field input:focus,.home-page .hero-contact .field select:focus{background:rgba(255,248,238,.83);border-color:#795b62;outline:2px solid rgba(112,23,42,.28);outline-offset:2px;box-shadow:0 0 0 4px rgba(112,23,42,.08)}
.home-page .hero-contact .field input:autofill{background:rgba(255,248,238,.78);color:#241f19;caret-color:#241f19}
.home-page .hero-contact .field input:-webkit-autofill,.home-page .hero-contact .field input:-webkit-autofill:hover,.home-page .hero-contact .field input:-webkit-autofill:focus{-webkit-text-fill-color:#241f19;caret-color:#241f19;-webkit-background-clip:text;box-shadow:inset 0 0 0 1000px rgba(255,248,238,.78)}
.home-page .hero-contact .field input:-webkit-autofill:focus{box-shadow:inset 0 0 0 1000px rgba(255,248,238,.83),0 0 0 4px rgba(112,23,42,.08)}
.home-page .hero-contact select option{background:#fffdf8;color:#29251f}
.home-page .hero-contact .status{background:#faf5ebf5}.home-page .hero-contact .status.error{color:#752033;background:#fff7f1;border-color:#b88a87}
.home-page .hero-scroll-cue{display:flex;align-items:center;justify-content:center;width:46px;height:44px;margin:0 auto;align-self:end;color:#514d36;background:transparent;border:0;border-radius:3px;box-shadow:none;text-decoration:none}
.home-page .hero-scroll-cue svg{animation:hero-chevron-drift 2.2s ease-in-out infinite}
@keyframes hero-chevron-drift{0%,100%{transform:translateY(-3px)}50%{transform:translateY(4px)}}
.home-page .hero-scroll-cue:hover{color:#70172a}.home-page .hero-scroll-cue:focus-visible{outline:3px solid #70172a;outline-offset:4px}
.home-page #services{scroll-margin-top:calc(var(--hero-nav-height) + 20px)}
@media(max-width:1100px){.home-page .header-inner{width:calc(100% - 56px)}.home-page .nav{gap:24px}.home-page .nav .btn{margin-left:10px;padding-inline:18px}}
@media(max-width:800px){.home-page .reference-hero:after{background:linear-gradient(180deg,#f7efe3df 0%,#f7efe3c9 27%,#f7efe355 45%,#f7efe322 75%,#f7efe355)}.home-page .hero-contact{padding:28px}}
@media(max-width:780px){.home-page{--hero-nav-height:76px}.home-page .header-inner{height:var(--hero-nav-height);width:calc(100% - 40px)}.home-page .nav{top:var(--hero-nav-height);left:-20px;right:-20px;background:#faf7f0;max-height:calc(100dvh - var(--hero-nav-height));overflow:auto;padding:22px 20px;gap:18px 25px}.home-page .nav .btn{margin-left:0}.home-page .menu-toggle{color:#29291f;background:#faf6ebd9;border-color:#c6bfae;min-height:44px}.home-page .reference-hero{padding-top:calc(var(--hero-nav-height) + 28px)}}
@media(max-width:580px){.home-page .header-inner{width:calc(100% - 32px)}.home-page .nav{left:-16px;right:-16px}.home-page .hero-contact{padding:24px 20px}.home-page .reference-hero{padding-bottom:18px;row-gap:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.home-page>header,.home-page .hero-scroll-cue,.home-page .hero-contact .field input,.home-page .hero-contact .field select{transition:none}}

@media(prefers-reduced-motion:reduce){.home-page .hero-scroll-cue svg{animation:none}}
/* Compact hero form: service and guest estimate frame two paired contact rows. */
.home-page .hero-contact{padding:22px 24px 20px}
.home-page .hero-contact .hero-form-kicker{margin-bottom:7px}
.home-page .hero-contact h2{font-size:30px;margin-bottom:17px}
.home-page .hero-contact .hero-contact-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
.home-page .hero-contact-fields>.field:first-child,.home-page .hero-contact-fields>.field:last-child{grid-column:1/-1}
.home-page .hero-contact .field input,.home-page .hero-contact .field select{min-height:44px}
.home-page .hero-contact .hero-minimum{margin-top:8px}
.home-page .hero-contact #turnstile{margin-top:8px}
.home-page .hero-contact .status{padding:8px 10px;margin-top:8px;font-size:12px;line-height:1.4}
.home-page .hero-contact .text-button{padding:8px 0;min-height:36px}
.home-page .hero-contact #submit-button{min-height:46px}
.home-page .reference-cards{margin:0 auto;padding-top:90px;padding-bottom:80px}
@media(max-width:800px){.home-page .reference-cards{padding-top:64px;padding-bottom:60px}}
@media(max-width:580px){.home-page .hero-contact{padding:22px 20px}.home-page .hero-contact .hero-contact-fields{grid-template-columns:1fr;gap:11px}.home-page .reference-cards{padding-top:56px;padding-bottom:52px}}
.home-page .hero-plan-cta{margin-top:26px;gap:24px}
.home-page .nav .btn{opacity:1;visibility:visible;transition:opacity .4s ease,visibility 0s linear 0s}
.home-page .nav .btn.hero-cta-visible{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s ease,visibility 0s linear .4s}
.home-page .hero-scroll-cue{color:#fff;width:52px;height:48px}
.home-page .hero-scroll-cue:hover{color:#fff}
.home-page .hero-scroll-cue svg{filter:none}
.home-page .hero-scroll-cue:focus-visible{outline:3px solid #70172a;outline-offset:4px}
.home-page .services-intro{grid-column:1/-1;max-width:790px;margin:0 auto 22px;text-align:center}
.home-page .services-intro .section-kicker{font:11px/1.4 Arial,sans-serif;letter-spacing:2.3px;color:#68683b;margin-bottom:17px}
.home-page .services-intro h2{font-size:clamp(34px,3.2vw,48px);line-height:1.1;letter-spacing:-1px;scroll-margin-top:calc(var(--hero-nav-height) + 28px)}
.home-page .services-intro>p:last-child{font-size:19px;line-height:1.55;color:#514b42;margin-top:20px}
.home-continuation .copy-subheading{font-size:23px;line-height:1.25;margin:25px 0 12px;color:#47452e}
@media(max-width:580px){.home-page .services-intro{margin-bottom:16px}.home-page .services-intro>p:last-child{font-size:18px}.home-page .hero-plan-cta{margin-top:22px}}
@media(prefers-reduced-motion:reduce){.home-page .nav .btn,.home-page .nav .btn.hero-cta-visible{transition:none}}
/* Keep the introductory eyebrow visible along with the anchor heading. */
.home-page .services-intro h2{scroll-margin-top:calc(var(--hero-nav-height) + 56px)}
