:root{--cr:#F6EEDF;--cr2:#EDDFC6;--te:#B5573A;--te2:#8F3F29;--br:#3B2218;--tx:#4A3126;--ok:#2F6B4F;--err:#8B1E1E;
--s:"Bodoni Moda",Georgia,serif;--sc:"Pinyon Script",cursive;--j:"Jost",system-ui,sans-serif;--e:cubic-bezier(.22,.61,.36,1)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--cr);color:var(--tx);font:300 1.05rem/1.6 var(--j);min-height:100svh}
a{color:var(--te2)}
img{max-width:100%;display:block}
.top{position:sticky;top:0;z-index:20;background:rgba(246,238,223,.92);backdrop-filter:blur(8px);border-bottom:1px solid rgba(59,34,24,.08)}
.top-in{max-width:1100px;margin:0 auto;padding:.85rem 1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{font:400 1.55rem/1 var(--sc);color:var(--br);text-decoration:none}
.top nav{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center}
.top nav a{text-decoration:none;color:var(--br);font:400 .92rem var(--j)}
.btn,.btn-sm{display:inline-block;padding:.85rem 1.5rem;border:1px solid var(--te);background:var(--te);color:var(--cr)!important;font:500 .95rem var(--j);letter-spacing:.04em;text-decoration:none;border-radius:999px;cursor:pointer}
.btn-sm{padding:.55rem 1rem;font-size:.88rem}
.btn:hover,.btn-sm:hover{background:transparent;color:var(--te)!important}
.btn-ghost{background:transparent;color:var(--te)!important}
.btn:disabled{opacity:.55;cursor:wait}
.wrap{max-width:960px;margin:0 auto;padding:2rem 1.2rem 4rem}
.hero-m{min-height:78svh;display:grid;place-items:center;text-align:center;padding:4rem 1.2rem;background:radial-gradient(circle at 50% 30%,#FBF5E8,#E6D4B5)}
.hero-m h1{font:400 clamp(2.4rem,8vw,4rem)/1.1 var(--s);color:var(--br);margin:.6rem 0 1rem}
.hero-m .lead{max-width:34rem;margin:0 auto 1.8rem}
.eyebrow{font:500 .85rem var(--j);letter-spacing:.14em;text-transform:uppercase;color:var(--te2)}
.grid-3{display:grid;gap:1.4rem;margin:2rem 0}
@media(min-width:760px){.grid-3{grid-template-columns:repeat(3,1fr)}}
.feat{padding:1.4rem;background:var(--cr2);border-radius:4px}
.feat h3{font:500 1.2rem var(--s);color:var(--br);margin-bottom:.4rem}
.price-grid{display:grid;gap:1.2rem;margin:2rem 0}
@media(min-width:700px){.price-grid{grid-template-columns:1fr 1fr}}
.price{padding:1.8rem;border:1px solid rgba(59,34,24,.15);border-radius:6px;background:#fff8ee}
.price h2{font:500 1.5rem var(--s);color:var(--br)}
.price .amt{font:400 2rem var(--s);color:var(--te);margin:.6rem 0}
.card{background:#fff8ee;border:1px solid rgba(59,34,24,.12);border-radius:6px;padding:1.4rem;margin:1rem 0}
.flash{max-width:960px;margin:1rem auto;padding:.9rem 1.2rem;border-radius:4px}
.flash.ok{background:#e5f3ea;color:var(--ok)}.flash.err{background:#f8e4e4;color:var(--err)}
label{display:grid;gap:.35rem;margin-bottom:1rem;font:400 .9rem var(--j);color:var(--br)}
input,select,textarea{width:100%;padding:.8rem 1rem;border:1px solid rgba(59,34,24,.22);background:#fff;border-radius:3px;font:300 1rem var(--j);color:var(--tx)}
textarea{min-height:5.5rem;resize:vertical}
.row{display:grid;gap:1rem}
@media(min-width:600px){.row-2{grid-template-columns:1fr 1fr}}
.dash{display:grid;gap:1rem}
@media(min-width:860px){.dash{grid-template-columns:220px 1fr}.dash aside{position:sticky;top:4.5rem;align-self:start}}
.dash aside a{display:block;padding:.55rem .2rem;text-decoration:none;color:var(--br);border-bottom:1px solid rgba(59,34,24,.08)}
.dash aside a.active{color:var(--te);font-weight:500}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th,td{text-align:left;padding:.7rem .45rem;border-bottom:1px solid rgba(59,34,24,.12);vertical-align:top}
th{font-weight:500;color:var(--br)}
.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.78rem;background:var(--cr2)}
.badge.oui{background:#e5f3ea;color:var(--ok)}.badge.non{background:#f8e4e4;color:var(--err)}
.badge.in{background:#dfe9f8;color:#1e3a6b}
.site-foot{text-align:center;padding:2rem 1rem 3rem;color:rgba(59,34,24,.65);font-size:.9rem}
.muted{opacity:.75;font-size:.92rem}
.share-box{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.share-box input{flex:1;min-width:12rem}
.prog-item,.hist-item{border-top:1px solid rgba(59,34,24,.12);padding:1rem 0}
.thumb{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:3px;background:var(--cr2)}
.photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.8rem}
#reader{width:100%;max-width:420px;margin:1rem auto}
.scan-result{text-align:center;padding:1.2rem;border-radius:6px;margin-top:1rem}
.scan-result.ok{background:#e5f3ea}.scan-result.err{background:#f8e4e4}
