/* Lake Country RV — site styles. Tokens and components come from the Lake Country RV design system. */

/* ---------- Tokens ---------- */
:root{--birch:#faf6ee;--birch-deep:#f1e8d8;--card:#ffffff;--ink:#1f2a2e;--ink-muted:#56615f;--hairline:#ddd3c2;--hairline-strong:#8a8272;--sunset:#b8461c;--on-sunset:#ffffff;--sunset-bright:#ee7b39;--sunset-red:#ee5a31;--sun:#eec552;--lake:#0b4f73;--on-lake:#ffffff;--lake-bright:#1e63f0;--pine:#23392d;--on-pine:#f6efe2;--on-pine-muted:#bcc8bd;--focus:#0b4f73;--shadow-card:0 1px 2px rgba(31,42,46,0.06), 0 6px 18px rgba(31,42,46,0.08);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:72px;--space-9:112px;--radius-sm:4px;--radius-md:8px;--radius-lg:20px;--radius-round:999px;--measure:68ch;--container:1160px;--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-sans:"Source Sans 3", "Segoe UI", system-ui, sans-serif;}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--birch:#131b1e;--birch-deep:#1c272b;--card:#1c272b;--ink:#f1ebe0;--ink-muted:#a8b1ad;--hairline:#2e3b3f;--hairline-strong:#6f7a76;--sunset:#f08a52;--on-sunset:#131b1e;--sunset-bright:#ee7b39;--sunset-red:#ee5a31;--sun:#eec552;--lake:#86c1e3;--on-lake:#131b1e;--lake-bright:#528bff;--pine:#0e1714;--on-pine:#f6efe2;--on-pine-muted:#a8b8ab;--focus:#eec552;--shadow-card:0 1px 2px rgba(0,0,0,0.4), 0 6px 18px rgba(0,0,0,0.35);color-scheme:dark;}}
:root[data-theme="dark"]{--birch:#131b1e;--birch-deep:#1c272b;--card:#1c272b;--ink:#f1ebe0;--ink-muted:#a8b1ad;--hairline:#2e3b3f;--hairline-strong:#6f7a76;--sunset:#f08a52;--on-sunset:#131b1e;--sunset-bright:#ee7b39;--sunset-red:#ee5a31;--sun:#eec552;--lake:#86c1e3;--on-lake:#131b1e;--lake-bright:#528bff;--pine:#0e1714;--on-pine:#f6efe2;--on-pine-muted:#a8b8ab;--focus:#eec552;--shadow-card:0 1px 2px rgba(0,0,0,0.4), 0 6px 18px rgba(0,0,0,0.35);color-scheme:dark;}

/* ---------- Components ---------- */
/* Lake Country RV — component styles. Plain CSS, one class per part, meant to be dropped into
   app/assets/stylesheets and used from ERB partials. No JS needed except native <details>. */

.lc, .lc * { box-sizing: border-box; }
.lc { font-family: var(--font-sans); color: var(--ink); background: var(--birch); font-size: 17px; line-height: 28px; -webkit-font-smoothing: antialiased; }
.lc a { color: var(--lake); text-underline-offset: 3px; }
.lc a:hover { color: var(--sunset); }
.lc :focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; border-radius: var(--radius-sm); }
.lc-on-pine :focus-visible { outline-color: var(--sun); }
.lc-display { font-family: var(--font-display); font-variation-settings: "opsz" 96; }

.lc-eyebrow { display: block; margin: 0 0 var(--space-2); font: 700 13px/16px var(--font-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--lake); }
.lc-on-pine .lc-eyebrow { color: var(--sun); }

/* ---------- Button ---------- */
.lc-btn { display: inline-flex; align-items: center; gap: var(--space-2); min-height: 44px; padding: var(--space-3) 20px; border-radius: var(--radius-md); border: 2px solid transparent; font: 700 16px/20px var(--font-sans); text-decoration: none; cursor: pointer; white-space: nowrap; }
.lc .lc-btn { text-decoration: none; }
.lc-btn--primary { background: var(--sunset); color: var(--on-sunset); }
.lc .lc-btn--primary, .lc .lc-btn--primary:hover { color: var(--on-sunset); }
.lc-btn--primary:hover { filter: brightness(1.08); }
.lc-btn--secondary { background: transparent; color: var(--lake); border-color: var(--lake); }
.lc .lc-btn--secondary:hover { background: var(--lake); color: var(--on-lake); }
.lc-btn--on-pine { background: transparent; color: var(--on-pine); border-color: var(--on-pine); }
.lc .lc-btn--on-pine, .lc .lc-btn--on-pine:hover { color: var(--on-pine); }
.lc-btn--on-pine:hover { background: rgba(246,239,226,.12); }
.lc-btn svg { width: 18px; height: 18px; flex: none; }

/* ---------- TopBar ---------- */
.lc-topbar { background: var(--pine); color: var(--on-pine-muted); font-size: 14px; line-height: 20px; }
.lc-topbar__in { max-width: var(--container); margin: 0 auto; padding: var(--space-2) var(--space-6); display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); align-items: center; }
.lc .lc-topbar a { color: var(--on-pine); text-decoration: none; font-weight: 600; }
.lc .lc-topbar a:hover { color: var(--sun); }
.lc-topbar__dealer { margin-left: auto; color: var(--sun); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: 12px; }

