:root{--ink:#172b25;--paper:#f4f3ed;--green:#3b5e48;--line:#d9dfd7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.skip{position:absolute;top:-100px;left:10px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}.site-header{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px max(5vw,24px);color:white}.logo{display:flex;gap:10px;align-items:center;font-size:19px;font-weight:800;letter-spacing:-.04em}.logo small{display:block;font-size:9px;letter-spacing:.17em;font-weight:500;text-transform:uppercase;margin-top:3px}.logo-mark{border:1px solid #ffffff70;border-radius:12px;padding:12px 10px}.site-header nav{display:flex;gap:30px;font-size:13px}.nav-action{border:1px solid #ffffff80;padding:13px 18px;border-radius:30px;font-size:13px}.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:linear-gradient(125deg,#223b32,#526c56 55%,#a0a98b)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,27,20,.72),rgba(7,27,20,.14))}.hero-content{position:relative;z-index:1;color:white;width:min(950px,90%);margin:110px 5vw 90px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.22em;font-weight:700;color:#648069}.eyebrow.light{color:#d3e4d5}.hero h1{font-size:clamp(54px,8.6vw,138px);line-height:.98;letter-spacing:-.07em;margin:25px 0}.hero h1 em,h2 em{font-weight:400;font-family:Georgia,serif}.hero-content>p:not(.eyebrow){font-size:clamp(16px,1.7vw,21px);line-height:1.55;max-width:550px;color:#f0f3ec}.hero-button{display:inline-flex;gap:40px;margin-top:25px;padding:18px 25px;border-radius:30px;background:#e9eee5;color:#193226;font-weight:700;font-size:13px}.hero-foot{position:absolute;bottom:26px;left:5vw;right:5vw;color:#e9f0e5;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.15em}.section-shell{width:min(1340px,90%);margin:auto}.intro,.partner{display:grid;grid-template-columns:1.2fr .8fr;gap:10%;align-items:center;padding:120px 0}.intro h2,.section-top h2,.partner h2,.statement h2{font-size:clamp(38px,5vw,76px);line-height:1.07;letter-spacing:-.055em;margin:20px 0}.intro>p,.partner p,.section-top>p{font-size:18px;line-height:1.75;color:#596b5f}.discover{padding:60px 0 130px}.section-top{display:flex;align-items:end;justify-content:space-between;gap:40px}.section-top>p{max-width:380px;font-size:15px}.filters{display:flex;gap:9px;flex-wrap:wrap;margin:35px 0}.filter{cursor:pointer;border:1px solid #cbd4ca;background:transparent;color:var(--ink);padding:12px 19px;border-radius:28px;font-size:13px}.filter:hover,.filter.active{background:var(--ink);color:white;border-color:var(--ink)}.masonry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}.tile{min-height:350px;border-radius:16px;display:flex;flex-direction:column;justify-content:space-between;padding:26px;position:relative;overflow:hidden;transition:transform .2s}.tile:hover{transform:translateY(-4px)}.tile:nth-child(1),.tile:nth-child(5){min-height:490px}.tile:nth-child(2),.tile:nth-child(6){min-height:420px}.tile.pine{background:#274a3b;color:#f5f6ef}.tile.sage{background:#c6d5c4}.tile.sand{background:#ded1b9}.tile.clay{background:#d8b8a0}.tile-top{display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.13em}.tile-bottom{position:relative}.tile h3{font-size:clamp(29px,3vw,44px);letter-spacing:-.05em;line-height:1.1;margin:0 0 14px;max-width:320px}.tile p{font-size:14px;line-height:1.65;max-width:300px;margin:0}.tile-arrow{position:absolute;right:0;bottom:0;border:1px solid currentColor;border-radius:50%;width:36px;height:36px;display:grid;place-items:center}.tile[hidden]{display:none}.statement{background:#203c31;color:white;padding:100px 0}.statement h2{max-width:850px}.statement p:last-child{max-width:610px;line-height:1.7;color:#d8e4da;font-size:18px}.text-link{display:inline-block;margin-top:15px;border-bottom:1px solid currentColor;padding-bottom:7px;font-weight:700}footer{background:#142b22;color:#e8f0e8}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:45px 0}.footer-inner strong{font-size:24px}.footer-inner strong span{color:#b6d3b9}.footer-inner p{max-width:480px;font-size:12px;line-height:1.6;color:#b7c8bd}.footer-inner a{font-size:13px}@media(max-width:800px){.site-header{padding:18px 5vw}.site-header nav{display:none}.nav-action{font-size:11px}.hero-content{margin-top:130px}.hero-foot span:last-child{display:none}.intro,.partner{grid-template-columns:1fr;gap:15px;padding:75px 0}.section-top{display:block}.masonry{grid-template-columns:repeat(2,minmax(0,1fr))}.tile,.tile:nth-child(n){min-height:330px}.footer-inner{flex-wrap:wrap}}@media(max-width:560px){.masonry{grid-template-columns:1fr}.tile,.tile:nth-child(n){min-height:310px}.hero h1{font-size:clamp(48px,12vw,70px)}.section-top h2{font-size:42px}.hero-foot{font-size:9px}.site-header .logo{font-size:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tile{transition:none}}
.tile-open{background:transparent;color:inherit;cursor:pointer;font-size:18px}.tile-open:focus-visible,.detail-dialog button:focus-visible{outline:3px solid #f0c97a;outline-offset:3px}.detail-dialog{border:0;padding:0;width:min(850px,calc(100% - 30px));max-height:min(90dvh,850px);border-radius:24px;color:var(--ink);background:var(--paper);box-shadow:0 20px 80px #0006}.detail-dialog::backdrop{background:rgba(8,26,19,.72);backdrop-filter:blur(5px)}.detail-inner{display:flex;flex-direction:column;max-height:min(90dvh,850px)}.detail-head,.detail-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 32px;border-bottom:1px solid var(--line)}.detail-close{border:1px solid var(--line);background:white;border-radius:50%;width:42px;height:42px;cursor:pointer}.detail-body{padding:35px 45px 45px;overflow:auto}.detail-counter{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#65796a}.detail-body h2{font-size:clamp(35px,5vw,65px);line-height:1.08;letter-spacing:-.05em;margin:20px 0}.detail-body>p:not(.detail-counter){font-size:18px;line-height:1.6}.detail-body li{padding:12px 0;line-height:1.6}.detail-controls{border-top:1px solid var(--line);border-bottom:0}.detail-controls button{border:1px solid var(--line);border-radius:22px;padding:11px 18px;background:white;cursor:pointer}@media(max-width:560px){.detail-head,.detail-controls{padding:16px}.detail-body{padding:22px}.detail-body h2{font-size:36px}}

/* Editorial discovery grid: sizes are content metadata, not hard-coded positions. */
@media(min-width:900px){.masonry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense;align-items:stretch}.masonry>.tile{min-width:0}.masonry>.tile.wide{grid-column:span 2}.masonry>.tile.tall{grid-row:span 2;min-height:540px}}
@media(min-width:600px) and (max-width:899px){.masonry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:dense}.masonry>.tile.wide{grid-column:span 2}}
.masonry>.tile[hidden]{display:none!important}
@media(max-width:599px){.masonry{display:grid;grid-template-columns:minmax(0,1fr)}.masonry>.tile.tall,.masonry>.tile.wide{grid-column:auto;grid-row:auto}}

