/*
Theme Name: Hartsfield Woods
Description: A resident-focused woodland theme with community events and HOA documents.
Version: 1.1.1
Template: astra
Text Domain: hartsfield-woods
Requires PHP: 8.0
*/
:root{--forest:#214b40;--deep:#173b32;--cream:#f7f5ed;--gold:#be955d;--ink:#283e36;--line:#d9ded3}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.7 system-ui,sans-serif}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.15;color:var(--deep)}h1{font-size:clamp(2.8rem,4.7vw,5rem);letter-spacing:-.045em;margin:1.2rem 0}h2{font-size:clamp(2rem,3vw,3rem);letter-spacing:-.03em;margin:1rem 0 1.5rem}h3{font-size:1.55rem;margin:.65rem 0}a{color:var(--forest);text-underline-offset:5px}a:hover{color:#806039}a:focus-visible,summary:focus-visible{outline:3px solid #a66a1f;outline-offset:5px}img{max-width:100%;height:auto}small{font:600 .68rem/1.7 system-ui,sans-serif;letter-spacing:.15em}p{margin:0 0 1.4rem}.top{padding:.6rem 6%;background:var(--deep);color:#fff;font-size:.65rem;letter-spacing:.13em}.top span{float:right;letter-spacing:.04em}header{padding:1.4rem 6%;display:flex;align-items:center;justify-content:space-between;gap:2rem;background:#fff}.brand{max-width:260px}.brand img{display:block;max-height:90px;width:auto}nav{display:flex;align-items:center;gap:1.7rem;font-size:.88rem}nav a{text-decoration:none}.button{display:inline-block;background:var(--forest);color:white;text-decoration:none;padding:.85rem 1.5rem;border:1px solid var(--forest);border-radius:3px;font-size:.9rem;font-weight:600}.button:hover{background:var(--deep);color:white}.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;background:#e7ecdf;min-height:600px}.hero-copy{padding:5rem 7% 6rem 12%;z-index:1}.hero-copy p{max-width:29rem}.hero>img{height:100%;width:100%;object-fit:cover;object-position:58% center}.caption{position:absolute;bottom:0;right:0;background:var(--deep);color:white;font-size:.65rem;letter-spacing:.14em;padding:1rem 2rem}.actions{display:flex;align-items:center;gap:1.5rem;font-size:.85rem}.section{padding:5rem 6%}.section-head{display:flex;justify-content:space-between;align-items:center}.section-head>p{font-size:.9rem;color:#607267}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.card{padding:2rem 1.6rem;background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);text-decoration:none;transition:transform .2s}.card:hover{transform:translateY(-4px)}.card small{font-size:.58rem}.card h3{font-size:1.55rem;min-height:3.6rem}.card p{font-size:.9rem;color:#56685d}.card>span{font-size:1.7rem}.community{display:grid;grid-template-columns:1fr 1fr;background:var(--forest);color:#fff}.community>img{height:100%;min-height:340px;width:100%;object-fit:cover}.community>div{padding:4rem 12%}.community h2,.community a{color:white}.community small{color:#e1c69e}.columns{display:grid;grid-template-columns:1fr 1fr;gap:6rem}.row{border-top:1px solid var(--line);padding:1.6rem 0}.row h3 a{text-decoration:none}.row p{font-size:.95rem}.event{display:flex;gap:1.5rem}.date{background:#e5ebdf;min-width:75px;align-self:flex-start;text-align:center;padding:.5rem}.date small{display:block}.date b{display:block;font:2.1rem Georgia}.empty{padding:1.5rem;background:#e9ede3;border-left:3px solid var(--gold)}footer{padding:4rem 6%;display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;background:var(--deep);color:#dce6dc;font-size:.9rem}footer h2,footer h3,footer a{color:white}footer a{display:block;margin:.7rem 0}footer h2{font-size:2.5rem}.page-head{position:relative;padding:3rem 6%;background:#e7ecdf;overflow:hidden}.page-head h1{max-width:1000px;font-size:clamp(2.6rem,5vw,4rem)}.branch{position:absolute;right:6%;top:0;font:14rem Georgia;color:#c3cfba;pointer-events:none;z-index:0}.page-head h1,.page-head small{position:relative;z-index:1}.page-layout{padding:4rem 6% 6rem;display:grid;grid-template-columns:minmax(0,3fr) minmax(220px,1fr);gap:4rem}.content{min-width:0}.content .grid{grid-template-columns:1fr 1fr}.content h2{font-size:2.2rem}aside{padding:2rem;background:#e9ede3;align-self:start;border-top:3px solid var(--gold)}aside h2{font-size:1.8rem}aside a{display:block;border-top:1px solid #cfd7c9;padding:.8rem 0;font-size:.9rem}details{padding:1.4rem 0;border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:600}details p{margin-top:1rem}.event-details{padding:1.5rem;background:#e9ede3;margin-bottom:2rem}.frm_forms{background:#fff;padding:clamp(1rem,3vw,2.5rem);border:1px solid var(--line);border-radius:6px}.frm_forms label{font-size:1rem!important}.frm_forms input:not([type=checkbox]):not([type=radio]),.frm_forms select,.frm_forms textarea{max-width:100%;border-radius:3px!important}.frm_forms .frm_button_submit{background:var(--forest)!important;color:#fff!important;padding:.8rem 1.8rem!important}.skip{position:absolute;top:-100px;left:1rem;z-index:100;background:white;padding:1rem}.skip:focus{top:1rem}.gallery{display:flex;flex-wrap:wrap;gap:1rem}.gallery-item{max-width:100%;flex:1 1 220px}.gallery img{border:0!important}table{max-width:100%}@media(max-width:1000px){nav{gap:.8rem;flex-wrap:wrap}.grid{grid-template-columns:1fr 1fr}.hero-copy{padding:3rem 8%}.columns{gap:3rem}.page-layout{gap:2rem}.top span{display:none}}@media(max-width:700px){header{display:block;padding:1rem 5%}.brand img{max-height:70px;margin-bottom:1rem}nav{gap:.7rem 1.2rem}nav .button{padding:.45rem .8rem}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:3rem 6%}.hero>img{height:240px}.hero h1{font-size:3rem}.caption{font-size:.55rem}.actions{flex-wrap:wrap}.section{padding:3rem 6%}.section-head{display:block}.grid{grid-template-columns:1fr 1fr}.card{padding:1.3rem}.card h3{font-size:1.3rem;min-height:0}.card small{letter-spacing:.06em}.community,.columns,.page-layout,footer{grid-template-columns:1fr}.community>img{min-height:0;height:240px}.community>div{padding:3rem 6%}.page-layout{padding:2.5rem 6%}.page-head{padding:2rem 6%}.branch{opacity:.5}.columns{gap:3rem}footer{gap:1.5rem}.content .grid{grid-template-columns:1fr}.row h3{font-size:1.4rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Original woodland artwork complements the neighborhood photography. */
.page-head{background:linear-gradient(90deg,rgba(247,245,237,.98) 0%,rgba(247,245,237,.94) 42%,rgba(247,245,237,.22) 100%),url('assets/woodland.png') center 46%/cover}.branch{display:none}
/* Navigation: stronger typography, a framed resident menu, and a working mobile toggle. */
.hw-site-header{border-bottom:1px solid var(--line);padding-top:1.25rem;padding-bottom:1.25rem;position:relative;z-index:20}
.hw-navigation{gap:1.2rem;flex-wrap:nowrap}
.hw-menu{display:flex;align-items:center;gap:.25rem;list-style:none;margin:0;padding:.35rem;background:#f1f3eb;border:1px solid #dce3d5;border-radius:6px}
.hw-menu li{position:relative;margin:0;list-style:none}
.hw-menu>li>a{display:block;padding:.85rem 1rem;font-size:.94rem;font-weight:650;letter-spacing:.015em;border-radius:3px;transition:background .18s,color .18s;white-space:nowrap}
.hw-menu>li>a:hover,.hw-menu>li>a:focus-visible{background:#dce6d6;color:var(--deep)}
.hw-menu>.current-menu-item>a,.hw-menu>.current-menu-ancestor>a{background:var(--forest);color:#fff;box-shadow:inset 0 -3px 0 var(--gold)}
.hw-site-header .hw-pay{padding:1.1rem 1.6rem;white-space:nowrap;border-bottom:3px solid var(--gold)}
.hw-menu .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:240px;margin:0;padding:.5rem;background:white;box-shadow:0 10px 30px #173b3226;border:1px solid var(--line);border-radius:4px}
.hw-menu li:hover>.sub-menu,.hw-menu li:focus-within>.sub-menu{display:block}
.hw-menu .sub-menu a{display:block;padding:.7rem;font-weight:550;border-radius:3px}.hw-menu .sub-menu a:hover{background:#e9ede3}
.hw-menu-toggle{display:none}
@media(min-width:961px) and (max-width:1200px){.hw-site-header{padding-left:3%;padding-right:3%;gap:1rem}.hw-site-header .brand{max-width:210px}.hw-menu>li>a{padding:.8rem .65rem;font-size:.88rem}.hw-navigation{gap:.7rem}}
@media(max-width:960px){
 .hw-site-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0;padding:1rem 5%}
 .hw-site-header .brand{max-width:230px}.hw-site-header .brand img{margin:0;max-height:75px}
 .hw-nav-ready .hw-menu-toggle:not([hidden]){display:inline-flex;align-items:center;gap:.7rem;min-height:48px;padding:.65rem 1rem;background:var(--forest);border:1px solid var(--forest);border-radius:4px;color:white;font:600 .95rem system-ui;cursor:pointer}
 .hw-menu-icon{position:relative;width:20px;height:2px;background:currentColor;display:block}.hw-menu-icon:before,.hw-menu-icon:after{content:'';position:absolute;left:0;width:20px;height:2px;background:currentColor;transition:transform .18s}.hw-menu-icon:before{top:-6px}.hw-menu-icon:after{top:6px}
 .hw-menu-open .hw-menu-icon{background:transparent}.hw-menu-open .hw-menu-icon:before{top:0;transform:rotate(45deg)}.hw-menu-open .hw-menu-icon:after{top:0;transform:rotate(-45deg)}
 .hw-site-header .hw-navigation{display:flex;flex-direction:column;align-items:stretch;gap:1rem;width:100%;padding-top:1rem}
 .hw-nav-ready .hw-navigation{display:none}.hw-menu-open .hw-navigation{display:flex}
 .hw-menu{display:block;padding:.5rem}.hw-menu>li>a{padding:.95rem 1rem;font-size:1rem;white-space:normal}
 .hw-menu li+li{border-top:1px solid #dce3d5}.hw-site-header .hw-pay{margin:0;text-align:center;padding:.85rem}
 .hw-menu .sub-menu{position:static;display:block;box-shadow:none;border:0;background:transparent;min-width:0;padding:0 0 .5rem 1rem}
}
@media(max-width:380px){.hw-site-header .brand{max-width:180px}.hw-nav-ready .hw-menu-toggle:not([hidden]){padding:.65rem .75rem}}

.hw-menu>.menu-item-has-children>a::after{content:'⌄';display:inline-block;margin-left:.5rem;color:var(--gold)}
@media(max-width:960px){.hw-menu>.menu-item-has-children>a::after{display:none}}

