:root { --ink:#151313; --cream:#fffdf8; --yellow:#ffcb05; --green:#2bd167; --pink:#ea4b71; --line:#d9d1c4; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { min-height:100vh; margin:0; color:var(--ink); background:var(--cream); font-family:"DM Sans",Arial,sans-serif; } a { color:inherit; } .review-notice { display:flex; justify-content:space-between; gap:16px; padding:10px max(5vw,24px); background:var(--green); font:700 11px "DM Mono",monospace; letter-spacing:.04em; }.review-header { display:flex; align-items:center; justify-content:space-between; padding:22px max(5vw,24px); border-bottom:1px solid var(--ink); }.review-brand { width:220px; height:60px; }.review-brand img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }.back-link { font:500 12px "DM Mono",monospace; text-decoration:none; border-bottom:2px solid var(--ink); padding-bottom:4px; }.review-page { display:grid; grid-template-columns:minmax(0,1fr) minmax(350px, .75fr); min-height:calc(100vh - 128px); }.review-intro { position:relative; display:flex; flex-direction:column; justify-content:center; overflow:hidden; padding:clamp(64px,10vw,140px) max(7vw,28px); background:var(--yellow); }.review-intro:before { content:"★"; position:absolute; right:-.08em; bottom:-.26em; color:rgba(255,255,255,.48); font:900 clamp(200px,33vw,510px)/1 Fraunces,serif; }.review-intro>* { position:relative; }.eyebrow { margin:0 0 18px; font:500 11px "DM Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }.review-intro h1 { max-width:670px; margin:0; font:900 clamp(56px,7.8vw,122px)/.8 Fraunces,serif; letter-spacing:-.085em; }.review-intro h1 i { color:#fff; font-family:"Permanent Marker",cursive; font-size:.57em; font-weight:400; letter-spacing:0; }.intro-lead { max-width:420px; margin:31px 0 12px; font-size:20px; font-weight:700; }.intro-text { max-width:485px; margin:0; font-size:14px; line-height:1.7; }.review-panel { display:flex; align-items:center; padding:58px max(6vw,28px); background:var(--cream); }.review-panel-inner { width:min(100%,520px); margin:auto; }.panel-kicker { margin:0 0 20px; font:500 11px "DM Mono",monospace; letter-spacing:.07em; text-transform:uppercase; }.review-options { display:grid; gap:14px; }.review-choice { width:100%; min-height:145px; padding:24px; border:2px solid var(--ink); color:var(--ink); background:transparent; text-align:left; cursor:pointer; transition:transform .15s,box-shadow .15s,background .15s; }.review-choice:hover,.review-choice:focus-visible { outline:0; transform:translate(-4px,-4px); box-shadow:7px 7px 0 var(--ink); }.review-choice.good:hover,.review-choice.good:focus-visible { background:var(--green); }.review-choice.improve:hover,.review-choice.improve:focus-visible { background:var(--pink); }.review-choice strong { display:block; font:900 37px/.92 Fraunces,serif; letter-spacing:-.06em; }.review-choice.improve strong { max-width:190px; }.review-choice small { display:block; margin-top:16px; font:500 11px "DM Mono",monospace; }.feedback-form { border-top:2px solid var(--ink); padding-top:26px; }.feedback-form h2,.review-success h2 { margin:0 0 9px; font:900 43px/.9 Fraunces,serif; letter-spacing:-.07em; }.feedback-form>p { margin:0 0 23px; font-size:14px; line-height:1.55; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.form-group { margin:0 0 16px; }.form-group.full { grid-column:1 / -1; }.form-group label,.form-legend { display:block; margin-bottom:7px; font:700 11px "DM Mono",monospace; text-transform:uppercase; }.form-group input,.form-group select,.form-group textarea { width:100%; border:1px solid var(--ink); border-radius:0; padding:12px; color:var(--ink); background:#fff; font:400 14px "DM Sans",sans-serif; }.form-group textarea { min-height:135px; resize:vertical; }.form-group input:focus,.form-group select:focus,.form-group textarea:focus { outline:3px solid var(--yellow); outline-offset:1px; }.rating-group { border:0; margin:0 0 16px; padding:0; }.rating-stars { display:flex; flex-direction:row-reverse; justify-content:flex-end; gap:5px; }.rating-stars input { position:absolute; opacity:0; }.rating-stars label { color:#bbb; font-size:33px; line-height:1; cursor:pointer; }.rating-stars input:checked~label,.rating-stars label:hover,.rating-stars label:hover~label { color:var(--yellow); }.experience-group { border:0; margin:0 0 16px; padding:0; }.experience-options { display:grid; gap:8px; }.experience-options label { display:flex; align-items:center; gap:9px; padding:11px; border:1px solid var(--line); cursor:pointer; font-size:13px; }.experience-options label:has(input:checked) { border-color:var(--ink); background:#fff5bd; }.privacy-note { margin:21px 0; padding:17px; border-left:5px solid var(--green); background:#eefbef; font-size:13px; line-height:1.55; }.send-button { width:100%; border:0; padding:17px 20px; color:var(--ink); background:var(--green); cursor:pointer; font:700 13px "DM Mono",monospace; text-transform:uppercase; }.send-button:hover,.send-button:focus-visible { outline:0; background:#1fae52; }.honeypot { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }.review-success { padding:28px; border:2px solid var(--ink); background:var(--green); }.review-success p { line-height:1.6; }.review-error { margin:0 0 18px; padding:13px; border:1px solid #a11131; color:#7e0d25; background:#ffe7ec; font-size:13px; }.review-footer { display:flex; justify-content:space-between; gap:20px; padding:21px max(5vw,24px); border-top:1px solid var(--ink); font:500 11px "DM Mono",monospace; }.review-footer a { font-weight:700; }
@media (max-width:800px) { .review-page { grid-template-columns:1fr; }.review-intro { min-height:420px; }.review-panel { padding:54px 24px; }.review-brand { width:155px; height:45px; }.review-header { padding-block:15px; }.review-footer { flex-direction:column; }.review-choice strong { font-size:32px; } }
@media (max-width:430px) { .review-notice { font-size:9px; }.review-notice span:last-child { display:none; }.review-intro h1 { font-size:62px; }.intro-lead { font-size:18px; }.form-grid { grid-template-columns:1fr; }.form-group.full { grid-column:auto; }.review-header .back-link { font-size:10px; }.review-brand { width:125px; }.review-choice { min-height:130px; } }
#review-options[hidden], #feedback-form[hidden], #review-success[hidden], #review-error[hidden] { display:none !important; }
.review-choice.good { background:var(--green); }
.review-choice.good:hover, .review-choice.good:focus-visible { background:#139b49; color:#fff; }
