:root{--g:#2c3b2a;--g2:#56683f;--sand:#efe6d2;--o:#8b4a22;--ink:#2a2118;--leather:#6b3f1f;--canvas:#e3d6b8}
*{box-sizing:border-box}body{margin:0;font-family:'Source Sans 3',system-ui,sans-serif;color:var(--ink);background:var(--sand)}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}section.wrap{padding:48px 20px}
.nav{background:var(--g);color:#fff;position:sticky;top:0;z-index:5}.navin{display:flex;justify-content:space-between;align-items:center;height:60px}
.logo{color:#fff;font-weight:800;font-size:1.3rem;text-decoration:none}.tag{font-size:.65rem;background:var(--o);padding:2px 6px;border-radius:4px;vertical-align:middle}
nav a{color:#dfe9e1;margin-left:18px;text-decoration:none}
.hero{background:radial-gradient(circle at 80% 20%,#6b3f1f55,transparent 50%),repeating-linear-gradient(45deg,#ffffff06 0 2px,transparent 2px 6px),linear-gradient(160deg,#1f2b1e,#2c3b2a 55%,#5a3a1e);border-bottom:6px solid var(--leather);color:#fff;padding:90px 0}
h1{font-size:clamp(2rem,5vw,3.3rem);margin:0 0 16px}.lead{max-width:640px;font-size:1.15rem;opacity:.95}
.wl{display:flex;gap:8px;max-width:480px;margin-top:24px}.wl input{flex:1;padding:14px;border-radius:8px;border:0;font-size:1rem}
button{cursor:pointer;font:inherit;border:0;border-radius:8px;padding:12px 18px;background:var(--o);color:#fff;font-weight:600}
.note{font-size:.85rem;opacity:.8}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.card{background:#fff;border-radius:14px;padding:22px;box-shadow:0 2px 10px #0001}.card>b{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--g2);color:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
label{display:flex;flex-direction:column;font-size:.85rem;font-weight:600;gap:4px}input,select{padding:10px;border:1px solid #c9c3b4;border-radius:8px;font:inherit}
.units{margin-bottom:14px}.units button,.chips button,.cats button{background:#e7e1d3;color:var(--ink);margin:3px}.units .on,.chips .on,.cats .on{background:var(--g);color:#fff}
.row{margin-top:18px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.cats{display:flex;flex-wrap:wrap;margin-bottom:14px}.cats button{padding:14px 22px}
.badge{font-size:.7rem;background:#fde3cc;color:#8a4310;padding:4px 8px;border-radius:6px;vertical-align:middle}
.price{font-size:1.4rem;font-weight:800;color:var(--g)}.size{background:var(--g2);color:#fff;padding:2px 8px;border-radius:5px}
footer{background:var(--g);color:#cfdcd2;padding:24px 0;font-size:.85rem}
@media(max-width:640px){nav{display:none}.wl{flex-direction:column}}
.why{font-size:.82rem;background:#f1f5ef;border-left:3px solid var(--g2);padding:8px 10px;margin:8px 0;border-radius:4px}
.modal{position:fixed;inset:0;background:#0007;display:grid;place-items:center;z-index:9;padding:20px}.modal[hidden]{display:none}.modal .card{max-width:460px}
table{width:100%;border-collapse:collapse;font-size:.85rem}td,th{text-align:left;padding:8px;border-bottom:1px solid #e5dfd0;vertical-align:top}td a{color:var(--g2);word-break:break-all}
.btns{display:flex;gap:8px;flex-wrap:wrap}.ghost{background:#e7e1d3;color:var(--ink)}
.modes{display:grid;gap:8px;margin-bottom:12px}.mode{flex-direction:row;align-items:flex-start;gap:10px;padding:12px;border:1px solid #d8d1c0;border-radius:10px;font-weight:400}.mode:has(input:checked){border-color:var(--g);background:#f1f5ef}
.rec{background:#dff0dc;color:#1f5a2a}.cd{font-size:2rem;font-weight:800;color:var(--o)}.blocked{color:#a02c1c;font-weight:700}
h1,h2,h3,.logo{font-family:'Roboto Slab',Georgia,serif}h2{color:var(--leather);font-size:1.9rem;border-bottom:2px dashed #b89c6a;padding-bottom:8px}
.logo{display:flex;align-items:center;gap:10px;letter-spacing:.02em}.logo em{font-style:normal;color:#d9b26a;font-weight:600}.mark{height:40px;width:40px;vertical-align:middle;flex:none}
.nav{background:#1f2b1e;border-bottom:3px solid var(--leather)}.est{letter-spacing:.25em;font-size:.8rem;color:#d9b26a;margin:0 0 10px}
.card{border:1px solid #d6c7a3;background:#fbf7ee}.card>b{background:var(--leather)}button{border-radius:4px;letter-spacing:.02em}button.primary,.wl button{background:var(--leather)}
.units .on,.chips .on,.cats .on{background:var(--g)}.units button,.chips button,.cats button,.ghost{background:var(--canvas)}footer{background:#1f2b1e;border-top:4px solid var(--leather)}
.wl{flex-wrap:wrap}.wlq{border:0;padding:0;margin:.5rem 0 0;width:100%;font-size:.9rem}.wlq legend{font-weight:600;margin-bottom:.25rem}.wlq label{margin-right:.9rem;white-space:nowrap}
.guide pre{background:#f4f1ea;padding:12px;border-radius:8px;overflow-x:auto;font-size:.85rem;white-space:pre}

.usa-badge{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.04em;background:#1f3a6e;color:#f4f7ff;padding:3px 8px;border-radius:4px;vertical-align:middle;margin-left:6px}
/* mobile-friendly pass */
html{-webkit-text-size-adjust:100%}
img,svg,video{max-width:100%;height:auto}
.mark{height:40px!important;width:40px!important;min-width:40px;flex:none}
.logo{min-height:44px;flex-wrap:nowrap}
input,select,textarea{font-size:16px!important;min-height:44px}
input[type=checkbox],input[type=radio]{flex:none;width:22px;height:22px;min-height:0;margin:0 8px 0 0;padding:0;vertical-align:middle;accent-color:var(--g,#3d5a3a)}
label:has(>input[type=checkbox]),label:has(>input[type=radio]){display:inline-flex;align-items:center;min-height:44px;cursor:pointer}
button,.btn,a.button{min-height:44px}
table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
pre,code{overflow-x:auto;max-width:100%}
@media(max-width:640px){
 nav a,header a,footer a{display:inline-block;padding:10px 6px;min-height:44px;box-sizing:border-box}
 .card a,a[href*="http"]:not(p a){min-height:44px;display:inline-flex;align-items:center}
 .logo{font-size:1.15rem;gap:8px}
}
.btns a{min-height:44px;display:inline-flex;align-items:center;padding:0 16px}
.wlq label{flex-direction:row!important;margin-right:.9rem}
@media(max-width:640px){
 .navin{flex-wrap:wrap;row-gap:0}
 header nav{display:flex!important;width:100%;overflow-x:auto;white-space:nowrap;gap:4px;margin:0 -6px;scrollbar-width:none;background:transparent;border:0;position:static}
 header nav::-webkit-scrollbar{display:none}
 header nav a{margin-left:0;padding:12px 10px;font-size:15px}
}

.ref{background:#fffaf0;color:#2b2b2b;border-radius:12px;padding:18px;margin-top:18px;max-width:480px;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.ref h2{font-size:1.2rem;margin:0 0 6px}.ref p{margin:0 0 10px;font-size:1rem}.ref a{color:#2f4a32;text-decoration:underline}
.refbar{height:12px;background:#e6dfcf;border-radius:6px;overflow:hidden}.refbar span{display:block;height:100%;width:0;background:#2f4a32;transition:width .4s}
.refprog{font-weight:600;margin-top:6px!important}
.reflink{display:flex;gap:8px;flex-wrap:wrap}.reflink input{flex:1;min-width:0;min-height:44px;padding:10px;font-size:16px;border:1px solid #c9bfa8;border-radius:8px}
.reflink button,.refshare{min-height:44px;padding:10px 16px;font-size:16px;border:0;border-radius:8px;background:var(--leather,#8a5a2b);color:#fff;font-weight:600;cursor:pointer}
.refshare{width:100%;margin-top:8px;background:#2f4a32}
.reflook{margin-top:14px;max-width:480px}.reflook summary{min-height:44px;display:flex;align-items:center;cursor:pointer;text-decoration:underline}
.reflook .wl{margin-top:6px}.reflook input{font-size:16px;min-height:44px}.reflook button{min-height:44px}
@media(max-width:640px){.reflink{flex-direction:column}.reflink button{width:100%}.navin{height:auto;min-height:60px}}
/* sizing engine v2 */
.fitres{border-left:4px solid #8a8a8a;padding:.5rem .75rem;margin:.5rem 0;background:rgba(0,0,0,.03);border-radius:6px;overflow-wrap:anywhere}
.fitres .size{font-size:1.15rem}.fitres .nosize{opacity:.75}
.fitres .conf{display:inline-block;font-size:.85rem;font-weight:600;padding:.15rem .5rem;border-radius:999px;background:#ddd;margin:.2rem 0}
.fit-high{border-color:#2e7d32}.fit-high .conf{background:#d7f0d9;color:#1b5e20}
.fit-medium{border-color:#c49a00}.fit-medium .conf{background:#fbefc4;color:#6b5200}
.fit-between{border-color:#e07b00}.fit-between .conf{background:#ffe3c2;color:#7a3e00}
.fit-low,.fit-none{border-color:#9e9e9e}
.fitwhy,.fitguide,.fitsrc{font-size:.95rem;margin:.35rem 0;line-height:1.4}
.fitsrc a{display:inline-block;padding:.25rem 0;min-height:24px}
.fctable{width:100%;border-collapse:collapse}.fctable th,.fctable td{padding:.5rem;border-bottom:1px solid #ddd;text-align:left;vertical-align:top}
@media (max-width:640px){.fctable thead{display:none}.fctable tr{display:block;border:1px solid #ddd;border-radius:8px;margin:.6rem 0;padding:.4rem}.fctable td{display:block;border:0;padding:.25rem .4rem}.fctable td::before{content:attr(data-l)": ";font-weight:600}}
.fitwarn{margin:.35rem 0 .35rem 1.1rem;padding:0;font-size:.95rem;line-height:1.4;color:#7a3e00}.fitwarn li{margin:.2rem 0}
#pf small.note{display:block;font-weight:400;font-size:.85rem;margin-top:.2rem}
#pf .chk{display:flex;gap:.5rem;align-items:center;min-height:44px}#pf .chk input{width:22px;height:22px}
.ast{text-decoration:none;color:inherit;font-size:.6em;vertical-align:super;margin-left:.1em}#sizing-note{margin-top:.25rem}
