


:root { --ink:#121310; --paper:#f1efe8; --acid:#d8ff3e; --line:#c9c7bf; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; } a { color:inherit; text-decoration:none; } button,.primary,.text-link,.header-cta,.brands-title>a,.brand-grid a,.feature-info>a,.contact a { text-transform:uppercase; }
.topbar { height:84px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 4vw; border-bottom:1px solid var(--line); position:absolute; inset:0 0 auto; z-index:10; }
.brand { font-size:1.35rem; font-weight:900; letter-spacing:-.07em; } .brand span { font-size:.48rem; vertical-align:top; margin-left:3px; letter-spacing:0; }
nav { display:flex; gap:2rem; font-size:.76rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; } nav a:hover { opacity:.55; }
.header-cta { justify-self:end; border-bottom:1px solid; padding:.45rem 0; font-size:.76rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.hero { min-height:100vh; display:grid; grid-template-columns:1.08fr .92fr; } .hero-copy { padding:clamp(130px,17vh,180px) 5vw 6vw; display:flex; flex-direction:column; justify-content:center; }
.eyebrow { font-size:.7rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; margin:0 0 2.1rem; } h1 { margin:0; font-size:clamp(4rem,7.5vw,8rem); line-height:.85; letter-spacing:-.075em; font-weight:900; text-transform:uppercase; }
.hero-text { max-width:510px; font-size:clamp(1rem,1.35vw,1.28rem); line-height:1.55; margin:2.5rem 0 2.2rem; } .hero-actions { display:flex; align-items:center; gap:2rem; flex-wrap:wrap; }
.primary { background:var(--ink); color:white; padding:1.1rem 1.35rem; display:inline-flex; gap:1.5rem; align-items:center; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; transition:.2s; } .primary:hover { background:var(--acid); color:var(--ink); }
.text-link { display:inline-flex; align-items:center; gap:.55rem; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.hero-visual { position:relative; overflow:hidden; min-height:680px; } .hero-visual img { width:100%; height:100%; object-fit:cover; filter:saturate(.78) contrast(1.05); }
.vertical-label { position:absolute; right:1.2rem; top:7.5rem; writing-mode:vertical-rl; font-size:.67rem; letter-spacing:.15em; font-weight:800; color:white; } .counter { position:absolute; bottom:1.5rem; left:1.5rem; background:var(--acid); padding:.65rem .85rem; font-size:.72rem; font-weight:900; }
@media (max-width:800px) { .topbar { grid-template-columns:1fr auto; height:70px; } nav { display:none; } .hero { grid-template-columns:1fr; } .hero-copy { padding:120px 6vw 55px; } h1 { font-size:clamp(3.5rem,17vw,6rem); } .hero-visual { min-height:65vh; } .header-cta { font-size:.66rem; } }
.ticker { overflow:hidden; background:var(--ink); color:white; padding:1.15rem 0; white-space:nowrap; } .ticker div { width:max-content; animation:run 28s linear infinite; } .ticker span { font-weight:900; font-size:.78rem; letter-spacing:.1em; margin-right:2rem; } .ticker b { color:var(--acid); margin-left:2rem; } @keyframes run { to { transform:translateX(-50%); } }
.catalog { padding:8vw 5vw; background:#f7f5ef; } .catalog-heading { display:grid; grid-template-columns:1fr .35fr; gap:5vw; align-items:end; } .catalog-heading h2 { margin:0; font-size:clamp(3.5rem,7vw,7rem); line-height:.83; text-transform:uppercase; letter-spacing:-.07em; } .catalog-heading h2 em { font-family:Georgia,serif; font-weight:400; text-transform:none; } .catalog-heading>p { line-height:1.55; } .catalog-heading>p strong { display:block; font-size:1.3rem; margin-bottom:.4rem; }
.catalog-tools { position:sticky; top:0; z-index:5; background:#f7f5efee; backdrop-filter:blur(14px); padding:2rem 0 1rem; margin-top:3rem; border-bottom:1px solid var(--line); } .catalog-tools label { max-width:560px; height:52px; display:flex; align-items:center; gap:.8rem; border:1px solid var(--ink); padding:0 1rem; background:white; } .catalog-tools input { width:100%; border:0; outline:0; background:transparent; font-size:.9rem; } .filter-row { display:flex; gap:.5rem; overflow:auto; padding:1rem 0 0; scrollbar-width:none; } .filter-row button { flex:0 0 auto; border:1px solid #aaa99f; background:transparent; padding:.65rem .85rem; font-size:.65rem; font-weight:900; text-transform:uppercase; letter-spacing:.06em; cursor:pointer; } .filter-row button.active,.filter-row button:hover { background:var(--ink); border-color:var(--ink); color:white; }
.results-line { display:flex; justify-content:space-between; margin:1.5rem 0; font-size:.72rem; text-transform:uppercase; font-weight:800; letter-spacing:.06em; } .results-line button { display:flex; gap:.4rem; border:0; background:none; font:inherit; cursor:pointer; }
.brand-folder-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; } .brand-folder { min-width:0; } .brand-folder>button { width:100%; padding:0 0 1.35rem; border:1px solid var(--line); background:#eeece5; color:var(--ink); text-align:left; display:flex; flex-direction:column; align-items:stretch; cursor:pointer; overflow:hidden; transition:.2s; } .brand-folder>button:hover { background:var(--acid); border-color:var(--ink); transform:translateY(-3px); } .brand-folder-cover { aspect-ratio:4/3; display:grid; place-items:center; background:#ddd9cf; color:#77766f; } .brand-folder>button:hover .brand-folder-cover { color:var(--ink); } .brand-folder-info { padding:1.25rem 1.35rem .8rem; } .brand-folder p,.category-heading p { margin:0 0 .4rem; color:#6a6b66; font-size:.65rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; } .brand-folder h3 { margin:0; font-size:clamp(1.5rem,2.5vw,2.6rem); line-height:.95; letter-spacing:-.055em; text-transform:uppercase; } .brand-folder-info span { display:block; margin-top:.55rem; font-size:.75rem; color:#60615c; } .brand-folder b { padding:0 1.35rem; font-size:.68rem; letter-spacing:.07em; text-transform:uppercase; }
.folder-breadcrumb { display:flex; align-items:center; gap:.6rem; padding:1.4rem 0 .9rem; font-size:.72rem; text-transform:uppercase; letter-spacing:.07em; } .folder-breadcrumb button { border:0; background:none; padding:0; text-decoration:underline; cursor:pointer; font:inherit; } .category-heading { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:1.2rem 1.4rem; background:var(--acid); border:1px solid var(--ink); } .category-heading>div { display:flex; align-items:center; gap:1rem; } .category-heading h3 { margin:0; font-size:1.55rem; letter-spacing:-.04em; text-transform:uppercase; } .category-heading>span { font-size:.76rem; }
.model-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem 1rem; } .model-card,.model-card>button { min-width:0; } .model-card>button { width:100%; padding:0; border:0; background:transparent; text-align:left; cursor:pointer; } .model-cover { aspect-ratio:4/5; position:relative; display:grid; place-items:center; overflow:hidden; background:#e1ded4; color:#77766f; transition:.2s; } .model-card:hover .model-cover { background:#d8ff36; color:var(--ink); } .model-cover span { position:absolute; right:.65rem; bottom:.65rem; background:var(--acid); padding:.55rem .7rem; font-size:.65rem; font-weight:900; text-transform:uppercase; } .model-info { padding:.9rem .2rem 1.2rem; border-bottom:1px solid var(--line); } .model-info p,.model-detail-head p { margin:0; font-size:.62rem; text-transform:uppercase; font-weight:900; letter-spacing:.1em; color:#6a6b66; } .model-info h3 { margin:.3rem 0 .8rem; font-size:1.25rem; line-height:1; text-transform:uppercase; letter-spacing:-.035em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .model-info b { font-size:.66rem; text-transform:uppercase; letter-spacing:.06em; }
.model-detail { padding-top:1.5rem; } .back-models { border:0; background:none; display:flex; gap:.55rem; align-items:center; padding:.75rem 0; font-size:.7rem; font-weight:900; text-transform:uppercase; cursor:pointer; } .model-detail-head { display:flex; justify-content:space-between; align-items:end; gap:2rem; padding:1.5rem 0 2rem; border-top:1px solid var(--line); } .model-detail-head h3 { margin:.25rem 0; font-size:clamp(2.4rem,5vw,5.5rem); line-height:.9; text-transform:uppercase; letter-spacing:-.06em; } .model-detail-head span { color:#6a6b66; font-size:.8rem; } .share-model,.consult-photo,.lightbox-share { border:0; background:var(--ink); color:white; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.1rem; font-size:.68rem; font-weight:900; text-transform:uppercase; cursor:pointer; } .share-model:hover,.consult-photo:hover,.lightbox-share:hover { background:var(--acid); color:var(--ink); } .consult-photo { width:100%; margin-top:.8rem; border-top:0; }
.product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem 1rem; } .product-card { min-width:0; } .photo-button { border:0; padding:0; width:100%; aspect-ratio:4/5; background:#e1ded4; position:relative; cursor:zoom-in; overflow:hidden; } .photo-button img { width:100%; height:100%; object-fit:cover; transition:.45s; } .photo-button:hover img { transform:scale(1.035); } .photo-button span { position:absolute; right:.7rem; bottom:.7rem; background:white; padding:.5rem .65rem; font-size:.6rem; text-transform:uppercase; font-weight:900; opacity:0; transition:.2s; } .photo-button:hover span { opacity:1; } .product-card>div { padding:.9rem .2rem; } .product-card p { margin:0; font-size:.62rem; text-transform:uppercase; font-weight:900; letter-spacing:.1em; color:#6a6b66; } .product-card h3 { font-size:1.25rem; margin:.25rem 0; text-transform:uppercase; letter-spacing:-.035em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .product-card small { display:block; color:#777872; min-height:1.2rem; } .product-card a { margin-top:.8rem; display:flex; justify-content:space-between; border-top:1px solid var(--line); padding-top:.7rem; text-transform:uppercase; font-size:.68rem; font-weight:900; }
.load-more { margin:3rem auto 0; display:flex; align-items:center; gap:1.5rem; background:var(--ink); color:white; border:0; padding:1.1rem 1.4rem; text-transform:uppercase; font-size:.72rem; font-weight:900; cursor:pointer; } .empty { padding:6rem 1rem; text-align:center; border:1px solid var(--line); } .empty button { border:0; background:var(--ink); color:white; padding:1rem; cursor:pointer; }
.lightbox { position:fixed; inset:0; z-index:100; background:#0b0c0bea; display:grid; place-items:center; padding:4vw; } .lightbox>div { display:grid; grid-template-columns:minmax(0,700px) 280px; background:var(--paper); max-height:88vh; max-width:1000px; } .lightbox img { width:100%; height:100%; max-height:88vh; object-fit:contain; background:#111; } .lightbox section { padding:2rem; display:flex; flex-direction:column; justify-content:flex-end; } .lightbox section p { font-size:.7rem; font-weight:900; letter-spacing:.1em; } .lightbox section h3 { font-size:2rem; text-transform:uppercase; margin:.2rem 0; } .lightbox-share { margin-top:2rem; } .lightbox-close { position:fixed; top:1.5rem; right:1.5rem; border:0; width:46px; height:46px; display:grid; place-items:center; cursor:pointer; z-index:2; }
.collection { padding:8vw 5vw; } .section-head { display:grid; grid-template-columns:.65fr 1.5fr .75fr; gap:3vw; align-items:end; margin-bottom:5rem; } .section-head h2,.how h2 { margin:0; font-size:clamp(3.4rem,7vw,7rem); line-height:.86; text-transform:uppercase; letter-spacing:-.065em; } .section-head em { font-family:Georgia,serif; font-weight:400; text-transform:none; } .section-head>p:last-child { line-height:1.55; font-size:.95rem; }
.feature-card { display:grid; grid-template-columns:1.4fr .6fr; background:#dedbd2; } .feature-image { min-height:670px; position:relative; } .feature-image img { width:100%; height:100%; object-fit:cover; } .feature-image>span { position:absolute; top:1.5rem; left:1.5rem; background:var(--acid); padding:.6rem .8rem; text-transform:uppercase; font-size:.67rem; font-weight:900; letter-spacing:.08em; } .feature-info { padding:4vw; display:flex; flex-direction:column; justify-content:flex-end; } .feature-info>p { text-transform:uppercase; font-size:.7rem; font-weight:800; letter-spacing:.14em; } .feature-info h3 { font-size:clamp(3rem,6vw,6rem); margin:.25rem 0 2rem; letter-spacing:-.07em; } dl { border-top:1px solid #b6b3aa; } dl div { display:flex; justify-content:space-between; padding:1rem 0; border-bottom:1px solid #b6b3aa; font-size:.78rem; } dt { text-transform:uppercase; font-weight:800; } .feature-info>a { margin-top:2rem; padding:1.1rem 0; border-bottom:2px solid; display:flex; justify-content:space-between; text-transform:uppercase; font-weight:900; font-size:.78rem; }
.brands { background:#0f100e; color:white; padding:8vw 5vw; } .brands-title { display:flex; justify-content:space-between; align-items:end; gap:2rem; } .brands-title p:last-child { max-width:520px; color:#a6a79f; line-height:1.5; } .brands-title>a { display:flex; gap:1rem; align-items:center; border-bottom:1px solid var(--acid); padding:.8rem 0; color:var(--acid); text-transform:uppercase; font-size:.72rem; font-weight:900; letter-spacing:.07em; white-space:nowrap; } .brand-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:3rem; border-top:1px solid #353632; border-left:1px solid #353632; } .brand-grid a { position:relative; min-height:130px; padding:1.2rem; border-right:1px solid #353632; border-bottom:1px solid #353632; display:flex; flex-direction:column; justify-content:space-between; transition:.2s; } .brand-grid a:hover { background:var(--acid); color:var(--ink); } .brand-grid span { color:#777970; font-size:.65rem; } .brand-grid strong { font-size:clamp(1.1rem,2.2vw,2.1rem); letter-spacing:-.04em; } .brand-grid b { position:absolute; right:1.2rem; top:1rem; font-size:1rem; }
.how { padding:9vw 5vw; display:grid; grid-template-columns:1fr 1fr; gap:6vw; } .how ol { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); } .how li { display:grid; grid-template-columns:55px 1fr; gap:1rem; padding:1.8rem 0; border-bottom:1px solid var(--line); } .how li>span { font-size:.7rem; font-weight:800; } .how h3 { margin:0 0 .4rem; text-transform:uppercase; font-size:1.4rem; } .how li p { margin:0; color:#60615d; }
.contact { background:var(--acid); min-height:75vh; padding:8vw 5vw; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; } .contact>p { text-transform:uppercase; font-weight:900; font-size:.75rem; letter-spacing:.15em; } .contact h2 { font-size:clamp(4.5rem,12vw,12rem); line-height:.72; letter-spacing:-.085em; margin:2rem 0 3rem; } .contact h2 i { font-family:Georgia,serif; font-weight:400; } .contact a { display:flex; align-items:center; gap:2rem; background:var(--ink); color:white; padding:1.2rem 1.5rem; font-weight:900; text-transform:uppercase; font-size:.8rem; }
footer { padding:2.2rem 5vw; display:grid; grid-template-columns:1fr 1fr auto; align-items:center; border-top:1px solid var(--line); font-size:.72rem; }
@media (max-width:800px) { .catalog-heading { grid-template-columns:1fr; } .catalog-tools { position:relative; } .brand-folder-grid { grid-template-columns:repeat(2,1fr); } .category-heading { align-items:flex-start; flex-direction:column; gap:.75rem; } .model-grid,.product-grid { grid-template-columns:repeat(2,1fr); gap:1.2rem .65rem; } .model-detail-head { align-items:flex-start; flex-direction:column; } .lightbox>div { grid-template-columns:1fr; max-height:90vh; overflow:auto; } .lightbox img { max-height:62vh; } .lightbox section { padding:1.2rem; } .section-head,.feature-card,.how { grid-template-columns:1fr; } .section-head { gap:1.5rem; } .feature-image { min-height:560px; } .feature-info { padding:2rem; } .brands-title { align-items:flex-start; flex-direction:column; } .brand-grid { grid-template-columns:repeat(2,1fr); } footer { grid-template-columns:1fr auto; gap:1rem; } footer p { display:none; } }


/* Product-first catalog refinement, with compact mobile browsing. */
main, .hero-copy, .catalog-heading > *, .section-head > * { min-width:0; }
:focus-visible { outline:3px solid #647900; outline-offset:4px; }
.topbar { position:relative; background:var(--paper); }
.hero { min-height:0; }
.hero-copy { padding:4rem 5vw; }
h1 { font-size:clamp(3rem,5.7vw,6rem); line-height:.98; letter-spacing:-.065em; text-wrap:balance; }
.hero-visual { min-height:0; aspect-ratio:1/1; }
.hero-visual img { display:block; position:absolute; inset:0; }
.hero-text { margin:1.5rem 0; }
.hero-actions { gap:1rem 1.5rem; }
.vertical-label { top:auto; bottom:1rem; left:1rem; right:auto; writing-mode:horizontal-tb; background:#121310d9; padding:.6rem .8rem; font-size:.75rem; letter-spacing:.03em; }
.eyebrow { font-size:.75rem; margin-bottom:1.25rem; }
.primary, .text-link, .header-cta, nav { font-size:.875rem; letter-spacing:.025em; }
.catalog, .collection, .brands, .how { padding:4rem 5vw; }
.catalog-heading h2, .section-head h2, .how h2 { font-size:clamp(2.5rem,5vw,5rem); line-height:1; }
.catalog-tools { margin-top:1.5rem; padding:1rem 0; }
.catalog-tools input { font-size:1rem; min-width:0; }
.filter-row button { min-height:44px; font-size:.875rem; letter-spacing:0; }
.filter-row { scrollbar-width:thin; padding-bottom:.5rem; }
.results-line, .folder-breadcrumb, .back-models { font-size:.875rem; letter-spacing:0; }
.results-line { gap:1rem; align-items:center; }
.results-line button, .back-models { min-height:44px; }
.brand-folder-cover, .model-cover { aspect-ratio:1; }
.brand-folder-cover img, .model-cover img { width:100%; height:100%; object-fit:cover; transition:transform .25s; }
.brand-folder button:hover img, .model-card button:hover img { transform:scale(1.025); }
.brand-folder h3 { font-size:clamp(1.1rem,2vw,2rem); line-height:1.15; overflow-wrap:anywhere; }
.brand-folder-info { padding:1rem; }
.brand-folder b { padding:0 1rem; font-size:.875rem; letter-spacing:0; }
.brand-folder-info span { display:none; }
.brand-folder p, .category-heading p, .model-info p, .model-detail-head p, .product-card p { font-size:.75rem; letter-spacing:.04em; }
.model-info h3, .product-card h3 { white-space:normal; overflow:visible; font-size:1.125rem; line-height:1.2; overflow-wrap:anywhere; }
.model-info b, .model-cover span { font-size:.875rem; letter-spacing:0; }
.category-heading { background:var(--paper); border:0; border-bottom:1px solid var(--line); padding:1rem 0; scroll-margin-top:190px; }
.category-heading>span, .model-detail-head span { font-size:.875rem; }
.model-detail { scroll-margin-top:180px; }
.share-model, .consult-photo, .lightbox-share { font-size:.875rem; text-transform:none; line-height:1.3; gap:.5rem; min-height:48px; }
.share-model svg, .consult-photo svg, .lightbox-share svg { flex-shrink:0; }
.product-card small { color:#55564f; font-size:.875rem; }
.photo-button span { opacity:1; font-size:.75rem; }
.section-head { margin-bottom:2rem; }
.contact { min-height:0; padding:4rem 5vw; }
.contact h2 { font-size:clamp(3rem,9vw,9rem); line-height:.95; overflow-wrap:anywhere; }
.contact a { font-size:.875rem; }
@media (max-width:800px) {
  .topbar { height:auto; min-height:68px; padding:1rem 5vw; gap:1rem; }
  .brand { font-size:1.15rem; }
  .header-cta { font-size:.75rem; text-align:right; letter-spacing:0; }
  .hero-copy { padding:1.75rem 5vw; }
  h1 { font-size:clamp(2.3rem,10vw,4rem); line-height:1.02; }
  .hero-copy .eyebrow { margin-bottom:.85rem; }
  .hero-text { font-size:1rem; margin:1rem 0; }
  .hero-actions { gap:.85rem; }
  .primary { padding:.9rem 1rem; }
  .hero-visual { min-height:0; height:260px; aspect-ratio:auto; }
  .hero-visual img { object-position:center 55%; }
  .ticker { padding:.85rem 0; }
  .catalog, .collection, .brands, .how { padding:2.5rem 5vw; }
  .catalog-heading { gap:.75rem; }
  .catalog-heading h2 { font-size:2.7rem; }
  .catalog-heading>p { margin:0; }
  .catalog-tools { margin-top:1rem; padding:.5rem 0; }
  .brand-folder-grid, .model-grid, .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem .75rem; }
  .brand-folder>button { padding-bottom:1rem; }
  .brand-folder-info { padding:.8rem .65rem .5rem; }
  .brand-folder b { padding:0 .65rem; }
  .brand-folder h3 { font-size:1.05rem; }
  .brand-folder p { display:none; }
  .model-cover span { right:.35rem; bottom:.35rem; padding:.35rem .45rem; font-size:.75rem; }
  .model-info { padding:.75rem 0; }
  .model-info h3 { font-size:1rem; }
  .category-heading, .model-detail { scroll-margin-top:1rem; }
  .model-detail-head { padding:1rem 0; gap:1rem; }
  .model-detail-head h3 { font-size:2rem; line-height:1.1; }
  .share-model { width:100%; justify-content:center; }
  .consult-photo { padding:.65rem .45rem; font-size:.875rem; text-align:left; }
  .product-card>div { padding:.65rem 0; }
  .photo-button span { right:.35rem; bottom:.35rem; padding:.3rem .4rem; }
  .lightbox { padding:12px; }
  .lightbox>div { width:100%; min-width:0; }
  .lightbox section h3 { overflow-wrap:anywhere; }
  .feature-image { min-height:0; height:340px; }
  .feature-info { padding:1.5rem; }
  .contact { padding:3rem 5vw; }
  .contact h2 { font-size:clamp(2.75rem,11vw,5rem); letter-spacing:-.055em; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .ticker div { animation:none; } *, *::before, *::after { transition:none!important; } }

.hero.hero-text-only { grid-template-columns:1fr; }

button,input {font:inherit} button,a {-webkit-tap-highlight-color:transparent} .product-card a.consult-photo {border:0;padding:.85rem;display:flex;text-transform:none;font-size:.875rem;color:white} .product-card a.consult-photo:hover{color:var(--ink)} .photo-button{aspect-ratio:1/1} .photo-button img{object-fit:contain} .product-card h3{margin:.5rem 0;font-size:1.15rem} .product-card small{line-height:1.4} .product-card .ref{display:block;margin-top:.6rem;font-size:.75rem;color:#55564f} .catalog-heading p{font-size:1rem} .ticker div{animation:none;width:auto;padding:0 5vw;white-space:normal;line-height:1.8} .ticker span{font-size:.875rem} .catalog-heading h2 em{line-height:1.1} dialog {padding:0;border:0;width:min(1060px,94vw);max-height:92dvh;background:var(--paper);color:var(--ink)} dialog::backdrop{background:#0b0c0beb} .dialog-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr)} .dialog-photo{background:#dfddd5;position:relative;min-width:0} .dialog-photo>img{display:block;width:100%;height:70dvh;object-fit:contain} .dialog-info{padding:4rem 1.5rem 1.5rem;align-self:end;min-width:0} .dialog-info h2{font-size:2.3rem;line-height:1.05;margin:.6rem 0;letter-spacing:-.05em;text-transform:uppercase} .dialog-info p{line-height:1.5} .dialog-close{position:absolute;right:10px;top:10px;z-index:5;background:var(--paper);border:1px solid var(--ink);width:44px;height:44px;cursor:pointer;font-size:1.5rem} .gallery-nav{display:flex;justify-content:space-between;align-items:center;padding:.7rem 1rem;gap:.5rem;background:var(--paper)} .gallery-nav button{border:1px solid var(--ink);background:transparent;min-height:44px;min-width:44px;cursor:pointer} .gallery-nav button:disabled{opacity:.3;cursor:default} .gallery-count{font-size:.875rem} .thumbs{display:flex;overflow:auto;gap:.5rem;margin:1.5rem 0} .thumbs button{border:2px solid transparent;background:none;padding:0;flex:0 0 54px;cursor:pointer} .thumbs button.active{border-color:var(--ink)} .thumbs img{width:50px;height:58px;object-fit:cover;display:block} .dialog-info .consult-photo{margin-top:1rem} .dialog-info .eyebrow{font-size:.75rem} .empty{grid-column:1/-1} .error-photo{position:absolute;inset:0;display:grid;place-items:center;background:#e1ded4;font-size:.875rem;padding:1rem} [hidden]{display:none!important} @media(max-width:800px){.dialog-layout{grid-template-columns:1fr}.dialog-photo>img{height:48dvh}.dialog-info{padding:1.25rem}.dialog-info h2{font-size:1.7rem}.dialog-info p{margin:.5rem 0}.thumbs{margin:1rem 0}.contact h2{font-size:clamp(2.75rem,10.5vw,5rem)}.product-card a.consult-photo{font-size:.875rem;padding:.75rem .5rem}.product-card h3{font-size:1rem}.product-card small{font-size:.8rem} .hero-actions .text-link{font-size:.8rem}}

.product-card .season,.dialog-info .season{display:block;font-size:13px;font-weight:600;line-height:1.45;color:#52634d;margin:10px 0 6px}.dialog-info .season[hidden]{display:none}

.sync-status{font-size:14px;color:#53634d;line-height:1.5;margin:14px 0}.size-heading{display:block;font-size:14px;font-weight:600;margin-top:13px}.size-list{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.size-chip{font-family:inherit;font-size:14px;font-weight:500;line-height:1.35;border:1px solid #72876a;border-radius:5px;padding:5px 8px;color:#233c1e;background:#f1f5ee}.size-chip.unavailable{color:#767676;border-color:#ddd;background:#f4f4f4}.size-chip[aria-pressed="true"]{background:#233c1e;color:white}.size-chip:disabled{cursor:default}.size-note{font-size:14px;line-height:1.5;color:#616161}.dialog-info #detail-sizes{margin:20px 0}.dialog-info #detail-sizes h3{font-size:16px}.dialog-info .size-chip{min-height:44px;min-width:44px}.product-card .size-list{margin-bottom:12px}

.size-chip.sold-out{position:relative;color:#555;border-color:#ccc;background:#f4f4f4}.size-chip.sold-out::before,.size-chip.sold-out::after{content:"";position:absolute;left:50%;top:50%;width:80%;height:2px;background:#d0202b;border-radius:2px;pointer-events:none;transform:translate(-50%,-50%) rotate(45deg)}.size-chip.sold-out::after{transform:translate(-50%,-50%) rotate(-45deg)}

/* Compact entry, inline filters, aligned cards, persistent product action. */
.topbar{min-height:64px;height:64px}.hero-copy{padding:24px 5vw;display:grid;grid-template-columns:1.2fr 1fr;column-gap:4rem;align-items:center}.hero-copy .eyebrow{grid-column:1;margin:0 0 10px}.hero-copy h1{grid-column:1;grid-row:2/4;font-size:clamp(2rem,3.4vw,3.5rem);line-height:1.04}.hero-text{grid-column:2;grid-row:1/3;margin:0 0 14px;max-width:450px;font-size:1rem}.hero-actions{grid-column:2;grid-row:3;gap:12px}.hero-actions .primary{padding:12px 16px}.hero-actions .text-link{display:none}
.catalog{padding:24px 5vw 48px;border-top:3px solid var(--acid);scroll-margin-top:0}.catalog-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.catalog-heading h2{font-size:1.7rem;letter-spacing:-.04em;text-transform:none}.catalog-heading>p{margin:0;font-size:.875rem;color:#60615d}.catalog-tools{margin-top:16px;padding:0 0 12px;display:grid;grid-template-columns:1fr 1fr;gap:12px;position:relative;background:transparent;backdrop-filter:none}.catalog-tools>label{max-width:none;width:100%;height:48px}.filter-selects{display:grid;grid-template-columns:1fr 1fr;gap:10px}.catalog-tools .filter-selects label{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:0;min-width:0;padding:4px 10px;height:48px;border:1px solid var(--line);background:#fff}.filter-selects label>span{font-size:11px;font-weight:700;color:#60615d}.filter-selects select{width:100%;min-width:0;border:0;background:transparent;font:inherit;font-size:14px;color:var(--ink);padding:2px 0;cursor:pointer}.collection-filters{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.collection-filters button{min-height:40px;padding:8px 18px;border:1px solid var(--line);border-radius:22px;background:transparent;font:inherit;font-size:14px;text-transform:none;cursor:pointer}.collection-filters button[aria-pressed="true"]{background:var(--ink);color:white;border-color:var(--ink)}.collection-filters button:hover{border-color:var(--ink)}.sync-status{font-size:12px;margin:10px 0;color:#62635d}.results-line{margin:10px 0 16px;font-size:13px}.results-line button{font-size:12px;min-height:32px}
.product-card{display:flex;flex-direction:column}.product-card>.product-info{display:flex;flex-direction:column;flex:1;padding:12px 0 0}.product-card h3{margin:0 0 8px;font-size:1.08rem}.product-card small{line-height:1.5;font-size:13px}.product-card .ref{margin-bottom:12px;font-size:11px}.product-card a.consult-photo{margin-top:auto;min-height:48px;justify-content:center;text-align:center}.photo-button{flex-shrink:0;display:block}.product-card .season{font-size:12px}
#detail[open]{display:flex;flex-direction:column;overflow:hidden;height:min(780px,92dvh)}.dialog-layout{overflow:auto;min-height:0;flex:1;overscroll-behavior:contain;align-items:start}.dialog-info{align-self:start;padding:56px 24px 24px}.dialog-photo>img{height:min(60dvh,620px)}.dialog-footer{flex:0 0 auto;background:var(--paper);padding:12px 24px;border-top:1px solid var(--line);z-index:4}.dialog-footer .consult-photo{margin:0;justify-content:center;min-height:50px;font-size:15px}.dialog-close{box-shadow:0 1px 6px #0002}.dialog-info #detail-sizes{margin:18px 0}.dialog-info .thumbs{margin-bottom:0}.empty{padding:24px 0}.empty button{min-height:44px}
@media(max-width:800px){.topbar{min-height:60px;height:auto;padding:14px 5vw}.hero-copy{display:block;padding:18px 5vw}.hero-copy .eyebrow{font-size:10px;margin-bottom:8px}.hero-copy h1{font-size:clamp(1.65rem,7vw,2.6rem);line-height:1.05}.hero-copy h1 br{display:none}.hero-text{margin:10px 0 0;font-size:14px;line-height:1.4}.hero-actions{display:none}.catalog{padding:18px 5vw 36px}.catalog-heading h2{font-size:1.35rem}.catalog-heading>p{display:none}.catalog-tools{grid-template-columns:1fr;gap:10px;margin-top:12px}.filter-selects{grid-column:1}.collection-filters{gap:6px;flex-wrap:nowrap;justify-content:space-between}.collection-filters button{padding:8px 12px;font-size:13px;flex:1}.product-grid{gap:22px 12px}.product-card h3{font-size:1rem}.product-card a.consult-photo{font-size:13px;padding:10px 6px;min-height:52px}.photo-button span{font-size:10px}.sync-status{font-size:11px}.results-line{font-size:12px}.filter-selects select{font-size:16px}#detail[open]{width:96vw;height:94dvh;max-height:94dvh}.dialog-photo>img{height:38dvh}.dialog-info{padding:18px}.dialog-footer{padding:10px 14px max(10px,env(safe-area-inset-bottom))}.dialog-footer .consult-photo{min-height:50px}.dialog-info h2{font-size:1.6rem}.dialog-info .eyebrow{margin-bottom:10px}.gallery-nav{padding:8px 14px}.how{padding:36px 5vw}.how h2{font-size:2rem}.contact{padding:32px 5vw}.contact h2{margin:20px 0 24px}}
