/* Production public additions; base typography and section layouts match the approved demo. */
html:not(.js) .header-inner{height:108px;align-items:center;padding-block:0;flex-wrap:nowrap}html:not(.js) .site-nav{width:auto;order:0}
@media(max-width:1100px){html:not(.js) .header-inner{height:auto;padding-block:4px 9px;display:grid;grid-template-columns:1fr auto;gap:0 20px}html:not(.js) .site-nav{width:100%;grid-column:1/-1;grid-row:2}.site-header .demo-badge{display:block}.site-header .site-nav>ul{overflow-x:auto}.site-header .site-nav>ul>li{flex-shrink:0}}
.public-bottom{padding-bottom:90px}.public-bottom>p{margin-block:18px}.public-booking{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:64px;padding-bottom:100px}.public-booking>*,.reservation-steps{min-width:0}.reservation-steps{padding:30px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.reservation-steps h2{font-size:32px;margin-top:15px}.reservation-steps ol{list-style:none;padding:0;margin:30px 0;display:grid;gap:24px}.reservation-steps li strong{font-size:15px;font-weight:550;line-height:1.5}.reservation-steps li p{font-size:13px;margin-top:8px}.public-bottom>.reservation-steps{margin-top:40px}.review-note{font-size:12px;line-height:1.8;margin-block:20px}.preview-call{padding:28px;border:1px solid var(--line);border-radius:12px;margin-block:30px;background:var(--soft)}.preview-call h3{font-size:26px}.preview-call p{font-size:14px;margin:16px 0 22px}.rate-table-wrap{margin:28px 0 16px;border:1px solid var(--line);border-radius:10px;overflow:hidden}.rate-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.rate-table caption{text-align:left;background:var(--soft);padding:16px;font-weight:550;color:var(--ink)}.rate-table th,.rate-table td{padding:14px 16px;border-top:1px solid var(--line);font-weight:450}.rate-table thead th{font-size:12px;color:var(--muted)}.rate-table th[scope=row]{font-weight:550}.rate-note{font-size:12px;line-height:1.9;margin-bottom:28px}.public-lake-photo{overflow:hidden;border-radius:12px}.public-lake-photo img{width:100%;height:500px;object-fit:cover}.public-lake-photo figcaption{font-size:12px;color:var(--muted);padding-block:12px}.seasonal-call-note{font-size:12px!important;margin-top:18px}.site-footer .footer-photo-credits li span{color:inherit}.footer-photo-credits p{margin-top:16px}.guide-empty>p{max-width:640px}.public-booking .content-rule{margin-block:28px}.public-booking .content-rule>a{font-size:13px;text-decoration:underline;text-underline-offset:4px}.public-bottom a:not(.button),.public-booking>div>p a{ text-decoration:underline;text-underline-offset:3px} .site-nav{max-width:100%}
@media(max-width:800px){.public-booking{grid-template-columns:1fr;gap:32px;padding-bottom:65px}.public-bottom{padding-bottom:65px}.public-lake-photo img{height:350px}.reservation-steps{padding:25px}}
@media(max-width:540px){.site-header .site-nav{width:100%}.header-inner{min-width:0}.public-lake-photo img{height:260px}.public-booking .electronics-service-card h2{font-size:40px}.rate-table{font-size:12px}.rate-table th,.rate-table td{padding:12px}.reservation-steps h2{font-size:29px}.site-footer .footer-bottom p{overflow-wrap:anywhere}.seasonal-prices{margin-top:0}}
.sample-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border:1px solid var(--line);border-radius:12px}.sample-track>figure{flex:0 0 100%;min-width:0;scroll-snap-align:start;display:grid;grid-template-columns:1fr 1fr}.sample-track img{width:100%;height:450px;object-fit:cover}.sample-track figcaption{padding:40px;background:var(--soft);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:22px}.sample-track h2{font-size:35px}.sample-track p{font-size:15px}.sample-track .pill{white-space:normal}.sample-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:22px}.sample-controls p{margin-right:auto;font-size:13px}
@media(max-width:800px){.sample-track>figure{grid-template-columns:1fr}.sample-track img{height:300px}.sample-track figcaption{padding:25px}.sample-controls{flex-wrap:wrap}.sample-controls .button{padding:10px;font-size:12px}.sample-track h2{font-size:30px}}

/* Anonymous request forms share the existing editorial grid and lime actions. */
.request-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:clamp(24px,5vw,80px); padding-bottom:80px; align-items:start; }
.request-layout form { display:grid; gap:16px; }
.request-layout aside { min-width:0; }
.form-field { display:grid; gap:8px; min-width:0; }
.form-field label { font-weight:650; }
.form-field input,.form-field select,.form-field textarea { width:100%; min-width:0; border:1px solid #757970; border-radius:4px; padding:13px; font:inherit; color:#171a15; background:#fff; }
.form-field [aria-invalid=true] { border:2px solid #9e3028; }
.field-error { color:#8a241e; margin:0; font-weight:600; }
.form-notice { padding:20px; border:2px solid #52662b; background:#f2f6e8; margin-bottom:24px; overflow-wrap:anywhere; }
.form-notice h2 { font-size:1.3rem; }
.quote-summary { padding:24px; background:#f0f1eb; overflow-wrap:anywhere; }
.quote-summary h2 { font-size:1.6rem; }
.quote-summary dl { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; }
.quote-summary dd { margin:0; text-align:right; }
.request-layout button { cursor:pointer; font:inherit; }
.request-layout button:disabled { opacity:.5; cursor:not-allowed; }
.request-layout .button-row { flex-wrap:wrap; }
.recommendation-receipt { overflow-wrap:anywhere; }
@media(max-width:800px) { .request-layout { grid-template-columns:minmax(0,1fr); } .request-layout aside { grid-row:1; } .recommendation-layout aside { grid-row:auto; } }
@media(max-width:480px) { .recommendation-receipt h1 { font-size:32px; } }

.seasonal-readiness,.request-layout .content-rule{overflow-wrap:anywhere;min-width:0}
.sample-controls[hidden]{display:none}.sample-controls .button{min-height:44px;min-width:44px}.sample-track p{overflow-wrap:anywhere;white-space:pre-wrap}.sample-track:focus-visible{outline:3px solid var(--ink);outline-offset:5px}.sample-gallery .sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.sample-track img{object-fit:contain;background:var(--soft)}