/* Search within discovery results */
.discovery-tools{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:28px 0 4px}.discovery-search-label{font-weight:700;font-size:13px}.discovery-search{flex:1 1 280px;max-width:530px;min-height:48px;padding:12px 18px;border:1px solid #b7c7ba;border-radius:28px;background:#fff;color:var(--ink);font:inherit;font-size:15px}.discovery-search:focus-visible{outline:3px solid #527b60;outline-offset:3px}.discovery-count{margin:0 0 0 auto;color:#52685b;font-size:13px}.empty{padding:24px 0;font-size:16px}@media(max-width:560px){.discovery-tools{align-items:stretch;gap:12px}.discovery-search-label{width:100%}.discovery-search{flex-basis:100%;width:100%}.discovery-count{margin-left:0}}

.discovery-reset{border:0;background:transparent;color:#274a3b;text-decoration:underline;text-underline-offset:4px;cursor:pointer;font:inherit;font-size:13px;padding:10px 0}.discovery-reset:focus-visible{outline:3px solid #527b60;outline-offset:3px}.discovery-reset[hidden]{display:none!important}

/* Whole-card discovery interactions */
.masonry>.tile[role=button]{cursor:pointer}.masonry>.tile[role=button]:focus-visible{outline:4px solid #3b5e48;outline-offset:4px}.masonry>.tile[role=button]:hover .tile-arrow,.masonry>.tile[role=button]:focus-visible .tile-arrow{border-width:2px}.masonry>.tile[role=button]:hover .tile-arrow{transform:scale(1.07)}.masonry>.tile .tile-arrow{transition:transform .2s}.masonry>.tile .tile-open{pointer-events:none}@media(prefers-reduced-motion:reduce){.masonry>.tile .tile-arrow{transition:none}}

/* Editorial image tiles: imagery is optional, never inferred or fetched from third parties. */
.tile[data-has-image=true]{isolation:isolate;color:#fff;background:#203c31}.tile-media{position:absolute;inset:0;z-index:-2}.tile-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.tile[data-has-image=true]::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,25,16,.32),rgba(5,25,16,.1) 32%,rgba(5,25,16,.86) 100%)}.tile[data-has-image=true] .tile-top,.tile[data-has-image=true] .tile-bottom{z-index:1}.tile[data-has-image=true] p{color:#f0f4ed}.tile[data-has-image=true] .tile-arrow{border-color:#ffffffb3}@media(prefers-reduced-motion:no-preference){.tile-media img{transition:transform .5s ease}.tile[data-has-image=true]:hover .tile-media img{transform:scale(1.035)}}

/* Reliable media layout: keep text readable with or without an image. */
.tile[data-has-image=true] .tile-media{z-index:0}.tile[data-has-image=true]::before{z-index:1;pointer-events:none}.tile[data-has-image=true] .tile-top,.tile[data-has-image=true] .tile-bottom{position:relative;z-index:2}.tile[data-has-image=true] .tile-top,.tile[data-has-image=true] .tile-bottom{color:#fff}.tile[data-has-image=true] .tile-bottom p{color:#f0f4ed}.tile[data-has-image=true] .tile-media img{object-fit:cover}.tile[data-has-image=true]:focus-visible{outline-color:#f0c97a}

.detail-source{display:inline-block;margin:18px 0 6px;font-weight:700;text-decoration:underline;text-underline-offset:4px;color:#234f3d}.detail-source[hidden]{display:none!important}.detail-source:focus-visible{outline:3px solid #527b60;outline-offset:3px}

.detail-related{margin:24px 0 8px;padding:18px;border:1px solid #d5dfd5;border-radius:16px;background:#f5f8f3;color:#213c30}.detail-related[hidden]{display:none!important}.detail-related strong{display:block;margin-bottom:10px}.detail-related-items,#detail-related-items{display:flex;gap:8px;flex-wrap:wrap}#detail-related-items button{padding:10px 14px;border-radius:22px;border:1px solid #6b8b75;background:white;color:#244633;cursor:pointer;font:inherit}#detail-related-items button:focus-visible{outline:3px solid #527b60;outline-offset:3px}

.trip-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 18px}.trip-filter{padding:11px 17px;border-radius:24px;border:1px solid #738e7b;background:transparent;color:inherit;cursor:pointer;font:inherit}.trip-filter[aria-pressed="true"]{background:#244e39;color:white;border-color:#244e39}.trip-filter:focus-visible{outline:3px solid #6a9b78;outline-offset:3px}.trip-note{flex-basis:100%;font-size:.85rem;opacity:.75;margin:0}

.regional-map{border:1px solid #d3ded4;border-radius:20px;padding:clamp(18px,3vw,30px);margin:20px 0 28px;background:#f4f7f0;color:#203a2d}.regional-map-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.regional-map-head h3{margin:6px 0;font-size:clamp(1.2rem,2vw,1.7rem)}.regional-map-head p{max-width:60ch}.regional-map-head button{border:1px solid #315940;border-radius:25px;padding:12px 18px;background:#315940;color:white;cursor:pointer;font:inherit}.regional-map-head button:focus-visible{outline:3px solid #749e80;outline-offset:3px}#regional-map-frame[hidden]{display:none!important}#regional-map-frame{margin-top:18px}#regional-map-frame iframe{display:block;width:100%;height:min(60vh,480px);min-height:300px;border:0;border-radius:14px}#regional-map-frame a{color:#204e36;text-decoration:underline}

.detail-map-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.detail-map-actions[hidden]{display:none!important}.detail-map-actions a{display:inline-flex;padding:11px 15px;border-radius:22px;background:#e5efe5;border:1px solid #8aa591;color:#1c4931;text-decoration:none}.detail-map-actions a:focus-visible{outline:3px solid #628f70;outline-offset:3px}.detail-map-actions p{flex-basis:100%;font-size:.82rem;opacity:.8;margin:0}

.detail-pitch-facts{border:1px solid #d1ddd2;border-radius:16px;background:#f4f8f2;padding:18px;margin:18px 0;color:#203d2b}.detail-pitch-facts[hidden]{display:none!important}.detail-pitch-facts h3{margin:0 0 14px}.detail-pitch-facts dl{display:grid;grid-template-columns:minmax(115px,1fr) 1.5fr;gap:9px 16px;margin:0}.detail-pitch-facts dt{font-weight:600}.detail-pitch-facts dd{margin:0}.detail-pitch-facts p{margin:16px 0 0;font-size:.82rem;opacity:.8}@media(max-width:480px){.detail-pitch-facts dl{grid-template-columns:1fr;gap:3px}.detail-pitch-facts dd{margin-bottom:8px}}

.detail-booking-actions{margin:18px 0;padding:16px;border-radius:16px;background:#eef5e9;border:1px solid #b8cfb8}.detail-booking-actions[hidden]{display:none!important}.detail-booking-actions a{display:inline-block;padding:12px 18px;background:#28563b;color:white;text-decoration:none;border-radius:24px;font-weight:600}.detail-booking-actions a:focus-visible{outline:3px solid #638d6c;outline-offset:3px}.detail-booking-actions p{margin:12px 0 0;font-size:.85rem}

/* Camperwiesen partner onboarding */
.partner-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}.partner-options article{border:1px solid rgba(55,87,64,.2);border-radius:18px;padding:20px;background:#f5f8f2;color:#233b2c}.partner-options h3{margin:0 0 10px}.partner-options p{line-height:1.55}.partner-request{margin-top:22px;padding:24px;border:1px solid rgba(55,87,64,.22);border-radius:20px}.partner-request-form{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;max-width:760px}.partner-request-form label{font-weight:600;align-self:end}.partner-request-form input,.partner-request-form select,.partner-request-form textarea{grid-column:1/-1;width:100%;box-sizing:border-box;border:1px solid #8c9e90;border-radius:9px;padding:12px;background:#fff;color:#1f3328;font:inherit}.partner-request-form button{grid-column:1/-1;border:0;border-radius:10px;padding:13px 20px;background:#315b3f;color:#fff;font:inherit;cursor:pointer}.partner-request-form button:focus-visible{outline:3px solid #9cbd8d;outline-offset:3px}.partner-request-form #cw-partner-feedback{grid-column:1/-1}.partner-request-note{font-size:.85rem;opacity:.8}@media(max-width:720px){.partner-options{grid-template-columns:1fr}.partner-request{padding:16px}.partner-request-form{grid-template-columns:1fr}}


/* Partner layout repair: original .partner grid was built for exactly two children. */
.partner.section-shell{display:block;max-width:1200px;margin-inline:auto;padding-block:clamp(60px,8vw,110px)}
.partner.section-shell > :first-child{max-width:760px;margin-bottom:clamp(28px,4vw,48px)}
.partner.section-shell > :first-child h2{margin-bottom:18px}
.partner.section-shell > :first-child p:last-child{max-width:65ch}
.partner.section-shell .partner-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,22px);margin:0 0 clamp(28px,4vw,48px);align-items:stretch}
.partner.section-shell .partner-options article{min-width:0;display:flex;flex-direction:column;gap:8px;padding:clamp(18px,2.5vw,28px);margin:0}
.partner.section-shell .partner-options article h3{margin:0}
.partner.section-shell .partner-options article p{margin:0;font-size:clamp(15px,1.5vw,17px);line-height:1.6}
.partner.section-shell .partner-options article p:last-child{margin-top:auto;padding-top:14px}
.partner.section-shell .partner-request{margin:0;max-width:900px;box-sizing:border-box;padding:clamp(20px,3vw,36px)}
.partner.section-shell .partner-request > p{max-width:70ch}
.partner.section-shell .partner-request-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 20px;max-width:none}
.partner.section-shell .partner-request-form label{grid-column:1/-1;margin-top:6px;align-self:end;font-size:15px}
.partner.section-shell .partner-request-form input,.partner.section-shell .partner-request-form select,.partner.section-shell .partner-request-form textarea{grid-column:1/-1;min-width:0;max-width:100%}
.partner.section-shell .partner-request-form button{justify-self:start}
@media(max-width:850px){.partner.section-shell .partner-options{grid-template-columns:1fr}.partner.section-shell .partner-options article p:last-child{margin-top:0}}
@media(max-width:600px){.partner.section-shell{padding-block:60px}.partner.section-shell .partner-request-form{grid-template-columns:minmax(0,1fr)}.partner.section-shell .partner-request-form button{justify-self:stretch;width:100%}}

.partner.section-shell .partner-options .partner-choose{margin-top:auto;display:block;width:100%;padding:12px 14px;border:1px solid #315b3f;border-radius:10px;background:#315b3f;color:#fff;font:inherit;font-weight:600;cursor:pointer}.partner.section-shell .partner-options .partner-choose:hover{background:#244730}.partner.section-shell .partner-options .partner-choose:focus-visible{outline:3px solid #9cbd8d;outline-offset:3px}.partner.section-shell .partner-options article p:last-of-type{margin-top:auto;padding-top:14px}.partner.section-shell .partner-options article{gap:14px}
