/* The public menu has one behavior across every page. The native dialog supplies
   focus containment and background inertness without changing the page's motion. */
body.new-home { --public-header-height: 90px; }
html { scroll-padding-top: 112px; }
body.new-home .public-header-wrap { position:sticky;top:0;z-index:80;background:#fbfbf5f5;backdrop-filter:blur(18px);border-bottom:1px solid #173f321a; }
body.new-home .public-header-wrap .home-header { position:relative;inset:auto;display:flex;align-items:center;justify-content:space-between;min-height:90px;max-width:1560px;margin:auto;padding:16px 4%;gap:24px;overflow:visible; }
body.new-home .home-header .brand { display:block;width:235px;max-width:26%;padding:0;background:none;border-radius:0;flex-shrink:0; }
body.new-home .home-header .brand img { width:100%;height:auto;display:block; }
body.new-home .home-header #home-nav { position:static;display:flex;align-items:center;gap:clamp(17px,2vw,30px);color:#173f32; }
body.new-home .home-header #home-nav>a { position:relative;font-size:.875rem;font-weight:600;line-height:1.5;min-height:48px;display:flex;align-items:center;text-shadow:none;white-space:nowrap; }
body.new-home .home-header #home-nav>a:not(.pill)::after { content:'';position:absolute;left:0;right:100%;height:2px;bottom:4px;background:#8c3547;transition:right .2s; }
body.new-home .home-header #home-nav>a[aria-current=page]::after,body.new-home .home-header #home-nav>a:hover::after { right:0; }
body.new-home .home-header #home-nav .nav-apply { display:flex;margin:0;background:#173f32;color:#fff;padding:13px 21px; }
body.new-home .home-header .nav-toggle { display:none; }
body.new-home .site-menu { color:#193e34;background:#f8f8f0;padding:0;border:0;border-radius:24px 0 0 24px;inset:0 0 0 auto;margin:0;width:min(460px,100%);height:100%;max-height:100dvh;max-width:100%;box-shadow:-20px 0 90px #0c292638; }
body.new-home .site-menu::backdrop { background:#0d262bb3;backdrop-filter:blur(6px); }
body.new-home .site-menu-inner { display:flex;flex-direction:column;min-height:100%;padding:28px max(24px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) 28px; }
body.new-home .site-menu-top { display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:25px;border-bottom:1px solid #183b3326; }
body.new-home .site-menu-top>span { font-size:1.4rem;letter-spacing:-.04em;font-weight:700; }
body.new-home .site-menu-top small { display:block;font-size:.875rem;font-weight:400;letter-spacing:0;margin-top:3px; }
body.new-home .site-menu-top button { display:grid;place-items:center;border:1px solid #183b332c;border-radius:50%;min-width:48px;min-height:48px;font-size:1.5rem;background:transparent; }
body.new-home .home-header .site-menu-links { display:grid;position:static;padding:14px 0;gap:0;background:none;box-shadow:none;border-radius:0;align-items:stretch; }
body.new-home .home-header .site-menu-links>a { position:relative;display:block;white-space:normal;min-height:68px;padding:14px 15px;margin:0 -10px;border-radius:11px;text-shadow:none;color:#193e34; }
body.new-home .site-menu-links strong { display:block;font-size:1.15rem;line-height:1.4;font-weight:650;letter-spacing:-.025em; }
body.new-home .site-menu-links span { display:block;font-size:.875rem;line-height:1.5;color:#58695e;margin-top:4px; }
body.new-home .site-menu-links>a[aria-current=page] { background:#e7ede2;box-shadow:inset 3px 0 #8c3547; }
body.new-home .site-menu-links>a:hover { background:#eef0e7; }
body.new-home .site-menu-apply { padding-top:14px;margin-top:auto; }
body.new-home .home-header .site-menu-apply .nav-apply { display:flex;justify-content:center;align-items:center;min-height:54px;width:100%;margin:0;background:#853747;color:white;font-size:1rem; }
body.new-home .site-menu-apply p { margin:13px 0 20px;font-size:.875rem;line-height:1.6;text-align:center; }
body.new-home .site-menu-utility { display:flex;gap:20px;justify-content:space-between;border-top:1px solid #183b3326;padding-top:12px; }
body.new-home .site-menu-utility a { display:flex;align-items:center;min-height:44px;font-size:.875rem;text-decoration:underline;text-underline-offset:4px; }
body.new-home .closing-proposal { display:inline-flex;gap:9px;align-items:center;min-height:46px;padding:10px 17px;border:1px solid #ffffff70;border-radius:9px;color:#fff;font-weight:650;font-size:.875rem;text-decoration:none; }
body.new-home .closing-proposal i { font-size:1.2rem; }
body.new-home .closing-proposal:hover { background:#ffffff15; }
body.new-home :is(.home-header,.closing-footer) :is(a,button,summary):focus-visible { outline:3px solid #af7446;outline-offset:4px; }
@media(max-width:1200px){
  body.new-home{--public-header-height:76px}
  body.new-home .public-header-wrap .home-header{min-height:76px;padding:14px 4%}
  body.new-home .home-header .brand{width:245px;max-width:65%}
  body.new-home .home-header #home-nav{display:none}
  body.new-home .home-header .nav-toggle{display:flex;align-items:center;justify-content:center;gap:9px;min-width:94px;width:auto;height:46px;padding:10px 15px;border:1px solid #173f3230;border-radius:100px;background:transparent;color:#173f32;font-size:.875rem;font-weight:600;z-index:auto}
  body.new-home .nav-toggle i{font-size:1.4rem}
}
@media(max-width:760px){
  html{scroll-padding-top:90px}
  body.new-home{--public-header-height:70px}
  body.new-home .public-header-wrap .home-header{min-height:70px;padding:12px 20px;gap:15px}
  body.new-home .home-header .brand{width:205px;max-width:calc(100% - 93px)}
  body.new-home .home-header .nav-toggle{min-width:80px;height:44px;padding:9px 12px;gap:7px}
  body.new-home .closing-directory{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 18px;padding:32px 6% 23px}
  body.new-home .closing-brand{grid-column:1/-1}
  body.new-home .closing-nav{gap:4px;min-width:0}
  body.new-home .closing-nav>a{display:flex;align-items:center;min-height:46px;font-size:.875rem;line-height:1.5;padding:6px 0}
  body.new-home .closing-label{font-size:.75rem;line-height:1.6;margin-bottom:12px}
  body.new-home .closing-utility{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:16px 22px;align-items:center}
  body.new-home .closing-proposal{order:-1;flex:1 1 100%;justify-content:center;min-height:52px;font-size:1rem;margin:0}
  body.new-home .closing-utility>span{width:100%;font-size:.8125rem;line-height:1.7;margin:0}
  body.new-home .closing-top{font-size:.875rem;min-height:44px}
  body.new-home .closing-review-row{grid-column:1/-1;display:flex;flex-direction:column;align-items:stretch;gap:14px}
  body.new-home .closing-review>div{position:static;width:auto;max-width:none;margin-top:10px;padding:12px;border-radius:12px}
  body.new-home .closing-review a{min-height:44px;font-size:.875rem;display:flex;align-items:center}
  body.new-home .closing-review summary{min-height:44px;font-size:.875rem}
}
@media(max-width:360px){body.new-home .public-header-wrap .home-header{padding-inline:15px}body.new-home .site-menu{border-radius:0}body.new-home .site-menu-inner{padding:20px}body.new-home .site-menu-links strong{font-size:1.0625rem}}
@media(prefers-reduced-motion:no-preference){.site-menu[open] .site-menu-inner{animation:menu-enter .25s ease-out}@keyframes menu-enter{from{opacity:.3;transform:translateX(15px)}to{opacity:1;transform:none}}}
@media print{body.new-home .public-header-wrap{position:static}body.new-home .home-header :is(nav,button,dialog){display:none!important}body.new-home .closing-proposal{display:none}}
