:root{--ivory: #f0e8d9;--cream: #f9f3e7;--cream-hi: #fffdf6;--sand: #eae0cc;--line: #e7dcc4;--line-strong: #d9ccaf;--ink: #272019;--ink-muted: #6e6452;--ink-subtle: #988d76;--navy: #1e3a6b;--navy-deep: #142a52;--red: #d62238;--red-deep: #b31b2e;--ok-bg: #e3f1e6;--ok-fg: #1f5c32;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--shadow: 0 1px 2px rgba(39, 32, 25, .06), 0 4px 14px rgba(39, 32, 25, .07);--font: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--ivory);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}button{font-family:var(--font)}:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.wrap{max-width:1180px;margin:0 auto;padding:0 20px}.muted{color:var(--ink-muted)}.tabnum{font-variant-numeric:tabular-nums}.hdr{background:var(--cream-hi);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.hdr-in{display:flex;align-items:center;gap:22px;height:64px}.logo{display:flex;align-items:center;gap:10px}.logo-mark{width:36px;height:36px;border-radius:9px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800;font-size:20px;font-family:Georgia,serif}.logo b{font-size:16px;letter-spacing:.02em;display:block;line-height:1.1}.logo small{display:block;font-size:10.5px;color:var(--ink-muted);letter-spacing:.14em;text-transform:uppercase}.hdr-nav{display:flex;gap:4px;margin-left:6px}.hdr-nav a{padding:8px 12px;border-radius:var(--r-sm);font-size:13.5px;font-weight:600;color:var(--ink-muted)}.hdr-nav a:hover,.hdr-nav a.on{background:var(--sand);color:var(--ink)}.hdr-search{flex:1;max-width:340px;margin-left:auto;display:flex;align-items:center;gap:8px;background:var(--cream);border:1px solid var(--line-strong);border-radius:999px;padding:0 14px}.hdr-search input{border:0;background:transparent;outline:none;font:inherit;font-size:13px;color:var(--ink);padding:8px 0;width:100%}.hdr-actions{display:flex;align-items:center;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;font-weight:700;font-size:13.5px;border-radius:var(--r-md);padding:9px 16px;transition:filter .15s,background .15s}.btn:hover{filter:brightness(1.06)}.btn-navy{background:var(--navy);color:#fff}.btn-red{background:var(--red);color:#fff}.btn-ghost{background:transparent;border:1px solid var(--line-strong);color:var(--ink)}.btn-lg{padding:11px 20px;font-size:14.5px}.hero{margin:26px 0;background:var(--navy);border-radius:var(--r-lg);color:#fff;position:relative;overflow:hidden}.hero-in{position:relative;z-index:1;padding:44px 44px 40px;max-width:620px}.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#cdd7e6;font-weight:700}.hero h1{margin:10px 0 12px;font-size:clamp(26px,4vw,38px);line-height:1.12;font-weight:800;letter-spacing:-.02em;text-wrap:balance}.hero p{margin:0 0 22px;color:#aab8cc;font-size:15px;line-height:1.55;max-width:46ch}.hero-art{position:absolute;right:-30px;top:50%;transform:translateY(-50%);opacity:.5;pointer-events:none}.hero .btn-ghost{border-color:#ffffff59;color:#fff}.hero-cta{display:flex;gap:10px;flex-wrap:wrap}.sec-head{display:flex;align-items:baseline;gap:14px;margin:34px 0 16px}.sec-head h2{margin:0;font-size:19px;font-weight:800;letter-spacing:-.01em}.sec-head .more{margin-left:auto;font-size:13px;font-weight:700;color:var(--navy)}.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.cat{background:var(--cream-hi);border:1px solid var(--line);border-radius:var(--r-md);padding:14px;display:flex;align-items:center;gap:12px;transition:border-color .15s,transform .15s}.cat:hover{border-color:var(--navy);transform:translateY(-1px)}.cat .ic{width:40px;height:40px;border-radius:9px;background:var(--sand);display:grid;place-items:center;flex:none;overflow:hidden}.cat .ic img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.cat b{font-size:13.5px;line-height:1.25;display:block}.cat small{color:var(--ink-subtle);font-size:11.5px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.card{background:var(--cream-hi);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}.card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.ph{background:var(--cream);border-bottom:1px solid var(--line);aspect-ratio:4 / 3;display:grid;place-items:center;position:relative;overflow:hidden}.ph img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.ph .placeholder{width:58%;height:58%;stroke:var(--navy);fill:none;stroke-width:1.5;opacity:.8}.ph .tag{position:absolute;top:10px;left:10px;background:var(--sand);color:var(--ink-muted);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:3px 9px}.card-b{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}.card-b h3{margin:0;font-size:14.5px;font-weight:700;line-height:1.3}.card-b .desc{font-size:12.5px;color:var(--ink-muted);line-height:1.45}.meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--ink-subtle);font-size:11.5px}.meta span{background:var(--cream);border:1px solid var(--line);border-radius:5px;padding:2px 7px}.price-row{margin-top:auto;display:flex;align-items:center;gap:10px;padding-top:6px}.locked,.onreq{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:6px 13px;font-size:12px;font-weight:700}.locked{background:var(--sand);color:var(--ink-muted)}.locked svg{width:13px;height:13px;stroke:var(--ink-muted);fill:none;stroke-width:2}.onreq{background:var(--cream);border:1px dashed var(--line-strong);color:var(--ink-muted)}.price{font-size:17px;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums}.price small{font-size:11.5px;color:var(--ink-subtle);font-weight:600}.crumbs{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--ink-muted);margin:20px 0 14px}.crumbs a:hover{color:var(--navy)}.pdp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:start}.gallery{background:var(--cream-hi);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.gallery .main{aspect-ratio:4 / 3;background:var(--cream);display:grid;place-items:center;overflow:hidden}.gallery .main img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.gallery .main .placeholder{width:46%;height:46%;stroke:var(--navy);fill:none;stroke-width:1.5;opacity:.8}.thumbs{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line);flex-wrap:wrap}.thumbs button{width:58px;height:58px;border-radius:8px;overflow:hidden;padding:0;cursor:pointer;border:1.5px solid var(--line);background:var(--cream)}.thumbs button.on{border-color:var(--navy)}.thumbs img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.pdp h1{margin:0 0 8px;font-size:clamp(21px,3vw,27px);font-weight:800;letter-spacing:-.015em;text-wrap:balance}.pdp .lede{font-size:14.5px;color:var(--ink-muted);line-height:1.55;margin:0 0 16px}.pdp .buybox{background:var(--cream-hi);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;display:grid;gap:12px;margin-bottom:18px}.pdp .buybox .price{font-size:26px}.pdp .body{font-size:14px;line-height:1.65;color:var(--ink);white-space:pre-wrap}.spec-table{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:6px}.spec-table th,.spec-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}.spec-table th{color:var(--ink-muted);font-weight:600;width:40%}.how{background:var(--cream);border:1px solid var(--line);border-radius:var(--r-lg);margin:38px 0;padding:26px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px}.step{display:flex;gap:14px}.step .n{width:34px;height:34px;flex:none;border-radius:999px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px}.step b{display:block;font-size:14px;margin-bottom:3px}.step p{margin:0;font-size:12.5px;color:var(--ink-muted);line-height:1.5}.ftr{background:var(--cream-hi);border-top:1px solid var(--line);margin-top:44px}.ftr-in{display:flex;flex-wrap:wrap;gap:26px;padding:26px 20px;font-size:12.5px;color:var(--ink-muted)}.ftr b{color:var(--ink)}.ftr .col{min-width:180px}.ftr .col div{margin-top:6px;line-height:1.6}.loading,.empty{padding:48px 20px;text-align:center;color:var(--ink-muted)}.empty .big{font-size:30px;margin-bottom:8px}.skeleton{background:var(--sand);border-radius:var(--r-lg);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}@media (max-width: 860px){.pdp{grid-template-columns:1fr;gap:20px}}@media (max-width: 760px){.hdr-nav{display:none}.hdr-search{max-width:none}.hero-in{padding:30px 24px}.hero-art{display:none}}@media (prefers-reduced-motion: reduce){.card,.cat,.btn{transition:none}.skeleton{animation:none}}.cartbtn{position:relative;width:38px;height:38px;border-radius:var(--r-md);background:var(--sand);display:grid;place-items:center}.cartbtn svg{width:19px;height:19px;stroke:var(--ink);fill:none;stroke-width:1.8}.cartbtn .n{position:absolute;top:-5px;right:-5px;background:var(--red);color:#fff;font-size:10px;font-weight:800;border-radius:999px;min-width:17px;height:17px;display:grid;place-items:center;padding:0 4px}.add{margin-left:auto;width:34px;height:34px;border-radius:var(--r-md);border:0;background:var(--navy);color:#fff;font-size:19px;font-weight:700;cursor:pointer;display:grid;place-items:center;line-height:0}.add:hover{background:var(--navy-deep)}.authbox{max-width:420px;margin:34px auto;background:var(--cream-hi);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px}.authbox h1{margin:0 0 6px;font-size:22px;font-weight:800;letter-spacing:-.015em}.authbox p{margin:0 0 16px;font-size:13.5px;line-height:1.5}.fld{display:block;margin-bottom:12px}.fld>span{display:block;font-size:12.5px;font-weight:700;margin-bottom:5px}.fld em{font-weight:400;font-style:normal}.fld input,.fld textarea,.sel{width:100%;font:inherit;font-size:14px;color:var(--ink);background:var(--cream);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:9px 12px}.fld input:focus,.fld textarea:focus,.sel:focus{outline:2px solid var(--navy);outline-offset:1px}.err{background:#fdecef;color:var(--red-deep);border-radius:var(--r-md);padding:9px 12px;font-size:13px;margin-bottom:12px}.acct-card{background:var(--cream-hi);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;font-size:14px}.pending{margin-top:12px;background:var(--cream);border:1px dashed var(--line-strong);border-radius:var(--r-md);padding:12px;font-size:13px;line-height:1.55}.pending.inline{margin:0;display:inline-block}.orders{display:grid;gap:12px}.order{background:var(--cream-hi);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px}.order-head{display:flex;align-items:center;gap:10px;margin-bottom:4px}.order-lines{margin:8px 0 0;padding-left:18px;font-size:13px;line-height:1.6}.pill{margin-left:auto;font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 10px}.pill.wait{background:var(--sand);color:var(--ink-muted)}.pill.ok{background:var(--ok-bg);color:var(--ok-fg)}.pill.bad{background:#fdecef;color:var(--red-deep)}.cart-table{background:var(--cream-hi);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.cart-row{display:grid;grid-template-columns:1fr auto 110px 34px;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}.cart-row:last-child{border-bottom:0}.cart-amt{text-align:right;font-weight:700}.cart-x{border:0;background:transparent;cursor:pointer;color:var(--ink-subtle);font-size:15px}.cart-x:hover{color:var(--red)}.cart-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px}.cart-total{margin-left:auto;font-size:14px}.cart-total b{font-size:18px;color:var(--navy)}.stepper{display:inline-flex;align-items:center;border:1px solid var(--line-strong);border-radius:var(--r-md);overflow:hidden;background:var(--cream)}.stepper button{width:32px;height:34px;border:0;background:transparent;cursor:pointer;font-size:16px;color:var(--ink)}.stepper button:hover{background:var(--sand)}.stepper input{width:54px;height:34px;border:0;background:transparent;text-align:center;font:inherit;font-size:14px;font-variant-numeric:tabular-nums}.qty-row{display:flex;gap:10px;align-items:center}.added{font-size:13px;color:var(--ok-fg)}.added a{font-weight:700;text-decoration:underline}.checkout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.9fr);gap:22px;align-items:start}.co-block{background:var(--cream-hi);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;margin-bottom:14px}.co-block h3{margin:0 0 10px;font-size:15px;font-weight:800}.co-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.co-two .fld{margin:0}.co-side{background:var(--cream-hi);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;position:sticky;top:84px}.co-side h3{margin:0 0 10px;font-size:15px;font-weight:800}.co-lines{list-style:none;margin:0 0 12px;padding:0;font-size:13px}.co-lines li{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px solid var(--line)}.co-total{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0 12px;font-size:14px}.co-total b{font-size:20px;color:var(--navy)}@media (max-width: 860px){.checkout{grid-template-columns:1fr}.co-side{position:static}.cart-row{grid-template-columns:1fr auto;grid-template-areas:"name x" "qty amt"}.cart-name{grid-area:name}.cart-x{grid-area:x}.stepper{grid-area:qty}.cart-amt{grid-area:amt}}
