:root{--ink:#27272a;--ink2:#3f3f46;--muted:#71717a;--rule:#e4e4e7;--bg:#ffffff;--bg2:#fafaf9;--accent:#e06a4f;--accent2:#c9553c;--serif:'Playfair Display',Georgia,serif;--sans:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif}
*{box-sizing:border-box}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
header{border-bottom:1px solid var(--rule)}
.top{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{font-family:var(--serif);font-weight:700;font-size:22px;letter-spacing:-.01em;text-decoration:none}
.brand small{display:block;font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:2px}
.top a.cta{font-size:14px;font-weight:600;text-decoration:none;background:var(--ink);color:#fff;padding:10px 16px;border-radius:999px}
nav.cities{display:flex;gap:22px;overflow-x:auto;padding:12px 0;font-size:13px;font-weight:500;color:var(--ink2);white-space:nowrap;scrollbar-width:none}
nav.cities::-webkit-scrollbar{display:none}
nav.cities a{text-decoration:none}nav.cities a:hover,nav.cities a.on{color:var(--accent)}
.hero{padding:72px 0 40px;text-align:center}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
h1{font-family:var(--serif);font-weight:600;font-size:clamp(36px,5.2vw,60px);line-height:1.08;margin:14px auto 18px;max-width:18ch;letter-spacing:-.01em}
.lede{font-size:18px;color:var(--ink2);max-width:60ch;margin:0 auto 30px}
form.sub{max-width:560px;margin:0 auto;text-align:left;background:var(--bg2);border:1px solid var(--rule);border-radius:16px;padding:22px}
form.sub label{display:block;font-size:13px;font-weight:600;margin:12px 0 6px}
form.sub input,form.sub select{width:100%;font:inherit;font-size:15px;padding:12px 14px;border:1px solid #d4d4d8;border-radius:10px;background:#fff}
form.sub .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
form.sub .help{font-size:12px;color:var(--muted);margin-top:6px}
form.sub button{width:100%;margin-top:16px;font:inherit;font-weight:700;font-size:16px;background:var(--accent);color:#fff;border:0;border-radius:10px;padding:14px;cursor:pointer}
form.sub button:hover{background:var(--accent2)}form.sub button:disabled{opacity:.7;cursor:default}
form.sub .fine{font-size:12px;color:var(--muted);text-align:center;margin:12px 0 0}
form.sub label.share{display:flex;gap:10px;align-items:flex-start;font-size:13px;font-weight:400;line-height:1.45;color:var(--muted);margin:16px 0 0;cursor:pointer}
form.sub label.share input{width:18px;height:18px;flex:0 0 18px;margin:1px 0 0;padding:0}
.msg{display:none;margin-top:14px;padding:12px 14px;border-radius:10px;font-size:14px}
.msg.ok{display:block;background:#ecfdf5;color:#065f46}.msg.err{display:block;background:#fef2f2;color:#991b1b}
.proof{font-size:14px;color:var(--muted);margin-top:22px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:56px 24px}
.card{border:1px solid var(--rule);border-radius:16px;padding:26px;background:#fff}
.card .k,.k{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.card h3{font-family:var(--serif);font-size:24px;margin:10px 0 8px;font-weight:600}
.card p{margin:0;color:var(--ink2);font-size:15px}
.band{background:var(--bg2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:56px 0}
.band h2{font-family:var(--serif);font-size:34px;font-weight:600;margin:0 0 8px}
.band p{max-width:64ch;color:var(--ink2)}
.faq{padding:56px 24px;max-width:808px}
.faq h2{font-family:var(--serif);font-size:34px;font-weight:600;margin:0 0 20px}
.faq details{border-top:1px solid var(--rule);padding:16px 0}
.faq summary{font-weight:600;cursor:pointer;font-size:17px}
.faq p{color:var(--ink2);margin:10px 0 0}
footer{border-top:1px solid var(--rule);padding:40px 0 48px;font-size:13px;color:var(--muted)}
footer .grid{display:grid;grid-template-columns:2fr 3fr;gap:32px}
footer .dir{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 24px}
footer a{text-decoration:none;color:var(--ink2)}footer a:hover{color:var(--accent)}
.proof.li{margin-top:8px}.proof.li a{color:var(--accent);font-weight:600;text-decoration:none}.proof.li a:hover{color:var(--accent2)}
footer .li a{color:var(--accent);font-weight:600}
footer .legal{margin-top:28px;padding-top:18px;border-top:1px solid var(--rule)}
@media(max-width:820px){.cards{grid-template-columns:1fr}footer .grid{grid-template-columns:1fr}form.sub .row{grid-template-columns:1fr}.hero{padding-top:48px}}
.doc{max-width:808px;padding:0 24px 56px}
.rules{border-top:1px solid var(--rule);padding:28px 0}
.rules h2{font-family:var(--serif);font-size:30px;font-weight:600;margin:8px 0 6px}
.rules h3{font-size:17px;margin:22px 0 4px}
.rules p,.rules li{color:var(--ink2);margin:0 0 8px}
.fine{font-size:13px;color:var(--muted)}
.guide .card p{margin:0 0 8px}.guide .card a{color:var(--accent);font-weight:600;text-decoration:none}
.deal{background:var(--bg2);border-radius:10px;padding:10px 12px}
.stats{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;margin:8px 0 4px}
.stat b{display:block;font-family:var(--serif);font-size:44px;font-weight:600;line-height:1.1}
.stat span{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
.card p.price{font-family:var(--serif);font-size:28px;font-weight:600;margin:10px 0 8px!important;color:var(--ink)!important}
.card p.price small{display:block;font-family:var(--sans);font-size:13px;font-weight:500;color:var(--muted)}
.offer{border:1px solid var(--accent);background:#fff7f4;border-radius:16px;padding:22px 26px;margin:0 0 8px}
.offer p{margin:8px 0 0;color:var(--ink2)}
.twocol{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:48px 24px 64px}
.twocol h2{font-family:var(--serif);font-size:30px;font-weight:600;margin:0 0 16px}
.steps,.adv-rules{padding-left:20px;margin:0 0 32px;color:var(--ink2)}.steps li,.adv-rules li{margin-bottom:10px}
form.adv{max-width:none}form.adv textarea{width:100%;font:inherit;font-size:15px;padding:12px 14px;border:1px solid #d4d4d8;border-radius:10px;background:#fff}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(max-width:820px){.twocol{grid-template-columns:1fr;gap:16px}.stats{gap:24px}.stat b{font-size:34px}}
.adv-hero{padding-left:24px;padding-right:24px}
.card.partner{margin-bottom:24px}.offer+.offer{margin-top:16px}
.story{max-width:808px;padding:56px 24px 16px}
.story h1{max-width:none;margin:12px 0 10px;font-size:clamp(30px,4.2vw,46px)}
.story p{font-size:18px;color:var(--ink2);margin:0 0 18px}
.story a,.doc a,.heads a{color:var(--accent2)}
.story .dateline{font-size:13px;color:var(--muted);margin-bottom:26px}.story .dateline a{color:var(--muted)}
.story .fine{font-size:13px;color:var(--muted);border-top:1px solid var(--rule);padding-top:16px;margin-top:28px}
.signup{background:var(--bg2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);max-width:none;padding:56px 24px}
.signup h2{font-family:var(--serif);font-weight:600;font-size:clamp(28px,3.6vw,40px);margin:12px auto 12px;max-width:22ch;line-height:1.12}
.sub-h{font-family:var(--serif);font-size:30px;font-weight:600;margin:48px 0 6px}
.list{list-style:none;padding:0;margin:8px 0 0}.list li{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--rule);padding:14px 0;font-size:17px}
.list li a{text-decoration:none;font-weight:600;color:var(--ink)}.list li a:hover{color:var(--accent)}.list li span{color:var(--muted);font-size:13px;white-space:nowrap}
.rules h3 a{text-decoration:none;color:var(--ink)}.rules h3 a:hover{color:var(--accent)}
.heads{padding-left:20px}.heads li{margin-bottom:12px}
.latest{padding-bottom:8px}.latest .more{font-size:14px;margin-top:14px}.latest .more a{font-weight:600;text-decoration:none}
.photo{max-width:808px;margin:8px auto 0;padding:0 24px}.photo img{width:100%;height:auto;border-radius:16px;display:block}
.photo figcaption{font-size:12px;color:var(--muted);margin-top:8px}.photo figcaption a{color:var(--muted)}
.photo.banner{max-width:1120px;margin-top:24px}.photo.banner img{height:clamp(140px,24vw,300px);object-fit:cover}
.proof.count{margin-top:16px;color:var(--ink2)}.proof.count a{color:var(--accent);font-weight:600;text-decoration:none}
.card p.book{margin-top:14px}.card p.book a{display:inline-block;font-weight:700;font-size:14px;text-decoration:none;color:#fff;background:var(--ink);border-radius:999px;padding:9px 16px}.card p.book a:hover{background:var(--accent)}
.photo.banner+.hero{padding-top:36px}
@media(max-width:820px){.photo.banner img{height:150px}.photo.banner+.hero{padding-top:24px}}
