:root{color-scheme:light;--ink:#30212a;--wine:#702e4b;--pink:#edc5ce;--paper:#faf5ee;--line:#e3d6d7;font:16px/1.5 system-ui,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink)}
.wrap{width:min(100% - 32px,780px);margin:auto}
.hero{background:#271c24;color:#fff5ee;overflow:hidden}
.hero-inner{position:relative;padding:19px 0 37px}
.mast{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #6b515d;padding-bottom:13px;letter-spacing:.2em;font-weight:700}
.badge{border:1px solid #92717e;border-radius:30px;padding:4px 10px;font-size:.62rem;color:var(--pink)}
.eyebrow,.step{letter-spacing:.15em;font-weight:750;font-size:.72rem;margin:0 0 8px;color:var(--wine)}
.eyebrow{color:var(--pink);margin:28px 0 8px}
h1,h2,h3{font-family:Georgia,serif;line-height:1.05;font-weight:500;margin:0}
h1{font-size:clamp(3rem,10vw,5rem);position:relative;z-index:1}
h1 em{color:var(--pink)}
.hero p:last-of-type{position:relative;z-index:1;max-width:35ch;margin:14px 0 0}
.glass{width:clamp(88px,23vw,165px);position:absolute;right:5%;top:24%;color:#ce8da3;transform:rotate(11deg)}
.panel,.card,details{border:1px solid var(--line);border-radius:17px;background:#fffdfa;padding:clamp(16px,4vw,30px)}
.panel{margin:20px 0 32px}
h2{font-size:2rem;margin-bottom:14px}
.actions,.fields{display:flex;flex-wrap:wrap;gap:10px}
button,input,textarea,select{font:inherit}
button{background:var(--wine);color:white;border:1px solid var(--wine);padding:9px 15px;min-height:44px;border-radius:10px;cursor:pointer;font-weight:650}
button:disabled{opacity:.55;cursor:wait}
.secondary,.link-button{background:transparent;color:var(--wine)}
.link-button{border-color:transparent;text-decoration:underline}
label{display:block;font-weight:650;margin-bottom:5px}
textarea,input,select{display:block;background:white;border:1px solid #b9a6ad;border-radius:9px;padding:9px 10px;width:100%;color:var(--ink);min-height:44px}
textarea{resize:vertical}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:15px}
.fields input,.fields select{margin-top:5px}
.hint,footer,#result-info{font-size:.88rem;color:#65545c}
hr{border:0;border-top:1px solid var(--line);margin:22px 0}
#submit{width:100%;display:flex;justify-content:space-between}
.card{margin:10px 0;padding:18px}
.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.card h3{font-size:1.33rem}
.price{white-space:nowrap;color:var(--wine);font-weight:750}
.card p{margin:7px 0}
a{color:var(--wine);text-underline-offset:3px}
summary{cursor:pointer;font-weight:650}
footer{padding:21px 0 30px}
.website-search{border-top:1px solid var(--line);padding:16px 0;margin-bottom:4px}
.website-field{display:flex;flex-wrap:wrap;gap:8px}
.website-field input{flex:1 1 230px;min-width:0}
.website-field button{flex:0 0 auto}
.website-sources{padding:0;list-style:none}
.website-sources li{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:9px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
.website-sources li a{flex:1 1 210px}
:focus-visible{outline:3px solid #a65775;outline-offset:3px}
@media(max-width:375px){.glass{right:0;opacity:.65}.actions button{padding-inline:10px}}
