
:root{--cream:#fbf6f1;--blush:#f3d9d3;--rose:#c2546f;--plum:#4a1f3a;--plum-2:#6b2f55;--ink:#2a1a24;--mute:#7a6470;--line:#e8d6d1;--ok:#3d7a55;--bad:#a8232f}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.65 "Nunito Sans","Avenir Next",Avenir,"Segoe UI",system-ui,sans-serif}
h1,h2,h3,.brand{font-family:"Playfair Display","Didot","Bodoni 72","Bodoni MT",Georgia,serif;font-weight:600;line-height:1.12}
h1{font-size:clamp(2.2rem,5.6vw,3.8rem);margin:.1em 0 .35em}h1 em,h2 em{color:var(--rose)}h2{font-size:clamp(1.5rem,3.2vw,2.2rem)}
a{color:var(--plum-2)}a:hover{color:var(--rose)}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}.narrow{max-width:740px}.pad{padding-top:46px;padding-bottom:46px}.band{padding:52px 22px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:9}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:3px solid var(--rose);outline-offset:3px}
.top{border-bottom:1px solid var(--line);background:var(--cream)}.top-in{display:flex;align-items:center;gap:22px;min-height:70px;flex-wrap:wrap}
.brand{color:var(--plum);text-decoration:none;font-size:1.5rem;font-style:italic;display:flex;align-items:center;gap:8px}.brand svg{width:26px;height:26px}
.top nav{display:flex;gap:18px;flex:1;flex-wrap:wrap}.top nav a{color:var(--mute);text-decoration:none;padding:10px 0;letter-spacing:.02em}.top nav a[aria-current]{color:var(--plum);border-bottom:1px solid var(--rose)}
.btn{display:inline-block;background:var(--plum);color:#fff;border:0;border-radius:2px;padding:14px 24px;font:600 1rem/1.2 inherit;letter-spacing:.03em;text-decoration:none;cursor:pointer;min-height:46px}.btn:hover{background:var(--rose);color:#fff}.btn-top{padding:10px 16px}.btn-big{padding:15px 26px}.btn-ghost{background:transparent;color:var(--plum);border:1px solid var(--plum)}
.lnk{font-style:italic;font-weight:600}
.hero-in{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:480px}
.hero-txt{padding:64px 40px 64px 22px;align-self:center}.hero .lede{font-size:1.18rem;color:#5a4450;max-width:30em}
.hero-form{display:flex;flex-wrap:wrap;border:1px solid var(--plum);max-width:560px;background:#fff}.hero-form input{flex:1;min-width:200px;border:0;padding:14px 16px;font:inherit;background:transparent}.hero-form .btn{border-radius:0}
.hero small{display:block;margin-top:10px;color:var(--mute)}
.swatches{background:var(--blush);display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:40px;align-content:center}
.sw{aspect-ratio:3/5;border-radius:50% 50% 14px 14px;background:var(--c);box-shadow:inset -10px -16px 24px rgba(0,0,0,.12),0 10px 20px rgba(74,31,58,.15)}.sw:nth-child(2){transform:translateY(-22px)}.sw:nth-child(5){transform:translateY(-22px)}
.reads{border-top:1px solid var(--line)}.reads-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:28px}.read{border-top:1px solid var(--plum);padding-top:12px}.read h3{font-style:italic;margin:0 0 4px;color:var(--plum);font-size:1.2rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;border-top:1px solid var(--line)}
.cards{list-style:none;padding:0;margin:0}.cards li{border-bottom:1px solid var(--line)}.cards a{display:grid;grid-template-columns:1fr 1.3fr;gap:20px;padding:20px 0;text-decoration:none;color:var(--ink)}.cards a strong{font-family:"Playfair Display",Didot,Georgia,serif;font-size:1.3rem;font-weight:600;color:var(--plum)}.cards a span{color:var(--mute)}.cards a:hover strong{color:var(--rose)}
.faq details{border-bottom:1px solid var(--line);padding:14px 0}.faq summary{cursor:pointer;font-family:"Playfair Display",Georgia,serif;font-size:1.15rem;color:var(--plum)}
.news{background:var(--plum);color:#fbeef1;padding:34px}.news h2{color:#fff;font-style:italic}.news-row{display:flex;flex-wrap:wrap;border:1px solid #f3d9d3}.news input{flex:1;min-width:200px;padding:13px 16px;border:0;font:inherit}.news .btn{background:var(--rose);border-radius:0}.news-fine{font-size:.88rem;color:#e5c6d2}.news-status{font-weight:700;color:#ffd6e0}
.fine,.g-fine,.d-fine{font-size:.88rem;color:var(--mute)}
.g-form label{display:block;margin-bottom:6px;font-weight:600}.g-row{display:flex;flex-wrap:wrap;border:1px solid var(--plum);background:#fff}.g-row input{flex:1;min-width:200px;padding:14px 16px;border:0;font:inherit}.g-row .btn{border-radius:0}.g-free{color:var(--ok);font-weight:600}
.g-out{background:#fff;border:1px solid var(--line);padding:26px;margin-top:24px}.g-score{display:flex;align-items:center;gap:22px}
.g-dial{width:118px;height:118px;border-radius:50%;background:conic-gradient(var(--rose) calc(var(--s)*1%),var(--blush) 0);display:grid;place-items:center;position:relative}.g-dial:before{content:"";position:absolute;inset:8px;background:var(--cream);border-radius:50%}.g-dial b,.g-dial span{position:relative}.g-dial b{font:600 2.3rem/1 "Playfair Display",Didot,Georgia,serif;color:var(--plum)}.g-dial span{font-size:.8rem;margin-top:-30px;color:var(--mute)}
.g-grade{font:italic 600 1.8rem/1 "Playfair Display",Didot,Georgia,serif;margin:0;color:var(--plum)}.g-url{color:var(--mute);margin:4px 0 0;word-break:break-all}.g-fixes li{margin:12px 0}.g-pts{color:var(--rose);font-weight:700;font-size:.9rem}.g-det{color:var(--mute);font-size:.92rem}.g-err{color:var(--bad);font-weight:700}.g-note{background:var(--blush);padding:8px 12px}
.g-cta{background:var(--blush);padding:26px;margin-top:24px;border-left:3px solid var(--plum)}
.demo{background:#fff;border:1px solid var(--line)}.d-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--cream)}.d-tag{flex:1;font-weight:700;color:var(--rose);letter-spacing:.03em}.d-bar button{background:#fff;color:var(--plum);border:1px solid var(--plum);padding:8px 12px;cursor:pointer;min-height:40px}.d-bar button[aria-pressed=true]{background:var(--plum);color:#fff}
.d-log{height:350px;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:10px}.d-msg{max-width:78%;padding:10px 14px;margin:0;border-radius:18px}.d-bot{background:var(--cream);border:1px solid var(--line);align-self:flex-start}.d-you{background:var(--plum);color:#fff;align-self:flex-end}
.d-summary{border:1px solid var(--rose);padding:14px;background:#fff7f8}.d-summary p{margin:2px 0}.d-sumh{font-family:"Playfair Display",Georgia,serif;font-style:italic;color:var(--plum)}
.d-choices{display:flex;flex-wrap:wrap;gap:8px;padding:14px;border-top:1px solid var(--line)}.d-opt{background:#fff;border:1px solid var(--rose);color:var(--plum);padding:10px 16px;border-radius:999px;cursor:pointer;font:inherit;min-height:44px}.d-opt:hover{background:var(--blush)}
.guide p,.guide li{max-width:66ch}.dek{font-size:1.22rem;color:var(--mute);font-style:italic}.kicker a{text-decoration:none;letter-spacing:.05em}.g-inline{border-top:1px solid var(--plum);border-bottom:1px solid var(--plum);padding:18px 0;margin:34px 0}
.menu-tool{background:#fff;border:1px solid var(--line);padding:22px}.menu-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:8px;margin:6px 0}.menu-row input,.menu-tool input{padding:10px 12px;border:1px solid var(--line);font:inherit;width:100%}.menu-tool label{font-weight:600}.menu-row button{background:none;border:1px solid var(--line);cursor:pointer;min-width:44px}
#ld-out{width:100%;min-height:260px;font:13.5px/1.5 ui-monospace,Menlo,Consolas,monospace;background:var(--plum);color:#fbeef1;border:0;padding:14px}
.foraipage pre{background:var(--plum);color:#fbeef1;padding:14px;overflow:auto}
.foot{border-top:1px solid var(--line);padding:34px 0;margin-top:40px}
@media (max-width:780px){.hero-in,.split{grid-template-columns:1fr}.swatches{padding:24px;min-height:220px}.hero-txt{padding:36px 22px}.cards a{grid-template-columns:1fr;gap:4px}.menu-row{grid-template-columns:1fr 1fr}.top nav{order:3;flex:1 1 100%;flex-wrap:nowrap;overflow-x:auto;gap:16px}.top nav a{white-space:nowrap}.btn-top{display:none}}
