/* Coastal editorial refinements using the supplied Beach Homes palette and type. */
:root{--soft-sand:#f8f4ee;--hairline:#d3e1e5}
[hidden]{display:none!important}
.refined-hero{min-height:720px;height:90svh;max-height:1000px}
.refined-hero .hero-content{padding-top:70px}
.refined-hero h1{font-size:clamp(58px,7vw,108px);line-height:1.06;letter-spacing:.005em}
.refined-hero .hero-intro{max-width:760px;font-size:15px}
.refined-hero .hero-shade{background:linear-gradient(90deg,rgba(0,77,113,.77),rgba(0,77,113,.13) 90%),linear-gradient(0deg,rgba(0,77,113,.43),transparent 30%,rgba(0,77,113,.4))}
.reach-band{background:white;border-bottom:1px solid var(--hairline);padding-block:48px}
.reach-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;align-items:center}
.reach-grid h2{font-size:29px;line-height:1.35;letter-spacing:.02em}
.reach-grid h2 span{font-family:Montserrat,sans-serif;font-size:14px;letter-spacing:0;text-transform:none;display:block;font-weight:500;margin-top:8px}
.reach-grid p{font-size:13px;line-height:1.9;margin-bottom:6px}
.reach-grid .text-link{font-size:9px}
.refined-listings{background:var(--soft-sand);border-bottom:0;padding-block:90px}
.refined-listings .section-heading{margin-bottom:38px}
.section-heading>p{font-size:14px}
.home-search-form{display:grid;grid-template-columns:2fr 1fr 1fr .8fr auto;background:white;border:1px solid var(--hairline);align-items:stretch;padding:10px;position:relative;gap:0;box-shadow:0 12px 40px rgba(0,77,113,.04)}
.search-field{padding:12px 18px;border-right:1px solid var(--hairline);min-width:0}
.search-field label{display:block;font-size:9px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;margin-bottom:10px;line-height:1.4}
.search-field select{border:0;background:transparent;width:100%;font-size:12px;padding:0 16px 0 0;min-height:27px;color:var(--navy);border-radius:0}
.home-search-form .button{margin-left:12px;gap:18px;padding-inline:20px;min-width:152px}
.home-search-form .search-error{grid-column:1/-1;font-size:12px;margin:10px 12px 4px;color:#004D71;font-weight:600}
.search-under{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:14px 0 34px;font-size:10px;line-height:1.7}
.search-under .text-link{font-size:9px;padding:4px 0;flex-shrink:0}
.collection-toolbar{display:flex;align-items:center;justify-content:space-between;margin-top:38px;margin-bottom:20px}
.collection-toolbar>p{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:600;margin:0}
.rail-buttons{display:flex;gap:8px}.rail-buttons button{width:40px;height:40px;border:1px solid #79acc9;background:transparent;color:var(--navy);font-size:19px;transition:background .2s}
.rail-buttons button:hover:not(:disabled){background:white}.rail-buttons button:disabled{opacity:.3;cursor:default}
.collection-rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 22px;scrollbar-width:thin;scrollbar-color:#79acc9 transparent}
.search-collection{background:white;scroll-snap-align:start;display:flex;flex-direction:column;min-width:0;transition:translate .5s cubic-bezier(.22,1,.36,1),box-shadow .5s;overflow:hidden}
.search-collection:hover{translate:0 -5px;box-shadow:0 15px 32px rgba(0,77,113,.1)}
.collection-image{height:270px;position:relative;overflow:hidden;background:#ACD6F2}
.collection-image:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 60%,rgba(0,77,113,.48))}
.collection-image img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.22,1,.36,1)}
.search-collection:hover img{transform:scale(1.045)}
.team-collection .collection-image img{object-position:center 29%}
.collection-number{position:absolute;top:14px;left:17px;color:white;font-family:Oswald,sans-serif;font-size:30px;text-shadow:0 1px 10px #004d71;z-index:1}
.collection-tag{position:absolute;left:20px;bottom:17px;font-size:9px;color:white;font-weight:600;letter-spacing:.13em;z-index:1}
.collection-copy{padding:26px 25px 23px;display:flex;flex-direction:column;flex:1}
.collection-copy .eyebrow{font-size:8px;margin-bottom:11px}
.collection-copy h3{font-size:31px;margin-bottom:12px;letter-spacing:.01em}
.collection-copy>p:not(.eyebrow){font-size:12px;line-height:1.8;margin-bottom:22px}
.collection-link{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;padding-top:15px;border-top:1px solid var(--hairline);margin-top:auto}
.collection-link>span[aria-hidden]{font-size:18px}
.collection-art{width:100%;height:100%;background:linear-gradient(145deg,#ACD6F2 0%,#79ACC9 45%,#006570 100%);display:grid;align-items:center;padding:40px;color:white;position:relative}
.collection-art:before,.collection-art:after{content:'';position:absolute;width:170%;height:80%;border:1px solid rgba(255,255,255,.4);border-radius:50%;transform:rotate(-24deg);left:-60%;top:-20%}
.collection-art:after{top:20%;left:10%}.collection-art>span{font:400 37px/1.2 Oswald,sans-serif;text-transform:uppercase;position:relative;z-index:1;letter-spacing:.015em}
.scenic-note{font-size:9px;line-height:1.8;margin:13px 0 0;max-width:850px}
.scenic-note a{text-decoration:underline;text-underline-offset:3px}
.idx-widget-section{margin-top:55px;border-top:1px solid var(--hairline);padding-top:34px}
.widget-heading h3{font-size:40px;margin-bottom:25px}.widget-heading .eyebrow{margin-bottom:10px}
.idx-listings .IDX-carouselCell{overflow:hidden;transition:translate .5s,box-shadow .5s}
.idx-listings .IDX-carouselCell:hover{translate:0 -5px;box-shadow:0 10px 30px rgba(0,77,113,.12)!important}
.idx-listings .IDX-carouselPhoto{aspect-ratio:4/3;transition:transform .8s}
.idx-listings .IDX-carouselCell:hover .IDX-carouselPhoto{transform:scale(1.035)}
.idx-source-note{color:var(--navy);opacity:.85;line-height:1.9}
.reply-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.search-hub-hero{padding-top:165px;padding-bottom:56px}
.search-hub-hero>.eyebrow{margin-top:40px}
.search-title-row{display:grid;grid-template-columns:1.6fr 1fr;align-items:end;gap:12%}
.search-title-row h1{font-size:clamp(45px,5.1vw,76px);line-height:1.12;letter-spacing:.005em}
.search-title-row>p{font-size:14px;line-height:1.9;max-width:420px;margin:0 0 5px}
.search-hub-main{background:var(--soft-sand);padding-block:36px 70px}
.search-presets{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.search-presets>span{font-size:10px;margin-right:10px;letter-spacing:.1em;text-transform:uppercase}
.search-presets button{border:1px solid #79ACC9;background:transparent;padding:9px 15px;font-size:10px;line-height:1.7;min-height:38px;transition:background .2s,color .2s}
.search-presets button[aria-pressed="true"]{background:var(--navy);color:white;border-color:var(--navy)}
#search-context{font-size:11px;margin:17px 0 0}
.search-guidance{display:grid;grid-template-columns:1fr 1.3fr;gap:10%}
.search-next-steps>a{display:flex;align-items:start;gap:20px;padding-block:25px;border-bottom:1px solid var(--hairline)}
.search-next-steps>a:first-child{padding-top:0}
.search-next-steps>a>span{font-size:12px}.search-next-steps>a>span[aria-hidden]{margin-left:auto;font-size:22px;line-height:1.3}
.search-next-steps h3{font-size:25px;letter-spacing:.01em;margin-bottom:10px}
.search-next-steps p{font-size:12px;margin:0}
.ranch-explorer{background:var(--soft-sand)}
.ranch-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #79ACC9}
.ranch-tabs button{border:0;background:transparent;padding:22px 12px;font-size:11px;line-height:1.7;font-weight:500;position:relative;color:var(--navy)}
.ranch-tabs button:after{content:'';position:absolute;bottom:-1px;height:3px;background:var(--navy);left:12px;right:12px;transform:scaleX(0);transition:transform .3s}
.ranch-tabs button[aria-selected="true"]:after{transform:scaleX(1)}
.ranch-tabs button[aria-selected="true"]{font-weight:700}
#ranch-panel{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;padding-block:48px;min-height:365px}
#ranch-panel h3{font-size:35px;line-height:1.2;letter-spacing:.005em;max-width:520px;margin-bottom:20px}
#ranch-panel p:not(.eyebrow){font-size:13px;line-height:1.95}
#ranch-panel .eyebrow{font-size:9px;margin-bottom:17px}
#ranch-questions{list-style:none;margin:0 0 15px;padding:0}
#ranch-questions li{font-size:13px;padding:0 0 16px 25px;margin-bottom:16px;border-bottom:1px solid var(--hairline);position:relative}
#ranch-questions li:before{content:'↗';position:absolute;left:0}
.ranch-local-destinations{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;border-top:1px solid #79ACC9;padding-top:27px}
.ranch-local-destinations span{font-size:9px;font-weight:600;letter-spacing:.11em}
.ranch-local-destinations p{font-size:12px;margin:12px 0 0;line-height:1.8}
.guide-page .site-header{background:white}
.guide-page .site-header .header-contact{border-color:#79ACC9}
.guide-page .site-header.menu-open{background:white;color:var(--navy)}
.guide-page .site-header .mobile-nav{color:white}
@media(min-width:1250px){.about.team-about{grid-template-columns:.8fr 1fr;column-gap:12%}.team-portrait{max-width:420px}.about-copy h2{font-size:62px}.home-lakewood-feature h2{font-size:49px}}
@media(max-width:1100px){.home-search-form{grid-template-columns:1.6fr 1fr 1fr}.home-search-form .search-field:nth-of-type(4){border-top:1px solid var(--hairline);margin-top:10px}.home-search-form .button{grid-column:2/4;margin-top:10px}.collection-image{height:240px}.collection-copy{padding:24px 20px}.collection-copy h3{font-size:28px}}
@media(max-width:900px){.refined-hero{min-height:690px}.reach-grid{gap:7%}.reach-grid h2{font-size:25px}.reach-grid p{font-size:12px}.collection-rail{grid-auto-columns:calc((100% - 24px)/2)}.search-title-row{grid-template-columns:1fr;gap:28px}.search-title-row>p{max-width:620px}.search-guidance{grid-template-columns:1fr;gap:38px}.ranch-tabs button{font-size:10px;padding-inline:8px}#ranch-panel{gap:7%;min-height:390px}#ranch-panel h3{font-size:30px}}
@media(max-width:700px){.refined-hero{height:auto;min-height:91svh;padding-block:155px 115px}.refined-hero .hero-content{padding-top:0}.refined-hero h1{font-size:clamp(49px,11vw,76px)}.refined-hero .hero-intro{font-size:13px;line-height:1.8;max-width:360px}.refined-hero .hero-intro br{display:none}.hero-actions{gap:22px;flex-wrap:wrap}.hero-actions .text-link{font-size:9px}.hero-bottom{font-size:7px;bottom:24px}.hero-bottom>a{display:none}.reach-band{padding-block:35px}.reach-grid{grid-template-columns:1fr;gap:20px}.reach-grid h2{font-size:26px}.reach-grid h2 span{font-size:13px}.reach-grid p{font-size:12px}.refined-listings{padding-block:60px}.refined-listings .section-heading{margin-bottom:28px}.section-heading>p{font-size:12px}.home-search-form{grid-template-columns:1fr 1fr;padding:8px}.search-field{padding:13px 12px}.search-field label{font-size:8px;letter-spacing:.07em}.search-field select{font-size:11px}.home-search-form .area-field{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--hairline)}.home-search-form .search-field:nth-of-type(3){border-right:0}.home-search-form .search-field:nth-of-type(4){margin-top:0;border-top:1px solid var(--hairline);grid-column:1/-1;border-right:0}.home-search-form .button{grid-column:1/-1;margin:6px 0 0;min-height:53px;justify-content:space-between}.search-under{align-items:start;margin-top:15px;gap:15px}.search-under>span{max-width:180px;font-size:9px}.search-under .text-link{font-size:8px;gap:10px}.collection-rail{grid-auto-columns:84%;gap:18px;padding-bottom:18px}.collection-image{height:260px}.collection-toolbar{margin-top:30px}.collection-copy h3{font-size:31px}.scenic-note{font-size:9px}.idx-listings-actions{margin-top:24px;gap:15px}.idx-listings-actions .text-link{font-size:9px}.reply-row{grid-template-columns:1fr;gap:0}.search-hub-hero{padding-top:112px;padding-bottom:35px}.search-hub-hero>.eyebrow{font-size:8px;margin-top:26px}.search-title-row h1{font-size:clamp(40px,10.1vw,62px)}.search-title-row>p{font-size:13px}.search-hub-main{padding-block:28px 45px}.search-presets{gap:8px}.search-presets>span{width:100%;margin:0 0 3px}.search-presets button{font-size:9px;padding:8px 12px}.search-next-steps h3{font-size:25px}.search-next-steps p{font-size:12px}.ranch-tabs{grid-template-columns:1fr 1fr;border-bottom:0}.ranch-tabs button{border-bottom:1px solid #79ACC9;text-align:left;padding:17px 8px;min-height:62px}#ranch-panel{grid-template-columns:1fr;gap:30px;padding-block:32px;min-height:0}#ranch-panel h3{font-size:31px}.ranch-local-destinations{grid-template-columns:1fr;gap:22px}.ranch-local-destinations p{margin-top:8px}.ranch-local-destinations span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.search-collection,.collection-image img,.ranch-tabs button:after{transition:none}.search-collection:hover{translate:none}.search-collection:hover img{transform:none}html{scroll-behavior:auto}}
.collection-rail{overflow-y:hidden;padding-top:6px}
.team-collection .collection-image{background:#DDC7AA}
.team-collection .collection-image img{object-fit:contain;object-position:center}
.search-hub-hero{padding-top:65px}
@media(max-width:700px){.search-hub-hero{padding-top:32px}}

.search-field select:disabled{opacity:.5}

@media print{.print-guide>.print-checklist-title{font-size:30px;margin-bottom:20px}}

/* Waterfront guide entry points use the existing coastal palette. */
.waterfront-entry,.waterfront-catalog-entry{display:flex;align-items:center;justify-content:space-between;gap:40px;border-top:1px solid var(--line);padding-top:35px;margin-top:42px}.waterfront-entry h3{font-size:35px;margin-bottom:14px}.waterfront-entry p:not(.eyebrow),.waterfront-catalog-entry p:not(.eyebrow){font-size:12px;line-height:1.9;color:var(--muted);max-width:620px;margin-bottom:0}.waterfront-entry .button,.waterfront-catalog-entry .button{font-size:9px;gap:18px;flex-shrink:0}.waterfront-catalog-entry{margin-top:0;padding-block:35px;border-bottom:1px solid var(--line)}.waterfront-catalog-entry h2{font-size:36px;margin-bottom:15px}
@media(min-width:901px) and (max-width:1280px){.desktop-nav{display:none}.header-contact{margin-left:auto}.menu-button{display:flex}}
@media(max-width:700px){.waterfront-entry,.waterfront-catalog-entry{flex-direction:column;align-items:flex-start;gap:26px}.waterfront-entry h3,.waterfront-catalog-entry h2{font-size:32px}.waterfront-entry .button,.waterfront-catalog-entry .button{font-size:8px;max-width:100%}}

/* Keep the full primary navigation within the desktop header. */
@media(min-width:1281px) and (max-width:1500px) {
  .site-header { padding-inline: 4%; gap: 20px; }
  .desktop-nav { gap: 13px; font-size: 9px; letter-spacing: .08em; white-space: nowrap; }
}
.mobile-nav { max-height: calc(100dvh - 92px); overflow-y: auto; }
