:root{
  --bg:#F0E8CC;
  --surface:#E8DCBB;
  --bg-elevated:#E8DCBB;
  --bg-inset:#D9CEB4;
  --panel:#E8DCBB;
  /* Olive aligned with brow (#1b2115), lighter for cream background */
  --text:#2D3822;
  --text-muted:#566647;
  --muted:#566647;
  --faint:#657552;
  --border:rgba(45,56,34,.10);
  --border-strong:rgba(45,56,34,.17);
  --accent:#4A5A38;
  --accent-fg:#F5EED8;
  --accent-press:#252F1C;
  --accent-soft:rgba(74,90,56,.09);
  --accent-fill:rgba(74,90,56,.15);
  --accent-strong:rgba(74,90,56,.24);
  --accent-border:rgba(74,90,56,.44);
  --gold:#5D6F46;
  --shadow:0 2px 12px rgba(45,56,34,0.10), 0 1px 4px rgba(45,56,34,0.07);
  --media-bg:#DDD2B4;
  --media-bg-highlight:#E8DFC8;
  --success:#3A6238;
  --success-bg:rgba(58,98,56,.14);
  --sold-badge-fg:#566647;
  --sold-badge-bg:rgba(45,56,34,.09);
  /* Product cards — slow lift on hover only */
  --card-bg:#EDE2C4;
  --card-border:#4A5A38;
  --card-hover-ease:cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --card-hover-dur:0.38s;
  --card-img-zoom-dur:0.55s;
  --card-img-zoom-ease:cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --card-img-zoom:1.08;
  --card-img-zoom-sold:1.04;
}

*{box-sizing:border-box;}
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-behavior:smooth;
  /* Anchors under fixed brow: smooth scroll + top offset */
  scroll-padding-top:clamp(72px, 14vh, 118px);
  /* 100vw full-bleed blocks (.hero-mosaic, .conv-strip, .conv-carousel) otherwise exceed layout by ~scrollbar width */
  overflow-x:hidden;
  width:100%;
  overscroll-behavior-x:none;
}
*,*::before,*::after{-webkit-tap-highlight-color:transparent !important;tap-highlight-color:transparent !important;}
p,h1,h2,h3,h4,h5,h6,li,span,a{word-wrap:break-word;overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto;-ms-hyphens:auto;}
/*
  Fluid media & forms (mobile-friendly checklist — avoid horizontal overflow;
  inputs stay within viewport per common responsive guidance).
*/
img,video{display:block;max-width:100%;height:auto;}
iframe{max-width:100%;display:block;border:0;}
/* Tables: keep table layout; pair with .conv-table-wrap (or similar) for horizontal scroll */
table{
  max-width:100%;
  border-collapse:collapse;
}
/* Wide tables in prose: wrap with <div class="table-responsive">…</div> */
.table-responsive{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  margin-bottom:20px;
}
.table-responsive table{
  min-width:600px;
  width:100%;
}

/* Optional: stack rows as labeled cards on small screens (set data-label on each td) */
@media (max-width:768px){
  .table-responsive table.table-mobile-cards{
    min-width:0;
    width:100%;
  }
  table.table-mobile-cards thead{
    display:none;
  }
  table.table-mobile-cards,
  table.table-mobile-cards tbody,
  table.table-mobile-cards tr{
    display:block;
    width:100%;
  }
  table.table-mobile-cards tr{
    margin-bottom:15px;
    padding:12px 14px;
    border:1px solid var(--border-strong);
    border-radius:10px;
    background:var(--surface);
    box-shadow:var(--shadow);
    box-sizing:border-box;
  }
  table.table-mobile-cards td{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    width:100%;
    padding:8px 0;
    border-bottom:1px solid var(--border);
    box-sizing:border-box;
  }
  table.table-mobile-cards td:last-child{
    border-bottom:none;
    padding-bottom:0;
  }
  table.table-mobile-cards td::before{
    content:attr(data-label);
    flex:0 0 auto;
    max-width:42%;
    font-weight:600;
    font-size:12px;
    color:var(--muted);
    text-transform:none;
    letter-spacing:0.02em;
  }
  table.table-mobile-cards td:not([data-label])::before{
    content:none;
  }
}

/* Article / journal: floated illustration + body text (stacks on narrow screens) */
.article-block{
  margin-bottom:1.25rem;
}
.article-block::after{
  content:"";
  display:table;
  clear:both;
}
.article-img{
  float:left;
  margin-right:20px;
  margin-bottom:20px;
  max-width:400px;
  width:auto;
  height:auto;
}
.article-text{
  display:block;
}

/* Alternating text + image blocks: desktop 2 cols; mobile — image first, then copy */
.grid-block{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
  align-items:start;
}
.grid-block > .grid-img img{
  width:100%;
  height:auto;
  display:block;
  border-radius:12px;
}

/* ── Read more (mobile): collapsible long prose ── */
.read-more-btn{display:none}
@media (max-width:768px){
  .long-text-wrapper > .text-content{
    max-height:250px;
    overflow:hidden;
    position:relative;
    transition:max-height 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease;
  }
  .long-text-wrapper > .text-content::after{
    content:"";
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    height:56px;
    pointer-events:none;
    background:linear-gradient(to bottom, transparent, var(--bg));
    transition:opacity 0.3s ease;
  }
  .long-text-wrapper > .text-content.expanded{
    max-height:3000px !important;
    transition:max-height 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease;
  }
  .long-text-wrapper > .text-content.expanded::after{
    opacity:0;
    transition:opacity 0.3s ease;
  }
  .long-text-wrapper .read-more-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin:14px 0 0;
    padding:10px 0;
    min-height:44px;
    box-sizing:border-box;
    border:none;
    border-radius:0;
    background:transparent;
    color:var(--accent);
    font:inherit;
    font-size:15px;
    font-weight:700;
    letter-spacing:0.02em;
    text-transform:none;
    text-decoration:underline;
    text-decoration-color:rgba(74,90,56,0.45);
    text-underline-offset:3px;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    transition:color 0.2s ease, text-decoration-color 0.2s ease, transform 0.2s ease;
  }
  .long-text-wrapper .read-more-btn:hover{
    color:var(--accent-press);
    text-decoration-color:var(--accent);
    transform:translateY(-1px);
  }
  .long-text-wrapper .read-more-btn:active{
    color:var(--accent-press);
    opacity:0.88;
    transform:translateY(0);
  }
  .long-text-wrapper .read-more-btn[hidden]{
    display:none !important;
  }
  .long-text-wrapper .read-more-btn:focus-visible{
    outline:2px solid var(--accent);
    outline-offset:3px;
  }
}
@media (max-width:768px) and (prefers-reduced-motion:reduce){
  .long-text-wrapper > .text-content{
    transition-duration:0.01ms;
  }
}

/* Mosaic hero ≤991px: overlay metrics only — label/span typography lives in home.html
   so the user-tuned clamp() sizes scale unhindered across breakpoints. */
@media (max-width:991px){
  .hero.hero--redesign .hero-mosaic__overlay{
    transform:translate(-50%,-54%);
    width:min(100%,calc(100vw - 24px));
    max-width:min(560px,calc(100vw - 24px));
    box-sizing:border-box;
    padding-left:max(14px,env(safe-area-inset-left));
    padding-right:max(14px,env(safe-area-inset-right));
    white-space:normal;
    gap:14px;
  }
  /* Reference / Journal: hide teaser panels — :focus-within on tap was showing them as popups */
  .hero.hero--redesign .hero-dropdown{
    display:none !important;
  }
}
@media (max-width:768px){
  .hero.hero--redesign .hero-mosaic__nav{
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    width:auto;
    max-width:none;
    margin:0 auto;
    gap:8px;
  }
  .hero.hero--redesign .hero-mosaic__nav .hero-nav-item{
    width:auto;
    max-width:none;
    margin:0;
    flex:0 0 auto;
  }
  .hero.hero--redesign .hero-mosaic__link{
    width:auto;
    max-width:none;
    box-sizing:border-box;
    justify-content:center;
    padding:7px 16px;
    font-size:11px;
    letter-spacing:0.085em;
    border-radius:3px;
  }
}

/* ── Hero (home mosaic shell + generic .hero-title) ≤768px ── */
@media (max-width:768px){
  .hero.hero--redesign{
    min-height:0;
    padding:0 0 28px;
  }

  /* Classic hero pattern (if used elsewhere) */
  .hero:not(.hero--redesign){
    min-height:0;
    padding:32px 15px 24px;
  }
  .hero-title{
    font-size:calc(24px + 2vw);
    line-height:1.28;
    overflow-wrap:break-word;
    word-wrap:break-word;
    hyphens:auto;
    -webkit-hyphens:auto;
  }
  .hero-subtitle{
    font-size:16px;
    line-height:1.5;
    margin-bottom:18px;
  }
}

textarea,input,select{max-width:100%;box-sizing:border-box}
html{
  scroll-behavior:smooth;
  /* Anchors under fixed brow: smooth scroll + top offset */
  scroll-padding-top:clamp(72px, 14vh, 118px);
  /* 100vw full-bleed blocks (.hero-mosaic, .conv-strip, .conv-carousel) otherwise exceed layout by ~scrollbar width */
  overflow-x:hidden;
  width:100%;
  overscroll-behavior-x:none;
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}
html,body{
  /* min-height (not height) — Lenis + height:100% caps scroll range; see /rolex-database grid */
  min-height:100%;
  background:var(--bg);
}
/* Lenis adds .lenis to <html>; auto height ensures document grows with content */
html.lenis{
  height:auto;
}
body{
  margin:0;
  color:var(--text);
  font-family:system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size:18px;
  line-height:1.65;
  overflow-x:hidden;
  max-width:100%;
  overscroll-behavior-x:none;
}
@media (min-width:901px){
  body{
    overflow:clip;
  }
}

html.scroll-locked{
  overflow:hidden;
  height:100%;
}

html.scroll-locked body{
  overflow:hidden;
  height:100%;
}

.cs-text a,
.pd-desc a,
.faq-answer p a{
  color:var(--accent);
  text-decoration:underline;
  text-decoration-color:rgba(74,90,56,.35);
  text-underline-offset:2px;
}
.cs-text a:hover,
.pd-desc a:hover,
.faq-answer p a:hover{
  color:var(--accent-press);
  text-decoration-color:var(--accent);
}

.container{
  width:100% !important;
  max-width:1200px;
  margin:0 auto;
  padding:0 15px;
  box-sizing:border-box;
}

.hero{padding:28px 0 0}
.hero-eyebrow{
  margin:0 0 6px;
  font-size:10px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--accent);
  font-weight:600;
}
.hero-title{
  font-family:"Cormorant Garamond","Libre Baskerville",Georgia,serif;
  font-size:42px;line-height:1.02;margin:0 0 6px;
  color:var(--text);
}
.hero-subtitle{margin:0 0 20px;color:var(--muted);font-size:17px}

/* ── Explore tiles ── */
.explore-tiles{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:28px;
}
.explore-tile{
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 18px;
  border:1px solid var(--border);
  border-radius:3px;
  text-decoration:none;
  color:var(--text);
  overflow:hidden;
  transition:border-color .25s, background .25s;
  background:rgba(255,255,255,.55);
}
.explore-tile::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, var(--accent-soft) 0%, transparent 60%);
  opacity:0;
  transition:opacity .3s;
}
.explore-tile:hover{
  border-color:var(--accent-border);
  background:rgba(255,255,255,.85);
}
.explore-tile:hover::before{opacity:1}
.explore-tile__tag{display:none}
.explore-tile__title{
  margin:0;
  font-family:"Cormorant Garamond","Libre Baskerville",Georgia,serif;
  font-size:20px;
  line-height:1.1;
  font-weight:600;
  flex:1;
}
.explore-tile__desc{display:none}
.explore-tile__arrow{
  font-size:18px;
  color:var(--accent);
  transition:transform .25s;
  flex-shrink:0;
}
.explore-tile:hover .explore-tile__arrow{transform:translateX(5px)}

.section{padding:26px 0}
section#shop{
  padding-top:10px;
}
.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;
}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.section-head--shop{
  align-items:flex-end;
  justify-content:space-between;
  gap:clamp(14px,2.2vw,26px);
  padding-bottom:12px;
  margin:0;
}
/* Shop row: Contact us + social (left) · for-sale count (right) */
.shop-head-left{
  display:flex;
  align-items:flex-end;
  flex-wrap:wrap;
  flex:1 1 auto;
  min-width:min(100%,560px);
  gap:14px clamp(22px,4.5vw,44px);
  min-height:0;
}
.shop-contact-link{
  margin:0;
  position:relative;
  top:6px;
  display:inline-flex;
  align-items:center;
  font-size:clamp(22px,2.85vw,30px);
  font-weight:600;
  line-height:1;
  padding:6px 0;
  color:color-mix(in srgb, var(--muted) 58%, var(--text) 42%);
  font-family:"Cormorant Garamond","Libre Baskerville",Georgia,serif;
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .2s,border-color .2s;
}
.shop-contact-link:hover{
  color:var(--accent);
  border-bottom-color:var(--accent-border);
}
.shop-head-trailing{
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  flex-wrap:wrap;
  margin-left:auto;
  text-align:right;
}
.shop-for-sale-lead{
  margin:0;
  font-size:clamp(12px,1.35vw,14.5px);
  font-weight:600;
  line-height:1;
  padding-bottom:2px;
  color:var(--muted);
  letter-spacing:0.03em;
  font-family:"Inter",system-ui,sans-serif;
}
.shop-social{
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  flex-shrink:0;
  flex:1 1 auto;
  gap:clamp(16px,2.4vw,26px);
  list-style:none;
  margin:0;
  padding:4px 0 2px;
}
.shop-social__link{
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--muted);
  border-radius:10px;
  padding:8px;
  margin:-8px;
  transition:color .2s ease, filter .25s ease, transform .25s cubic-bezier(0.34,1.15,0.52,1);
}
@media (prefers-reduced-motion:no-preference){
  @keyframes shop-social-drift{
    0%,100%{ transform:translateY(0); }
    50%{ transform:translateY(-3px); }
  }
  .shop-social__link{
    animation:shop-social-drift 3.6s ease-in-out infinite;
  }
  .shop-social li:nth-child(1) .shop-social__link{animation-delay:0s}
  .shop-social li:nth-child(2) .shop-social__link{animation-delay:0.45s}
  .shop-social li:nth-child(3) .shop-social__link{animation-delay:0.9s}
  .shop-social li:nth-child(4) .shop-social__link{animation-delay:1.35s}
  .shop-social li:nth-child(5) .shop-social__link{animation-delay:1.8s}
  .shop-social li:nth-child(6) .shop-social__link{animation-delay:2.25s}
  .shop-social li:nth-child(7) .shop-social__link{animation-delay:2.7s}
}
.shop-social__link:hover,
.shop-social__link:focus-visible{
  animation:none;
  color:color-mix(in srgb, var(--accent) 48%, var(--accent-press) 52%);
  filter:none;
  transform:translateY(-5px) scale(1.08);
  outline:none;
}
.shop-social__link:focus-visible{
  box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--accent);
}
@media (prefers-reduced-motion:reduce){
  .shop-social__link{
    animation:none !important;
  }
  .shop-social__link:hover,
  .shop-social__link:focus-visible{
    transform:none;
  }
}
.shop-social__lucide{
  width:34px;height:34px;
}
.shop-social__link svg.shop-social__lucide,
.shop-social__link .shop-social__lucide svg{
  width:34px;height:34px;
  stroke-width:2.1;
}
.shop-social__brand{
  width:34px;height:34px;display:block;
}
.shop-social__brand--wus{
  overflow:visible;
}
.shop-social__brand--wus .shop-social__brand--wus-letter{
  stroke:var(--bg);
}
.shop-social__brand--stroke{
  overflow:visible;
}
.shop-social__link svg.shop-social__brand--stroke{
  width:34px;height:34px;
}
.shop-social__logo{
  width:34px;
  height:34px;
  display:block;
  object-fit:contain;
  border-radius:4px;
}
.section h2{margin:0;font-size:22px;color:var(--text)}
.muted{color:var(--muted)}

.grid{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
}
#shop > .grid{
  margin-top:18px;
}

