:root{--bg:#0f0f12;--text:#f3e9d2;--accent:#d4a017;--accent-soft:rgba(212,160,23,.18);--card:#1a1a20;--muted:#a89878;--line:#2a2a33;--header:#141418;--search-bg:#1a1a20;--nav-bg:#121216;--nav-fg:#f3e9d2;--disc-bg:#050505;--disc-fg:#cfc3a8;--footer:#050505;--footer-t:#f3e9d2;--footer-a:#d4a017;--chip-bg:#2a2410;--chip-fg:#f0d78c;--pill-bg:#1a2e1a;--pill-fg:#86efac;--pill-bd:#166534;--font:system-ui,-apple-system,"Segoe UI",sans-serif;}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6}a{color:var(--accent)}img{max-width:100%;height:auto;display:block}.wrap{width:min(1180px,94%);margin:0 auto}.disc-bar{background:var(--disc-bg);color:var(--disc-fg);font-family:system-ui,sans-serif;font-size:.78rem;line-height:1.45;padding:.45rem 0;border-bottom:1px solid rgba(255,255,255,.08)}.disc-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.disc-bar p{margin:0;opacity:.95}.disc-bar .disc-tag{white-space:nowrap;background:rgba(255,255,255,.12);padding:.15rem .55rem;border-radius:999px;font-size:.7rem;letter-spacing:.02em}.top-bar{background:var(--header);border-bottom:1px solid var(--line);padding:.85rem 0}.top-bar-inner{display:grid;grid-template-columns:auto 1fr auto;gap:1.1rem;align-items:center}.logo{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text);min-width:0}.logo-mark{width:44px;height:44px;flex-shrink:0;border-radius:10px}.logo-text{font-family:system-ui,sans-serif;font-weight:800;font-size:1.15rem;line-height:1.15;letter-spacing:-.01em}.logo-text small{display:block;font-weight:500;font-size:.72rem;color:var(--muted);margin-top:.15rem;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-wrap{position:relative;max-width:420px;width:100%;justify-self:center;z-index:60}.search-field{position:relative}.search-wrap input{width:100%;padding:.65rem .9rem .65rem 2.4rem;border:1.5px solid var(--line);border-radius:999px;background:var(--search-bg);color:var(--text);font:inherit;font-size:.92rem;outline:none}.search-wrap input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-wrap .search-ico{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);opacity:.55;pointer-events:none}.search-results{position:absolute;left:0;right:0;top:calc(100% + .35rem);background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 36px rgba(0,0,0,.16);max-height:min(70vh,420px);overflow:auto;z-index:70}.search-results[hidden]{display:none!important}.sr-list{list-style:none;margin:0;padding:.35rem}.sr-list a{display:block;padding:.55rem .7rem;border-radius:10px;text-decoration:none;color:var(--text);font-family:system-ui,sans-serif;font-size:.88rem;line-height:1.35}.sr-list a:hover{background:var(--accent-soft);color:var(--accent)}.sr-kind{display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--chip-bg);color:var(--chip-fg);padding:.12rem .4rem;border-radius:999px;margin-right:.25rem}.sr-meta{color:var(--muted);font-size:.78rem}.sr-empty,.sr-more{margin:0;padding:.75rem .9rem;font-family:system-ui,sans-serif;font-size:.86rem;color:var(--muted)}.util-links{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;justify-content:flex-end;font-family:system-ui,sans-serif;font-size:.86rem}.util-links a{color:var(--muted);text-decoration:none}.util-links a:hover{color:var(--accent)}.btn-deals{display:inline-flex;align-items:center;gap:.35rem;background:var(--accent);color:#fff!important;text-decoration:none;padding:.45rem .85rem;border-radius:999px;font-weight:700;font-size:.82rem;border:0}.btn-deals:hover{filter:brightness(1.05)}.cat-bar{background:var(--nav-bg);border-bottom:2px solid var(--accent);position:sticky;top:0;z-index:40;box-shadow:0 2px 12px rgba(0,0,0,.06)}.cat-bar-inner{display:flex;align-items:center;gap:.35rem;padding:.35rem 0;overflow-x:auto;scrollbar-width:thin}.nav-toggle{display:none;background:var(--accent);color:#fff;border:0;padding:.4rem .75rem;border-radius:8px;cursor:pointer;font-family:system-ui,sans-serif;margin:.35rem 0}.primary-nav{display:flex;align-items:center;gap:.15rem;list-style:none;margin:0;padding:0;flex:1;flex-wrap:nowrap}.primary-nav>li{position:relative;flex-shrink:0}.primary-nav>li>a,.primary-nav>li>button.drop-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.55rem .7rem;border-radius:8px;text-decoration:none;color:var(--nav-fg);font-family:system-ui,sans-serif;font-size:.86rem;font-weight:600;background:transparent;border:0;cursor:pointer;white-space:nowrap}.primary-nav>li>a:hover,.primary-nav>li>button.drop-btn:hover,.primary-nav>li>a.active{background:var(--accent-soft);color:var(--accent)}.drop-menu{display:none;position:absolute;left:0;top:100%;min-width:220px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 28px rgba(0,0,0,.12);padding:.45rem;z-index:50;list-style:none;margin:0}.drop-menu a{display:block;padding:.45rem .65rem;border-radius:8px;text-decoration:none;color:var(--text);font-family:system-ui,sans-serif;font-size:.85rem}.drop-menu a:hover{background:var(--accent-soft);color:var(--accent)}.has-drop.open .drop-menu,.has-drop:focus-within .drop-menu{display:block}.status-pill{margin-left:auto;flex-shrink:0;font-family:system-ui,sans-serif;font-size:.72rem;font-weight:700;background:var(--pill-bg);color:var(--pill-fg);padding:.28rem .65rem;border-radius:999px;white-space:nowrap;border:1px solid var(--pill-bd)}.page{padding:1.25rem 0 2rem}.disclaimer-inline{display:none}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;padding:1.5rem 0 1.8rem;align-items:center}.hero h1{font-size:clamp(1.7rem,3.6vw,2.55rem);line-height:1.18;margin:0 0 .75rem;letter-spacing:-.02em}.lead{font-size:1.05rem;margin:0 0 1rem}.btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;padding:.7rem 1.15rem;border-radius:999px;font-family:system-ui,sans-serif;font-weight:700}.btn.secondary{background:transparent;color:var(--accent);border:2px solid var(--accent)}.stats{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0 0;font-family:system-ui,sans-serif;font-size:.82rem}.stats span{background:var(--card);border:1px solid var(--line);padding:.32rem .6rem;border-radius:8px;color:var(--muted)}.hero img{width:100%;border-radius:16px;aspect-ratio:4/3;object-fit:cover;box-shadow:0 10px 30px rgba(0,0,0,.1)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:2rem 0 .85rem;flex-wrap:wrap}.section-head h2{margin:0;font-size:1.3rem;color:var(--accent)}.section-head a{font-family:system-ui,sans-serif;font-size:.86rem}.chip-nav{display:flex;flex-wrap:wrap;gap:.4rem;margin:.8rem 0 1.2rem}.chip-nav a{font-family:system-ui,sans-serif;font-size:.78rem;text-decoration:none;background:var(--chip-bg);color:var(--chip-fg);padding:.28rem .55rem;border-radius:999px}.grid,.grid-tight{display:grid;gap:1rem}.grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.grid-tight{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:.7rem}.home-cat .grid-tight{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:.6rem}.home-cat .card .body{padding:.55rem .6rem .7rem}.home-cat .card h3{font-size:.86rem}.home-cat .meta-line{display:none}.home-cat .cal-badge{font-size:.62rem;padding:.18rem .38rem}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 3px 12px rgba(0,0,0,.05);transition:transform .15s ease,box-shadow .15s ease}.card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.1)}.card a.card-link{text-decoration:none;color:inherit;display:block}.card-media{position:relative;background:var(--line)}.card-media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:0}.cal-badge{position:absolute;top:.5rem;left:.5rem;background:rgba(20,20,20,.82);color:#fff;font-family:system-ui,sans-serif;font-size:.68rem;font-weight:700;padding:.22rem .45rem;border-radius:999px;backdrop-filter:blur(4px);letter-spacing:.01em}.card .body{padding:.7rem .8rem .9rem}.card h3{margin:.1rem 0 .3rem;font-size:.95rem;line-height:1.3}.price-tag{font-family:system-ui,sans-serif;font-size:.84rem;color:var(--accent);font-weight:700;margin:0}.meta-line{font-family:system-ui,sans-serif;font-size:.75rem;color:var(--muted);margin:.35rem 0 0}.pill{display:inline-block;background:var(--chip-bg);color:var(--chip-fg);padding:.1rem .45rem;border-radius:999px;font-size:.68rem;font-family:system-ui,sans-serif;font-weight:600;margin-bottom:.25rem}.card.is-hidden{display:none}.muted{color:var(--muted)}.breadcrumbs{font-family:system-ui,sans-serif;font-size:.84rem;margin:.5rem 0 1rem;color:var(--muted)}.prose{max-width:760px}.prose h2{margin-top:1.8rem;color:var(--accent)}.faq details{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.75rem 1rem;margin:.5rem 0}table.prices{width:100%;border-collapse:collapse;font-family:system-ui,sans-serif;font-size:.9rem;margin:1rem 0}table.prices th,table.prices td{border:1px solid var(--line);padding:.45rem .6rem;text-align:left;background:var(--card)}.cat-block{margin:1.8rem 0}.info-panel{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.2rem 1.35rem;margin:1rem 0}.info-panel h2{margin-top:0;color:var(--accent)}.search-empty{display:none;padding:1.5rem;text-align:center;color:var(--muted);font-family:system-ui,sans-serif}.search-empty.show{display:block}.site-footer{background:var(--footer);color:var(--footer-t);margin-top:3rem;padding:2.4rem 0 2rem;font-family:system-ui,sans-serif}.site-footer a{color:var(--footer-a)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:1.4rem}.social-heading{margin:.85rem 0 .35rem;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;opacity:.9}.socials{display:flex;gap:.55rem;margin-top:.35rem;flex-wrap:wrap}.soc{color:var(--footer-t);display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .7rem;border:1px solid rgba(255,255,255,.28);border-radius:999px;text-decoration:none;font-size:.78rem;font-weight:600;background:rgba(255,255,255,.06)}.soc svg{flex-shrink:0;width:20px;height:20px}.soc:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.45)}@media(max-width:900px){.top-bar-inner{grid-template-columns:1fr;gap:.75rem}.search-wrap{max-width:none;justify-self:stretch}.util-links{justify-content:flex-start}.hero{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.nav-toggle{display:inline-block}.primary-nav{display:none;flex-direction:column;align-items:stretch;width:100%;padding:.4rem 0 .7rem}.cat-bar.open .primary-nav{display:flex}.status-pill{margin:0}.drop-menu{position:static;box-shadow:none;border:0;padding-left:.5rem}.has-drop.open .drop-menu{display:block}}.logo-mark{width:44px;height:44px;flex-shrink:0;border-radius:10px;content-visibility:auto}.home-cat-preview .grid-tight{content-visibility:auto;contain-intrinsic-size:auto 320px}.home-cat[hidden],.is-collapsed-cat .grid-tight{display:none}.cat-more{font-family:system-ui,sans-serif;font-size:.86rem;margin:.55rem 0 0}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:1.4rem}.footer-brand p{opacity:.85;font-size:.9rem}.footer-stats{display:flex;flex-wrap:wrap;gap:.4rem;margin:.7rem 0}.footer-stats span{background:rgba(255,255,255,.1);padding:.22rem .5rem;border-radius:999px;font-size:.72rem}.footer-col strong{display:block;margin-bottom:.45rem;font-size:.92rem}.footer-col ul{list-style:none;padding:0;margin:0;line-height:1.85;font-size:.86rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:1.6rem;padding-top:1rem;font-size:.8rem;opacity:.88}.footer-bottom .copy{margin:.35rem 0 0}.stat-count{opacity:.75;font-size:.78rem}.faq-lead{margin:.25rem 0 1rem}.faq details+details{margin-top:.45rem}@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.footer-grid{grid-template-columns:1fr}}.guide-editorial .guide-kicker{font-family:system-ui,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 .5rem}.guide-editorial .guide-lede{font-size:1.08rem;line-height:1.65}.guide-editorial .guide-callout{background:var(--accent-soft);border-left:4px solid var(--accent);padding:.85rem 1rem;margin:1.1rem 0;border-radius:0 12px 12px 0;font-family:system-ui,sans-serif;font-size:.92rem}.guide-editorial .guide-steps{margin:.6rem 0 1rem;padding-left:1.2rem;font-family:system-ui,sans-serif}.guide-editorial .guide-steps li{margin:.35rem 0}.guide-editorial .guide-faq{display:grid;gap:.85rem;margin:1rem 0 1.5rem}.guide-editorial .guide-faq-item{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.85rem 1rem}.guide-editorial .guide-faq-item h3{margin:.1rem 0 .4rem;font-size:1rem;font-family:system-ui,sans-serif}.guide-editorial h3{margin-top:1.1rem;font-size:1.05rem;color:var(--text)}.guide-editorial .guide-outro,.guide-editorial .guide-pad{margin-top:1.2rem}.tips-listicle .tips-eyebrow{font-family:system-ui,sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 .4rem}.tips-listicle .tips-lede{font-size:1.05rem}.tips-listicle .tips-tldr{background:var(--card);border:2px dashed var(--accent);border-radius:14px;padding:.85rem 1rem;margin:1rem 0;font-family:system-ui,sans-serif;font-size:.95rem}.tips-listicle .tips-grid{display:grid;gap:.85rem;margin:1rem 0}.tips-listicle .tip-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:.9rem 1rem}.tips-listicle .tip-card strong{color:var(--accent)}.tips-listicle .tips-bullets,.tips-listicle .tips-check{margin:.45rem 0 0;padding-left:1.15rem;font-family:system-ui,sans-serif;font-size:.92rem}.tips-listicle .tips-bullets li,.tips-listicle .tips-check li{margin:.3rem 0}.tips-listicle .tips-note{font-size:.9rem;color:var(--muted)}.tips-listicle .tips-outro{font-family:system-ui,sans-serif;font-weight:600}.city-compare .city-kicker{font-family:system-ui,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 .45rem}.city-compare .city-lede{font-size:1.06rem;line-height:1.65}.city-compare .compare-block{margin:1.2rem 0;padding:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card)}.city-compare .compare-block figcaption{font-family:system-ui,sans-serif;font-size:.78rem;color:var(--muted);padding:.55rem .85rem;border-bottom:1px solid var(--line)}.city-compare .compare-scroll{overflow-x:auto}.city-compare .compare-table{width:100%;border-collapse:collapse;font-family:system-ui,sans-serif;font-size:.86rem}.city-compare .compare-table th,.city-compare .compare-table td{padding:.55rem .7rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.city-compare .compare-table th{background:var(--accent-soft);font-weight:700}.city-compare .city-compare-note{background:var(--accent-soft);border-radius:12px;padding:.75rem 1rem;margin:1rem 0;font-family:system-ui,sans-serif;font-size:.92rem}.city-compare .city-split{display:grid;gap:.35rem;padding-left:1.1rem;font-family:system-ui,sans-serif;font-size:.9rem}.city-compare .city-faq{margin:1rem 0 1.4rem}.city-compare .city-faq dt{font-family:system-ui,sans-serif;font-weight:700;margin-top:.75rem}.city-compare .city-faq dd{margin:.25rem 0 .5rem;color:var(--muted)}.art-meta{font-family:system-ui,sans-serif;font-size:.86rem}.guide-editorial .guide-products{display:grid;gap:1rem;margin:1rem 0 1.5rem}.guide-editorial .guide-product-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.9rem 1.05rem}.guide-editorial .guide-product-card h3{margin:.1rem 0 .45rem;font-size:1.05rem}.tips-listicle .tip-product{border-style:dashed}.tips-listicle .tip-product .muted,.guide-editorial .guide-product-card .muted{opacity:.75;font-weight:500;font-size:.92em}.scroll-top{position:fixed;right:1.15rem;bottom:1.35rem;z-index:99999;width:56px;height:56px;border-radius:999px;border:3px solid #fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;background:#111;color:#fff;box-shadow:0 10px 28px rgba(0,0,0,.45),0 0 0 3px #d4a017;opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease,filter .15s ease}.scroll-top.is-visible{opacity:1;pointer-events:auto;transform:none}.scroll-top:hover{filter:brightness(1.12);background:#d4a017}.scroll-top:focus-visible{outline:3px solid #d4a017;outline-offset:3px}.scroll-top svg{width:26px;height:26px}.home-cat .grid-tight{content-visibility:auto;contain-intrinsic-size:auto 280px}