@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');
:root{--ink:#171717;--soft:#f6f1e9;--paper:#fffdfa;--muted:#746f68;--line:#e8e1d7;--accent:#b48b49}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:"DM Sans",system-ui,sans-serif;background:linear-gradient(145deg,#eee7dc,#faf8f4 45%,#e7dfd2);min-height:100vh}
.shell{min-height:100svh;display:grid;place-items:center;padding:18px}
.card{position:relative;overflow:hidden;width:min(690px,100%);min-height:650px;padding:30px 34px 22px;border:1px solid rgba(255,255,255,.85);border-radius:36px;background:rgba(255,253,250,.94);box-shadow:0 28px 90px rgba(42,34,24,.16);backdrop-filter:blur(20px);animation:enter .55s ease}
.card:before{content:"";position:absolute;width:260px;height:260px;right:-150px;top:-145px;border-radius:50%;background:rgba(180,139,73,.08)}
@keyframes enter{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}
.brand{position:relative;text-align:center;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#48433d}
.eyebrow{text-align:center;margin-top:55px;color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.3em}
h1{font-family:"Playfair Display",Georgia,serif;text-align:center;font-weight:500;font-size:clamp(45px,9vw,70px);line-height:.98;letter-spacing:-.045em;margin:13px 0 17px}
.intro{max-width:450px;margin:auto;text-align:center;color:var(--muted);font-size:15px;line-height:1.65}
.stars{display:flex;justify-content:center;gap:3px;margin:35px 0 8px}
.star{width:61px;height:61px;padding:0;border:0;background:transparent;color:#d9d4cc;font-size:50px;line-height:1;cursor:pointer;transition:transform .2s,color .2s,filter .2s}
.star:hover,.star:focus-visible{color:var(--accent);transform:translateY(-5px) scale(1.08);filter:drop-shadow(0 5px 10px rgba(180,139,73,.18));outline:none}
.star.active{color:var(--accent)}
.rating-label{text-align:center;min-height:24px;color:#514c45;font-size:13px;font-weight:600}
.rating-hint{text-align:center;color:#aaa39b;font-size:11px;margin-top:2px}
.panel{margin-top:30px;padding-top:30px;border-top:1px solid var(--line);animation:appear .35s ease}
@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.panel-icon{display:grid;place-items:center;width:50px;height:50px;margin:0 auto 15px;border-radius:50%;background:var(--ink);color:#fff;font-size:18px}
.panel h2{margin:0 0 9px;text-align:center;font-family:"Playfair Display",Georgia,serif;font-size:30px;font-weight:500}
.panel p{max-width:500px;margin:0 auto;text-align:center;color:var(--muted);font-size:14px;line-height:1.65}
.google-note{display:flex;align-items:center;justify-content:center;gap:8px;margin:13px auto 0;color:#777;font-size:11px}
.google-dot{width:8px;height:8px;border-radius:50%;background:#4285f4}
form{margin-top:25px}form>label{display:block;margin:18px 0 8px;font-size:12px;font-weight:700;color:#3d3934}
small{color:#aaa;font-weight:400}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips label{margin:0}.chips input{position:absolute;opacity:0}
.chips span{display:block;padding:10px 13px;border:1px solid #ddd6cc;border-radius:999px;background:#fff;color:#55504a;font-size:12px;font-weight:500;cursor:pointer;transition:.18s}
.chips input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
textarea,input{width:100%;padding:13px 14px;border:1px solid #ddd6cc;border-radius:13px;background:#fff;color:var(--ink);font:inherit;outline:none;transition:.18s}
textarea{resize:vertical;min-height:105px}textarea:focus,input:focus{border-color:#a79b8a;box-shadow:0 0 0 4px rgba(180,139,73,.08)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.two label{display:block;margin:15px 0 8px;font-size:12px;font-weight:700}
.primary{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin-top:23px;padding:14px 18px;border:0;border-radius:15px;background:var(--ink);color:#fff;text-decoration:none;font:inherit;font-weight:700;font-size:14px;cursor:pointer;box-shadow:0 12px 28px rgba(0,0,0,.12);transition:.18s}
.primary:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(0,0,0,.16)}.primary:disabled{opacity:.6;cursor:wait}
.secondary{display:flex;justify-content:center;align-items:center;width:100%;min-height:48px;margin-top:10px;border:1px solid #ddd6cc;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-weight:600}
footer{margin-top:30px;padding-top:15px;border-top:1px solid var(--line);text-align:center;color:#aaa39b;font-size:10px}
.hidden{display:none!important}
@media(max-width:520px){.shell{padding:9px}.card{min-height:auto;padding:25px 18px 17px;border-radius:28px}.eyebrow{margin-top:38px}h1{font-size:46px}.intro{font-size:14px}.stars{margin-top:30px}.star{width:52px;height:54px;font-size:43px}.two{grid-template-columns:1fr}}