.card{
  position:relative;
  background:var(--card-bg);
  border:none;
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--shadow);
  color:var(--text);
  transform:translate3d(0,0,0) scale(1);
  transition:
    transform var(--card-hover-dur) var(--card-hover-ease),
    box-shadow var(--card-hover-dur) var(--card-hover-ease);
  will-change:transform;
}
.card:hover{
  transform:translate3d(0,-8px,0) scale(1.015);
  box-shadow:0 20px 44px -8px rgba(45,56,34,.13), 0 6px 16px -2px rgba(45,56,34,.07);
}
.card-sold{
  transform:translate3d(0,0,0) scale(1);
}
.card-sold:hover{
  transform:translate3d(0,-3px,0) scale(1.008);
  box-shadow:var(--shadow);
}
.card-media-link{
  display:block;
  position:relative;
  color:inherit;
  text-decoration:none;
  overflow:hidden;
}
.card-media-img{
  display:block;
  width:100%;
  height:100%;
  border:0;
  object-fit:cover;
  aspect-ratio:1/1;
  background:var(--media-bg);
  transform:scale(1);
  transform-origin:50% 60%;
  transition:transform var(--card-img-zoom-dur) var(--card-img-zoom-ease);
  will-change:transform;
}
.card:hover .card-media-img{
  transform:scale(var(--card-img-zoom));
}
.card-sold:hover .card-media-img{
  transform:scale(var(--card-img-zoom-sold));
}
.card-media{aspect-ratio:1/1;background:var(--media-bg)}
.skeleton{
  background:linear-gradient(90deg,var(--media-bg), var(--media-bg-highlight), var(--media-bg));
  background-size:200% 100%;
  animation:shimmer 1.2s ease-in-out infinite;
}
@keyframes shimmer{0%{background-position:0% 0}100%{background-position:200% 0}}
.card-body{padding:14px}
.card-title{font-weight:520;margin-bottom:6px}
.card-title-link{color:var(--text);text-decoration:none}
.card-title-link:hover{text-decoration:underline}
.card-meta{font-size:13px;color:var(--muted);margin-bottom:10px}
.card-price{
  font-size:20px;
  font-weight:620;
  margin-bottom:6px;
  color:var(--text);
  letter-spacing:-0.01em;
}
.card-note{font-size:13px;color:var(--muted);margin-bottom:12px}
.card-actions{display:flex;gap:10px;flex-wrap:wrap}
.card-actions .card-ask-btn{
  font-size:1.06rem;
  padding:12px 22px;
  min-height:48px;
  font-weight:650;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 12px;border-radius:12px;
  border:1.5px solid var(--accent);
  background:transparent;color:var(--accent);
  text-decoration:none;
  font-weight:600;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
.btn:hover{background:var(--accent-soft)}
.btn.primary{
  background:var(--accent);
  color:var(--accent-fg);
  border:1.5px solid var(--accent);
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
.btn.primary:hover{
  background:var(--accent-press);
  border-color:var(--accent-press);
  color:var(--accent-fg);
}

/* ── Home: step-up control (section tops via anchors / scrollIntoView) ── */
.scroll-step-up{
  position:fixed;
  right:20px;
  bottom:calc(26px + env(safe-area-inset-bottom, 0px));
  z-index:95;
  width:48px;
  height:48px;
  border-radius:50%;
  border:2px solid var(--accent);
  background:var(--accent);
  color:var(--accent-fg);
  box-shadow:var(--shadow);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  line-height:1;
  font-weight:600;
  font-family:inherit;
  padding:0;
  opacity:1;
  pointer-events:none;
  transform:translate3d(calc(100% + 32px), 0, 0);
  transition:transform .4s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .25s ease, background .2s ease, border-color .2s ease;
}
.scroll-step-up.is-visible{
  pointer-events:auto;
  transform:translate3d(0, 0, 0);
}
.scroll-step-up:hover{
  background:var(--accent-press);
  border-color:var(--accent-press);
  color:var(--accent-fg);
  box-shadow:0 12px 28px rgba(45,56,34,.12), 0 4px 10px rgba(45,56,34,.08);
}
.scroll-step-up:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
}

/* Hero nav — Reference / Journal dropdowns (home only) */
.hero-nav-item{
  position:relative;
  display:inline-block;
  white-space:normal;
}
.hero-dropdown{
  position:absolute;
  top:50%;
  transform:translateY(-50%) translateX(8px);
  background:rgba(20,18,12,0.82);
  border:1px solid rgba(245,238,216,0.25);
  border-radius:10px;
  padding:14px 18px;
  width:210px;
  opacity:0;
  pointer-events:none;
  transition:
    opacity .28s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    transform .28s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index:100;
  backdrop-filter:blur(6px);
  white-space:normal;
  text-align:left;
}
.hero-nav-item:first-child .hero-dropdown{
  right:calc(100% + 12px);
  left:auto;
  top:50%;
  transform:translateY(-50%) translateX(-8px);
}
.hero-nav-item:last-child .hero-dropdown{
  left:calc(100% + 12px);
  right:auto;
  top:50%;
  transform:translateY(-50%) translateX(8px);
}
.hero-nav-item:first-child:hover .hero-dropdown,
.hero-nav-item:first-child:focus-within .hero-dropdown{
  opacity:1;
  pointer-events:auto;
  transform:translateY(-50%) translateX(0);
}
.hero-nav-item:last-child:hover .hero-dropdown,
.hero-nav-item:last-child:focus-within .hero-dropdown{
  opacity:1;
  pointer-events:auto;
  transform:translateY(-50%) translateX(0);
}
.hero-dropdown__arrow{
  display:none;
}
.hero-dropdown__title{
  font-size:11px;
  font-weight:500;
  color:rgba(245,238,216,0.5);
  text-transform:uppercase;
  letter-spacing:.08em;
  margin:0 0 8px;
}
.hero-dropdown__list{
  list-style:none;
  margin:0;
  padding:0;
}
.hero-dropdown__list li{
  font-size:12px;
  color:#F5EED8;
  padding:5px 0;
  border-bottom:.5px solid rgba(245,238,216,0.12);
  line-height:1.4;
}
.hero-dropdown__list li:last-child{
  border-bottom:none;
}

/* Reference & Journal · compact panels, heavier type (home hero) */
.hero-dropdown--reference,
.hero-dropdown--journal{
  width:min(236px,calc(100vw - 48px));
  padding:12px 14px;
}
.hero-dropdown--reference .hero-dropdown__title,
.hero-dropdown--journal .hero-dropdown__title{
  font-size:12px;
  font-weight:700;
  letter-spacing:0.04em;
  text-transform:none;
  margin-bottom:8px;
}
.hero-dropdown--reference .hero-dropdown__list li,
.hero-dropdown--journal .hero-dropdown__list li{
  font-size:12.5px;
  font-weight:650;
  padding:6px 0;
  line-height:1.38;
}

/* ── Content sections (About, Conversion, etc.) ── */
.content-section{
  position:relative;
  padding:60px 0 48px;
}
.content-section::before{
  content:"";
  display:block;
  position:absolute;
  top:0;left:10%;right:10%;
  height:1px;
  background:linear-gradient(to right, transparent, var(--border) 30%, var(--border) 70%, transparent);
}
.cs-inner{
  max-width:680px;
}
/* ── Legal / policy pages ── */
.legal-page{
  padding:36px 0 56px;
  max-width:40rem;
  margin:0 auto;
}
.legal-page__back{
  display:inline-flex;
  align-items:center;
  font-size:13px;
  font-weight:600;
  letter-spacing:0.03em;
  color:var(--muted);
  text-decoration:none;
  margin-bottom:18px;
  padding:6px 10px 6px 0;
  border-radius:8px;
  transition:color .18s ease;
}
.legal-page__back:hover{
  color:var(--accent);
}
.legal-page__title{
  font-family:"Cormorant Garamond","Libre Baskerville",Georgia,serif;
  font-size:clamp(1.65rem, 3.2vw, 2rem);
  font-weight:700;
  line-height:1.15;
  margin:0 0 18px;
  color:var(--text);
  letter-spacing:-0.02em;
}
.legal-page__rule{
  margin:0 0 22px;
  height:1px;
  border:0;
  background:linear-gradient(90deg, var(--border-strong), rgba(45,56,34,.06) 72%, transparent);
}
.legal-page__body{
  font-size:16px;
  line-height:1.72;
  color:var(--text);
}
.legal-page__body p{
  margin:0 0 1.1em;
}
.legal-page__body p:last-child{
  margin-bottom:0;
}
.legal-page__body a{
  color:var(--accent);
  text-decoration:underline;
  text-decoration-color:rgba(74,90,56,.38);
  text-underline-offset:2px;
}
.legal-page__body a:hover{
  color:var(--accent-press);
}
.cs-inner--reverse{
  margin-left:auto;
}
.cs-label{
  display:inline-block;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1px;
  color:var(--accent);
  margin-bottom:10px;
}
.cs-title{
  font-family:"Cormorant Garamond","Libre Baskerville",Georgia,serif;
  font-size:32px;
  line-height:1.1;
  margin:0 0 18px;
  font-weight:700;
  color:var(--text);
}
.cs-text p{
  margin:0 0 14px;
  line-height:1.7;
  color:var(--text);
}
.cs-list{
  margin:0 0 20px;
  padding-left:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.cs-list li{
  padding-left:22px;
  position:relative;
  line-height:1.5;
  font-size:15px;
  color:var(--text);
}
.cs-list li::before{
  content:"–";
  position:absolute;
  left:0;
  color:var(--accent);
  font-weight:700;
}

/* ── Certificates & Warranty (home): readable measure, scan-friendly policies ── */
#certificates .cert{
  max-width:100%;
}
#certificates .cert__head{
  margin-bottom:clamp(22px,3vw,32px);
  max-width:40rem;
}
#certificates .cert__head .cs-label{
  font-size:12px;
  margin-bottom:8px;
  letter-spacing:0.06em;
}
#certificates .cert__head .cs-title{
  margin:0 0 14px;
  font-size:clamp(24px,2.65vw,29px);
  line-height:1.12;
}
#certificates .cert__summary{
  margin:0;
  font-size:17px;
  line-height:1.65;
  color:var(--text);
}
#certificates .cert__layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,1fr);
  gap:clamp(28px,5vw,52px);
  align-items:start;
}
#certificates .cert__main{
  min-width:0;
  max-width:40rem;
}
#certificates .cert__subhead{
  margin:0 0 14px;
  font-family:"Cormorant Garamond","Libre Baskerville",Georgia,serif;
  font-size:clamp(1.15rem,1.5vw,1.35rem);
  font-weight:600;
  line-height:1.25;
  color:var(--text);
}
#certificates .cert__list{
  margin:0;
  gap:14px;
}
#certificates .cert__list li{
  font-size:16px;
  line-height:1.65;
  color:var(--text);
  padding-left:26px;
}
#certificates .cert__aside{
  min-width:0;
}
#certificates .cert__figure{
  margin:0;
  padding:14px;
  border-radius:14px;
  overflow:hidden;
  border:1px solid var(--border-strong);
  background:var(--surface);
  box-shadow:var(--shadow);
}
#certificates .cert__media-wrap{
  position:relative;
  display:block;
  border-radius:8px;
  overflow:hidden;
}
#certificates .cert__img{
  display:block;
  width:100%;
  height:auto;
  max-height:min(58vh,540px);
  object-fit:contain;
  object-position:center;
  margin:0 auto;
}
#certificates .cert__zoom.btn{
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:1;
  margin:0;
  padding:9px 14px;
  font-size:13px;
  letter-spacing:0.02em;
  box-shadow:var(--shadow);
  -webkit-tap-highlight-color:transparent;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
#certificates .cert__zoom.btn:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
#certificates .cert__zoom-label{
  pointer-events:none;
}
#certificates .cert__caption{
  margin:14px 0 0;
  padding:0 4px;
  font-size:13px;
  line-height:1.5;
  color:var(--muted);
  text-align:center;
}
#certificates .cert__list .cert__price{
  font-weight:700;
  color:var(--text);
}
#certificates .cert__policies{
  margin-top:clamp(20px,3vw,28px);
  display:flex;
  flex-direction:column;
  gap:0;
}
#certificates .cert__policies .cert__subhead + ul + .cert__subhead{
  margin-top:clamp(18px,3vw,26px);
}

.check-your-watch__tools{
  margin:0 0 22px;
  line-height:1.75;
  font-size:15px;
}
/* Exactly two lines (three links each); avoids wraps that stack into four rows on phones */
.check-your-watch__tools-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);
  column-gap:0.35em;
  align-items:center;
}
.check-your-watch__tools-row a{
  min-width:0;
  text-align:center;
}
.check-your-watch__tools-row + .check-your-watch__tools-row{
  margin-top:0.45em;
}
.check-your-watch__sep{
  color:var(--muted);
  user-select:none;
}
/* Check Your Watch — mobile: single column stack (visual, main, warnings).
   Desktop (>=901px) turns this same flex parent into a 2-col × 2-row grid; see below. */
.check-your-watch__layout{
  display:flex;
  flex-direction:column;
  gap:clamp(20px,3.5vw,40px);
  max-width:100%;
  margin:0;
  width:100%;
}
.check-your-watch__main{
  min-width:0;
  /* Stretches under the single-column mobile layout; desktop overrides to a sticky grid item
     that spans both rows of the right column. */
  align-self:stretch;
}
.check-your-watch__main .cs-inner{
  max-width:100%;
  /* Mobile fallback sticky — desktop overrides this to static; on desktop the .check-your-watch__main
     wrapper itself is the sticky element. */
  position:sticky;
  top:calc(88px + env(safe-area-inset-top, 0px));
  padding-bottom:2px;
}
#check-your-watch .check-your-watch__main .cs-text p{
  font-size:clamp(17px,1.2vw,19px);
  line-height:1.68;
}
#check-your-watch .check-your-watch__main .check-your-watch__tools{
  /* vw scales down on phones so three columns fit on one line */
  font-size:clamp(12px,2.85vw,18px);
}
#check-your-watch .check-your-watch__main .cs-title{
  font-size:clamp(32px,3.2vw,38px);
}
.check-your-watch__pitch-close{
  display:inline-block;
  margin-top:0.35em;
  white-space:nowrap;
  font-weight:600;
}
.check-your-watch__send-cta{
  margin:0;
}
#check-your-watch .btn--send-photos{
  font-size:0.95rem;
  font-weight:600;
  padding:10px 18px;
  border-radius:12px;
  letter-spacing:.02em;
}
.check-your-watch__warnings{
  width:100vw;
  margin-left:calc(-50vw + 50%);
  box-sizing:border-box;
  padding:clamp(12px,2vw,20px) clamp(18px,4vw,42px) clamp(8px,1.5vw,16px);
}
#check-your-watch .check-your-watch__warnings-label{
  display:block;
  margin-bottom:clamp(14px,2vw,20px);
  font-size:12px;
  letter-spacing:1.1px;
}
#check-your-watch .check-your-watch__warn-list{
  display:flex;
  flex-direction:column;
  gap:clamp(10px,1.4vw,16px);
  margin:0;
  padding:0;
}
.check-your-watch__warn-item{
  margin:0;
  padding:16px 0 16px 18px;
  border:none;
  border-left:3px solid var(--accent);
  background:transparent;
}
/* CYW warnings: scroll-scrubbed stagger (JS sets opacity/transform) */
.check-your-watch__warnings--scroll .check-your-watch__warnings-label,
.check-your-watch__warnings--scroll .check-your-watch__warn-item{
  opacity:0;
  transform:translate(-2.75rem, 0.5rem);
  will-change:opacity, transform;
}
.check-your-watch__warn-text{
  margin:0;
  font-size:clamp(16px,1.15vw,18px);
  line-height:1.66;
  color:var(--muted);
}
.check-your-watch__warn-text strong{
  font-family:"Cormorant Garamond","Libre Baskerville",Georgia,serif;
  font-size:clamp(18px,1.35vw,21px);
  font-weight:600;
  color:var(--text);
  letter-spacing:0.01em;
}
.check-your-watch__warn-sub{
  margin:8px 0 0;
  font-size:clamp(15px,1.05vw,17px);
  line-height:1.62;
  color:var(--muted);
}
.check-your-watch__visual{
  position:relative;
  top:0;
  min-width:0;
}
.check-your-watch__visual-lead{
  margin:0 0 clamp(14px,1.6vw,18px);
  font-size:clamp(10.5px,2.65vw,14px);
  font-style:italic;
  line-height:1.45;
  color:var(--muted);
}
.check-your-watch__visual-lead-line{
  display:block;
}
.check-your-watch__visual-lead-line:first-child{
  margin-bottom:0.22em;
}
.check-your-watch__inventory-disclaimer{
  font-weight:800;
  font-size:1.04em;
  color:var(--text);
  letter-spacing:0.015em;
  white-space:nowrap;
}
.check-your-watch__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(10px,1.2vw,14px);
}
.check-your-watch__thumb{
  display:grid;
  place-items:stretch;
  width:100%;
  margin:0;
  padding:0;
  border:1px solid var(--border-strong);
  border-radius:10px;
  overflow:hidden;
  cursor:zoom-in;
  background:var(--media-bg);
  aspect-ratio:1 / 1;
  -webkit-tap-highlight-color:transparent;
  transition:border-color .2s, box-shadow .2s;
}
.check-your-watch__thumb:hover{
  border-color:var(--accent-border);
  box-shadow:var(--shadow);
}
.check-your-watch__thumb:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
.check-your-watch__thumb img{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  min-width:0;
  vertical-align:middle;
  object-fit:cover;
  object-position:center;
  margin:0;
  background:var(--media-bg);
}

