
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#19372f;background:#f8f5ee;line-height:1.5}
img{display:block;max-width:100%}
a{color:inherit}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 5vw;background:rgba(244,236,217,.97);border-bottom:1px solid rgba(25,55,47,.12);backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#183f34;color:#fff;font-size:.82rem;font-weight:700;letter-spacing:.08em}.brand-text{display:grid;line-height:1.1}.brand-text strong{font-size:1.05rem}.brand-text small{margin-top:.2rem;color:#667a73}
.site-nav{display:flex;gap:1.15rem}.site-nav a{text-decoration:none;font-weight:700;font-size:.93rem}.site-nav a:hover{text-decoration:underline}.menu-button{display:none;border:0;border-radius:999px;padding:.65rem 1rem;background:#183f34;color:#fff;font-weight:700}
.hero{position:relative;min-height:68vh;display:grid;align-items:end;overflow:hidden}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,39,32,.78),rgba(13,39,32,.18))}.hero-content{position:relative;z-index:2;max-width:720px;padding:8rem 6vw 4rem;color:#fff}.eyebrow{margin:0 0 .6rem;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:800}.hero h1,.page-hero h1,.section-heading h2,.social-feature h3,.contact-card h2{font-family:Georgia,"Times New Roman",serif;font-weight:500}.hero h1{margin:0;font-size:clamp(4rem,11vw,8.5rem);line-height:.9}.hero-copy{max-width:560px;margin:1.25rem 0 1.8rem;font-size:clamp(1.2rem,2vw,1.6rem)}
.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap}.button{display:inline-block;padding:.85rem 1.2rem;border-radius:999px;text-decoration:none;font-weight:800}.button-primary{background:#d3a64c;color:#17352d}.button-community{background:#17352d;color:#fff}.button-light{background:#fff;color:#17352d}
.page-hero{padding:5rem 6vw 3rem;background:#183f34;color:#fff}.page-hero div{max-width:800px}.page-hero h1{margin:.1rem 0;font-size:clamp(3rem,7vw,5.5rem);line-height:1}.page-hero p:last-child{max-width:680px;font-size:1.15rem;color:#d5e2dd}
.section{padding:5rem 6vw}.section.compact{padding-top:4rem;padding-bottom:4rem}.tint{background:#edf1ec}.section-heading{max-width:720px;margin-bottom:2rem}.section-heading h2{margin:0;font-size:clamp(2.35rem,5vw,4.2rem);line-height:1}.section-heading p:last-child{color:#63736e;font-size:1.08rem}
.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.event-card{display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1.35rem;background:#fff;border-radius:20px;box-shadow:0 10px 25px rgba(20,47,39,.08)}.event-card.featured{background:#183f34;color:#fff}.date-badge{display:grid;align-content:start;justify-items:center;min-width:64px;height:fit-content;padding:.7rem .55rem;border-radius:16px;background:#efe2c0;color:#17352d}.date-badge span{font-size:.72rem;font-weight:800;letter-spacing:.08em}.date-badge strong{font-size:1.85rem}.event-card h3,.activity-card h3,.calendar-row h3,.guide-card h3{margin:0 0 .25rem}.event-card p{margin:.3rem 0}.event-type,.activity-tag{margin:0 0 .35rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#8d6e2f}.featured .event-type{color:#f1dca7}.section-cta{margin-top:1.4rem}.text-link{font-weight:800}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.quick-card{display:grid;gap:.35rem;padding:1.4rem;background:#fff;border-radius:20px;text-decoration:none;box-shadow:0 10px 25px rgba(20,47,39,.06)}.quick-card span{font-size:2rem}.quick-card strong{font-size:1.2rem}.quick-card small{color:#6c7c76}
.photo-grid{display:grid;grid-template-columns:2fr 1fr;gap:1rem}.photo-grid img{width:100%;height:330px;object-fit:cover;border-radius:22px}
.activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.activity-card{overflow:hidden;background:#fff;border-radius:22px;box-shadow:0 10px 25px rgba(20,47,39,.07)}.activity-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.activity-content{padding:1.35rem}.activity-icon{display:grid;place-items:center;width:100%;aspect-ratio:16/10;min-height:0;font-size:4rem;background:#e2eadf}.muted{color:#697973}
.calendar-list{display:grid;gap:.75rem;max-width:900px}.calendar-row{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:1rem;padding:1rem 1.15rem;background:#fff;border-radius:18px}.calendar-row p{margin:0;color:#687972}.calendar-date{display:grid;place-items:center;min-height:72px;border-radius:14px;background:#edf1ec}.calendar-date strong{font-size:1.45rem}.calendar-date span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.recurring .calendar-date{background:#efe2c0}
.social-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.social-feature{overflow:hidden;background:#fff;border-radius:22px;box-shadow:0 10px 25px rgba(20,47,39,.07)}.social-feature img{width:100%;aspect-ratio:16/9;object-fit:cover}.social-feature-content{padding:1.35rem 1.6rem 1.5rem}.social-feature h3{font-size:1.7rem;margin:0 0 .3rem}.social-feature p{margin:.35rem 0;color:#66766f}
.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.guide-card{padding:1.5rem;background:#fff;border-radius:20px}.step{display:grid;place-items:center;width:36px;height:36px;margin-bottom:1rem;border-radius:50%;background:#d3a64c;color:#17352d;font-weight:800}
.contact-card{max-width:720px;padding:2rem;background:#fff;border-radius:22px;box-shadow:0 10px 25px rgba(20,47,39,.07)}.contact-card h2{font-size:2.3rem;margin-top:0}
.site-footer{display:flex;justify-content:space-between;gap:1rem;padding:2.5rem 6vw;background:#102c25;color:#fff}.site-footer p{margin:.25rem 0 0;color:#c9d6d1}
@media(max-width:900px){.site-nav{display:none;position:absolute;top:70px;left:4vw;right:4vw;flex-direction:column;padding:1rem;border-radius:18px;background:#f4ecd9;box-shadow:0 16px 40px rgba(20,47,39,.14)}.site-nav.open{display:flex}.menu-button{display:inline-block}.event-grid,.activity-grid,.quick-grid{grid-template-columns:1fr 1fr}.guide-grid{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr}.photo-grid img{height:280px}}
@media(max-width:620px){.hero{min-height:72vh}.hero-content{padding:7rem 6vw 3.5rem}.event-grid,.activity-grid,.quick-grid,.social-feature-grid{grid-template-columns:1fr}.event-card{grid-template-columns:66px 1fr}.section{padding:3.5rem 5vw}.calendar-row{grid-template-columns:74px 1fr}.site-footer{flex-direction:column}.page-hero{padding:4rem 5vw 2.5rem}}

/* Photo-led refinements */
.home .hero img{object-position:center 58%}
.home .hero-overlay{background:linear-gradient(90deg,rgba(13,39,32,.68),rgba(13,39,32,.08) 68%)}
.photo-grid.three{grid-template-columns:1.5fr 1fr 1fr}
.photo-grid.three img{height:310px}
.image-banner{position:relative;max-height:560px;overflow:hidden;background:#183f34}
.image-banner img{width:100%;height:min(52vw,560px);object-fit:cover;object-position:center 52%}
.image-banner-caption{position:absolute;inset:auto 0 0 0;padding:4rem 6vw 2rem;background:linear-gradient(transparent,rgba(13,39,32,.72));color:#fff}
.image-banner-caption span{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,4vw,3.5rem)}
@media(max-width:900px){.photo-grid.three{grid-template-columns:1fr 1fr}.photo-grid.three img:first-child{grid-column:1/-1}}
@media(max-width:620px){.photo-grid.three{grid-template-columns:1fr}.photo-grid.three img:first-child{grid-column:auto}.photo-grid.three img{height:230px}.home .hero img{object-position:center 55%}}
.maintenance-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1.25rem;align-items:start}.code-card,.explain-card{background:#fff;border-radius:22px;box-shadow:0 10px 25px rgba(20,47,39,.07);overflow:hidden}.code-title{padding:.8rem 1rem;background:#183f34;color:#fff;font-weight:800}.code-card pre{margin:0;padding:1.25rem;overflow:auto;white-space:pre-wrap;font:0.9rem/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#20362f}.explain-card{padding:1.5rem}.explain-card p{color:#66766f}@media(max-width:800px){.maintenance-grid{grid-template-columns:1fr}}
/* Data-driven card details */
.card-link{color:inherit;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}.card-link:hover,.card-link:focus-visible{transform:translateY(-3px);box-shadow:0 15px 34px rgba(20,47,39,.13)}.more-link{display:inline-block;margin-top:.8rem;font-size:.9rem;font-weight:800;color:#8d6e2f}.detail-hero{padding:4.5rem 6vw 3.2rem;background:#183f34;color:#fff}.detail-hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;margin:.1rem 0;font-size:clamp(3rem,7vw,5.5rem);line-height:1}.detail-hero>p:last-child{max-width:720px;font-size:1.15rem;color:#d5e2dd}.detail-image{max-height:430px;overflow:hidden}.detail-image img{width:100%;height:min(42vw,430px);object-fit:cover}.detail-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,.7fr);gap:2rem;align-items:start;max-width:1100px}.detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-bottom:2rem}.detail-fact{display:grid;gap:.2rem;padding:1rem 1.1rem;background:#fff;border-radius:16px;box-shadow:0 8px 22px rgba(20,47,39,.06)}.detail-fact span{font-size:.74rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:#8d6e2f}.detail-copy{margin:1.8rem 0}.detail-copy h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:2rem;margin:0 0 .5rem}.detail-copy p{font-size:1.05rem}.teamreach-box,.detail-aside{padding:1.4rem;background:#edf1ec;border-radius:20px}.teamreach-box p{margin:.35rem 0}.detail-aside{position:sticky;top:92px}.detail-aside h3{font-family:Georgia,"Times New Roman",serif;font-size:1.8rem;margin:.2rem 0}.detail-aside .button{margin-top:.8rem}@media(max-width:760px){.detail-layout{grid-template-columns:1fr}.detail-facts{grid-template-columns:1fr}.detail-aside{position:static}.detail-image img{height:260px}.detail-hero{padding:3.5rem 5vw 2.6rem}}

/* Dining & Social category links */
.social-feature{display:block;color:inherit;text-decoration:none}
.social-category-image img{object-position:center}
.empty-state{grid-column:1/-1;padding:1.6rem;background:#fff;border-radius:20px;box-shadow:0 10px 25px rgba(20,47,39,.06)}
.empty-state h3{font-family:Georgia,"Times New Roman",serif;font-size:1.6rem;font-weight:500;margin:0 0 .35rem}
.empty-state p{margin:.2rem 0;color:#66766f}
.cross-link{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1.8rem;padding:1rem 1.15rem;border-radius:16px;background:#efe2c0;color:#17352d;text-decoration:none}
.cross-link span{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.cross-link strong{font-size:1rem}
.aside-text-link{display:block;margin-top:1rem;font-weight:800;color:#8d6e2f;text-decoration:none}
@media(max-width:620px){.cross-link{align-items:flex-start;flex-direction:column;gap:.25rem}}

/* Dining & Social category pages */
.category-intro { max-width: 760px; margin-bottom: 2rem; }
.category-events-heading { margin-top: 1rem; }

/* LWN Social brand identity */
.brand{gap:.9rem}.brand-logo{width:235px;height:auto;display:block}
.footer-brand img{width:235px}.footer-brand p{margin:.35rem 0 0;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#c9d6d1}
.home .hero h1{font-size:clamp(3.6rem,9vw,7.2rem)}
@media(max-width:760px){.brand-logo{width:190px}}

/* Community Guide platform sections */
.connect-section{background:#fff}.connect-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;max-width:1100px}.connect-card{padding:1.8rem;background:#f8faf7;border:1px solid #dfe8e2;border-radius:24px;box-shadow:0 10px 28px rgba(20,47,39,.07)}.connect-card h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:2rem;line-height:1.05;margin:.25rem 0 .8rem;color:#17352d}.connect-card>p{color:#566964}.platform-logo{display:flex;align-items:center;gap:.8rem;margin-bottom:1.25rem}.platform-logo-img{width:52px;height:52px;display:block;object-fit:contain;border-radius:13px;box-shadow:0 4px 12px rgba(20,47,39,.12)}.platform-wordmark{font-weight:800;font-size:1.15rem;letter-spacing:-.02em;color:#17352d}.platform-steps{display:grid;gap:.75rem;margin:1.25rem 0;padding-left:1.25rem;color:#314a43}.platform-steps li{padding-left:.2rem;line-height:1.5}.platform-note{margin:1.3rem 0 0;padding-top:1rem;border-top:1px solid #dfe8e2;font-size:.94rem}.use-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:1100px}.use-card{display:grid;gap:.35rem;padding:1.3rem 1.4rem;background:#fff;border-radius:18px;box-shadow:0 8px 22px rgba(20,47,39,.06)}.use-card strong{font-family:Georgia,"Times New Roman",serif;font-size:1.3rem;color:#17352d}.use-card span{color:#63736e;line-height:1.45}@media(max-width:800px){.connect-grid,.use-grid{grid-template-columns:1fr}.connect-card h3{font-size:1.75rem}}

/* Homepage hero concept: Ty pool photo, live responsive text */
.home .hero{min-height:72vh;}
.home .hero img{object-position:center 58%;}
.home .hero-overlay{background:linear-gradient(270deg,rgba(12,49,39,.78) 0%,rgba(18,63,49,.48) 38%,rgba(13,39,32,.08) 76%);}
.home .hero-content{margin-left:auto;max-width:760px;padding:8rem 7vw 4.5rem 3rem;text-shadow:0 2px 18px rgba(0,0,0,.18);}
.home .hero-copy{display:grid;gap:.42rem;max-width:590px;}
.home .hero-copy strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.65rem,3vw,2.4rem);font-weight:500;line-height:1.05;}
.home .hero-copy span{font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.45;}
@media(max-width:760px){
  .home .hero{min-height:76vh;}
  .home .hero img{object-position:38% 55%;}
  .home .hero-overlay{background:linear-gradient(180deg,rgba(13,39,32,.18) 0%,rgba(13,39,32,.50) 42%,rgba(13,39,32,.82) 100%);}
  .home .hero-content{margin-left:0;max-width:680px;padding:8rem 6vw 3.6rem;}
  .home .hero-copy{max-width:520px;}
}


/* Public Launch Candidate 1 */
@media(max-width:1120px){
  .site-nav{display:none;position:absolute;top:76px;left:4vw;right:4vw;flex-direction:column;padding:1rem;border-radius:18px;background:#f4ecd9;box-shadow:0 16px 40px rgba(20,47,39,.14)}
  .site-nav.open{display:flex}.menu-button{display:inline-block}
}
.home .hero h1{font-size:clamp(3rem,6.8vw,6.2rem);max-width:720px;line-height:.92}
.app-downloads{margin:1.25rem 0;padding:1rem 0 0;border-top:1px solid #dfe8e2}.app-downloads>p{margin:.1rem 0 .8rem;color:#314a43}.store-badges{display:flex;gap:.7rem;flex-wrap:wrap}.store-badge{display:flex;align-items:center;gap:.55rem;min-width:165px;padding:.55rem .8rem;border-radius:9px;background:#111;color:#fff;text-decoration:none;line-height:1}.store-badge span:last-child{display:grid;gap:.12rem}.store-badge small{font-size:.57rem;letter-spacing:.02em}.store-badge strong{font-size:1.08rem;font-weight:600}.store-icon{display:grid;place-items:center;width:27px;height:27px;font-size:1.15rem}.apple-icon{font-size:1.35rem}.play-icon{font-size:1.05rem}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.gallery-item{margin:0;overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(20,47,39,.07)}.gallery-item img{width:100%;height:260px;object-fit:cover;transition:transform .25s ease}.gallery-item:hover img{transform:scale(1.025)}.camp-ranch-banner img{object-position:center center;object-fit:cover}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.gallery-grid{grid-template-columns:1fr}.gallery-item img{height:240px}.store-badge{min-width:150px}.home .hero h1{font-size:clamp(2.8rem,12vw,4.5rem)}}
.footer-email{color:#f1dfad;text-decoration:none;font-weight:700}.footer-email:hover{text-decoration:underline}

/* Candidate 4: event imagery */
.event-card.has-image{display:block;padding:0;overflow:hidden}
.event-card-image{width:100%;aspect-ratio:16/9;object-fit:cover}
.event-card-inner{display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1.15rem 1.25rem 1.35rem}
.event-detail-image img{object-position:center}
@media(max-width:620px){.event-card-inner{grid-template-columns:66px 1fr}}

/* Candidate 4: mailing list */
.mailing-section{padding-top:1rem}
.mailing-panel{max-width:1120px;margin:0 auto;padding:2rem;border-radius:26px;background:#efe2c0;box-shadow:0 10px 28px rgba(20,47,39,.07)}
.mailing-copy{max-width:720px;margin-bottom:1.25rem}
.mailing-copy h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(2rem,4vw,3rem);line-height:1.05;margin:.15rem 0 .55rem}
.mailing-copy p:last-child{margin:.35rem 0;color:#4f655d}
.mailing-form{display:grid;grid-template-columns:1fr 1fr 1.4fr auto;gap:.85rem;align-items:end}
.mailing-field{display:grid;gap:.35rem}
.mailing-field label{font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#5d6f68}
.mailing-field input{width:100%;min-height:48px;border:1px solid rgba(25,55,47,.22);border-radius:12px;padding:.7rem .8rem;background:#fff;color:#19372f;font:inherit}
.mailing-field input:focus{outline:3px solid rgba(141,110,47,.17);border-color:#8d6e2f}
.mailing-submit{min-height:48px;border:0;cursor:pointer;white-space:nowrap}
.mailing-note{margin:.8rem 0 0;font-size:.82rem;color:#66766f}
.mailing-honeypot{position:absolute;left:-5000px}
.contact-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}
@media(max-width:920px){.mailing-form{grid-template-columns:1fr 1fr}.mailing-email{grid-column:1/-1}.mailing-submit{width:max-content}}
@media(max-width:620px){.mailing-panel{padding:1.4rem}.mailing-form{grid-template-columns:1fr}.mailing-email{grid-column:auto}.mailing-submit{width:100%}}

/* Candidate 5: branded newsletter confirmation */
.newsletter-thanks{min-height:62vh;display:grid;place-items:center;padding:clamp(3rem,8vw,6rem) 1.25rem;background:linear-gradient(180deg,#f7f1e5 0%,#fffdf8 100%)}
.newsletter-thanks-card{width:min(760px,100%);text-align:center;background:#fff;border:1px solid rgba(11,83,67,.12);border-radius:28px;padding:clamp(2.25rem,6vw,4.5rem);box-shadow:0 20px 55px rgba(27,58,48,.10)}
.newsletter-thanks-card h1{margin:.2rem 0 .35rem;font-size:clamp(2.7rem,8vw,5.2rem);color:#0b5343}
.newsletter-thanks-card h2{margin:.15rem 0 1rem;font-size:clamp(1.4rem,3vw,2rem)}
.newsletter-thanks-card>p:not(.eyebrow):not(.newsletter-thanks-tagline){max-width:610px;margin:0 auto 1.5rem;font-size:1.08rem;line-height:1.75}
.newsletter-thanks-tagline{margin:1.6rem 0 2rem;font-weight:800;letter-spacing:.22em;color:#0b5343;font-size:.82rem}
.newsletter-thanks-tagline span{color:#c79a3b;margin:0 .4rem}


/* Candidate 5: data-driven At a Glance */
.at-a-glance-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;max-width:1100px;margin-bottom:1.35rem}
.at-a-glance-heading .section-heading{margin-bottom:0}
.glance-legend{display:flex;gap:1.15rem;flex-wrap:wrap;justify-content:flex-end;padding-bottom:.25rem;color:#4f655e;font-size:.88rem;font-weight:700}
.glance-legend span{display:flex;align-items:center;gap:.45rem;white-space:nowrap}
.legend-swatch{width:14px;height:14px;border-radius:4px;display:inline-block;border:1px solid rgba(25,55,47,.08)}
.legend-swatch.special{border-color:rgba(25,55,47,.32);background:#edf1ec}
.legend-swatch.weekly{background:#efe2c0}
.calendar-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;max-width:1100px}
.calendar-row{grid-template-columns:76px 1fr;min-height:94px;padding:.85rem 1rem;text-decoration:none}
.calendar-row .calendar-date{min-height:66px}
.calendar-row .calendar-date strong{font-size:1.25rem}
.calendar-row.recurring .calendar-date strong{font-size:1.02rem;text-align:center;line-height:1.1}
.calendar-row h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:1.22rem}
.calendar-row p{font-size:.92rem;line-height:1.35}
@media(max-width:760px){
  .at-a-glance-heading{align-items:flex-start;flex-direction:column;gap:.9rem}
  .glance-legend{justify-content:flex-start;padding-bottom:0}
  .calendar-list{grid-template-columns:1fr}
}
