/* Local visual study: warm, muted color and expressive typography. */
:root{--ink:#302d2b;--cream:#f6f3e6;--sage:#b7c0a8;--clay:#c66f55;--lavender:#c8b7c3;--peach:#e2c1a7;--dark:#302d2b;--wine:#795c62;--coral:#bf6e55}body{background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}.header{height:88px;background:var(--cream);border-bottom:1px solid #d7d2c3;padding:0 6%}.wordmark strong{font-size:2.1rem;letter-spacing:-.09em}.header nav{gap:2.5rem;text-transform:uppercase;letter-spacing:.09em;font-size:.7rem}.header nav a:hover,.text-link:hover{color:var(--clay)}.hero{min-height:680px;grid-template-columns:57% 43%;background:var(--sage);color:var(--ink)}.hero-copy{padding:85px 8% 85px 10.5%;background:var(--sage);justify-content:center}.hero-note,.section-number{font-size:.67rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700}.hero-note{margin-bottom:4rem;display:flex;gap:1rem;align-items:center}.hero-note span{font-size:1.2rem;color:#9b5c4d}h1,h2{font-weight:700;letter-spacing:-.065em;line-height:.96}h1{font-size:clamp(4.2rem,6.4vw,7.4rem);margin-bottom:2rem}h1 em,h2 em{font-family:inherit;font-style:normal;letter-spacing:inherit;font-weight:inherit}.hero h1 em{color:#765962}.hero-intro{color:#393c35;max-width:430px;font-size:1rem;line-height:1.65}.hero-image{min-height:680px}.hero-image img{object-position:50% 45%}.hero-image:after{background:linear-gradient(0deg,rgba(35,29,28,.5),transparent 40%)}.image-label{color:white}.button{border-radius:3px;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;padding:1.1rem 1.4rem}.button.coral{background:var(--clay);color:#fff}.button:hover{background:var(--ink);color:white}.section{padding:130px 8%}.section-number{display:block;margin-bottom:2.2rem;color:#8e706c}h2{font-size:clamp(3.6rem,5.8vw,6.3rem);text-transform:uppercase}.intro{background:var(--cream)}.intro-grid{grid-template-columns:1.15fr .85fr;gap:12%}.intro h2 em{color:#a76e62}.intro-body{padding-top:3rem}.lead{font-weight:600;font-size:1.27rem;line-height:1.5}.intro-body p:not(.lead),.expect-details p{color:#5b5a52}.text-link{text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}.dreams{background:var(--peach);color:var(--ink);grid-template-columns:45% 55%}.dreams-image{min-height:630px;padding:70px 8% 70px 15%;background:#e2c1a7}.dreams-image img{border-radius:50% 50% 4px 4px;object-position:50% 45%}.dreams-copy{padding:100px 13%;align-items:flex-start;text-align:left}.dreams-copy h2 em{color:#97645c}.dreams-copy p:not(.eyebrow){color:#453c38}.dreams-copy .text-link:hover{color:#8e4a38}.sketch-sprig{color:#896b61;top:40px;left:auto;right:12%;opacity:.5}.expect{background:#e8e5d6}.expect-grid{gap:10%}.expect h2 em{color:#7b8270}.expect-details>div{border-color:#c4bfaf}.expect-details span{color:#9a685f}.vineyard{background:var(--lavender);color:var(--ink);padding:130px 8%}.vineyard h2{font-size:clamp(4rem,8vw,8.5rem);color:#383039}.vineyard h2 em{color:#f9f3e8}.vineyard-bottom p{color:#423b42}.vineyard-bottom .text-link:hover{color:#fff}.sketch-rays{color:#765e70;opacity:.55}.visit{background:var(--cream)}.visit h2 em{color:#bd735d}.visit-card{background:#777f70;color:#fff;border-radius:8px;padding:3rem}.visit-detail{border-color:#bfc8b5}.visit-detail span{color:#e7eddf}.visit-card .button{border-radius:4px;background:#f4e8d5;color:#393b34}.visit-card .button:hover{background:var(--ink);color:#fff}footer{background:#302d2b}.footer-label{color:#d2ad9e!important}.footer-top a:hover{color:#e2bda9}@media(max-width:800px){.header{height:72px}.header nav{background:var(--cream)}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 7% 75px}.hero-note{margin-bottom:2.5rem}.hero-image{min-height:420px;max-height:510px}.section{padding:80px 7%}.intro-grid{grid-template-columns:1fr;gap:1rem}.intro-body{padding-top:0}.dreams{grid-template-columns:1fr}.dreams-image{padding:50px 18%;min-height:480px;max-height:590px}.dreams-copy{padding:90px 7% 80px}.vineyard{padding:90px 7%}.sketch-sprig{right:8%;top:25px}.vineyard-bottom a{justify-self:start}}@media(max-width:480px){h1{font-size:3.8rem}h2{font-size:3.35rem}.hero-image{min-height:350px}.dreams-image{min-height:390px;padding:40px 15%}.visit-card{padding:2rem}}

/* An inset, connected composition for the Pinehurst preview. */
body{background:#f6f3e6}.header{border:0;max-width:1600px;margin:auto}.hero{position:relative;margin:0 3%;min-height:650px;border-radius:20px;overflow:hidden;grid-template-columns:56% 44%}.hero-copy{padding:90px 8% 110px 10%;position:relative}.hero h1{max-width:650px}.hero-image{min-height:650px;padding:22px 22px 22px 0}.hero-image img{border-radius:14px}.hero-image:after{inset:22px 22px 22px 0;border-radius:14px}.image-label{right:3rem;bottom:3rem}.intro{position:relative;background:transparent;padding:125px 9% 145px}.intro-grid{max-width:1350px;margin:auto;align-items:start;grid-template-columns:1.05fr .8fr;gap:14%}.intro h2{max-width:680px}.intro-body{padding:0 0 0 2rem;border-left:1px solid #bda99b;margin-top:1rem}.dreams{margin:0 6% 0 3%;border-radius:22px;background:var(--peach);grid-template-columns:43% 57%;overflow:visible;position:relative}.dreams-image{min-height:590px;margin:-48px 0 48px 9%;padding:0;background:transparent;border-radius:180px 180px 16px 16px;overflow:hidden;box-shadow:0 14px 35px #7a5d4f18}.dreams-image img{border-radius:inherit}.dreams-copy{padding:95px 12% 95px 15%}.dreams-copy h2{max-width:600px}.dreams-copy p:not(.eyebrow){max-width:450px}.sketch-sprig{right:10%;top:30px}.expect{background:transparent;padding:150px 9% 120px}.expect-grid{max-width:1350px;margin:auto;grid-template-columns:.9fr 1fr;gap:12%}.expect-grid>div:first-child{position:relative}.expect-grid>div:first-child:after{content:'✳';display:block;color:#bf7966;font-size:3rem;line-height:1;margin-top:2.5rem}.expect-details{background:#e7e6d8;border-radius:18px;padding:2rem 2.5rem}.expect-details>div:first-child{border-top:0}.expect-details>div:last-child{padding-bottom:.5rem}.vineyard{margin:0 3%;border-radius:22px;background:var(--lavender);padding:100px 7% 110px;overflow:hidden}.vineyard-inner{max-width:1300px}.vineyard h2{font-size:clamp(4rem,8vw,8rem);max-width:1000px}.vineyard-bottom{grid-template-columns:1fr auto}.vineyard-bottom p{max-width:560px}.visit{padding:150px 9% 140px;background:transparent}.visit-grid{max-width:1350px;margin:auto;align-items:center;gap:12%}.visit-card{border-radius:22px;padding:3.5rem;position:relative}.visit-card:before{content:'✳';position:absolute;top:-28px;right:34px;width:56px;height:56px;border-radius:50%;background:#c46f58;color:#fff;display:grid;place-items:center;font-size:1.8rem}.visit-detail:first-child{border-top:0}.visit-detail{grid-template-columns:105px 1fr}.visit-card .button{border-radius:7px}.footer-top,.footer-bottom{max-width:1350px;margin-left:auto;margin-right:auto}footer{border-radius:22px 22px 0 0;margin:0 3%;padding:5rem 6% 2rem}
@media(max-width:800px){.hero{margin:0 4%;grid-template-columns:1fr;min-height:0;border-radius:16px}.hero-copy{padding:70px 8% 60px}.hero-image{padding:0 14px 14px;min-height:390px;max-height:530px}.hero-image:after{inset:0 14px 14px}.hero-image img{border-radius:12px}.image-label{right:2rem;bottom:2rem}.intro{padding:90px 8% 120px}.intro-grid{gap:1.5rem}.intro-body{margin-top:0;padding-left:1.4rem}.dreams{margin:0 4%;grid-template-columns:1fr}.dreams-image{min-height:390px;max-height:500px;margin:-45px 14% 0;border-radius:170px 170px 14px 14px}.dreams-copy{padding:70px 8%}.sketch-sprig{top:30px;right:9%}.expect{padding:90px 8%}.expect-grid{gap:2.5rem}.expect-grid>div:first-child:after{margin-top:1.5rem}.expect-details{padding:1.5rem}.vineyard{margin:0 4%;padding:80px 8%;border-radius:18px}.vineyard-bottom{grid-template-columns:1fr}.visit{padding:90px 8%}.visit-grid{gap:2.5rem}.visit-card{padding:2.5rem}.footer-top{margin:0}footer{margin:0 4%;padding:4rem 7% 2rem}}
@media(max-width:480px){.hero-copy{padding:60px 7% 48px}.hero-image{min-height:350px}.intro{padding:75px 8% 105px}.dreams-image{min-height:350px;margin-left:12%;margin-right:12%}.dreams-copy{padding:65px 8%}.expect-details{padding:1.25rem}.visit-card{padding:2rem}.visit-detail{grid-template-columns:75px 1fr}.vineyard h2{font-size:3.8rem}}

/* Phone-first refinements: keep every section within the viewport. */
@media(max-width:800px){
  .header{padding:0 6%;height:72px}.wordmark strong{font-size:1.8rem}.menu-toggle{min-height:44px;padding:.5rem 0 .5rem 1rem}.header nav{top:72px}.header nav a{padding:1rem 0;min-height:48px}
  .hero,.dreams,.vineyard{max-width:calc(100% - 8%)}
  .hero{grid-template-columns:minmax(0,1fr)}.hero-copy{min-width:0}.hero-image{min-width:0}.image-label{font-size:.58rem;right:1.7rem;bottom:1.7rem}
  .intro-grid,.expect-grid,.visit-grid,.vineyard-bottom{grid-template-columns:minmax(0,1fr)}
  .intro-grid>*,.expect-grid>*,.visit-grid>*,.vineyard-bottom>*{min-width:0}
  .intro-body{border-left:0;border-top:1px solid #cdbfb2;padding:1.5rem 0 0}
  .dreams{grid-template-columns:minmax(0,1fr)}.dreams-image{width:auto}.dreams-copy{min-width:0}
  .expect-details{width:100%}.expect-details>div{grid-template-columns:35px minmax(0,1fr)}
  .vineyard h2{font-size:clamp(2.1rem,8.4vw,4.2rem);letter-spacing:-.06em;overflow-wrap:normal}
  .vineyard-bottom{gap:1.5rem}.visit-grid>div:first-child{padding-top:0}.visit-card{width:100%}
  .button{min-height:48px}.text-link{padding-top:.6rem;padding-bottom:.65rem}
}
@media(max-width:480px){
  .hero-copy{padding:48px 7% 44px}.hero h1{font-size:clamp(2.75rem,12vw,3.8rem);line-height:.99}.hero-intro{font-size:1rem}.hero-image{min-height:330px}
  .section h2,.dreams h2{font-size:clamp(2.6rem,10vw,3.35rem);line-height:1.02;overflow-wrap:break-word}
  .intro{padding:72px 8% 95px}.expect{padding:75px 8%}.visit{padding:80px 8%}.vineyard{padding:70px 7%}.vineyard h2{font-size:clamp(2.05rem,8.4vw,2.6rem);line-height:1.02}
  .visit-detail strong{font-size:1.2rem}.visit-card{padding:1.8rem}.footer-bottom{line-height:1.5}
}
@media(max-width:800px){.header nav{gap:0}.header nav a{line-height:1.3}}

/* Draw icons instead of relying on emoji-capable system fonts. */
.icon-arrow,.icon-menu{display:inline-block;width:1em;height:1em;vertical-align:-.1em;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.expect-grid>div:first-child:after{content:"";width:42px;height:42px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%23bf7966' stroke-width='1.7' stroke-linecap='round'%3E%3Cpath d='M20 3v34M3 20h34M8 8l24 24M32 8 8 32'/%3E%3C/svg%3E")}.visit-card:before{content:"";background-color:#c46f58;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='white' stroke-width='1.7' stroke-linecap='round'%3E%3Cpath d='M20 3v34M3 20h34M8 8l24 24M32 8 8 32'/%3E%3C/svg%3E");background-size:27px 27px;background-position:center;background-repeat:no-repeat}

/* Keep iOS button colors consistent and animate the mobile menu. */
@media(max-width:800px){
  .menu-toggle{color:var(--ink);-webkit-text-fill-color:currentColor;cursor:pointer}
  .header nav{display:flex;visibility:hidden;opacity:0;transform:translateY(-10px);pointer-events:none;transition:opacity .24s ease,transform .24s ease,visibility 0s linear .24s}
  .header nav.open{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto;transition:opacity .24s ease,transform .24s ease,visibility 0s}
}
@media(prefers-reduced-motion:reduce){.header nav,.header nav.open{transition:none}}

/* Contact form */
.contact{padding:0 9% 140px;background:transparent}
.contact-inner{max-width:1350px;margin:auto;padding:4rem;background:#e7e6d8;border-radius:22px;display:grid;grid-template-columns:.8fr 1fr;gap:9%}
.contact h2{font-size:clamp(3rem,5vw,5rem)}
.contact h2 em{color:#7b8270}
.contact-inner p{line-height:1.6}
.contact-form{display:grid;gap:1.2rem}
.contact-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.contact-form label{display:block;font-size:.85rem;font-weight:700}
.contact-optional{font-weight:400}
.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:.45rem;padding:.85rem 1rem;border:1px solid #bab9a9;border-radius:8px;background:#f6f3e6;color:#302d2b;font:inherit;font-size:1rem}
.contact-form textarea{resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #777f70;outline-offset:2px}
.contact-form button{justify-self:start;cursor:pointer;border:0}
.contact-form button:disabled{opacity:.65;cursor:wait}
.contact-status{margin:0;min-height:1.5em;font-size:.9rem}
.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:800px){.contact{padding:0 8% 80px}.contact-inner{padding:2rem;grid-template-columns:1fr;gap:1rem}.contact-row{grid-template-columns:1fr}}