/* Desktop only: 2-col × 2-row grid. Main (copy) spans both rows in column 1 and is
   position:sticky, so it slides under the brow nav and releases at the bottom of the
   right column (visual + warnings stacked). Warnings sits in the right column instead
   of the mobile full-bleed band. */
@media (min-width:901px){
  /* `body { overflow-x: hidden }` (above) silently turns body into a scrolling box
     because the CSS spec promotes computed `overflow-y` to `auto` when the other axis
     is non-visible. Sticky descendants then bind to body (which never actually scrolls),
     so they never offset. `overflow: clip` clips overflow without establishing a scroll
     container — fixes position:sticky on this section's left column. Scoped to desktop
     because mobile sticky isn't exercised here. */
  body{
    overflow-x:clip;
  }
  .check-your-watch__layout{
    display:grid;
    grid-template-columns:minmax(260px,16fr) minmax(240px,15fr);
    grid-template-rows:auto auto;
    column-gap:clamp(20px,3.5vw,40px);
    row-gap:clamp(18px,2.4vw,28px);
    align-items:start;
  }
  /* Sticky travel = layout_height - main_height. align-self:start keeps main at its
     natural height so the cell provides real travel distance (visual + row-gap + warnings). */
  .check-your-watch__main{
    grid-column:1;
    grid-row:1 / span 2;
    align-self:start;
    position:sticky;
    top:calc(88px + env(safe-area-inset-top, 0px));
  }
  /* On desktop, main itself is the sticky wrapper — cancel the inner sticky used on mobile. */
  .check-your-watch__main .cs-inner{
    position:static;
    top:auto;
  }
  .check-your-watch__visual{
    grid-column:2;
    grid-row:1;
  }
  .check-your-watch__warnings{
    grid-column:2;
    grid-row:2;
    /* Cancel the full-bleed treatment used at the base — block now lives inside the column. */
    width:auto;
    max-width:100%;
    margin-left:0;
    margin-right:0;
    padding:0;
  }
}

/* ── About: video + copy (no native video UI) ── */
.cs-about{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(24px,4vw,48px);
  align-items:center;
  max-width:100%;
}
.cs-about__video-wrap{
  margin:0;
  justify-self:center;
  display:block;
  position:relative;
  border-radius:14px;
  overflow:hidden;
  background:var(--media-bg);
  /* Portrait 9∶16; wider frame on desktop */
  aspect-ratio:9 / 16;
  width:min(100%,min(92vw,480px));
  max-height:min(90vh,920px);
  box-shadow:var(--shadow);
  cursor:pointer;
}
/* About: video and copy share grid width; video max-width above */
.cs-about__copy .cs-label{
  font-size:12px;
  margin-bottom:8px;
}
.cs-about__copy .cs-title{
  font-size:clamp(24px, 2.65vw, 29px);
  line-height:1.12;
  margin:0 0 15px;
}
.cs-about__copy p{
  font-size:15px;
  line-height:1.66;
  margin:0 0 12px;
}
.cs-about__copy .cs-about__collectors-line{
  display:block;
}
.cs-about__copy .cs-about__collectors-line:first-child{
  margin-bottom:0.12em;
}
.cs-about__copy .btn{
  font-size:14px;
  padding:9px 14px;
}
/* About: inline "read more" toggle — mobile-only; desktop shows full text. */
.about-readmore__toggle{display:none}
@media (max-width:768px){
  /* Accordion reveal (replaces display:none on hidden parts). */
  .about-readmore .about-readmore__rest{
    display:inline;
    opacity:1;
  }
  .about-readmore .about-readmore__more{
    /* Base state — needed so browser can animate from this value. */
    max-height:2400px;
    opacity:1;
    overflow:hidden;
  }
  .about-readmore .about-readmore__more{
    transition:max-height 0.65s cubic-bezier(0.33,1,0.68,1),
               opacity 0.45s ease,
               margin 0.35s ease,
               padding 0.35s ease,
               visibility 0s linear;
  }
  .about-readmore[data-collapsed="true"] .about-readmore__rest{
    display:none;
    max-height:0;
    opacity:0;
    pointer-events:none;
  }
  .about-readmore[data-collapsed="true"] .about-readmore__more{
    max-height:0;
    opacity:0;
    margin-top:0;
    margin-bottom:0;
    padding-top:0;
    padding-bottom:0;
    pointer-events:none;
    visibility:hidden;
    transition:max-height 0.48s cubic-bezier(0.33,1,0.68,1),
               opacity 0.26s ease,
               margin 0.3s ease,
               padding 0.3s ease,
               visibility 0s linear 0.46s;
  }
  .about-readmore[data-collapsed="false"] .about-readmore__rest{
    display:inline;
    opacity:1;
  }
  .about-readmore[data-collapsed="false"] .about-readmore__more{
    max-height:2400px;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition:max-height 0.72s cubic-bezier(0.33,1,0.68,1),
               opacity 0.48s ease 0.08s;
  }
  /* Inline flow only — avoids a min-height:tall inline-block forcing awkward breaks mid-sentence. */
  .about-readmore[data-collapsed="true"] .about-readmore__toggle{
    display:inline;
    position:relative;
    vertical-align:baseline;
    margin:0 0 0 0.25em;
    padding:0 2px;
    min-height:0;
    box-sizing:border-box;
    font:inherit;
    font-size:15px;
    font-weight:700;
    letter-spacing:0.02em;
    color:var(--accent);
    background:transparent;
    border:none;
    border-radius:0;
    box-shadow:none;
    text-decoration:underline;
    text-decoration-color:rgba(74,90,56,0.45);
    text-underline-offset:3px;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    transition:color 0.18s ease, text-decoration-color 0.18s ease, opacity 0.18s ease;
  }
  .about-readmore[data-collapsed="true"] .about-readmore__toggle::before{
    content:"";
    position:absolute;
    left:-12px;
    right:-12px;
    top:-12px;
    bottom:-14px;
    z-index:0;
  }
  .about-readmore[data-collapsed="true"] .about-readmore__toggle::after{
    content:" ›";
    display:inline;
    margin-left:0.15em;
    font-weight:600;
    text-decoration:none;
  }
  .about-readmore[data-collapsed="true"] .about-readmore__toggle:hover,
  .about-readmore[data-collapsed="true"] .about-readmore__toggle:focus-visible{
    color:var(--accent-press);
    text-decoration-color:var(--accent);
    box-shadow:none;
    transform:none;
    filter:none;
  }
  .about-readmore[data-collapsed="true"] .about-readmore__toggle:focus-visible{
    outline:2px solid var(--accent);
    outline-offset:2px;
    border-radius:2px;
  }
  .about-readmore[data-collapsed="true"] .about-readmore__toggle:active{
    opacity:0.88;
    transform:none;
    filter:none;
  }
  .about-readmore[data-collapsed="false"] .about-readmore__toggle{
    display:none;
  }
}
@media (prefers-reduced-motion:reduce){
  .about-readmore__toggle,
  .about-readmore__toggle::after,
  .about-readmore .about-readmore__rest,
  .about-readmore .about-readmore__more{
    animation:none !important;
    transition-duration:0.01ms !important;
  }
}
.cs-about__video{
  position:absolute;
  inset:0;
  z-index:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.cs-about__hit{
  position:absolute;
  inset:0;
  z-index:2;
  margin:0;
  padding:0;
  border:none;
  border-radius:inherit;
  background:transparent;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  opacity:0;
}
.cs-about__hit:focus-visible{
  opacity:1;
  outline:2px solid var(--accent);
  outline-offset:-3px;
}
.cs-about__video-wrap:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
}
.cs-about__video::-webkit-media-controls-panel,
.cs-about__video::-webkit-media-controls-play-button,
.cs-about__video::-webkit-media-controls-start-playback-button{
  display:none !important;
}

.page-title{
  margin:24px 0 8px;
  font-family:"Cormorant Garamond","Libre Baskerville",Georgia,serif;
  font-size:34px;
  color:var(--text);
}

