:root{color-scheme:light;--ink:#171717;--muted:#67665f;--yellow:#f7c52b;--line:#e8e5dc}
*,*::before,*::after{box-sizing:border-box}
body{background:#f6f5f0;color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
header{background:#171717;color:#fff;border-color:#303030}
.brand{color:#fff;letter-spacing:.045em}.brand img{background:#fff;border-radius:10px;padding:3px}
header a{color:#fff3c4;text-decoration:none}header a:hover{text-decoration:underline}
h1,h2,h3{color:#171717;letter-spacing:-.02em}.eyebrow,.tag{color:#916700}.muted,.sub,.card p{color:var(--muted)}
.card,.cart,.panel,.box{border-color:var(--line);box-shadow:0 7px 24px rgba(31,29,20,.045)}
.notice{background:#fff5d0;border-color:#f1dd95;color:#65511a}
input,select,textarea,button{max-width:100%;min-width:0;color:#171717;border-color:#dedbd1}
input,select,textarea{background:#fff;font-size:16px}
input:focus,select:focus,textarea:focus{outline:2px solid #dca900;outline-offset:1px}
button{cursor:pointer}button.primary,button#submit{background:var(--yellow);color:#171717;border:0;font-weight:800}
button.primary:hover,button#submit:hover{background:#e8b514}a{color:#785800}
.card button{border-color:#d9c886;color:#302700;background:#fff9e6;font-weight:600}.card button:disabled{opacity:.55}
.card img{border-radius:10px}.remove{color:#a12f2f!important}.placeholder,th{background:#f7f5ed}
/* Keep a long cart usable without stretching the sticky panel below the viewport. */
@media (min-width:721px){
  .cart{max-height:calc(100vh - 30px);max-height:calc(100dvh - 30px);overflow-y:auto;overscroll-behavior:contain}
}
.cart #cart{max-height:220px;overflow-y:auto;overscroll-behavior:contain}
.cart #requestForm button[type=submit]{position:sticky;bottom:0;z-index:2;box-shadow:0 -5px 12px rgba(255,255,255,.95)}
@media(max-width:720px){
  .top{gap:12px;flex-wrap:wrap}.top nav{gap:8px 14px}.top nav a{font-size:13px}
  main{padding-left:16px;padding-right:16px}h1{font-size:30px}
  .cart,.card,.panel,.box{border-radius:16px}.cart{padding:16px}
  .form input,.form textarea,.form select,input[type=date],input[type=time]{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;-webkit-appearance:none;appearance:none}
  input[type=date],input[type=time]{min-height:48px;line-height:1.25;text-align:left}
  input[type=date]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value{text-align:left;min-height:1.25em}
  .form label{margin-top:14px}.form textarea{min-height:76px}.primary{min-height:48px}
}

/* Consistent brand colors across every page. */
header .brand-project{min-width:0;align-items:center} header .brand .brand-copy{display:flex;flex-direction:column;gap:3px;min-width:0;letter-spacing:normal} header .brand .brand-title{color:#ffcb28;font-size:clamp(18px,2vw,24px);font-weight:800;line-height:1.15;letter-spacing:.04em} header .brand .brand-description{color:#fff4d2;font-size:12px;line-height:1.4;font-weight:400;max-width:460px;overflow-wrap:anywhere}@media(max-width:720px){header .brand-project{width:100%;flex:1 1 100%}header .brand .brand-title{font-size:19px}header .brand .brand-description{font-size:11px}}
