@font-face{font-family:Manrope;src:url('assets/manrope-variable.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
:root{--wine:#4b1423;--dark:#3d3d3d;--paper:#ffffff;--stone:#ccc8bc;--grey:#3d3d3d;--line:#ccc8bc;--white:#fff;--max:1400px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--dark);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.6}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{display:block;max-width:100%;height:auto}button{border:0}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.12;font-weight:400;letter-spacing:-.025em}strong{font-weight:700}p{color:var(--grey)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #9e2842;outline-offset:5px}input:focus,select:focus,textarea:focus{outline:2px solid var(--wine);outline-offset:2px}.wrap{max-width:var(--max);width:calc(100% - 112px);margin-inline:auto}.section{padding-block:94px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.15em;line-height:1.5;color:var(--wine);margin-bottom:25px}.skip{position:fixed;left:10px;top:-100px;background:white;padding:12px;z-index:99}.skip:focus{top:10px}.concept-bar{height:27px;background:var(--wine);color:#ffffff;font-size:8px;letter-spacing:.14em;padding:0 56px;display:flex;align-items:center;justify-content:space-between}.concept-bar i{display:inline-block;width:3px;height:3px;background:currentColor;border-radius:50%;margin:0 9px;vertical-align:middle}.header{height:110px;display:flex;align-items:center;gap:40px}.logo{width:170px;display:block;flex-shrink:0}.logo img{width:100%;height:auto}.header nav{display:flex;gap:30px;margin-left:auto;font-size:12px}.header nav a{padding-block:10px}.header nav a:hover{color:var(--wine);text-decoration:underline;text-underline-offset:7px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:27px;background:var(--wine);color:white;padding:17px 24px;font-size:12px;font-weight:600;line-height:1.4;min-height:49px;transition:background .2s,transform .2s}.button:hover{background:#9e2842;transform:translateY(-2px)}.button span{font-size:21px;font-weight:400;line-height:1}.button.small{padding:14px 19px;min-height:44px;font-size:11px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:44% 56%;min-height:606px;margin-top:20px}.hero-copy{padding:34px 38px 30px 0;display:flex;flex-direction:column;align-items:flex-start;position:relative}.hero .eyebrow{margin-bottom:27px}.hero h1{font-size:clamp(48px,4.75vw,76px);line-height:1.035;letter-spacing:-.035em;color:var(--wine)}.hero h1 strong{font-weight:700}.hero-intro{font-size:14px;line-height:1.75;max-width:330px;margin-top:25px}.hero-actions{display:flex;flex-wrap:wrap;gap:21px;align-items:center;margin-top:27px}.text-link{background:none;display:inline-flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px;font-weight:600;padding:8px 0;line-height:1.6;color:var(--wine);border-bottom:1px solid currentColor}.text-link span{font-size:19px;font-weight:400}.hero-actions .text-link{border:0;font-size:11px}.hero-foot{font-size:9px;letter-spacing:.07em;margin-top:23px}.hero-visual{position:relative;min-height:606px;isolation:isolate;overflow:hidden}.hero-visual>img{width:100%;height:100%;object-fit:cover;position:absolute;object-position:51% center;clip-path:polygon(13% 0,100% 0,100% 89%,88% 100%,0 100%,0 14%)}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 63%,#161f18b3);clip-path:polygon(13% 0,100% 0,100% 89%,88% 100%,0 100%,0 14%);z-index:0;pointer-events:none}.image-caption{position:absolute;bottom:34px;left:31px;right:90px;display:flex;justify-content:space-between;align-items:end;color:white;z-index:1;font-size:9px;letter-spacing:.1em;line-height:1.7;font-weight:600}.image-caption .image-note{font-size:8px;letter-spacing:0;text-align:right;font-weight:400;opacity:.85}.hero-corner{position:absolute;width:68px;height:68px;bottom:0;right:0;background:var(--wine);display:grid;place-items:center;z-index:2}.hero-corner img{width:40px;height:auto}.intro-band{display:grid;grid-template-columns:1.25fr 1fr 1.15fr 1.25fr;gap:30px;margin-top:36px;padding-block:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center}.intro-band>span{font-size:9px;letter-spacing:.045em;line-height:1.8;color:var(--wine)}.intro-band p{border-left:1px solid var(--line);padding-left:24px;font-size:11px;line-height:1.6}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:42px}h2{font-size:42px;line-height:1.14;letter-spacing:-.025em}.section-heading .eyebrow{margin-bottom:17px}.section-heading>p{font-size:12px;line-height:1.8;max-width:310px;padding-bottom:5px}.audience-list{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.audience-item{background:transparent;border-top:1px solid var(--line);display:flex;align-items:center;gap:15px;text-align:left;padding:25px 0;font-size:19px;letter-spacing:-.02em}.audience-item.active{border-top:2px solid var(--wine);padding-top:24px;color:var(--wine)}.item-number{font-size:10px;letter-spacing:0;color:var(--grey);margin-right:3px}.audience-item .arrow{margin-left:auto;border:1px solid var(--line);border-radius:50%;width:30px;height:30px;display:grid;place-items:center;font-size:17px;flex-shrink:0}.audience-item.active .arrow{background:var(--wine);color:#fff;border-color:var(--wine)}.audience-panel{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:34px;align-items:center;background:#f5f4f2;padding:25px 30px}.audience-panel .eyebrow{font-size:8px;margin-bottom:8px}.audience-panel h3{font-size:24px}.audience-panel>p{font-size:12px;line-height:1.8}.audience-panel .text-link{justify-self:end;font-size:11px}.opportunities{background:#f5f4f2}.filter-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ccc8bc;margin-bottom:29px;padding-bottom:22px;gap:15px}.filters{display:flex;gap:7px;flex-wrap:wrap}.filters button{padding:9px 17px;font-size:11px;border-radius:2px;background:transparent;color:var(--grey)}.filters button.selected{background:var(--wine);color:white}.filters button:hover:not(.selected){background:#ccc8bc}#location-count{font-size:10px;color:var(--grey)}.property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.property-card[hidden]{display:none}.property-open{display:block;width:100%;background:none;padding:0;text-align:left}.property-image{position:relative;aspect-ratio:1.33;overflow:hidden}.property-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.property-open:hover img{transform:scale(1.045)}.property-tag{position:absolute;left:15px;top:15px;padding:6px 9px;background:#fffffff2;font-size:8px;font-weight:600;letter-spacing:.09em}.round-arrow{position:absolute;bottom:15px;right:15px;display:grid;place-items:center;border-radius:50%;background:var(--paper);width:33px;height:33px;font-size:21px}.property-name{display:flex;align-items:center;justify-content:space-between;margin:20px 0 8px}.property-name h3{font-size:24px;letter-spacing:-.02em}.property-name>span{font-size:9px;color:#3d3d3d}.property-open>p{font-size:11px}.property-link{font-size:10px;display:flex;justify-content:space-between;border-top:1px solid #ccc8bc;margin-top:23px;padding-top:13px;color:var(--wine)}.property-link span{font-size:17px}.property-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:30px;gap:30px}.property-bottom>p{font-size:9px;line-height:1.8}.property-bottom>.text-link{font-size:10px}.dual-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.dual-image{position:relative;height:515px}.dual-image img{height:100%;width:100%;object-fit:cover;object-position:45% center;clip-path:polygon(0 0,100% 0,100% 85%,80% 100%,0 100%)}.dual-image:after{content:'';position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(transparent,#121d1599);clip-path:polygon(0 0,100% 0,100% 62%,80% 100%,0 100%)}.dual-image>span{position:absolute;bottom:34px;left:29px;color:white;font-size:9px;letter-spacing:.12em;z-index:1;line-height:1.8}.dual-copy>p:not(.eyebrow):not(.fine-print){font-size:13px;line-height:1.9;margin-top:22px;max-width:430px}.dual-rows{margin:26px 0}.dual-rows>div{display:flex;gap:17px;padding:13px 0;border-top:1px solid var(--line);align-items:center}.dual-rows span{font-size:9px;color:var(--wine)}.dual-rows p{font-size:11px;color:var(--dark)}.fine-print{font-size:9px;line-height:1.75;margin-top:15px;max-width:400px}.journey{background:var(--wine);color:white}.journey p{color:#ccc8bc}.journey .eyebrow{color:#ccc8bc}.journey .section-heading{align-items:flex-end}.text-link.light{color:white;font-size:10px;align-self:flex-end;margin-bottom:7px}.journey-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:60px}.step-number{display:flex;justify-content:space-between;font-size:11px;border-top:1px solid #a8a5a5;padding-top:17px;margin-bottom:24px;color:#ccc8bc}.step-number>span{font-size:18px}.journey-steps h3{font-size:25px;letter-spacing:-.02em;line-height:1.25;margin-bottom:18px}.journey-steps p{font-size:11px;line-height:1.9;max-width:235px}.ecosystem{display:grid;grid-template-columns:1fr .9fr 1fr 1.5fr;align-items:center;border-top:1px solid #a8a5a5;margin-top:57px;padding-top:28px;gap:25px}.ecosystem>span{font-size:8px;letter-spacing:.1em;color:#ccc8bc}.ecosystem b{font-size:12px;font-weight:600;display:block}.ecosystem small{font-size:9px;color:#ccc8bc;display:block;margin-top:3px}.ecosystem-note{font-size:9px;margin-top:25px}.why-section{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.why-intro{font-size:13px;line-height:1.9;margin:25px 0;max-width:470px}.why-section blockquote{border-left:1px solid var(--line);padding:16px 0 16px 50px;margin:0}.quote-mark{font-family:Georgia,serif;color:var(--wine);font-size:84px;line-height:.8;display:block;margin-bottom:12px}.why-section blockquote>p{font-size:29px;line-height:1.35;letter-spacing:-.02em;color:var(--wine)}.why-section blockquote footer{font-size:11px;margin-top:25px}.why-section blockquote footer span{font-size:9px;display:block;color:var(--grey);margin-top:3px}.why-section blockquote>a{font-size:8px;color:var(--grey);display:block;margin-top:17px}.faq-section{border-top:1px solid var(--line);display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;padding-top:70px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;gap:20px;justify-content:space-between;font-size:13px;padding:22px 0;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{color:var(--wine);font-size:23px;line-height:1;transition:transform .2s}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details p{font-size:12px;padding:0 24px 23px 0;line-height:1.9}.contact-section{padding:65px 70px;background:var(--stone);display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden;margin-bottom:60px}.contact-section h2{font-size:64px;color:var(--wine);line-height:1.05}.contact-section>div>p:last-child{font-size:12px;margin-top:23px;line-height:1.8;color:#3d3d3d}.contact-circle{background:var(--wine);color:white;border-radius:50%;width:171px;height:171px;padding:35px;text-align:left;font-size:16px;line-height:1.35;margin-right:32px;z-index:1;transition:transform .2s}.contact-circle:hover{transform:rotate(-5deg)}.contact-circle>span{display:block;font-size:32px;line-height:1;margin-top:10px}.contact-mark{position:absolute;width:64px;height:auto;right:24px;bottom:24px;opacity:.12;pointer-events:none}.footer{display:flex;justify-content:space-between;align-items:center;gap:35px;padding-block:0 45px}.footer .logo{width:170px}.footer>p{font-size:10px;line-height:1.9;margin-right:auto;margin-left:35px}.footer>div{font-size:10px;display:flex;flex-direction:column;align-items:flex-start;gap:7px}.footer .text-link{font-size:10px;border:0}.concept-notes{display:flex;justify-content:space-between;font-size:8px;border-top:1px solid var(--line);padding-block:20px 25px;align-items:flex-start;gap:30px;color:var(--grey)}.concept-notes details{max-width:740px}.concept-notes summary{cursor:pointer}.concept-notes details p{margin-top:12px;font-size:10px}.concept-notes a{text-decoration:underline}.concept-notes>span{font-size:7px;letter-spacing:.07em;white-space:nowrap}.close-dialog{position:absolute;right:18px;top:15px;background:var(--paper);border-radius:50%;font-size:25px;width:38px;height:38px;line-height:1;z-index:2}.close-dialog:hover{background:var(--stone)}dialog{border:0;padding:44px;max-width:560px;width:calc(100% - 32px);background:var(--paper);color:var(--dark);max-height:90vh;overflow:auto}dialog::backdrop{background:#1c1019b3;backdrop-filter:blur(4px)}dialog h2{font-size:38px}dialog .eyebrow{margin-bottom:17px}.dialog-intro{font-size:12px;margin-top:18px}form{margin-top:25px;display:grid;gap:16px}label{display:block;font-size:11px;color:var(--wine);font-weight:600}label>span{font-weight:400;color:var(--grey)}input,textarea,select{display:block;width:100%;border:1px solid #a8a5a5;background:white;border-radius:0;padding:11px;margin-top:6px;font-size:14px;color:var(--dark)}textarea{resize:vertical}form .button{margin-top:4px;width:100%}.form-note{font-size:10px}.form-result{font-size:12px;color:var(--wine);padding:13px;background:var(--stone)}#property-dialog{max-width:770px;padding:0}#property-detail-image{width:100%;height:285px;object-fit:cover}.property-dialog-copy{padding:36px}.property-dialog-copy>p:not(.eyebrow){font-size:12px;margin-top:17px}.property-dialog-copy ul{font-size:12px;color:var(--grey);padding-left:17px;line-height:2.1;margin:20px 0 25px}
@media(min-width:1600px){.hero{min-height:700px}.hero-visual{min-height:700px}.hero-copy{padding-top:65px}.hero-intro{font-size:16px;max-width:370px}}
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.concept-bar{padding-inline:32px}.header{gap:25px}.header nav{gap:19px;font-size:11px}.hero{grid-template-columns:46% 54%;min-height:580px}.hero-visual{min-height:580px}.hero-copy{padding-right:27px}.hero h1{font-size:55px}.hero-actions{gap:11px}.hero-actions .text-link{padding-block:3px}.dual-section{gap:45px}.audience-item{font-size:16px}.audience-panel{gap:25px}.audience-panel h3{font-size:21px}.why-section{gap:55px}.journey-steps h3{font-size:22px}.intro-band{gap:17px}.intro-band p{font-size:10px;padding-left:17px}.contact-section{padding-inline:50px}}
@media(max-width:850px){.header nav{display:none}.header .header-cta{margin-left:auto}.menu-toggle{display:flex;gap:10px;align-items:center;background:none;font-size:12px;order:3;padding:12px 0 12px 10px}.header nav.open{display:flex;position:absolute;z-index:5;top:113px;left:32px;right:32px;background:var(--paper);padding:25px;flex-direction:column;box-shadow:0 15px 30px #1c101922;font-size:15px}.hero{grid-template-columns:1fr 1fr}.hero h1{font-size:47px}.hero-copy{padding-top:23px}.hero .eyebrow{font-size:8px}.hero-intro{font-size:13px}.hero-visual{min-height:565px}.image-caption{left:24px;right:30px;bottom:84px}.image-caption .image-note{display:none}.hero-actions .button{font-size:11px;padding:16px 20px}.intro-band{grid-template-columns:1fr 1fr;gap:20px}.intro-band p:nth-child(3){border:0;padding:0}.section{padding-block:70px}.section-heading{gap:25px}.section-heading h2,h2{font-size:35px}.section-heading>p{font-size:11px;max-width:230px}.audience-list{gap:15px}.audience-item{font-size:14px;gap:9px}.audience-panel{grid-template-columns:1fr 1.4fr}.audience-panel .text-link{grid-column:2;justify-self:start;margin-top:-12px}.property-grid{gap:18px}.property-name h3{font-size:20px}.property-open>p{font-size:10px}.property-tag{left:10px;top:10px;font-size:7px}.dual-section{gap:35px}.dual-image{height:480px}.dual-copy>p:not(.eyebrow):not(.fine-print){font-size:12px}.dual-rows p{font-size:10px}.journey .section-heading{display:block}.journey .section-heading .text-link{margin-top:23px}.journey-steps{gap:20px;margin-top:40px}.journey-steps h3{font-size:20px}.journey-steps p{font-size:10px}.ecosystem{grid-template-columns:1fr 1fr 1.5fr}.ecosystem>span{grid-column:1/-1}.ecosystem b{font-size:11px}.why-section{gap:35px}.why-section blockquote{padding-left:30px}.why-section blockquote>p{font-size:25px}.faq-section{gap:35px;grid-template-columns:.8fr 1.2fr}.contact-section h2{font-size:55px}.contact-circle{margin-right:0;width:150px;height:150px;padding:28px}.footer>p{margin-left:0}}
/* Readable type and touch controls on compact screens. */
@media (max-width: 850px) {
  .hero-intro, .section-heading > p, .audience-panel > p,
  .property-open > p, .dual-copy > p:not(.eyebrow):not(.fine-print),
  .dual-rows p, .journey-steps p, .why-intro, .faq-list details p,
  .dialog-intro, .property-dialog-copy > p:not(.eyebrow),
  .property-dialog-copy ul, .form-result { font-size:16px; line-height:1.7; }
  .button, .button.small, .hero-actions .button,
  .text-link, .hero-actions .text-link, .audience-panel .text-link,
  .property-bottom > .text-link, .text-link.light, .footer .text-link,
  .property-link { font-size:16px; min-height:48px; }
  .header nav.open { font-size:16px; }
  .header nav a { min-height:48px; display:flex; align-items:center; }
  .eyebrow, .hero .eyebrow, .audience-panel .eyebrow, dialog .eyebrow,
  .image-caption, .property-tag, .dual-image > span,
  .ecosystem > span, .step-number, .item-number, .dual-rows span,
  .property-name > span { font-size:12px; }
  .hero-foot, .intro-band > span, #location-count,
  .property-bottom > p, .fine-print, .ecosystem small, .ecosystem-note,
  .why-section blockquote footer, .why-section blockquote footer span,
  .why-section blockquote > a, .contact-section > div > p:last-child,
  .footer > p, .footer > div, .concept-notes details p, .form-note,
  .property-dialog-copy > .fine-print { font-size:14px; line-height:1.65; }
  .intro-band p, .ecosystem b, .faq-list summary { font-size:16px; }
  .filters button { font-size:14px; padding:12px 15px; min-height:48px; }
  .filters { gap:8px; }
  label { font-size:14px; line-height:1.5; }
  input, select, textarea { font-size:16px; line-height:1.5; min-height:48px; }
  .close-dialog { width:44px; height:44px; font-size:30px; }
  .menu-toggle { min-width:44px; min-height:44px; justify-content:center; }
  .journey-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px; }
  .audience-panel { grid-template-columns:1fr 1.3fr; }
  .audience-panel .text-link { justify-self:start; }
  .property-grid { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:35px; }
  .property-name h3 { font-size:24px; }
  .property-bottom { align-items:flex-start; }
  .property-bottom > * { flex:1; }
  .ecosystem { grid-template-columns:1fr 1fr; gap:25px; }
  .ecosystem > span, .ecosystem div:last-child { grid-column:1/-1; }
  .footer { flex-wrap:wrap; }
  .footer > div { flex-basis:100%; }
  .footer > div > a, .why-section blockquote > a { display:inline-flex; min-height:44px; align-items:center; }
  .concept-notes { font-size:14px; }
  .concept-notes summary { min-height:44px; display:flex; align-items:center; }
  .concept-notes > span { font-size:10px; white-space:normal; }
  dialog { max-height:calc(100dvh - 32px); }
}
@media (max-width: 600px) {
  .wrap { width:calc(100% - 40px); }
  .concept-bar { padding-inline:20px; height:30px; font-size:9px; letter-spacing:.08em; }
  .concept-bar > span:first-child { display:none; }
  .concept-bar > span:last-child { width:100%; text-align:center; }
  .header { height:110px; gap:24px; width:calc(100% - 48px); }
  .logo { width:170px; }
  .header .header-cta { display:none; }
  .button.small span { font-size:19px; }
  .menu-toggle { font-size:0; padding:0; margin-left:auto; }
  .menu-toggle span { font-size:23px; }
  .header nav.open { top:140px; left:20px; right:20px; gap:8px; padding:18px 24px; }
  .hero { display:flex; flex-direction:column; margin-top:4px; min-height:0; }
  .hero-copy { padding:15px 0 30px; }
  .hero .eyebrow { font-size:11px; margin-bottom:23px; letter-spacing:.1em; }
  .hero h1 { font-size:clamp(44px,13vw,57px); line-height:1.07; letter-spacing:-.03em; }
  .hero h1 strong { display:block; }
  .hero-intro { font-size:17px; line-height:1.65; margin-top:22px; max-width:360px; }
  .hero-actions { display:flex; flex-direction:column; align-items:stretch; gap:8px; margin-top:24px; width:100%; }
  .hero-actions .button { font-size:16px; min-height:52px; padding:16px 20px; gap:16px; }
  .hero-actions .text-link { font-size:16px; min-height:48px; padding:10px 0; gap:12px; }
  .hero-foot { font-size:14px; letter-spacing:0; margin-top:13px; }
  .hero-visual { height:350px; min-height:350px; }
  .hero-visual > img { object-position:center; clip-path:polygon(14% 0,100% 0,100% 87%,86% 100%,0 100%,0 13%); }
  .hero-visual:after { clip-path:polygon(14% 0,100% 0,100% 87%,86% 100%,0 100%,0 13%); }
  .hero-corner { width:64px; height:64px; }
  .hero-corner img { width:40px; }
  .image-caption { bottom:26px; left:22px; right:60px; font-size:11px; letter-spacing:.06em; }
  .intro-band { margin-top:26px; padding-block:24px; grid-template-columns:1fr; gap:0; }
  .intro-band > span { font-size:12px; padding-bottom:14px; }
  .intro-band p, .intro-band p:nth-child(3) { font-size:16px; line-height:1.6; border:0; border-top:1px solid var(--line); padding:13px 0; }
  .intro-band p:last-child { padding-bottom:0; }
  .section { padding-block:57px; }
  .eyebrow { font-size:12px; margin-bottom:17px; letter-spacing:.1em; }
  .section-heading { display:block; margin-bottom:28px; }
  h2, .section-heading h2 { font-size:clamp(30px,8.8vw,37px); line-height:1.18; }
  .section-heading > p { margin-top:20px; font-size:16px; max-width:none; }
  .audience-list { display:flex; flex-direction:column; gap:0; }
  .audience-item { padding:20px 0; font-size:20px; gap:16px; min-height:68px; }
  .audience-item.active { padding-top:19px; }
  .item-number { font-size:12px; }
  .audience-item .arrow { width:32px; height:32px; }
  .audience-panel { display:block; padding:24px; margin-top:10px; }
  .audience-panel .eyebrow { font-size:11px; }
  .audience-panel h3 { font-size:26px; }
  .audience-panel > p { font-size:16px; margin-top:16px; }
  .audience-panel .text-link { font-size:16px; margin-top:15px; width:100%; }
  .filter-row { display:block; padding-bottom:17px; margin-bottom:24px; }
  .filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .filters button { font-size:15px; padding:12px; min-height:48px; border:1px solid #ccc8bc; }
  #location-count { display:block; margin-top:16px; font-size:14px; }
  .property-grid { grid-template-columns:minmax(0,1fr); gap:38px; }
  .property-image { aspect-ratio:1.43; }
  .property-tag { left:14px; top:14px; font-size:11px; }
  .property-name { margin-top:18px; gap:12px; }
  .property-name h3 { font-size:27px; }
  .property-open > p { font-size:16px; }
  .property-link { margin-top:19px; padding-top:14px; font-size:16px; min-height:48px; }
  .property-bottom { display:block; margin-top:28px; }
  .property-bottom > p { font-size:14px; }
  .property-bottom .text-link { margin-top:16px; font-size:16px; width:100%; }
  .dual-section { display:flex; flex-direction:column; gap:32px; }
  .dual-image { height:365px; width:100%; }
  .dual-image > span { font-size:11px; letter-spacing:.06em; left:24px; }
  .dual-copy { width:100%; }
  .dual-copy > p:not(.eyebrow):not(.fine-print) { font-size:16px; }
  .dual-rows p { font-size:16px; }
  .dual-rows span { font-size:12px; }
  .dual-copy .button { width:100%; }
  .fine-print { font-size:14px; }
  .journey-steps { grid-template-columns:minmax(0,1fr); gap:30px; }
  .journey-steps h3 { font-size:27px; }
  .journey-steps p { font-size:16px; max-width:none; }
  .step-number { font-size:13px; margin-bottom:19px; }
  .ecosystem { grid-template-columns:minmax(0,1fr); gap:22px; margin-top:40px; }
  .ecosystem > span { font-size:12px; }
  .ecosystem b { font-size:17px; }
  .ecosystem small { font-size:14px; }
  .ecosystem-note { font-size:14px; }
  .why-section { grid-template-columns:minmax(0,1fr); gap:35px; }
  .why-intro { font-size:16px; }
  .why-section blockquote { padding:15px 0 15px 24px; }
  .why-section blockquote > p { font-size:29px; }
  .why-section blockquote footer, .why-section blockquote footer span,
  .why-section blockquote > a { font-size:14px; }
  .faq-section { display:block; }
  .faq-list { margin-top:24px; }
  .faq-list summary { font-size:16px; gap:16px; padding:22px 0; }
  .faq-list summary > span { flex-shrink:0; }
  .faq-list details p { font-size:16px; }
  .contact-section { padding:36px 26px; align-items:flex-start; min-height:0; margin-bottom:40px; display:block; }
  .contact-section h2 { font-size:clamp(44px,12vw,55px); }
  .contact-section > div > p:last-child { font-size:16px; margin-top:20px; }
  .contact-circle { margin:28px 0 0 auto; width:150px; height:150px; padding:26px; font-size:16px; display:block; }
  .contact-circle > span { font-size:28px; margin-top:10px; }
  .contact-mark { width:64px; right:auto; left:26px; bottom:60px; }
  .footer { width:calc(100% - 48px); flex-wrap:wrap; gap:25px; padding-bottom:30px; }
  .footer > .logo { width:170px; }
  .footer > p { font-size:14px; margin:0; flex-basis:100%; }
  .footer > div { width:100%; border-top:1px solid var(--line); padding-top:20px; font-size:16px; }
  .footer .text-link { font-size:16px; text-align:left; }
  .concept-notes { display:block; padding-bottom:25px; font-size:14px; }
  .concept-notes details p { font-size:14px; }
  .concept-notes > span { display:block; margin-top:15px; font-size:10px; }
  dialog { padding:64px 24px 28px; }
  dialog h2 { font-size:32px; }
  dialog .eyebrow { font-size:11px; max-width:230px; }
  .dialog-intro, .form-result { font-size:16px; }
  .form-note { font-size:14px; }
  #property-detail-image { height:220px; }
  .property-dialog-copy { padding:27px 24px; }
  .property-dialog-copy h2 { font-size:32px; }
  .property-dialog-copy > p:not(.eyebrow), .property-dialog-copy ul { font-size:16px; }
  .property-dialog-copy > .fine-print { font-size:14px; }
  .property-dialog-copy .button { width:100%; }
}
@media (max-width: 370px) {
  .header { gap:24px; }
  .header .logo { width:170px; }
  .header .header-cta { padding:12px; gap:9px; }
  .audience-panel { padding:21px; }
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Final typography pass: readable desktop copy and a shorter phone opening. */
.hero-copy { min-width:0; }
.hero h1 { line-height:1.08; }
.audience-panel .text-link { text-align:left; }
.property-name { gap:12px; }
.property-name > span { flex-shrink:0; }
@media (min-width:851px) {
  .header nav { font-size:14px; }
  .hero-intro { font-size:18px; line-height:1.65; max-width:390px; }
  .section-heading > p, .audience-panel > p, .property-open > p,
  .dual-copy > p:not(.eyebrow):not(.fine-print), .dual-rows p,
  .journey-steps p, .why-intro, .faq-list details p, .faq-list summary,
  .contact-section > div > p:last-child, .dialog-intro,
  .property-dialog-copy > p:not(.eyebrow):not(.fine-print),
  .property-dialog-copy ul, .form-result { font-size:16px; line-height:1.65; }
  .button, .hero-actions .button, .text-link, .hero-actions .text-link,
  .audience-panel .text-link, .property-bottom > .text-link,
  .text-link.light, .footer .text-link, .property-link { font-size:15px; min-height:48px; }
  .button.small { font-size:14px; }
  .eyebrow, .hero .eyebrow, .audience-panel .eyebrow,
  .property-tag, .item-number, .dual-rows span, .property-name > span,
  .ecosystem > span, .step-number { font-size:12px; }
  .hero-foot, .intro-band > span, .intro-band p, #location-count,
  .property-bottom > p, .fine-print, .ecosystem small, .ecosystem-note,
  .why-section blockquote footer, .why-section blockquote footer span,
  .why-section blockquote > a, .footer > p, .footer > div,
  .concept-notes, .concept-notes details p, .form-note,
  .property-dialog-copy > .fine-print { font-size:14px; line-height:1.65; }
  .hero-foot { letter-spacing:0; }
  .image-caption, .dual-image > span { font-size:12px; }
  .image-caption .image-note { font-size:10px; }
  .filters button { font-size:14px; min-height:44px; }
  .ecosystem b { font-size:16px; }
  .ecosystem { grid-template-columns:.8fr 1fr 1fr 1.4fr; }
  .property-link { align-items:center; }
  .property-bottom { align-items:flex-start; }
  .property-bottom > p { flex:1; }
  .property-bottom > .text-link { max-width:340px; text-align:left; }
  .audience-panel { grid-template-columns:.9fr 1.4fr 1fr; padding:30px; }
  .audience-panel .text-link { justify-self:start; }
  .audience-section { padding-block:72px; }
  .faq-section { padding-block:64px 72px; }
  .footer > p { margin-left:0; }
  label { font-size:14px; }
  input, select, textarea { font-size:16px; line-height:1.5; min-height:48px; }
  .close-dialog { width:44px; height:44px; }
  dialog:not(#property-dialog) { padding-top:64px; }
}
@media (max-width:600px) {
  .hero-copy { padding:8px 0 24px; }
  .hero .eyebrow, .hero-foot, .intro-band,
  .audience-section .section-heading > p { display:none; }
  .hero h1 { font-size:clamp(38px,10.5vw,46px); line-height:1.12; letter-spacing:-.03em; }
  .hero h1 br { display:none; }
  .hero-intro { margin-top:16px; font-size:17px; line-height:1.6; }
  .hero-actions { margin-top:20px; gap:2px; }
  .hero-actions .text-link { min-height:44px; padding-block:8px; }
  .hero-visual { height:280px; min-height:280px; }
  .audience-section { padding-block:40px; }
  .audience-section .section-heading { margin-bottom:18px; }
  .audience-section .section-heading .eyebrow { display:none; }
  .audience-item { padding-block:15px; min-height:58px; }
  .audience-item.active { padding-top:14px; }
  .audience-panel { padding:20px; }
  .audience-panel .eyebrow { display:none; }
  .audience-panel h3 { font-size:24px; line-height:1.2; }
  .audience-panel > p { margin-top:12px; }
  .audience-panel .text-link { margin-top:12px; }
}

/* Vector arrows preserve the design across platforms without emoji substitution. */
.ui-arrow{display:inline-block;width:1em;height:1em;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;pointer-events:none}

/* Clear full-width section bands and fewer competing opening details. */
:root { --wash:#f3f1ec; }
.hero { margin-bottom:72px; }
.hero-copy { justify-content:center; padding-top:0; padding-bottom:0; }
.image-caption { font-size:12px; font-weight:400; letter-spacing:0; }
.section-muted { background:var(--wash); }
.audience-panel { background:var(--paper); }
.opportunities { background:var(--paper); }
.property-link { border-top:0; margin-top:14px; padding-top:0; }
@media (max-width:850px) {
  .hero { margin-bottom:56px; }
  .hero-copy { padding-right:27px; }
}
@media (max-width:600px) {
  .hero { margin-bottom:40px; }
  .hero-copy { padding:8px 0 24px; }
  .image-caption { font-size:12px; }
  .audience-section { padding-block:48px; }
  .audience-section .section-heading { margin-bottom:24px; }
  .property-link { margin-top:10px; }
}

/* Independent audience choices, a concise process and a visible contact form. */
.audience-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.audience-card { display:flex; flex-direction:column; padding:30px; background:var(--paper); border:1px solid var(--line); border-radius:18px; transition:border-color .2s,box-shadow .2s; }
.audience-card:hover { border-color:var(--wine); box-shadow:0 5px 18px #4b14230a; }
.audience-card h3 { color:var(--wine); font-size:24px; font-weight:600; line-height:1.3; }
.audience-card > p { margin:18px 0 28px; font-size:16px; line-height:1.7; }
.card-action { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:auto; min-height:44px; color:var(--wine); font-size:15px; font-weight:600; line-height:1.6; }
.card-action > span { font-size:20px; flex-shrink:0; }
.journey-steps { list-style:none; padding:0; margin-bottom:0; margin-top:44px; gap:40px; }
.journey-steps .step-number { border:0; padding:0; margin-bottom:16px; font-size:14px; }
.journey-steps h3 { font-size:24px; margin-bottom:12px; }
.journey-steps p { max-width:260px; }
.contact-section { display:block; position:static; overflow:visible; padding:94px 0; margin:0; background:var(--wash); }
.contact-layout { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:80px; }
.contact-copy { padding-top:5px; }
.contact-section h2 { font-size:42px; line-height:1.14; }
.contact-copy > p:not(.eyebrow) { font-size:16px; line-height:1.7; max-width:440px; margin-top:24px; }
.contact-copy > .form-note { font-size:14px!important; margin-top:20px!important; }
#contact-title:focus { outline:none; }
#enquiry-form { margin:0; padding:32px; gap:22px; border:1px solid var(--line); border-radius:18px; background:var(--paper); min-width:0; }
#enquiry-form label { font-size:14px; line-height:1.5; }
#enquiry-form input, #enquiry-form select, #enquiry-form textarea { font-size:16px; line-height:1.5; min-height:50px; border-radius:8px; margin-top:8px; padding:12px; }
#enquiry-form textarea { min-height:126px; }
.form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.form-row > label { min-width:0; }
#enquiry-form .button { border-radius:8px; font-size:16px; min-height:52px; margin:0; }
#enquiry-form .form-result { font-size:15px; line-height:1.6; background:var(--wash); border-radius:8px; }
.site-footer { padding-block:26px; }
.site-footer p { font-size:13px; line-height:1.7; }
@media(max-width:1150px) {
  .audience-cards { gap:18px; }
  .audience-card { padding:25px; }
  .audience-card h3 { font-size:22px; }
  .contact-layout { gap:45px; }
}
@media(max-width:850px) {
  .audience-cards { grid-template-columns:1fr; gap:18px; }
  .audience-card { padding:28px; }
  .audience-card > p { margin-bottom:18px; }
  .card-action { font-size:16px; justify-content:flex-start; }
  .contact-section { padding-block:70px; }
  .contact-layout { grid-template-columns:1fr; gap:32px; }
  .contact-copy > p:not(.eyebrow) { max-width:550px; }
  .contact-section h2 { font-size:35px; }
  #enquiry-form { max-width:680px; width:100%; }
}
@media(max-width:600px) {
  .audience-card { padding:24px; }
  .audience-card h3 { font-size:24px; }
  .card-action { justify-content:space-between; }
  .journey-steps { gap:30px; margin-top:32px; }
  .journey-steps h3 { font-size:26px; }
  .journey-steps p { max-width:none; }
  .contact-section { padding-block:57px; }
  .contact-section h2 { font-size:clamp(30px,8.8vw,37px); }
  #enquiry-form { padding:22px; gap:20px; }
  .form-row { grid-template-columns:1fr; gap:20px; }
  .site-footer p { font-size:12px; }
}

/* Approved design extended for supplied renders and Build Guarantee. */
.header { gap:28px; }
.header nav { gap:22px; }
.header nav [aria-current="page"] { color:var(--wine); text-decoration:underline; text-underline-offset:7px; }
.more-locations { display:flex; align-items:center; flex-wrap:wrap; gap:12px 28px; margin-top:30px; padding-top:22px; border-top:1px solid var(--line); }
.more-locations>span { font-size:14px; }
.more-locations .text-link { font-size:15px; }
.network-note { font-size:14px; line-height:1.7; max-width:470px; margin-top:24px; }
.network-note a { color:var(--wine); text-decoration:underline; text-underline-offset:3px; }
.guarantee-teaser-layout { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.guarantee-teaser-layout>div>p:not(.eyebrow):not(.fine-print) { font-size:17px; max-width:520px; }
.guarantee-teaser .text-link { margin-top:18px; }
.guarantee-teaser .fine-print { max-width:520px; }
.site-footer { display:flex; justify-content:space-between; gap:20px; align-items:center; }
.site-footer>a { color:var(--wine); font-size:14px; white-space:nowrap; padding-block:8px; }
.property-gallery { display:flex; gap:12px; padding:18px 36px 0; }
.property-gallery[hidden] { display:none; }
.gallery-thumb { width:100px; padding:3px; background:white; border:1px solid var(--line); }
.gallery-thumb[aria-pressed="true"] { border:2px solid var(--wine); padding:2px; }
.gallery-thumb img { width:100%; height:58px; object-fit:cover; }
.guarantee-hero { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; padding-block:40px 80px; }
.breadcrumb { display:inline-block; font-size:13px; color:var(--grey); margin-bottom:28px; text-decoration:underline; text-underline-offset:4px; }
.guarantee-hero .eyebrow { margin-bottom:18px; }
.guarantee-hero h1 { font-size:clamp(42px,4.3vw,64px); line-height:1.12; color:var(--wine); }
.guarantee-intro { font-size:19px; line-height:1.65; margin-top:25px; max-width:500px; }
.guarantee-hero-actions { display:flex; flex-wrap:wrap; gap:16px 24px; margin-top:28px; align-items:center; }
.guarantee-hero .fine-print { max-width:500px; margin-top:24px; }
.guarantee-hero figure { margin:0; position:relative; align-self:stretch; min-height:470px; }
.guarantee-hero figure img { width:100%; height:100%; object-fit:cover; object-position:48% center; clip-path:polygon(12% 0,100% 0,100% 88%,88% 100%,0 100%,0 12%); }
.guarantee-hero figcaption { position:absolute; left:24px; bottom:26px; background:#ffffffed; padding:5px 10px; font-size:12px; }
.protection-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.protection-card { border:1px solid var(--line); border-radius:18px; padding:30px; background:white; }
.stage-label { display:block; color:var(--wine); font-size:12px; letter-spacing:.1em; font-weight:600; margin-bottom:22px; }
.protection-card h3 { color:var(--wine); font-size:27px; line-height:1.25; }
.protection-card p { font-size:16px; line-height:1.7; margin-top:22px; }
.protection-card .card-qualification { font-size:14px; border-top:1px solid var(--line); padding-top:18px; }
.protection-note { max-width:900px; font-size:15px; margin-top:28px; }
.guarantee-detail { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.guarantee-detail h2 { margin-bottom:26px; }
.guarantee-detail p:not(.eyebrow) { font-size:16px; line-height:1.75; margin-top:18px; }
.guarantee-detail h3 { font-size:26px; line-height:1.3; }
.milestone-panel { padding:32px; background:var(--wash); border-radius:18px; }
.milestone-panel ol { padding-left:24px; margin:24px 0; }
.milestone-panel li { padding:12px 0 12px 9px; border-bottom:1px solid var(--line); }
.milestone-panel li::marker { color:var(--wine); }
.milestone-panel p.fine-print { font-size:14px; max-width:none; }
.guarantee-backing { background:var(--wine); color:white; }
.guarantee-backing p,.guarantee-backing .eyebrow { color:#e8e3da; }
.guarantee-backing .text-link.light { margin-top:18px; font-size:15px; }
.guarantee-backing .backing-note { border-top:1px solid #ffffff44; padding-top:20px; }
.guarantee-faq { border:0; }
.document-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.document-card { display:flex; flex-direction:column; padding:30px; border:1px solid var(--line); border-radius:18px; background:white; transition:border-color .2s; }
.document-card:hover { border-color:var(--wine); }
.document-card h3 { font-size:25px; line-height:1.3; color:var(--wine); }
.document-card p { font-size:16px; margin:18px 0 22px; }
.document-footnote { font-size:14px; margin-top:28px; max-width:950px; }
.document-footnote a { color:var(--wine); text-decoration:underline; text-underline-offset:3px; }
#documents + .contact-section { background:white; }
#documents + .contact-section #enquiry-form { background:var(--wash); }
@media(max-width:1150px){
 .header { gap:20px; }.header nav { gap:15px; font-size:13px; }
 .guarantee-hero,.guarantee-detail,.guarantee-teaser-layout { gap:40px; }
 .protection-grid { gap:18px; }.protection-card { padding:24px; }.protection-card h3 { font-size:24px; }
}
@media(max-width:1000px) and (min-width:851px){
 .header .header-cta { display:none; }.header nav { font-size:14px; }
}
@media(max-width:850px){
 .guarantee-hero { grid-template-columns:1fr; padding-top:22px; gap:32px; }
 .guarantee-hero h1 { max-width:650px; }.guarantee-hero figure { min-height:0; height:320px; }
 .guarantee-hero figure img { object-position:center; }.guarantee-intro { max-width:650px; }
 .protection-grid { grid-template-columns:1fr; }.protection-card { padding:30px; }
 .protection-card h3 { font-size:28px; }.protection-card h3 br { display:none; }
 .guarantee-detail,.guarantee-teaser-layout { grid-template-columns:1fr; gap:32px; }
 .guarantee-detail p,.protection-card p,.document-card p { font-size:16px; }
 .document-grid { gap:18px; }.document-card { padding:24px; }
 .site-footer { flex-wrap:wrap; }
}
@media(max-width:600px){
 .more-locations { gap:8px 20px; }.more-locations>span { width:100%; }.more-locations .text-link { font-size:16px; }
 .guarantee-teaser-layout { gap:24px; }.guarantee-teaser-layout>div>p:not(.eyebrow):not(.fine-print) { font-size:16px; }
 .guarantee-hero { padding-block:16px 48px; gap:28px; }.breadcrumb { margin-bottom:24px; }
 .guarantee-hero h1 { font-size:clamp(36px,10vw,46px); }.guarantee-intro { font-size:17px; }
 .guarantee-hero-actions { flex-direction:column; align-items:stretch; gap:8px; }.guarantee-hero-actions .text-link { border:0; }
 .guarantee-hero figure { height:255px; }.guarantee-hero figcaption { left:18px; bottom:24px; font-size:11px; }
 .protection-card { padding:24px; }.protection-card h3 { font-size:26px; }.protection-card h3 br { display:block; }
 .milestone-panel { padding:24px; }.milestone-panel h3 { font-size:24px; }
 .document-grid { grid-template-columns:1fr; }.document-card { padding:24px; }.document-card .card-action { font-size:16px; }
 .property-gallery { padding-inline:24px; }.gallery-thumb { width:84px; }
 .site-footer { gap:8px; }.site-footer>a { min-height:44px; display:flex; align-items:center; }
}
/* The native HubSpot form retains its validation and existing follow-up route. */
.enquiry-panel{min-width:0}.enquiry-panel>label{display:block;margin-bottom:24px;font-size:16px}.enquiry-panel #interest{display:block;width:100%;min-height:50px;margin-top:8px;padding:12px;background:white;border:1px solid var(--line);border-radius:4px}.enquiry-panel iframe{width:100%!important;border:0}.form-fallback,.enquiry-panel>.form-note{font-size:13px;line-height:1.7;margin-top:14px}.form-note a,.form-fallback a{text-decoration:underline;text-underline-offset:3px}.form-loading{font-size:16px}
.legal-page{max-width:900px}.legal-page h1{font-size:clamp(36px,5vw,64px);margin-bottom:30px;color:var(--wine)}.legal-page h2{font-size:28px;margin:38px 0 16px}.legal-page p{font-size:18px;line-height:1.75;margin:16px 0}.legal-page a:not(.button){text-decoration:underline;text-underline-offset:4px}.legal-page .text-link,.legal-page .button{margin-top:24px}@media(max-width:600px){.legal-page p{font-size:16px}.legal-page h2{font-size:25px}}

/* Final review: consistent controls and concise enquiry context. */
.menu-icon { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; }
.enquiry-context { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 14px; margin:0 0 24px; background:var(--wash); border:1px solid var(--line); border-radius:4px; font-size:14px; line-height:1.6; }
.enquiry-context[hidden], .enquiry-panel>label[hidden], .form-loading[hidden] { display:none; }
.enquiry-context button { flex-shrink:0; background:transparent; color:var(--wine); text-decoration:underline; text-underline-offset:3px; padding:10px 4px; min-width:44px; min-height:44px; font-size:14px; }
.enquiry-context span { overflow-wrap:anywhere; }
.form-loading { margin-bottom:20px; }
.faq-list a { color:var(--wine); text-decoration:underline; text-underline-offset:3px; }
@media(max-width:600px) { .enquiry-context { padding:8px 12px; } }

/* SEO detail pages share the approved type, colour and spacing system. */
.property-open { display:block; text-decoration:none; color:inherit; }
.location-hero { padding-block:42px 78px; }
.location-hero.has-image { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.location-hero h1 { font-size:clamp(38px,4.6vw,64px); line-height:1.14; color:var(--wine); max-width:930px; }
.location-hero .eyebrow { margin-block:22px 14px; }
.location-intro { font-size:19px; line-height:1.7; max-width:700px; margin-block:24px 28px; }
.location-hero figure,.location-gallery figure { margin:0; }
.location-hero figure img { display:block; width:100%; height:auto; aspect-ratio:1.35; object-fit:cover; border-radius:3px; }
.location-hero figcaption,.location-gallery figcaption { font-size:13px; line-height:1.6; margin-top:12px; color:var(--muted); }
.location-detail { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.location-detail h2 { font-size:clamp(29px,3vw,40px); line-height:1.2; margin-bottom:24px; }
.location-detail p { font-size:18px; line-height:1.8; margin-block:16px; }
.location-detail p a { text-decoration:underline; text-underline-offset:4px; }
.location-detail .button,.location-detail .text-link { margin-top:18px; }
.location-gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:28px; margin-top:35px; }
.location-gallery img { width:100%; height:auto; aspect-ratio:1.4; object-fit:cover; }
.location-directory { margin-top:40px; row-gap:24px; }
.location-card .eyebrow { margin-bottom:18px; font-size:12px; }
.location-links { display:flex; flex-wrap:wrap; gap:16px 32px; margin-top:28px; }
.location-links a { color:var(--wine); text-decoration:underline; text-underline-offset:5px; padding-block:8px; }
.site-footer { flex-wrap:wrap; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:8px 24px; }
.site-footer nav a { color:var(--wine); font-size:14px; padding-block:12px; }
.contact-copy h1 { font-size:clamp(37px,4.3vw,60px); line-height:1.15; }
@media(max-width:850px){.location-hero.has-image,.location-detail{grid-template-columns:1fr;gap:36px}.location-hero figure img{aspect-ratio:1.6}.location-detail{gap:42px}}
@media(max-width:600px){.location-hero{padding-block:24px 48px}.location-intro,.location-detail p{font-size:17px;line-height:1.75}.location-gallery{grid-template-columns:1fr}.location-hero .button{width:100%;justify-content:space-between}.location-directory{gap:18px}.location-detail h2{font-size:30px}}

/* Final client feedback: richer locations, customer voices and a branded mobile menu. */
.property-grid { row-gap:44px; }
.property-card { min-width:0; }
.property-open { height:100%; display:flex; flex-direction:column; }
.property-open > p { margin-bottom:10px; }
.property-open .property-link { margin-top:auto; }
.client-stories { grid-column:1/-1; padding-top:40px; border-top:1px solid var(--line); }
.client-stories > h3 { font-size:25px; color:var(--wine); margin-bottom:26px; }
.client-story-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.why-section .client-story { display:flex; flex-direction:column; padding:28px; border:0; border-radius:18px; background:var(--wash); }
.why-section .client-story > p { font-size:22px; line-height:1.5; letter-spacing:-.02em; margin-bottom:28px; }
.why-section .client-story footer { font-size:14px; margin-top:auto; }
.why-section .client-story footer span { font-size:13px; margin-top:5px; }
.mobile-nav-intro,.header nav .mobile-nav-contact { display:none; }
.menu-icon path { transform-origin:12px 12px; transition:transform .2s ease; }
.menu-toggle[aria-expanded="true"] .menu-line-top { transform:translateY(5px) rotate(45deg); transform-origin:12px 7px; }
.menu-toggle[aria-expanded="true"] .menu-line-bottom { transform:translateY(-5px) rotate(-45deg); transform-origin:12px 17px; }
@media(max-width:850px) {
  .header { position:relative; z-index:10; }
  .menu-toggle { color:var(--wine); border:1px solid var(--line); border-radius:50%; padding:0; width:48px; height:48px; min-width:48px; }
  .menu-toggle .menu-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .menu-toggle[aria-expanded="true"] { background:var(--wine); border-color:var(--wine); color:white; }
  .header nav.open { top:calc(100% - 4px); left:0; right:0; gap:0; margin:0; padding:25px 28px 28px; border-radius:18px; background:var(--wine); color:white; box-shadow:0 18px 42px #2d0b1930; max-height:calc(100dvh - 128px); overflow-y:auto; font-size:19px; animation:menu-reveal .18s ease-out; }
  .mobile-nav-intro { display:block; font-size:10px; letter-spacing:.16em; color:#ded6cd; padding-bottom:13px; }
  .header nav.open > a { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:58px; padding:14px 0; border-bottom:1px solid #ffffff30; line-height:1.4; }
  .header nav.open > a:not(.mobile-nav-contact)::after { content:''; display:block; flex-shrink:0; width:8px; height:8px; border-top:1.5px solid currentColor; border-right:1.5px solid currentColor; transform:rotate(45deg); margin-right:3px; opacity:.7; }
  .header nav.open > a:hover,.header nav.open > a[aria-current="page"] { color:white; text-decoration:underline; text-underline-offset:5px; }
  .header nav.open > a:focus-visible { outline:2px solid white; outline-offset:3px; }
  .header nav.open .mobile-nav-contact { display:flex; margin-top:22px; min-height:52px; padding:13px 18px; border:0; border-radius:8px; background:var(--wash); color:var(--wine); font-size:16px; font-weight:600; }
  .client-story-grid { grid-template-columns:1fr; gap:16px; }
  .why-section .client-story { padding:26px; }
  .why-section .client-story > p { margin-bottom:20px; }
}
@media(max-width:600px) {
  .header nav.open { padding:22px 24px 24px; font-size:18px; }
  .header nav.open > a { min-height:56px; }
  .client-stories { padding-top:30px; }
  .client-stories > h3 { font-size:24px; }
}
@keyframes menu-reveal { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

/* Regional navigation stays quiet while making every development easy to place. */
.property-open > .property-locality,.location-card > .property-locality { font-size:14px; line-height:1.6; color:#665d58; letter-spacing:.01em; margin:0 0 12px; }
.location-card > .property-locality { margin:10px 0 0; }
.location-card > .property-locality + p { margin-top:16px; }
.development-location { font-size:16px; line-height:1.6; color:#665d58; margin-top:16px; }
.breadcrumbs { font-size:13px; line-height:1.7; margin-bottom:30px; color:#665d58; }
.breadcrumbs ol { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:5px 12px; align-items:center; }
.breadcrumbs li { display:inline-flex; align-items:center; gap:12px; min-width:0; }
.breadcrumbs li:not(:last-child)::after { content:'/'; color:#9a918b; }
.breadcrumbs a { display:inline-block; padding-block:8px; text-decoration:underline; text-underline-offset:4px; }
.breadcrumbs [aria-current="page"] { color:var(--wine); }
.region-browse { gap:16px 32px; }
.region-browse nav,.region-navigation { display:flex; flex-wrap:wrap; align-items:center; gap:8px 26px; }
.region-browse nav a,.region-navigation a { font-size:14px; color:var(--wine); padding-block:11px; text-decoration:underline; text-underline-offset:5px; }
.region-navigation { padding-block:20px; border-block:1px solid var(--line); margin-top:32px; }
.region-navigation > span { font-size:14px; margin-right:4px; }
.region-development-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:36px; }
.region-development-grid-single { grid-template-columns:minmax(0,760px); }
.region-development-grid .location-card h3 { font-size:28px; }
@media(max-width:850px) {
  .region-development-grid { grid-template-columns:minmax(0,1fr); }
  .region-browse nav,.region-navigation { gap:6px 23px; }
  .region-browse nav a,.region-navigation a { font-size:15px; min-height:44px; }
}
@media(max-width:600px) {
  .breadcrumbs { font-size:13px; margin-bottom:22px; }
  .breadcrumbs ol { gap:0 10px; }
  .breadcrumbs li { gap:10px; }
  .breadcrumbs a { padding-block:11px; }
  .region-navigation > span { width:100%; }
  .region-development-grid .location-card h3 { font-size:25px; }
}