.site-footer{
  margin-top:32px;
  padding:0 0 22px;
}
.site-footer .footer-wrap{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:0.85rem;
  padding:26px 28px 18px;
  color:var(--muted);
  font-size:13px;
  box-shadow:none;
}
.site-footer .footer-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:start;
  gap:22px 28px;
  padding-bottom:20px;
  border-bottom:1px solid var(--border);
}
.site-footer .footer-top > div:nth-child(2),
.site-footer .footer-top > div:nth-child(3){
  text-align:right;
  justify-self:end;
}
.site-footer .footer-brand{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.site-footer .footer-brand-name{
  font-size:15px;
  font-weight:500;
  color:var(--text);
  letter-spacing:0.04em;
}
.site-footer .footer-brand-tagline{
  font-size:11.5px;
  color:var(--muted);
  line-height:1.5;
  max-width:280px;
}
.site-footer .footer-email{
  color:var(--accent);
  text-decoration:none;
  font-size:11.5px;
  margin-top:2px;
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:10px 4px 10px 0;
  box-sizing:border-box;
}
.site-footer .footer-email:hover{
  color:var(--accent-press);
}
.site-footer .footer-col-title{
  font-size:10px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:10px;
}
.site-footer .footer-links{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.site-footer .footer-links a{
  color:var(--text-muted);
  text-decoration:none;
  font-size:12.5px;
  cursor:pointer;
  transition:color 0.15s;
  display:block;
  padding:8px 0;
  box-sizing:border-box;
}
.site-footer .footer-links a:hover{
  color:var(--accent);
}
.site-footer .footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:14px;
  flex-wrap:wrap;
  gap:10px;
}
.site-footer .footer-copy{
  font-size:11px;
  line-height:1.45;
  color:var(--text-muted);
  margin:0;
  padding:0;
  border:0;
}
.site-footer .footer-trust{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.site-footer .footer-trust span{
  font-size:11px;
  color:var(--text-muted);
}

/* ── Brow navigation (fixed; scroll + collapse) — plain CSS, motion-like easing ── */
.sticky-nav-container{
  --brow-bg:#1b2115;
  --brow-gold:#c5a358;
  position:fixed;
  top:0;
  left:50%;
  z-index:1050;
  display:flex;
  flex-direction:column;
  align-items:center;
  width:max-content;
  max-width:min(1240px,calc(100vw - 20px));
  background:var(--brow-bg);
  border:1px solid rgba(245,238,216,0.1);
  border-top:none;
  border-radius:0 0 1rem 1rem;
  box-shadow:0 8px 28px rgba(0,0,0,0.52);
  opacity:0;
  transform:translateX(-50%) translateY(-100%);
  pointer-events:none;
  transition:opacity 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.55s cubic-bezier(0.34, 1.25, 0.64, 1);
  overflow:visible;
}
.sticky-nav-container.is-revealed{
  opacity:1;
  transform:translateX(-50%) translateY(0);
  pointer-events:auto;
}
/* Collapsed links — tuck slightly under top of viewport */
.sticky-nav-container.is-revealed.collapsed{
  transform:translateX(-50%) translateY(-2px);
}
/* Single row of items; narrow screens — horizontal scroll */
.nav-items-wrapper{
  display:flex;
  flex-wrap:nowrap;
  justify-content:center;
  align-items:center;
  gap:4px;
  padding:6px;
  max-width:min(1240px,calc(100vw - 24px));
  box-sizing:border-box;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  max-height:5rem;
  opacity:1;
  transition:max-height 0.35s ease-in-out, opacity 0.35s ease-in-out, padding 0.35s ease-in-out;
}
.nav-items-wrapper::-webkit-scrollbar{
  display:none;
}
.sticky-nav-container.collapsed .nav-items-wrapper{
  max-height:0;
  opacity:0;
  padding-top:0;
  padding-bottom:0;
  pointer-events:none;
}
.sticky-nav-container .nav-link{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-shrink:0;
  min-height:44px;
  padding:12px 16px;
  border-radius:12px;
  text-decoration:none;
  font-family:"Inter",system-ui,sans-serif;
  font-size:12px;
  font-weight:620;
  letter-spacing:0.1em;
  text-transform:uppercase;
  white-space:nowrap;
  color:rgba(245,238,216,0.88);
  transition:color 0.3s ease, background 0.3s ease;
}
.sticky-nav-container .nav-link svg{
  width:14px;
  height:14px;
  flex-shrink:0;
  stroke-width:2;
}
.sticky-nav-container .nav-link:hover{
  color:#F5EED8;
  background:rgba(245,238,216,0.08);
}
.sticky-nav-container .nav-link.active{
  background:var(--brow-gold);
  color:#000;
}
.nav-toggle-tab{
  position:absolute;
  /* Below link row (incl. Check Your Watch): full tab+chevron pill moves down */
  bottom:-34px;
  left:50%;
  transform:translate(-50%, -2px);
  box-sizing:border-box;
  width:54px;
  min-width:54px;
  max-width:54px;
  height:34px;
  min-height:34px;
  max-height:34px;
  padding:4px 0 8px;
  margin:0;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
  background:var(--brow-bg);
  /* No side borders — vertical lines would “cut” into the seam with main brow */
  border:none;
  border-bottom:1px solid rgba(245,238,216,0.1);
  /* Bottom semicircle (diameter = button width): radius = width / 2 */
  border-radius:0 0 27px 27px;
  box-shadow:none;
  color:rgba(245,238,216,0.78);
  transition:color 0.25s ease, background 0.25s ease;
  z-index:2;
}
.nav-toggle-tab:hover{
  color:var(--brow-gold);
}
.nav-toggle-chevron{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  line-height:0;
  color:inherit;
}
.nav-toggle-chevron svg{
  display:block;
  flex-shrink:0;
  width:18px;
  height:18px;
  stroke-width:2.25;
  transform:rotate(180deg);
  transform-origin:center;
  transition:transform 0.4s ease;
}
/* Expanded: chevron up. Collapsed: down — rotate svg only, not wrapper (avoids clip at tab edge). */
.sticky-nav-container.collapsed .nav-toggle-chevron svg{
  transform:rotate(0deg);
}
@media (prefers-reduced-motion:reduce){
  /* Brow enter/exit: short linear — not springy */
  .sticky-nav-container{
    transition:opacity 0.22s linear, transform 0.22s linear;
  }
  .nav-items-wrapper{
    transition:max-height 0.22s linear, opacity 0.22s linear, padding 0.22s linear;
  }
  .nav-toggle-chevron svg{
    transition:transform 0.22s linear;
  }
  .sticky-nav-container .nav-link,
  .nav-toggle-tab{
    transition-duration:0.01ms;
  }
}

/* ── FAQ — categories + questions (accordion) ── */
.faq-container{
  max-width:820px;
  margin:0 auto;
  padding:0 4px;
}
.faq-container .cs-label{
  margin-bottom:8px;
}
.faq-container .cs-title{
  margin-bottom:clamp(22px,3vw,30px);
}
.faq-category{
  margin-bottom:1.25rem;
}
.faq-category:last-child{
  margin-bottom:0;
}
.faq-category-toggle{
  width:100%;
  text-align:left;
  background:none;
  border:none;
  border-bottom:1px solid var(--accent-border);
  padding:1rem 0;
  font-size:clamp(1.05rem,1.35vw,1.15rem);
  font-family:"Cormorant Garamond","Libre Baskerville",Georgia,serif;
  font-weight:600;
  color:var(--text);
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.faq-category-toggle > span:first-child{
  text-transform:uppercase;
  letter-spacing:0.055em;
}
.faq-category-toggle:hover{
  color:var(--accent);
}
.faq-category-toggle.active{
  color:var(--accent);
}
.faq-category-toggle:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:4px;
  border-radius:6px;
}
.faq-category-body{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows 0.42s cubic-bezier(0.33,1,0.68,1);
}
.faq-category-body.is-open{
  grid-template-rows:1fr;
}
.faq-category-body__inner{
  overflow:hidden;
  min-height:0;
  padding-top:0.35rem;
  opacity:0;
  transition:opacity 0.22s ease;
}
.faq-category-body.is-open .faq-category-body__inner{
  opacity:1;
  transition:opacity 0.34s ease 0.08s;
}
.faq-panel{
  border-bottom:1px solid var(--border);
}
.faq-panel:last-child{
  border-bottom:none;
}
.faq-question{
  width:100%;
  text-align:left;
  background:none;
  border:none;
  padding:0.9rem 0 0.9rem 0.35rem;
  font-size:1rem;
  font-family:inherit;
  font-weight:500;
  color:var(--text);
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.faq-question:hover{
  color:var(--accent);
}
.faq-question.active{
  color:var(--accent);
}
.faq-question:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
  border-radius:4px;
}
.faq-answer{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows 0.38s cubic-bezier(0.33,1,0.68,1);
}
.faq-answer.is-open{
  grid-template-rows:1fr;
}
.faq-answer__inner{
  overflow:hidden;
  min-height:0;
  opacity:0;
  transition:opacity 0.2s ease;
}
.faq-answer.is-open .faq-answer__inner{
  opacity:1;
  transition:opacity 0.3s ease 0.06s;
}
.faq-answer p{
  margin:0 0 1rem;
  padding:0 0.25rem 0 0.35rem;
  font-size:0.94rem;
  line-height:1.68;
  color:var(--muted);
}
.faq-answer p:last-child{
  padding-bottom:0.85rem;
  margin-bottom:0;
}
.faq-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  line-height:0;
  color:var(--accent);
}
.faq-icon svg{
  display:block;
  width:18px;
  height:18px;
  stroke-width:2.25;
  flex-shrink:0;
  transform:rotate(0deg);
  transform-origin:center;
  transition:transform 0.32s cubic-bezier(0.33,1,0.68,1);
}
.faq-category-toggle.active .faq-icon svg,
.faq-question.active .faq-icon svg{
  transform:rotate(180deg);
}

/* ── Conversion prices block ── */
.conv-prices{
  margin-top:40px;
  padding:32px 36px 28px;
  border:none;
  border-radius:0;
  background:transparent;
}
.conv-prices__head{
  display:flex;
  justify-content:center;
  align-items:center;
  margin-bottom:22px;
  text-align:center;
}
.conv-prices__title{
  margin:0;
  font-family:"Cormorant Garamond","Libre Baskerville",Georgia,serif;
  font-size:24px;
  font-weight:600;
  letter-spacing:.5px;
  text-transform:uppercase;
  color:var(--text);
}
/* Desktop: original wide table (materials as rows, types as columns). */
.conv-table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.conv-table{
  width:100%;
  border-collapse:collapse;
  font-size:15px;
  white-space:nowrap;
}
.conv-table th,
.conv-table td{
  padding:12px 19px;
  text-align:center;
  border-bottom:1px solid var(--border);
}
.conv-table th{
  color:var(--muted);
  font-weight:600;
  font-size:13px;
  letter-spacing:.6px;
  text-transform:uppercase;
  border-bottom:1px solid var(--accent);
}
.conv-table thead th{
  color:var(--text);
}
.conv-material{
  color:var(--text);
  font-weight:600;
}
.conv-table th:first-child,
.conv-table td:first-child{
  text-align:left;
  padding-left:0;
}
/* Brass / Nickel as stacked label with hairline between (no slash). */
.conv-metal-dual{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:0.18em;
  vertical-align:middle;
  line-height:1.18;
  text-align:left;
  white-space:normal;
}
.conv-table thead th.conv-metal-dual{
  align-items:flex-start;
  text-align:left;
  padding-top:10px;
  padding-bottom:10px;
}
.conv-metal-dual__row{
  display:block;
}
.conv-metal-dual__rule{
  display:block;
  width:100%;
  min-width:3.25em;
  max-width:100%;
  height:1px;
  margin:0;
  padding:0;
  align-self:stretch;
  transform:translateX(-4px);
  background:rgba(74,90,56,.42);
}
.conv-table tbody td.conv-material.conv-metal-dual{
  align-items:flex-start;
}
.conv-table tbody tr:last-child td{
  border-bottom:none;
}
.conv-table tbody tr:hover td{
  background:rgba(74,90,56,.06);
}
/* Two tables share the markup: only the desktop one is visible above 768px. */
.conv-table-wrap--mobile{display:none}
@media (max-width:768px){
  .conv-table-wrap--desktop{display:none}
  .conv-table-wrap--mobile{
    display:block;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    border-radius:10px;
    border:1px solid var(--border);
  }
  .conv-table-wrap--mobile .conv-table{
    font-size:14px;
    white-space:normal;
  }
  .conv-table-wrap--mobile .conv-table th,
  .conv-table-wrap--mobile .conv-table td{
    padding:12px 16px;
    text-align:left;
    border-bottom:1px solid var(--border);
    white-space:normal;
  }
  .conv-table-wrap--mobile .conv-table thead th.conv-metal-dual{
    white-space:normal;
  }
  .conv-table-wrap--mobile .conv-table thead th{
    font-size:12px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--text);
    background:var(--bg-inset);
    border-bottom:1px solid var(--border);
  }
  .conv-table-wrap--mobile .conv-table tbody tr:last-child td{
    border-bottom:none;
  }
  .conv-table-wrap--mobile .conv-table .conv-material{
    white-space:normal;
    padding-left:16px;
    text-align:left;
  }
  .conv-table-wrap--mobile .conv-table tbody td:not(.conv-material){
    color:var(--accent);
    font-variant-numeric:tabular-nums;
  }
  .conv-table-wrap--mobile .conv-table tbody tr:hover td{
    background:transparent;
  }
}
@media (max-width:480px){
  .conv-table-wrap--mobile .conv-table th,
  .conv-table-wrap--mobile .conv-table td{
    padding:10px 12px;
    font-size:13px;
  }
}
.conv-notes{
  margin:18px 0 0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.conv-notes li{
  font-size:14px;
  color:var(--muted);
  padding-left:12px;
  position:relative;
  line-height:1.6;
}
.conv-notes li::before{
  content:"*";
  position:absolute;
  left:0;
  color:var(--accent);
}

/* ── Conversion intro: full-width strip + text ── */
.conv-strip{
  width:100vw;
  margin-left:calc(-50vw + 50%);
  overflow:hidden;
  position:relative;
  padding:0;
  margin-bottom:40px;
}
.conv-strip::before,
.conv-strip::after{
  content:"";
  position:absolute;
  top:0;bottom:0;
  width:80px;
  z-index:2;
  pointer-events:none;
}
.conv-strip::before{
  left:0;
  background:linear-gradient(to right, var(--bg), transparent);
}
.conv-strip::after{
  right:0;
  background:linear-gradient(to left, var(--bg), transparent);
}
.conv-strip__track{
  display:flex;
  gap:3px;
  width:max-content;
  animation:conv-scroll 46s linear infinite;
  will-change:transform;
}
.conv-strip__img{
  height:204px;
  width:204px;
  object-fit:contain;
  flex-shrink:0;
  display:block;
  border-radius:2px;
  transform:translateZ(0);
  backface-visibility:hidden;
}
@keyframes conv-scroll{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-1863px,0,0)}
}
/* strip inside hero — override margins */
.conv-strip--hero{
  margin-left:calc(-50vw + 50%);
  width:100vw;
  margin-bottom:20px;
  margin-top:18px;
}

.conv-body{
  display:flex;
  flex-direction:column;
  gap:40px;
  margin-bottom:40px;
  padding-bottom:40px;
  border-bottom:1px solid var(--border);
}
.conv-body__row{
  display:grid;
  grid-template-columns:1fr 1.6fr;
  gap:40px 64px;
  align-items:start;
}
.conv-body__left{
  display:flex;
  flex-direction:column;
  gap:30px;
  min-width:0;
}
.conv-body__right{
  padding-top:4px;
  min-width:0;
}
.conv-body__wide{
  width:100%;
  min-width:0;
}
.conv-body__wide p{
  margin:0 0 14px;
  color:var(--muted);
  line-height:1.75;
  font-size:17px;
}
.conv-body__wide p:last-child{
  margin-bottom:0;
}
/* +50% to original left block sizes (was 11 / clamp(38…) / 14) */
.conv-body__eyebrow{
  display:inline-block;
  font-size:16.5px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:2.25px;
  color:var(--accent);
}
.conv-body__title{
  font-family:"Cormorant Garamond","Libre Baskerville",Georgia,serif;
  font-size:clamp(57px, 6.75vw, 87px);
  font-weight:700;
  line-height:1.0;
  margin:0;
  color:var(--text);
}
.conv-body__lead{
  font-family:"Cormorant Garamond","Libre Baskerville",Georgia,serif;
  font-size:22px;
  line-height:1.5;
  font-weight:500;
  color:var(--text);
  margin:0;
  padding-bottom:18px;
  border-bottom:1px solid var(--border);
}
.conv-body__cta{
  align-self:flex-start;
  font-size:21px;
  font-weight:600;
  color:var(--accent);
  text-decoration:none;
  border-bottom:1px solid transparent;
  padding-bottom:2px;
  transition:border-color .2s;
}
.conv-body__cta:hover{border-bottom-color:var(--accent)}
button.conv-body__cta{
  font:inherit;
  font-size:21px;
  font-weight:600;
  cursor:pointer;
  background:none;
  border:none;
  border-bottom:1px solid transparent;
  padding:0 0 2px;
  text-align:left;
}
button.conv-body__cta:hover{border-bottom-color:var(--accent)}

/* ── Conversion photo carousel (infinite drag + inertia) ── */
.conv-carousel{
  overflow:hidden;
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
  margin-bottom:28px;
  border-radius:0;
  position:relative;
  width:100vw;
  margin-left:calc(-50vw + 50%);
}
.conv-carousel.dragging{
  cursor:grabbing;
}
/* Swipe affordance — top center */
.conv-carousel__swipe{
  position:absolute;
  top:10px;
  left:50%;
  z-index:4;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(0,0,0,.42);
  color:#fff;
  pointer-events:none;
  user-select:none;
  -webkit-user-select:none;
  box-shadow:0 2px 12px rgba(0,0,0,.25);
  backdrop-filter:blur(4px);
}
.conv-carousel__swipe-inner{
  display:flex;
  align-items:center;
  gap:10px;
  pointer-events:none;
}
.conv-carousel__nav{
  pointer-events:auto;
  flex-shrink:0;
  margin:0;
  padding:2px;
  border:none;
  background:transparent;
  color:inherit;
  line-height:0;
  cursor:pointer;
  border-radius:8px;
  -webkit-tap-highlight-color:transparent;
  transition:background .2s ease, opacity .2s ease;
}
.conv-carousel__nav:hover{
  background:rgba(255,255,255,.14);
}
.conv-carousel__nav:focus{
  outline:none;
}
.conv-carousel__nav:focus-visible{
  outline:2px solid rgba(255,255,255,.9);
  outline-offset:2px;
}
.conv-carousel__nav:active{
  background:rgba(255,255,255,.22);
}
.conv-carousel__nav.is-nudge-prev .conv-carousel__swipe-arrow{
  animation:conv-carousel-arrow-nudge-left 0.6s cubic-bezier(0.28,1.12,0.46,1) both;
}
.conv-carousel__nav.is-nudge-next .conv-carousel__swipe-arrow{
  animation:conv-carousel-arrow-nudge-right 0.6s cubic-bezier(0.28,1.12,0.46,1) both;
}
@media (prefers-reduced-motion:no-preference){
  @keyframes conv-carousel-arrow-nudge-left{
    0%{transform:translateX(0);opacity:.92}
    32%{transform:translateX(-12px);opacity:1}
    100%{transform:translateX(0);opacity:.92}
  }
  @keyframes conv-carousel-arrow-nudge-right{
    0%{transform:translateX(0);opacity:.92}
    32%{transform:translateX(12px);opacity:1}
    100%{transform:translateX(0);opacity:.92}
  }
}
.conv-carousel__swipe-arrow{
  flex-shrink:0;
  opacity:.92;
  display:block;
}
.conv-carousel__swipe-dots{
  display:flex;
  align-items:center;
  gap:5px;
  opacity:.75;
}
.conv-carousel__swipe-dots span{
  width:4px;height:4px;border-radius:50%;
  background:currentColor;
  opacity:.65;
  animation:conv-carousel-swipe-dot 2.2s ease-in-out infinite;
}
.conv-carousel__swipe-dots span:nth-child(2){animation-delay:0.2s}
.conv-carousel__swipe-dots span:nth-child(3){animation-delay:0.4s}
@media (prefers-reduced-motion:no-preference){
  @keyframes conv-carousel-swipe-nudge{
    0%,100%{ transform:translateX(-50%) translateX(0); }
    50%{ transform:translateX(-50%) translateX(6px); }
  }
  .conv-carousel__swipe{
    animation:conv-carousel-swipe-nudge 2.8s ease-in-out infinite;
  }
  @keyframes conv-carousel-swipe-dot{
    0%,100%{ opacity:.35; transform:scale(0.9); }
    50%{ opacity:1; transform:scale(1.15); }
  }
}
@media (prefers-reduced-motion:reduce){
  .conv-carousel__swipe{animation:none}
  .conv-carousel__swipe-dots span{animation:none;opacity:.75}
}
.conv-carousel__track{
  display:flex;
  gap:12px;
  will-change:transform;
}
.conv-carousel__item{
  flex: 0 0 calc((min(880px, 100vw - 36px) / 2) - 6px);
  flex-shrink:0;
  margin:0;
  position:relative;
  border-radius:3px;
  overflow:hidden;
  background:var(--bg-inset);
  opacity:1;
}
.conv-carousel__item img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:contain;
  display:block;
  pointer-events:none;
}
.conv-carousel__item figcaption{
  position:absolute;
  bottom:0;left:0;right:0;
  padding:28px 16px 14px;
  background:linear-gradient(transparent,rgba(0,0,0,.68));
  font-size:13px;
  font-weight:600;
  color:#fff;
  display:flex;
  flex-direction:column;
  gap:3px;
  pointer-events:none;
}
.conv-carousel__item figcaption span{
  font-size:11px;
  font-weight:400;
  opacity:.7;
}

/* ── Facts + Prices unified block ── */
.conv-block{
  border:none;
  border-radius:0;
  overflow:hidden;
}
.conv-block .conv-prices{
  border:none;
  border-radius:0;
  margin:0;
  border-top:1px solid var(--border);
  background:transparent;
}

/* ── Conversion facts strip ── */
.conv-facts{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--border);
  border:1px solid var(--border);
  border-radius:10px;
  overflow:hidden;
  margin-top:28px;
}
.conv-facts--inline{
  margin:0;
}
.conv-fact{
  background:var(--surface);
  padding:18px 12px;
  display:flex;
  flex-direction:column;
  gap:4px;
  align-items:center;
  text-align:center;
}
.conv-fact__num{
  font-family:"Cormorant Garamond","Libre Baskerville",Georgia,serif;
  font-size:22px;
  font-weight:700;
  color:var(--text);
}
.conv-fact__label{
  font-size:11px;
  color:var(--muted);
  letter-spacing:.3px;
  line-height:1.4;
}

