*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;overflow-x:hidden;max-width:100%;}
body{font-family:var(--site-body);background:var(--site-ivory);color:var(--site-ink);overflow-x:hidden;max-width:100%;line-height:var(--site-leading-body);touch-action:pan-y;}
.guide-hero{min-height:68vh;padding-top:0;background:var(--site-stone);display:flex;align-items:flex-end;position:relative;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,var(--site-stone),var(--site-ivory));}
.hero-flag{position:absolute;top:0;right:0;width:45%;height:100%;background:repeating-linear-gradient(135deg,transparent,transparent 40px,rgba(0,26,114,0.03) 40px,rgba(0,26,114,0.03) 41px);pointer-events:none;}
.hero-watermark{position:absolute;bottom:-0.1em;right:-0.05em;font-family:var(--site-display);font-size:clamp(12rem,20vw,22rem);line-height:1;color:var(--site-muted);pointer-events:none;user-select:none;}
.hero-content{position:relative;z-index:2;padding:4rem 4.5rem 4.5rem;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:0.6rem;font-size:var(--site-size-label);letter-spacing:0.3em;text-transform:uppercase;color:var(--site-accent-ink);font-weight:600;margin-bottom:1rem;}
.hero-eyebrow::before{content:'';display:block;width:28px;height:2px;background:var(--site-stone);}
.hero-title{font-family:var(--site-display);font-size:var(--site-size-display);line-height:var(--site-leading-heading);letter-spacing:0.02em;color:var(--site-ink);text-transform:uppercase;margin-bottom:0.5rem;}
.hero-title span{color:var(--site-accent-ink);}
.hero-tagline{font-family:var(--site-editorial);font-style:italic;font-size:var(--site-size-body);color:var(--site-muted);margin-bottom:2rem;}
.hero-divider{width:100%;height:1px;background:rgba(0,26,114,0.08);margin-bottom:1.5rem;}
.hero-tags{display:flex;flex-wrap:wrap;gap:0.5rem;}
.hero-tag{font-size:var(--site-size-label);letter-spacing:0.18em;text-transform:uppercase;font-weight:600;color:var(--site-muted);background:rgba(0,26,114,0.05);border:1px solid var(--site-rule);padding:0.3rem 0.7rem;}
@media(max-width:768px){.hero-content{padding:3rem 1.5rem 3.5rem;}
.hero-flag{display:none;}}
.container{max-width:1140px;margin:0 auto;padding:0 2.5rem;}
@media(max-width:768px){.container{padding:0 1.5rem;}}
.band-chalk{background:var(--site-ivory);padding:4rem 0 5rem;}
.band-white{background:var(--site-paper);padding:4rem 0 5rem;}
.band-ink{background:var(--site-stone);padding:4rem 0 5rem;}
.band-pine{background:var(--site-stone);padding:3rem 0;}
.section-header{margin-bottom:2.5rem;}
.section-eyebrow{font-size:var(--site-size-label);letter-spacing:0.3em;text-transform:uppercase;font-weight:600;margin-bottom:0.6rem;display:flex;align-items:center;gap:0.5rem;}
.section-eyebrow::before{content:'';display:block;width:22px;height:2px;}
.chalk-eyebrow{color:var(--site-accent-ink);}
.chalk-eyebrow::before{background:var(--site-stone);}
.ink-eyebrow{color:var(--site-accent-ink);}
.ink-eyebrow::before{background:var(--site-stone);}
.section-title{font-family:var(--site-display);font-size:var(--site-size-section);line-height:var(--site-leading-heading);letter-spacing:0.03em;text-transform:uppercase;margin-bottom:0.5rem;}
.chalk-title{color:var(--site-ink);}
.chalk-title span{color:var(--site-accent-ink);}
.ink-title{color:var(--site-ink);}
.ink-title span{color:var(--site-accent-ink);}
.section-desc{max-width:620px;}
.chalk-desc{color:var(--site-muted);}
.ink-desc{color:var(--site-muted);}
.subsection-label{display:inline-flex;align-items:center;gap:0.6rem;padding:0.4rem 1rem;margin-bottom:1.25rem;font-size:var(--site-size-label);letter-spacing:0.25em;text-transform:uppercase;font-weight:600;}
.public-label{background:var(--site-ivory);color:var(--site-ink);border-left:3px solid var(--site-accent-ink);}
.private-label{background:var(--site-ivory);color:var(--site-accent-ink);border-left:3px solid var(--site-accent-ink);}
.public-label-dark{background:rgba(0,26,114,0.12);color:var(--site-accent-ink);border-left:3px solid var(--site-accent-ink);}
.private-label-dark{background:rgba(0,26,114,0.1);color:var(--site-accent-ink);border-left:3px solid var(--site-accent-ink);}
.golf-grid{display:grid;grid-template-columns:1fr;gap:1.75rem;margin-bottom:3rem;}
.golf-card{overflow:hidden;border-left:4px solid var(--site-accent-ink);}
.golf-card.private-card{border-left-color:var(--site-accent-ink);}
.golf-card-light{background:var(--site-paper);}
.golf-card-light .card-header{background-color:var(--site-stone);padding:1.25rem 1.5rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;}
.golf-card-light .card-body{display:grid;grid-template-columns:1fr 1fr;gap:0;}
@media(max-width:768px){.golf-card-light .card-body{grid-template-columns:1fr;}}
.golf-card-dark{background:rgba(0,26,114,0.04);}
.golf-card-dark .card-header{background-color:rgba(0,26,114,0.06);padding:1.25rem 1.5rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;}
.golf-card-dark .card-body{display:grid;grid-template-columns:1fr 1fr;gap:0;}
@media(max-width:768px){.golf-card-dark .card-body{grid-template-columns:1fr;}}
.card-name{font-family:var(--site-display);font-size:var(--site-size-card);letter-spacing:0.04em;text-transform:uppercase;color:var(--site-ink);line-height:var(--site-leading-heading);}
.card-sub{font-size:var(--site-size-label);letter-spacing:0.2em;text-transform:uppercase;font-weight:600;color:var(--site-muted);margin-top:0.3rem;}
.card-badge{flex-shrink:0;font-size:var(--site-size-label);letter-spacing:0.2em;text-transform:uppercase;font-weight:600;padding:0.3rem 0.7rem;white-space:nowrap;}
.public-badge{background:var(--site-stone);color:var(--site-ink);}
.private-badge{background:var(--site-stone);color:var(--site-ink);}
.card-stats{display:flex;gap:0;border-bottom:1px solid var(--site-rule);align-items:center;}
.card-stat{flex:1;padding:0.65rem 0.85rem;text-align:center;border-right:1px solid var(--site-rule);}
.card-stat:last-child{border-right:none;}
.stat-val{font-family:var(--site-display);font-size:var(--site-size-body);line-height:var(--site-leading-heading);display:block;}
.stat-label{font-size:var(--site-size-label);letter-spacing:0.15em;text-transform:uppercase;font-weight:600;display:block;margin-top:0.2rem;line-height:1.3;}
.golf-card-light .stat-val{color:var(--site-ink);}
.golf-card-light .stat-label{color:var(--site-muted);}
.golf-card-light .card-stats{background:var(--site-ivory);}
.private-card.golf-card-light .stat-val{color:var(--site-accent-ink);}
.golf-card-dark .stat-val{color:var(--site-accent-ink);}
.golf-card-dark .stat-label{color:var(--site-muted);}
.golf-card-dark .card-stats{background:rgba(0,26,114,0.03);}
.private-card.golf-card-dark .stat-val{color:var(--site-accent-ink);}
.card-left{padding:1.25rem 1.5rem;}
.panel-label{font-size:var(--site-size-label);letter-spacing:0.2em;text-transform:uppercase;font-weight:600;margin-bottom:0.5rem;}
.golf-card-light .panel-label{color:var(--site-accent-ink);}
.private-card.golf-card-light .panel-label{color:var(--site-accent-ink);}
.golf-card-dark .panel-label{color:var(--site-accent-ink);}
.private-card.golf-card-dark .panel-label{color:var(--site-accent-ink);}
.card-text{}
.golf-card-light .card-text{color:var(--site-ink);}
.golf-card-dark .card-text{color:var(--site-muted);}
.card-right{padding:1.25rem 1.5rem;border-left:1px solid var(--site-rule);}
.golf-card-dark .card-right{border-left-color:var(--site-rule);}
.highlight-box{padding:0.75rem 0;border-bottom:1px solid var(--site-rule);margin-bottom:0.75rem;}
.highlight-box:last-child{border-bottom:none;margin-bottom:0;}
.golf-card-dark .highlight-box{border-color:var(--site-rule);}
.hl-title{font-size:var(--site-size-label);letter-spacing:0.2em;text-transform:uppercase;font-weight:600;margin-bottom:0.25rem;}
.golf-card-light .hl-title{color:var(--site-accent-ink);}
.private-card.golf-card-light .hl-title{color:var(--site-accent-ink);}
.golf-card-dark .hl-title{color:var(--site-accent-ink);}
.private-card.golf-card-dark .hl-title{color:var(--site-accent-ink);}
.hl-body{font-size:var(--site-size-caption);line-height:var(--site-leading-body);}
.golf-card-light .hl-body{color:var(--site-ink);}
.golf-card-dark .hl-body{color:var(--site-muted);}
.card-actions{display:flex;flex-direction:column;gap:0.6rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--site-rule);}
.golf-card-dark .card-actions{border-top-color:var(--site-rule);}
.card-btn{display:flex;align-items:center;justify-content:center;gap:0.4rem;width:100%;box-sizing:border-box;padding:0.85rem 1.25rem;font-size:var(--site-size-caption);letter-spacing:0.1em;text-transform:uppercase;font-weight:600;text-decoration:none;transition:background 0.2s,color 0.2s,border-color 0.2s;}
.card-btn-website{background:transparent;border:1.5px solid var(--site-accent-ink);color:var(--site-accent-ink);}
.golf-card-light .card-btn-website{border-color:var(--site-rule);color:var(--site-ink);}
.golf-card-light .card-btn-website:hover{background:var(--site-bronze);color:var(--site-paper);}
.golf-card-dark .card-btn-website{border-color:var(--site-accent-ink);color:var(--site-accent-ink);}
.golf-card-dark .card-btn-website:hover{background:var(--site-bronze);color:var(--site-ink);}
.card-btn-homes{background:var(--site-bronze);border:1.5px solid var(--site-accent-ink);color:var(--site-ink);}
.card-btn-homes:hover{background:var(--site-bronze);border-color:var(--site-accent-ink);}
.card-header-photo{position:relative;min-height:320px;display:flex;align-items:flex-end;background-size:cover;background-position:center;}
.card-header-photo::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,23,20,0.35) 0%,rgba(26,23,20,0.55) 60%,rgba(26,23,20,0.8) 100%);}
.card-header-photo .card-header-inner{position:relative;z-index:1;width:100%;padding:1.25rem 1.5rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;}
.card-header-photo .card-name{color:var(--site-paper);text-shadow:0 2px 8px rgba(0,0,0,0.5);}
.card-header-photo .card-sub{color:rgba(255,255,255,0.75);text-shadow:0 1px 4px rgba(0,0,0,0.5);}
@media(max-width:768px){.card-header-photo{min-height:240px;}}
.cta-strip{background:var(--site-stone);padding:3.5rem 0;}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
.cta-text h2{font-family:var(--site-display);font-size:var(--site-size-section);text-transform:uppercase;color:var(--site-ink);line-height:var(--site-leading-heading);margin-bottom:0.5rem;}
.cta-text h2 span{color:var(--site-ink);}
.cta-text p{color:var(--site-ink);max-width:460px;}
.cta-actions{display:flex;flex-direction:column;gap:0.75rem;flex-shrink:0;}
.btn-pine{display:inline-block;background:var(--site-bronze);color:var(--site-paper);padding:0.9rem 2rem;font-size:var(--site-size-label);letter-spacing:0.2em;text-transform:uppercase;font-weight:600;text-decoration:none;transition:background var(--ease);}
.btn-pine:hover{background:var(--site-bronze);}
.btn-outline-white{display:inline-block;border:2px solid var(--site-rule);color:var(--site-paper);padding:0.9rem 2rem;font-size:var(--site-size-label);letter-spacing:0.2em;text-transform:uppercase;font-weight:600;text-decoration:none;text-align:center;}
.btn-outline-white:hover{border-color:var(--site-rule);}
.eho-badge{display:inline-flex;align-items:center;gap:0.4rem;font-size:var(--site-size-label);color:var(--site-muted);margin-top:0.5rem;}
.mid-cta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;}
.mid-cta-text .mc-title{font-family:var(--site-display);font-size:var(--site-size-card);color:var(--site-ink);text-transform:uppercase;line-height:var(--site-leading-heading);}
.mid-cta-text .mc-sub{font-size:var(--site-size-small);color:var(--site-muted);margin-top:0.35rem;}
.btn-gold{display:inline-block;background:var(--site-bronze);color:var(--site-ink);padding:0.9rem 2rem;font-size:var(--site-size-label);letter-spacing:0.2em;text-transform:uppercase;font-weight:600;text-decoration:none;flex-shrink:0;}
.btn-gold:hover{background:var(--site-bronze);}
.snav-item{position:relative;height:44px;}
.snav-link{display:flex;align-items:center;height:44px;padding:0 0.75rem;font-size:var(--site-size-label);letter-spacing:0.12em;text-transform:uppercase;font-weight:600;color:rgba(0,0,0,0.65);text-decoration:none;border-left:1px solid rgba(0,0,0,0.12);transition:color 0.2s,background 0.2s;white-space:nowrap;}
.snav-link:hover{color:var(--site-ink);background:rgba(0,0,0,0.07);}
.snav-link.active{color:var(--site-ink);border-bottom:2px solid var(--site-rule);}
.snav-qr{border-left:1px solid rgba(0,0,0,0.12);}
.snav-top{display:flex;align-items:center;height:44px;padding:0 0.75rem;font-size:var(--site-size-label);letter-spacing:0.12em;text-transform:uppercase;font-weight:600;color:var(--site-ink);text-decoration:none;margin-left:auto;flex-shrink:0;transition:color 0.2s,opacity 0.2s;white-space:nowrap;}
.snav-top:hover{opacity:0.6;}
.snav-dropdown{position:absolute;top:44px;left:0;background:var(--site-stone);border:1px solid var(--site-rule);border-top:2px solid var(--site-accent-ink);width:340px;max-height:0;overflow:hidden;opacity:0;transition:max-height 0.25s ease,opacity 0.2s ease;box-shadow:0 12px 24px rgba(0,0,0,0.35);z-index:160;}
.snav-item.snav-open .snav-dropdown{max-height:420px;opacity:1;overflow-y:auto;}
html.no-touch .snav-item:hover .snav-dropdown{max-height:420px;opacity:1;overflow-y:auto;}
.snav-dd-header{display:block;padding:0.7rem 0.9rem;font-size:var(--site-size-label);letter-spacing:0.1em;text-transform:uppercase;font-weight:600;color:var(--site-accent-ink);text-decoration:none;border-bottom:1px solid var(--site-rule);background:rgba(0,26,114,0.03);}
.snav-dd-header:hover{background:rgba(0,26,114,0.07);}
.snav-dd-course{display:flex;align-items:center;gap:0.6rem;padding:0.55rem 0.9rem;text-decoration:none;border-bottom:1px solid var(--site-rule);transition:background 0.15s;}
.snav-dd-course:hover{background:rgba(0,26,114,0.07);}
.snav-dd-course:last-child{border-bottom:none;}
.snav-dd-name{flex:1;min-width:0;font-size:var(--site-size-caption);font-weight:600;color:var(--site-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.snav-dd-city{flex:0 0 auto;font-size:var(--site-size-label);color:var(--site-muted);text-transform:uppercase;letter-spacing:0.03em;white-space:nowrap;}
.snav-dd-tag{flex:0 0 30px;text-align:right;font-size:var(--site-size-label);font-weight:600;letter-spacing:0.05em;text-transform:uppercase;}
.snav-dd-public{color:var(--site-accent-ink);}
.snav-dd-private{color:var(--site-accent-ink);}
@media(max-width:980px){.snav-dropdown{width:280px;}}
@media(max-width:700px){.snav-dropdown{position:fixed;top:calc(var(--site-header-height) + 44px);left:0.6rem;right:0.6rem;width:auto;max-height:60vh;}
.snav-item.snav-open .snav-dropdown{max-height:60vh;}}
@media (max-width:700px){html.no-touch .snav-item:hover .snav-dropdown{max-height:60vh;}}
@media(max-width:480px){.snav-link{padding:0 0.4rem;font-size:var(--site-size-label);letter-spacing:0.06em;}
.snav-top{padding:0 0.4rem;font-size:var(--site-size-label);}
#sticky-nav > div{padding:0 0.75rem;}}
.qr-region{margin-bottom:2.5rem;}
.qr-region:last-child{margin-bottom:0;}
.qr-region-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:0.5rem;margin-bottom:0.85rem;}
.qr-region-title{font-family:var(--site-display);font-size:var(--site-size-card);letter-spacing:0.04em;text-transform:uppercase;color:var(--site-ink);margin:0;}
.qr-region-meta{font-size:var(--site-size-label);letter-spacing:0.1em;text-transform:uppercase;color:var(--site-muted);font-weight:600;white-space:nowrap;}
.qr-jump{color:var(--site-accent-ink);text-decoration:none;font-weight:600;}
.qr-jump:hover{color:var(--site-ink);}
.qr-table{border:1px solid var(--site-rule);}
.qr-region-dark .qr-table{background:var(--site-stone);border-color:var(--site-rule);}
.qr-region-light .qr-table{background:var(--site-paper);}
.qr-table-head{display:flex;align-items:center;gap:1rem;padding:0.55rem 1.1rem;border-bottom:1px solid var(--site-rule);}
.qr-region-dark .qr-table-head{border-bottom-color:var(--site-rule);}
.qr-th{font-size:var(--site-size-label);letter-spacing:0.1em;text-transform:uppercase;font-weight:600;color:var(--site-muted);}
.qr-region-dark .qr-th{color:var(--site-muted);}
.qr-th-name{flex:0 0 25%;min-width:0;}
.qr-th-city{flex:0 0 15%;min-width:0;}
.qr-th-par{flex:0 0 8%;}
.qr-th-badge{flex:0 0 11%;}
.qr-th-price{flex:1;min-width:0;}
.qr-th-arrow{flex:0 0 auto;width:1em;}
@media(max-width:640px){.qr-table-head{display:none;}}
.qr-row{display:flex;align-items:center;gap:1rem;padding:0.8rem 1.1rem;text-decoration:none;border-bottom:1px solid var(--site-rule);transition:background 0.15s;}
.qr-region-dark .qr-row{border-bottom-color:var(--site-rule);}
.qr-row:last-child{border-bottom:none;}
.qr-region-light .qr-row:hover{background:rgba(0,0,0,0.035);}
.qr-region-dark .qr-row:hover{background:rgba(0,26,114,0.06);}
.qr-name{flex:0 0 25%;min-width:0;font-weight:600;font-size:var(--site-size-small);color:var(--site-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.qr-region-dark .qr-name{color:var(--site-ink);}
.qr-city{flex:0 0 15%;min-width:0;font-size:var(--site-size-label);color:var(--site-muted);text-transform:uppercase;letter-spacing:0.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.qr-region-dark .qr-city{color:var(--site-muted);}
.qr-par{flex:0 0 8%;font-size:var(--site-size-caption);color:var(--site-muted);white-space:nowrap;}
.qr-region-dark .qr-par{color:var(--site-muted);}
.qr-badge{flex:0 0 11%;font-size:var(--site-size-label);font-weight:600;letter-spacing:0.08em;text-transform:uppercase;white-space:nowrap;}
.qr-badge-public{color:var(--site-accent-ink);}
.qr-region-dark .qr-badge-public{color:var(--site-accent-ink);}
.qr-badge-private{color:var(--site-accent-ink);}
.qr-region-dark .qr-badge-private{color:var(--site-accent-ink);}
.qr-price{flex:1;min-width:0;font-size:var(--site-size-caption);color:var(--site-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.qr-region-dark .qr-price{color:var(--site-muted);}
.qr-arrow{flex:0 0 auto;font-size:var(--site-size-caption);color:var(--site-muted);transition:transform 0.15s;}
.qr-region-dark .qr-arrow{color:var(--site-muted);}
.qr-row:hover .qr-arrow{transform:translateX(3px);}
@media(max-width:880px){.qr-city,.qr-par{display:none;}
.qr-name{flex:0 0 38%;}
.qr-badge{flex:0 0 22%;}}
@media(max-width:560px){.qr-row{flex-wrap:wrap;padding:0.75rem 0.9rem;}
.qr-name{flex:1 1 100%;white-space:normal;margin-bottom:0.2rem;}
.qr-badge{flex:0 0 auto;order:2;}
.qr-price{flex:1 1 auto;order:3;white-space:normal;font-size:var(--site-size-caption);}
.qr-arrow{display:none;}
.qr-region-title{font-size:var(--site-size-subtitle);}}
/* One offset, including both fixed navigation bars. Long guide jumps are immediate. */
html.golf-guide{scroll-padding-top:0;scroll-behavior:auto}
html.golf-guide [id]{scroll-margin-top:calc(var(--site-header-height) + 58px)}
html.golf-guide #top{scroll-margin-top:0}
