.concierge{background:linear-gradient(180deg,#f2f6f6,white 900px);padding-bottom:60px}.concierge-intro{padding:55px 0 25px;max-width:1000px}.concierge h1{font:normal clamp(2.6rem,6vw,4.5rem)/1.08 var(--serif);letter-spacing:-.04em;margin:18px 0}.concierge h1 em{color:var(--teal)}.concierge-disclosure{font-size:1rem;max-width:850px}.concierge-panel{max-width:1000px;background:#fff;padding:30px;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 50px #102d380a}.concierge-progress{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.9rem;margin-bottom:20px}.concierge-progress progress{width:140px;accent-color:var(--teal)}.concierge fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}.concierge legend{font:normal clamp(1.6rem,4vw,2rem)/1.4 var(--serif);margin-bottom:22px}.concierge-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.concierge-choices label{display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:17px;border-radius:6px;cursor:pointer;min-height:58px}.concierge-choices label:has(input:checked){background:var(--paper);border:2px solid var(--teal);padding:16px}.concierge input{accent-color:var(--teal);width:18px;height:18px;flex-shrink:0}.concierge input:focus-visible{outline:3px solid var(--teal);outline-offset:4px}.concierge-controls{display:flex;justify-content:space-between;gap:15px}.concierge button{font:inherit;cursor:pointer;min-height:48px;border:1px solid var(--line);padding:10px 22px;border-radius:4px;background:white;color:var(--ink)}.concierge button.button{background:var(--navy);color:#fff}.concierge button:focus-visible{outline:3px solid var(--teal);outline-offset:4px}.concierge-results{padding-top:35px;max-width:1000px}.concierge h2{font:normal 2.1rem/1.25 var(--serif)}.concierge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.concierge-card{border:1px solid var(--line);padding:25px;background:white;border-radius:8px;display:flex;flex-direction:column}.concierge-card[data-primary="true"]{border-top:4px solid var(--teal)}.concierge-card h3{font:normal 1.7rem/1.25 var(--serif);margin:12px 0}.concierge-card p,.concierge-card li{font-size:.95rem}.concierge-card ul{padding-left:22px}.concierge-card .button{margin-top:auto}.concierge-fit{color:var(--teal);font-weight:600}.concierge-note{font-size:.83rem!important;color:var(--muted)}.concierge-method{max-width:1000px;padding-top:35px}.concierge [hidden]{display:none!important}#concierge-reset{margin-top:22px}@media(max-width:650px){.concierge .wrap{width:calc(100% - 32px)}.concierge-intro{padding-top:32px}.concierge-panel{padding:20px}.concierge-choices,.concierge-grid{grid-template-columns:1fr}.concierge-progress progress{width:90px}.concierge-card{padding:20px}.concierge-disclosure{line-height:1.6}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.concierge-rank{font-size:.75rem!important;letter-spacing:.12em;font-weight:750;color:var(--teal);margin-top:0}.concierge-card[data-primary="true"]{grid-column:1/-1}.concierge-example{margin:15px 0 0;font-weight:600}#concierge-occasion-checks{padding:18px 24px;background:var(--paper);border-left:3px solid var(--teal);margin-bottom:25px}#concierge-occasion-checks h3{margin:0;font:normal 1.4rem/1.4 var(--serif)}
.concierge-card[data-enhanced="true"] .concierge-general{display:none}.concierge-actions{display:grid;gap:14px;margin:12px 0 18px}.concierge-actions .button{width:100%;white-space:normal;text-align:center;min-height:52px;margin:0;padding:14px 18px;font-size:1rem;line-height:1.5}.concierge-browse{font-size:.9rem}.concierge-checks{border-top:1px solid var(--line);padding-top:12px;margin-top:auto}.concierge-checks summary{cursor:pointer;font-weight:600;min-height:44px;display:list-item}.concierge-checks summary:focus-visible{outline:3px solid var(--teal);outline-offset:4px}.concierge-card[data-primary="true"]{border:2px solid var(--teal);box-shadow:0 10px 35px #102d3810}.concierge fieldset+fieldset{padding-top:18px;border-top:1px solid var(--line)}.concierge-grid{grid-template-columns:1fr}.concierge-choices label span{line-height:1.4}@media(max-width:650px){.concierge-intro{padding:24px 0 16px}.concierge h1{font-size:2.4rem;margin:12px 0}.concierge-intro>p{margin:12px 0}.concierge legend{font-size:1.5rem;margin-bottom:14px}.concierge-choices{grid-template-columns:1fr 1fr;gap:8px}.concierge-choices label{padding:12px;gap:8px;font-size:.9rem;min-height:56px}.concierge-choices label:has(input:checked){padding:11px}.concierge-controls .button{flex:1}.concierge-controls{gap:8px}.concierge-controls button{padding:12px;font-size:.95rem}}