/* ── Lightbox (fullscreen image + zoom + pan) ── */
#lightbox{
  display:none;
  position:fixed;
  inset:0;
  z-index:1200;
}
#lightbox.lb-open{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  position:fixed;
  top:0;left:0;right:0;bottom:0;
  width:100%;
  height:100%;
  z-index:9999;
  box-sizing:border-box;
}
@keyframes lb-backdrop-in{
  from{opacity:0}
  to{opacity:1}
}
@keyframes lb-panel-in{
  from{
    opacity:0;
    transform:translateY(18px) scale(0.94);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}
@keyframes lb-panel-in-rm{
  from{opacity:0}
  to{opacity:1}
}
@keyframes lb-backdrop-out{
  from{opacity:1}
  to{opacity:0}
}
@keyframes lb-panel-out{
  from{
    opacity:1;
    transform:translateY(0) scale(1);
  }
  to{
    opacity:0;
    transform:translateY(14px) scale(0.96);
  }
}
@keyframes lb-panel-out-rm{
  from{opacity:1}
  to{opacity:0}
}
#lightbox.lb-open:not(.lb-leaving) .lb-backdrop{
  animation:lb-backdrop-in 0.24s ease both;
}
#lightbox.lb-open:not(.lb-leaving) .lb-panel,
#lightbox.lb-open:not(.lb-leaving) .lb-close{
  animation:lb-panel-in 0.28s cubic-bezier(0.22,1,0.36,1) both;
}
#lightbox.lb-leaving .lb-backdrop{
  animation:lb-backdrop-out 0.32s ease forwards;
}
#lightbox.lb-leaving .lb-panel,
#lightbox.lb-leaving .lb-close{
  animation:lb-panel-out 0.36s cubic-bezier(0.22,1,0.36,1) forwards;
}
@media (prefers-reduced-motion:reduce){
  #lightbox.lb-open:not(.lb-leaving) .lb-panel,
  #lightbox.lb-open:not(.lb-leaving) .lb-close{
    animation:lb-panel-in-rm 0.17s linear both;
  }
  #lightbox.lb-leaving .lb-backdrop{
    animation:lb-backdrop-out 0.22s linear forwards;
  }
  #lightbox.lb-leaving .lb-panel,
  #lightbox.lb-leaving .lb-close{
    animation:lb-panel-out-rm 0.22s linear forwards;
  }
}
.lb-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.92);
  cursor:pointer;
}
.lb-panel{
  position:relative;
  z-index:1;
  /* Full column from top — no virtual centering via min-height */
  min-height:min-content;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  padding:36px 20px 28px;
  box-sizing:border-box;
  pointer-events:none;
  /* Reliable upward shift vs previous layout */
  margin-top:clamp(-40px,-5vh,-12px);
}
.lb-panel > *{pointer-events:auto}
.lb-toolbar{
  display:flex;
  align-items:center;
  gap:10px;
  color:rgba(255,255,255,.85);
  font-size:13px;
  font-variant-numeric:tabular-nums;
}
.lb-toolbar button{
  width:36px;
  height:36px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:6px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:20px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  transition:background .3s ease,border-color .3s ease;
}
.lb-toolbar button:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.5)}
.lb-toolbar button:disabled{opacity:.35;cursor:not-allowed}
.lb-zoom-pct{min-width:3.2em;text-align:center}
.lb-stage-wrap{
  position:relative;
  width:min(98vw,1280px);
  /* Slightly shorter — toolbar + caption fit, less empty space under frame */
  height:min(78vh,880px);
  flex-shrink:0;
  border-radius:2px;
  pointer-events:auto;
}
.lb-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:auto;
  min-width:clamp(56px, 22vw, 140px);
  height:auto;
  max-height:100%;
  margin:0;
  padding:0 clamp(10px, 3vw, 20px);
  border:none;
  outline:none;
  border-radius:3px;
  background:transparent;
  color:transparent;
  opacity:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  transition:opacity .18s, background .18s, color .18s;
}
.lb-nav::before{
  content:"‹";
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:54px;
  border-radius:10px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.22);
  font-size:22px;
  font-weight:700;
  color:rgba(255,255,255,.82);
  box-shadow:0 2px 10px rgba(0,0,0,.18);
  flex-shrink:0;
  pointer-events:none;
  transition:background .18s, color .18s, border-color .18s;
}
.lb-nav--next::before{content:"›"}
.lb-nav:hover::before{
  background:rgba(255,255,255,.22);
  border-color:rgba(255,255,255,.45);
  color:#fff;
}
.lb-nav:hover{
  opacity:1;
  background:transparent;
}
.lb-nav:focus-visible{
  outline:none;
  background:transparent;
}
.lb-nav:focus-visible::before{
  outline:2px solid rgba(255,255,255,.45);
  outline-offset:2px;
}
.lb-nav--prev{
  left:0;
  justify-content:flex-start;
  padding-right:clamp(14px, 4vw, 28px);
  padding-left:max(10px, env(safe-area-inset-left));
}
.lb-nav--next{
  right:0;
  justify-content:flex-end;
  padding-left:clamp(14px, 4vw, 28px);
  padding-right:max(10px, env(safe-area-inset-right));
}
.lb-stage{
  width:100%;
  height:100%;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  padding-top:4px;
  box-sizing:border-box;
  border-radius:2px;
  cursor:zoom-in;
  touch-action:none;
}
.lb-stage.lb-zoomed{cursor:grab}
.lb-stage.lb-dragging{cursor:grabbing}
.lb-stage.lb-zoomed .lb-img{
  max-width:none;
  max-height:none;
}
.lb-img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  display:block;
  transform-origin:center center;
  will-change:transform;
  box-shadow:none;
}
.lb-caption{
  color:rgba(255,255,255,.7);
  font-size:13px;
  text-align:center;
  margin:0;
  max-width:min(90vw,520px);
}
.lb-close{
  position:fixed;
  top:18px;
  right:22px;
  z-index:2;
  background:none;
  border:none;
  color:#fff;
  font-size:32px;
  line-height:1;
  cursor:pointer;
  opacity:.7;
  transition:opacity .15s;
  padding:4px 8px;
  pointer-events:auto;
}
.lb-close:hover{opacity:1}

