  :root{
    /* G Watch brand palette — Cultured White / Old Silver / Quartz / Licorice */
    --bg:#ffffff;
    --bg-panel:#ffffff;
    --card-bg:#ffffff;
    --ink:#151110;
    --ink-soft:#4d4946;
    --brass:#4d4946;
    --brass-bright:#151110;
    --silver:#868686;
    --rule:rgba(21,17,16,0.14);
    --shadow:rgba(21,17,16,0.12);
    --dial-dark:#151110;
    --dial-cream:#f6f8f5;
    --case-stroke: rgba(21,17,16,0.55);
    --logo-filter: none;
    --font-display: ui-serif, "Iowan Old Style","Palatino Linotype","Book Antiqua", Georgia, serif;
    --font-body: Optima, Candara, "Century Gothic", "Segoe UI", sans-serif;
    --font-mono: "SF Mono", ui-monospace, Menlo, Consolas, monospace;
  }
  :root[data-theme="dark"]{
    --bg:#151110; --bg-panel:#221e1c; --card-bg:#1c1917; --ink:#f6f8f5; --ink-soft:#c7c2be;
    --brass:#f6f8f5; --brass-bright:#ffffff; --silver:#868686; --rule:rgba(246,248,245,0.16); --shadow:rgba(0,0,0,0.5);
    --dial-dark:#0a0908; --dial-cream:#2a2522; --case-stroke: rgba(246,248,245,0.5); --logo-filter: invert(1);
  }
  :root[data-theme="light"]{
    --bg:#ffffff; --bg-panel:#ffffff; --card-bg:#ffffff; --ink:#151110; --ink-soft:#4d4946;
    --brass:#4d4946; --brass-bright:#151110; --silver:#868686; --rule:rgba(21,17,16,0.14); --shadow:rgba(21,17,16,0.12);
    --dial-dark:#151110; --dial-cream:#f6f8f5; --case-stroke: rgba(21,17,16,0.55); --logo-filter: none;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth; overflow-x:hidden; max-width:100%;}
  body{
    margin:0; background:var(--bg); color:var(--ink);
    font-family:var(--font-body); line-height:1.65; font-size:16px;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden; max-width:100%; position:relative;
  }
  img,svg{display:block; max-width:100%;}
  a{color:inherit;}
  .wrap{max-width:1160px; margin:0 auto; padding:0 clamp(1.25rem,4vw,2.5rem);}
  .eyebrow{
    font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.16em; text-transform:uppercase;
    color:var(--brass); font-weight:600;
  }
  h1,h2,h3{font-family:var(--font-display); font-weight:600; margin:0; text-wrap:balance; color:var(--ink);}
  h1{font-size:clamp(2.6rem,4.8vw,5rem); line-height:1.04; letter-spacing:-0.01em;}
  h2{font-size:clamp(1.9rem,2.6vw,2.75rem); line-height:1.1;}
  h3{font-size:1.2rem; line-height:1.3;}
  p{margin:0;}
  .lede{color:var(--ink-soft); font-size:1.05rem; max-width:38em; text-wrap:pretty;}
  .rule{height:1px; background:var(--rule); border:none; margin:0;}
  .btn{
    display:inline-flex; align-items:center; gap:0.5rem; font-family:var(--font-body);
    font-size:0.85rem; letter-spacing:0.03em; text-decoration:none; padding:0.85rem 1.5rem;
    border-radius:2px; border:1px solid #151110; transition:transform .25s ease, background .25s ease, color .25s ease;
    cursor:pointer; white-space:nowrap;
  }
  .btn-solid{background:#151110; color:#f6f8f5;}
  .btn-solid:hover{background:#000000; transform:translateY(-2px);}
  .btn-ghost{background:transparent; color:#151110;}
  .btn-ghost:hover{border-color:#151110; transform:translateY(-2px);}
  .btn-small{padding:0.55rem 1rem; font-size:0.76rem;}

  /* header */
  header{
    position:sticky; top:0; z-index:40; backdrop-filter:blur(10px);
    background:color-mix(in srgb, var(--bg) 82%, transparent); border-bottom:1px solid var(--rule);
  }
  .nav{display:flex; align-items:center; justify-content:space-between; padding:1rem clamp(1.25rem,4vw,2.5rem);}
  .brandmark{display:flex; align-items:center; gap:0.6rem; text-decoration:none;}
  .brandmark img{height:52px; width:auto; filter:var(--logo-filter);}
  .brandmark span{font-family:var(--font-display); font-size:1.15rem; letter-spacing:0.02em; color:var(--ink);}
  .navlinks{display:flex; gap:2rem; font-size:1.3rem; letter-spacing:0.01em;}
  .nav .btn-small{font-size:0.95rem; padding:0.55rem 1.1rem;}
  .navlinks a{text-decoration:none; color:var(--ink-soft); position:relative; padding-bottom:4px;}
  .navlinks a:hover{color:var(--ink);}
  .navlinks a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--brass);transition:right .25s ease;}
  .navlinks a:hover::after{right:0;}
  .navcta{display:flex; gap:0.75rem; align-items:center;}
  .navtoggle{display:none; background:none; border:1px solid var(--rule); border-radius:2px; padding:0.5rem 0.7rem; color:var(--ink); cursor:pointer;}
  @media (max-width:860px){
    .navlinks{display:none;}
    .navtoggle{display:inline-flex;}
  }

  /* hero */
  .hero{
    position:relative; overflow:hidden; min-height:min(86vh,680px); display:flex; align-items:center;
    padding:clamp(3rem,8vw,5rem) 0;
  }
  .hero-bg-video{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:0;
  }
  .hero-scrim{
    position:absolute; inset:0; z-index:1;
    background:linear-gradient(180deg, rgba(6,6,6,.62) 0%, rgba(6,6,6,.42) 45%, rgba(6,6,6,.78) 100%);
  }
  .hero-content{position:relative; z-index:2; max-width:40em;}
  .badge{
    display:inline-flex; align-items:center; gap:0.5rem; font-family:var(--font-mono); font-size:0.68rem;
    letter-spacing:0.14em; text-transform:uppercase; color:#f2f2f2; border:1px solid rgba(255,255,255,0.35);
    padding:0.4rem 0.7rem; border-radius:2px; margin-bottom:1.25rem;
  }
  .badge::before{content:""; width:6px; height:6px; border-radius:50%; background:#fff; box-shadow:0 0 0 3px rgba(255,255,255,0.25);}
  .hero h1{margin-bottom:1.1rem; color:#fff;}
  .hero .lede{margin-bottom:2rem; font-size:1.1rem; color:rgba(255,255,255,0.82);}
  .hero-ctas{display:flex; gap:1rem; flex-wrap:wrap;}
  .hero-ctas .btn-solid{background:#fff; color:#151110; border-color:#fff;}
  .hero-ctas .btn-solid:hover{background:#e2e2e2;}
  .hero-ctas .btn-ghost{color:#fff; border-color:rgba(255,255,255,0.55);}
  .hero-ctas .btn-ghost:hover{border-color:#fff;}

  .reveal{opacity:0; transform:translateY(22px); transition:opacity .8s ease, transform .8s ease;}
  .reveal.is-visible{opacity:1; transform:none;}
  @media (prefers-reduced-motion: reduce){
    .reveal{opacity:1; transform:none; transition:none;}
  }

  /* section shell */
  section{padding:clamp(3.5rem,7vw,6rem) 0;}
  .section-head{display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; margin-bottom:clamp(2rem,4vw,3rem); flex-wrap:wrap;}
  .section-head h2{margin-top:0.4rem;}

  /* homepage — alternating tinted bands for depth */
  #arrivals, #trust, #boutiques{background:var(--bg-panel);}

  /* new arrivals rail */
  .rail-outer{margin:0 calc(clamp(1.25rem,4vw,2.5rem) * -1);}
  .rail{
    display:flex; gap:1.25rem; overflow-x:auto; padding:0.5rem clamp(1.25rem,4vw,2.5rem) 1.5rem;
    scroll-snap-type:x proximity;
  }
  .rail::-webkit-scrollbar{height:6px;}
  .rail::-webkit-scrollbar-thumb{background:rgba(134,134,134,0.28); border-radius:4px;}

  .lot-card{
    flex:0 0 auto; width:270px; scroll-snap-align:start; background:var(--card-bg); border:1px solid transparent;
    border-radius:4px; padding:1.4rem; position:relative; transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  }
  .lot-card:hover{transform:translateY(-6px); box-shadow:0 22px 40px -18px var(--shadow); border-color:var(--brass);}
  .lot-tag{
    position:absolute; top:1rem; right:1rem; font-family:var(--font-mono); font-size:0.62rem; letter-spacing:0.1em;
    text-transform:uppercase; background:#151110; color:#ffffff; padding:0.28rem 0.55rem; border-radius:2px;
    border:1px solid #151110;
  }
  .lot-watch{width:100%; aspect-ratio:3/4; margin:0.25rem 0 1.1rem; border-radius:3px; overflow:hidden; background:var(--bg-panel);}
  .lot-watch img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease;}
  .lot-card:hover .lot-watch img{transform:scale(1.06);}
  .lot-card .ref{font-family:var(--font-mono); font-size:0.72rem; color:var(--silver); letter-spacing:0.02em;}
  .lot-card h3{margin:0.2rem 0 0.15rem;}
  .lot-card .price-note{font-size:0.8rem; color:var(--silver); margin:0.6rem 0 1rem;}
  .lot-card .lot-cta{width:100%; justify-content:center; font-size:0.75rem;}

  /* collection search bar */
  .search-row{display:flex; align-items:flex-start; gap:0.75rem; margin-bottom:1.75rem;}
  .search-bar{
    display:flex; align-items:center; gap:0.75rem; background:var(--card-bg); border:1.5px solid rgba(134,134,134,0.5);
    border-radius:6px; padding:0.85rem 1.1rem; max-width:560px; flex:1; transition:border-color .2s ease, box-shadow .2s ease;
  }
  .search-bar:focus-within{border-color:var(--brass); box-shadow:0 0 0 3px rgba(77,73,70,0.12);}
  .search-icon{color:var(--silver); flex:0 0 auto;}
  .search-bar input[type="search"]{
    flex:1; min-width:0; border:none; outline:none; background:transparent; font-family:var(--font-body);
    font-size:0.95rem; color:var(--ink);
  }
  .search-bar input[type="search"]::placeholder{color:var(--silver);}
  .search-bar input[type="search"]::-webkit-search-cancel-button{cursor:pointer;}
  .search-count{
    flex:0 0 auto; font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.04em; color:var(--silver);
    white-space:nowrap;
  }
  .no-results{display:none; padding:3rem 0; text-align:center; color:var(--ink-soft); font-size:0.95rem;}
  .no-results.is-active{display:block;}

  /* price filter (funnel button + dropdown panel) */
  .filter-wrap{position:relative; flex:0 0 auto;}
  .filter-btn{
    display:flex; align-items:center; gap:0.5rem; height:100%; background:var(--card-bg);
    border:1.5px solid rgba(134,134,134,0.5); border-radius:6px; padding:0.85rem 1.1rem;
    font-family:var(--font-body); font-size:0.95rem; color:var(--ink); cursor:pointer;
    transition:border-color .2s ease, box-shadow .2s ease;
  }
  .filter-btn:hover{border-color:var(--brass);}
  .filter-btn.active{border-color:var(--brass); box-shadow:0 0 0 3px rgba(77,73,70,0.12); background:var(--bg-panel);}
  .filter-btn svg{color:var(--silver); flex:0 0 auto;}
  .filter-panel{
    display:none; position:absolute; top:calc(100% + 0.6rem); right:0; z-index:30; width:min(340px,80vw);
    background:var(--card-bg); border:1px solid var(--rule); border-radius:8px; padding:1.25rem;
    box-shadow:0 24px 48px -20px rgba(21,17,16,0.28);
  }
  .filter-panel.is-open{display:block;}
  .filter-panel-head{
    font-family:var(--font-mono); font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase;
    color:var(--ink-soft); margin-bottom:1.1rem;
  }
  .range-slider{position:relative; height:20px; margin-bottom:1.1rem;}
  .range-track{position:absolute; top:9px; left:0; right:0; height:2px; background:var(--rule); border-radius:1px;}
  .range-fill{position:absolute; top:9px; height:2px; background:var(--brass); border-radius:1px;}
  .range-input{
    position:absolute; top:0; left:0; width:100%; margin:0; height:20px; background:none;
    -webkit-appearance:none; appearance:none; pointer-events:none;
  }
  .range-input::-webkit-slider-thumb{
    -webkit-appearance:none; pointer-events:auto; width:16px; height:16px; border-radius:50%;
    background:var(--card-bg); border:2px solid var(--brass); cursor:pointer; margin-top:0;
  }
  .range-input::-moz-range-thumb{
    pointer-events:auto; width:16px; height:16px; border-radius:50%; background:var(--card-bg);
    border:2px solid var(--brass); cursor:pointer;
  }
  .range-input::-webkit-slider-runnable-track{background:transparent;}
  .range-input::-moz-range-track{background:transparent;}
  .range-inputs{display:grid; grid-template-columns:1fr 1fr; gap:0.75rem; margin-bottom:1.1rem;}
  .range-inputs label{
    display:flex; flex-direction:column; gap:0.35rem; font-family:var(--font-mono); font-size:0.66rem;
    letter-spacing:0.06em; text-transform:uppercase; color:var(--silver);
  }
  .range-inputs input[type="number"]{
    font-family:var(--font-body); font-size:0.9rem; color:var(--ink); border:1px solid var(--rule);
    border-radius:4px; padding:0.45rem 0.6rem; background:var(--bg); width:100%; box-sizing:border-box;
  }
  .filter-panel-actions{display:flex; justify-content:flex-end; gap:0.6rem;}
  .filter-panel-actions .btn{padding:0.5rem 1rem;}
  @media (max-width:560px){
    .search-row{flex-wrap:wrap; gap:0.45rem; margin-bottom:1.25rem;}
    .search-bar{max-width:none; width:100%; padding:0.4rem 0.65rem; gap:0.45rem; border-radius:5px;}
    .search-bar input[type="search"]{font-size:0.75rem;}
    .search-icon{width:14px; height:14px;}
    .filter-wrap{width:100%;}
    .filter-btn{width:100%; justify-content:center; padding:0.4rem 0.65rem; font-size:0.75rem; gap:0.35rem; border-radius:5px;}
    .filter-btn svg{width:14px; height:14px;}
    .filter-panel{left:0; right:0; width:auto;}
  }

  /* collection grid — brand filter tiles (horizontally scrollable rail) */
  .tabs{
    display:flex; gap:0.85rem; overflow-x:auto; margin-bottom:2.5rem; padding-bottom:0.75rem;
    scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch;
  }
  .tabs::-webkit-scrollbar{height:6px;}
  .tabs::-webkit-scrollbar-thumb{background:rgba(134,134,134,0.28); border-radius:4px;}
  .tab{
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0.75rem;
    flex:0 0 auto; width:128px; min-height:112px; scroll-snap-align:start;
    background:transparent; border:1px solid transparent; border-radius:6px;
    padding:1.25rem 0.85rem; cursor:pointer; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  }
  .tab:hover{transform:translateY(-3px);}
  .tab.active{box-shadow:inset 0 -2px 0 var(--brass);}
  .tab-logo{max-height:40px; width:auto; max-width:100%; object-fit:contain;}
  .tab-label{
    font-family:var(--font-mono); font-size:0.7rem; letter-spacing:0.04em; text-transform:uppercase;
    color:var(--ink-soft); text-align:center; transition:color .2s ease;
  }
  @media (max-width:480px){
    .tabs{gap:0.5rem;}
    .tab{width:84px; min-height:76px; padding:0.75rem 0.4rem; gap:0.5rem;}
    .tab-logo{max-height:26px;}
    .tab-label{font-size:0.6rem;}
    .tab-all .tab-label{font-size:1rem;}
  }
  .tab:hover .tab-label{color:var(--ink);}
  .tab.active .tab-label{color:var(--ink); font-weight:600;}
  .tab-all .tab-label{
    font-family:var(--font-display); font-size:1.3rem; text-transform:none; letter-spacing:0; color:var(--ink);
  }

  .grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:1.25rem;}
  .piece-card{
    background:var(--card-bg); border:1px solid transparent; border-radius:4px; padding:1.3rem;
    transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  }
  .piece-card:hover{transform:translateY(-4px); box-shadow:0 18px 34px -20px var(--shadow); border-color:var(--brass);}
  .piece-card .brandline{font-family:var(--font-mono); font-size:0.66rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--brass);}
  .piece-card .watch-wrap{margin:0.6rem 0 0.9rem; aspect-ratio:3/4; border-radius:3px; overflow:hidden; background:var(--bg-panel);}
  .piece-card .watch-wrap img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease;}
  .piece-card:hover .watch-wrap img{transform:scale(1.06);}
  .piece-card h3{margin:0 0 0.15rem;}
  .piece-card .ref{font-family:var(--font-mono); font-size:0.7rem; color:var(--silver);}
  @media (max-width:600px){
    .grid{grid-template-columns:repeat(2,1fr); gap:0.75rem;}
    .piece-card{padding:0.75rem;}
    .piece-card .brandline{font-size:0.6rem;}
    .piece-card h3{font-size:1rem;}
    .piece-card .ref{font-size:0.62rem;}
    .piece-card .status{font-size:0.62rem; margin-top:0.5rem;}
  }
  .status{
    display:inline-block; font-size:0.7rem; font-family:var(--font-mono);
    letter-spacing:0.05em; text-transform:uppercase; color:var(--silver);
  }
  .piece-card .status{margin-top:0.7rem;}
  .status.in-stock::before{content:"● "; color:#4a8f5c;}

  .piece-card .watch-wrap.no-photo{display:flex; align-items:center; justify-content:center;}
  .piece-card .watch-wrap.no-photo img{width:40%; height:40%; object-fit:contain; opacity:0.3; filter:var(--logo-filter);}
  .piece-card .card-price{font-family:var(--font-mono); font-size:0.82rem; margin-top:0.35rem; color:var(--ink);}
  .piece-card .condition-badge{
    display:inline-block; margin-top:0.55rem; padding:0.15rem 0.55rem; border-radius:2px;
    font-family:var(--font-mono); font-size:0.62rem; letter-spacing:0.08em; text-transform:uppercase;
    color:var(--ink-soft); background:var(--bg-panel); border:1px solid var(--rule);
  }
  .live-status{font-family:var(--font-mono); font-size:0.78rem; color:var(--silver); margin:0 0 1.25rem;}

  .spec-list{margin:1.1rem 0; border-top:1px solid var(--rule);}
  .spec-row{display:flex; justify-content:space-between; gap:1rem; padding:0.55rem 0; border-bottom:1px solid var(--rule); font-size:0.85rem;}
  .spec-row .spec-label{color:var(--silver); font-family:var(--font-mono); font-size:0.72rem; text-transform:uppercase; letter-spacing:0.06em;}
  .spec-row .spec-value{color:var(--ink); text-align:right;}

  /* trust / certificate */
  .certificate{
    background:var(--bg-panel); border:1px solid var(--rule); border-radius:6px; padding:clamp(2rem,4vw,3rem);
    position:relative;
  }
  .cert-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; margin-top:2rem;}
  @media (max-width:900px){.cert-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:520px){.cert-grid{grid-template-columns:1fr;}}
  .cert-item .mark{margin-bottom:0.9rem;}
  .cert-item .mark svg{width:34px; height:34px;}
  .cert-item h3{font-size:1.02rem; margin-bottom:0.4rem;}
  .cert-item p{color:var(--ink-soft); font-size:0.9rem;}

  /* footer */
  /* footer — dark Licorice band, the site's deepest layer */
  footer{background:#151110; border-top:1px solid rgba(255,255,255,0.08); padding:clamp(3rem,6vw,4.5rem) 0 2rem;}
  .footer-grid{display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:2.5rem;}
  @media (max-width:800px){.footer-grid{grid-template-columns:1fr; gap:2.25rem;}}
  .foot-tag{
    display:inline-block; font-family:var(--font-mono); font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase;
    color:var(--brass); border:1px dashed var(--rule); padding:0.3rem 0.6rem; border-radius:2px; margin-bottom:1rem;
  }
  .foot-line{display:flex; gap:0.6rem; font-size:0.9rem; color:var(--ink-soft); margin-bottom:0.55rem;}
  .foot-line b{color:var(--ink); font-weight:600;}
  .foot-links{display:flex; gap:0.75rem; margin-top:1rem; flex-wrap:wrap;}
  .bottom-bar{
    display:flex; justify-content:space-between; align-items:center; margin-top:2.5rem; padding-top:1.5rem;
    border-top:1px solid var(--rule); font-size:0.78rem; color:var(--ink-soft); flex-wrap:wrap; gap:0.75rem;
  }
  .concept-pill{
    font-family:var(--font-mono); font-size:0.66rem; letter-spacing:0.08em; text-transform:uppercase;
    color:var(--ink-soft); border:1px solid var(--rule); padding:0.3rem 0.6rem; border-radius:12px;
  }

  /* footer text/controls sit on a dark band, so they need their own light-on-dark treatment */
  footer .foot-tag{color:#f6f8f5; background:rgba(134,134,134,0.28); border:none;}
  footer .foot-line{color:#a8a29c;}
  footer .foot-line b{color:#f6f8f5;}
  footer .bottom-bar{border-top-color:rgba(255,255,255,0.1); color:#8a8480;}
  footer .concept-pill{color:#a8a29c; border-color:rgba(255,255,255,0.18);}
  footer .foot-line a{color:#a8a29c; border-bottom-color:rgba(255,255,255,0.22);}
  footer .foot-line a:hover{color:#f6f8f5; border-bottom-color:#f6f8f5;}
  footer .btn-solid{background:#f6f8f5; color:#151110;}
  footer .btn-solid:hover{background:#ffffff;}
  footer .btn-ghost{color:#f6f8f5; border-color:rgba(255,255,255,0.4); background:rgba(255,255,255,0.06);}
  footer .btn-ghost:hover{border-color:#f6f8f5; background:rgba(255,255,255,0.12);}

  /* hide the source video's baked-in watermark near the bottom of frame */
  .hero-scrim{background:linear-gradient(180deg, rgba(6,6,6,.62) 0%, rgba(6,6,6,.42) 42%, rgba(6,6,6,.94) 82%, rgba(6,6,6,.98) 100%) !important;}

  /* section-head vertical centering (overrides base flex-end) */
  .section-head{align-items:center;}
  .rail{justify-content:center;}

  /* stronger, unmistakable buttons */
  .btn{border-width:1.5px;}
  .btn-ghost{background:rgba(21,17,16,0.05);}
  .btn-ghost:hover{background:rgba(21,17,16,0.12);}

  /* footer / contact plain text links */
  .foot-line a{color:var(--ink-soft); text-decoration:none; border-bottom:1px solid var(--rule); transition:color .2s ease, border-color .2s ease;}
  .foot-line a:hover{color:var(--ink); border-color:var(--ink);}

  /* brand strip (home collection teaser) — infinite marquee */
  .brand-strip-outer{
    margin-top:2.5rem; padding:2.5rem 0; overflow:hidden; width:100%;
  }
  .brand-track{display:flex; width:max-content; animation:brand-marquee 52s linear infinite;}
  .brand-strip-outer:hover .brand-track{animation-play-state:paused;}
  @keyframes brand-marquee{from{transform:translateX(0);} to{transform:translateX(-50%);}}
  @media (prefers-reduced-motion:reduce){.brand-track{animation:none;}}
  .brand-chip{
    flex:0 0 auto; width:clamp(200px,16vw,260px); display:flex; align-items:center; justify-content:center;
    text-decoration:none; padding:0 clamp(1rem,2vw,1.75rem);
  }
  .brand-chip .chip-photo{
    width:100%; height:64px; display:flex; align-items:center; justify-content:center;
  }
  .brand-chip .chip-photo img{max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; display:block; transition:transform .3s ease, opacity .3s ease; opacity:0.88;}
  .brand-chip:hover .chip-photo img{opacity:1; transform:scale(1.06);}

  /* editorial story rail */
  .story-rail-outer{margin:0 calc(clamp(1.25rem,4vw,2.5rem) * -1);}
  .story-rail{
    display:flex; gap:1rem; overflow-x:auto; padding:0.25rem clamp(1.25rem,4vw,2.5rem) 1.5rem;
    scroll-snap-type:x proximity;
  }
  .story-rail::-webkit-scrollbar{height:6px;}
  .story-rail::-webkit-scrollbar-thumb{background:rgba(134,134,134,0.28); border-radius:4px;}
  .story-card{
    position:relative; flex:0 0 auto; width:250px; aspect-ratio:3/5; border-radius:6px; overflow:hidden;
    scroll-snap-align:start; text-decoration:none; display:block; background:var(--dial-dark);
  }
  .story-card img{width:100%; height:100%; object-fit:cover; object-position:center 55%; transition:transform .6s ease; display:block;}
  .story-card:hover img{transform:scale(1.07);}
  .story-card .story-scrim{position:absolute; inset:0; background:linear-gradient(180deg, transparent 38%, rgba(0,0,0,.8) 100%);}
  .story-card .story-text{position:absolute; left:0; right:0; bottom:0; padding:1.3rem 1.1rem;}
  .story-card .story-text h3{color:#fff; font-size:1.1rem; line-height:1.25; margin-bottom:0.4rem;}
  .story-card .story-text p{color:rgba(255,255,255,0.82); font-size:0.78rem; line-height:1.4; margin:0;}
  @media (max-width:600px){
    .story-rail{gap:0.6rem;}
    .story-card{width:130px;}
    .story-card .story-text{padding:0.8rem 0.7rem;}
    .story-card .story-text h3{font-size:0.85rem;}
    .story-card .story-text p{font-size:0.68rem;}
  }
  @media (max-width:600px){
    .rail{gap:0.8rem; overflow-x:hidden;}
    .lot-card{width:calc(50% - 0.4rem); padding:1rem;}
    .lot-card .lot-tag{font-size:0.64rem; padding:0.3rem 0.55rem; top:0.6rem; right:0.6rem; font-weight:600;}
    .lot-card h3{font-size:1.05rem;}
    .lot-card .ref{font-size:0.68rem;}
    .lot-card .price-note{font-size:0.75rem; margin:0.45rem 0 0.6rem;}
  }

  /* mobile rail pagination (New Arrivals) */
  .rail-pager{display:none;}
  @media (max-width:600px){
    .rail-pager{display:flex; justify-content:center; flex-wrap:wrap; gap:0.5rem; margin-top:1.25rem; padding:0 clamp(1.25rem,4vw,2.5rem);}
    .rail-pager-btn{
      width:34px; height:34px; border-radius:50%; border:1px solid rgba(21,17,16,0.14); background:#ffffff;
      font-family:var(--font-mono); font-size:0.8rem; color:#4d4946; cursor:pointer; padding:0;
    }
    .rail-pager-btn.active{background:#151110; color:#ffffff; border-color:#151110;}
  }

  /* mobile brand marquee — show ~4 at once */
  @media (max-width:600px){
    .brand-chip{width:31vw; padding:0 0.6rem;}
    .brand-chip .chip-photo{height:42px;}
  }

  /* journal / blog cards */
  .blog-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));}
  .blog-card{
    display:block; text-decoration:none; color:inherit; background:var(--card-bg); border:1px solid transparent;
    border-radius:4px; overflow:hidden; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  }
  .blog-card:hover{transform:translateY(-4px); box-shadow:0 18px 34px -20px var(--shadow); border-color:var(--brass);}
  .blog-photo{aspect-ratio:16/10; overflow:hidden; background:var(--bg-panel);}
  .blog-photo img{width:100%; height:100%; object-fit:cover; object-position:50% 55%; display:block; transition:transform .5s ease;}
  .blog-card:hover .blog-photo img{transform:scale(1.05);}
  .blog-eyebrow{display:block; margin:1.1rem 1.25rem 0; font-family:var(--font-mono); font-size:0.66rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--brass);}
  .blog-card h3{margin:0.4rem 1.25rem 0;}
  .blog-card p{margin:0.5rem 1.25rem 0; color:var(--ink-soft); font-size:0.88rem; line-height:1.5;}
  .blog-readmore{display:block; margin:1rem 1.25rem 1.25rem; font-size:0.8rem; font-weight:600; color:var(--ink);}

  /* related watches */
  .related-watches{margin-top:clamp(3rem,6vw,4.5rem); padding-top:clamp(2rem,4vw,3rem); border-top:1px solid var(--rule);}
  .related-watches h2{margin-bottom:1.5rem;}

  /* multi-page nav */
  .nav{position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:1rem; padding:0.85rem clamp(1.25rem,4vw,2.5rem);}
  .navlinks-left{justify-self:start;}
  .navlinks-right-wrap{justify-self:end; display:flex; align-items:center; gap:1.5rem; min-width:0;}
  .navlinks-left, .navlinks-right-wrap .navlinks{display:flex; gap:2rem; font-size:0.86rem; letter-spacing:0.02em;}
  @media (max-width:860px){
    .navlinks-left, .navlinks-right-wrap .navlinks{display:none;}
    .navlinks-right-wrap > .btn{display:none;}
    .navlinks-right-wrap{justify-self:stretch;}
    /* both logo and toggle are absolutely positioned below, so .nav has no in-flow
       content left to size itself by — without this it collapses and the logo spills
       out of the header into whatever is underneath it */
    .nav{min-height:84px;}
    /* logo dead-center and hamburger pinned left, independent of any sibling content */
    .brandmark{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:1;}
    .navtoggle{
      position:absolute; left:clamp(0.75rem,3vw,2rem); top:50%; transform:translateY(-50%);
      display:inline-flex; align-items:center; justify-content:center;
      min-width:44px; min-height:44px; font-size:1.5rem; line-height:1; padding:0; z-index:2;
    }
  }
  .mobile-panel{
    display:none; position:absolute; top:100%; left:clamp(0.75rem,3vw,2rem); right:auto; width:min(72vw,260px);
    background:#ffffff; border:1px solid rgba(21,17,16,0.14);
    border-radius:4px; padding:1rem 1.5rem; flex-direction:column; gap:0.85rem; z-index:50;
    box-shadow:0 18px 34px -16px rgba(21,17,16,0.25);
  }
  .mobile-panel a{text-decoration:none; color:#4d4946; font-size:0.95rem;}
  .mobile-panel a:hover{color:#151110;}
  .mobile-panel-whatsapp{
    color:#ffffff !important; background:#151110; text-align:center; padding:0.7rem; border-radius:2px;
    font-weight:600; margin-top:0.35rem;
  }
  .mobile-panel-whatsapp:hover{color:#ffffff !important;}

  /* card-as-link */
  a.lot-card, a.piece-card{text-decoration:none; color:inherit;}
  .piece-card{position:relative;}

  /* simple page header (non-hero pages) — full-bleed tinted band */
  .page-header-band{background:var(--bg-panel); border-bottom:1px solid var(--rule);}
  .page-header{padding-top:clamp(2.75rem,6vw,4rem); padding-bottom:clamp(2rem,4vw,2.5rem);}
  .page-header .eyebrow{display:block; margin-bottom:0.6rem;}

  /* product detail */
  .product-hero{display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,3.5rem); align-items:start; padding:clamp(2.5rem,5vw,3.5rem) 0;}
  @media (max-width:800px){.product-hero{grid-template-columns:1fr;}}
  .product-photo{aspect-ratio:3/4; overflow:hidden; border-radius:6px; background:#ffffff; border:1px solid rgba(21,17,16,0.14);}
  .product-photo img{width:100%; height:100%; object-fit:cover; display:block;}
  .back-link{display:inline-flex; align-items:center; gap:0.4rem; font-size:0.82rem; color:#4d4946; text-decoration:none; margin-bottom:1.5rem;}
  .back-link:hover{color:#151110;}
  .product-brandline{font-family:var(--font-mono); font-size:0.8rem; letter-spacing:0.12em; text-transform:uppercase; color:#151110;}
  .product-hero h1{font-size:clamp(2rem,3.2vw,2.75rem); line-height:1.15; margin-top:0.5rem;}

  .product-tags{display:flex; flex-wrap:wrap; align-items:center; gap:0.65rem; margin-top:1.1rem;}
  .tag-pill{
    display:inline-flex; align-items:center; border:1px solid rgba(134,134,134,0.35); border-radius:4px;
    padding:0.45rem 0.8rem; font-family:var(--font-mono); font-size:0.78rem; letter-spacing:0.04em;
    text-transform:uppercase; color:#868686; background:#ffffff;
  }
  .tag-pill-stock{color:#151110;}
  .tag-pill-stock::before{content:"● "; color:#4a8f5c;}

  .price-block{margin:1.6rem 0 0.4rem;}
  .price-label{
    display:block; font-family:var(--font-mono); font-size:0.78rem; letter-spacing:0.06em;
    text-transform:uppercase; color:#4d4946; margin-bottom:0.35rem;
  }
  .price-tag{font-family:var(--font-display); font-size:1.85rem; font-weight:700; margin:0; color:#151110;}
  .price-note-small{font-size:0.88rem; color:#868686; margin-bottom:1.5rem;}

  .contact-block{
    background:#ffffff; border:1px solid rgba(21,17,16,0.14); border-radius:8px;
    padding:clamp(1.5rem,3vw,2rem); margin-top:0.75rem;
  }
  .contact-actions{display:flex; flex-direction:column; gap:0.75rem;}
  .btn-cta-primary, .btn-cta-secondary{
    display:flex; align-items:center; justify-content:center; width:100%; box-sizing:border-box;
    padding:0.9rem 1.5rem; border-radius:6px; font-size:0.92rem; font-weight:600;
    text-decoration:none; transition:transform .2s ease, background .2s ease, border-color .2s ease;
  }
  .btn-cta-primary{background:#25d366; color:#ffffff; border:2px solid #25d366;}
  .btn-cta-primary:hover{background:#1ebe57; border-color:#1ebe57; transform:translateY(-2px);}
  .btn-cta-secondary{background:#ffffff; color:#151110; border:2px solid #151110;}
  .btn-cta-secondary:hover{background:#f2f2f2; transform:translateY(-2px);}
  .contact-quickinfo{
    display:flex; flex-direction:column; gap:0.4rem; margin-top:1.1rem; padding-top:1.1rem;
    border-top:1px solid rgba(21,17,16,0.14); font-size:0.82rem; color:#4d4946;
  }
  .contact-quickinfo a{color:inherit; text-decoration:underline; text-decoration-color:rgba(21,17,16,0.14);}
  .contact-quickinfo a:hover{color:#151110; text-decoration-color:#151110;}

  /* about — full-bleed photo hero */
  .about-hero{
    position:relative; overflow:hidden; min-height:min(82vh,640px); display:flex; align-items:center;
    padding:clamp(3rem,8vw,5rem) 0;
  }
  .about-hero-bg{
    position:absolute; inset:0; background-size:cover; background-position:center 4%; background-repeat:no-repeat;
    transform:scale(1.02);
  }
  .about-hero-scrim{
    position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(6,6,6,.7) 0%, rgba(6,6,6,.4) 30%, rgba(6,6,6,.55) 65%, rgba(6,6,6,.9) 100%);
  }
  .about-hero-content{position:relative; z-index:2; max-width:42em; margin:0;}
  .about-hero .eyebrow{color:#f2f2f2;}
  .about-hero h1{color:#fff; margin:0.6rem 0 1.1rem;}
  .about-hero .lede{color:rgba(255,255,255,0.85);}

  /* about — core values (continues the hero photo as its backdrop) */
  .core-values-photo{position:relative; overflow:hidden;}
  .core-values-bg{
    position:absolute; inset:0; background-size:cover; background-position:center 32%; background-repeat:no-repeat;
    transform:scale(1.02);
  }
  .core-values-scrim{position:absolute; inset:0; background:linear-gradient(180deg, rgba(6,6,6,.86) 0%, rgba(6,6,6,.72) 55%, rgba(6,6,6,.9) 100%);}
  @media (max-width:600px){
    /* the stacked value-items make this section very tall on mobile — "cover" would
       zoom in past recognition, so show the whole photo instead and let the scrim
       carry the extra height above/below it. */
    .core-values-bg{background-size:contain; background-position:center top; transform:none;}
  }
  .core-values-inner{position:relative; z-index:2;}
  .core-values-photo .eyebrow{color:#f2f2f2;}
  .core-values-photo h2{color:#fff;}

  .values-grid{
    display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:0;
    border:1px solid var(--rule);
  }
  .value-item{
    padding:clamp(1.75rem,3vw,2.5rem) clamp(1.5rem,2.5vw,2.25rem);
    border-left:1px solid var(--rule);
    transition:background .3s ease;
  }
  .value-num{
    display:block; font-family:var(--font-display); font-weight:600; font-size:clamp(2.4rem,4vw,3.4rem);
    line-height:1; color:var(--brass); opacity:0.28; margin-bottom:0.6rem;
  }
  .value-item h3{font-size:clamp(1.3rem,1.8vw,1.6rem); margin-bottom:0.7rem; letter-spacing:-0.01em;}
  .value-item p{color:var(--ink-soft); font-size:1rem; line-height:1.6; max-width:26em;}
  .core-values-photo .values-grid{border-color:rgba(255,255,255,0.22);}
  .core-values-photo .value-item{border-color:rgba(255,255,255,0.22);}
  .core-values-photo .value-item:hover{background:rgba(77,73,70,0.8);}
  .core-values-photo .value-num{color:#fff; opacity:0.32;}
  .core-values-photo .value-item h3{color:#fff;}
  .core-values-photo .value-item p{color:rgba(255,255,255,0.78);}

  /* about — boutique photo mosaic as a full-bleed section background */
  .boutiques-photo{
    position:relative; overflow:hidden; min-height:min(78vh,640px); display:flex; align-items:center; padding:0;
  }
  .store-grid{
    position:absolute; inset:0; display:grid; grid-template-columns:repeat(4,1fr); grid-template-rows:repeat(2,1fr);
    gap:0;
  }
  .store-photo-hero{grid-column:1 / 3; grid-row:1 / 3;}
  .store-photo-a{grid-column:3; grid-row:1;}
  .store-photo-b{grid-column:4; grid-row:1 / 3;}
  .store-photo-c{grid-column:3; grid-row:2;}
  @media (max-width:900px){
    .boutiques-photo{min-height:min(90vh,760px);}
    .store-grid{grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(3,1fr);}
    .store-photo-hero{grid-column:1 / 3; grid-row:1;}
    .store-photo-a{grid-column:1; grid-row:2;}
    .store-photo-b{grid-column:2; grid-row:2 / 4;}
    .store-photo-c{grid-column:1; grid-row:3;}
    /* the hero tile goes short and wide here, which crops out the storefront's
       backlit sign at the top of the source photo — pin the crop to the top. */
    .store-photo-hero img{object-position:center 12%;}
  }
  .store-photo{background:var(--card-bg); overflow:hidden;}
  .store-photo img{width:100%; height:100%; object-fit:cover; display:block;}
  .boutiques-scrim{
    position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(6,6,6,.6) 0%, rgba(6,6,6,.4) 40%, rgba(6,6,6,.68) 100%);
  }
  .boutiques-inner{position:relative; z-index:2; padding:clamp(3rem,7vw,5rem) 0;}
  .boutiques-photo .eyebrow{color:#f2f2f2;}
  .boutiques-photo h2{color:#fff;}

  /* contact page map */
  .map-frame{width:100%; aspect-ratio:16/9; border:1px solid var(--rule); border-radius:6px; overflow:hidden; margin-top:2rem;}
  .map-frame iframe{width:100%; height:100%; border:0; display:block;}
