@font-face{font-family:"Concert One";font-style:normal;font-weight:400;font-display:swap;src:url(/hillside/fonts/concert-one-normal-400-latin-ext.27eb1216c5.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:"Concert One";font-style:normal;font-weight:400;font-display:swap;src:url(/hillside/fonts/concert-one-normal-400-latin.7da1a62211.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:"Gothic A1";font-style:normal;font-weight:400;font-display:swap;src:url(/hillside/fonts/gothic-a1-normal-400-latin-ext.feafda8f08.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:"Gothic A1";font-style:normal;font-weight:400;font-display:swap;src:url(/hillside/fonts/gothic-a1-normal-400-latin.82fb1736b5.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:"Gothic A1";font-style:normal;font-weight:600;font-display:swap;src:url(/hillside/fonts/gothic-a1-normal-600-latin-ext.3eee33105b.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:"Gothic A1";font-style:normal;font-weight:600;font-display:swap;src:url(/hillside/fonts/gothic-a1-normal-600-latin.0b5902c696.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:"Gothic A1";font-style:normal;font-weight:800;font-display:swap;src:url(/hillside/fonts/gothic-a1-normal-800-latin-ext.0b6a470ffd.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:"Gothic A1";font-style:normal;font-weight:800;font-display:swap;src:url(/hillside/fonts/gothic-a1-normal-800-latin.b2e871a51b.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root {
  --ccw-paper: #FBFAF4; --ccw-band: #ECF3EE; --ccw-card: #FFFFFF; --ccw-ink: #15302A; --ccw-ink2: #46605A; --ccw-line: #D2DED6;
  --ccw-head: #1F4E3A; --ccw-head2: #173E2E; --ccw-head-ink: #F6F1E3; --ccw-link: #1D6283; --ccw-accent: #2C6E8F; --ccw-chip: #E3EDE6;
  --ccw-ok: #2F7556; --ccw-ok-bg: #DDEEE3; --ccw-no: #5C5470; --ccw-no-bg: #ECE9F1; --ccw-q: #4F6E86; --ccw-q-bg: #E4ECF2;
  --ccw-cta: #FF5A1F; --ccw-cta-h: #FF7843; --ccw-cta-ink: #1A0B05;
  --ccw-wall: #3E5C4E; --ccw-roof: #1F3A2E; --ccw-glass: #22314A; --ccw-lit: #F3EDB5; --ccw-wq: #B4C3CF; --ccw-wshow: #CBBEDD;
  --ccw-shadow: 0 1px 2px rgba(21, 48, 42, 0.06), 0 10px 30px rgba(21, 48, 42, 0.07);
  --ccw-head-f: "Concert One", "Trebuchet MS", sans-serif; --ccw-body-f: "Gothic A1", "Segoe UI", system-ui, sans-serif;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --ccw-paper: #0F1A24; --ccw-band: #142330; --ccw-card: #172938; --ccw-ink: #E8F0EC; --ccw-ink2: #A9BDB6; --ccw-line: #2A3F4C;
    --ccw-head: #0B1A14; --ccw-head2: #08130F; --ccw-head-ink: #EEE8D6; --ccw-link: #8CCBE3; --ccw-accent: #6FB6D2; --ccw-chip: #1E3443;
    --ccw-ok: #8ED3AE; --ccw-ok-bg: #173A2C; --ccw-no: #C9C0DA; --ccw-no-bg: #2A2838; --ccw-q: #A9C3D8; --ccw-q-bg: #1D3040;
    --ccw-wall: #24394A; --ccw-roof: #13212E; --ccw-glass: #0C1420; --ccw-lit: #F2E6A2; --ccw-wq: #4A5D6E; --ccw-wshow: #5D4F78;
    --ccw-shadow: 0 1px 2px rgba(0, 0, 0, 0.3), 0 10px 30px rgba(0, 0, 0, 0.25);
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --ccw-paper: #0F1A24; --ccw-band: #142330; --ccw-card: #172938; --ccw-ink: #E8F0EC; --ccw-ink2: #A9BDB6; --ccw-line: #2A3F4C;
  --ccw-head: #0B1A14; --ccw-head2: #08130F; --ccw-head-ink: #EEE8D6; --ccw-link: #8CCBE3; --ccw-accent: #6FB6D2; --ccw-chip: #1E3443;
  --ccw-ok: #8ED3AE; --ccw-ok-bg: #173A2C; --ccw-no: #C9C0DA; --ccw-no-bg: #2A2838; --ccw-q: #A9C3D8; --ccw-q-bg: #1D3040;
  --ccw-wall: #24394A; --ccw-roof: #13212E; --ccw-glass: #0C1420; --ccw-lit: #F2E6A2; --ccw-wq: #4A5D6E; --ccw-wshow: #5D4F78;
  --ccw-shadow: 0 1px 2px rgba(0, 0, 0, 0.3), 0 10px 30px rgba(0, 0, 0, 0.25);
  color-scheme: dark;
}
[data-season="spring"] { --s-sky1: #E6F2EC; --s-sky2: #FBF6E6; --s-sun: #F8F1D2; --s-far: #AEB6DE; --s-mid: #7DB58D; --s-midp: #5E9A70; --s-lake: #5AA6BF; --s-glint: #CDEAF0; --s-near: #4E8D60; --s-pine: #2F6A48; --s-front: #3B7A50; --s-cabin: #5C4A72; --s-win: #F8F1D2; --s-dock: #8C8070; }
[data-season="summer"] { --s-sky1: #DCEFF3; --s-sky2: #FBF2DA; --s-sun: #F8F0D0; --s-far: #8C93C9; --s-mid: #4F9A7A; --s-midp: #3D8065; --s-lake: #2C7FA3; --s-glint: #9ED3E2; --s-near: #2F7556; --s-pine: #1E4D39; --s-front: #285F45; --s-cabin: #5C4A72; --s-win: #F8F0D0; --s-dock: #7E7466; }
[data-season="fall"] { --s-sky1: #E5EEE9; --s-sky2: #FAF0D8; --s-sun: #F8F0D0; --s-far: #5F7290; --s-mid: #7A5677; --s-midp: #5F3F5E; --s-lake: #3B7891; --s-glint: #A9D2DF; --s-near: #D3C64B; --s-pine: #3C3350; --s-front: #5C4A72; --s-cabin: #2F5D46; --s-win: #F8F0D0; --s-dock: #6E6478; }
[data-season="winter"] { --s-sky1: #E1EAF5; --s-sky2: #F6F8FB; --s-sun: #FFFFFF; --s-far: #B9C4E0; --s-mid: #DCE5EF; --s-midp: #6F8296; --s-lake: #C7DAE8; --s-glint: #FFFFFF; --s-near: #EEF3F8; --s-pine: #3C5568; --s-front: #A9BBD0; --s-cabin: #5C4A72; --s-win: #F6F1D2; --s-dock: #7E8A98; }
[data-season="night"] { --s-sky1: #18233D; --s-sky2: #2C3358; --s-sun: #EDE6C8; --s-far: #3B3F6E; --s-mid: #2B3B5E; --s-midp: #20304D; --s-lake: #1D3C5A; --s-glint: #4E7FA3; --s-near: #1F3550; --s-pine: #121F33; --s-front: #182A42; --s-cabin: #0F1A2A; --s-win: #F2E6A2; --s-dock: #2B3B5E; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) [data-season] { --s-sky1: #121C30; --s-sky2: #26305A; --s-sun: #EDE6C8; --s-far: #343B6A; --s-mid: #27395A; --s-midp: #1D2E48; --s-lake: #1B3956; --s-glint: #4A7CA0; --s-near: #1C324B; --s-pine: #101C2F; --s-front: #16283F; --s-cabin: #0E1828; --s-win: #F2E6A2; --s-dock: #2B3B5E; }
  :root:not([data-theme="light"]) [data-season="fall"] { --s-far: #43386A; --s-near: #2C2A48; }
  :root:not([data-theme="light"]) [data-season="winter"] { --s-mid: #3A4B6A; --s-near: #4A5B78; --s-front: #34465F; --s-lake: #2A4562; }
  :root:not([data-theme="light"]) [data-season="spring"] { --s-mid: #1F4252; --s-near: #1E3E44; }
}
:root[data-theme="dark"] [data-season] { --s-sky1: #121C30; --s-sky2: #26305A; --s-sun: #EDE6C8; --s-far: #343B6A; --s-mid: #27395A; --s-midp: #1D2E48; --s-lake: #1B3956; --s-glint: #4A7CA0; --s-near: #1C324B; --s-pine: #101C2F; --s-front: #16283F; --s-cabin: #0E1828; --s-win: #F2E6A2; --s-dock: #2B3B5E; }
:root[data-theme="dark"] [data-season="fall"] { --s-far: #43386A; --s-near: #2C2A48; }
:root[data-theme="dark"] [data-season="winter"] { --s-mid: #3A4B6A; --s-near: #4A5B78; --s-front: #34465F; --s-lake: #2A4562; }
:root[data-theme="dark"] [data-season="spring"] { --s-mid: #1F4252; --s-near: #1E3E44; }
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--ccw-paper); color: var(--ccw-ink); font: 400 17px/1.7 var(--ccw-body-f); }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--ccw-link); text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--ccw-accent); outline-offset: 2px; }
h1, h2, h3, h4 { font-family: var(--ccw-head-f); font-weight: 400; line-height: 1.12; letter-spacing: 0.005em; margin: 0 0 0.5em; }
h2 { font-size: clamp(28px, 3.2vw, 40px); }
h3 { font-size: 23px; }
p { margin: 0 0 1em; }
.ccw-i { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ccw-si { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ccw-wrap { max-width: 1180px; margin: 0 auto; padding-inline: 24px; }
.ccw-skip { position: absolute; left: -999px; top: 8px; background: var(--ccw-card); color: var(--ccw-ink); padding: 8px 14px; z-index: 50; border-radius: 8px; }
.ccw-skip:focus { left: 8px; }
.ccw-head { background: var(--ccw-head); color: var(--ccw-head-ink); position: sticky; top: 0; z-index: 30; }
.ccw-head__in { max-width: 1240px; margin: 0 auto; padding: 10px 24px; display: flex; align-items: center; gap: 22px; min-height: 64px; }
.ccw-logo { display: flex; align-items: center; gap: 11px; color: var(--ccw-head-ink); text-decoration: none; flex: none; }
.ccw-mark { width: 40px; height: 40px; flex: none; }
.ccw-mark__bg { fill: #F6F1E3; } .ccw-mark__sun { fill: #E9D86A; } .ccw-mark__far { fill: #8C93C9; } .ccw-mark__near { fill: #3F7F5C; } .ccw-mark__lake { fill: #2C6E8F; }
.ccw-logo__t { display: flex; flex-direction: column; line-height: 1.1; }
.ccw-logo__a { font-family: var(--ccw-head-f); font-size: 21px; }
.ccw-logo__b { font-size: 12.5px; opacity: 0.8; letter-spacing: 0.02em; }
.ccw-nav { margin-left: auto; display: flex; align-items: center; gap: 14px; }
.ccw-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 2px; }
.ccw-nav a { color: var(--ccw-head-ink); text-decoration: none; font-weight: 600; font-size: 15px; padding: 7px 10px; border-radius: 999px; display: block; }
.ccw-nav a:hover, .ccw-nav a[aria-current="page"] { background: rgba(246, 241, 227, 0.14); }
.ccw-theme { display: inline-flex; align-items: center; gap: 6px; background: transparent; color: var(--ccw-head-ink); border: 1px solid rgba(246, 241, 227, 0.35); border-radius: 999px; padding: 6px 12px; font: 600 14px var(--ccw-body-f); cursor: pointer; }
.ccw-theme:hover { background: rgba(246, 241, 227, 0.12); }
.ccw-cta { display: inline-flex; align-items: center; gap: 8px; flex: none; }
.ccw-onl { color: var(--ccw-head-ink); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 15px; flex: none; }
.ccw-burger { display: none; background: transparent; border: 1px solid rgba(246, 241, 227, 0.4); color: var(--ccw-head-ink); border-radius: 10px; width: 42px; height: 40px; align-items: center; justify-content: center; cursor: pointer; flex: none; }
.ccw-burger .ccw-i { width: 20px; height: 20px; }
.ccw-paid { display: inline-flex; align-items: center; gap: 8px; background: var(--ccw-cta); color: var(--ccw-cta-ink); text-decoration: none; font: 400 18px/1 var(--ccw-head-f); letter-spacing: 0.02em; padding: 12px 20px; border-radius: 999px; white-space: nowrap; }
.ccw-paid:hover { background: var(--ccw-cta-h); color: var(--ccw-cta-ink); text-decoration: none; }
.ccw-paid:focus-visible { outline: 3px solid var(--ccw-head-ink); outline-offset: 2px; }
.ccw-paid--sm { font-size: 16px; padding: 10px 16px; }
.ccw-paid--lg { font-size: 20px; padding: 15px 26px; }
.ccw-ad { display: inline-block; font: 700 11px/1 var(--ccw-body-f); letter-spacing: 0.08em; text-transform: uppercase; border: 1px solid currentColor; border-radius: 5px; padding: 3px 5px; vertical-align: middle; }
.ccw-hero, .ccw-top { background: linear-gradient(180deg, var(--s-sky1) 0%, var(--s-sky2) 70%); position: relative; overflow: hidden; transition: background 0.6s; }
.ccw-hero__g { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 48px; align-items: end; padding-top: 60px; position: relative; z-index: 2; }
.ccw-hero__t { min-width: 0; }
.ccw-hero__s { background: rgba(255, 255, 255, 0.5); border: 1px solid rgba(21, 48, 42, 0.14); border-radius: 26px; padding: 20px; margin-bottom: 26px; }
.ccw-hero__sk { font: 400 22px var(--ccw-head-f); margin: 0 0 12px; }
.ccw-hero__sn { font-size: 13.5px; color: var(--ccw-ink2); margin: 12px 0 0; }
.ccw-kick { font: 700 13px/1.3 var(--ccw-body-f); letter-spacing: 0.14em; text-transform: uppercase; color: var(--ccw-ink2); margin: 0 0 14px; }
.ccw-h1 { font-size: clamp(44px, 6.6vw, 84px); line-height: 1.02; margin: 0 0 20px; max-width: 14ch; color: var(--ccw-ink); }
.ccw-h1--sm { font-size: clamp(36px, 4.6vw, 58px); max-width: 16ch; }
.ccw-lede { font-size: 19px; line-height: 1.6; max-width: 640px; color: var(--ccw-ink); }
.ccw-by { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 14px; color: var(--ccw-ink2); margin: 0 0 18px; }
.ccw-by span { display: inline-flex; align-items: center; gap: 6px; }
.ccw-seasons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.ccw-season { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "i n" "i m"; gap: 0 10px; align-items: center; text-align: left; font: 400 19px/1.15 var(--ccw-head-f); color: var(--ccw-ink); background: var(--ccw-card); border: 1.5px solid var(--ccw-line); border-radius: 18px; padding: 11px 13px; cursor: pointer; }
.ccw-season .ccw-si { grid-area: i; width: 24px; height: 24px; }
.ccw-season__n { grid-area: n; }
.ccw-season__m { grid-area: m; font: 400 12.5px/1.3 var(--ccw-body-f); color: var(--ccw-ink2); }
.ccw-season[aria-pressed="true"] { background: var(--ccw-head); color: var(--ccw-head-ink); border-color: var(--ccw-head); }
.ccw-season[aria-pressed="true"] .ccw-season__m { color: var(--ccw-head-ink); opacity: 0.85; }
.ccw-land { display: block; width: 100%; }
.ccw-land--hero { height: clamp(220px, 32vw, 420px); margin-top: -20px; }
.ccw-l-sun { fill: var(--s-sun); } .ccw-l-far { fill: var(--s-far); } .ccw-l-mid { fill: var(--s-mid); } .ccw-l-midp { fill: var(--s-midp); }
.ccw-l-lake { fill: var(--s-lake); } .ccw-l-glint rect { fill: var(--s-glint); } .ccw-l-near { fill: var(--s-near); } .ccw-l-pine { fill: var(--s-pine); }
.ccw-l-front { fill: var(--s-front); } .ccw-l-cabin path { fill: var(--s-cabin); } .ccw-l-win { fill: var(--s-win); } .ccw-l-dock { fill: var(--s-dock); }
.ccw-land path, .ccw-land rect, .ccw-land circle { transition: fill 0.6s; }
.ccw-layer { will-change: transform; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .ccw-toc { background: rgba(12, 22, 34, 0.62); border-color: rgba(238, 232, 214, 0.18); } :root:not([data-theme="light"]) .ccw-hero__s { background: rgba(12, 22, 34, 0.62); border-color: rgba(238, 232, 214, 0.18); } }
:root[data-theme="dark"] .ccw-toc { background: rgba(12, 22, 34, 0.62); border-color: rgba(238, 232, 214, 0.18); }
:root[data-theme="dark"] .ccw-hero__s { background: rgba(12, 22, 34, 0.62); border-color: rgba(238, 232, 214, 0.18); }
.ccw-adtop { background: var(--ccw-paper); padding: 26px 0 0; }
.ccw-adtop__in { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 26px; align-items: center; background: var(--ccw-card); border: 1px solid var(--ccw-line); border-radius: 22px; padding: 22px 26px; box-shadow: var(--ccw-shadow); }
.ccw-adtop__h, .ccw-endad__h { font: 400 22px/1.2 var(--ccw-head-f); margin: 0 0 6px; display: flex; align-items: center; gap: 10px; }
.ccw-adtop p { margin-bottom: 8px; }
.ccw-rg { display: flex; gap: 12px; align-items: flex-start; font-size: 13.5px; line-height: 1.55; color: var(--ccw-ink2); margin: 10px 0 0; }
.ccw-age { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; border: 2px solid var(--ccw-ink); color: var(--ccw-ink); font: 400 15px var(--ccw-head-f); }
.ccw-sec { padding: 72px 0; position: relative; }
.ccw-sec--first { padding-top: 56px; }
.ccw-sec--band { background: var(--ccw-band); margin-top: 40px; }
.ccw-edge { position: absolute; left: 0; top: -59px; width: 100%; height: 60px; display: block; }
.ccw-edge path { fill: var(--ccw-band); }
.ccw-k { font: 700 12.5px/1.3 var(--ccw-body-f); letter-spacing: 0.14em; text-transform: uppercase; color: var(--ccw-accent); margin: 0 0 10px; }
.ccw-block { min-width: 0; }
.ccw-block p { max-width: 68ch; }
.ccw-block--side { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 48px; align-items: start; }
.ccw-block--side .ccw-block__h h2 { margin-bottom: 0; }
.ccw-facts { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 8px; font-size: 14.5px; color: var(--ccw-ink2); }
.ccw-facts li { display: flex; gap: 8px; align-items: baseline; background: var(--ccw-card); border: 1px solid var(--ccw-line); border-radius: 12px; padding: 8px 12px; }
.ccw-block--side + .ccw-tool { margin-top: 28px; }
.ccw-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 52px; align-items: center; }
.ccw-split--tool { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); align-items: start; }
.ccw-split--end { align-items: start; }
.ccw-lead { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 48px; align-items: end; margin-bottom: 28px; }
.ccw-block + .ccw-tool--wide { margin-top: 28px; }
.ccw-duo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.ccw-sec .ccw-block + .ccw-block { margin-top: 0; }
.ccw-more { margin: 16px 0 0; }
.ccw-more a { display: inline-flex; align-items: center; gap: 7px; font-weight: 600; text-decoration: none; }
.ccw-more a:hover { text-decoration: underline; }
.ccw-fig { margin: 0; }
.ccw-fig img { border-radius: 26px; width: 100%; }
.ccw-fig figcaption { font-size: 13px; color: var(--ccw-ink2); margin-top: 8px; }
.ccw-fig--wide { margin-top: 42px; }
.ccw-fig--wide img { aspect-ratio: 21 / 8; object-fit: cover; }
.ccw-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.ccw-list li { background: var(--ccw-card); border: 1px solid var(--ccw-line); border-radius: 16px; padding: 14px 18px 14px 46px; position: relative; }
.ccw-list li::before { content: ""; position: absolute; left: 18px; top: 22px; width: 12px; height: 12px; border-radius: 50%; background: var(--ccw-accent); }
.ccw-tool { background: var(--ccw-card); border: 1px solid var(--ccw-line); border-radius: 24px; padding: 24px; box-shadow: var(--ccw-shadow); min-width: 0; }
.ccw-tool__h { display: flex; flex-direction: column-reverse; margin-bottom: 14px; }
.ccw-tool__h h3 { margin: 0 0 4px; }
.ccw-tool__k { font-size: 13px; color: var(--ccw-ink2); margin: 0; }
.ccw-tool__f { font-size: 13.5px; color: var(--ccw-ink2); margin: 14px 0 0; }
.ccw-ctl { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: center; margin-bottom: 16px; }
.ccw-days { display: flex; flex-wrap: wrap; gap: 5px; }
.ccw-day, .ccw-seg button { font: 600 14px var(--ccw-body-f); color: var(--ccw-ink); background: var(--ccw-chip); border: 1px solid transparent; border-radius: 999px; padding: 6px 11px; cursor: pointer; }
.ccw-day[aria-pressed="true"], .ccw-seg button[aria-pressed="true"] { background: var(--ccw-head); color: var(--ccw-head-ink); }
.ccw-seg { display: inline-flex; gap: 4px; }
.ccw-range { display: flex; flex-direction: column; gap: 2px; font-size: 13.5px; color: var(--ccw-ink2); flex: 1 1 220px; }
.ccw-range output { color: var(--ccw-ink); font-weight: 700; }
.ccw-range input { width: 100%; accent-color: var(--ccw-accent); }
.ccw-btn { font: 600 14px var(--ccw-body-f); background: transparent; color: var(--ccw-ink); border: 1.5px solid var(--ccw-ink); border-radius: 999px; padding: 7px 14px; cursor: pointer; }
.ccw-btn:hover { background: var(--ccw-chip); }
.ccw-field { display: flex; flex-direction: column; gap: 4px; font-size: 13.5px; color: var(--ccw-ink2); }
.ccw-field input { font: 600 16px var(--ccw-body-f); color: var(--ccw-ink); background: var(--ccw-paper); border: 1.5px solid var(--ccw-line); border-radius: 12px; padding: 8px 10px; }
.ccw-step { display: inline-flex; align-items: center; border: 1.5px solid var(--ccw-line); border-radius: 12px; overflow: hidden; }
.ccw-step button { width: 38px; height: 40px; border: 0; background: var(--ccw-chip); color: var(--ccw-ink); font: 700 18px var(--ccw-body-f); cursor: pointer; }
.ccw-step output { min-width: 40px; text-align: center; font: 400 20px var(--ccw-head-f); }
.ccw-sum { font-weight: 600; margin: 14px 0 0; }
.ccw-scroll { overflow-x: auto; }
.ccw-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.ccw-table th, .ccw-table td { text-align: left; padding: 9px 10px; border-bottom: 1px solid var(--ccw-line); vertical-align: top; }
.ccw-table thead th { font-size: 13px; color: var(--ccw-ink2); }
.ccw-js .ccw-nojs { display: none; }
html:not(.ccw-js) .ccw-jsonly { display: none; }
.ccw-lodge__g { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: 24px; align-items: center; }
.ccw-lodge:not(.ccw-lodge--compact) .ccw-lodge__l { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 18px; }
.ccw-lodge--compact .ccw-lodge__g { grid-template-columns: minmax(0, 1fr); }
.ccw-lodge__svg { width: 100%; height: auto; display: block; }
.ccw-lodge__wall { fill: var(--ccw-wall); } .ccw-lodge__roof { fill: none; stroke: var(--ccw-roof); stroke-width: 18; stroke-linejoin: round; stroke-linecap: round; }
.ccw-lodge__chim { fill: var(--ccw-roof); }
.ccw-win__glass { fill: var(--ccw-glass); transition: fill 0.3s; }
.ccw-win__bar { stroke: var(--ccw-wall); stroke-width: 5; }
.ccw-win__t { fill: #F6F1E3; font: 600 15px var(--ccw-body-f); }
.ccw-win[data-s="open"] .ccw-win__glass { fill: var(--ccw-lit); }
.ccw-win[data-s="unknown"] .ccw-win__glass { fill: var(--ccw-wq); }
.ccw-win[data-s="show"] .ccw-win__glass { fill: var(--ccw-wshow); }
.ccw-lodge__l { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.ccw-lodge--compact .ccw-lodge__l { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ccw-lodge__l li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2px 10px; align-items: baseline; font-size: 14px; line-height: 1.4; padding: 7px 0; border-bottom: 1px dashed var(--ccw-line); }
.ccw-lodge__l b { font-weight: 700; }
.ccw-lodge__l small { grid-column: 2; color: var(--ccw-ink2); font-size: 13px; }
.ccw-pill { font: 700 11.5px/1 var(--ccw-body-f); letter-spacing: 0.04em; text-transform: uppercase; padding: 5px 8px; border-radius: 999px; white-space: nowrap; }
.ccw-pill--open { background: var(--ccw-ok-bg); color: var(--ccw-ok); }
.ccw-pill--closed { background: var(--ccw-no-bg); color: var(--ccw-no); }
.ccw-pill--unknown, .ccw-pill--show { background: var(--ccw-q-bg); color: var(--ccw-q); }
.ccw-stay { --s-near: #4E8D60; }
.ccw-stay__season { margin: 0; font-weight: 600; display: inline-flex; align-items: center; gap: 7px; }
.ccw-stay__view { display: none; }
.ccw-stay__days { list-style: none; margin: 0; padding: 0; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); border-radius: 18px; overflow: hidden; background: linear-gradient(180deg, var(--s-sky1), var(--s-sky2)); }
.ccw-stay__days li { min-width: 0; display: flex; flex-direction: column; }
.ccw-hill { display: block; width: 100%; height: 54px; }
.ccw-hill path:first-child { fill: var(--s-far); }
.ccw-hill path:last-child { fill: var(--s-near); }
.ccw-stay__day { flex: 1; background: var(--ccw-card); padding: 12px 12px 14px; border-top: 4px solid var(--s-near); }
.ccw-stay__day h4 { font-size: 20px; margin: 0; }
.ccw-stay__day .ccw-stay__d { font-size: 13px; color: var(--ccw-ink2); margin: 0 0 8px; }
.ccw-stay__day ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 13.5px; line-height: 1.4; }
.ccw-stay__day li { display: block; padding-left: 12px; border-left: 3px solid var(--ccw-line); }
.ccw-stay__day li.ccw-k1 { border-left-color: var(--ccw-accent); }
.ccw-stay__day li.ccw-k2 { border-left-color: var(--s-far); }
.ccw-stay__day li.ccw-k3 { border-left-color: var(--ccw-ok); }
.ccw-plates__l { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 12px; }
.ccw-plate { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 12px 8px; border-radius: 18px; background: var(--ccw-paper); border: 1px solid var(--ccw-line); }
.ccw-plate svg { width: 78px; height: 78px; }
.ccw-plate__rim { fill: #FFFFFF; stroke: var(--ccw-line); stroke-width: 3; }
.ccw-plate__in { fill: #F3F5F2; stroke: #DDE3DE; stroke-width: 2; }
.ccw-plate__food { fill: var(--ccw-ok); }
.ccw-plate__food2 { fill: #7A5677; }
.ccw-plate__q { fill: var(--ccw-q); font: 400 30px var(--ccw-head-f); }
.ccw-plate__x { stroke: var(--ccw-no); stroke-width: 5; stroke-linecap: round; }
.ccw-plate b { font-size: 14px; line-height: 1.25; }
.ccw-plate small { font-size: 12.5px; color: var(--ccw-ink2); line-height: 1.35; }
.ccw-plate[data-s="closed"], .ccw-plate[data-s="barred"] { opacity: 0.72; }
.ccw-four { margin-top: 30px; }
.ccw-four__g { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.ccw-four__p { margin: 0; border-radius: 20px; overflow: hidden; background: linear-gradient(180deg, var(--s-sky1), var(--s-sky2)); border: 1px solid var(--ccw-line); }
.ccw-land--mini { height: 130px; }
.ccw-four__p figcaption { display: flex; align-items: center; gap: 7px; font: 400 18px var(--ccw-head-f); padding: 10px 14px; background: var(--ccw-card); }
.ccw-four__r { list-style: none; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.ccw-four__r li { background: var(--ccw-head); color: var(--ccw-head-ink); border-radius: 999px; padding: 9px 14px; text-align: center; font-weight: 600; font-size: 14.5px; }
.ccw-towns { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 6px; }
.ccw-tool--wide .ccw-towns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; margin-top: 0; }
.ccw-towns a { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr) auto; grid-template-areas: "n p k" "b b b"; gap: 0 10px; align-items: baseline; text-decoration: none; color: var(--ccw-ink); padding: 8px 12px; border-radius: 12px; background: var(--ccw-card); border: 1px solid var(--ccw-line); }
.ccw-towns a:hover { border-color: var(--ccw-accent); }
.ccw-towns__n { grid-area: n; font-weight: 700; }
.ccw-towns__p { grid-area: p; font-size: 13px; color: var(--ccw-ink2); }
.ccw-towns__k { grid-area: k; font: 400 18px var(--ccw-head-f); color: var(--ccw-accent); }
.ccw-towns__b { grid-area: b; width: 100%; height: 6px; margin-top: 5px; display: block; }
.ccw-towns__b path { fill: var(--s-near, #4E8D60); }
.ccw-tool--towns { --s-near: #4E8D60; }
.ccw-faqwrap { display: grid; grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr); gap: 48px; align-items: start; }
.ccw-faq__n { color: var(--ccw-ink2); }
.ccw-faq { display: grid; gap: 10px; }
.ccw-faq__i { background: var(--ccw-card); border: 1px solid var(--ccw-line); border-radius: 16px; padding: 4px 18px; }
.ccw-faq__i summary { cursor: pointer; font-weight: 700; padding: 12px 0; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.ccw-faq__i summary::after { content: "+"; font: 400 22px/1 var(--ccw-head-f); color: var(--ccw-accent); }
.ccw-faq__i[open] summary::after { content: "−"; }
.ccw-faq__i p { margin: 0 0 14px; }
.ccw-endad { background: var(--ccw-card); border: 1px solid var(--ccw-line); border-radius: 22px; padding: 24px; box-shadow: var(--ccw-shadow); }
.ccw-endad .ccw-paid { margin: 6px 0 14px; }
.ccw-top { padding-top: 0; }
.ccw-top__g { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 44px; align-items: center; padding-top: 40px; padding-bottom: 18px; position: relative; z-index: 2; }
.ccw-top__g:has(> :only-child) { grid-template-columns: minmax(0, 1fr); }
.ccw-top__g--toc { align-items: end; }
.ccw-top .ccw-fig figcaption { color: var(--ccw-ink2); }
.ccw-land--top { height: clamp(110px, 15vw, 210px); margin-top: -10px; }
.ccw-back { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; text-decoration: none; margin-bottom: 14px; }
.ccw-relh { font-size: 28px; }
.ccw-rel { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
.ccw-rel a { display: flex; flex-direction: column; gap: 4px; height: 100%; padding: 18px 20px; border-radius: 20px; background: var(--ccw-card); border: 1px solid var(--ccw-line); color: var(--ccw-ink); text-decoration: none; font: 400 21px/1.2 var(--ccw-head-f); }
.ccw-rel a:hover { border-color: var(--ccw-accent); }
.ccw-rel span { font: 700 12px var(--ccw-body-f); letter-spacing: 0.12em; text-transform: uppercase; color: var(--ccw-accent); }
.ccw-rel small { font: 400 14px/1.5 var(--ccw-body-f); color: var(--ccw-ink2); }
.ccw-rel .ccw-i { margin-top: 6px; }
.ccw-hold { max-width: 640px; }
.ccw-toc { background: rgba(255, 255, 255, 0.6); border: 1px solid rgba(21, 48, 42, 0.14); border-radius: 24px; padding: 20px 24px; }
.ccw-toc__h { font: 400 22px var(--ccw-head-f); margin: 0 0 10px; }
.ccw-toc ol { margin: 0; padding-left: 22px; display: grid; gap: 6px; font-weight: 600; }
.ccw-toc a { text-decoration: none; }
.ccw-toc a:hover { text-decoration: underline; }
.ccw-foot { background: var(--ccw-head2); color: var(--ccw-head-ink); padding-bottom: 36px; margin-top: 30px; }
.ccw-land--foot { height: 90px; background: var(--ccw-paper); }
.ccw-foot a { color: var(--ccw-head-ink); }
.ccw-foot__g { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); gap: 40px; padding-top: 34px; }
.ccw-foot h2 { font-size: 20px; margin-bottom: 12px; }
.ccw-foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 14.5px; }
.ccw-foot__name { display: flex; align-items: center; gap: 10px; font: 400 22px var(--ccw-head-f); }
.ccw-foot__desk p { font-size: 14.5px; }
.ccw-foot__s { font-size: 13px; opacity: 0.8; margin-top: 10px; }
.ccw-foot__fine { border-top: 1px solid rgba(246, 241, 227, 0.2); margin-top: 28px; padding-top: 18px; font-size: 13px; opacity: 0.9; }
.ccw-foot__fine p { margin-bottom: 6px; display: block; }
.ccw-foot__fine .ccw-i { display: inline-block; vertical-align: -3px; }
@media (prefers-reduced-motion: reduce) {
  .ccw-hero, .ccw-top, .ccw-land path, .ccw-land rect, .ccw-land circle, .ccw-win__glass { transition: none; }
  .ccw-layer { transform: none !important; }
}
@media (max-width: 1180px) {
  .ccw-logo__b { display: none; }
  .ccw-head__in { padding-inline: 16px; gap: 10px; }
  .ccw-burger { display: inline-flex; }
  .ccw-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--ccw-head); flex-direction: column; align-items: stretch; padding: 10px 16px 18px; gap: 10px; box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2); }
  .ccw-nav.ccw-open { display: flex; }
  .ccw-nav ul { flex-direction: column; }
  .ccw-nav a { font-size: 17px; padding: 10px 8px; }
  .ccw-theme { align-self: flex-start; }
  .ccw-cta, .ccw-onl { margin-left: auto; }
}
@media (max-width: 960px) {
  .ccw-split, .ccw-split--tool, .ccw-duo, .ccw-faqwrap, .ccw-lead { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .ccw-plates__l { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ccw-lodge__g { grid-template-columns: minmax(0, 1fr); }
  .ccw-top__g { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .ccw-hero__g { grid-template-columns: minmax(0, 1fr); gap: 20px; padding-top: 40px; }
  .ccw-hero__s { margin-bottom: 10px; }
  .ccw-block--side { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .ccw-foot__g { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .ccw-foot__desk { grid-column: 1 / -1; }
  .ccw-four__g, .ccw-four__r { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
html:not(.ccw-js) .ccw-nav { display: flex; position: static; box-shadow: none; flex-wrap: wrap; }
html:not(.ccw-js) .ccw-head__in { flex-wrap: wrap; }
html:not(.ccw-js) .ccw-burger { display: none; }
@media (max-width: 640px) {
  body { font-size: 16.5px; }
  .ccw-wrap { padding-inline: 16px; }
  .ccw-mark { width: 34px; height: 34px; }
  .ccw-head__in { gap: 8px; }
  .ccw-cta { gap: 6px; }
  .ccw-logo { gap: 8px; }
  .ccw-logo__a { font-size: 15px; max-width: 8ch; line-height: 1.05; }
  .ccw-logo__o { display: none; }
  .ccw-paid--sm { font-size: 14.5px; padding: 9px 11px; }
  .ccw-paid--sm .ccw-i { display: none; }
  .ccw-hero__s { padding: 14px; }
  .ccw-season { font-size: 17px; padding: 9px 10px; }
  .ccw-lede { font-size: 17.5px; }
  .ccw-adtop__in { grid-template-columns: minmax(0, 1fr); padding: 18px; gap: 14px; }
  .ccw-adtop__in .ccw-paid { justify-self: start; }
  .ccw-sec { padding: 52px 0; }
  .ccw-tool { padding: 16px; border-radius: 20px; }
  .ccw-lodge__l, .ccw-lodge:not(.ccw-lodge--compact) .ccw-lodge__l { grid-template-columns: minmax(0, 1fr); }
  .ccw-stay__days { grid-auto-flow: row; grid-auto-columns: auto; }
  .ccw-hill { height: 40px; }
  .ccw-plates__l { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .ccw-tool--wide .ccw-towns { grid-template-columns: minmax(0, 1fr); }
  .ccw-four__r li { font-size: 13.5px; border-radius: 14px; }
  .ccw-foot__g { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .ccw-fig--wide img { aspect-ratio: 3 / 2; }
  .ccw-towns a { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "n k" "p p" "b b"; }
}