/* ── Home: enquiry modals (conversion / check your watch) ── */
/* Use dialog.aw-dialog so author position wins over UA dialog[open] (higher specificity than .aw-dialog alone). */
dialog.aw-dialog{
  position:fixed;
  inset:0;
  width:min(400px,calc(100vw - 24px));
  max-width:min(400px,calc(100vw - 24px));
  height:fit-content;
  max-height:min(90vh,620px);
  margin:auto;
  padding:0;
  overflow:hidden;
  border-radius:16px;
  box-sizing:border-box;
  background:linear-gradient(165deg,var(--surface) 0%,var(--bg-elevated) 48%,var(--panel) 100%);
  color:var(--text);
  border:1px solid var(--border-strong);
  box-shadow:
    0 1px 2px rgba(45,56,34,.05),
    0 22px 48px rgba(45,56,34,.14),
    0 0 0 1px rgba(255,255,255,.35) inset;
}
@keyframes aw-dialog-in{
  from{
    opacity:0;
    transform:translateY(18px) scale(0.94);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}
@keyframes aw-dialog-backdrop-in{
  from{opacity:0}
  to{opacity:1}
}
/* Reduced-motion: opacity only (no spatial motion) */
@keyframes aw-dialog-in-rm{
  from{opacity:0}
  to{opacity:1}
}
dialog.aw-dialog[open] .aw-dialog__inner{
  animation:aw-dialog-in 0.28s cubic-bezier(0.22,1,0.36,1) both;
}
dialog.aw-dialog[open]::backdrop{
  animation:aw-dialog-backdrop-in 0.24s ease both;
}
dialog.aw-dialog[open].aw-dialog--leaving{
  animation:none;
  opacity:0;
  transition:opacity 0.2s ease;
}
dialog.aw-dialog[open].aw-dialog--leaving .aw-dialog__inner{
  transform:translateY(12px) scale(0.96);
  transition:transform 0.2s cubic-bezier(0.22,1,0.36,1);
}
dialog.aw-dialog[open].aw-dialog--leaving::backdrop{
  animation:none;
  opacity:0;
  transition:opacity 0.2s ease;
}
dialog.aw-dialog::before{
  content:"";
  position:absolute;
  z-index:2;
  top:0;
  left:0;
  width:100%;
  height:3px;
  box-sizing:border-box;
  border-radius:16px 16px 0 0;
  /* Full-width strip; no fade to transparent (that read as a “short” bar on the right) */
  background:linear-gradient(90deg,var(--accent) 0%,var(--gold) 52%,var(--accent) 100%);
  pointer-events:none;
}
dialog.aw-dialog::backdrop{
  background:rgba(27,33,21,.48);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
@media (prefers-reduced-motion:reduce){
  /* Dialog: subtle fades only — skip scale/translate per prefers-reduced-motion */
  dialog.aw-dialog[open] .aw-dialog__inner{
    animation:aw-dialog-in-rm 0.17s linear both !important;
  }
  dialog.aw-dialog[open]::backdrop{
    animation:aw-dialog-backdrop-in 0.16s linear both !important;
  }
  dialog.aw-dialog[open].aw-dialog--leaving .aw-dialog__inner{
    transform:none !important;
    transition:none !important;
  }
  dialog.aw-dialog[open].aw-dialog--leaving,
  dialog.aw-dialog[open].aw-dialog--leaving::backdrop{
    transition:opacity 0.17s linear !important;
  }
  dialog.aw-dialog::backdrop{
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
}
.aw-dialog__inner{
  position:relative;
  z-index:0;
  padding:14px 16px 12px;
  max-height:min(520px,calc(90vh - 48px));
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
}
.aw-dialog__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
  padding-bottom:10px;
  border-bottom:1px solid var(--border);
  box-shadow:0 1px 0 rgba(255,255,255,.45);
}
.aw-dialog__title{
  margin:0;
  padding-top:0;
  font-family:"Cormorant Garamond","Libre Baskerville",Georgia,serif;
  font-size:clamp(1.2rem,2.8vw,1.38rem);
  font-weight:700;
  line-height:1.12;
  letter-spacing:-0.02em;
  color:var(--text);
}
.aw-dialog__watch-ref{
  margin:-4px 0 10px;
  padding:0 1px;
  font-size:13px;
  line-height:1.4;
  color:var(--muted);
  font-weight:600;
}
.aw-dialog__watch-ref:empty{
  display:none;
  margin:0;
}
.aw-dialog__close{
  flex-shrink:0;
  margin:-2px -2px 0 0;
  width:32px;
  height:32px;
  border:none;
  border-radius:10px;
  background:linear-gradient(180deg,var(--accent-soft) 0%,rgba(74,90,56,.06) 100%);
  color:var(--accent-press);
  font-size:22px;
  line-height:1;
  font-weight:300;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:background .18s ease,box-shadow .18s ease,transform .18s ease;
  box-shadow:0 1px 2px rgba(45,56,34,.06);
}
.aw-dialog__close:hover{
  background:var(--accent-fill);
  box-shadow:0 2px 8px rgba(45,56,34,.08);
}
.aw-dialog__close:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
@media (prefers-reduced-motion:reduce){
  .aw-dialog__close{transition-duration:.05s}
}
.aw-enquiry-form{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.aw-enquiry-form label{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:9px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--accent);
}
.aw-enquiry-form label>span.aw-enquiry-form__optional,
.aw-enquiry-form__label-line .aw-enquiry-form__optional{
  font-weight:600;
  font-size:10px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--faint);
}
.aw-enquiry-form input[type="email"],
.aw-enquiry-form textarea{
  font:inherit;
  font-size:15px;
  line-height:1.4;
  padding:8px 11px;
  border-radius:10px;
  border:1.5px solid var(--border-strong);
  background:var(--bg);
  color:var(--text);
  box-shadow:0 1px 2px rgba(45,56,34,.04) inset;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.aw-enquiry-form input[type="email"]::placeholder,
.aw-enquiry-form textarea::placeholder{
  color:var(--faint);
  opacity:1;
}
.aw-enquiry-form input[type="email"]:hover,
.aw-enquiry-form textarea:hover{border-color:var(--accent-border)}
.aw-enquiry-form input[type="email"]:focus,
.aw-enquiry-form textarea:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:
    0 1px 2px rgba(45,56,34,.05) inset,
    0 0 0 3px var(--accent-soft);
}
.aw-enquiry-form textarea{
  resize:vertical;
  max-height:min(28vh,200px);
}
.aw-enquiry-form__label-line{
  display:block;
}
.aw-enquiry-form__file-wrap{
  position:relative;
  display:flex;
  align-items:center;
  min-height:42px;
  padding:7px 9px;
  border-radius:10px;
  border:1.5px dashed var(--border-strong);
  background:var(--bg-inset);
  box-sizing:border-box;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease;
}
.aw-enquiry-form__file-wrap:hover{
  border-color:var(--accent-border);
  background:var(--accent-soft);
}
.aw-enquiry-form__file-wrap:focus-within{
  outline:none;
  border-color:var(--accent);
  border-style:solid;
  box-shadow:0 0 0 3px var(--accent-soft);
}
.aw-enquiry-form__file-input{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  cursor:pointer;
  font-size:0;
  z-index:2;
}
.aw-enquiry-form__file-ui{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 12px;
  width:100%;
  pointer-events:none;
}
.aw-enquiry-form__file-btn{
  display:inline-flex;
  align-items:center;
  padding:5px 12px;
  border-radius:8px;
  border:1.5px solid var(--accent);
  background:var(--accent-soft);
  color:var(--accent-press);
  font:inherit;
  font-size:11px;
  font-weight:600;
  letter-spacing:.02em;
}
.aw-enquiry-form__file-status{
  font-size:12px;
  color:var(--text-muted);
  flex:1;
  min-width:120px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.aw-enquiry-form__hint{
  font-size:11px;
  font-weight:500;
  line-height:1.35;
  color:var(--muted);
  margin:-3px 0 0;
  padding:7px 9px;
  border-radius:9px;
  background:rgba(255,255,255,.38);
  border:1px solid var(--border);
}
.aw-enquiry-form__actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
  padding-top:2px;
}
.aw-enquiry-form__actions .btn{
  flex:1;
  min-width:108px;
  border-radius:10px;
  padding:9px 12px;
  font-weight:600;
  font-size:15px;
  transition:transform .15s ease,box-shadow .15s ease;
}
.aw-enquiry-form__actions .btn.primary{
  box-shadow:0 2px 10px rgba(74,90,56,.22);
}
.aw-enquiry-form__actions .btn.primary:hover{
  box-shadow:0 4px 16px rgba(74,90,56,.28);
}
.aw-enquiry-form__actions .btn:active{transform:scale(.98)}
@media (prefers-reduced-motion:reduce){
  .aw-enquiry-form__actions .btn,
  .aw-enquiry-form__actions .btn.primary{transition:none}
  .aw-enquiry-form__actions .btn:active{transform:none}
}
.aw-enquiry-form__cancel{
  background:rgba(255,255,255,.45);
  border:1.5px solid var(--border-strong);
  color:var(--text-muted);
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}
.aw-enquiry-form__cancel:hover{
  background:var(--accent-soft);
  border-color:var(--accent-border);
  color:var(--text);
}
.aw-enquiry-form__feedback{
  font-size:12px;
  font-weight:500;
  line-height:1.35;
  margin:0;
  min-height:0;
}
.aw-enquiry-form__feedback:empty{
  display:none;
}
.aw-enquiry-form__feedback--error{
  color:#7a2828;
  padding:7px 9px;
  border-radius:8px;
  background:linear-gradient(180deg,rgba(143,45,45,.09) 0%,rgba(143,45,45,.04) 100%);
  border:1px solid rgba(143,45,45,.22);
}
.aw-enquiry-form.is-busy{
  opacity:.78;
  pointer-events:none;
  filter:grayscale(.06);
  transition:opacity .2s ease;
}
@media (max-height:560px){
  .aw-dialog__inner{
    max-height:94dvh;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-gutter:stable;
  }
}

/* Back — product detail gallery & reference hub (same control) */
.gallery-back-row{
  display:flex;
  justify-content:flex-end;
  margin-top:6px;
}
.gallery-back{
  margin:0;
  padding:8px 18px;
  font:inherit;
  font-size:14px;
  font-weight:650;
  letter-spacing:0.02em;
  color:var(--text);
  background:var(--surface);
  border:1px solid var(--border-strong);
  border-radius:10px;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  box-shadow:0 2px 8px rgba(45,56,34,.06);
  transform:translateZ(0);
  transition:
    color .2s cubic-bezier(0.4,0,0.2,1),
    border-color .2s cubic-bezier(0.4,0,0.2,1),
    background .2s cubic-bezier(0.4,0,0.2,1),
    box-shadow .28s cubic-bezier(0.34,1.35,0.64,1),
    transform .28s cubic-bezier(0.34,1.35,0.64,1);
}
.gallery-back:hover{
  color:var(--accent);
  border-color:var(--accent-border);
  background:var(--accent-soft);
  transform:translateY(-4px) scale(1.06);
  box-shadow:0 10px 28px rgba(45,56,34,.22),0 4px 12px rgba(45,56,34,.12);
}
.gallery-back:active{
  transform:translateY(-1px) scale(1.02);
  box-shadow:0 4px 14px rgba(45,56,34,.14);
  transition-duration:.12s;
}
.gallery-back:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
@media (prefers-reduced-motion:reduce){
  .gallery-back{
    transition:color .15s,border-color .15s,background .15s;
    box-shadow:none;
  }
  .gallery-back:hover,
  .gallery-back:active{
    transform:none;
    box-shadow:none;
  }
}

/* ── Reference hub (/rolex-database/) ── */
.reference-page{
  /* Desktop: compact gap under sticky brow — main.container has no extra top inset here */
  padding:calc(env(safe-area-inset-top, 0px) + clamp(52px, 7.5vh, 72px)) 0 max(4px, env(safe-area-inset-bottom, 0px));
}
@media (max-width:991px){
  .reference-page{
    /* Mobile: main.container already pads for the top bar — avoid double stacking */
    padding-top:6px;
    padding-bottom:max(4px, env(safe-area-inset-bottom, 0px));
  }
  /* Split intro into exactly two stacked lines (scoped to hero; no reliance on .reference-page ancestor) */
  .ref-hero-split__left .reference-intro--split-mobile .reference-intro__mob-line{
    display:block;
    width:100%;
    margin-left:auto;
    margin-right:auto;
  }
  .ref-hero-split__left .reference-intro--split-mobile .reference-intro__mob-line:not(:last-child){
    margin-bottom:0.06em;
  }
  /* Widen intro vs desktop cap — avoids 3-wrap on the second line on narrow phones */
  .ref-hero-split__left .reference-intro{
    max-width:100%;
    padding-left:0;
    padding-right:0;
    box-sizing:border-box;
  }
}
.ref-back{
  display:inline-flex;
  align-items:center;
  gap:0.6rem;
  font-family:Georgia,serif;
  font-size:0.82rem;
  font-style:italic;
  color:var(--muted);
  text-decoration:none;
  transition:color 0.2s;
}
.ref-back:hover{
  color:var(--accent);
}
.ref-back-circle{
  width:24px;
  height:24px;
  border-radius:50%;
  border:0.5px solid rgba(201,169,110,0.6);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  transition:border-color 0.2s;
}
.ref-back:hover .ref-back-circle{
  border-color:var(--accent);
}
.ref-hero-split{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,min(50%,480px));
  gap:clamp(1.25rem,3.5vw,2.75rem);
  align-items:stretch;
  margin-top:0;
  margin-bottom:1.5rem;
  padding-bottom:1.5rem;
  border-bottom:1px solid rgba(201,169,110,0.2);
  box-sizing:border-box;
}
.ref-hero-split__left{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  width:100%;
  min-width:0;
}
.ref-hero-split__left .ref-ornament{
  align-self:center;
}
.ref-hero-split__right{
  min-width:0;
  justify-self:end;
  width:100%;
  max-width:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.ref-ornament{
  display:block;
  flex-shrink:0;
  margin:0 auto 0.75rem;
}
.ref-ornament--wave{
  width:min(236px,100%);
  height:auto;
}
.ref-ornament--circle{
  width:min(176px,100%);
  height:auto;
}
.ref-title{
  margin:0 auto 0.75rem;
  padding:0;
  border:none;
  width:100%;
  max-width:32rem;
  font-family:Georgia,serif;
  font-weight:700;
  line-height:1.2;
  text-align:center;
}
.ref-title__line1{
  display:block;
  font-size:2.875rem;
  font-weight:700;
  color:var(--text);
}
.ref-title__line2{
  display:block;
  margin-top:0.2em;
  font-size:1.35rem;
  font-weight:400;
  color:var(--muted);
}
.ref-hero-split__left .reference-intro{
  margin:0 auto 0.75rem;
  max-width:520px;
  width:100%;
  font-family:Georgia,serif;
  font-style:italic;
  font-size:1.08rem;
  line-height:1.65;
  color:var(--muted);
  padding:0;
  text-align:center;
}
.ref-hero-split__left .ref-stats{
  justify-content:center;
  width:100%;
  max-width:520px;
  margin:0 auto;
}
.ref-stats{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:clamp(0.75rem,3vw,1.25rem);
  height:40px;
  margin:0;
}
.ref-stats__chunk{
  display:flex;
  flex-direction:row;
  align-items:baseline;
  gap:0.35rem;
  margin:0;
  line-height:1;
}
.ref-stats__num{
  font-family:Georgia,serif;
  font-weight:700;
  font-size:1.5rem;
  color:var(--text);
}
.ref-stats__label{
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:0.72rem;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--muted);
}
.ref-stats__sep{
  width:1px;
  height:26px;
  align-self:center;
  background:rgba(201,169,110,0.3);
  flex-shrink:0;
}
.ref-submit-wrap{
  width:100%;
  max-width:100%;
  margin-bottom:0;
  box-sizing:border-box;
}
.ref-submit-bar{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  width:100%;
  padding:12px 14px;
  border-radius:6px;
  border:1px solid var(--border-strong);
  background:linear-gradient(165deg,var(--surface) 0%,var(--bg-elevated) 48%,var(--panel) 100%);
  box-shadow:var(--shadow);
  box-sizing:border-box;
}
.ref-submit-form{
  width:100%;
  max-width:100%;
}
.ref-submit-form__inner{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:8px;
  width:100%;
}
.ref-submit-label{
  margin:0 0 2px;
  padding:0 0 6px;
  border-bottom:1px solid var(--border);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:9px;
  font-weight:700;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--accent);
  line-height:1.35;
  text-align:left;
}
.ref-submit-form__row{
  display:flex;
  flex-direction:column;
  gap:4px;
  width:100%;
}
.ref-submit-form__row--tools{
  flex-direction:row;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.ref-submit-form__row--footer{
  flex-direction:row;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.ref-submit-text-label{
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:9px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--accent);
}
.ref-submit-optional{
  font-weight:600;
  font-size:10px;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:var(--faint);
}
.ref-submit-textarea{
  font:inherit;
  font-size:14px;
  line-height:1.45;
  padding:7px 10px;
  border-radius:5px;
  border:1.5px solid var(--border-strong);
  background:var(--bg);
  color:var(--text);
  box-shadow:0 1px 2px rgba(45,56,34,0.04) inset;
  transition:border-color 0.18s ease,box-shadow 0.18s ease;
  min-height:68px;
  width:100%;
  resize:vertical;
  box-sizing:border-box;
}
.ref-submit-textarea:hover{
  border-color:var(--accent-border);
}
.ref-submit-textarea:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:
    0 1px 2px rgba(45,56,34,0.05) inset,
    0 0 0 3px var(--accent-soft);
}
.ref-submit-select,
.ref-submit-input{
  font:inherit;
  font-size:14px;
  line-height:1.4;
  padding:7px 10px;
  border-radius:5px;
  border:1.5px solid var(--border-strong);
  background:var(--bg);
  color:var(--text);
  box-shadow:0 1px 2px rgba(45,56,34,0.04) inset;
  transition:border-color 0.18s ease,box-shadow 0.18s ease;
  min-height:42px;
  box-sizing:border-box;
}
.ref-submit-select{
  cursor:pointer;
  flex:1 1 160px;
  min-width:min(100%,140px);
  max-width:100%;
}
.ref-submit-form__row--tools .ref-submit-file-wrap{
  flex:1 1 200px;
  min-width:min(100%,160px);
}
.ref-submit-select:hover,
.ref-submit-input:hover{
  border-color:var(--accent-border);
}
.ref-submit-select:focus,
.ref-submit-input:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:
    0 1px 2px rgba(45,56,34,0.05) inset,
    0 0 0 3px var(--accent-soft);
}
.ref-submit-input::placeholder{
  color:var(--faint);
  opacity:1;
}
.ref-submit-form__row--footer .ref-submit-input{
  flex:1 1 180px;
  min-width:min(100%,160px);
}
.ref-submit-file-wrap{
  position:relative;
  display:flex;
  align-items:center;
  min-height:42px;
  padding:6px 8px;
  border-radius:5px;
  border:1.5px dashed var(--border-strong);
  background:var(--surface);
  box-sizing:border-box;
  cursor:pointer;
  transition:border-color 0.18s ease,background 0.18s ease;
}
.ref-submit-file-wrap:hover{
  border-color:var(--accent-border);
  background:var(--accent-soft);
}
.ref-submit-file-wrap:focus-within{
  outline:none;
  border-color:var(--accent);
  border-style:solid;
  box-shadow:0 0 0 3px var(--accent-soft);
}
.ref-submit-file-input{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  cursor:pointer;
  font-size:0;
  z-index:2;
}
.ref-submit-file-ui{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 10px;
  width:100%;
  pointer-events:none;
}
.ref-submit-file-btn{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:5px;
  border:1.5px solid var(--accent);
  background:var(--accent-soft);
  color:var(--accent-press);
  font:inherit;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.02em;
}
.ref-submit-file-status{
  font-size:12px;
  color:var(--text);
  flex:1;
  min-width:100px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ref-submit-submit.btn.primary{
  border-radius:5px;
  padding:8px 16px;
  font-size:14px;
  font-weight:600;
  box-shadow:0 2px 10px rgba(74,90,56,0.18);
  flex-shrink:0;
  min-height:42px;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
.ref-submit-submit.btn.primary:hover{
  box-shadow:0 4px 16px rgba(74,90,56,0.26);
}
.ref-submit-thanks{
  margin:0;
  width:100%;
  text-align:left;
  font-family:"Cormorant Garamond","Libre Baskerville",Georgia,serif;
  font-style:italic;
  font-size:1rem;
  line-height:1.5;
  color:var(--muted);
  padding:2px 0;
}
.ref-submit-errors{
  margin:0;
  width:100%;
  font-size:12px;
  font-weight:500;
  line-height:1.35;
  color:#7a2828;
  padding:7px 9px;
  border-radius:5px;
  background:linear-gradient(180deg,rgba(143,45,45,0.09) 0%,rgba(143,45,45,0.04) 100%);
  border:1px solid rgba(143,45,45,0.22);
  order:0;
}
.reference-section{
  margin-bottom:3rem;
  border:none;
  box-shadow:none;
}
#rolex-database{
  border:none;
  outline:none;
  box-shadow:none;
}
.reference-section--wide{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding-left:clamp(10px,2.5vw,36px);
  padding-right:clamp(10px,2.5vw,36px);
  box-sizing:border-box;
}
.reference-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  width:100%;
  box-sizing:border-box;
  margin-bottom:2rem;
  padding:14px 16px;
  border-radius:12px;
  border:1px solid var(--border-strong);
  background:linear-gradient(165deg,var(--surface) 0%,var(--bg-elevated) 48%,var(--panel) 100%);
  box-shadow:var(--shadow);
}
.ref-tab{
  flex:1 1 auto;
  min-width:7.5rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  margin:0;
  padding:11px 14px;
  min-height:2.75rem;
  background:rgba(74,90,56,0.11);
  border:1px solid rgba(201,169,110,0.5);
  border-radius:8px;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
  line-height:1.25;
  color:var(--muted);
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
  transition:
    background 0.3s ease,
    border-color 0.3s ease,
    color 0.3s ease;
}
.ref-tab:hover:not(.active){
  background:rgba(201,169,110,0.24);
  border-color:rgba(139,115,70,0.55);
  color:var(--text);
}
.ref-tab.active{
  background:var(--accent);
  border-color:var(--accent-press);
  color:var(--accent-fg);
  font-weight:700;
}
.ref-tab:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
.ref-grid{
  columns:4;
  column-gap:8px;
  border:none;
  box-shadow:none;
  /* Masonry via columns only — natural image heights, no uniform tiles */
}
@media (min-width:1200px){
  .reference-section--wide .ref-grid{columns:5}
}
@media (min-width:1600px){
  .reference-section--wide .ref-grid{columns:6}
}
.ref-thumb{
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  height:auto;
  display:block;
  margin:0 0 8px;
  cursor:pointer;
  transition:opacity 0.2s;
  break-inside:avoid;
  border:0;
  outline:none;
}
.ref-thumb:hover{opacity:0.82}
.reference-panel{
  display:none;
  border:none;
  outline:none;
  box-shadow:none;
}
.reference-panel.active{
  display:block;
}
.ref-empty{
  margin:0;
  padding:0;
  font-style:italic;
  color:var(--muted);
}
.ref-lightbox{
  display:none;
  position:fixed;
  inset:0;
  z-index:1100;
}
.ref-lightbox.open{
  display:block;
}
.ref-lb-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.92);
  cursor:pointer;
}
.ref-lb-panel{
  position:relative;
  z-index:1;
  min-height:min-content;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  padding:36px 16px 28px;
  box-sizing:border-box;
  pointer-events:none;
  margin-top:clamp(-28px,-4vh,-8px);
}
.ref-lb-panel > *{
  pointer-events:auto;
}
.ref-lb-toolbar{
  display:flex;
  align-items:center;
  gap:10px;
  color:rgba(255,255,255,0.85);
  font-size:13px;
  font-variant-numeric:tabular-nums;
}
.ref-lb-toolbar button{
  width:36px;
  height:36px;
  border:1px solid rgba(255,255,255,0.35);
  border-radius:6px;
  background:rgba(255,255,255,0.08);
  color:#fff;
  font-size:20px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  transition:background .3s ease,border-color .3s ease;
}
.ref-lb-toolbar button:hover{
  background:rgba(255,255,255,0.16);
  border-color:rgba(255,255,255,0.5);
}
.ref-lb-toolbar button:disabled{
  opacity:0.35;
  cursor:not-allowed;
}
.ref-lb-zoom-pct{
  min-width:3.2em;
  text-align:center;
}
.ref-lb-stage-wrap{
  position:relative;
  width:min(calc(100vw - 20px),1760px);
  height:min(82vh,980px);
  flex-shrink:0;
  border-radius:2px;
  pointer-events:auto;
}
.ref-lb-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:auto;
  min-width:clamp(56px, 22vw, 140px);
  height:min(72vh, calc(100% - 28px));
  max-height:100%;
  margin:0;
  padding:0 clamp(10px, 3vw, 20px);
  border:none;
  outline:none;
  border-radius:3px;
  background:transparent;
  color:transparent;
  opacity:1;
  cursor:pointer;
  font-size:0;
  line-height:1;
  font-weight:400;
  display:none;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  -webkit-tap-highlight-color:transparent;
  transition:opacity 0.18s,background 0.18s,color 0.18s;
}
.ref-lb-nav::before{
  content:"‹";
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:54px;
  border-radius:10px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.22);
  font-size:22px;
  font-weight:700;
  color:rgba(255,255,255,.82);
  box-shadow:0 2px 10px rgba(0,0,0,.18);
  flex-shrink:0;
  pointer-events:none;
  transition:background .18s, color .18s, border-color .18s;
}
.ref-lb-nav--next::before{content:"›"}
.ref-lb-nav:hover::before{
  background:rgba(255,255,255,.22);
  border-color:rgba(255,255,255,.45);
  color:#fff;
}
.ref-lb-nav:hover{
  opacity:1;
  background:transparent;
}
.ref-lb-stage.open .ref-lb-nav,
.ref-lb-stage--zoomed.open .ref-lb-nav,
#refLightbox.open .ref-lb-nav{
  display:flex !important;
}
.ref-lb-nav:focus-visible{
  outline:none;
  background:transparent;
}
.ref-lb-nav:focus-visible::before{
  outline:2px solid rgba(255,255,255,.45);
  outline-offset:2px;
}
.ref-lb-nav--prev{
  left:0;
  justify-content:flex-start;
  padding-right:clamp(14px, 4vw, 28px);
  padding-left:max(10px, env(safe-area-inset-left, 0px));
}
.ref-lb-nav--next{
  right:0;
  justify-content:flex-end;
  padding-left:clamp(14px, 4vw, 28px);
  padding-right:max(10px, env(safe-area-inset-right, 0px));
}
.ref-lb-stage{
  width:100%;
  height:100%;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  padding-top:4px;
  box-sizing:border-box;
  border-radius:2px;
  cursor:zoom-in;
  touch-action:none;
}
.ref-lb-stage.ref-lb-stage--zoomed{
  cursor:grab;
}
.ref-lb-stage.ref-lb-stage--dragging{
  cursor:grabbing;
}
.ref-lb-img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  display:block;
  transform-origin:center center;
  will-change:transform;
  box-shadow:none;
}
.ref-lb-hint{
  margin:0;
  max-width:min(90vw,520px);
  font-size:11px;
  line-height:1.35;
  color:rgba(255,255,255,0.36);
  text-align:center;
}
.ref-lb-close{
  position:fixed;
  top:18px;
  right:22px;
  z-index:2;
  background:none;
  border:none;
  color:#fff;
  font-size:32px;
  line-height:1;
  cursor:pointer;
  opacity:0.78;
  transition:opacity 0.15s;
  padding:4px 8px;
  pointer-events:auto;
}
.ref-lb-close:hover{opacity:1}
.ref-lb-close:focus-visible{
  outline:2px solid rgba(255,255,255,0.7);
  outline-offset:2px;
}
body.ref-lb-open{
  overflow:hidden;
}
@media (max-width:768px){
  /* Overlay fills viewport; panel + stage must fit inside dvh so flex centering isn't defeated by overflow */
  #lightbox.lb-open,
  .ref-lightbox.open{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    width:100%;
    height:100%;
    min-height:100vh;
    min-height:100dvh;
    min-height:100svh;
    padding-top:env(safe-area-inset-top,0px);
    padding-right:env(safe-area-inset-right,0px);
    padding-bottom:env(safe-area-inset-bottom,0px);
    padding-left:env(safe-area-inset-left,0px);
  }
  .lb-toolbar,
  .ref-lb-toolbar{
    display:none !important;
  }
  .lb-stage,
  .ref-lb-stage{
    overflow:visible;
  }
  .lb-stage-wrap,
  .ref-lb-stage-wrap{
    overflow:visible;
  }
  .lb-panel,
  .ref-lb-panel{
    margin-top:0;
    flex-shrink:0;
    max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));
    padding:clamp(12px,3vw,20px) 12px clamp(14px,3vh,22px);
  }
  .ref-lb-hint{
    flex-shrink:0;
  }
  .ref-lb-stage-wrap{
    height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 80px);
    max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 80px);
    flex-shrink:0;
    width:calc(100vw - 24px);
  }
  .lb-stage-wrap{
    height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 80px);
    max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 80px);
    flex-shrink:0;
    width:100%;
  }
  /* Quieter chrome on small screens — hit zones stay large, visuals recede */
  .ref-lb-toolbar,
  .lb-toolbar{
    color:rgba(255,255,255,0.72);
  }
  .ref-lb-toolbar button,
  .lb-toolbar button{
    border-color:rgba(255,255,255,0.22);
    background:rgba(255,255,255,0.05);
  }
  .lb-nav,
  .ref-lb-nav{
    color:transparent;
  }
  .ref-lb-nav{
    display:none !important;
  }
  .ref-lb-hint{
    display:none !important;
  }
  .lb-close,
  .ref-lb-close{
    top:calc(18px + env(safe-area-inset-top,0px));
    right:calc(22px + env(safe-area-inset-right,0px));
  }
}

