/* Brand, image framing and components layered over UIkit. */
@font-face{font-family:"DM Sans";src:url("dm-sans.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
:root{--ink:#213b32;--muted:#4e5a51;--paper:#f6f3ec;--warm:#eae3d5;--line:#deded3;--clay:#845432;--cream:#fffdf8;--white:#fff;--body:"DM Sans",Arial,sans-serif}
html{color:var(--muted);font:16px/1.65 var(--body);background:var(--cream)}
body{background:var(--cream)}
h1, h2, h3, .uk-h1, .uk-h2, .uk-h3 {
  color: var(--ink);
  font-family: var(--body);
  font-weight: 700;
}
h1,.uk-h1{font-size:clamp(2.45rem,5vw,4.55rem);line-height:1.055;letter-spacing:-.043em}
h2,.uk-h2{font-size:clamp(1.9rem,3.25vw,3.2rem);line-height:1.12;letter-spacing:-.034em}
h3,.uk-h3{font-size:clamp(1.2rem,1.9vw,1.75rem);line-height:1.22;letter-spacing:-.016em}
a,.uk-link{color:var(--ink)}
a:hover,.uk-link:hover{color:var(--clay)}
a:focus-visible,button:focus-visible{outline:3px solid #a5754a;outline-offset:4px}
address{font-style:normal}
.paper,.page-heading{background:var(--paper)}
.eyebrow,.footer-label{font:700 .72rem/1.45 var(--body);letter-spacing:.155em;text-transform:uppercase;color:var(--clay)}
.lede{font-size:clamp(1.03rem,1.35vw,1.22rem);line-height:1.62;max-width:36rem}
.skip-link{position:absolute;z-index:1100;left:16px;top:8px;transform:translateY(-150%);background:var(--white);padding:10px 14px}
.skip-link:focus{transform:none}
.utility-bar{background:var(--ink);color:var(--cream);font-size:.79rem;line-height:1.3;padding:9px 0}
.utility-bar .uk-container { gap: 8px; }
.utility-phone { white-space: nowrap; font-weight: 700; }
.main-nav { min-height: 98px; gap: 18px; }
.site-header{background:var(--white);border-bottom:1px solid var(--line)}
.brand { display: inline-block; flex-shrink: 0; }
.brand img { display: block; object-fit: contain; }
.uk-navbar-nav{gap:clamp(14px,1.7vw,28px)}
.uk-navbar-nav>li>a{min-height:82px;color:var(--ink);font:650 .87rem/1.3 var(--body);text-transform:none;white-space:nowrap}
.uk-navbar-nav>li>a:hover,.uk-navbar-nav>li>a[aria-current=page]{color:var(--clay);text-decoration:underline;text-underline-offset:8px}
.uk-offcanvas-bar{background:var(--ink)}
.uk-offcanvas-bar .eyebrow{color:#e9c69f}
.mobile-nav>li>a{font-size:1.05rem;padding:11px 0;color:var(--cream)!important}
.mobile-nav>li>a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
.uk-button{font:700 .88rem/1.25 var(--body);text-transform:none;padding:13px 19px;border-radius:3px;text-decoration:none!important;white-space:normal}
.uk-button-primary{background:var(--ink);color:var(--white);border-color:var(--ink)}
.uk-button-primary:hover,.uk-button-primary:focus{background:#304d41;border-color:#304d41;color:var(--white)}
.uk-button-default{border-color:#a4ac9e;color:var(--ink);background:transparent}
.uk-button-default:hover,.uk-button-default:focus{border-color:var(--ink);background:#edf0e7;color:var(--ink)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.text-link{display:inline-block;font-size:.91rem;font-weight:700;text-decoration:underline;text-decoration-color:#a98e72;text-underline-offset:4px}
.text-link span{margin-left:3px;text-decoration:none;display:inline-block}
.hero{background:var(--paper);padding:clamp(28px,3.7vw,59px) 0}
.hero-copy{padding-right:clamp(24px,4vw,70px)}
.hero h1{margin:14px 0 20px}
.hero .lede{margin:0 0 24px}
.hero-photo{height:clamp(320px,38vw,530px);background:var(--warm)}
.cover-image,.feature-photo,.layout-photo,.gallery-tile img{display:block;width:100%;object-fit:cover}
.cover-image{height:100%;object-position:center 57%}
.photo-label{position:absolute;bottom:20px;left:20px;background:var(--cream);padding:11px 15px;border-left:3px solid #a5754a}
.photo-label a{text-decoration:none}
.photo-label strong,.photo-label a>span,.quick-nav small,.resource-list small,.doc-list small{display:block}
.photo-label strong{font-size:.86rem}
.photo-label a>span{font-size:.77rem;color:var(--muted)}
.quick-nav{border-block:1px solid var(--line);background:var(--white)}
.resource-list a,.doc-list a{display:flex;justify-content:space-between;align-items:center;gap:14px;text-decoration:none}
.quick-nav a {
  display: block;
  padding: 19px 12px;
  text-decoration: none;
}
.quick-nav a strong .uk-icon {
  margin-left: 4px;
  color: var(--clay);
}
@media (min-width: 640px) {
  .quick-nav .uk-grid > div + div { border-left: 1px solid var(--line); }
}
.resource-list a>span:last-child,.doc-type{color:var(--clay)}
.quick-nav small,.resource-list small,.doc-list small{color:var(--muted);font-size:.83rem;line-height:1.45}
.feature-photo{aspect-ratio:1.52;background:var(--warm)}
.image-note{font-size:.82rem;color:var(--muted);margin-top:8px}
.resource-list a,.doc-list a{border-top:1px solid var(--line);padding:13px 0}
.resource-list li,.doc-list li{margin:0!important}
.resource-list a:hover strong,.doc-list a:hover strong,.quick-nav a:hover strong{text-decoration:underline;text-underline-offset:3px}
.doc-type{font-size:.75rem;font-weight:700;white-space:nowrap;letter-spacing:.06em}
.doc-group,.gallery-tile,#exteriors,#interiors,#thistlewood{scroll-margin-top:22px}
.checklist li+li{margin-top:12px}
.checklist strong{color:var(--ink)}
.gallery-tile{overflow:hidden;background:var(--warm)}
.gallery-tile img{aspect-ratio:1.5;height:auto}
.gallery-tile:hover img{filter:brightness(1.08)}
.layout-card{background:var(--white);border:1px solid var(--line)}
.layout-photo{aspect-ratio:1.68}
.plan-preview{background:#faf8f2;border:1px solid var(--line);padding:10px;text-align:center}
.plan-preview img{width:100%;height:auto;aspect-ratio:1.55;object-fit:contain}
.contact-phone { font-weight: 700; color: var(--ink); }
.location-card{border-top:2px solid #a5754a}
.cta-band{background:var(--warm)}
.footer{background:#ece8de;border-top:1px solid var(--line)}
.footer-phone{font-weight:700}
.footer-list a,.footer address a{font-size:.9rem}
.footer-bottom{border-top:1px solid #d3d3c6;padding-top:16px;font-size:.79rem;gap:8px}
@media(max-width:1199px){.hero-copy{padding-right:0;padding-bottom:25px}.hero-photo{height:clamp(270px,48vw,465px)}}
@media (max-width: 639px) {
  .utility-bar { font-size: .68rem; }
  .main-nav { min-height: 72px; }
  .brand img { width: 64px; height: 61px; }
  .menu-trigger { padding: 10px 12px; }
  .hero .actions .uk-button { padding-inline: 13px; }
  .hero-photo { height: 265px; }
  .photo-label { left: 10px; bottom: 10px; padding: 7px 10px; }
  .quick-nav a { padding: 12px 0; }
  .quick-nav .uk-grid > div + div { border-top: 1px solid var(--line); }
}
@media (max-width: 359px) {
  .hero .actions .uk-button { width: 100%; }
}

#contact-form { scroll-margin-top: 24px; }
#inquiry-form .uk-form-label { display: block; margin-bottom: 5px; font-weight: 700; }
#inquiry-form .uk-input:focus,
#inquiry-form .uk-textarea:focus { border-color: var(--ink); }
.contact-inbox-meta { font-size: .84rem; color: var(--muted); }
.contact-inbox-message { white-space: pre-wrap; overflow-wrap: anywhere; }