/* ---------- SiteHeader ---------- */
.lc-header { background: var(--birch); border-bottom: 1px solid var(--hairline); }
.lc-header__in { max-width: var(--container); margin: 0 auto; padding: var(--space-3) var(--space-6); display: flex; align-items: center; gap: var(--space-5); }
/* the badge hangs below the bar: it sits top-aligned, and the negative margin keeps the bar's height set by the nav and CTA */
.lc-header__logo { 
  display: block; 
  align-self: flex-start; 
  margin-bottom: -70px; 
  filter: drop-shadow(0 6px 14px rgba(31,42,46,.28)); 
}
.lc-header__logo img { display: block; height: 50px; width: auto; }

.lc-nav { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-4); margin: 0; padding: 0; list-style: none; }
.lc .lc-nav a { color: var(--ink); text-decoration: none; font: 700 16px/20px var(--font-sans); padding: var(--space-2) 0; border-bottom: 2px solid transparent; }
.lc .lc-nav a:hover, .lc .lc-nav a[aria-current="page"] { color: var(--ink); border-bottom-color: var(--sunset); }
.lc-header__cta { margin-left: auto; }

/* ---------- Hero ---------- */
.lc-hero { position: relative; overflow: hidden; background: var(--pine); color: var(--on-pine); }
.lc-hero__in { position: relative; z-index: 1; max-width: var(--container); margin: 0 auto; padding: var(--space-9) var(--space-6) var(--space-8); display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: var(--space-6); align-items: end; }
.lc-hero h1 { margin: 0; font: 600 64px/68px var(--font-display); letter-spacing: -.01em; }
.lc-hero__lead { margin: var(--space-5) 0 var(--space-6); font-size: 20px; line-height: 30px; color: var(--on-pine-muted); max-width: 34em; }
.lc-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }
/* the horizon: the logo's sunset rebuilt from tokens — a sun disc sinking into lake bands */
.lc-horizon { position: relative; height: 260px; overflow: hidden; }
.lc-horizon__sun { position: absolute; left: 50%; bottom: 16px; width: 220px; height: 220px; margin-left: -110px; border-radius: var(--radius-round); background: linear-gradient(var(--sun) 0 25%, var(--sunset-bright) 25% 62%, var(--sunset-red) 62% 100%); }
.lc-horizon__water { position: absolute; left: 0; right: 0; bottom: 0; height: 72px; background: var(--pine); }
.lc-horizon__ripple { position: absolute; left: 12%; right: 12%; height: 6px; border-radius: var(--radius-round); background: var(--lake-bright); }
.lc-horizon__ripple:nth-child(3) { bottom: 50px; left: 18%; right: 18%; }
.lc-horizon__ripple:nth-child(4) { bottom: 30px; left: 26%; right: 26%; }
.lc-horizon__ripple:nth-child(5) { bottom: 12px; left: 36%; right: 36%; }
@media (max-width: 760px) {
  .lc-hero__in { grid-template-columns: 1fr; padding: var(--space-7) var(--space-4); }
  .lc-hero h1 { font-size: 40px; line-height: 44px; }
  .lc-horizon { height: 180px; }
  .lc-horizon__sun { width: 150px; height: 150px; margin-left: -75px; }
}

