/* Visitor-facing refinements. The catalog, property cards and photos are unchanged. */
@media screen {
  .home .contact-draft { margin:4px 0 24px; padding:18px 0 0; border-top:1px solid var(--line); }
  .home .contact-draft[hidden], .home .contact-draft-clear[hidden] { display:none; }
  .home .contact-form .contact-draft-option { display:grid; grid-template-columns:18px minmax(0,1fr); align-items:start; gap:11px; color:var(--green); font-size:13px; line-height:1.65; cursor:pointer; }
  .home .contact-form .contact-draft-option input { appearance:auto; width:18px; height:18px; min-height:18px; margin:2px 0 0; padding:0; border:0; border-radius:0; box-shadow:none; accent-color:var(--green); }
  .home .contact-form .contact-draft-option input:focus-visible { outline:2px solid var(--green); outline-offset:3px; }
  .home .contact-draft .contact-draft-help, .home .contact-draft .contact-draft-status { color:#556350; font-size:12px; line-height:1.7; margin:8px 0 0; }
  .home .contact-draft .contact-draft-status:empty { margin:0; }
  .home .contact-draft-clear { min-height:44px; margin:9px 0 0; padding:8px 0; border:0; border-bottom:1px solid var(--gold); background:transparent; color:var(--green); font:500 12px/1.6 var(--sans); cursor:pointer; }
  .home .contact-draft-clear:focus-visible { outline:2px solid var(--green); outline-offset:4px; }
}
@media screen {
  /* Section links arrive immediately, including across the long homepage. */
  html:has(body.home) { scroll-behavior:auto; }
  .home .site-header .brand { flex-shrink:0; }
  .home .desktop-nav a { font-size:13px; }
  .home .site-header a:focus-visible,
  .home .mobile-nav a:focus-visible,
  .home .menu-toggle:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
  .home .hero h1 { text-wrap:balance; }
  .home .hero-service-area { font-size:.9em; margin-top:5px; color:#e0e5da; }
  .home .hero-secondary { width:max-content; min-height:50px; padding:8px 0; background:transparent; border:0; border-bottom:1px solid #f6f5f099; gap:32px; }
  .home .hero-secondary:hover { border-color:var(--paper); background:transparent; }
  .home .hero-secondary:focus-visible { outline:2px solid var(--paper); outline-offset:5px; }

  .home .contact-section { gap:clamp(44px,7vw,110px); padding:88px 6.5%; align-items:start; }
  .home .contact-copy { padding-top:14px; }
  .home .contact-copy>p:not(.eyebrow) { max-width:390px; font-size:15px; line-height:1.85; color:#e0e5da; }
  .home .contact-copy h2 { font-size:clamp(36px,3.4vw,54px); line-height:1.22; letter-spacing:-1px; }
  .home .contact-channel { margin-top:32px; }
  .home .contact-channel:focus-visible { outline:2px solid var(--gold); outline-offset:7px; }
  .home .contact-form { min-width:0; padding:32px; background:var(--paper); color:var(--green); border:1px solid #c4b391; box-shadow:0 18px 50px #10261d1f; }
  .home .contact-form .contact-steps { border-color:var(--line); color:#657064; margin-bottom:26px; padding-bottom:20px; }
  .home .contact-form .contact-steps li[aria-current] { color:var(--green); }
  .home .contact-form .contact-steps li>span { display:grid; place-items:center; width:25px; height:25px; border:1px solid #a8b0a3; border-radius:50%; font-size:10px; letter-spacing:0; }
  .home .contact-form .contact-steps li[aria-current]>span { color:var(--paper); background:var(--green); border-color:var(--green); }
  .home .contact-form .form-title { font-size:29px; line-height:1.25; letter-spacing:-.45px; gap:20px; margin-bottom:27px; }
  .home .contact-form .form-title>span:last-child { font-size:23px; flex-shrink:0; color:#85714c; }
  .home .contact-form>label { color:var(--green); font-size:12px; gap:9px; margin-bottom:20px; }
  .home .contact-form .optional-label { color:#657064; }
  .home .contact-form input,
  .home .contact-form select,
  .home .contact-form textarea { border:1px solid #b8c0b3; background:#ffffffa6; color:var(--green); border-radius:0; min-height:52px; padding:12px 14px; font-size:15px; line-height:1.65; transition:border-color .15s,box-shadow .15s; }
  .home .contact-form textarea { min-height:120px; }
  .home .contact-form input::placeholder,
  .home .contact-form textarea::placeholder { color:#687464; opacity:1; }
  .home .contact-form select>option { color:var(--green); background:var(--paper); }
  .home .contact-form input:focus,
  .home .contact-form select:focus,
  .home .contact-form textarea:focus { border-color:var(--green); box-shadow:0 0 0 2px #203e3520; outline:2px solid transparent; outline-offset:2px; }
  .home .contact-form>.button { min-height:56px; padding:16px 20px; background:var(--green); color:var(--paper); border:1px solid var(--green); font-size:13px; line-height:1.6; gap:20px; text-align:left; }
  .home .contact-form>.button:hover { background:#355449; transform:none; }
  .home .contact-form>.button:focus-visible { outline:2px solid var(--green); outline-offset:4px; }
  .home .contact-form .contact-local-note,
  .home .contact-form .form-note { max-width:none; color:#556350; font-size:12px; line-height:1.75; }
  .home .contact-form .contact-local-note { margin-top:18px; }
  .home .contact-form .form-note { margin-top:7px; }
}
@media screen and (max-width:1200px) {
  .home .mobile-nav { padding:20px 6% 24px; border-top:1px solid var(--line); }
  .home .mobile-nav-eyebrow { font-size:9px; font-weight:600; letter-spacing:1.7px; color:#85714c; margin:0 0 8px; }
  .home .mobile-nav>a { min-height:52px; padding:10px 0; font:400 24px/1.3 var(--serif); border-bottom:1px solid var(--line); }
  .home .mobile-nav>a>span { font:400 19px var(--sans); }
  .home .mobile-nav>a[aria-current="location"] { color:#85714c; font-weight:400; }
  .home .mobile-nav .mobile-nav-contact { padding:13px 17px; margin-top:18px; background:var(--green); color:var(--paper); border-color:var(--green); font:500 14px/1.5 var(--sans); }
  .home .mobile-nav .mobile-nav-contact>span { color:var(--paper); }
  .home .mobile-nav-note { margin:18px 0 0; font-size:11px; line-height:1.8; }
}
@media screen and (max-width:900px) {
  .home .contact-section { grid-template-columns:1fr; gap:36px; padding:64px 6%; }
  .home .contact-copy { padding-top:0; }
  .home .contact-copy>p:not(.eyebrow) { max-width:490px; }
  .home .contact-brand { display:none; }
  .home .contact-form { width:100%; max-width:640px; }
}
@media screen and (max-width:600px) {
  .home .hero-actions { gap:12px; }
  .home .hero-secondary { width:100%; max-width:none; min-height:48px; padding:10px 0; }
  .home .contact-section { gap:32px; padding:56px 6%; }
  .home .contact-copy h2 { font-size:clamp(34px,9.5vw,40px); line-height:1.24; }
  .home .contact-copy>p:not(.eyebrow) { font-size:14px; margin-top:23px; }
  .home .contact-channel { margin-top:25px; }
  .home .contact-form { padding:25px 20px; }
  .home .contact-form .form-title { font-size:27px; margin-bottom:24px; }
  .home .contact-form input,
  .home .contact-form select,
  .home .contact-form textarea { font-size:16px; }
}
@media screen and (max-width:360px) {
  .home .contact-form { padding:23px 16px; }
  .home .contact-form .contact-steps { gap:16px; font-size:11px; }
  .home .mobile-nav>a { font-size:22px; }
}
@media screen and (prefers-reduced-motion:reduce) {
  .home .contact-form input,.home .contact-form select,.home .contact-form textarea { transition:none; }
}
