:root{--cream:#fffaf0;--ink:#124d62;--muted:#627680;--border:#d9dfda;--aqua:#e6efeb;--sand:#f2e9da}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.6 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9a7045;outline-offset:4px}header{display:flex;justify-content:space-between;align-items:center;padding:18px 6%;border-bottom:1px solid var(--border);gap:20px}.wordmark{font:italic 36px Georgia,serif}.wordmark small{display:block;text-align:center;font:9px Arial;letter-spacing:5px}nav{display:flex;gap:25px;font-size:12px}.place{font-size:10px;letter-spacing:2px;text-transform:uppercase}.intro{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:20px 6% 35px;gap:8%}.intro img{width:100%;height:280px;object-fit:contain;mix-blend-mode:multiply}.eyebrow{font-size:10px;letter-spacing:3px;text-transform:uppercase}h1,h2,h3{font-weight:normal}h1{font:52px/1.12 Georgia,serif;letter-spacing:-1.5px;margin:18px 0}p{color:var(--muted)}.intro p{max-width:340px}.primary,.outline{display:inline-block;padding:12px 22px;background:var(--ink);color:var(--cream);border:1px solid var(--ink);font-size:12px}.outline{background:transparent;color:var(--ink)}.ribbon{border-block:1px solid var(--border);text-align:center;font-size:10px;letter-spacing:2px;padding:15px}main.catalog{max-width:1400px;margin:auto;padding:55px 6%}.titlebar{display:flex;justify-content:space-between;align-items:center;gap:20px}h2{font:38px Georgia,serif;margin:10px 0 25px}.titlebar p{font-size:12px}.filters{display:flex;gap:12px;margin:0 0 26px}.search{flex:1;position:relative}.search input{width:100%;padding:13px 16px;background:transparent;border:1px solid var(--border);border-radius:0;color:var(--ink)}select{padding:12px;background:transparent;border:1px solid var(--border);color:var(--ink);max-width:180px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 24px}.card{display:block}.photo{position:relative;background:#e9ebe7;overflow:hidden}.photo img{display:block;width:100%;aspect-ratio:3/4;object-fit:contain;transition:transform .3s}.card:hover .photo img{transform:scale(1.025)}.badge{position:absolute;top:13px;left:13px;background:var(--cream);padding:5px 12px;font-size:10px;letter-spacing:1px}.card h3{font:23px Georgia;margin:13px 0 4px}.card p{margin:3px 0;font-size:12px}.card .price{font-size:16px;color:var(--ink);margin-top:10px}.card .small{font-size:10px}.card .link{display:inline-block;border-bottom:1px solid var(--ink);font-size:11px;margin-top:12px}.pending{font-size:10px;color:#6e542e;background:#f1e8d8;padding:5px 9px;display:inline-block}.empty{padding:65px 20px;text-align:center;border:1px solid var(--border)}.empty button{margin-top:10px}.info{background:var(--aqua);padding:45px 6%;display:grid;grid-template-columns:1fr 1fr;gap:12%;font-size:13px}.info h2{font-size:27px;margin:0 0 15px}.info p{max-width:480px}footer{padding:25px 6%;display:flex;justify-content:space-between;gap:20px;font-size:11px;border-top:1px solid var(--border)}.product{max-width:1350px;padding:30px 6% 65px;margin:auto}.back{font-size:12px;border-bottom:1px solid var(--ink)}.detail{display:grid;grid-template-columns:1.15fr 1fr;gap:7%;margin-top:30px;align-items:start}.mainphoto{background:#e8eae5;text-align:center;position:relative}.mainphoto img{display:block;width:100%;max-height:700px;aspect-ratio:3/4;object-fit:contain}.zoom{position:absolute;right:12px;bottom:12px;background:var(--cream);color:var(--ink);border:1px solid var(--border);padding:8px 12px;font-size:11px}.caption{font-size:11px;color:var(--muted);margin:8px 0}.thumbs{display:flex;gap:10px;flex-wrap:wrap}.thumbs button{padding:3px;background:transparent;border:1px solid var(--border);width:65px}.thumbs button[aria-pressed=true]{border:2px solid var(--ink)}.thumbs img{display:block;width:100%;height:78px;object-fit:contain}.detail h1{font-size:39px;margin:13px 0 18px}.detail .price{font:29px Georgia;margin-bottom:0;color:var(--ink)}.muted{font-size:11px;color:var(--muted);margin-top:3px}.description{margin:24px 0}.warning{padding:13px 16px;background:var(--sand);color:#6b573c;font-size:12px;line-height:1.7}.specs{border-block:1px solid var(--border);padding:18px 0;margin:23px 0}.specs dt{font-size:11px;color:var(--muted)}.specs dd{margin:2px 0 13px}.sizes{display:flex;gap:8px}.sizes span{padding:4px 14px;border:1px solid var(--border)}details{border-bottom:1px solid var(--border);padding:17px 0}summary{cursor:pointer;font-size:13px}details img{width:100%;margin-top:18px;cursor:zoom-in}details p{font-size:12px}.consult{margin-top:25px}.consult p{font-size:12px}.share-message{font-size:11px;color:var(--ink);min-height:20px}dialog{padding:20px;border:1px solid var(--border);background:var(--cream);max-width:95vw;max-height:95vh}dialog::backdrop{background:#12333bd9}dialog img{display:block;max-width:86vw;max-height:77vh;object-fit:contain}dialog button{display:block;margin-left:auto;margin-bottom:10px;padding:7px 14px;border:1px solid var(--ink);color:var(--ink);background:transparent}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:760px){header{padding:15px 5%}.wordmark{font-size:30px}.place{display:none}nav{gap:15px}.intro{padding:20px 5% 30px;grid-template-columns:1fr;gap:0}.intro img{height:190px}.intro h1{font-size:39px;margin:10px 0}.intro p{max-width:none;font-size:13px}.ribbon{font-size:9px;letter-spacing:1px}main.catalog{padding:35px 5%}.titlebar{align-items:start}.titlebar h2{font-size:31px}.filters{flex-wrap:wrap;gap:8px}.search{flex-basis:100%}.filters select{flex:1;max-width:none}.grid{grid-template-columns:repeat(2,1fr);gap:25px 13px}.badge{top:8px;left:8px;padding:3px 7px;font-size:9px}.card h3{font-size:19px}.card p{font-size:11px}.card .price{font-size:14px}.info{grid-template-columns:1fr;gap:25px}.product{padding:25px 5% 45px}.detail{grid-template-columns:1fr;gap:30px}.detail h1{font-size:33px}.mainphoto img{max-height:540px}.titlebar p{font-size:10px;text-align:right}footer{font-size:10px}.intro .primary{margin-top:4px}.intro .eyebrow{font-size:9px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


/* Layout for phones: compact photos and usable controls. */
@media (max-width: 760px) {
  .intro img { width: min(100%, 300px); justify-self: center; }
  .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 12px; }
  .card { min-width: 0; }
  .photo img { height: clamp(140px, 44vw, 196px); aspect-ratio: auto; object-fit: contain; }
  .card h3 { font-size: 17px; line-height: 1.25; margin: 10px 0 5px; }
  .card p { line-height: 1.4; }
  .card .link { line-height: 1.35; }
  .filters select { min-width: 0; width: calc(50% - 4px); }
  .product { max-width: 560px; }
  .detail { gap: 23px; margin-top: 24px; }
  .mainphoto img { height: min(40vh, 310px); height: min(40svh, 310px); max-height: none; aspect-ratio: auto; }
  .thumbs { gap: 8px; }
  .thumbs button { width: 58px; flex: 0 0 auto; }
  .thumbs img { height: 62px; }
  .detail h1 { font-size: 30px; margin: 9px 0 12px; }
  .detail .price { font-size: 26px; }
  .consult .primary { display: block; width: 100%; text-align: center; }
  dialog { padding: 12px; }
  dialog img { max-width: 88vw; max-height: 72vh; }
}
@media (max-width: 360px) {
  header { gap: 8px; }
  nav { gap: 10px; font-size: 11px; }
  .wordmark { font-size: 27px; }
  .filters select { flex: 1 1 100%; width: 100%; }
  .titlebar h2 { font-size: 28px; }
  .card h3 { font-size: 16px; }
  .badge { font-size: 8px; }
}