/* ---------- DealerBadge ---------- */
.lc-dealer { display: inline-flex; align-items: center; gap: var(--space-3); padding: var(--space-2) var(--space-4) var(--space-2) var(--space-2); border: 1px solid var(--hairline-strong); border-radius: var(--radius-md); background: var(--card); color: var(--ink); }
.lc-dealer__mark { display: grid; place-items: center; width: 40px; height: 40px; border-radius: var(--radius-sm); background: var(--lake); color: var(--on-lake); font: 700 15px/1 var(--font-sans); letter-spacing: .04em; }
.lc-dealer__text { display: flex; flex-direction: column; font-size: 14px; line-height: 18px; }
.lc-dealer__text strong { font-size: 15px; }
.lc-dealer__text span { color: var(--ink-muted); }

/* ---------- StatBand ---------- */
.lc-stats { background: var(--pine); color: var(--on-pine); }
.lc-stats__in { max-width: var(--container); margin: 0 auto; padding: var(--space-7) var(--space-6); display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--space-5); }
.lc-stat { border-top: 2px solid var(--sunset-bright); padding-top: var(--space-4); }
.lc-stat__num { display: block; font: 700 56px/56px var(--font-display); color: var(--sun); }
.lc-stat__label { display: block; margin-top: var(--space-2); font-size: 15px; line-height: 22px; color: var(--on-pine-muted); }

/* ---------- PersonCard ---------- */
.lc-person { display: grid; grid-template-columns: 132px 1fr; gap: var(--space-5); align-items: start; padding: var(--space-5); background: var(--card); border-radius: var(--radius-md); box-shadow: var(--shadow-card); }
.lc-person__photo { position: relative; width: 132px; height: 132px; border-radius: var(--radius-round); overflow: hidden; background: var(--birch-deep); border: 4px solid var(--sun); }
.lc-person__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lc-person__name { margin: 0; font: 600 28px/34px var(--font-display); }
.lc-person__role { margin: var(--space-1) 0 var(--space-3); font: 700 13px/16px var(--font-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--sunset); }
.lc-person__bio { margin: 0; max-width: var(--measure); }
@media (max-width: 560px) { .lc-person { grid-template-columns: 1fr; } }

/* ---------- Timeline ---------- */
.lc-timeline { list-style: none; margin: 0; padding: 0; position: relative; }
.lc-timeline::before { content: ""; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 2px; background: var(--hairline-strong); }
.lc-timeline li { position: relative; padding: 0 0 var(--space-5) var(--space-6); }
.lc-timeline li::before { content: ""; position: absolute; left: 0; top: 6px; width: 16px; height: 16px; border-radius: var(--radius-round); background: var(--sunset-bright); box-shadow: 0 0 0 4px var(--birch); }
.lc-timeline__when { display: block; font: 700 13px/16px var(--font-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--lake); }
.lc-timeline__what { display: block; margin-top: var(--space-1); font: 700 18px/24px var(--font-sans); }
.lc-timeline__more { display: block; margin-top: var(--space-1); color: var(--ink-muted); }

/* ---------- UnitCard ---------- */
.lc-unit { display: flex; flex-direction: column; background: var(--card); border-radius: var(--radius-md); box-shadow: var(--shadow-card); overflow: hidden; }
.lc-unit__media { aspect-ratio: 4 / 3; background: var(--birch-deep); display: grid; place-items: center; color: var(--ink-muted); font-size: 14px; }
.lc-unit__media img { width: 100%; height: 100%; object-fit: cover; }
.lc-unit__body { padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-2); flex: 1; }
.lc-unit__badges { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.lc-badge { display: inline-block; padding: 2px var(--space-2); border-radius: var(--radius-sm); font: 700 12px/18px var(--font-sans); letter-spacing: .08em; text-transform: uppercase; background: var(--birch-deep); color: var(--ink); }
.lc-badge--new { background: var(--lake); color: var(--on-lake); }
.lc-badge--used { background: var(--birch-deep); color: var(--ink); border: 1px solid var(--hairline-strong); }
.lc-unit__name { margin: 0; font: 700 18px/24px var(--font-sans); }
.lc-unit__meta { margin: 0; font-size: 14px; line-height: 20px; color: var(--ink-muted); }
.lc-unit__foot { margin-top: auto; padding-top: var(--space-3); display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); border-top: 1px solid var(--hairline); }
.lc-unit__price { font: 700 18px/24px var(--font-sans); color: var(--sunset); }

