@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,300..900&display=swap');

:root {
  color-scheme: light;
  --body-bg: 250 248 243;
  --body-text: 34 34 31;
  --surface: 255 255 252;
  --surface-muted: 240 237 228;
  --shadow: 210 203 188;
  --border: 50 50 45;
  --primary: 236 90 47;
  --primary-accent: 164 48 21;
  --secondary: 222 224 201;
  --secondary-accent: 75 83 48;
  --success: 104 204 143;
  --success-accent: 24 108 63;
  --danger: 244 110 121;
  --danger-accent: 159 36 52;
  --warning: 249 207 92;
  --warning-accent: 132 91 0;
  --info: 120 194 229;
  --info-accent: 30 101 139;
  --container: 1180px;
  --gutter: clamp(1rem, 3vw, 2rem);
  --radius: 14px;
  --transition: .2s ease;
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --body-bg: 22 22 20;
  --body-text: 244 241 232;
  --surface: 35 35 32;
  --surface-muted: 48 47 42;
  --shadow: 8 8 7;
  --border: 228 223 210;
  --secondary: 69 72 59;
  --secondary-accent: 216 224 188;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    color-scheme: dark; --body-bg: 22 22 20; --body-text: 244 241 232; --surface: 35 35 32;
    --surface-muted: 48 47 42; --shadow: 8 8 7; --border: 228 223 210; --secondary: 69 72 59; --secondary-accent: 216 224 188;
  }
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:rgb(var(--body-bg));color:rgb(var(--body-text));font-family:"DM Sans",sans-serif;line-height:1.55;transition:background var(--transition),color var(--transition)}
img{display:block;max-width:100%}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
button,input,select,textarea{font:inherit}
button,a{touch-action:manipulation}
.container{width:100%;max-width:calc(var(--container) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}
.row{padding-block:clamp(2rem,5vw,5rem)}
.display-xl{font-size:clamp(3.2rem,8vw,7rem);line-height:.91;letter-spacing:-.07em;margin:.3em 0}
.display-l{font-size:clamp(2.5rem,6vw,5rem);line-height:.95;letter-spacing:-.055em;margin:.2em 0}
.display-m{font-size:clamp(2rem,4vw,3.4rem);line-height:1;letter-spacing:-.04em;margin:.3em 0}
.display-s{font-size:clamp(1.35rem,2.3vw,2rem);line-height:1.1;margin:.3em 0}
.heavy{font-weight:900}.primary-text{color:rgb(var(--primary))}.muted,.field-help{color:color-mix(in srgb,currentColor 67%,transparent)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.eyebrow,.card-header{font-size:.76rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}

.site-header{position:sticky;z-index:20;top:0;background:rgb(var(--body-bg)/.9);border-bottom:2px dotted rgb(var(--border)/.25);backdrop-filter:blur(15px)}
.header-inner,.footer-inner,.section-heading,.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.header-inner{min-height:76px}.wordmark{font-weight:900;font-size:1.65rem;letter-spacing:-.06em;text-decoration:none}.wordmark-dot{color:rgb(var(--primary))}
nav{display:flex;align-items:center;gap:clamp(.65rem,2vw,1.5rem)}nav a,.link-button{font-weight:700;text-decoration:none}.nav-form{display:inline}.link-button{border:0;padding:0;background:none;color:inherit;box-shadow:none;width:auto;cursor:pointer}
.theme-button{width:38px;height:38px;border:1px solid rgb(var(--border)/.3);border-radius:50%;background:rgb(var(--surface));color:inherit;cursor:pointer}
.site-footer{margin-top:5rem;border-top:2px dotted rgb(var(--border)/.25)}.footer-inner{padding-block:2rem;font-size:.88rem}

.btn,button:not(.theme-button):not(.link-button):not(.gallery-thumbs button){display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:.45rem;padding:.65rem 1rem;border:1px solid rgb(var(--border)/.35);border-radius:10px;background:rgb(var(--surface));color:rgb(var(--body-text));font-weight:800;text-decoration:none;box-shadow:0 3px 0 rgb(var(--shadow));cursor:pointer;transition:transform .1s ease,box-shadow .1s ease,background .2s ease}
.btn:hover,button:not(.theme-button):not(.link-button):not(.gallery-thumbs button):hover{transform:translateY(-1px);box-shadow:0 5px 0 rgb(var(--shadow))}.btn:active,button:active{transform:translateY(2px);box-shadow:0 1px 0 rgb(var(--shadow))}
.btn-primary{background:rgb(var(--primary));color:#fff;border-color:rgb(var(--primary-accent));box-shadow:0 3px 0 rgb(var(--primary-accent))}.btn-info{background:rgb(var(--info));border-color:rgb(var(--info-accent));box-shadow:0 3px 0 rgb(var(--info-accent))}.btn-danger{background:rgb(var(--danger));border-color:rgb(var(--danger-accent));box-shadow:0 3px 0 rgb(var(--danger-accent))}.btn-quiet{background:transparent;box-shadow:none}.btn-small{min-height:34px;padding:.35rem .7rem;font-size:.82rem}.btn-large{width:100%;font-size:1.05rem;min-height:54px}

.badge{display:inline-flex;align-items:center;padding:.26rem .58rem;border-radius:999px;font-size:.7rem;line-height:1;font-weight:850;letter-spacing:.07em;text-transform:uppercase;border:1px solid currentColor}.badge-warning{color:rgb(var(--warning-accent));background:rgb(var(--warning))}.badge-info{color:rgb(var(--info-accent));background:rgb(var(--info))}.badge-secondary{color:rgb(var(--secondary-accent));background:rgb(var(--secondary))}.badge-status{color:rgb(var(--body-text));background:rgb(var(--surface-muted))}.status-available,.status-listed{color:rgb(var(--success-accent));background:rgb(var(--success))}.status-sold{color:rgb(var(--warning-accent));background:rgb(var(--warning))}.status-archived{opacity:.65}
.callout{padding:.85rem 1rem;border:1px solid rgb(var(--border)/.3);border-left:6px solid;border-radius:8px;background:rgb(var(--surface));margin-block:1rem}.callout-success{border-left-color:rgb(var(--success-accent));background:rgb(var(--success)/.2)}.callout-danger{border-left-color:rgb(var(--danger-accent));background:rgb(var(--danger)/.2)}.callout-warning{border-left-color:rgb(var(--warning-accent));background:rgb(var(--warning)/.2)}.callout-info{border-left-color:rgb(var(--info-accent));background:rgb(var(--info)/.2)}.flash-stack{padding-top:1rem}
.card-body,.filter-panel,.form-section{background:rgb(var(--surface));border:1px solid rgb(var(--border)/.24);border-radius:var(--radius);box-shadow:0 6px 0 rgb(var(--shadow))}.card-body{padding:1.25rem}.card-header{padding-bottom:.7rem;margin-bottom:1rem;border-bottom:2px dotted rgb(var(--border)/.3)}

.hero{min-height:650px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:center;gap:4rem}.hero-lede{font-size:clamp(1.05rem,2vw,1.35rem);max-width:600px}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.hero-panel{position:relative;min-height:450px}.stack-card{position:absolute;top:50%;left:50%;width:245px;aspect-ratio:2.5/3.5;border-radius:18px;border:7px solid #f4e8ca;box-shadow:0 18px 35px #0003}.stack-one{background:#77b5dd;transform:translate(-73%,-50%) rotate(-15deg)}.stack-two{background:#f2c956;transform:translate(-35%,-52%) rotate(10deg)}.stack-three{display:grid;place-items:center;background:linear-gradient(145deg,#ed5a2f,#a8321a);transform:translate(-52%,-48%) rotate(-2deg);color:#fff;font-weight:900;font-size:4rem}.stack-three::before{content:"";position:absolute;inset:17px;border:3px dotted #fff8;border-radius:10px}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem)}.product-card{min-width:0;background:rgb(var(--surface));border:1px solid rgb(var(--border)/.22);border-radius:var(--radius);overflow:hidden;box-shadow:0 5px 0 rgb(var(--shadow));transition:transform .15s ease}.product-card:hover{transform:translateY(-4px)}.product-image{display:grid;place-items:center;aspect-ratio:1/1;background:rgb(var(--surface-muted));overflow:hidden}.product-image img{width:100%;height:100%;object-fit:contain;padding:.8rem}.product-body{padding:1rem}.product-body h3{font-size:1.15rem;line-height:1.18;margin:.45rem 0}.product-body h3 a{text-decoration:none}.product-meta{display:flex;align-items:center;gap:.6rem;font-size:.8rem}.price{font-weight:900;font-size:1.25rem;margin-top:.8rem}.image-placeholder{font-size:.8rem;color:rgb(var(--body-text)/.6)}
.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.trust-strip>div{padding:1.25rem;border-top:3px solid rgb(var(--primary));display:grid}.trust-strip span{font-size:.88rem;color:rgb(var(--body-text)/.7)}
.page-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem}.search-form{display:flex;gap:.65rem;width:min(100%,520px)}.search-form .form-control{flex:1}.catalog-results{padding-bottom:3rem}.result-count{margin-bottom:1.2rem;font-weight:700}.empty-state{text-align:center;padding:clamp(3rem,8vw,7rem) 1rem;border:2px dotted rgb(var(--border)/.3);border-radius:var(--radius)}

.breadcrumbs{display:flex;gap:.55rem;flex-wrap:wrap;padding-top:2rem;font-size:.84rem;color:rgb(var(--body-text)/.7)}.product-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.75fr);gap:clamp(2rem,6vw,6rem);align-items:start}.gallery-main{display:grid;place-items:center;min-height:560px;border-radius:var(--radius);background:rgb(var(--surface-muted));overflow:hidden}.gallery-main img{max-height:720px;width:100%;object-fit:contain}.gallery-thumbs{display:flex;gap:.65rem;margin-top:.8rem;overflow:auto}.gallery-thumbs button{flex:0 0 92px;padding:.25rem;border:2px solid transparent;border-radius:10px;background:rgb(var(--surface-muted));cursor:pointer}.gallery-thumbs button:hover,.gallery-thumbs button:focus{border-color:rgb(var(--primary))}.gallery-thumbs img{aspect-ratio:1;object-fit:contain}.reference-image{position:relative}.reference-label{position:absolute;bottom:1rem;left:1rem;padding:.35rem .6rem;background:#111d;color:#fff;border-radius:99px;font-size:.75rem}.product-summary{position:sticky;top:110px}.summary-badges{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.2rem 0}.detail-price{font-size:2rem;font-weight:900;margin:1rem 0}.spec-list{margin-top:2rem;border-top:2px dotted rgb(var(--border)/.3)}.spec-list>div{display:flex;justify-content:space-between;gap:2rem;padding:.75rem 0;border-bottom:2px dotted rgb(var(--border)/.2)}.spec-list dt{font-weight:800}.spec-list dd{margin:0;text-align:right}.detail-copy{display:grid;grid-template-columns:1.5fr 1fr;gap:2rem;padding-top:0}.prose{white-space:normal}.compact{grid-template-columns:repeat(4,minmax(0,1fr))}

.form-field{display:grid;gap:.35rem}.form-label{font-size:.82rem;font-weight:800}.form-control,.form-select,.form-textarea{width:100%;padding:.72rem .8rem;border:1px solid rgb(var(--border)/.35);border-radius:8px;background:rgb(var(--body-bg));color:rgb(var(--body-text));outline:none}.form-control:focus,.form-select:focus,.form-textarea:focus{border-color:rgb(var(--primary));box-shadow:0 0 0 3px rgb(var(--primary)/.18)}.form-textarea{resize:vertical}.file-input{padding:.45rem}.form-toggle{display:flex;align-items:center;gap:.8rem;cursor:pointer}.form-toggle-input{position:absolute;opacity:0}.form-toggle-control{position:relative;width:48px;height:27px;flex:none;border-radius:99px;background:rgb(var(--surface-muted));border:1px solid rgb(var(--border)/.4)}.form-toggle-control::after{content:"";position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:rgb(var(--body-text));transition:transform .2s ease}.form-toggle-input:checked+.form-toggle-control{background:rgb(var(--success))}.form-toggle-input:checked+.form-toggle-control::after{transform:translateX(21px)}.form-toggle small{display:block}.money-input{position:relative}.money-input>span{position:absolute;left:.8rem;top:.72rem;font-weight:800}.money-input input{padding-left:1.8rem}

.admin-heading{padding-bottom:2rem}.filter-panel{padding:1rem}.filter-grid{display:grid;grid-template-columns:2fr repeat(3,1fr) auto auto;gap:.8rem;align-items:end}.inventory-table-wrap{padding-block:1.5rem;overflow:auto}.inventory-table{width:100%;border-collapse:collapse;min-width:850px}.inventory-table th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.inventory-table th,.inventory-table td{padding:.8rem;border-bottom:1px dotted rgb(var(--border)/.28)}.table-card{display:flex;align-items:center;gap:.75rem}.table-card img{width:48px;height:60px;object-fit:contain;border-radius:5px;background:rgb(var(--surface-muted))}.table-card small{display:block;color:rgb(var(--body-text)/.65)}code{font-size:.82em;padding:.15rem .3rem;background:rgb(var(--surface-muted));border-radius:4px}
.search-large{max-width:760px}.search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.search-result{display:grid;grid-template-columns:115px 1fr;gap:1.2rem;align-items:center;padding:1rem;border:1px solid rgb(var(--border)/.25);border-radius:var(--radius);background:rgb(var(--surface));box-shadow:0 4px 0 rgb(var(--shadow))}.search-result img{width:115px;height:160px;object-fit:contain}.search-result h3{margin:.25rem 0}.search-result p{margin:.25rem 0 .8rem}
.edit-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:2rem;align-items:start}.inventory-form{display:grid;gap:1.25rem}.form-section{padding:1.25rem;margin:0}.form-section legend{padding:0 .5rem;font-size:1.2rem;font-weight:900}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.span-full{grid-column:1/-1}.catalog-sidebar{position:sticky;top:100px}.reference-card{width:160px;max-height:225px;object-fit:contain;margin:0 auto 1.5rem}.mini-specs{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem;font-size:.85rem}.mini-specs dt{font-weight:800}.mini-specs dd{margin:0;text-align:right}.reference-prices{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem;padding:1rem;background:rgb(var(--surface-muted));border-radius:8px}.reference-prices small{flex-basis:100%}.admin-photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}.admin-photo{display:grid;gap:.45rem;align-content:start}.admin-photo img{width:100%;aspect-ratio:1;object-fit:contain;background:rgb(var(--surface-muted));border-radius:8px}.sticky-actions{position:sticky;bottom:0;z-index:10;display:flex;justify-content:flex-end;gap:.8rem;padding:1rem;background:rgb(var(--body-bg)/.92);border-top:2px dotted rgb(var(--border)/.25);backdrop-filter:blur(10px)}
.auth-wrap{display:grid;place-items:center;min-height:70vh}.auth-card{width:min(100%,430px);display:grid;gap:1rem;padding:2rem}

