:root{--porcelain:#f6f2f0;--paper:#fbf9f8;--aubergine:#211829;--aubergine-2:#2e2233;--gold:#b98f4e;--gold-lite:#d9bc86;--charcoal:#1a1614;--ecru:#e4dad0;--blush:#c9a9a6;--muted:#8b8189;--line:rgba(26,22,20,.12);--line-soft:rgba(26,22,20,.07);--serif:"Canela Deck","GT Sesto","Hoefler Text",Didot,"Playfair Display",Georgia,serif;--sans:"Söhne","Neue Haas Grotesk Text",-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,system-ui,sans-serif;--mono:"Söhne Mono","SF Mono",ui-monospace,Menlo,monospace;--maxw:1160px}*{box-sizing:border-box}body{margin:0;background:var(--porcelain);color:var(--charcoal);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;text-wrap:balance}a{color:inherit;text-decoration:none}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}.eyebrow{font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:600}.muted{color:var(--muted)}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:rgba(33,24,41,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ede6ec;border-bottom:1px solid hsla(0,0%,100%,.08)}.nav .in{display:flex;align-items:center;gap:22px;max-width:var(--maxw);margin:0 auto;padding:14px 26px}.nav .links{display:flex;gap:20px;margin-left:8px;font-size:13.5px;color:#c6b9c8}.nav .spacer{flex:1 1}.nav .cta{background:var(--gold);color:#2a1e10;font-weight:600;font-size:13px;padding:8px 15px;border-radius:22px}.wordmark{font-family:var(--serif);letter-spacing:.06em;display:inline-flex;align-items:center;gap:9px}.foot{background:var(--aubergine);color:#b3a6b6;padding:40px 0 36px}.foot .in{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;max-width:var(--maxw);margin:0 auto;padding:0 26px}.foot p{font-size:13px;color:#8e8091;max-width:46ch}.footlinks{display:flex;gap:44px;flex-wrap:wrap}.footlinks .fh{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-lite);font-weight:700;margin-bottom:10px}.footlinks a{display:block;font-size:13px;color:#b3a6b6;padding:3px 0}.footlinks a:hover{color:#f4edf3}.hero{background:linear-gradient(160deg,#241a2c,#2e2233 55%,#3a2a38);color:#efe7ee;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-10%;top:-25%;width:60%;height:150%;background:radial-gradient(ellipse,rgba(185,143,78,.22),transparent 60%)}.hero .in{max-width:var(--maxw);margin:0 auto;padding:70px 26px 60px;position:relative;z-index:1}.hero h1{font-size:clamp(36px,5.6vw,62px);line-height:1.03;margin:16px 0;color:#f4edf3;max-width:15ch}.hero h1 em{font-style:italic;color:var(--gold-lite)}.hero .lede{font-size:19px;color:#cfc1cb;max-width:52ch}.search{margin-top:34px;background:var(--paper);border-radius:10px;padding:8px;display:flex;gap:6px;max-width:720px;box-shadow:0 24px 60px -28px rgba(0,0,0,.6)}.search .f{flex:1 1;padding:10px 14px;border-right:1px solid var(--line-soft)}.search .f:last-of-type{border-right:0}.search .k{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}.search .v{font-size:15px;margin-top:2px;color:var(--charcoal)}.search .v.ph{color:#b4aab2}.search .go{flex:none;background:var(--aubergine);color:#f3ecf2;border-radius:7px;padding:0 22px;display:flex;align-items:center;font-family:var(--serif)}section{padding:52px 0}.sec-head{max-width:64ch;margin-bottom:24px}.sec-head h2{font-size:clamp(24px,3.2vw,34px);margin:8px 0}.alt{background:var(--paper);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.cats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px}.ctile{border-radius:8px;min-height:140px;display:flex;align-items:flex-end;padding:16px;color:#f2ecf2;position:relative;overflow:hidden}.ctile .name{font-family:var(--serif);font-size:19px;position:relative;z-index:2}.ctile:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(33,24,41,.15),rgba(33,24,41,.82));z-index:1}.rankpage{max-width:var(--maxw);margin:36px auto;padding:0 26px}.crumb{font-size:12px;color:var(--muted);letter-spacing:.04em}.rankpage h1{font-size:32px;margin:8px 0}.intro{font-size:15px;color:#5a5048;max-width:74ch}.filters{display:flex;gap:8px;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);margin:18px 0}.filters .f{font-size:12.5px;padding:6px 12px;border:1px solid var(--line);border-radius:20px;background:var(--paper);color:#5a5048}.filters .f.on{background:var(--aubergine);color:#efe7ee;border-color:var(--aubergine)}.filters .sort{margin-left:auto;font-size:12.5px;color:var(--muted);align-self:center}.plist{list-style:none;margin:0;padding:0}.pcard{display:grid;grid-template-columns:150px 1fr auto;grid-gap:20px;gap:20px;padding:20px 0;border-bottom:1px solid var(--line-soft);align-items:center}.pcard .photo{width:150px;height:110px;border-radius:8px;position:relative;background:linear-gradient(135deg,#3a2b34,#6a4b52)}.pcard .photo .rk{position:absolute;left:8px;top:8px;background:rgba(33,24,41,.9);color:var(--gold-lite);font-family:var(--serif);font-size:15px;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center}.pcard h3{font-size:19px;margin:0 0 4px}.pbadges{display:flex;gap:7px;flex-wrap:wrap;margin:6px 0 8px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;letter-spacing:.05em;font-weight:700;padding:3px 10px;border-radius:20px}.b-verified{background:rgba(110,135,122,.16);color:#496254}.b-featured{background:rgba(185,143,78,.16);color:#8a6428}.b-tier{background:var(--aubergine);color:var(--gold-lite)}.stars{color:var(--gold);font-size:13px;letter-spacing:1px}.stars span{color:var(--muted);font-size:12.5px;letter-spacing:0;margin-left:5px}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.chip{font-size:11.5px;padding:3px 9px;border-radius:14px;background:rgba(26,22,20,.05);color:#5a5048}.why{font-size:13px;color:var(--muted);font-style:italic;margin-top:9px;max-width:52ch}.pcard .act{text-align:right;min-width:150px}.score{font-family:var(--serif);font-size:30px;color:var(--gold);line-height:1}.score small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:3px}.book{margin-top:14px;background:var(--aubergine);color:#f3ecf2;font-size:13.5px;font-weight:600;padding:10px 16px;border-radius:8px;display:inline-block;cursor:pointer}.resp{display:block;font-size:11.5px;color:#6e877a;margin-top:6px}.pcard.feat{background:linear-gradient(90deg,rgba(185,143,78,.07),transparent)}.quiz{max-width:580px;margin:52px auto;padding:0 26px}.qbar{height:6px;background:var(--line-soft);overflow:hidden;margin-bottom:22px}.qbar,.qbar i{border-radius:6px}.qbar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold-lite),var(--gold));box-shadow:0 0 12px rgba(185,143,78,.55);transition:width .45s cubic-bezier(.4,0,.2,1)}.qn{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600}.quiz h1{font-family:var(--serif);font-size:29px;line-height:1.1;margin:8px 0 20px;color:var(--charcoal)}.qopt{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;border:1px solid var(--line);border-radius:11px;padding:15px 18px;font-size:15.5px;color:#5a5048;margin-bottom:10px;cursor:pointer;background:var(--paper);font-family:var(--sans);transition:border-color .18s,background .18s,transform .12s,box-shadow .18s}.qopt .qtick{color:var(--gold);opacity:0;transform:translateX(-4px);transition:opacity .18s,transform .18s;font-size:16px}.qopt:hover{border-color:var(--gold);background:#fff;transform:translateY(-1px);box-shadow:0 10px 24px -16px rgba(33,24,41,.4)}.qopt:hover .qtick{opacity:.8;transform:translateX(0)}.qopt.sel{border-color:var(--gold);background:rgba(185,143,78,.1);color:var(--charcoal);box-shadow:0 0 0 1px var(--gold) inset}.qopt.sel .qtick{opacity:1;transform:translateX(0)}.qgrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:11px;gap:11px}.qcard{position:relative;display:flex;flex-direction:column;gap:3px;text-align:left;border:1px solid var(--line);border-radius:13px;padding:16px 16px 15px;cursor:pointer;background:var(--paper);min-height:82px;justify-content:center;overflow:hidden;font-family:var(--sans);transition:border-color .18s,transform .14s,box-shadow .2s,background .18s}.qcard:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform .22s}.qcard-name{font-family:var(--serif);font-size:17px;color:var(--charcoal);line-height:1.12}.qcard-sub{font-size:12px;color:var(--muted)}.qcard:hover{border-color:var(--gold);background:#fff;transform:translateY(-2px);box-shadow:0 16px 34px -20px rgba(33,24,41,.5)}.qcard:hover:before{transform:scaleY(1)}.qcard.sel{border-color:var(--gold);background:rgba(185,143,78,.1);box-shadow:0 0 0 1px var(--gold) inset}.qcard.sel:before{transform:scaleY(1)}.qfield{border:1px solid var(--line);border-radius:10px;padding:13px 16px;font-size:15px;color:var(--charcoal);margin-bottom:10px;font-family:var(--sans);background:var(--paper)}.qfield::placeholder{color:#b4aab2}.qfield:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold);background:#fff}.qsubmit{width:100%;margin-top:14px;border:0;cursor:pointer;font-family:var(--sans);font-weight:700;font-size:15.5px;color:#2a1e10;padding:15px;border-radius:11px;background:linear-gradient(180deg,var(--gold-lite),var(--gold));box-shadow:0 14px 30px -14px rgba(185,143,78,.7);transition:transform .12s,box-shadow .2s,filter .18s}.qsubmit:hover{transform:translateY(-1px);filter:brightness(1.04);box-shadow:0 18px 36px -14px rgba(185,143,78,.8)}.qsubmit.off{background:var(--ecru);color:#9a8f86;box-shadow:none;cursor:not-allowed}.qcta{width:100%;border:0;cursor:pointer;font-weight:700;font-size:15.5px;color:#2a1e10;padding:15px;border-radius:11px;background:linear-gradient(180deg,var(--gold-lite),var(--gold));box-shadow:0 14px 30px -14px rgba(185,143,78,.7)}.qcta,.qtrust{margin-top:14px;text-align:center}.qtrust{font-size:12px}.qback,.qtrust{color:var(--muted)}.qback{display:inline-block;margin-top:16px;background:none;border:0;padding:4px 0;font-size:12.5px;cursor:pointer;font-family:var(--sans)}.qback:hover{color:var(--charcoal)}.quiz-entry{border:1px dashed var(--gold);border-radius:8px;padding:16px 18px;margin:14px 0;display:flex;justify-content:space-between;align-items:center;gap:14px;background:rgba(185,143,78,.05)}.quiz-entry b{font-family:var(--serif);font-weight:400}.doc-body{font-size:15.5px;color:#443c44}.doc-body p{margin:12px 0}.doc-body h3{font-size:15px;font-family:var(--sans);font-weight:700;color:var(--charcoal);margin:18px 0 6px}.doc-body ul{margin:10px 0;padding-left:20px}.doc-body li{margin:6px 0}.doc-body a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}.doc-body strong{color:var(--charcoal)}.doc-note{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:6px;padding:14px 18px;margin:22px 0;font-size:13.5px;color:#5a5048}.doc-body table{width:100%;border-collapse:collapse;margin:16px 0;font-size:13.5px}.doc-body td,.doc-body th{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line-soft);vertical-align:top}.doc-body th{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}.form{display:grid;grid-gap:12px;gap:12px;max-width:520px;margin:22px 0}.form .row{display:grid;grid-gap:5px;gap:5px}.form label{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}.form input,.form select,.form textarea{font-family:var(--sans);font-size:15px;padding:11px 14px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--charcoal);width:100%}.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}.form .consent{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:#5a5048;line-height:1.5}.form .consent input{width:auto;margin-top:3px;flex:none}.form .submit,.form button{background:var(--gold);color:#2a1e10;font-weight:700;font-size:15px;padding:13px;border:0;border-radius:8px;cursor:pointer;text-align:center}.plans{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin:26px 0}.plan{border:1px solid var(--line);border-radius:10px;padding:20px 18px;background:var(--paper)}.plan.hi{border-color:var(--gold);box-shadow:0 20px 44px -30px rgba(185,143,78,.5)}.plan .pk{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700}.plan .pp{font-family:var(--serif);font-size:30px;margin:8px 0 2px}.plan .pu{font-size:12px;color:var(--muted)}.plan ul{list-style:none;padding:0;margin:14px 0 0;font-size:13px;color:#5a5048}.plan li{padding:6px 0;border-top:1px solid var(--line-soft)}@media(max-width:820px){.plans,.qgrid{grid-template-columns:1fr}.cats{grid-template-columns:1fr 1fr}.pcard{grid-template-columns:90px 1fr}.pcard .act{grid-column:1/-1;text-align:left;display:flex;gap:18px;align-items:center}.pcard .photo{width:90px;height:90px}.nav .links{display:none}.search{flex-wrap:wrap}.search .f{flex:1 1 40%;border-right:0}}