/* Taste refinement: preserve the brand, show the work, keep movement purposeful. */
.office-banner{height:164px}.business-logo{width:140px;margin:-28px auto 5px}.brand-intro{padding-bottom:24px}.community-line{font-size:16px}
.home-main{grid-template-columns:.82fr 1.18fr;gap:56px;align-items:center;padding-bottom:34px}.home-intro h1{font-size:clamp(48px,4.5vw,64px);line-height:1.02}.home-intro .lead{font-size:20px}.home-intro .actions{align-items:flex-start;flex-direction:column;gap:8px}.home-services{padding:0;border:0}.home-services h2{font-family:"Barlow Condensed",sans-serif;font-size:30px;color:var(--ink);margin-bottom:6px}.category-intro{font-size:15px;color:var(--muted);margin-bottom:16px}.category-grid{grid-template-columns:1fr 1fr;gap:16px}.category-link{display:block;padding:0;background:transparent;border:0;border-radius:0}.category-image{overflow:hidden;border-radius:8px;background:var(--surface)}.category-image img{width:100%;height:148px;object-fit:cover}.category-copy{position:relative;padding:12px 24px 4px 0}.category-link h3{font-size:26px;margin-bottom:5px}.category-link p{font-size:14px;line-height:1.35}.category-copy>span{position:absolute;right:0;top:12px;color:var(--highlight)}.category-link:hover{background:transparent}.category-link:focus-visible{outline-offset:5px}
.service-finder{margin-bottom:40px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.service-finder>summary{display:flex;align-items:center;justify-content:space-between;list-style:none;min-height:68px;font-size:19px;font-weight:600}.service-finder summary::-webkit-details-marker{display:none}.service-finder[open]>summary .disclosure-mark{transform:rotate(45deg)}.finder-body{padding:4px 0 24px}.finder-body>h2{font-size:32px;margin-bottom:10px}.finder-body>p{color:var(--muted);font-size:17px}.finder-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}.finder-choice{min-width:0;border:1px solid var(--border);background:var(--surface);border-radius:8px}.finder-choice>summary{list-style:none;min-height:64px;display:flex;align-items:center;padding:14px 16px;font-size:16px;font-weight:600}.finder-choice>summary:after{content:'+';color:var(--highlight);margin-left:auto;padding-left:12px}.finder-choice[open]>summary:after{content:'Ã¢Ë†â€™'}.finder-choice[open]{border-color:var(--highlight)}.finder-choice[open]>summary{color:var(--highlight)}.finder-results{padding:0 16px 12px}.finder-count{font-size:13px;color:var(--muted);margin:0 0 8px}.finder-results a{display:flex;gap:12px;align-items:center;justify-content:space-between;min-height:46px;padding:8px 0;font-size:16px;text-decoration:none}.finder-results a:hover{color:var(--highlight)}.finder-results a>span{color:var(--highlight)}.finder-body>.text-link{margin-top:14px}
.featured-gallery{display:grid;gap:24px}.featured-gallery.is-enhanced{display:block}.featured-gallery.is-enhanced .photo-open img{height:360px;max-height:none;aspect-ratio:auto;object-fit:contain;background:#080808}.featured-gallery.is-enhanced .service-photo figcaption{min-height:69px}.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.gallery-controls button{width:46px;min-height:44px;border:1px solid var(--border);border-radius:8px;color:var(--ink);background:var(--surface)}.gallery-controls span{font-size:14px;color:var(--muted)}.gallery-controls button:hover{background:var(--elevated)}.gallery-thumbnails{position:relative;display:flex;gap:10px;overflow-x:auto;padding:8px 4px 10px;margin:6px -4px 0;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.gallery-thumb{width:72px;height:60px;flex:0 0 72px;border:2px solid transparent;border-radius:6px;padding:3px;background:#080808;opacity:.65}.gallery-thumb img{width:100%;height:100%;object-fit:contain}.gallery-thumb[aria-pressed=true]{border-color:var(--highlight);opacity:1}.gallery-thumb:hover,.gallery-thumb:focus-visible{opacity:1}.image-dialog .gallery-thumb{padding:3px}.featured-gallery,#image-full{touch-action:pan-y pinch-zoom}.image-dialog>img{height:min(55dvh,580px)}.dialog-thumbnails{justify-content:flex-start}.service-media{padding:20px}.service-media>h2{font-size:28px}.service-hero{gap:48px}.service-copy>.lead{font-size:23px;line-height:1.5}.service-copy .button{margin-top:4px}.service-copy h1{font-size:clamp(44px,4.5vw,60px)}.service-copy{align-self:start}.prepare-list{list-style:disc}.prepare-disclosure>p{max-width:560px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.category-image img{transition:transform .32s ease}.category-link:hover .category-image img{transform:scale(1.035)}}
@media(prefers-reduced-motion:no-preference){.button,.category-link,.gallery-thumb,.gallery-controls button{transition:transform .16s ease,background-color .16s ease,border-color .16s ease,opacity .16s ease}.button:active,.gallery-controls button:active,.gallery-thumb:active{transform:scale(.97)}.site-header nav.is-open{animation:menu-enter .18s ease-out}.finder-results,.featured-gallery.is-enhanced .service-photo:not([hidden]){animation:content-enter .2s ease-out}.image-dialog[open]{animation:content-enter .18s ease-out}@keyframes menu-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes content-enter{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:1000px){.home-main{gap:32px}.category-image img{height:125px}.category-link h3{font-size:24px}.finder-options{grid-template-columns:1fr 1fr}.service-hero{gap:28px}.featured-gallery.is-enhanced .photo-open img{height:320px}}
@media(max-width:767px){.office-banner{height:126px}.business-logo{width:124px;margin-top:-24px;margin-bottom:4px}.brand-intro{padding-bottom:16px}.community-line{font-size:14px;max-width:290px;line-height:1.3}.home-main{display:block;padding-bottom:26px}.home-intro h1{font-size:40px;margin-bottom:10px;max-width:100%}.home-intro .lead{font-size:17px;line-height:1.45;margin-bottom:14px}.home-intro .actions{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.home-intro .button{font-size:16px;padding-inline:16px}.home-intro .text-link{font-size:14px;max-width:130px;line-height:1.3}.home-services{padding:22px 0 0}.home-services h2{font-size:28px}.category-intro{font-size:14px;margin-bottom:12px}.category-grid{gap:18px 12px}.category-image img{height:108px}.category-link h3{font-size:23px}.category-link p{font-size:12px;line-height:1.4}.category-copy{padding-top:9px;padding-right:16px}.category-copy>span{top:8px;font-size:16px}.service-finder{margin-bottom:26px}.service-finder>summary{font-size:17px;min-height:60px}.finder-body>h2{font-size:28px}.finder-body>p{font-size:16px}.finder-options{grid-template-columns:1fr;gap:8px}.finder-choice>summary{min-height:52px}.service-copy>.lead{font-size:20px;line-height:1.45}.service-copy h1{font-size:42px;margin-bottom:16px}.service-copy .button{width:100%}.service-media{padding:16px}.service-media>h2{font-size:27px;margin-bottom:14px}.featured-gallery.is-enhanced .photo-open img{height:265px}.featured-gallery.is-enhanced .service-photo figcaption{min-height:0}.gallery-thumb{width:64px;flex-basis:64px;height:56px}.image-dialog>img{height:47dvh}.prepare-disclosure summary h2{font-size:28px}.breadcrumbs{margin-bottom:16px}}
@media(max-width:360px){.office-banner{height:112px}.business-logo{width:112px}.home-intro h1{font-size:36px}.home-intro .actions{gap:10px}.home-intro .button{padding-inline:12px;gap:12px}.home-intro .text-link{max-width:105px}.category-image img{height:94px}.category-link h3{font-size:21px}.category-link p{font-size:12px}.featured-gallery.is-enhanced .photo-open img{height:230px}.image-dialog-top h2{font-size:21px}.image-dialog{padding:12px}.image-dialog-controls button{font-size:14px}}
/* Verified Google review snapshot: compact on mobile, no third-party widget. */
.google-reviews{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;padding-top:36px;padding-bottom:44px;border-top:1px solid var(--border);scroll-margin-top:100px}.review-summary h2{font-size:36px;margin-bottom:16px}.review-summary .eyebrow{margin-bottom:10px}.review-rating{display:flex;gap:18px;align-items:center}.review-rating>strong{font-size:42px;line-height:1.1}.rating-max{font-size:18px;color:var(--muted);font-weight:400}.review-stars{color:#ffffff;font-size:24px;letter-spacing:2px;white-space:nowrap}.review-count{margin:8px 0 12px;color:var(--muted)}.review-checked{font-size:12px;color:var(--muted);margin:12px 0 0}.review-quotes{align-self:center;min-width:0}.google-review{margin:0;border-left:1px solid var(--highlight);padding:8px 0 8px 28px}.google-review blockquote{margin:0}.google-review blockquote p{font-size:22px;line-height:1.55;margin:0 0 20px}.google-review figcaption{display:flex;flex-direction:column;gap:5px}.google-review figcaption strong{font-size:17px}.google-review figcaption a{font-size:14px;color:var(--muted);text-underline-offset:4px}.google-review figcaption a:hover{color:var(--highlight)}
@media(max-width:767px){.google-reviews{grid-template-columns:1fr;gap:24px;padding-top:26px;padding-bottom:30px;scroll-margin-top:84px}.review-summary h2{font-size:30px;margin-bottom:12px}.review-rating>strong{font-size:36px}.review-stars{font-size:22px}.google-review{padding-left:18px}.google-review blockquote p{font-size:19px;margin-bottom:14px}}
/* FAQ: separate destination, short answers and native keyboard-accessible disclosures. */
.faq-top h1{max-width:780px}.faq-top .lead{max-width:710px}.faq-topics{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.faq-topics a{border:1px solid var(--border);border-radius:6px;padding:10px 14px;font-size:15px;text-decoration:none;min-height:44px;display:flex;align-items:center}.faq-topics a:hover{background:var(--surface);color:var(--highlight)}.faq-sections{max-width:1040px;padding-bottom:60px}.faq-group{margin-bottom:38px}.faq-group h2{font-size:32px;margin-bottom:16px;scroll-margin-top:106px}.faq-item{border-top:1px solid var(--border);scroll-margin-top:106px}.faq-item:last-child{border-bottom:1px solid var(--border)}.faq-item summary{list-style:none;display:flex;gap:24px;align-items:center;justify-content:space-between;padding:20px 0;font-size:19px;font-weight:600;line-height:1.4;cursor:pointer}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary>span{font-weight:400;font-size:24px;color:var(--highlight);flex-shrink:0}.faq-item[open] summary>span{transform:rotate(45deg)}.faq-item[open] summary{color:var(--highlight)}.faq-answer{padding:0 42px 24px 0;max-width:850px}.faq-answer>p{font-size:18px;line-height:1.65;color:var(--muted);margin:0 0 16px}.faq-related{display:flex;flex-wrap:wrap;gap:10px 22px}.faq-related a{font-size:16px;color:var(--highlight);text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center;gap:8px}.faq-answer .faq-reference{font-size:14px}.faq-reference a{color:var(--muted);text-underline-offset:4px}.faq-top{padding-bottom:34px}.faq-topics a:focus-visible,.faq-item summary:focus-visible{outline:2px solid var(--highlight);outline-offset:4px}
@media(max-width:767px){.faq-top h1{font-size:42px}.faq-top .lead{font-size:19px}.faq-topics{gap:8px;margin-top:20px}.faq-topics a{font-size:14px;padding:9px 12px}.faq-top{padding-bottom:28px}.faq-group{margin-bottom:30px}.faq-group h2{font-size:28px;scroll-margin-top:86px}.faq-item{scroll-margin-top:86px}.faq-item summary{font-size:17px;padding:17px 0;gap:16px}.faq-answer{padding:0 0 20px}.faq-answer>p{font-size:17px}.faq-related{gap:6px 16px}.faq-sections{padding-bottom:30px}}
.reviews-top{padding-bottom:26px}.reviews-top+.google-reviews{padding-top:28px;padding-bottom:56px}.reviews-top h1{margin-bottom:14px}.reviews-top .lead{margin-bottom:0}
@media(max-width:767px){.reviews-top+.google-reviews{padding-top:24px;padding-bottom:32px}}
.home-rating-wrap{width:170px;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:-20px;margin-bottom:22px;transform:translateY(-10px)}.home-rating{width:132px;height:132px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid var(--highlight);border-radius:50%;background:var(--surface);text-decoration:none;box-shadow:inset 0 0 0 5px var(--bg)}.home-rating-label{font-size:13px;font-weight:600;line-height:1.3}.home-rating>strong{font-size:36px;line-height:1.05}.home-rating-stars{color:#ffffff;font-size:16px;letter-spacing:1px;line-height:1.1;white-space:nowrap}.home-rating-count{font-size:12px;color:var(--muted)}.home-rating-count>span{color:var(--highlight);margin-left:3px}.home-rating-meta{font-size:10px;color:var(--muted);line-height:1.4;text-align:center}.home-rating:hover{background:var(--elevated)}.home-rating:focus-visible{outline:2px solid var(--highlight);outline-offset:5px}
@media(max-width:767px){.home-rating-wrap{width:150px;margin-top:-6px;margin-bottom:14px;transform:none;gap:6px}.home-rating{width:116px;height:116px}.home-rating>strong{font-size:32px}.home-rating-label{font-size:12px}.home-rating-stars{font-size:15px}.home-rating-count{font-size:11px}}

/* Bounded bus background; branding and rating paired below it. */
.brand-hero{position:relative;isolation:isolate;height:460px;margin-bottom:34px;overflow:hidden;background:var(--bg)}
.brand-hero .office-banner{position:absolute;inset:0;height:100%;margin:0;z-index:-2;background:var(--bg)}
.brand-hero .office-banner:before{background:linear-gradient(#080808bb,#080808dd),url("assets/bus-office-display.webp") center 50%/cover;filter:blur(16px)}
.brand-hero .office-banner img{height:100%;width:100%;object-fit:contain;object-position:center}
.brand-hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#08080866 0%,#0808081a 40%,#08080833 72%,#080808 100%)}
.brand-hero .brand-intro{height:100%;padding:20px 0 24px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}
.brand-hero .community-line{color:var(--highlight);text-shadow:0 2px 6px #000;max-width:650px}
@media(max-width:767px){.brand-hero{height:350px;margin-bottom:28px}.brand-hero .brand-intro{padding:12px 0 18px}.brand-hero .community-line{max-width:290px}.brand-hero .office-banner img{object-position:center 35%}}
@media(max-width:360px){.brand-hero{height:320px}.brand-hero .community-line{max-width:270px}}

.home-identity{display:grid;grid-template-columns:170px minmax(0,1fr);align-items:start;gap:24px;margin:0 0 22px}
.home-identity .home-rating-wrap{margin:0;transform:none}
.home-identity .business-logo{width:140px;max-width:100%;height:auto;margin:0 auto;filter:drop-shadow(0 3px 8px #0005)}
@media(max-width:767px){.home-identity{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:18px}.home-identity .home-rating-wrap{width:150px;justify-self:center}.home-identity .business-logo{width:124px}}
@media(max-width:360px){.home-identity{gap:12px}.home-identity .business-logo{width:112px}}
/* Homepage character: a short bus arrival, seasonal note, and illustrated finder. */
.bus-feature{margin:-8px 0 14px}
.bus-lane{height:108px;position:relative;overflow:hidden;border-bottom:1px solid var(--border);contain:layout paint}
.little-bus{position:absolute;width:166px;height:104px;bottom:0;right:90px}
.bus-sketch{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 1px 1px #0004)}
.bus-replay{display:flex;align-items:center;gap:7px;margin:0 0 0 auto;min-height:44px;padding:7px 4px;background:transparent;border:0;color:var(--highlight);font:inherit;font-size:13px;cursor:pointer}
.bus-replay[hidden]{display:none}.bus-replay:disabled{opacity:.5;cursor:default}.bus-replay:hover:not(:disabled){text-decoration:underline;text-underline-offset:4px}.bus-replay:focus-visible{outline:2px solid var(--highlight);outline-offset:2px}
.fix-finder{padding-top:26px;padding-bottom:34px;border-top:1px solid var(--border)}
.fix-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.fix-heading h2{font-size:34px;margin:0 0 6px}.fix-heading p{font-size:16px;color:var(--muted);margin:0}
.fix-heading>.text-link{flex-shrink:0;font-size:16px}
.illustrated-choice>summary{min-height:100px;gap:12px;font-size:17px}
.illustrated-choice>summary>img{width:32px;height:32px;flex-shrink:0;filter:brightness(0) invert(1)}
.illustrated-choice>summary:after{padding-left:0}.illustrated-choice .finder-results a{font-size:15px;line-height:1.35}
.illustrated-choice>summary:focus-visible{outline:2px solid var(--highlight);outline-offset:4px;border-radius:8px}
.season-note{display:flex;align-items:center;gap:14px;position:relative;margin-top:22px;border-top:1px solid var(--border);padding:18px 0 0;text-decoration:none}
.season-art{position:relative;align-self:stretch;width:46px;flex:0 0 46px;display:grid;place-items:center;overflow:hidden}
.season-symbol{filter:brightness(0) invert(1)}
.season-copy{display:flex;flex-direction:column;gap:3px}.season-copy small{font-size:12px;letter-spacing:.03em;color:var(--muted)}
.season-copy strong{font-size:17px;font-weight:600;line-height:1.3}.season-cta{color:var(--highlight);font-size:14px}
.season-note:hover .season-cta{text-decoration:underline;text-underline-offset:4px}
.season-particles{position:absolute;inset:0;pointer-events:none}.season-particles i{position:absolute;top:0;left:6px;width:9px;height:13px;background:var(--highlight);border-radius:9px 0 9px 0;opacity:0}
.season-particles i:nth-child(2){left:29px}.season-particles i:nth-child(3){left:16px}
.season-note[data-season=winter] .season-particles i{width:5px;height:5px;border-radius:50%;background:#ffffff}
.season-note[data-season=spring] .season-particles i{background:#d0d0d0}
.season-note[data-season=summer] .season-particles{display:none}
@media(prefers-reduced-motion:no-preference){
.bus-lane.is-arriving .little-bus{animation:bus-arrive 3.6s cubic-bezier(.22,.68,.35,1) both}
.bus-lane.is-arriving .bus-sketch{animation:bus-settle 3.6s ease both}
.season-note.season-animate .season-particles i{animation:season-drift 3s ease-out both}
.season-note.season-animate .season-particles i:nth-child(2){animation-delay:.4s}
.season-note.season-animate .season-particles i:nth-child(3){animation-delay:.8s}
@keyframes bus-arrive{from{transform:translateX(var(--bus-start,-500px))}to{transform:translateX(0)}}
@keyframes bus-settle{0%,25%,50%,75%,100%{transform:translateY(0)}20%,45%,65%{transform:translateY(-1px)}85%{transform:rotate(-1deg)}92%{transform:rotate(1deg)}}
@keyframes season-drift{0%{opacity:0;transform:translate(-3px,-8px) rotate(0)}15%{opacity:.7}70%{opacity:.5}100%{opacity:0;transform:translate(10px,65px) rotate(160deg)}}
}
@media(max-width:1000px){.fix-finder .finder-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.bus-feature{margin:-6px 0 12px}.bus-lane{height:100px}.little-bus{width:154px;height:96px;right:88px}.fix-finder{padding-top:22px;padding-bottom:26px}.fix-heading{align-items:flex-start;gap:12px}.fix-heading h2{font-size:29px}.fix-heading p{font-size:14px;max-width:240px}.fix-heading>.text-link{font-size:14px;max-width:none;white-space:nowrap;line-height:1.4}.fix-finder .finder-options{gap:12px}.illustrated-choice>summary{position:relative;min-height:112px;flex-direction:column;align-items:flex-start;gap:10px;padding:14px;font-size:15px}.illustrated-choice>summary:after{position:absolute;top:16px;right:14px}.illustrated-choice .finder-results{padding:0 14px 12px}.illustrated-choice .finder-results a{font-size:14px}.season-note{margin-top:18px;padding-top:16px}.season-copy strong{font-size:16px}}

.parking-campfire{position:absolute;right:5px;bottom:0;width:72px;height:72px;object-fit:contain;object-position:center bottom;pointer-events:none}

/* Closed on arrival; the open-door drawing is revealed after parking. */
.bus-sketch{position:absolute;inset:0}
.bus-open{opacity:1}.bus-closed{opacity:0}
.bus-lane.is-arriving .bus-open{opacity:0;transition:none}
.bus-lane.is-arriving .bus-closed{opacity:1;transition:none}
@media(prefers-reduced-motion:no-preference){.bus-open,.bus-closed{transition:opacity .45s ease .2s}}

/* Align the desktop service introduction with the main headline. */
.home-intro-top,.home-intro-copy{display:contents}
@media(min-width:768px){
 .home-main{align-items:start;row-gap:0}
 .home-intro{display:contents}
 .home-intro-top{display:block;grid-column:1 / -1;grid-row:1}
 .home-intro-copy{display:block;grid-column:1;grid-row:2}
 .home-services{grid-column:2;grid-row:2;align-self:start}
}

/* Center the homepage logo and the bus parking point; no rating badge. */
.home-identity{display:flex;justify-content:center;gap:0}
.little-bus{right:calc(50% - 83px)}
.parking-campfire{right:auto;left:calc(50% + 97px)}
.bus-replay{margin-inline:auto}
@media(max-width:767px){
 .little-bus{right:calc(50% - 77px)}
 .parking-campfire{left:calc(50% + 91px)}
}
@media(max-width:360px){
 .little-bus{width:120px;right:calc(50% - 60px)}
 .parking-campfire{left:calc(50% + 72px)}
}

/* Large-logo hero replaces the real bus photograph. */
.brand-hero.logo-hero{height:auto;margin-bottom:20px;overflow:visible}
.brand-hero.logo-hero:after{content:none}
.logo-hero .brand-intro{height:auto;padding:24px 0 16px;justify-content:flex-start;gap:16px}
.logo-hero .business-logo{width:420px;max-width:100%;height:auto;margin:0 auto;filter:drop-shadow(0 3px 8px #0005)}
.logo-hero .community-line{text-shadow:none}
@media(max-width:767px){
 .brand-hero.logo-hero{height:auto;margin-bottom:18px}
 .logo-hero .brand-intro{padding:20px 0 12px;gap:14px}
 .logo-hero .business-logo{width:372px}
}
@media(max-width:360px){.logo-hero .business-logo{width:336px}}

/* The service bus arrives beside the Lake Adventure entrance sign. */
.bus-feature{margin:0 0 24px}
.bus-lane{height:300px;max-width:1000px;margin-inline:auto}
.parking-sign{position:absolute;left:calc(50% + 84px);bottom:6px;width:240px;height:auto;pointer-events:none}
.little-bus{width:clamp(220px,30vw,320px);height:auto;aspect-ratio:2;left:calc(50% - 330px);right:auto;bottom:0;z-index:1}
@media(max-width:767px){
 .bus-feature{margin-bottom:20px}
 .bus-lane{height:clamp(140px,32vw,180px);max-width:500px}
 .parking-sign{width:min(124px,40%);left:auto;right:0;bottom:0}
 .little-bus{width:min(220px,48%);height:auto;left:0;right:auto;bottom:0}
}

/* Monochrome refinement: preserve the approved composition and real photography. */
html{scrollbar-color:#707070 var(--bg)}
input,textarea{caret-color:var(--ink)}
.site-header nav>.button:hover{color:var(--bg)}
.button:not(.secondary):not(:disabled):focus-visible{outline-color:var(--ink);outline-offset:5px}
.mobile-nav a[aria-current]{background:var(--ink);color:var(--bg)}
.mobile-nav a[aria-current]:hover{background:var(--accent-hover)}
.bus-sketch{filter:grayscale(1) drop-shadow(0 1px 1px #0004)}
.parking-sign{filter:grayscale(1)}
.bus-lane:after{content:"";position:absolute;inset:auto 0 -1px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;pointer-events:none}

/* A service visit is the focal sequence; controls supply short, direct feedback. */
@media(prefers-reduced-motion:no-preference){
 .bus-lane.is-arriving:after{animation:arrival-route 3.6s cubic-bezier(.22,.68,.35,1) both}
 .bus-replay>span{transition:transform .45s cubic-bezier(.16,1,.3,1)}
 .bus-replay:hover:not(:disabled)>span{transform:rotate(-90deg)}
 .button>span,.category-copy>span,.service-row>span:last-child,.related-links a>span,.finder-results a>span{transition:transform .25s cubic-bezier(.16,1,.3,1)}
 .button:hover>span,.button:focus-visible>span,.category-link:hover .category-copy>span,.category-link:focus-visible .category-copy>span{transform:translate(3px,-3px)}
 .service-row:hover>span:last-child,.related-links a:hover>span,.finder-results a:hover>span{transform:translateX(4px)}
 .disclosure-mark,.faq-item summary>span{transition:transform .24s cubic-bezier(.16,1,.3,1)}
 .illustrated-choice>summary:after{content:'+';transition:transform .24s cubic-bezier(.16,1,.3,1)}
 .illustrated-choice[open]>summary:after{transform:rotate(45deg)}
 .category-image img{transition:transform .45s cubic-bezier(.16,1,.3,1)}
 .category-link:focus-visible .category-image img{transform:scale(1.035)}
 .featured-gallery.is-enhanced .service-photo:not([hidden]){animation:photo-change .3s cubic-bezier(.16,1,.3,1)}
 .faq-item[open] .faq-answer{animation:answer-enter .22s ease-out}
 @keyframes arrival-route{0%{transform:scaleX(0);opacity:0}12%{opacity:.8}85%{transform:scaleX(1);opacity:.8}100%{transform:scaleX(1);opacity:0}}
 @keyframes photo-change{from{opacity:.55;clip-path:inset(0 2% 0 0)}to{opacity:1;clip-path:inset(0)}}
 @keyframes answer-enter{from{opacity:.5}to{opacity:1}}
}
@media(min-width:1001px) and (prefers-reduced-motion:no-preference){
 .site-header nav>a:not(.button){position:relative;text-decoration:none}
 .site-header nav>a:not(.button):after{content:"";position:absolute;bottom:7px;left:0;right:0;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .24s cubic-bezier(.16,1,.3,1)}
 .site-header nav>a[aria-current]:after,.site-header nav>a:hover:after,.site-header nav>a:focus-visible:after{transform:scaleX(1)}
}
/* Native details still work without animation support or JavaScript. */
@supports(interpolate-size:allow-keywords){
 @media(prefers-reduced-motion:no-preference){
  .has-interactions .finder-choice,.has-interactions .service-group{interpolate-size:allow-keywords}
  .has-interactions .finder-choice::details-content,.has-interactions .service-group::details-content{block-size:0;overflow:clip;transition:block-size .25s cubic-bezier(.16,1,.3,1),content-visibility .25s allow-discrete}
  .has-interactions .finder-choice[open]::details-content,.has-interactions .service-group[open]::details-content{block-size:auto}
 }
}
@view-transition{navigation:auto}
/* A single, readable service list for Lake Adventure residents. */
.simple-home{max-width:900px;padding-top:16px;padding-bottom:64px}
.simple-home-intro{margin-bottom:40px}
.simple-home .button{font-size:20px;min-height:54px}
.simple-home-intro h1{font-size:clamp(36px,4vw,52px);line-height:1.12;max-width:none}
.simple-home-intro .lead{margin:16px 0 24px}
.simple-home-services h2{font-size:36px;margin:0 0 8px}
.service-list-help{color:var(--muted);margin:0 0 20px;font-size:20px}
.simple-service-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}
.simple-service-list>li{border-bottom:1px solid var(--border)}
.simple-service-link,.simple-service-group{display:flex;align-items:center;gap:24px;padding:18px 8px;min-height:104px}
.simple-service-link{color:var(--ink);text-decoration:none}
.service-sketch{filter:grayscale(1);width:72px;height:72px;object-fit:contain;flex:0 0 72px}
.simple-service-label{min-width:0;font-size:24px;line-height:1.35}
.simple-service-label .service-name{font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.simple-service-label h3{font:600 24px/1.35 "Source Sans 3",sans-serif;margin:0}
.simple-service-detail{display:block;font-size:18px;color:var(--muted);margin-top:6px}
.simple-service-options{display:flex;flex-wrap:wrap;column-gap:24px;margin-top:2px}
.simple-service-options a{display:inline-flex;align-items:center;min-height:44px;font-size:21px;text-decoration:underline;text-underline-offset:5px}
.simple-service-link:hover{background:var(--surface)}
.simple-service-link:focus-visible,.simple-service-options a:focus-visible{outline:2px solid white;outline-offset:-2px}
.simple-home-contact{padding-top:40px;display:flex;flex-wrap:wrap;align-items:center;gap:20px}
.simple-home-contact h2{width:100%;margin:0;font-size:30px}
@media(max-width:600px){
 .simple-home{padding-top:8px;padding-bottom:40px}
 .simple-home-intro{margin-bottom:32px}
 .simple-home-intro .lead{font-size:21px}
 .simple-home-intro .button,.simple-home-contact .button{width:100%;justify-content:center}
 .simple-home-services h2{font-size:32px}
 .simple-service-link,.simple-service-group{gap:18px;padding:16px 0;min-height:94px}
 .service-sketch{width:60px;height:60px;flex-basis:60px}
 .simple-service-label,.simple-service-label h3{font-size:22px}
 .simple-service-options{column-gap:20px}
 .simple-service-options a{font-size:20px}
 .simple-service-detail{font-size:17px}
}
::view-transition-old(root),::view-transition-new(root){animation-duration:.18s}
@media(prefers-reduced-motion:reduce){
 @view-transition{navigation:none}
 .bus-lane:after{display:none}
}



/* Direct product-line link beneath the homepage phone button. */
.product-line-link{display:flex;align-items:center;gap:24px;width:fit-content;max-width:100%;min-height:48px;margin-top:16px;font-size:22px;line-height:1.4;font-weight:600;text-decoration:underline;text-underline-offset:5px}
.product-line-link:hover{color:var(--muted)}
.product-line-page{padding-bottom:64px}
.product-options-intro{max-width:650px;margin:36px 0 24px;padding-block:28px;border-block:1px solid var(--border)}
.product-options-intro h2{font-size:32px}
.product-options-intro p{font-size:20px;color:var(--muted)}
@media(max-width:600px){.product-line-link{font-size:21px}.product-options-intro .button{width:100%;font-size:20px}}

.product-line-link>span{min-width:0}
.product-line-rv{width:180px;height:auto;flex:0 0 auto;filter:grayscale(1)}
@media(max-width:600px){.product-line-link{gap:16px}.product-line-rv{width:118px}}
@media(max-width:360px){.product-line-rv{width:96px}}

/* A readable, locally hosted product photo catalog. */
.product-line-page{max-width:1000px}
.catalog-help{font-size:20px;max-width:680px;color:var(--muted)}
.catalog-jumps{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:28px;padding-block:16px;border-block:1px solid var(--border)}
.catalog-jumps a{display:flex;align-items:center;min-height:44px;font-size:20px}
.catalog-section{margin-top:48px;scroll-margin-top:100px}
.catalog-section>h2{font-size:38px;margin-bottom:24px}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 32px;list-style:none;padding:0;margin:0}
.catalog-option{min-width:0;padding-bottom:20px;border-bottom:1px solid var(--border)}
.catalog-option figure{margin:0}
.catalog-photo{display:block;text-decoration:none}
.catalog-photo-frame{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:var(--surface)}
.catalog-photo-frame img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.catalog-view{display:flex;align-items:center;min-height:44px;font-size:18px;text-decoration:underline}
.catalog-option-number{display:block;font-weight:600;font-size:20px;margin-top:8px}
.catalog-option h3{font-family:"Source Sans 3",Arial,sans-serif;font-size:23px;line-height:1.3;margin:6px 0 4px}
.catalog-ask{display:inline-flex;align-items:center;min-height:44px;font-size:18px}
.catalog-contact{margin-top:48px;padding-top:32px;border-top:1px solid var(--border)}
.catalog-contact .text-link{margin-left:24px}
.catalog-full-frame{display:flex;align-items:center;justify-content:center;min-height:120px}
.catalog-full-frame img{width:auto;height:auto;max-width:100%;max-height:60dvh;object-fit:contain}
.catalog-dialog #catalog-image-caption{font-size:18px}
.catalog-dialog-ask{margin-top:12px;font-size:20px}
@media(max-width:600px){
 .catalog-grid{grid-template-columns:1fr;gap:28px}
 .catalog-section>h2{font-size:32px}
 .catalog-section{margin-top:36px}
 .catalog-jumps{display:block}
 .catalog-jumps a{margin-block:4px}
 .catalog-contact .button{width:100%;font-size:20px}
 .catalog-contact .text-link{margin:16px 0 0}
 .catalog-dialog .image-dialog-top{align-items:flex-start;gap:12px}
 .catalog-dialog .image-dialog-top h2{font-size:24px}
}

/* Community link follows the sign; both controls remain outside the decorative lane. */
.bus-scene-links{position:relative;max-width:1000px;margin-inline:auto;min-height:64px}
.bus-scene-links .bus-replay{margin:0;position:absolute;left:calc(50% - 220px);top:0}
.lake-learn-link{display:flex;align-items:center;justify-content:center;min-height:56px;width:240px;margin-left:calc(50% + 84px);padding:8px 0;text-align:center;font-size:18px;line-height:1.4;text-decoration:underline;text-underline-offset:4px}
.lake-page{max-width:1100px;padding-bottom:56px}
.lake-page p{max-width:68ch}
.lake-page figure{margin:0}.lake-page figure img{display:block;width:100%;height:auto;border-radius:8px}
.lake-page figcaption{font-size:16px;color:var(--muted);margin-top:10px}
.lake-intro{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-top:40px}
.lake-intro h2{margin-top:0}.lake-page h3{font-size:26px;margin:0 0 12px}
.lake-recreation,.lake-visit,.lake-service{margin-top:48px;padding-top:32px;border-top:1px solid var(--border)}
.lake-photos{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:28px 0}
.lake-info-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:24px}
.lake-page address{font-style:normal;font-size:20px;line-height:1.7;margin-bottom:12px}
.lake-contact-link{display:block;width:fit-content;min-height:44px;padding:8px 0;text-decoration:underline;text-underline-offset:4px}
.lake-sources{margin-top:40px;padding-top:24px;border-top:1px solid var(--border);color:var(--muted)}
.lake-sources p{font-size:16px}.lake-sources a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:767px){
 .bus-scene-links{max-width:500px;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
 .bus-scene-links .bus-replay{position:static;justify-self:center;grid-column:1;grid-row:1}
 .lake-learn-link{grid-column:2;grid-row:1;margin:0;justify-self:end;width:100%;max-width:180px;font-size:16px}
 .lake-intro,.lake-info-columns{grid-template-columns:1fr;gap:24px}
 .lake-intro{margin-top:28px}.lake-intro figure{max-width:560px}
 .lake-recreation,.lake-visit,.lake-service{margin-top:36px;padding-top:24px}
}
@media(max-width:600px){.lake-photos{grid-template-columns:1fr;gap:24px}}

#services{scroll-margin-top:120px}

.service-videos{margin-top:32px;padding-top:24px;border-top:1px solid var(--border)}
.service-videos h2{font-size:28px;margin:0 0 20px}
.service-video{margin:0 0 28px}.service-video:last-child{margin-bottom:0}
.service-video video{display:block;width:100%;max-height:520px;object-fit:contain;background:#080808;border-radius:8px}
.service-video figcaption{padding:12px 0 0}.service-video h3{font-family:"Source Sans 3",sans-serif;font-size:20px;margin:0 0 6px}
.service-video p{font-size:17px;color:var(--muted);margin:0 0 4px}
.service-video a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px}

/* Separate seasonal service choices and the owner-provided process. */
.service-offering{margin-top:32px;padding-top:24px;border-top:1px solid var(--border)}.service-offering h2{font-size:30px;margin-bottom:10px}.service-offering p{font-size:18px;line-height:1.6}.service-process{padding-bottom:40px}.service-process>h2{font-size:36px}.service-process>p,.service-process ol{max-width:760px}.service-process ol{padding-left:28px;list-style:decimal}.service-process li{padding-left:8px;margin:24px 0}.service-process h3{font-size:26px;margin-bottom:6px}.service-process p{font-size:19px;line-height:1.65}.service-guarantee{border-top:1px solid var(--border);padding-top:22px}@media(max-width:767px){.service-process>h2{font-size:30px}.service-process h3{font-size:24px}.service-process p{font-size:18px}}