/* ---------- FaqItem ---------- */
.lc-faq { border: 1px solid var(--hairline-strong); border-radius: var(--radius-md); background: var(--card); }
.lc-faq + .lc-faq { margin-top: var(--space-3); }
.lc-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) var(--space-5); font: 700 18px/24px var(--font-sans); }
.lc-faq summary::-webkit-details-marker { display: none; }
.lc-faq summary::after { content: "+"; font: 600 24px/24px var(--font-display); color: var(--sunset); }
.lc-faq[open] summary::after { content: "–"; }
.lc-faq__a { padding: 0 var(--space-5) var(--space-5); max-width: var(--measure); }
.lc-faq__a p { margin: 0 0 var(--space-3); }
.lc-faq__a p:last-child { margin-bottom: 0; }

/* ---------- PromoBanner ---------- */
.lc-promo { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-5) var(--space-6); border-radius: var(--radius-lg); background: var(--sun); color: #1f2a2e; }
.lc-promo__title { margin: 0; font: 600 26px/32px var(--font-display); }
.lc-promo__text { margin: var(--space-1) 0 0; font-size: 16px; line-height: 24px; }
.lc-promo .lc-btn--primary { background: #1f2a2e; color: #f6efe2; }
.lc .lc-promo .lc-btn--primary, .lc .lc-promo .lc-btn--primary:hover { color: #f6efe2; }

/* ---------- HoursCard ---------- */
.lc-hours { padding: var(--space-5); background: var(--card); border-radius: var(--radius-md); box-shadow: var(--shadow-card); }
.lc-hours h3 { margin: 0 0 var(--space-3); font: 600 28px/34px var(--font-display); }
.lc-hours dl { display: grid; grid-template-columns: auto 1fr; gap: var(--space-1) var(--space-5); margin: 0 0 var(--space-4); }
.lc-hours dt { font-weight: 700; }
.lc-hours dd { margin: 0; }
.lc-hours__note { margin: 0 0 var(--space-4); color: var(--ink-muted); font-size: 14px; line-height: 20px; }
.lc-hours address { font-style: normal; padding-top: var(--space-4); border-top: 1px solid var(--hairline); }

/* ---------- Quote ---------- */
.lc-quote { margin: 0; padding: var(--space-6) 0; text-align: center; }
.lc-quote p { margin: 0 auto; max-width: 24em; font: italic 400 26px/36px var(--font-display); color: var(--ink); }
.lc-quote p::before, .lc-quote p::after { color: var(--sunset); }
.lc-quote p::before { content: "\201C"; }
.lc-quote p::after { content: "\201D"; }
.lc-quote footer { margin-top: var(--space-3); font: 700 13px/16px var(--font-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--lake); }

/* ---------- SiteFooter ---------- */
.lc-footer { background: var(--pine); color: var(--on-pine-muted); font-size: 15px; line-height: 24px; }
.lc-footer__in { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6) var(--space-6); display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: var(--space-6); }
.lc-footer h4 { margin: 0 0 var(--space-3); font: 700 13px/16px var(--font-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--sun); }
.lc-footer__name { margin: 0 0 var(--space-2); font: 600 28px/34px var(--font-display); color: var(--on-pine); }
.lc-footer ul { list-style: none; margin: 0; padding: 0; }
.lc .lc-footer a { color: var(--on-pine); text-decoration: none; }
.lc .lc-footer a:hover { color: var(--sun); text-decoration: underline; }
.lc-footer__legal { max-width: var(--container); margin: 0 auto; padding: var(--space-4) var(--space-6) var(--space-6); border-top: 1px solid rgba(246,239,226,.18); font-size: 13px; line-height: 20px; }
@media (max-width: 760px) { .lc-footer__in { grid-template-columns: 1fr; padding: var(--space-7) var(--space-4) var(--space-5); } }

/* ---------- ReviewCard ---------- */
.lc-reviews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.lc-review { margin: 0; padding: var(--space-5); background: var(--card); border-radius: var(--radius-md); box-shadow: var(--shadow-card); display: flex; flex-direction: column; gap: var(--space-4); }
.lc-review blockquote { margin: 0; }
.lc-review blockquote p { margin: 0; }
.lc-review blockquote p::before { content: "\201C"; color: var(--sunset); }
.lc-review blockquote p::after { content: "\201D"; color: var(--sunset); }
.lc-review figcaption { margin-top: auto; padding-top: var(--space-3); border-top: 1px solid var(--hairline); font-size: 14px; line-height: 20px; color: var(--ink-muted); }
.lc-review figcaption strong { display: block; font-size: 15px; color: var(--ink); }
.lc-review--feature { grid-column: span 2; background: var(--pine); color: var(--on-pine); }
.lc-review--feature blockquote p { font: italic 400 26px/36px var(--font-display); }
.lc-review--feature blockquote p::before, .lc-review--feature blockquote p::after { color: var(--sun); }
.lc-review--feature figcaption { color: var(--on-pine-muted); border-top-color: rgba(246,239,226,.18); }
.lc-review--feature figcaption strong { color: var(--on-pine); }
@media (max-width: 980px) { .lc-reviews { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .lc-reviews { grid-template-columns: 1fr; } .lc-review--feature { grid-column: auto; } .lc-review--feature blockquote p { font-size: 22px; line-height: 32px; } }

.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Page layout ---------- */
body{margin:0;background:var(--birch);}
.lc{min-height:100vh}
.wrap{max-width:var(--container);margin:0 auto;padding-inline:var(--space-6)}
.sec{padding-block:var(--space-8)}
.sec--deep{background:var(--birch-deep)}
.sec__head{max-width:var(--measure);margin-bottom:var(--space-6)}
.sec__head h2{margin:0;font:600 44px/50px var(--font-display);text-wrap:balance}
.sec__head p{margin:var(--space-3) 0 0;font-size:20px;line-height:30px;color:var(--ink-muted)}
.lc-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:10}
.menu{display:none;position:relative}
.menu summary{list-style:none;cursor:pointer;font:700 16px/20px var(--font-sans);padding:var(--space-3) var(--space-4);border:2px solid var(--hairline-strong);border-radius:var(--radius-md)}
.menu summary::-webkit-details-marker{display:none}
.menu ul{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;list-style:none;margin:0;padding:var(--space-2);background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);border:1px solid var(--hairline)}
.menu li a{display:block;padding:var(--space-3) var(--space-4);color:var(--ink);text-decoration:none;font-weight:700}
.story-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--space-7);align-items:start}
.story-intro p{margin:0 0 var(--space-4);max-width:var(--measure)}
.people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);margin-top:var(--space-7)}
.timeline-box h3{margin:0 0 var(--space-5);font:600 28px/34px var(--font-display)}
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-5)}
.cat{padding:var(--space-5);background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:var(--space-2)}
.cat h3{margin:0;font:700 18px/24px var(--font-sans)}
.cat p{margin:0;color:var(--ink-muted);font-size:15px;line-height:24px}
.cat .lc-unit__badges{margin-top:auto;padding-top:var(--space-2)}
.inv-top{display:flex;flex-wrap:wrap;gap:var(--space-5);align-items:end;justify-content:space-between;margin-bottom:var(--space-6)}
.inv-top .sec__head{margin-bottom:0}
.inv-note{margin:var(--space-5) 0 var(--space-6);color:var(--ink-muted);font-size:15px}
.svc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}
.svc article{padding-top:var(--space-4);border-top:2px solid var(--sunset-bright)}
.svc h3{margin:0 0 var(--space-3);font:600 28px/34px var(--font-display)}
.svc p{margin:0 0 var(--space-3)}
.svc ul{margin:0;padding-left:1.2em}
.faq-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--space-7);align-items:start}
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-6);align-items:start}
.ways{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-4)}
.ways li{display:grid;grid-template-columns:24px 1fr;gap:var(--space-3);align-items:start}
.ways svg{width:22px;height:22px;color:var(--sunset);margin-top:3px}
.ways strong{display:block}
.ways span{color:var(--ink-muted);font-size:15px}
.contact .lc-hero__actions{margin-top:var(--space-6)}
.policy{margin-top:var(--space-6);padding:var(--space-5);border:1px solid var(--hairline-strong);border-radius:var(--radius-md)}
.policy h3{margin:0 0 var(--space-2);font:700 18px/24px var(--font-sans)}
.policy p{margin:0}
@media (max-width:980px){
 .lc-header nav{display:none}.menu{display:block}.lc-header__cta{margin-left:0}
 .lc-header__in{justify-content:space-between}
 .story-grid,.faq-grid,.contact{grid-template-columns:1fr;gap:var(--space-6)}
 .svc,.people{grid-template-columns:1fr}
}
@media (max-width:760px){
 .wrap{padding-inline:var(--space-4)}
 .sec{padding-block:var(--space-7)}
 .sec__head h2{font-size:34px;line-height:40px}
 .lc-topbar__in,.lc-header__in,.lc-stats__in,.lc-footer__legal{padding-inline:var(--space-4)}
 .lc-header__cta .num{display:none}
 /* phones: the wordmark sits inside the bar at button height instead of hanging below it */
 .lc-header__logo{align-self:center;margin-bottom:0;filter:none}
 .lc-header__logo img{height:44px}
 [id]{scroll-margin-top:96px}
 .lc-topbar__dealer{margin-left:0}
 .lc-stats__in{grid-template-columns:repeat(2,minmax(0,1fr))}
 .lc-stat__num{font-size:44px;line-height:48px}
}
@media (max-width:420px){.cats{grid-template-columns:1fr}}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
[id]{scroll-margin-top:136px}
.lc-promo--pine{background:var(--pine);color:var(--on-pine)}
.lc .lc-promo--pine .lc-btn--primary,.lc .lc-promo--pine .lc-btn--primary:hover{background:var(--sunset);color:var(--on-sunset)}
.lc-promo--pine .lc-promo__text{color:var(--on-pine-muted)}


