/* foothillshomes.co: shared styles. Each page's own styles sit at the top of its file in src/pages/. */

/* ---------- fonts (served from /fonts, latin only) ---------- */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/montserrat-latin.woff2) format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/poppins-latin-300.woff2) format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/poppins-latin-400.woff2) format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/poppins-latin-500.woff2) format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/poppins-latin-600.woff2) format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/poppins-latin-700.woff2) format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/poppins-latin-800.woff2) format('woff2');}

/* ---------- base (carried from the WordPress theme so every page keeps its look) ---------- */
html{line-height:1.15;-webkit-text-size-adjust:100%;}
*,:after,:before{box-sizing:border-box;}
body{background-color:#fff;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:1rem;font-weight:400;line-height:1.5;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip;}
h1,h2,h3,h4,h5,h6{color:inherit;font-family:inherit;font-weight:500;line-height:1.2;margin-block-end:1rem;margin-block-start:.5rem;}
h1{font-size:2.5rem;}h2{font-size:2rem;}h3{font-size:1.75rem;}h4{font-size:1.5rem;}h5{font-size:1.25rem;}h6{font-size:1rem;}
p{margin-block-end:.9rem;margin-block-start:0;}
a{background-color:transparent;color:#c36;text-decoration:underline;}
a:active,a:hover{color:#336;}
b,strong{font-weight:bolder;}
small{font-size:80%;}
img{border-style:none;height:auto;max-width:100%;}
details{display:block;}
summary{display:list-item;}
[hidden]{display:none!important;}
label{display:inline-block;line-height:1;vertical-align:middle;}
button,input,select,textarea{font-family:inherit;font-size:1rem;line-height:1.5;margin:0;}
input[type=email],input[type=tel],input[type=text],textarea{border:1px solid #666;border-radius:3px;padding:.5rem 1rem;transition:all .3s;width:100%;}
input[type=email]:focus,input[type=tel]:focus,input[type=text]:focus,textarea:focus{border-color:#333;}
textarea{overflow:auto;resize:vertical;}
dd,dl,dt,li,ol,ul{background:transparent;border:0;font-size:100%;margin-block-end:0;margin-block-start:0;outline:0;vertical-align:baseline;}
table{background-color:transparent;border-collapse:collapse;border-spacing:0;font-size:.9em;margin-block-end:15px;width:100%;}
table td,table th{border:1px solid hsla(0,0%,50%,.502);line-height:1.5;padding:15px;vertical-align:top;}
table th{font-weight:700;}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{box-shadow:0 0 0 4px #fff;outline:2px solid #000;outline-offset:2px;}
:root :where(.is-layout-flow) > :first-child{margin-block-start:0;}
:root :where(.is-layout-flow) > :last-child{margin-block-end:0;}
:root :where(.is-layout-flow) > *{margin-block-start:24px;margin-block-end:0;}
.wp-block-details{box-sizing:border-box;}
.wp-block-details summary{cursor:pointer;}

/* ---------- page shell ---------- */
.site-main{margin-inline-end:auto;margin-inline-start:auto;width:100%;}
@media(max-width:575px){.site-main{padding-inline-end:10px;padding-inline-start:10px;}}
@media(min-width:576px){.site-main{max-width:500px;}}
@media(min-width:768px){.site-main{max-width:600px;}}
@media(min-width:992px){.site-main{max-width:800px;}}
@media(min-width:1200px){.site-main{max-width:1140px;}}
.sr-only{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px;word-wrap:normal!important;}
.skip-link{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px;}
.skip-link:focus{background-color:#eee;clip:auto;color:#333;display:block;font-size:1rem;height:auto;left:5px;line-height:normal;padding:12px 24px;text-decoration:none;top:5px;width:auto;z-index:100000;}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:999;}
.site-header svg{fill:currentColor;display:block;}
.bar{transition:background-color .3s,box-shadow .3s;}
.bar--desktop{background-color:#252525;}
.bar--desktop .bar-inner{display:flex;align-items:center;gap:20px;width:90%;margin:0 auto;}
.bar-logo{flex:0 1 25%;max-width:25%;line-height:0;}
.bar-logo img,.bar-logo-m img{display:block;width:100%;height:auto;}
.bar-right{flex:0 1 80%;min-width:0;display:flex;justify-content:flex-end;align-items:center;gap:50px;}
.nav > ul{display:flex;list-style:none;margin:0;padding:0;}
.nav li{position:relative;list-style:none;}
.nav a,.nav button{display:flex;align-items:center;position:relative;padding:32px 14px;font-family:"Montserrat",sans-serif;font-size:13px;font-weight:700;line-height:20px;text-transform:uppercase;color:#fff;white-space:nowrap;text-decoration:none;background:none;border:0;border-radius:0;cursor:pointer;transition:.4s;}
.nav > ul > li > a:after,.nav > ul > li > button:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background-color:#fff;opacity:0;transition:.3s cubic-bezier(.58,.3,.005,1);}
.nav > ul > li > a:hover:after,.nav > ul > li > a:focus:after,.nav > ul > li > a[aria-current]:after,.nav > ul > li > button:hover:after,.nav > ul > li.open > button:after{opacity:1;}
.nav .caret{display:flex;align-items:center;padding:10px 0 10px 10px;margin:-10px 0;}
.nav .caret svg{width:13px;height:13px;}
.nav .sub{display:none;position:absolute;top:100%;left:0;width:12em;margin:0;padding:0;font-size:13px;background-color:#252525;z-index:2;}
.nav li:hover > .sub,.nav li:focus-within > .sub,.nav li.open > .sub{display:block;}
.nav .sub a{padding:13px 20px;border-left:8px solid transparent;}
.nav .sub a:hover,.nav .sub a:focus,.nav .sub a[aria-current]{background-color:#3f444b;color:#fff;}
.bar-cta{flex:0 0 auto;display:inline-flex;flex-direction:row-reverse;justify-content:center;align-items:center;gap:21px;padding:20px 40px;font-family:"Montserrat",sans-serif;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase;color:#fff;background-color:#b47f52;border-radius:3px;text-decoration:none;white-space:nowrap;transition:all .3s;}
.bar-cta:hover,.bar-cta:focus{color:#fff;transform:scale(.9);}
.bar-cta svg{width:1em;height:1em;}
/* the homepage bar is a little shorter, as it was */
.home .nav > ul > li > a,.home .nav > ul > li > button{padding-top:25px;padding-bottom:25px;}
.home .bar-cta{font-size:12px;padding:15px 30px;}
.site-header.is-stuck .bar--desktop{background-color:#1a1b1f;box-shadow:0 4px 33px 1px rgba(0,0,0,.07);}
/* narrower desktop windows: keep the menu on one row */
@media(max-width:1415px){
  .bar-right{gap:24px;flex-basis:auto;flex-grow:1;}
  .bar-logo{flex-basis:22%;}
  .nav > ul > li > a,.nav > ul > li > button{padding-left:10px;padding-right:10px;}
  .bar-cta,.home .bar-cta{padding-left:24px;padding-right:24px;gap:12px;}
}
@media(max-width:1250px){
  .bar--desktop .bar-inner{width:94%;}
  .nav > ul > li > a,.nav > ul > li > button{padding-left:8px;padding-right:8px;font-size:12px;}
  .bar-cta,.home .bar-cta{font-size:12px;padding-left:18px;padding-right:18px;}
  .bar-cta svg{display:none;}
}

.bar--mobile{display:none;align-items:center;justify-content:space-between;gap:12px;padding:10px;background-color:#fff;color:#252525;}
.bar-phone,.bar-toggle{flex:0 1 62px;max-width:62px;color:#252525;text-align:center;background:none;border:0;border-radius:0;padding:0;cursor:pointer;}
.bar-phone{height:39px;}
.bar-toggle{height:31px;}
.bar-phone:hover,.bar-toggle:hover,.bar-toggle:focus{color:#252525;background:none;}
.bar-phone svg{width:33px;height:33px;margin:0 auto;}
.bar-toggle svg{width:25px;height:25px;margin:0 auto;}
.bar-logo-m{flex:0 1 64%;max-width:64%;line-height:0;}
.site-header.is-stuck .bar--mobile{background-color:rgba(244,245,248,.8);box-shadow:0 4px 33px 1px rgba(0,0,0,.07);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);}
@media(max-width:1024px){
  .bar--desktop{display:none;}
  .bar--mobile{display:flex;}
}
@media(min-width:768px) and (max-width:1024px){
  .bar--mobile{padding:10px 5%;}
  .bar-logo-m{flex-basis:288px;max-width:288px;}
}

/* ---------- phone menu ---------- */
.menu{position:fixed;inset:0;z-index:9999;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,.8);}
.menu[hidden]{display:none!important;}
.menu-panel{position:relative;display:flex;align-items:center;width:640px;max-width:100%;height:100vh;height:100dvh;overflow-y:auto;background-color:#fff;box-shadow:2px 8px 23px 3px rgba(0,0,0,.2);}
.menu-inner{display:flex;flex-direction:column;gap:85px;width:100%;margin:auto 0;}
.menu-logo{display:block;width:100%;height:auto;}
.menu-close{position:absolute;top:20px;right:20px;display:flex;padding:0;color:#252525;background:none;border:0;border-radius:0;cursor:pointer;}
.menu-close:hover,.menu-close:focus{color:#252525;background:none;}
.menu-close svg{width:26px;height:26px;fill:currentColor;}
.menu-nav{align-self:center;margin-top:10px;}
.menu-nav ul{list-style:none;margin:0;padding:0;}
.menu-nav a,.menu-nav button{display:flex;align-items:center;width:100%;padding:10px 20px;font-family:"Montserrat",sans-serif;font-size:15px;font-weight:600;line-height:20px;text-transform:uppercase;color:#33373d;text-decoration:none;white-space:nowrap;background:none;border:0;border-radius:0;cursor:pointer;transition:.4s;}
.menu-nav a:hover,.menu-nav a:focus,.menu-nav button:hover,.menu-nav button:focus,.menu-nav a[aria-current]{color:#33373d;background-color:#f0f0f0;}
.menu-nav .caret{display:flex;align-items:center;padding:10px 0 10px 10px;margin:-10px 0;}
.menu-nav .caret svg{width:15px;height:15px;fill:currentColor;}
.menu-nav .sub{display:none;}
.menu-nav li.open > .sub{display:block;}
.menu-nav .sub a{border-left:8px solid transparent;}
.menu-call{display:flex;justify-content:center;align-items:flex-start;gap:15px;padding:10px;font-family:"Montserrat",sans-serif;font-size:20px;font-weight:500;line-height:24px;color:#252525;text-decoration:none;}
.menu-call:hover,.menu-call:focus{color:#252525;}
.menu-call svg{flex:0 0 39px;width:39px;height:39px;fill:none;stroke:currentColor;}
.menu-call svg path{fill:currentColor;stroke:none;}
.menu-call span{margin-top:8px;}
body.menu-open{overflow:hidden;}

/* ---------- footer ---------- */
.site-footer{background-color:#252525;color:#c5c2c2;}
.site-footer a{color:#c5c2c2;text-decoration:none;}
.footer-inner{display:flex;gap:20px;width:100%;max-width:80%;margin:0 auto;padding:45px 0;}
.footer-col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:20px;padding:10px;}
.footer-col--brand{gap:40px;}
.footer-logo{display:block;line-height:0;text-align:center;}
.footer-logo img{display:inline-block;width:100%;height:auto;}
.footer-big{margin:0;width:89%;font-family:"Montserrat",sans-serif;font-size:28px;font-weight:300;line-height:1.2;color:#c5c2c2;}
.footer-h{margin:0;font-family:"Montserrat",sans-serif;font-size:16px;font-weight:700;line-height:1;letter-spacing:2.2px;text-transform:uppercase;color:#c5c2c2;}
.footer-links{list-style:none;margin:0;padding:0;}
.footer-links a{display:flex;align-items:center;padding:5px 14px;font-family:"Montserrat",sans-serif;font-size:16px;font-weight:300;line-height:20px;transition:.4s;}
.footer-links a:hover,.footer-links a:focus,.footer-links a[aria-current]{color:#fff;}
.footer-contact{list-style:none;margin:0;padding:0;}
.footer-contact li + li{margin-top:8px;}
.footer-contact a{display:flex;align-items:flex-start;font-family:"Poppins",sans-serif;font-size:15px;font-weight:300;line-height:1.5;}
.footer-contact svg{flex:0 0 15px;width:15px;height:15px;margin-right:11.75px;fill:#c5c2c2;}
.footer-contact span{padding-left:5px;}
@media(max-width:1024px){
  .footer-col--links,.footer-big{display:none;}
}
@media(max-width:767px){
  .footer-inner{flex-wrap:wrap;max-width:100%;}
  .footer-col{flex:0 0 100%;padding:0 25px;}
  .footer-logo{text-align:left;}
  .footer-logo img{width:65%;}
}

/* ---------- contact form ---------- */
.fh-form{margin:0;}
.fh-form-row{display:flex;flex-wrap:wrap;margin:0 -5px;}
.fh-field{flex:0 0 100%;max-width:100%;margin:0 0 36px;padding:0 5px;}
.fh-field--half{flex-basis:50%;max-width:50%;}
.fh-field input,.fh-field textarea{display:block;min-height:40px;padding:8px 16px;font-family:"Poppins",sans-serif;font-size:13px;font-weight:300;line-height:1.4;color:#060606;background-color:#fff;border:solid #69727d;border-width:0 0 1px;border-radius:0;}
.fh-field textarea{padding:5px 14px;}
.fh-field--trap{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden;}
.fh-send{display:inline-block;min-height:40px;padding:20px 40px;font-family:"Montserrat",sans-serif;font-size:15px;font-weight:700;line-height:1;text-transform:uppercase;color:#fff;background-color:#252525;border:0;border-radius:0;cursor:pointer;transition:all .3s;}
.fh-send:hover,.fh-send:focus{color:#fff;background-color:#252525;opacity:.9;}
.fh-send[disabled]{opacity:.6;cursor:default;}
.fh-turnstile{flex:0 0 100%;margin:0 0 36px;padding:0 5px;}
.fh-form-note{display:none;margin:0 0 1.1rem;padding:.9rem 1.1rem;border-left:3px solid #b47f52;background-color:#f7f3ee;color:#2a2a2a;line-height:1.6;}
.fh-form-note:target,.fh-form-note.is-shown{display:block;}
@media(max-width:767px){.fh-field--half{flex-basis:100%;max-width:100%;}}

/* ---------- not-found page and blog posts ---------- */
.nf,.post,.post-list{max-width:840px;margin:3rem auto;padding:0 22px;}
.nf h1,.post h1,.post-list h1{color:#222;font-size:2.2rem;line-height:1.15;margin:0 0 1rem;}
.nf p,.post-body p,.post-body li,.post-item p{line-height:1.75;color:#3d3d3d;font-size:1.02rem;margin:0 0 1.15rem;}
.btn-tan{display:inline-block;background:#b47f52;color:#fff!important;text-decoration:none!important;font-weight:600;padding:.9rem 1.7rem;border-radius:6px;letter-spacing:.4px;font-size:.95rem;margin:0 .6rem .6rem 0;}
.post-date{letter-spacing:3px;text-transform:uppercase;font-size:.8rem;color:#9c6b42;font-weight:600;margin:0 0 .7rem;}
.post-body h2{color:#222;font-size:1.5rem;border-bottom:2px solid #b47f52;padding-bottom:.35rem;margin:2.2rem 0 1rem;}
.post-body h3{color:#2a2a2a;font-size:1.14rem;margin:1.5rem 0 .35rem;}
.post-body img{display:block;border-radius:10px;margin:1.6rem 0;}
.post-item{margin:0 0 2.2rem;padding:0 0 1.2rem;border-bottom:1px solid #e6dfd5;}
.post-item h2{font-size:1.5rem;margin:0 0 .5rem;}
.post-item h2 a{color:#222;text-decoration:none;}
