:root{--ink:#2b2621;--muted:#6b5f52;--bg:#fbf8f4;--band:#f1ebe3;--acc:#2f5d50;--acc2:#b8743a;--r:12px}
*{box-sizing:border-box}body{margin:0;font:17px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2}h1{font-size:clamp(2.1rem,6vw,3.6rem);margin:.2em 0}h2{font-size:clamp(1.6rem,4vw,2.3rem)}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}section{padding:56px 0}.band{background:var(--band)}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:9}
.proto-bar{background:#fff3cd;color:#664d03;text-align:center;font-size:.85rem;padding:6px}
header.site{background:#fff;border-bottom:1px solid #e5ddd2;position:sticky;top:0;z-index:5}.nav{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:10px;padding-bottom:10px}
.logo{font-weight:800;letter-spacing:.12em;color:var(--acc);text-decoration:none}.logo small{display:block;font-weight:400;letter-spacing:0;font-size:.7rem;color:var(--muted)}
nav ul{display:flex;flex-wrap:wrap;gap:4px 16px;list-style:none;margin:0;padding:0}nav a{color:var(--ink);text-decoration:none;font-size:.95rem}nav a:hover,nav a:focus{color:var(--acc);text-decoration:underline}
.hero{background:linear-gradient(135deg,#2f5d50,#1f3d35);color:#fff}.hero .lead{font-size:1.3rem;font-style:italic}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.85rem;opacity:.85}
.fine{font-size:.8rem;opacity:.85;max-width:60ch}.ctas{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}
.btn{display:inline-block;padding:13px 22px;border-radius:999px;font-weight:600;text-decoration:none;border:2px solid var(--acc);cursor:pointer;font-size:1rem}
.btn.primary{background:var(--acc2);border-color:var(--acc2);color:#fff}.btn.ghost{background:transparent;color:var(--acc)}.hero .btn.ghost{color:#fff;border-color:#fff}
.btn:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #f2b84b;outline-offset:2px}
.grid3,.styles,.ba{display:grid;gap:20px}@media(min-width:720px){.grid3,.styles{grid-template-columns:repeat(3,1fr)}.ba{grid-template-columns:1fr 1fr}}
.note{color:var(--muted);font-size:.9rem}.style input{position:absolute;opacity:0}.card{display:flex;flex-direction:column;gap:6px;background:#fff;border:2px solid transparent;border-radius:var(--r);padding:14px;cursor:pointer;height:100%}
.style input:checked+.card{border-color:var(--acc);box-shadow:0 0 0 3px #2f5d5033}.style input:focus-visible+.card{outline:3px solid #f2b84b}svg{width:100%;height:auto;border-radius:8px}
figure{margin:0;background:#fff;padding:12px;border-radius:var(--r)}figcaption{font-weight:700;text-align:center;margin-top:6px}
.placeholder-flag{background:#fff3cd;color:#664d03;padding:8px 12px;border-radius:8px;font-size:.9rem}
.group{background:#fff;border:1px solid #ddd3c6;border-radius:var(--r);padding:14px;margin:0 0 14px}.group legend{font-weight:700;padding:0 6px}
.dims{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-bottom:8px}.dl{width:100%;font-weight:600;font-size:.9rem}@media(min-width:720px){.dl{width:auto}}
label{display:flex;flex-direction:column;font-size:.85rem;color:var(--muted)}input,select,textarea{font:inherit;padding:10px;border:1px solid #bfb3a3;border-radius:8px;min-height:44px;color:var(--ink);background:#fff}
.dims input[type=number]{width:5.5em}.link{background:none;border:0;color:#a33;text-decoration:underline;cursor:pointer;padding:6px 0;font:inherit}
.errors p{color:#a12;margin:4px 0}table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r);overflow:hidden;margin-top:16px}caption{text-align:left;font-weight:700;padding:8px 0}
th,td{padding:10px;border-bottom:1px solid #eee5da;text-align:left;vertical-align:top}tfoot th,tfoot td{font-weight:700}.total{font-size:1.5rem;color:var(--acc)}
.notice{border-left:4px solid var(--acc);padding:8px 12px;background:#fff;margin-top:16px}.next{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}
.fields{display:grid;gap:12px;margin:12px 0}@media(min-width:720px){.fields{grid-template-columns:1fr 1fr}}fieldset{border:0;padding:0}textarea{width:100%}
.done{background:#e3f1ea;padding:16px;border-radius:var(--r)}.steps li{margin-bottom:10px}details{background:#fff;border-radius:8px;padding:12px 16px;margin-bottom:8px}summary{cursor:pointer;font-weight:600}
.foot{padding:30px 20px;color:var(--muted);font-size:.9rem}
.hero.sub{padding:40px 0}.hero.sub h1{font-size:clamp(1.9rem,5vw,2.8rem)}nav a[aria-current=page]{color:var(--acc);font-weight:700;text-decoration:underline}
.foot{background:#2b2621;color:#e9e2d8;padding:36px 0;margin-top:0}.foot a{color:#fff}.footnav{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;padding:0}.foot .fine{opacity:.75}
.tablewrap{overflow-x:auto}.span2{grid-column:1/-1;margin:24px 0 0}.gallery .ba{margin-bottom:12px}.stylecards .card{gap:10px}.prose{max-width:760px}.steps.big{list-style:none;padding:0}
.phbox{background:#efe9e1;border:2px dashed #bfb3a3;padding:60px 20px;text-align:center;color:var(--muted);border-radius:var(--r)}.ctaband{text-align:center}.ctaband .ctas{justify-content:center}
.admin-warn{background:#f8d7da;color:#58151c;padding:12px 16px;border-radius:8px;font-weight:600}.admin table input,.admin table select{width:100%;min-width:6em}.admin textarea{min-height:70px}
.foot a[aria-current=page]{color:#f2b84b}
.check span{display:flex;gap:8px;align-items:center;color:var(--ink)}.check input{min-height:auto}
.est-choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.est-choice .btn{padding:22px;font-size:1.1rem;text-align:center}
.est-prev{max-width:140px;max-height:110px;border-radius:8px;object-fit:cover}.est-diagram{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.est-diagram svg{max-width:100%;height:auto}
.big-num{font-size:2rem;font-weight:700;color:var(--ink);margin:.2em 0}