/* ── Journal (/posts/) ── */
body.page-journal{
  --journal-inline-inset:max(clamp(8px, 1.8vw, 14px), env(safe-area-inset-left, 0px));
  --journal-rule-fade:linear-gradient(
    90deg,
    rgba(201,169,110,0.38) 0,
    transparent var(--journal-inline-inset),
    transparent calc(100% - var(--journal-inline-inset)),
    rgba(201,169,110,0.38) 100%
  );
}
.journal-page{
  position:relative;
  isolation:isolate;
  padding:calc(clamp(64px, 11vh, 96px) + 4px) 0 4px;
  max-width:1000px;
  margin:0 auto;
}
body.page-journal .journal-page{
  padding-top:max(16px, env(safe-area-inset-top, 0px));
  padding-right:clamp(1rem, 4vw, 2.25rem);
  padding-bottom:1.25rem;
  padding-left:max(0px, env(safe-area-inset-left, 0px));
  margin-left:clamp(-10px, -2.5vw, -6px);
  margin-right:auto;
  width:calc(100% + clamp(6px, 2.5vw, 10px));
  max-width:min(1010px, calc(1000px + clamp(6px, 2.5vw, 10px)));
}
.workshop-bg{
  background-image:url('images/workshop-bg.png');
  background-position:right center;
  background-repeat:no-repeat;
  background-size:contain;
  opacity:0.48;
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  z-index:-1;
  pointer-events:none;
}
@media (max-width:768px){
  .workshop-bg{
    transform:scale(0.5);
    transform-origin:right center;
  }
}
.journal-back{
  margin-bottom:0.2rem;
}
body.page-journal .journal-header-text .journal-back{
  margin-top:0;
  margin-bottom:0.3rem;
}
body.page-journal .journal-header-text .ref-title{
  margin-top:0;
  margin-bottom:0.45rem;
}
body.page-journal .journal-header{
  padding:0.75rem 0 1.25rem;
}
body.page-journal .journal-header-text{
  max-width:min(42rem,100%);
  margin-left:clamp(-1.65rem, -4.5vw, 0px);
  margin-right:auto;
}
body.page-journal .journal-header-text .reference-intro{
  margin-top:0.25rem;
  margin-bottom:0;
  font-size:clamp(8px,1.85vw,0.94rem);
  line-height:1.36;
  letter-spacing:-0.02em;
  display:flex;
  flex-direction:column;
  align-items:center;
  width:100%;
  text-align:center;
}
body.page-journal .journal-header-text .reference-intro .journal-intro-line{
  display:block;
  white-space:nowrap;
  text-align:center;
  max-width:100%;
}
body.page-journal .journal-count--above-list{
  align-self:flex-start;
  width:max-content;
  max-width:calc(100% - clamp(10px, 3vw, 24px));
  margin-left:var(--journal-inline-inset);
  margin-right:auto;
  margin-top:clamp(1.15rem,3vw,1.85rem);
  margin-bottom:0.2rem;
  justify-content:flex-start;
  flex-direction:column;
  height:auto;
  gap:0.15rem;
  padding:0.5rem 1rem 0.55rem;
  border:1px solid rgba(201,169,110,0.42);
  border-radius:6px;
  background:rgba(240,232,204,0.35);
  box-sizing:border-box;
}
body.page-journal .journal-count--above-list .ref-stats__chunk{
  flex-direction:column;
  align-items:flex-start;
  gap:0.1rem;
}
body.page-journal .journal-header-text .ref-ornament--wave{
  margin-bottom:0.3rem;
}
body.page-journal .journal-header-text .ref-ornament:not(.ref-ornament--wave){
  margin-bottom:0.35rem;
}
.journal-page__header{
  border-bottom:1px solid rgba(201,169,110,0.2);
  padding-bottom:1.5rem;
  margin-bottom:2rem;
}
body.page-journal .journal-page__header{
  position:relative;
  border-bottom:none;
  padding-bottom:0.65rem;
  margin-bottom:1.25rem;
  display:flex;
  flex-direction:column;
  align-items:stretch;
}
body.page-journal .journal-page__header::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:100vw;
  height:1px;
  background:var(--journal-rule-fade);
  pointer-events:none;
}
.journal-header{
  position:relative;
  text-align:center;
  padding:3rem 2rem;
  background:transparent;
}
.journal-header-text{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  min-width:0;
}
.journal-header-text .journal-orn,
.journal-header-text .journal-count{
  text-align:center;
}
.journal-header-text .ref-title{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
body.page-journal .journal-header-text .ref-title__line1,
body.page-journal .journal-header-text .ref-title__line2{
  text-align:center;
  white-space:nowrap;
  max-width:100%;
}
body.page-journal .journal-header-text .ref-title__line1{
  font-size:2.875rem;
  letter-spacing:-0.02em;
}
body.page-journal .journal-header-text .ref-title__line2{
  font-size:1.35rem;
  font-weight:400;
  letter-spacing:-0.015em;
  margin-top:0.2em;
}
@media (max-width:768px){
  body.page-journal .journal-header-text .ref-title__line1{
    font-size:clamp(1.5rem,7.5vw,2.875rem);
    letter-spacing:-0.03em;
  }
  body.page-journal .journal-header-text .ref-title__line2{
    font-size:clamp(0.98rem,4.95vw,1.35rem);
    letter-spacing:-0.025em;
    margin-top:0.14em;
  }
}
.journal-header-text .ref-ornament{
  margin-left:auto;
  margin-right:auto;
}
.journal-header-text .reference-intro{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
  max-width:36rem;
}
.journal-header-text .ref-stats{
  justify-content:center;
  margin-left:auto;
  margin-right:auto;
  max-width:36rem;
}
.journal-orn-watch{
  display:block;
  margin:0 auto 0.35rem;
  opacity:0.32;
}
.journal-list{
  list-style:none;
  padding:0;
  margin:0;
}
body.page-journal .journal-list{
  padding-left:var(--journal-inline-inset);
}
/*
  Journal post list (/posts/): hover lives in this file only — linked from
  templates/base.html → {% static 'site.css' %}. Template:
  templates/journal/post_list.html — repeating row is <li class="journal-card">
  inside {% for post in posts %}. Do not add per-post inline styles; change
  .journal-card / .journal-card__title a rules here so new posts inherit.
*/
.journal-card{
  display:flex;
  align-items:flex-start;
  gap:clamp(1rem,3vw,1.5rem);
  padding-top:1.35rem;
  padding-right:0;
  padding-bottom:1.35rem;
  padding-left:0;
  border-left:2px solid transparent;
  border-bottom:1px solid rgba(201,169,110,0.2);
  box-sizing:border-box;
  cursor:pointer;
  transition:padding-left 0.3s ease,border-color 0.3s ease;
}
body.page-journal .journal-card{
  position:relative;
  border-bottom:none;
  padding-top:1rem;
  padding-bottom:1rem;
}
body.page-journal .journal-card:not(:last-child)::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:100vw;
  height:1px;
  background:var(--journal-rule-fade);
  pointer-events:none;
}
.journal-card:hover{
  padding-left:16px;
  border-left-color:#c9a96e;
}
.journal-card:hover .journal-card__title a{
  color:#c9a96e;
}
.journal-card:last-child{
  border-bottom:none;
}
body.page-journal .journal-card:first-child{
  padding-top:0.85rem;
}
.journal-card__media-link{
  display:block;
  flex:0 0 clamp(160px,32vw,260px);
  text-decoration:none;
  color:inherit;
  border-radius:0.45rem;
  overflow:hidden;
  background:var(--media-bg);
}
.journal-card__media{
  height:168px;
  margin:0;
}
.journal-card__media img{
  width:100%;
  height:168px;
  object-fit:cover;
  display:block;
}
.journal-card__body{
  flex:1;
  min-width:0;
}
.journal-card__meta{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:flex-start;
  gap:0.35rem 0.45rem;
  margin:0 0 0.35rem;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:0.78rem;
  letter-spacing:0.02em;
  text-transform:uppercase;
  color:var(--muted);
}
.journal-card__meta time{
  color:var(--muted);
}
.journal-card__meta-sep{
  opacity:0.55;
  user-select:none;
}
.journal-card__read{
  color:var(--muted);
}
.journal-card__title{
  margin:0 0 0.4rem;
  font-family:Georgia,serif;
  font-size:1.35rem;
  font-weight:600;
  line-height:1.25;
}
.journal-card__title a{
  color:var(--text);
  text-decoration:none;
  transition:color 0.3s ease;
}
.journal-card__title a:hover{
  color:#c9a96e;
}
.journal-card__excerpt{
  margin:0;
  font-size:0.95rem;
  line-height:1.55;
  color:var(--muted);
}
body.page-journal .journal-card__meta{
  font-size:0.84rem;
  margin-bottom:0.45rem;
}
body.page-journal .journal-card__title{
  font-size:clamp(1.48rem,2.8vw,1.72rem);
  margin-bottom:0.45rem;
  line-height:1.22;
}
body.page-journal .journal-card__excerpt{
  font-size:1.06rem;
  line-height:1.58;
}
.journal-empty{
  margin:2rem 0;
  font-style:italic;
  color:var(--muted);
}
.journal-detail-cover{
  margin:0 0 1.25rem;
  padding:0;
}
.journal-detail-cover img{
  width:100%;
  height:auto;
  display:block;
  border-radius:0.4rem;
}
.journal-detail-header{
  margin-bottom:1.25rem;
}
.journal-detail-date{
  display:block;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:0.78rem;
  color:var(--muted);
  margin-bottom:0.5rem;
}
.journal-detail-title{
  margin:0;
  font-family:Georgia,serif;
  font-size:clamp(1.6rem,4vw,2.1rem);
  line-height:1.25;
  color:var(--text);
  font-weight:600;
}
.journal-article-body{
  font-family:Georgia,serif;
  font-size:1.05rem;
  line-height:1.85;
  max-width:680px;
  margin:0 auto;
  color:var(--text);
}
.journal-article-body p{
  margin:0 0 1em;
}
.journal-article-body p:last-child{
  margin-bottom:0;
}
.journal-article-body a{
  color:var(--accent);
  text-decoration:underline;
  text-decoration-color:rgba(74,90,56,.35);
  text-underline-offset:2px;
}
.journal-article-body a:hover{
  color:var(--accent-press);
  text-decoration-color:var(--accent);
}

/* ── Mobile drawer chrome (hidden by default; shown via ≤991px rules below) ── */
.mobile-nav-topbar,
.mobile-nav-hamburger,
.mobile-nav-backdrop{
  display:none;
}
.nav-shell{display:block}
.mobile-nav-hamburger{
  appearance:none;
  margin:0;
  padding:6px;
  border:0;
  background:transparent;
  cursor:pointer;
  border-radius:8px;
  color:var(--accent);
  -webkit-tap-highlight-color:transparent;
}
.mobile-nav-hamburger:focus-visible{
  outline:2px solid #c5a358;
  outline-offset:3px;
}
.mobile-nav-hamburger__bars{display:block;line-height:0}
.mobile-nav-hamburger__bars span{
  display:block;
  width:22px;
  height:2px;
  margin:5px 0;
  border-radius:1px;
  background:var(--accent);
  transform-origin:center;
  transform:translate3d(0,0,0) rotate(0deg);
  opacity:1;
  transition:
    transform 0.58s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.48s cubic-bezier(0.22, 1, 0.36, 1),
    background 0.28s ease;
}
.nav-shell.mobile-drawer-open .mobile-nav-hamburger__bars span:nth-child(1){
  transform:translate3d(0,7px,0) rotate(45deg);
}
.nav-shell.mobile-drawer-open .mobile-nav-hamburger__bars span:nth-child(2){
  opacity:0;
  transform:translate3d(0,0,0) scaleX(0.15);
}
.nav-shell.mobile-drawer-open .mobile-nav-hamburger__bars span:nth-child(3){
  transform:translate3d(0,-7px,0) rotate(-45deg);
}

/* ═══ Responsive layout (fluid container + breakpoints; drawer nav ≤991px) ═══ */

