:root{--cream:#faf7f0;--card:#fff;--ink:#2a2620;--muted:#5c5246;--pine:#2e5339;--pine-dk:#22402b;
--pine-t:#e8efe7;--bark:#b59c7e;--bark-tx:#6e5338;--sand:#f3ece0;--focus:#c26a1a}
*{box-sizing:border-box}html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--cream);color:var(--ink);font:18px/1.65 Lato,system-ui,sans-serif;overflow-x:hidden}
h1,h2,h3{font-family:"Libre Baskerville",Georgia,serif;line-height:1.25;color:var(--ink)}
a{color:var(--pine)}a:hover{color:var(--pine-dk)}
p a,li a,dd a{overflow-wrap:anywhere}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.xco-skip{position:absolute;left:-999px;top:0;background:var(--pine);color:#fff;padding:12px 16px;z-index:50}
.xco-skip:focus{left:16px}
.xco-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.xco-wm{font-family:"Libre Baskerville",Georgia,serif;font-weight:700;font-size:1.25rem}
.xco-wm-a{color:var(--pine)}.xco-wm-b{color:var(--bark-tx)}
.xco-top{background:var(--card);border-bottom:1px solid var(--bark)}
.xco-top .xco-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;min-height:68px}
.xco-top a.xco-home{text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.xco-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;flex-wrap:wrap}
.xco-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;text-decoration:none;color:var(--ink);font-size:.95rem;border-bottom:2px solid transparent}
.xco-nav a:hover{border-bottom-color:var(--pine);color:var(--pine)}
.xco-hero{text-align:center;padding:56px 0 36px}
.xco-badge{display:inline-block;background:var(--pine);color:#fff;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;padding:6px 14px;border-radius:2px;margin-bottom:14px}
.xco-eyebrow{color:var(--bark-tx);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px}
.xco-hero h1{font-size:clamp(2rem,5vw,3.2rem);margin:0 0 18px}
.xco-hero h1 em{color:var(--pine);font-style:normal}
.xco-disc{max-width:720px;margin:0 auto 20px;background:var(--sand);border:1px solid var(--bark);padding:14px 18px;font-size:.95rem;text-align:left}
.xco-disc b{display:block;color:var(--bark-tx);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.xco-stand{max-width:66ch;margin:0 auto 10px;color:var(--muted)}
.xco-upd{font-size:.85rem;color:var(--muted)}
.xco-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;list-style:none;padding:0;margin:0 0 48px}
.xco-cards a{display:block;height:100%;background:var(--card);border:1px solid var(--bark);border-top:4px solid var(--pine);padding:14px 14px 16px;text-decoration:none;color:var(--ink);min-height:44px;transition:transform .15s}
.xco-cards a:hover{transform:translateY(-2px)}
.xco-cards .xco-cn{font-family:"Libre Baskerville",serif;color:var(--pine);font-size:1.4rem;display:block}
.xco-cards strong{display:block;font-size:.95rem;line-height:1.35}
.xco-cards small{display:block;color:var(--muted);font-size:.8rem;margin-top:4px}
.xco-sec{padding:40px 0;border-top:1px solid var(--bark)}
.xco-sec h2{font-size:clamp(1.5rem,3vw,2rem);margin:0 0 12px}
.xco-lede{max-width:68ch;color:var(--muted)}
.xco-filters{background:var(--card);border:1px solid var(--bark);padding:16px 18px;margin:0 0 28px}
.xco-fgroup{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0}
.xco-fgroup span{font-size:.85rem;color:var(--bark-tx);text-transform:uppercase;letter-spacing:.08em;min-width:110px}
.xco-fbtn{font:inherit;font-size:.9rem;min-height:44px;padding:0 14px;border:1px solid var(--pine);background:var(--card);color:var(--pine);cursor:pointer;border-radius:2px}
.xco-fbtn[aria-pressed="true"]{background:var(--pine);color:#fff}
.xco-count{margin:8px 0 0;font-size:.9rem;color:var(--muted)}
.xco-tw{overflow-x:auto;background:var(--card);border:1px solid var(--bark)}
.xco-cmp{width:100%;border-collapse:collapse;font-size:.92rem}
.xco-cmp caption{text-align:left;padding:12px 14px;color:var(--muted);caption-side:top}
.xco-cmp th,.xco-cmp td{padding:10px 12px;border-top:1px solid #e6dccd;text-align:left;vertical-align:top}
.xco-cmp thead th{background:var(--pine-t);color:var(--pine-dk);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
.xco-hotel{background:var(--card);border:1px solid var(--bark);margin:0 0 28px;scroll-margin-top:16px;position:relative}
.xco-hotel[hidden]{display:none}
.xco-strip{display:flex;align-items:center;gap:16px;padding:14px 18px;background:var(--pine-t);border-bottom:1px solid var(--bark);flex-wrap:wrap}
.xco-rank{flex:none;width:52px;height:52px;border-radius:50%;background:var(--pine);color:#fff;display:flex;align-items:center;justify-content:center;font-family:"Libre Baskerville",serif;font-size:1.3rem}
.xco-mono{flex:none;width:52px;height:52px;border:1px solid var(--bark);background:var(--cream);color:var(--bark-tx);display:flex;align-items:center;justify-content:center;font-family:"Libre Baskerville",serif;font-size:1rem;letter-spacing:.05em}
.xco-id{flex:1 1 240px;min-width:0}
.xco-id h3{margin:0;font-size:1.3rem}
.xco-id p{margin:2px 0 0;color:var(--muted);font-size:.95rem}
.xco-tag{flex:none;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;background:var(--card);color:var(--pine-dk);border:1px solid var(--pine);padding:4px 10px}
.xco-cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0}
.xco-col{padding:18px;min-width:0}
.xco-col+.xco-col{border-left:1px solid #e6dccd}
.xco-col h4{margin:0 0 8px;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bark-tx)}
.xco-col p{margin:0 0 12px;font-size:.95rem}
.xco-col ul{margin:0 0 12px;padding-left:18px;font-size:.95rem}
.xco-col li{margin:0 0 4px}
.xco-hl{background:var(--sand);border-left:3px solid var(--pine);padding:10px 12px;margin:0 0 14px;font-size:.95rem}
.xco-cta{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;min-height:48px;padding:0 22px;background:var(--pine);color:#fff;text-decoration:none;font-weight:700;border-radius:2px;margin:4px 0 12px}
.xco-cta:hover{background:var(--pine-dk);color:#fff}
.xco-hotel details{font-size:.92rem}
.xco-hotel summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--pine);font-weight:700}
.xco-own{border:3px solid var(--pine)}
.xco-ribbon{background:var(--pine);color:#fff;font-size:.85rem;padding:8px 18px;letter-spacing:.03em}
.xco-faq details{background:var(--card);border:1px solid var(--bark);margin:0 0 10px;padding:0 18px}
.xco-faq summary{min-height:52px;display:flex;align-items:center;cursor:pointer;font-weight:700}
.xco-faq details p{margin:0 0 16px;max-width:68ch}
.xco-method p,.xco-method li{max-width:68ch}
.xco-foot{background:var(--card);border-top:1px solid var(--bark);margin-top:40px;padding:36px 0 28px;font-size:.92rem;color:var(--muted)}
.xco-fgrid{display:grid;grid-template-columns:1.3fr 1fr;gap:28px}
.xco-foot ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:4px 14px}
.xco-foot ul a,.xco-linkbtn{display:inline-flex;align-items:center;min-height:44px;color:var(--pine)}
.xco-linkbtn{font:inherit;background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}
.xco-aff{background:var(--sand);border:1px solid var(--bark);padding:10px 14px;margin:14px 0}
.xco-small{font-size:.85rem}
.xco-page{max-width:820px;margin:0 auto;padding:48px 24px 0}
.xco-page header{text-align:center;margin-bottom:22px}
.xco-page h1{font-size:clamp(1.8rem,4vw,2.5rem);margin:0 0 16px}
.xco-sheet{background:var(--card);border:1px solid var(--bark);padding:28px 32px}
.xco-sheet h2{font-size:1.3rem;margin:28px 0 8px}
.xco-sheet h2:first-child{margin-top:0}
.xco-toc{border:1px dashed var(--bark);padding:12px 16px;margin:0 0 20px;font-size:.92rem}
.xco-toc ol{margin:6px 0 0;padding-left:20px}
.xco-form label{display:block;font-weight:700;margin:14px 0 4px;font-size:.95rem}
.xco-form input,.xco-form select,.xco-form textarea{width:100%;font:inherit;padding:10px 12px;border:1px solid var(--bark-tx);background:#fff;min-height:44px}
.xco-form .xco-chk{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.xco-form .xco-chk input{width:22px;height:22px;min-height:0;margin-top:4px;flex:none}
.xco-btn{font:inherit;font-weight:700;min-height:44px;padding:0 18px;border:1px solid var(--pine);background:var(--pine);color:#fff;cursor:pointer;border-radius:2px;white-space:nowrap}
.xco-btn.xco-ghost{background:#fff;color:var(--pine)}
.xco-cbar{position:fixed;left:12px;right:12px;bottom:12px;z-index:40;max-width:880px;margin:0 auto;background:var(--card);border:1px solid var(--bark-tx);box-shadow:0 6px 18px rgba(42,38,32,.15);padding:12px 16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.xco-cbar[hidden]{display:none}
.xco-cbar p{margin:0;flex:1 1 280px;font-size:.88rem}
.xco-cbtns{display:flex;gap:8px}
.xco-dlg{border:1px solid var(--bark-tx);padding:22px;max-width:480px;width:calc(100% - 32px);background:var(--card);color:var(--ink)}
.xco-dlg::backdrop{background:rgba(42,38,32,.35)}
.xco-dlg h2{margin:0 0 10px;font-size:1.25rem}
.xco-opt{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #e6dccd;padding:10px 0}
.xco-opt input{width:22px;height:22px}
@media (max-width:1024px){.xco-cards{grid-template-columns:repeat(5,minmax(0,1fr))}.xco-cols{grid-template-columns:1fr 1fr}.xco-col:last-child{grid-column:1/-1;border-left:0;border-top:1px solid #e6dccd}}
@media (max-width:760px){
.xco-wrap{padding:0 16px}.xco-page{padding:32px 16px 0}.xco-sheet{padding:20px 16px}
.xco-hero{padding:36px 0 28px}
.xco-cards{grid-template-columns:1fr 1fr}
.xco-cols{grid-template-columns:1fr}.xco-col+.xco-col{border-left:0;border-top:1px solid #e6dccd}
.xco-fgrid{grid-template-columns:1fr}
.xco-fgroup span{min-width:100%}
.xco-tw{overflow:visible;background:none;border:0}
.xco-st thead{display:none}.xco-st,.xco-st tbody,.xco-st tr,.xco-st td,.xco-st th{display:block;width:100%}
.xco-st tr{background:var(--card);border:1px solid var(--bark);margin:0 0 12px}
.xco-st td,.xco-st th[scope=row]{border-top:1px solid #efe7da;display:grid;grid-template-columns:42% 58%;gap:8px}
.xco-st td::before,.xco-st th[scope=row]::before{content:attr(data-label);font-weight:700;color:var(--bark-tx);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}
.xco-cmp caption{padding:0 0 10px}
.xco-cbar{left:8px;right:8px;bottom:8px;padding:10px 12px;gap:8px}
.xco-cbtns{width:100%}.xco-cbtns .xco-btn{flex:1 1 0;padding:0 6px;font-size:.82rem;white-space:normal;line-height:1.2}
.xco-nav a{padding:0 8px}
}