@media(max-width:980px){.product-grid{grid-template-columns:repeat(3,1fr)}.filter-grid{grid-template-columns:repeat(2,1fr)}.edit-layout{grid-template-columns:1fr}.catalog-sidebar{position:static;order:-1}.catalog-sidebar .card-body{display:grid;grid-template-columns:150px 1fr;gap:1rem}.reference-card{margin:0}.hero{gap:1rem}.gallery-main{min-height:420px}}
@media(max-width:720px){.header-inner{align-items:flex-start;padding-block:1rem}.header-inner,nav{flex-wrap:wrap}nav{gap:.75rem;font-size:.85rem}.hero{grid-template-columns:1fr;min-height:auto}.hero-panel{min-height:350px}.product-grid,.compact{grid-template-columns:repeat(2,1fr)}.trust-strip,.product-detail,.detail-copy,.search-results{grid-template-columns:1fr}.page-heading,.admin-heading{align-items:flex-start;flex-direction:column}.search-form{width:100%}.product-summary{position:static}.form-grid,.filter-grid{grid-template-columns:1fr}.admin-photos{grid-template-columns:repeat(2,1fr)}.catalog-sidebar .card-body{display:block}.reference-card{margin:0 auto 1rem}.footer-inner{align-items:flex-start;flex-direction:column}.gallery-main{min-height:320px}}
@media(max-width:440px){.product-grid,.compact{grid-template-columns:1fr}.search-form{display:grid}.hero-panel{min-height:300px}.stack-card{width:180px}.site-header nav a:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
