:root{--ink:#38443d;--muted:#616d64;--pine:#536e5d;--terra:#b77b5b;--cream:#faf9f5;--pale:#edf1eb;--line:#dbe3db}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;line-height:1.56}a{color:inherit}img{display:block;max-width:100%}button,input,textarea{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-60px;left:12px;z-index:20;background:#fff;padding:9px 13px}.skip-link:focus{top:12px}
.site-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:5}.header-inner{width:min(100% - 48px,1240px);min-height:82px;display:flex;align-items:center;gap:30px;margin:auto}.site-name{font-size:1.08rem;font-weight:800;text-decoration:none;color:var(--pine)}.main-nav{display:flex;align-items:center;gap:28px;margin-left:auto}.main-nav a{font-size:.92rem;font-weight:650;text-decoration:none}.main-nav a:hover,.site-footer a:hover,.personal-contact a:hover{text-decoration:underline}.brand{order:3;width:114px;flex:none;margin-left:10px}.brand img{width:100%;height:auto}.menu-button{display:none}
.hero{max-width:1600px;margin:auto;background:#fff;padding-bottom:54px}.hero-image{position:relative;margin:0;height:500px}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 45%}figcaption{position:absolute;right:12px;bottom:12px;background:rgba(30,44,34,.83);color:#fff;padding:4px 7px;font-size:.7rem;line-height:1.2}.hero-copy{position:relative;width:min(100% - 48px,1240px);margin:-98px auto 0;background:#fff;padding:54px 62px 0;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:0 68px}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.14em;color:var(--terra);text-transform:uppercase;margin:0 0 16px}.hero-copy .eyebrow{grid-column:1/-1}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.13;letter-spacing:-.033em}h1{font-size:clamp(2.65rem,4vw,4.3rem);margin:0;grid-column:1;grid-row:2/4}h2{font-size:clamp(2.1rem,3vw,3.2rem);margin:0 0 19px}h3{font-size:1.13rem;margin:0 0 9px}.hero-copy>p:not(.eyebrow){grid-column:2;grid-row:2;font-size:1.08rem;color:var(--muted);margin:0 0 24px}.hero-copy>.button{grid-column:2;grid-row:3;align-self:start;width:max-content;max-width:100%}.button,.submit-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 22px;line-height:1.3;border:1px solid transparent;text-decoration:none;font-weight:700;cursor:pointer}.button-primary,.submit-button{background:var(--pine);color:#fff}.button-primary:hover,.submit-button:hover{background:#3e5948}.button-outline{border-color:var(--pine);color:var(--pine);background:transparent}.button-outline:hover{background:var(--pine);color:#fff}
.section-shell{width:min(100% - 48px,1240px);margin:auto}.distances{padding:90px 0 109px}.distances-head{max-width:790px;margin-bottom:41px}.distances-head>p:not(.eyebrow){font-size:1.07rem;color:var(--muted);margin:0}.distance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.distance-grid article{background:#fff;border-bottom:4px solid #bccbbd;padding:27px 29px 33px}.distance-grid span{display:block;color:var(--terra);font-size:.76rem;font-weight:800;letter-spacing:.1em;margin-bottom:32px}.distance-grid p{margin:0;color:var(--muted)}
.town{background:var(--pale);padding:75px 0}.town-inner{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,7vw,105px);align-items:center}.town-copy>p:not(.eyebrow){font-size:1.07rem;color:var(--muted);margin:0 0 27px}.town-image{position:relative;margin:0;height:490px}.town-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.contact{padding:96px 0 105px}.contact-heading{margin-bottom:29px}.contact-heading h2{margin-bottom:0}.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:58px}.form-panel{padding:33px 36px 39px;background:#fff;border:1px solid var(--line)}fieldset{border:0;padding:0;margin:0 0 25px}legend{font-weight:700;margin-bottom:11px}.choice-row{display:flex;gap:9px;flex-wrap:wrap}.choice-row label{display:flex;align-items:center;gap:7px;background:#eff3ee;padding:8px 11px;font-size:.92rem;cursor:pointer}.choice-row input{accent-color:var(--pine);margin:0}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 19px}.field-grid label{display:flex;flex-direction:column;gap:6px;font-size:.92rem;font-weight:650}.field-grid small{font-weight:400;color:var(--muted)}.field-grid input,.field-grid textarea{min-height:43px;width:100%;border:1px solid #b0bdb1;border-radius:2px;padding:9px 11px;color:var(--ink);background:#fff}.field-grid textarea{min-height:97px;resize:vertical}.field-message{grid-column:1/-1}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.consent{display:flex;align-items:flex-start;gap:9px;margin:21px 0 18px;font-size:.88rem}.consent input{accent-color:var(--pine);margin-top:4px}.consent a{text-decoration:underline}.form-status{font-size:.86rem;margin:12px 0 0;color:var(--muted)}.form-status:empty{display:none}.personal-contact{align-self:start;border-top:4px solid var(--terra);padding:26px 0}.contact-kicker{margin:0 0 17px;color:var(--terra);font-weight:800;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.personal-contact h2{font-size:2rem;margin-bottom:7px}.personal-contact p:not(.contact-kicker){margin:0 0 19px;color:var(--muted)}.personal-contact a{display:block;margin:0 0 8px;width:max-content;max-width:100%;text-decoration:none;font-weight:700}.site-footer{padding:27px max(24px,calc((100% - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--ink);color:#fff;font-size:.88rem}.site-footer p{margin:0}.site-footer nav{display:flex;gap:22px;flex-wrap:wrap}.site-footer a{text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #deaf86;outline-offset:3px}
@media(max-width:930px){.header-inner{min-height:70px}.main-nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:flex-start;gap:15px;margin:0;padding:16px 24px 21px;background:#fff;border-top:1px solid var(--line);box-shadow:0 12px 20px rgba(25,40,30,.08)}.main-nav.is-open{display:flex}.menu-button{display:flex;align-items:center;justify-content:center;order:2;width:42px;height:42px;margin-left:auto;background:#fff;border:1px solid var(--line);cursor:pointer}.menu-button span:not(.sr-only){width:20px;height:2px;background:var(--ink);box-shadow:0 -6px 0 var(--ink),0 6px 0 var(--ink)}.brand{order:3;width:104px;margin-left:0}.hero-image{height:420px}.hero-copy{gap:0 36px;padding:44px 35px 0}.contact-grid{grid-template-columns:minmax(0,1fr) 225px;gap:33px}}
@media(max-width:700px){.header-inner,.section-shell{width:min(100% - 32px,1240px)}.hero{padding-bottom:0}.hero-image{height:300px}.hero-copy{width:min(100% - 32px,1240px);margin:0 auto;display:flex;flex-direction:column;gap:0;padding:42px 0 56px}.hero-copy h1{font-size:clamp(2.3rem,8vw,3.3rem);margin-bottom:21px}.hero-copy>p:not(.eyebrow){font-size:1rem}.distances{padding:72px 0 79px}.distances-head{margin-bottom:32px}.distance-grid{grid-template-columns:1fr;gap:12px}.distance-grid article{padding:22px 23px}.distance-grid span{margin-bottom:12px}.town{padding:55px 0 65px}.town-inner{display:flex;flex-direction:column;align-items:stretch;gap:35px}.town-image{height:330px}.contact{padding:76px 0 80px}.contact-grid{display:flex;flex-direction:column;gap:35px}.site-footer{flex-direction:column;align-items:flex-start}}
@media(max-width:480px){.header-inner{gap:13px}.site-name{font-size:.84rem}.brand{width:86px}.hero-image{height:235px}.hero-copy{padding:36px 0 50px}.eyebrow{font-size:.67rem}.town-image{height:265px}.form-panel{padding:23px 18px}.choice-row{flex-direction:column;align-items:stretch}.field-grid{grid-template-columns:1fr}.field-message{grid-column:auto}.submit-button{width:100%}.site-footer nav{gap:13px 19px}}@media(max-width:350px){.header-inner{gap:8px}.brand{width:75px}.site-name{font-size:.74rem}.hero-copy h1{font-size:2.05rem}}
@media(min-width:931px){.hero-copy{width:min(100% - 300px,1240px)}}
@media(min-width:701px) and (max-width:930px){.hero-copy{width:min(100% - 48px,1240px);margin:0 auto}}
