:root { --burgundy:#7a1628; --burgundy-dark:#55101d; --ink:#171513; --paper:#f7f4ef; --line:#d9d2c8; --serif:Georgia,"Times New Roman",serif; --sans:Arial,Helvetica,sans-serif; }
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.section-pad{padding:120px max(6vw,32px)}
.site-header{height:104px;padding:0 max(4vw,28px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:10;color:var(--ink);background:#fff}.brand,.footer-brand{display:flex;align-items:center;gap:15px}.brand:after{content:"";height:54px;width:1px;background:#c8c1b8;order:1}.brand-words{order:2}.brand-words,.footer-brand>span{display:flex;flex-direction:column;line-height:1}.brand-words strong,.footer-brand strong{font-family:var(--serif);font-size:20px;letter-spacing:.04em}.brand-words strong:first-letter,.footer-brand strong:first-letter{color:var(--burgundy)}.brand-words small,.footer-brand small{font-size:8px;letter-spacing:.27em;margin-top:7px}.logo-crop{position:relative;display:block;width:58px;height:62px;overflow:hidden;flex:0 0 auto;background:#fff}.logo-crop img{position:absolute;width:520px;height:auto;max-width:none;left:-80px;top:-15px}.logo-crop-large{width:160px;height:165px}.logo-crop-large img{width:1500px;left:-235px;top:-46px}.site-header nav{display:flex;gap:32px;font-size:11px;text-transform:uppercase;letter-spacing:.17em}.site-header nav a:hover{color:var(--burgundy)}.header-call{font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--burgundy)}.header-call span{color:#6e6963;font-size:9px;text-transform:uppercase;letter-spacing:.15em;margin-right:8px}
.hero{min-height:760px;background:linear-gradient(120deg,#32070d 0%,#6e101d 55%,#8c1827 100%);color:#fff;position:relative;overflow:hidden;display:grid;grid-template-columns:1.12fr .88fr;padding:90px max(7vw,45px) 115px;gap:6vw;align-items:center}.hero-grid{position:absolute;inset:0 42% 0 0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px}.hero:after{content:"";position:absolute;inset:0 38% 0 auto;width:18%;background:linear-gradient(90deg,#6e101d,transparent);z-index:1}.hero-copy{position:relative;z-index:3}.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:700;color:var(--burgundy);margin:0 0 25px}.eyebrow{color:#efc4cb}.hero h1,.section-heading h2,.intro-band h2,.trust h2,.about h2,.area h2,.contact h2{font-family:var(--serif);font-weight:400;line-height:.98;margin:0}.hero h1{font-size:clamp(60px,6.6vw,100px);letter-spacing:-.048em}.hero h1 em,.area h2 em{font-weight:400;color:#f3c5cc}.hero-intro{max-width:650px;font-size:19px;color:#f3e9e9;margin:34px 0;line-height:1.65}.hero-actions{display:flex;align-items:center;gap:34px;margin-top:38px}.button{display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;padding:18px 24px;border:1px solid transparent;cursor:pointer}.button-light{background:#fff;color:var(--burgundy)}.button-light:hover{background:#f1e6e7}.text-link{font-size:12px;text-transform:uppercase;letter-spacing:.13em;border-bottom:1px solid currentColor;padding:8px 0}.text-link span{margin-left:16px}.hero-photo{position:absolute;z-index:0;right:0;top:0;bottom:0;width:48%;overflow:hidden;background:#ddd}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:64% center}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(79,10,21,.72),transparent 42%),linear-gradient(0deg,rgba(17,12,10,.25),transparent 50%)}.hero-promise{position:absolute;z-index:4;right:max(4vw,30px);bottom:32px;display:flex;gap:14px;align-items:center;background:rgba(20,18,16,.9);padding:14px 22px;text-transform:uppercase;letter-spacing:.14em;font-family:var(--serif);font-size:12px}.hero-promise b{color:var(--burgundy);font-family:var(--sans)}.hero-ridge{display:none}
.intro-band{display:grid;grid-template-columns:.55fr 1.4fr 1fr;gap:6vw;padding:120px max(6vw,32px);background:var(--paper);align-items:start}.intro-band h2{font-size:clamp(42px,4.2vw,67px);letter-spacing:-.035em}.intro-band h2 em{color:var(--burgundy);font-weight:400}.intro-band>p:last-child{font-size:17px;color:#625d56;margin-top:5px}
.section-heading{display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;align-items:end;margin-bottom:70px}.section-heading h2,.about h2,.contact h2{font-size:clamp(45px,5vw,76px);letter-spacing:-.04em}.section-heading>p{color:#68625c;max-width:450px}.service-list{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:70px .75fr 1.25fr 40px;gap:30px;padding:34px 10px;border-bottom:1px solid var(--line);align-items:center;transition:padding .2s,background .2s}.service:hover{background:var(--paper);padding-left:22px;padding-right:22px}.service>span{font-size:11px;color:var(--burgundy);font-weight:700}.service h3{font-family:var(--serif);font-size:29px;margin:0;font-weight:400}.service p{margin:0;color:#68625c;max-width:620px}.service>a{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--burgundy)}
.trust{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:#fff}.trust-quote{min-height:650px;padding:90px 7vw;background:linear-gradient(145deg,rgba(122,22,40,.92),rgba(74,11,22,.96)),radial-gradient(circle at 80% 10%,#b14a5c,transparent 40%);display:flex;flex-direction:column;justify-content:space-between}.section-label.light{color:#e5a7b2}.trust blockquote{font-family:var(--serif);font-size:clamp(41px,4.5vw,68px);line-height:1.08;margin:0;letter-spacing:-.035em}.trust-copy{padding:100px 7vw;display:flex;flex-direction:column;justify-content:center}.trust h2{font-size:clamp(42px,4.2vw,64px);margin-bottom:35px}.trust-copy p{color:#c8c4be;max-width:570px}.light-link{color:#fff;align-self:flex-start;margin-top:26px}
.about{display:grid;grid-template-columns:.6fr 1.4fr;gap:10vw;background:var(--paper)}.about-mark{min-height:430px;border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--burgundy);text-align:center;gap:20px}.about-mark>span{text-transform:uppercase;letter-spacing:.17em;font-size:10px;line-height:1.7}.about-lead{font-family:var(--serif);font-size:26px;line-height:1.5;color:#38332f}.owners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:36px 0;padding:28px 0}.owner-card{display:flex;flex-direction:column;min-width:0}.owner-card+.owner-card{border-left:1px solid var(--line);padding-left:24px}.owner-photo{position:relative;aspect-ratio:4/5;overflow:hidden;background:#ddd6ce;margin-bottom:18px}.owner-photo:after{content:"";position:absolute;inset:0;border:1px solid rgba(60,49,42,.13);pointer-events:none}.owner-photo img{display:block;width:100%;height:100%;object-fit:cover}.brooke-photo{object-position:center 52%}.michelle-photo{object-position:72% 48%}.owners strong{font-family:var(--serif);font-size:21px}.owners span{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--burgundy);margin-top:5px}.about-copy>p:last-child{color:#68625c}
.area{display:grid;grid-template-columns:1.05fr .95fr;background:var(--burgundy-dark);color:#fff}.area-copy{padding:110px 7vw}.area h2{font-size:clamp(52px,6vw,88px);letter-spacing:-.045em;margin-bottom:28px}.area-copy>p:not(.section-label):not(.nearby){color:#eadde0;max-width:540px}.towns{display:grid;grid-template-columns:repeat(3,1fr);margin:44px 0 30px;border-top:1px solid rgba(255,255,255,.2)}.towns span{font-family:var(--serif);font-size:18px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.2)}.nearby{font-size:13px;color:#d4bcc1}.area-map{position:relative;min-height:660px;overflow:hidden;background-color:#701728;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:54px 54px}.map-land{position:absolute;inset:9% 8% 11%;border:1px solid rgba(255,255,255,.2);border-radius:42% 58% 48% 52%/52% 39% 61% 48%;transform:rotate(-4deg);background:radial-gradient(circle at 52% 48%,rgba(255,255,255,.08),transparent 42%)}.map-land:before,.map-land:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.08);border-radius:48%}.map-land:before{inset:8% 9%;transform:rotate(9deg)}.map-land:after{inset:18% 20%;transform:rotate(-13deg)}.map-route{position:absolute;z-index:1;left:51%;top:49%;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.5),rgba(255,255,255,.05));transform-origin:left center}.route-nw{width:39%;transform:rotate(218deg)}.route-n{width:34%;transform:rotate(278deg)}.route-ne{width:40%;transform:rotate(315deg)}.route-w{width:34%;transform:rotate(174deg)}.route-sw{width:36%;transform:rotate(139deg)}.route-s{width:32%;transform:rotate(94deg)}.route-ssw{width:43%;transform:rotate(104deg)}.route-se{width:35%;transform:rotate(49deg)}.map-town{position:absolute;z-index:2;display:flex;align-items:center;gap:8px;font-family:var(--serif);font-size:17px;color:#fff;white-space:nowrap;transform:translate(-50%,-50%);text-shadow:0 1px 8px rgba(54,4,13,.8)}.map-town i{display:block;width:9px;height:9px;border:2px solid #f0c6cd;background:#701728;border-radius:50%;box-shadow:0 0 0 4px rgba(255,255,255,.06)}.town-stoddard{left:17%;top:17%}.town-antrim{left:62%;top:16%}.town-bennington{left:82%;top:29%}.town-nelson{left:18%;top:43%}.town-harrisville{left:25%;top:65%}.town-dublin{left:31%;top:80%}.town-peterborough{left:61%;top:80%}.town-jaffrey{left:44%;top:93%}.town-greenfield{left:79%;top:67%}.town-hancock{left:51%;top:49%;flex-wrap:wrap;width:118px;justify-content:center;gap:6px 8px}.town-hancock i{width:17px;height:17px;border:5px solid #fff;background:var(--burgundy);box-shadow:0 0 0 8px rgba(255,255,255,.13)}.town-hancock strong{font-size:23px;font-weight:400}.town-hancock small{flex-basis:100%;text-align:center;margin-left:21px;text-transform:uppercase;letter-spacing:.15em;font:700 8px var(--sans);color:#e8bdc5}.map-key{position:absolute;bottom:24px;right:28px;text-transform:uppercase;letter-spacing:.14em;font-size:8px;color:#ddb9c0}.map-key span{display:inline-block;width:19px;height:1px;background:#f0c6cd;vertical-align:middle;margin-right:7px}
.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.contact-intro>p:not(.section-label){color:#68625c;max-width:520px}.contact-details{display:flex;flex-direction:column;align-items:flex-start;margin-top:42px;gap:6px}.contact-details a{font-family:var(--serif);font-size:20px;border-bottom:1px solid var(--line)}.contact-details address{font-style:normal;color:#68625c;margin-top:18px}.contact-form{background:var(--paper);padding:48px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form label{display:flex;flex-direction:column;text-transform:uppercase;letter-spacing:.12em;font-size:9px;font-weight:700;margin-bottom:22px}.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid #aaa198;background:transparent;padding:10px 0 12px;border-radius:0;color:var(--ink);outline:none;text-transform:none;letter-spacing:normal;font-size:16px}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--burgundy)}.contact-form textarea{resize:vertical}.button-dark{background:var(--burgundy);color:#fff;width:100%;margin-top:10px}.button-dark:hover{background:var(--burgundy-dark)}.button-dark span{margin-left:15px}.contact-form>small{display:block;color:#777068;font-size:10px;margin-top:13px;text-align:center}.website-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-status{margin-bottom:24px;padding:14px 16px;font-size:13px;border-left:4px solid}.form-status.success{background:#edf6ef;border-color:#39734a;color:#244d30}.form-status.error{background:#f8e9ec;border-color:var(--burgundy);color:var(--burgundy-dark)}
footer{background:var(--ink);color:#fff;padding:55px max(6vw,32px) 30px;border-top:8px solid var(--burgundy);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:30px}footer .logo-crop{border:1px solid #4d4945}footer>p{text-align:center;font-family:var(--serif);font-size:20px;font-style:italic}footer>div:nth-of-type(2){display:flex;flex-direction:column;text-align:right;font-size:12px}footer>small{grid-column:1/-1;border-top:1px solid #3b3936;padding-top:22px;color:#88827b;font-size:10px;text-align:center}
@media(max-width:900px){.section-pad{padding:85px 24px}.site-header nav{display:none}.header-call span{display:none}.hero{min-height:800px;grid-template-columns:1fr;padding:100px 25px 140px}.hero-photo{width:100%;opacity:.3}.hero-photo:after{background:linear-gradient(90deg,rgba(89,9,22,.95),rgba(78,8,19,.45))}.hero h1{font-size:clamp(55px,16vw,82px)}.hero-intro{font-size:17px}.hero-promise{left:24px;right:auto;bottom:28px}.intro-band,.section-heading,.trust,.about,.area,.contact{grid-template-columns:1fr}.intro-band{padding:85px 24px}.intro-band .section-label{margin-bottom:0}.section-heading>p{margin-top:-35px}.trust-quote{min-height:480px;padding:70px 24px}.trust-copy{padding:80px 24px}.about-mark{min-height:320px}.area-map{min-height:560px;grid-row:1}.area-copy{padding:80px 24px}.contact-form{padding:32px 24px}footer{grid-template-columns:1fr;text-align:center}footer>p{margin:5px 0}footer>div:nth-of-type(2){text-align:center}footer>small{grid-column:1}.footer-brand{justify-content:center}}
@media(max-width:600px){.site-header{height:82px;padding:0 14px}.logo-crop{width:46px;height:50px}.logo-crop img{width:420px;left:-65px;top:-12px}.brand:after{height:45px}.brand-words strong{font-size:14px}.brand-words small{font-size:6px}.header-call{font-size:10px}.hero{min-height:740px;padding-top:90px}.hero-actions{align-items:flex-start;flex-direction:column;gap:16px}.hero h1{font-size:51px}.hero-promise{gap:8px;padding:12px 14px;font-size:9px;left:14px}.intro-band{gap:28px}.intro-band h2,.section-heading h2,.about h2,.contact h2{font-size:42px}.section-heading{gap:50px}.service{grid-template-columns:38px 1fr 35px;gap:12px;padding:27px 5px}.service h3{font-size:24px}.service p{grid-column:2/4}.service>a{grid-column:3;grid-row:1/2}.owners{grid-template-columns:1fr}.owner-card+.owner-card{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:24px}.towns{grid-template-columns:repeat(2,1fr)}.area-map{min-height:500px}.map-town{font-size:13px;gap:5px}.town-hancock{width:92px}.town-hancock strong{font-size:18px}.town-stoddard{left:20%}.town-bennington{left:78%}.town-harrisville{left:23%}.town-greenfield{left:76%}.field-row{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service{transition:none}}
