:root { --bg:#08090C; --bg-card:#0F1117; --bg-elevated:#1A1D27; --text:#E8E9ED; --text-dim:#8B8F9E; --text-muted:#5C6070; --accent:#2ECC8B; --accent-dim:rgba(46,204,139,0.12); --accent-glow:rgba(46,204,139,0.25); --gold:#D4A84B; --gold-dim:rgba(212,168,75,0.12); --border:rgba(255,255,255,0.06); --border-hover:rgba(255,255,255,0.12); --radius:12px; --radius-lg:20px; --radius-xl:28px; }
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-font-smoothing:antialiased; }
body { font-family:'Outfit', sans-serif; background:var(--bg); color:var(--text); line-height:1.7; overflow-x:hidden; }
a { text-decoration:none; color:inherit; transition:all .35s cubic-bezier(.4,0,.2,1); }
ul { list-style:none; }
button,input,textarea,select { font-family:inherit; border:none; outline:none; background:none; }
.container { max-width:1200px; margin:0 auto; padding:0 2rem; }
.skip-link:focus { transform:translateY(0); }
.nav-logo { display:flex; align-items:center; gap:.7rem; font-family:'Playfair Display', serif; font-size:1.35rem; font-weight:600; color:inherit; line-height:1; }
.nav-logo .brand-logo { width:42px; height:42px; display:block; flex-shrink:0; object-fit:contain; }
.nav-logo .logo-mark { display:none; }
.nav-logo,.nav-links a,.btn,.footer a { outline:none; }
.nav-links a:focus,.btn:focus { box-shadow:0 0 0 3px rgba(46,204,139,.35); border-radius:8px; }
@media(max-width:768px) {.container { padding:0 1.5rem; }.nav-logo .brand-logo { width:38px; height:38px; }}

.feedback-strip { padding:2.2rem 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:linear-gradient(120deg, rgba(46,204,139,0.05), rgba(255,255,255,0.01)); }
.feedback-shell { display:grid; grid-template-columns:1.2fr 1.8fr; gap:1.4rem; align-items:center; background:rgba(15,17,23,.86); border:1px solid var(--border-hover); border-radius:16px; padding:1.2rem; }
.feedback-kicker { font-size:.74rem; font-weight:700; text-transform:uppercase; letter-spacing:.11em; color:var(--accent); margin-bottom:.35rem; }
.feedback-title { font-family:'Playfair Display', serif; font-size:1.55rem; line-height:1.2; margin-bottom:.35rem; }
.feedback-copy p { color:var(--text-dim); font-size:.92rem; max-width:36ch; }
.feedback-form { display:flex; flex-direction:column; gap:.7rem; }
.feedback-stars { display:flex; gap:.35rem; }
.feedback-star { width:34px; height:34px; border-radius:10px; border:1px solid var(--border); background:rgba(255,255,255,.02); color:var(--text-muted); font-size:1rem; line-height:1; cursor:pointer; transition:all .25s; }
.feedback-star:hover { border-color:rgba(46,204,139,.35); color:#9beec4; transform:translateY(-1px); }
.feedback-star.active { background:var(--accent-dim); border-color:rgba(46,204,139,.25); color:var(--accent); }
.feedback-input { min-height:58px; resize:vertical; max-height:120px; padding:.72rem .85rem; border:1px solid var(--border); border-radius:12px; color:var(--text); background:rgba(255,255,255,.02); font-size:.88rem; }
.feedback-input:focus { border-color:rgba(46,204,139,.35); box-shadow:0 0 0 3px rgba(46,204,139,.12); }
.feedback-row { display:flex; gap:.7rem; align-items:center; flex-wrap:wrap; }
.feedback-hint { color:var(--text-muted); font-size:.76rem; }
.feedback-success { display:none; color:var(--accent); font-size:.83rem; font-weight:600; }
.feedback-success.show { display:block; animation:fadeFeedback .25s ease-out; }
@keyframes fadeFeedback { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:900px) { .feedback-shell { grid-template-columns:1fr; } .feedback-copy p { max-width:none; } }