@media (max-width:920px){
  .grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width:620px){
  .grid{
    grid-template-columns:1fr;
    gap:clamp(12px, 3.2vw, 16px);
  }
  .explore-tiles{
    grid-template-columns:1fr;
  }
}
@media (max-width:500px){
  .explore-tile__title{font-size:17px}
}
@media (max-width:540px){
  .section-head--shop{align-items:flex-end}
  .shop-head-left{width:100%}
  .shop-head-trailing{
    width:100%;
    margin-left:0;
    justify-content:flex-end;
  }
}
@media (max-width:760px){
  .scroll-step-up{
    right:14px;
    width:44px;
    height:44px;
    font-size:20px;
  }
}
@media (max-width:800px){
  #certificates .cert__layout{
    grid-template-columns:1fr;
    gap:clamp(24px,5vw,36px);
  }
  #certificates .cert__main,
  #certificates .cert__head{
    max-width:none;
  }
  #certificates .cert__figure{
    max-width:min(100%,480px);
    margin-left:auto;
    margin-right:auto;
  }
}
@media (max-width:480px){
  #check-your-watch .btn--send-photos{
    font-size:0.9rem;
    padding:9px 16px;
    width:100%;
    max-width:20rem;
  }
}
@media (max-width:900px){
  .check-your-watch__main .cs-inner{
    max-width:100%;
    position:static;
    top:0;
  }
  .check-your-watch__visual{
    /* Source order is main → visual → warnings; promote visual above main in the flex stack. */
    order:-1;
    max-width:min(100%,520px);
    margin:0 auto;
  }
  .check-your-watch__warnings{
    width:100%;
    margin-left:0;
    padding:clamp(10px,2vw,16px) clamp(14px,4vw,22px) clamp(6px,1.5vw,12px);
  }
}
@media (max-width:800px){
  .cs-about{
    grid-template-columns:1fr;
  }
}
@media (max-width:768px){
  /* Mobile only: pull About video closer to square so the copy stays above the fold. */
  .cs-about__video-wrap{
    aspect-ratio:1 / 1;
    width:100%;
    max-height:58vh;
  }
}
@media (max-width:768px){
  /* Narrow screens: stack common flex rows (project classes — not generic .grid) */
  .content-section{
    padding:48px 0 40px;
  }
  .section-head,
  .section-head--shop{
    flex-direction:column;
    align-items:stretch;
    gap:14px;
  }
  .shop-head-left,
  .shop-head-trailing{
    width:100%;
    max-width:100%;
    justify-content:flex-start;
  }
  /* Tighter shop header → product grid on small screens only */
  .section-head--shop{
    gap:10px;
    padding-bottom:5px;
  }
  /* Sold-archive: pull "Our works" + piece count tight */
  .shop-archive-head{
    gap:5px;
  }
  .shop-archive-head h3{
    margin:0;
    padding:0;
  }
  #shop > .grid{
    margin-top:8px;
  }
  .card-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .card-actions > *{
    width:100%;
    max-width:100%;
    justify-content:center;
  }
  .explore-tiles{
    grid-template-columns:1fr;
  }

  /* Floated article images: full-width row, text below */
  .article-img{
    float:none;
    display:block;
    margin:0 auto 15px;
    width:100%;
    max-width:100%;
  }

  /* Readable type scale on phones (16px body — mobile readability) */
  h1{font-size:26px !important;}
  h2{font-size:22px !important;}
  h3{font-size:18px !important;}
  body,
  main p,
  .article-text{
    font-size:16px !important;
    line-height:1.6 !important;
  }

  /* Text + image grid: image always above copy */
  .grid-block{
    grid-template-columns:1fr;
    gap:22px;
  }
  .grid-block > .grid-img{
    grid-row:1;
  }
  .grid-block > .grid-text{
    grid-row:2;
  }
}
@media (max-width:480px){
  .sticky-nav-container .nav-link{
    font-size:9px;
    min-height:44px;
    padding:12px 10px;
  }
}
@media (max-width:640px){
  .conv-prices{padding:20px 16px 18px}
}
@media (max-width:720px){
  .conv-body__row{
    grid-template-columns:1fr;
    gap:28px;
  }
}
@media (max-width:600px){
  .conv-carousel__swipe{top:8px;padding:6px 12px}
  .conv-carousel__swipe-inner{gap:8px}
  .conv-carousel__swipe-arrow,
  .conv-carousel__nav .conv-carousel__swipe-arrow{width:18px;height:18px}
  .conv-carousel__item{flex:0 0 calc(100vw - 36px)}
}
@media (max-width:600px){
  .conv-facts{
    grid-template-columns:repeat(4,1fr);
    border-radius:8px;
  }
  .conv-fact{
    padding:14px 6px;
  }
  .conv-fact__num{
    font-size:17px;
    line-height:1.1;
  }
  .conv-fact__label{
    font-size:10px;
    line-height:1.3;
  }
}
@media (max-width:900px){
  .ref-hero-split{
    grid-template-columns:1fr;
    gap:1.5rem;
  }
  .ref-hero-split__right{
    justify-self:stretch;
    order:2;
  }
  .ref-hero-split__left{
    order:1;
  }
}
@media (max-width:991px){
  .ref-submit-form__row--tools{
    flex-direction:column;
    align-items:stretch;
  }
  .ref-submit-form__row--footer{
    flex-direction:column;
    align-items:stretch;
  }
  .ref-submit-select,
  .ref-submit-form__row--footer .ref-submit-input,
  .ref-submit-file-wrap,
  .ref-submit-submit.btn.primary{
    width:100%;
    min-width:0;
    flex:1 1 auto;
  }
  .ref-submit-file-wrap{
    min-height:42px;
    max-height:42px;
    height:42px;
    padding:6px 8px;
    flex:0 0 auto;
    align-items:center;
  }
  .ref-submit-file-btn{
    padding:4px 10px;
    font-size:11px;
  }
}
@media (max-width:900px){
  .ref-grid{columns:3}
}
@media (max-width:600px){
  .ref-grid{columns:2}
}
@media (max-width:640px){
  .journal-card{
    flex-direction:column;
  }
  .journal-card__media-link{
    flex:none;
    width:100%;
    max-width:100%;
  }
}

@media (max-width:991px){
  .nav-shell{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:1050;
    pointer-events:none;
  }
  .nav-shell > *{pointer-events:auto}
  html{
    scroll-padding-top:calc(52px + 12px + env(safe-area-inset-top,0px));
  }
  .mobile-nav-topbar{
    display:flex;
    align-items:center;
    min-height:52px;
    padding:6px max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left));
    box-sizing:border-box;
    background:rgba(245,238,216,0.15);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    border-bottom:none;
    flex-shrink:0;
    position:relative;
    z-index:1052;
  }
  .mobile-nav-hamburger{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
  }
  .mobile-nav-hamburger__bars span{
    background:#1b2115;
    transform-origin:center;
    transform:translate3d(0,0,0) rotate(0deg);
    opacity:1;
    transition:
      transform 0.58s cubic-bezier(0.22, 1, 0.36, 1),
      opacity 0.48s cubic-bezier(0.22, 1, 0.36, 1),
      background 0.28s ease;
  }
  .nav-shell.mobile-drawer-open .mobile-nav-hamburger__bars span{
    background:#1b2115;
  }
  .nav-shell.mobile-drawer-open .mobile-nav-hamburger__bars span:nth-child(1){
    transform:translate3d(0,7px,0) rotate(45deg);
  }
  .nav-shell.mobile-drawer-open .mobile-nav-hamburger__bars span:nth-child(2){
    opacity:0;
    transform:translate3d(0,0,0) scaleX(0.15);
  }
  .nav-shell.mobile-drawer-open .mobile-nav-hamburger__bars span:nth-child(3){
    transform:translate3d(0,-7px,0) rotate(-45deg);
  }
  .mobile-nav-backdrop{
    display:block;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    top:calc(52px + env(safe-area-inset-top,0px));
    z-index:1048;
    background:rgba(0,0,0,0.25);
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
    opacity:0;
    pointer-events:none;
    visibility:hidden;
    transition:opacity .28s ease,visibility 0s linear .28s;
  }
  body.mobile-nav-drawer-open .mobile-nav-backdrop{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition:opacity .28s ease,visibility 0s linear 0s;
  }

  .container,
  .site-footer .container{
    max-width:100%;
    width:100%;
    margin-left:0;
    margin-right:0;
    padding-left:max(20px,env(safe-area-inset-left));
    padding-right:max(20px,env(safe-area-inset-right));
    box-sizing:border-box;
  }
  main.container{
    padding-top:calc(54px + env(safe-area-inset-top,0px));
    box-sizing:border-box;
  }

  main.container > section.hero.hero--redesign:first-of-type{
    margin-left:calc(-1 * max(20px,env(safe-area-inset-left)));
    margin-right:calc(-1 * max(20px,env(safe-area-inset-right)));
    width:auto;
    max-width:none;
  }

  body.page-journal .journal-page{padding-top:12px}

  .conv-strip,
  .conv-strip--hero{
    width:100% !important;
    max-width:100%;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box;
  }
  .reference-section--wide{
    width:100% !important;
    max-width:100%;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:max(20px,env(safe-area-inset-left));
    padding-right:max(20px,env(safe-area-inset-right));
    box-sizing:border-box;
  }

  .faq-container{
    max-width:100%;
    margin-left:0;
    margin-right:0;
    padding-left:12px;
    padding-right:12px;
    box-sizing:border-box;
  }

  body.page-journal .journal-page{
    margin-left:0 !important;
    width:100% !important;
    max-width:100% !important;
    padding-left:max(20px,env(safe-area-inset-left));
    padding-right:max(20px,env(safe-area-inset-right));
    box-sizing:border-box;
  }
  body.page-journal .journal-header-text{
    margin-left:0 !important;
    max-width:100%;
  }
  body.page-journal .journal-count--above-list{
    margin-left:0 !important;
    max-width:100%;
  }
  body.page-journal .journal-list{padding-left:0 !important}

  .sticky-nav-container,
  .sticky-nav-container.is-revealed,
  .sticky-nav-container.is-revealed.collapsed{
    opacity:1 !important;
    pointer-events:none;
    transform:none !important;
    left:0 !important;
    top:calc(52px + env(safe-area-inset-top,0px)) !important;
    right:auto;
    width:auto;
    max-width:none;
    align-items:flex-start;
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
    border-radius:0 !important;
    overflow:visible;
  }
  #main-nav{
    position:fixed;
    top:calc(52px + env(safe-area-inset-top,0px));
    left:0;
    width:auto;
    min-width:200px;
    max-width:80vw;
    height:auto;
    max-height:calc(100dvh - 52px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    background:transparent;
    border:none;
    padding:12px 0 12px max(16px,env(safe-area-inset-left));
    display:flex;
    flex-direction:column;
    gap:8px;
    transform:translateX(-110%);
    transition:transform 0.42s cubic-bezier(0.33,1,0.36,1);
    z-index:1051;
    box-shadow:none;
    pointer-events:none;
  }
  .nav-shell.mobile-drawer-open #main-nav{
    transform:translateX(0);
    pointer-events:auto;
  }
  .nav-items-wrapper{
    display:flex;
    flex-direction:column;
    gap:8px;
    position:static !important;
    left:auto !important;
    top:auto !important;
    bottom:auto !important;
    width:auto !important;
    max-width:none !important;
    max-height:none !important;
    min-height:0;
    padding:0 !important;
    margin:0 !important;
    overflow:visible !important;
    background:transparent !important;
    box-shadow:none !important;
    transform:none !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    scrollbar-width:auto;
    transition:none !important;
    border-radius:0;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    flex-wrap:nowrap !important;
  }
  .nav-items-wrapper::-webkit-scrollbar{display:none}
  .nav-shell.mobile-drawer-open .nav-items-wrapper{
    transform:none !important;
    visibility:visible !important;
  }
  .sticky-nav-container.collapsed .nav-items-wrapper{
    max-height:none !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
  .nav-toggle-tab{
    display:none !important;
  }
  #main-nav .nav-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:44px;
    padding:12px 20px;
    border-radius:100px;
    border:1.5px solid rgba(255,255,255,0.15);
    background:rgba(74,83,48,0.92);
    color:#fff;
    font-size:13px;
    font-weight:600;
    letter-spacing:.06em;
    text-transform:uppercase;
    text-decoration:none;
    white-space:nowrap;
    opacity:0;
    transform:translate3d(-22px,8px,0) scale(0.96);
    transition:
      opacity 0.38s cubic-bezier(0.33,1,0.36,1),
      transform 0.42s cubic-bezier(0.33,1,0.36,1),
      background 0.15s ease,
      border-color 0.15s ease;
    transition-delay:0s,0s,0s,0s;
    width:auto;
    min-height:44px;
    box-sizing:border-box;
    justify-content:flex-start;
  }
  .nav-shell.mobile-drawer-open #main-nav .nav-link{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
  }
  /* Ladder: delays must beat #main-nav .nav-link — include #main-nav in selector chain */
  .nav-shell.mobile-drawer-open #main-nav .nav-items-wrapper > .nav-link:nth-child(1){
    transition-delay:0.06s,0.06s,0s,0s;
  }
  .nav-shell.mobile-drawer-open #main-nav .nav-items-wrapper > .nav-link:nth-child(2){
    transition-delay:0.12s,0.12s,0s,0s;
  }
  .nav-shell.mobile-drawer-open #main-nav .nav-items-wrapper > .nav-link:nth-child(3){
    transition-delay:0.18s,0.18s,0s,0s;
  }
  .nav-shell.mobile-drawer-open #main-nav .nav-items-wrapper > .nav-link:nth-child(4){
    transition-delay:0.24s,0.24s,0s,0s;
  }
  .nav-shell.mobile-drawer-open #main-nav .nav-items-wrapper > .nav-link:nth-child(5){
    transition-delay:0.30s,0.30s,0s,0s;
  }
  .nav-shell.mobile-drawer-open #main-nav .nav-items-wrapper > .nav-link:nth-child(6){
    transition-delay:0.36s,0.36s,0s,0s;
  }
  .nav-shell.mobile-drawer-open #main-nav .nav-items-wrapper > .nav-link:nth-child(7){
    transition-delay:0.42s,0.42s,0s,0s;
  }
  #main-nav .nav-link:hover,
  #main-nav .nav-link.active{
    background:rgba(74,83,48,1);
  }
  #main-nav .nav-link__icon{
    width:16px;
    height:16px;
    flex-shrink:0;
    color:#fff;
  }
  #main-nav .nav-link svg{
    color:#fff;
    stroke:#fff;
  }
  #main-nav .nav-link span{line-height:1.25}

  body{
    font-size:max(17px,1.05rem);
    line-height:1.62;
    padding-bottom:max(0px, env(safe-area-inset-bottom, 0px));
  }
  dialog.aw-dialog{
    width:min(400px,calc(100vw - 20px));
    max-width:calc(100vw - 20px);
    max-height:min(88dvh,90vh);
  }
  dialog.aw-dialog .aw-dialog__inner{
    max-height:min(72dvh,calc(88vh - 56px));
  }
  .aw-dialog__close{
    width:44px;
    min-width:44px;
    height:44px;
    min-height:44px;
    font-size:26px;
  }
  .btn.primary,
  .aw-enquiry-form__actions .btn{
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
}
@media (prefers-reduced-motion:reduce){
  @media (max-width:991px){
    .mobile-nav-backdrop,
    .nav-items-wrapper,
    #main-nav{
      transition-duration:.01ms !important;
    }
  }
}

/* Mobile footer: строка 1 — бренд на всю ширину; строка 2 — Explore | Legal */
@media (max-width:768px){
  .site-footer{
    margin-top:22px;
    padding:0 0 max(14px, env(safe-area-inset-bottom, 0px));
  }
  .site-footer .container{
    padding-left:0;
    padding-right:0;
  }
  .site-footer .footer-wrap{
    border-radius:0.85rem;
    border:1px solid var(--border);
    margin-left:max(12px, env(safe-area-inset-left));
    margin-right:max(12px, env(safe-area-inset-right));
    padding:16px 16px 12px;
    padding-bottom:max(12px, env(safe-area-inset-bottom, 0px));
  }
  .site-footer .footer-top{
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto;
    gap:12px 14px;
    padding-bottom:12px;
  }
  /* Бренд на всю ширину сверху */
  .site-footer .footer-top > div:nth-child(1){
    grid-column:1 / -1;
  }
  /* Explore и Legal рядом снизу, выравнивание влево */
  .site-footer .footer-top > div:nth-child(2),
  .site-footer .footer-top > div:nth-child(3){
    text-align:left;
    justify-self:start;
  }
  .site-footer .footer-top > div:nth-child(2) .footer-links,
  .site-footer .footer-top > div:nth-child(3) .footer-links{
    align-items:flex-start;
  }
  .site-footer .footer-brand{
    gap:4px;
  }
  .site-footer .footer-brand-tagline{
    max-width:100%;
    line-height:1.38;
  }
  .site-footer .footer-email{
    margin-top:0;
  }
  .site-footer .footer-col-title{
    margin-bottom:4px;
  }
  .site-footer .footer-bottom{
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:6px 10px;
    padding-top:10px;
  }
  .site-footer .footer-trust{
    gap:10px;
  }
  .site-footer .footer-copy{
    line-height:1.35;
  }
}

#paypal-button-container {
  opacity: 0;
  transform: translateY(10px);
  animation: paypal-fade-in 0.5s ease 0.3s forwards;
}

@keyframes paypal-fade-in {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