/* ---------- Contact page ---------- */
.page-head{background:var(--pine);color:var(--on-pine);padding-block:var(--space-8) var(--space-7)}
.page-head h1{margin:0;font:600 52px/56px var(--font-display);letter-spacing:-.01em;text-wrap:balance}
.page-head__lead{margin:var(--space-4) 0 0;max-width:var(--measure);font-size:20px;line-height:30px;color:var(--on-pine-muted)}
.lc .page-head a{color:var(--on-pine)}
.contact-page{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--space-6);align-items:start}
.contact-aside{display:grid;gap:var(--space-6)}
.lc-form-card{padding:var(--space-6);background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}
.lc-form{display:grid;gap:var(--space-5)}
.lc-form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}
.lc-field{display:grid;gap:var(--space-2)}
.lc-field label{font:700 15px/20px var(--font-sans)}
.lc-field input,.lc-field select,.lc-field textarea{width:100%;min-height:48px;padding:var(--space-3) var(--space-4);border:2px solid var(--hairline-strong);border-radius:var(--radius-md);background:var(--birch);color:var(--ink);font:400 17px/24px var(--font-sans)}
.lc-field textarea{resize:vertical;min-height:160px}
.lc-field select{appearance:none;-webkit-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8461c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:20px}
.lc-field input::placeholder,.lc-field textarea::placeholder{color:var(--ink-muted);opacity:.8}
.lc-field input:focus-visible,.lc-field select:focus-visible,.lc-field textarea:focus-visible{border-color:var(--lake);outline-offset:0}
.lc-field [aria-invalid="true"]{border-color:var(--sunset-red)}
.lc-field__error,.lc-form__error{color:var(--sunset-red);font:600 14px/20px var(--font-sans)}
.lc-field__error:empty,.lc-form__error:empty,.lc-form__success:empty{display:none}
.lc-form__error{margin-bottom:var(--space-4)}
.lc-form__success{margin-bottom:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--sun);color:#1f2a2e;font:600 17px/24px var(--font-sans)}
.lc-form__foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}
.lc-form__note{color:var(--ink-muted);font-size:15px}
.lc-btn[disabled]{opacity:.6;cursor:progress}
@media (max-width:980px){.contact-page{grid-template-columns:1fr}}
@media (max-width:640px){.lc-form__row{grid-template-columns:1fr}.lc-form-card{padding:var(--space-5)}.page-head h1{font-size:36px;line-height:40px}}
