/* V8 — consolidated typography, layout, and responsive styles */
:root{--ink:#1b302a;--green:#214c3b;--deep:#173b2f;--cream:#f6f5f0;--sand:#e9e6dc;--muted:#66726b;--accent:#b18c59;--text-body:16px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#fff;font-family:"DM Sans",sans-serif;font-size:var(--text-body);line-height:1.65}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{max-width:100%;display:block}
.wrap{width:min(1200px,calc(100% - 64px));margin:auto}
.topline{background:var(--deep);color:#e9eee9;letter-spacing:.11em;font-size:11px;font-weight:700;padding:9px 5%;text-align:center}
.topline span{margin-left:24px;opacity:.68}
.site-header{background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #e8e9e5}
.header-inner{height:130px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;flex-direction:column;line-height:1.1}
.brand-name,.footer-brand{font-size:27px;font-weight:700;letter-spacing:.035em}
.brand-name span,.footer-brand span{color:#a48b61}
.brand-sub{font-size:9px;letter-spacing:.17em;margin-top:7px;color:#66736a}
.nav{display:flex;align-items:center;gap:27px;font-size:15px;font-weight:600}
.nav a:not(.nav-contact):hover,.under-link:hover{color:#9d7844}
.nav-contact{background:var(--deep);color:#fff;padding:12px 19px;font-size:14px}
.nav-contact span{margin-left:13px}
.menu-toggle{display:none}
.hero{background:var(--cream);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;min-height:535px;align-items:center;gap:42px}
.hero-copy{padding:44px 0}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:clamp(14px,1.15vw,16px);letter-spacing:.055em;font-weight:750;color:#365b47;margin-bottom:17px;line-height:1.5}
.eyebrow .line{width:32px;height:2px;background:#a88b5b;flex:none}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:"Libre Baskerville",Georgia,serif;font-weight:400;letter-spacing:-.055em;line-height:1.24}
h1{font-size:clamp(38px,3.5vw,51px);margin-bottom:23px;line-height:1.27;letter-spacing:-.038em}
h1 em,h2 em{font-weight:400;color:#8e7b5e}
h2{font-size:clamp(29px,2.65vw,39px);line-height:1.32;letter-spacing:-.035em}
.hero-lead{max-width:520px;font-size:17px;line-height:1.7;color:#52635a}
.hero-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin:25px 0 27px;margin-bottom:8px}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;font-size:13px;font-weight:700;padding:15px 19px}
.btn-dark{background:var(--deep);color:white}
.btn:hover,.nav-contact:hover{filter:brightness(1.16)}
.text-link,.under-link{font-size:13px;font-weight:700}
.text-link span,.under-link span{margin-left:9px}
.hero-note{font-size:14px;color:#69766d}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#b89c6e;margin-right:9px}
.hero-visual{position:relative;height:100%;min-height:535px}
.hero-visual>img{height:100%;width:100%;object-fit:cover;object-position:53% center}
.photo-label{position:absolute;bottom:28px;left:-30px;background:white;padding:15px 27px;box-shadow:0 10px 25px #00000012;display:flex;flex-direction:column}
.photo-label strong{font-family:"Libre Baskerville",Georgia,serif;font-size:17px}
.photo-label span{font-size:13px;color:#68776d}
.trust-band{background:var(--deep);color:white}
.trust-inner{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:24px;align-items:center;padding:25px 0}
.trust-inner>p{font-size:13px;letter-spacing:.055em;margin:0;line-height:1.8;color:#cad5cf}
.trust-inner>p strong{color:white}
.trust-stat{display:flex;align-items:center;gap:12px}
.trust-stat strong{font-size:30px;font-family:Georgia,serif;font-weight:400;color:#dec49a}
.trust-stat span{font-size:13px;line-height:1.5;color:#d4e0d7}
.section{padding:72px 0}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:66px}
.intro-right{padding-top:8px}
.intro-right p,.about-copy p{color:#56665c;line-height:1.75;font-size:16px}
.under-link{display:inline-block;margin-top:12px;padding-bottom:8px;border-bottom:1px solid #a48b61}
.services{background:#f0f2eb}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:30px}
.section-heading h2{margin:0}
.section-heading>p{max-width:360px;color:#485d51;font-size:17px;line-height:1.65}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.service-card{background:#fff;padding:30px 29px 33px;min-height:275px;border:1.5px solid #bccbbd;border-top:4px solid #42664f;border-radius:6px;box-shadow:0 5px 17px rgba(26,54,38,.06)}
.service-num{font-size:13px;font-weight:700;letter-spacing:.09em;color:#4d6656}
.service-symbol{font-family:Georgia,serif;font-size:34px;color:#8b754d;margin:15px 0 9px}
.service-card h3{font-family:Georgia,serif;font-size:25px;font-weight:500;margin-bottom:12px;color:#193e2e}
.service-card p{font-size:16px;color:#465c50;line-height:1.7;margin-bottom:0}
.opportunities{background:white}
.listing-tabs{display:flex;gap:28px;border-bottom:1px solid #d9ded8;margin-bottom:30px}
.tab{border:0;border-bottom:2px solid transparent;background:none;padding:12px 0 14px;color:#68756c;cursor:pointer;font-weight:700;font-size:16px}
.tab.active{border-bottom-color:var(--deep);color:var(--deep)}
.tab span{font-size:13px;opacity:.7;margin-left:5px}
.listing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;min-height:220px}
.listing-card{border:1px solid #e5e7e2;display:flex;flex-direction:column}
.listing-visual{height:170px;background:linear-gradient(135deg,#e5ebe3,#c5d2c8);display:flex;align-items:center;justify-content:center;color:#2b5643;font-family:Georgia,serif;font-size:25px;text-align:center;padding:15px}
.listing-visual.sold{background:linear-gradient(135deg,#dce6de,#c5d0bf)}
.listing-visual img{width:100%;height:100%;object-fit:cover}
.listing-body{padding:22px}
.listing-status{display:inline-block;font-size:10px;letter-spacing:.12em;font-weight:700;color:#4c6a59;margin-bottom:12px}
.listing-body h3{font-family:Georgia,serif;font-size:21px;font-weight:400;line-height:1.4;margin-bottom:9px}
.listing-body p{font-size:15px;color:#6b766d;margin-bottom:16px}
.listing-cta{font-size:12px;font-weight:700;border-bottom:1px solid #af9876;padding-bottom:5px}
.empty-state{grid-column:1/-1;background:#f7f7f3;border:1px solid #e5e7e2;padding:45px}
.empty-state h3{font:normal 27px Georgia,serif}
.empty-state p{color:#66756a;max-width:630px}
.listing-note{font-size:13px;color:#8a918b;margin-top:22px}
.about{background:#f7f7f3}
.about-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:50px;align-items:center}
.about-photo{height:auto;overflow:hidden;min-height:425px;aspect-ratio:1.22;display:flex;align-items:center;background:#e9e6dc;border:0}
.about-photo img{height:100%;width:100%;object-fit:cover;object-position:center center}
.about-copy{max-width:590px}
.affiliation{margin-top:25px;padding-top:18px;border-top:1px solid #dce2da}
.affiliation span,.footer-affiliation span{display:block;font-size:12px;font-weight:700;letter-spacing:.16em;color:#79877b;margin-bottom:10px}
.affiliation img{width:245px;height:auto}
.contact-section{background:var(--deep);color:#fff;padding:70px 0}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.18fr);gap:55px}
.contact-section h2{font-size:clamp(35px,3.1vw,45px)}
.contact-section h2 em{color:#d4b989}
.contact-section p{color:#c8d8cd;max-width:450px;line-height:1.7;font-size:16px}
.eyebrow.light{color:#e0e9df}
.contact-card{border:1px solid #547164;padding:32px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.contact-label{font-size:12px;letter-spacing:.18em;color:#b9c9bb;margin-bottom:20px}
.contact-email{font-family:"DM Sans",sans-serif;font-size:clamp(13px,1.35vw,18px);overflow-wrap:normal;letter-spacing:-.025em;white-space:nowrap}
.contact-phone{font-size:20px;margin-top:12px}
.contact-card p{font-size:15px;margin-top:20px}
.btn-light{background:#f2f0e8;color:var(--deep);margin:12px 0 22px}
.contact-card small{color:#b8c9bb;font-size:13px}
footer{background:#f4f4ef;padding:50px 0 20px}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px}
.footer-grid p{font-size:12px;color:#718077}
.footer-affiliation img{width:185px}
.footer-right{display:flex;flex-direction:column;align-items:flex-end;font-size:13px}
.footer-right p{margin-top:18px}
.footer-disclaimer{border-top:1px solid #dfe3dc;padding-top:16px;font-size:12px;color:#8c948d}
.brand-springfield{align-items:center;gap:0;display:flex;justify-content:flex-start}
.brand-springfield img{width:318px;height:112px;object-fit:contain;object-position:left center}
.brand-springfield .brand-sub{font-size:9px;letter-spacing:.12em;margin-top:0;color:#385b47}
.footer-john{font-family:Georgia,serif;font-size:24px;font-weight:400}
.btn,.text-link,.under-link{font-size:15px}
.listing-status,.listing-cta{font-size:13px}
.footer-grid p,.footer-right{font-size:14px}
.hero-copy .eyebrow{max-width:520px}
@media (max-width:950px){
.wrap{width:min(100% - 42px,1200px)}
.nav{gap:15px;font-size:14px}
.hero-grid{gap:25px}
.trust-inner{grid-template-columns:repeat(3,1fr)}
.trust-inner>p{grid-column:1/-1}
.two-col,.about-grid,.contact-grid{gap:45px}
.section{padding:60px 0}
.brand-springfield img{width:260px;height:94px}
.header-inner{height:112px}
.contact-grid{gap:25px}
.contact-card{padding:22px}
.contact-email{font-size:clamp(12px,1.4vw,16px)}
.about-grid{gap:30px}
.about-photo{min-height:350px}
}
@media (max-width:700px){
.topline{font-size:8px}
.topline span{display:none}
.header-inner{height:92px}
.brand-name{font-size:24px}
.menu-toggle{display:block;background:none;border:0;font-size:24px;color:var(--deep);cursor:pointer}
.nav{display:none;position:absolute;top:92px;left:0;right:0;background:white;padding:22px;box-shadow:0 14px 20px #00000012;flex-direction:column;align-items:stretch;gap:18px;font-size:16px}
.nav.open{display:flex}
.hero-grid,.two-col,.about-grid,.contact-grid{grid-template-columns:1fr;gap:0}
.hero-copy{padding:43px 0 30px}
.hero-visual{min-height:380px;height:380px}
.hero-visual>img{object-position:center 37%}
.photo-label{left:12px;bottom:12px}
.hero-actions{margin-bottom:25px}
.trust-inner{grid-template-columns:1fr 1fr;gap:18px}
.trust-inner>p{grid-column:1/-1}
.trust-stat strong{font-size:25px}
.section{padding:52px 0}
.intro-right{padding-top:0}
.section-heading{display:block;margin-bottom:25px}
.section-heading>p{margin-top:18px;font-size:16px}
.service-grid,.listing-grid{grid-template-columns:1fr}
.service-card{min-height:unset;padding:24px}
.about-photo{height:auto;margin-bottom:30px;aspect-ratio:1.3;min-height:0}
.about-copy{padding-bottom:0}
.contact-section{padding:55px 0}
.contact-card{margin-top:27px;padding:22px}
.footer-grid{grid-template-columns:1fr 1fr}
.footer-right{align-items:flex-start;grid-column:1/-1}
.listing-grid{min-height:160px}
.brand-springfield img{width:210px;height:76px}
.brand-springfield .brand-sub{font-size:7px;letter-spacing:.07em}
.contact-grid{grid-template-columns:1fr;gap:0}
.contact-email{font-size:clamp(12px,3.25vw,18px);white-space:normal;overflow-wrap:anywhere}
.wrap{width:calc(100% - 36px)}
.hero-grid{min-height:unset;gap:0}
h1{font-size:clamp(34px,8.6vw,43px)}
h2{font-size:clamp(28px,7.3vw,36px)}
.eyebrow{font-size:14px;letter-spacing:.035em}
.about-grid{grid-template-columns:1fr;gap:0}
.trust-stat span{font-size:12px}
.service-grid{gap:14px}
}
/* V8 refinements */
:focus-visible{outline:3px solid #b18c59;outline-offset:3px}
.listing-cta,.under-link{font-size:15px}
.listing-note{line-height:1.6}
.contact-email{font-size:clamp(14px,1.3vw,18px)}
@media(max-width:700px){.contact-email{white-space:normal;overflow-wrap:anywhere;font-size:clamp(13px,3.25vw,17px)}}

/* V9 educational feature and transaction cards */
.resources{background:#f4f5f0}.resource-feature{display:grid;grid-template-columns:1.5fr .7fr;gap:32px;align-items:stretch;margin-top:24px;border:1px solid #d6ded3;background:#fff;padding:32px}.resource-feature h2{font-size:clamp(27px,3vw,39px);line-height:1.3;margin-bottom:15px}.resource-feature p{font-size:17px;line-height:1.7;margin-bottom:20px}.resource-feature .resource-source{font-size:13px;color:#6b766d;margin-top:20px;margin-bottom:0}.resource-art{background:#dce6d9;color:#315841;display:flex;align-items:center;justify-content:center;min-height:190px;padding:25px}.resource-art span{font:700 26px/1.25 Georgia,serif;letter-spacing:.05em}.listing-card{background:#fff;border-radius:5px;overflow:hidden}.listing-status{font-size:13px}.listing-visual{font-size:25px}.listing-visual.pending{background:linear-gradient(135deg,#e8e6d9,#d3d4c2)}.listing-visual.cryotherapy{background:linear-gradient(135deg,#dce9ed,#aecbd1)}.listing-visual.pizza{background:linear-gradient(135deg,#eee4d5,#d8bda3)}.listing-visual.awards{background:linear-gradient(135deg,#e6e1d3,#b8b8a1)}.listing-visual.beverage{background:linear-gradient(135deg,#d8e2d7,#a6c0ad)}.listing-card .listing-body p{line-height:1.55}.listing-cta{font-size:15px}@media(max-width:700px){.resource-feature{grid-template-columns:1fr;padding:22px}.resource-art{min-height:110px}.resource-art span{font-size:21px}}

/* V10 licensed representative photography */
.listing-visual{position:relative;padding:0;overflow:hidden}.listing-visual img{display:block;width:100%;height:100%;object-fit:cover}.representative-label{position:absolute;bottom:0;left:0;right:0;background:rgba(20,43,32,.78);color:white;font:12px/1.4 Arial,sans-serif;text-align:left;padding:6px 10px;letter-spacing:0}.listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.listing-visual{height:220px}@media(max-width:700px){.listing-grid{grid-template-columns:1fr}.listing-visual{height:210px}}

/* V11: one discreet disclosure for the listing portfolio */
.listing-photo-note{font-size:12px;line-height:1.5;color:#66736a;margin:17px 0 5px;text-align:left}

/* V13: keep anchor destinations visible below the sticky navigation */
html{scroll-padding-top:110px}
[id="approach"],[id="services"],[id="opportunities"],[id="about"],[id="contact"],[id="contact-form"],[id="top"]{scroll-margin-top:110px}
.inquiry-form{display:grid;gap:9px;margin-top:20px}
.inquiry-form label{font-size:13px;font-weight:700;color:#213c34}
.inquiry-form input,.inquiry-form textarea{box-sizing:border-box;width:100%;padding:12px 13px;border:1px solid #b8c6be;border-radius:5px;background:#fff;color:#213c34;font:inherit;font-size:15px}
.inquiry-form textarea{resize:vertical;min-height:100px}
.inquiry-form input:focus,.inquiry-form textarea:focus{outline:2px solid #a8c6b0;outline-offset:1px}
.inquiry-form button{cursor:pointer;border:0;justify-self:start;margin-top:8px}
.inquiry-form .form-note{font-size:12px;line-height:1.5;margin:4px 0 0}
.honeypot{position:absolute;left:-9999px}
@media(max-width:760px){html{scroll-padding-top:95px}[id="approach"],[id="services"],[id="opportunities"],[id="about"],[id="contact"],[id="contact-form"],[id="top"]{scroll-margin-top:95px}}

/* V14 contact form layout — deliberately scoped to override older site rules */
.contact-card .inquiry-form{display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:100%;gap:0;margin-top:28px;min-width:0}
.contact-card .inquiry-form label{display:block;width:100%;margin:0 0 7px;color:#e9f1eb;font-size:14px;font-weight:600;line-height:1.45}
.contact-card .inquiry-form input:not([type="hidden"]),.contact-card .inquiry-form textarea{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;margin:0 0 20px;padding:13px 14px;background:#fff;color:#173b30;border:1px solid #c9d6ce;border-radius:5px;font:400 16px/1.45 'DM Sans',sans-serif;box-shadow:none}
.contact-card .inquiry-form textarea{min-height:130px;resize:vertical}
.contact-card .inquiry-form input:focus,.contact-card .inquiry-form textarea:focus{outline:2px solid #d4b989;outline-offset:2px}
.contact-card .inquiry-form button{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-height:48px;margin:0 0 15px;padding:13px 22px;white-space:normal;font-size:15px;line-height:1.3;cursor:pointer}
.contact-card .inquiry-form .form-note{max-width:100%;margin:3px 0 0;color:#c8d8cd;font-size:12px;line-height:1.65}
.contact-card .inquiry-form .honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important}
@media(max-width:760px){.contact-card .inquiry-form button{width:100%}}

/* V15: streamlined contact section — no form dependency */
.contact-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:24px}
.contact-actions .btn-light{margin:0;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;font-weight:700}
.copy-email{border:1px solid #a8bcad;border-radius:3px;background:transparent;color:#fff;min-height:48px;padding:11px 18px;cursor:pointer;font-size:14px;font-weight:600}
.copy-email:hover,.copy-email:focus-visible{background:#2b5745}
.contact-card .copy-feedback{display:block;min-height:22px;color:#e4d0a9;font-size:13px;margin-top:8px}
.contact-card small{display:block;margin-top:10px;line-height:1.6;max-width:460px}
.contact-email{white-space:normal;overflow-wrap:anywhere}
@media(max-width:600px){.contact-actions{flex-direction:column;align-items:stretch;width:100%}.contact-actions .btn-light,.copy-email{width:100%;text-align:center}}

/* V16: direct, selectable contact information; no email app dependency */
.contact-email-plain{display:block;cursor:text;user-select:text;-webkit-user-select:text;text-decoration:none;overflow-wrap:anywhere}
.footer-email-plain{display:block;cursor:text;user-select:text;-webkit-user-select:text;overflow-wrap:anywhere}
