@font-face{font-family:"Heirloom Serif";src:url("assets/heirloom-serif.woff") format("woff");font-style:normal;font-weight:400;font-display:swap}
:root {
  --ivory:#f7efd9;
  --paper:#efe3ca;
  --ink:#30332f;
  --charcoal:#52554e;
  --olive:#667465;
  --olive-deep:#414b40;
  --sage:#aab7a9;
  --peach:#d7a18e;
  --terracotta:#a96550;
  --line:rgba(45,48,43,.2);
  --display:"Heirloom Serif",Didot,"Bodoni 72","Bodoni MT","Palatino Linotype",serif;
  --body:Inter,"Avenir Next","Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--body);font-size:16px;font-weight:400;line-height:1.65;letter-spacing:.006em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
a{color:inherit}
.autumn-canopy{height:clamp(84px,9vw,136px);background:url('assets/autumn-canopy.jpeg') center 53%/cover no-repeat;border-bottom:1px solid rgba(247,239,217,.22)}
.site-header{grid-area:logo;min-height:118px;display:flex;align-items:center;justify-content:center;padding:10px clamp(22px,5vw,76px);background:var(--charcoal);border-bottom:1px solid rgba(247,239,217,.18);position:relative;z-index:5;color:var(--ivory)}
.brand{display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--ivory)}
.brand-logo{display:block;width:clamp(148px,13vw,176px);height:auto}
.hero{min-height:min(780px,94vh);display:grid;grid-template-columns:minmax(360px,43%) 1fr;grid-template-rows:118px 1fr;grid-template-areas:"copy logo" "copy image";background:var(--ivory)}
.hero-copy{grid-area:copy;padding:clamp(58px,7vw,104px) clamp(28px,6vw,92px);display:flex;flex-direction:column;justify-content:center;color:var(--ink);position:relative;overflow:hidden;background:radial-gradient(circle at 9% 2%,rgba(255,251,231,.72),rgba(255,251,231,.18) 28%,transparent 50%),linear-gradient(138deg,#faf4e5 0%,var(--ivory) 62%,#f2e6ca 100%);box-shadow:inset -1px 0 rgba(55,57,52,.08)}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:600;margin:0 0 24px;position:relative;z-index:1}
.hero .eyebrow{font-family:var(--display);font-style:italic;text-transform:none;letter-spacing:.01em;font-size:clamp(27px,2.35vw,37px);font-weight:400;color:var(--terracotta);margin-bottom:28px}
.eyebrow.dark{color:var(--olive-deep)}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--display);font-weight:400;line-height:1.02;letter-spacing:-.012em;text-rendering:geometricPrecision;font-synthesis:none}
h1 em,h2 em{font-weight:400}
h1{font-size:clamp(58px,7.1vw,108px);margin-bottom:34px}
h2{font-size:clamp(44px,5.7vw,84px);margin-bottom:30px}
.promise{font-family:var(--display);font-size:clamp(19px,2vw,27px);font-style:italic;line-height:1.35;margin-bottom:38px;max-width:480px}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:15px 22px;border:1px solid currentColor;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-weight:700;font-size:12px;transition:.25s ease;cursor:pointer;background:none}
.button-light{align-self:flex-start;background:rgba(247,239,217,.1);border-color:rgba(247,239,217,.35);color:rgba(247,239,217,.52)}.button-light:not(:disabled){background:var(--charcoal);border-color:var(--charcoal);color:var(--ivory)}
.hero-image{grid-area:image;min-height:620px;background-image:url('assets/pumpkins.jpeg');background-size:cover;background-position:center 47%;filter:saturate(.9) contrast(.96) brightness(1.025);position:relative;overflow:hidden}
.hero-image:before{content:"";position:absolute;inset:-8%;background:radial-gradient(circle at 12% 9%,rgba(255,253,235,.5) 0 4%,rgba(255,246,204,.2) 13%,transparent 32%),linear-gradient(124deg,rgba(255,246,203,.24) 0%,rgba(255,244,206,.1) 22%,transparent 45%);mix-blend-mode:screen;pointer-events:none}
.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(112deg,rgba(255,250,229,.1) 0%,transparent 44%,rgba(68,73,62,.035) 100%);pointer-events:none}
.intro{padding:clamp(78px,9vw,126px) clamp(24px,8vw,120px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(42px,7vw,105px);align-items:start;background:radial-gradient(circle at 90% 8%,rgba(255,251,230,.48),transparent 30%),var(--ivory)}
.intro-copy{padding-top:28px;max-width:600px}.lead{font-family:var(--display);font-size:clamp(24px,2.5vw,35px);line-height:1.35}.location{font-weight:700;color:var(--olive-deep)}
.offer{background:var(--olive-deep);color:var(--ivory);padding:clamp(80px,10vw,140px) clamp(24px,7vw,104px)}
.offer-heading{display:grid;grid-template-columns:1fr 2fr;gap:50px;align-items:start;margin-bottom:70px}.offer-heading h2{max-width:900px}
.offer-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(247,243,236,.28);border-bottom:1px solid rgba(247,243,236,.28)}
.offer-grid article{padding:38px 28px 42px;border-right:1px solid rgba(247,243,236,.28)}.offer-grid article:last-child{border-right:0}.offer-grid span{font-family:var(--display);font-style:italic;color:var(--peach)}
.offer-grid h3{font-family:var(--display);font-size:32px;font-weight:400;margin:16px 0 14px}.offer-grid p{color:rgba(247,243,236,.82)}
.investment{margin:64px auto 0;max-width:660px;text-align:center}.investment strong{display:block;font-family:var(--display);font-size:clamp(62px,9vw,120px);font-weight:400;line-height:1;margin:8px 0 22px}.investment p{color:rgba(247,243,236,.78)}.investment .seasonal-note{margin:24px auto 0;padding-top:24px;border-top:1px solid rgba(247,243,236,.28);max-width:600px;font-family:var(--display);font-size:20px;font-style:italic;line-height:1.45;color:var(--ivory)}
.process{padding:clamp(58px,7vw,88px) clamp(24px,8vw,120px);background:var(--paper);display:grid;grid-template-columns:minmax(220px,.58fr) 2fr;gap:clamp(38px,6vw,84px);align-items:start}
.process-heading{padding-top:10px}.process ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.process li{display:block;padding:30px 24px 32px;border-right:1px solid var(--line)}.process li:last-child{border-right:0}.process li>span{display:block;font-family:var(--display);font-style:italic;font-size:24px;color:var(--terracotta);margin-bottom:10px}.process h3{font-family:var(--display);font-size:24px;font-weight:400;line-height:1.1;margin-bottom:9px}.process p{margin:0;font-size:14px;line-height:1.55}
.faq{padding:clamp(78px,9vw,126px) clamp(24px,8vw,120px);display:grid;grid-template-columns:minmax(250px,.72fr) 1.4fr;gap:clamp(46px,8vw,120px);background:var(--ivory)}.faq-heading{position:sticky;top:36px;align-self:start}.faq-heading h2{font-size:clamp(42px,5vw,72px)}.faq-list{display:grid;gap:12px}.faq details{border:1px solid rgba(82,85,78,.16);background:rgba(255,251,239,.54);box-shadow:0 7px 20px rgba(65,75,64,.045)}.faq summary{position:relative;cursor:pointer;list-style:none;padding:22px 58px 22px 26px;background:#f3e8d3;color:var(--ink);font-family:var(--display);font-size:clamp(21px,2vw,27px);line-height:1.25;transition:background-color .2s ease}.faq summary::-webkit-details-marker{display:none}.faq summary:hover{background:#eee0c8}.faq summary:focus-visible{outline:2px solid var(--charcoal);outline-offset:3px}.faq summary:after{content:'+';position:absolute;right:24px;top:50%;transform:translateY(-50%);font-family:var(--body);font-size:24px;font-weight:300;color:var(--charcoal)}.faq details[open] summary{border-bottom:1px solid rgba(82,85,78,.14)}.faq details[open] summary:after{content:'−'}.faq details p{max-width:720px;margin:0;padding:24px 48px 27px 26px;color:rgba(48,51,47,.84)}
.inquire{background:var(--olive);color:var(--ivory);padding:clamp(80px,10vw,132px) clamp(24px,8vw,120px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,9vw,136px);position:relative;isolation:isolate;overflow:hidden}
.inquire>div,.inquire form{position:relative;z-index:1}.invitation-script{font-family:var(--display);font-style:italic;font-size:clamp(27px,2.5vw,38px);font-weight:400;text-transform:none;letter-spacing:.01em;color:var(--ivory);margin-bottom:22px}
.inquire>div>p:not(.eyebrow):not(.settle-in){max-width:500px;font-size:18px}.settle-in{max-width:500px;margin:30px 0 0;padding-top:24px;border-top:1px solid rgba(242,235,220,.28);font-family:var(--display);font-size:clamp(20px,2vw,27px);font-style:italic;line-height:1.35;color:var(--ivory)}.inquire form{display:grid;gap:13px}.inquire label{font-family:var(--body);font-size:14px;text-transform:uppercase;letter-spacing:.12em;font-weight:500}.inquire input,.inquire textarea{display:block;width:100%;margin-top:6px;background:rgba(245,238,226,.08);border:1px solid rgba(245,238,226,.48);color:var(--ivory);padding:11px 13px;border-radius:0;font-family:var(--body);font-size:16px;font-weight:400;line-height:1.35;letter-spacing:.01em}.inquire input:focus,.inquire textarea:focus{outline:2px solid var(--peach);outline-offset:2px}.inquire ::placeholder{color:rgba(245,238,226,.62)}.form-note{font-size:13px;color:rgba(245,238,226,.72);margin-bottom:0}
.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.button:disabled{cursor:not-allowed}
.form-note a{text-underline-offset:3px}.legal-page{min-height:100vh;background:var(--ivory)}.legal-header{min-height:112px;padding:12px clamp(24px,6vw,88px);display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--charcoal);color:var(--ivory)}.legal-header .brand-logo{width:160px}.back-link{font-size:13px;text-transform:uppercase;letter-spacing:.12em;text-decoration:none;border-bottom:1px solid rgba(247,239,217,.45)}.legal-main{max-width:980px;margin:0 auto;padding:clamp(68px,8vw,110px) clamp(22px,5vw,64px)}.legal-main h1{font-size:clamp(48px,7vw,82px);margin-bottom:24px}.legal-main h2{font-size:clamp(28px,3.2vw,40px);margin-bottom:16px}.legal-intro{max-width:760px;font-family:var(--display);font-size:clamp(21px,2.4vw,30px);line-height:1.4}.legal-updated{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--olive-deep);margin-bottom:24px}.legal-section{padding:34px 0 22px;border-top:1px solid var(--line)}.legal-section p,.legal-section li{max-width:800px}.legal-section ul{padding-left:22px}.legal-note{margin:30px 0 42px;padding:24px 26px;border-left:3px solid var(--terracotta);background:var(--paper)}.legal-contact{font-weight:700;color:var(--olive-deep)}
footer{padding:34px clamp(24px,5vw,76px);display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;font-size:13px;border-top:1px solid var(--line);background:var(--ivory)}footer>div:last-child{text-align:right}.footer-brand{font-family:var(--display);font-size:20px}.footer-middle{text-align:center}.footer-links{display:flex;justify-content:center;gap:18px;margin-top:4px}.footer-links a{text-underline-offset:3px}
@media (max-width:850px){.hero{grid-template-columns:1fr;grid-template-rows:auto 106px auto;grid-template-areas:"copy" "logo" "image";min-height:auto}.site-header{min-height:106px}.brand-logo{width:158px}.hero-copy{min-height:480px}.hero-image{min-height:52vh;background-position:center 44%}.intro,.process,.faq,.inquire{grid-template-columns:1fr}.intro-copy{padding-top:0}.offer-heading{grid-template-columns:1fr}.offer-grid{grid-template-columns:1fr 1fr}.offer-grid article:nth-child(2){border-right:0}.offer-grid article:nth-child(-n+2){border-bottom:1px solid rgba(247,243,236,.28)}.process ol{grid-template-columns:1fr}.process li{border-right:0;border-bottom:1px solid var(--line)}.process li:last-child{border-bottom:0}.faq-heading{position:static}footer{grid-template-columns:1fr;text-align:left}.footer-middle{text-align:left}.footer-links{justify-content:flex-start}footer>div:last-child{text-align:left}}
@media (max-width:520px){.autumn-canopy{height:78px;background-position:center 53%}.hero-copy{min-height:460px;padding-top:52px;padding-bottom:52px}.site-header{min-height:100px;padding:8px 12px}.brand-logo{width:150px}.hero-image{min-height:50vh}.offer-grid{grid-template-columns:1fr}.offer-grid article{border-right:0;border-bottom:1px solid rgba(247,243,236,.28)}.intro,.offer,.process,.inquire{padding-left:22px;padding-right:22px}.intro{padding-top:66px;padding-bottom:72px}.offer{padding-top:70px;padding-bottom:78px}.process{padding-top:62px;padding-bottom:68px}.inquire{padding-top:72px;padding-bottom:82px}footer{padding-top:26px;padding-bottom:26px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
