/* ============================================================
   CRS — Fine Stone & Surfaces · dual-register design system
   ============================================================ */
@font-face{font-family:"Fraunces";src:url("../fonts/fraunces-var.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"Fraunces";src:url("../fonts/fraunces-italic.woff2") format("woff2");font-weight:100 900;font-style:italic;font-display:swap;}
@font-face{font-family:"Archivo";src:url("../fonts/archivo-var.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"PlexMono";src:url("../fonts/plexmono-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;}

:root{
  --black:#0C0B08; --black-2:#080706; --char:#151310;
  --ivory:#F0EADC; --ivory-2:#C6BFAF;
  /* --gold-dk is the light-background gold (labels, inline links). Darkened from
     #9A7734 → #86682D so 11-12px gold text clears WCAG AA 4.5:1 on --bg (4.58)
     and --paper (4.91). Same hue + saturation; brand gold (--gold) is untouched. */
  --gold:#C6A15B; --gold-lt:#E4C889; --gold-dk:#86682D;
  --d-line:rgba(240,234,220,.14); --d-mut:rgba(240,234,220,.60);
  --bg:#F4F0E7; --paper:#FBF8F1; --ink:#1A1610; --stone:#453E31; --mut:#726A58;
  --line:#E2DAC9; --line-2:#EDE7DA;
  --serif:"Fraunces",Georgia,serif; --sans:"Archivo",system-ui,sans-serif; --mono:"PlexMono",monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;
  line-height:1.5;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{margin:0;text-wrap:balance;font-weight:400;}
button{font-family:inherit;}
::selection{background:var(--gold);color:#150f06;}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

.wrap{max-width:1360px;margin:0 auto;padding:0 48px;}
.wrap-n{max-width:1120px;margin:0 auto;padding:0 48px;}

/* micro-label (tracked caps mono) */
.lab{font-family:var(--mono);font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-dk);}
.lab-g{color:var(--gold);}
.lab::before{content:"";display:inline-block;width:24px;height:1px;background:currentColor;vertical-align:middle;margin-right:13px;opacity:.7;}
.lab.nl::before{display:none;}

/* serif display */
.dsp{font-family:var(--serif);font-weight:300;letter-spacing:-.015em;line-height:1.02;
  font-variation-settings:"opsz" 144,"SOFT" 0;}
.dsp em{font-style:italic;font-variation-settings:"opsz" 144,"SOFT" 40,"WONK" 1;}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:11px;font-family:var(--sans);font-weight:600;font-size:13px;
  letter-spacing:.02em;padding:16px 30px;border:0;cursor:pointer;transition:.3s var(--ease);border-radius:1px;}
.btn .ar{font-family:var(--mono);transition:transform .3s var(--ease);}
.btn:hover .ar{transform:translateX(5px);}
.btn-gold{background:var(--gold);color:#140e05;}
.btn-gold:hover{background:var(--gold-lt);}
.btn-dark{background:var(--ink);color:var(--paper);}
.btn-dark:hover{background:#000;}
.btn-line{background:transparent;border:1px solid var(--gold);color:var(--gold);}
.btn-line:hover{background:var(--gold);color:#140e05;}
.btn-line-d{background:transparent;border:1px solid rgba(240,234,220,.35);color:var(--ivory);}
.btn-line-d:hover{border-color:var(--ivory);background:rgba(240,234,220,.06);}
.tlink{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dk);
  display:inline-flex;gap:9px;align-items:center;cursor:pointer;transition:gap .25s var(--ease);}
.tlink:hover{gap:15px;}

/* ===================== NAV ===================== */
.nav{position:fixed;inset:0 0 auto 0;z-index:100;transition:background .4s,border-color .4s,color .4s;
  border-bottom:1px solid transparent;color:var(--ivory);}
.nav.solid{background:rgba(10,9,7,.86);-webkit-backdrop-filter:blur(16px) saturate(1.1);backdrop-filter:blur(16px) saturate(1.1);border-bottom-color:var(--d-line);}
.nav.light.solid{background:rgba(244,240,231,.9);border-bottom-color:var(--line);color:var(--ink);}
.nav-in{max-width:1500px;margin:0 auto;padding:0 48px;height:82px;display:flex;align-items:center;gap:34px;}
.brand{display:flex;align-items:center;gap:14px;cursor:pointer;}
.brand img{height:44px;width:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4));}
.brand .wm{display:flex;flex-direction:column;line-height:1;}
.brand .wm b{font-family:var(--serif);font-weight:500;font-size:23px;letter-spacing:.22em;font-variation-settings:"opsz" 40;}
.brand .wm span{font-family:var(--mono);font-size:7.5px;letter-spacing:.24em;text-transform:uppercase;margin-top:4px;color:var(--gold);}
.nav-links{display:flex;gap:30px;margin-left:auto;}
.nav-links a{font-size:13px;letter-spacing:.03em;opacity:.82;cursor:pointer;position:relative;padding:6px 0;transition:opacity .2s;}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--gold);transition:right .3s var(--ease);}
.nav-links a:hover{opacity:1;} .nav-links a:hover::after,.nav-links a.active::after{right:0;}
.nav-links a.active{opacity:1;}
.nav-menu{display:none;}
.nav-cta{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  border:1px solid var(--gold);color:var(--gold);padding:11px 18px;cursor:pointer;transition:.25s;white-space:nowrap;}
.nav-cta:hover{background:var(--gold);color:#140e05;}
.burger{display:none;margin-left:auto;background:none;border:0;cursor:pointer;padding:8px;color:inherit;}
.burger span{display:block;width:26px;height:2px;background:currentColor;margin:5px 0;transition:.3s;}

/* ===================== VIEWS ===================== */
.view{display:none;}
.view.on{display:block;animation:viewin .6s var(--ease);}
@keyframes viewin{from{opacity:0;}to{opacity:1;}}

/* reveal */
.rv{opacity:0;transform:translateY(30px);transition:opacity 1s var(--ease),transform 1s var(--ease);}
.rv.in{opacity:1;transform:none;}
.rv-d1{transition-delay:.08s;} .rv-d2{transition-delay:.16s;} .rv-d3{transition-delay:.24s;} .rv-d4{transition-delay:.32s;}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none;} *{scroll-behavior:auto;}}

/* ===================== HERO ===================== */
.hero{position:relative;height:100vh;height:100svh;min-height:640px;overflow:hidden;background:var(--black);display:flex;align-items:flex-end;}
.hero video,.hero .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero .scrim{position:absolute;inset:0;background:
   linear-gradient(180deg,rgba(8,7,6,.72) 0%,rgba(8,7,6,.28) 16%,rgba(8,7,6,.12) 34%,rgba(8,7,6,.4) 64%,rgba(8,7,6,.92) 100%);}
.hero .scrim2{position:absolute;inset:0;background:radial-gradient(120% 80% at 80% 20%,rgba(198,161,91,.14),transparent 55%);}
.hero-in{position:relative;z-index:3;width:100%;color:var(--ivory);padding-bottom:min(9vh,110px);}
.hero-in .lab{color:var(--gold);}
.hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(46px,7.4vw,116px);line-height:.96;margin:26px 0 28px;
  letter-spacing:-.02em;font-variation-settings:"opsz" 144,"SOFT" 20;max-width:15ch;}
.hero h1 em{font-style:italic;color:var(--gold-lt);font-variation-settings:"opsz" 144,"SOFT" 46,"WONK" 1;}
.hero p{font-size:clamp(16px,1.5vw,19px);line-height:1.65;color:rgba(240,234,220,.8);max-width:50ch;margin:0 0 36px;}
.hero .row{display:flex;gap:14px;flex-wrap:wrap;}
/* Quiet pointer to the legacy live-inventory site, under the StoneMatch banner */
/* Split page-hero: text left, real floor photography right (/visit) */
.phero-split{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;}
.phero-media{margin:0;}
.phero-media img{width:100%;height:auto;display:block;border:1px solid var(--line);}
.phero-media figcaption{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--mut);margin-top:12px;text-transform:uppercase;}
@media(max-width:900px){.phero-split{grid-template-columns:1fr;gap:34px;}}

/* FAQ accordion (/faq — server-rendered) */
.faq-item{border-top:1px solid var(--line);}
.faq-item:last-of-type{border-bottom:1px solid var(--line);}
.faq-item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:18px;
  font-family:var(--serif);font-size:20px;font-weight:500;color:var(--ink);padding:22px 0;font-variation-settings:"opsz" 30;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";font-family:var(--mono);font-size:16px;color:var(--gold-dk);flex-shrink:0;}
.faq-item[open] summary::after{content:"–";}
.faq-item summary:hover{color:var(--gold-dk);}
.faq-item p{font-size:15.5px;line-height:1.75;color:var(--stone);margin:0 0 24px;max-width:66ch;}

.old-inv-note{font-family:var(--mono);font-size:11px;letter-spacing:.04em;line-height:1.7;
  color:var(--mut);margin:14px 0 0;}
.old-inv-note a{color:var(--gold-dk);border-bottom:1px solid rgba(134,104,45,.35);transition:border-color .25s ease;}
.old-inv-note a:hover{border-bottom-color:var(--gold-dk);}
/* Hero video pause control — WCAG 2.2.2: any auto-playing motion needs a stop control */
.hero-pause{position:absolute;z-index:4;right:20px;bottom:20px;width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  background:rgba(12,11,8,.45);border:1px solid rgba(240,234,220,.28);color:rgba(240,234,220,.86);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  font-size:11px;line-height:1;letter-spacing:.06em;transition:background .25s ease,border-color .25s ease,color .25s ease;}
.hero-pause:hover{background:rgba(12,11,8,.7);border-color:var(--gold);color:var(--gold-lt);}
.hero-pause:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
@media (max-width:600px){.hero-pause{right:14px;bottom:14px;}}
.hero-meta{position:absolute;right:48px;bottom:min(9vh,110px);z-index:3;text-align:right;color:var(--gold);
  font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;line-height:2;display:none;}
@media(min-width:1100px){.hero-meta{display:block;}}
.hero-load .lab,.hero-load h1,.hero-load p,.hero-load .row{opacity:0;transform:translateY(24px);animation:rise 1s var(--ease) forwards;}
.hero-load .lab{animation-delay:.2s;}.hero-load h1{animation-delay:.4s;}.hero-load p{animation-delay:.66s;}.hero-load .row{animation-delay:.84s;}
@keyframes rise{to{opacity:1;transform:none;}}
@media(prefers-reduced-motion:reduce){.hero-load .lab,.hero-load h1,.hero-load p,.hero-load .row{opacity:1;transform:none;animation:none;}}

/* marquee credential strip */
.cred{background:var(--black-2);border-top:1px solid var(--d-line);border-bottom:1px solid var(--d-line);overflow:hidden;}
.cred-tk{display:flex;white-space:nowrap;animation:marq 46s linear infinite;}
.cred-tk:hover{animation-play-state:paused;}
.cred-tk .it{padding:18px 40px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--d-mut);display:inline-flex;align-items:center;gap:40px;}
.cred-tk .it::after{content:"✦";color:var(--gold);font-size:9px;}
@keyframes marq{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media(prefers-reduced-motion:reduce){.cred-tk{animation:none;flex-wrap:wrap;white-space:normal;justify-content:center;}}

/* ===================== SECTIONS ===================== */
.sec{padding:130px 0;}
.sec-sm{padding:96px 0;}
.dark{background:var(--black);color:var(--ivory);}
.dark .lab{color:var(--gold);}
.dark-2{background:var(--black-2);color:var(--ivory);}
.paper{background:var(--paper);}
.sec-head{margin-bottom:56px;}
.sec-head.split{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;}
.sec-head h2{font-family:var(--serif);font-weight:300;font-size:clamp(30px,4.2vw,58px);letter-spacing:-.02em;line-height:1.02;
  font-variation-settings:"opsz" 130,"SOFT" 16;max-width:18ch;margin-top:20px;}
.sec-head h2 em{font-style:italic;color:var(--gold-dk);}
.dark .sec-head h2 em{color:var(--gold-lt);}
.sec-head .lead{color:var(--mut);font-size:15.5px;max-width:36ch;line-height:1.7;}
.dark .sec-head .lead{color:var(--d-mut);}

/* featured slab cards (home) */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.scard{cursor:pointer;}
.scard .fr{position:relative;aspect-ratio:4/5;overflow:hidden;background:#1a1712;}
.scard .fr img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease);}
.scard:hover .fr img{transform:scale(1.055);}
.scard .fr .tag{position:absolute;top:14px;left:14px;font-family:var(--mono);font-size:9px;letter-spacing:.14em;
  text-transform:uppercase;background:rgba(198,161,91,.92);color:#140e05;padding:5px 10px;}
.scard .meta{padding:18px 2px 0;}
.scard .meta .nm{font-family:var(--serif);font-weight:500;font-size:21px;font-variation-settings:"opsz" 40;line-height:1.15;}
.dark .scard .meta .nm{color:var(--ivory);}
.scard .meta .sub{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dk);margin-top:8px;}
.dark .scard .meta .sub{color:var(--gold);}

/* pillars */
.pill-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.pill{padding:0 34px;border-left:1px solid var(--d-line);}
.pill:first-child{padding-left:0;border-left:0;}
.pill .n{font-family:var(--mono);font-size:11px;color:var(--gold);letter-spacing:.16em;}
.pill h3{font-family:var(--serif);font-weight:400;font-size:23px;margin:18px 0 12px;font-variation-settings:"opsz" 40;}
.pill p{font-size:14px;line-height:1.72;color:var(--d-mut);}

/* full-bleed statement */
.state{position:relative;min-height:82vh;display:flex;align-items:center;overflow:hidden;}
.state img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.state .ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,7,6,.82) 0%,rgba(8,7,6,.5) 45%,rgba(8,7,6,.15) 100%);}
.state .in{position:relative;z-index:2;color:var(--ivory);max-width:640px;}
.state h2{font-family:var(--serif);font-weight:300;font-size:clamp(32px,4.6vw,64px);line-height:1.03;margin:22px 0 22px;
  font-variation-settings:"opsz" 140,"SOFT" 20;}
.state h2 em{font-style:italic;color:var(--gold-lt);}
.state p{color:rgba(240,234,220,.82);font-size:17px;line-height:1.7;max-width:46ch;margin:0 0 30px;}

/* editorial split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;}
.split .media{position:relative;min-height:560px;overflow:hidden;}
.split .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease);}
.split:hover .media img{transform:scale(1.05);}
.split .body{padding:88px 72px;display:flex;flex-direction:column;justify-content:center;}
.split.dark .body{background:var(--black);}
.split .body h2{font-family:var(--serif);font-weight:300;font-size:clamp(28px,3.6vw,48px);line-height:1.05;margin:22px 0 22px;
  font-variation-settings:"opsz" 110,"SOFT" 16;}
.split .body h2 em{font-style:italic;color:var(--gold-lt);}
.split .body p{font-size:16px;line-height:1.82;margin:0 0 18px;max-width:46ch;}
.split.dark .body p{color:var(--d-mut);}

/* origins list */
.origins{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--d-line);border:1px solid var(--d-line);margin-top:14px;}
.origins .o{background:var(--black);padding:20px 22px;}
.origins .o b{font-family:var(--serif);font-weight:500;font-size:19px;font-variation-settings:"opsz" 30;}
.origins .o span{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-top:6px;}

/* inspire gallery */
.insp{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:220px;gap:16px;}
.insp figure{position:relative;overflow:hidden;margin:0;background:#1a1712;}
.insp figure img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease);}
.insp figure:hover img{transform:scale(1.06);}
.insp .cap{position:absolute;left:16px;bottom:14px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.6);opacity:0;transition:.3s;}
.insp figure:hover .cap{opacity:1;}
.insp .a{grid-column:span 5;grid-row:span 2;} .insp .b{grid-column:span 4;grid-row:span 2;}
.insp .c{grid-column:span 3;grid-row:span 2;} .insp .d{grid-column:span 4;} .insp .e{grid-column:span 4;}
.insp .f{grid-column:span 4;} .insp .g{grid-column:span 5;} .insp .h{grid-column:span 7;}

/* ===================== INVENTORY ===================== */
.inv-hero{padding:150px 0 44px;border-bottom:1px solid var(--line);}
.inv-hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(38px,5.4vw,76px);line-height:1;margin:20px 0 18px;
  letter-spacing:-.02em;font-variation-settings:"opsz" 144,"SOFT" 18;}
.inv-hero h1 em{font-style:italic;color:var(--gold-dk);}
.inv-hero p{font-size:17px;color:var(--stone);max-width:54ch;line-height:1.7;}
.inv-layout{display:grid;grid-template-columns:264px 1fr;gap:44px;align-items:start;padding-top:44px;}
.filters{position:sticky;top:104px;max-height:calc(100vh - 128px);overflow-y:auto;padding-right:8px;}
.filters::-webkit-scrollbar{width:8px;}
.filters::-webkit-scrollbar-track{background:transparent;}
.filters::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px;}
.filters::-webkit-scrollbar-thumb:hover{background:var(--gold-dk);}
.filters{scrollbar-width:thin;scrollbar-color:var(--line) transparent;}
.fbar{display:none;}
.fgroup{border-top:1px solid var(--line);padding:20px 0;}
.fgroup:first-child{border-top:0;padding-top:0;}
.fgroup h3{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);margin:0 0 14px;}
.chips{display:flex;flex-wrap:wrap;gap:8px;}
.chip{font-family:var(--mono);font-size:11px;letter-spacing:.04em;padding:7px 12px;border:1px solid var(--line);
  background:transparent;color:var(--stone);cursor:pointer;transition:.2s;border-radius:1px;white-space:nowrap;}
.chip:hover{border-color:var(--gold);color:var(--ink);}
.chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.chip .ct{color:var(--mut);margin-left:6px;font-size:10px;}
.chip.on .ct{color:rgba(255,255,255,.6);}
.search{width:100%;font-family:var(--sans);font-size:16px;padding:13px 15px;border:1px solid var(--line);
  background:var(--paper);color:var(--ink);border-radius:1px;margin-bottom:6px;}
.search:focus{outline:none;border-color:var(--gold);}
/* Bypass blocks (WCAG 2.4.1): off-canvas until focused, then a gold chip top-left. */
.skip-link{position:fixed;top:-100px;left:16px;z-index:4000;background:var(--gold);color:#140E05;
  font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  padding:12px 18px;text-decoration:none;transition:top .2s ease;}
.skip-link:focus{top:16px;}
main:focus{outline:none;}
.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;}
.search-m{display:none;}
.reset{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dk);
  cursor:pointer;background:none;border:0;padding:8px 0;}
.reset:hover{color:var(--ink);}
.inv-top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:24px;}
.inv-count{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);}
.inv-count b{color:var(--ink);}
.sort{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:9px 12px;
  border:1px solid var(--line);background:var(--paper);color:var(--stone);cursor:pointer;}
.inv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.loadmore{text-align:center;margin-top:56px;}
.empty{padding:80px 0;text-align:center;color:var(--mut);font-family:var(--mono);font-size:13px;letter-spacing:.06em;}

/* ===================== SLAB DETAIL ===================== */
.detail{display:none;}
.detail.on{display:block;}
.dt-hero{position:relative;background:var(--black);color:var(--ivory);padding:120px 0 70px;overflow:hidden;}
.dt-hero .glow{position:absolute;inset:0;background:radial-gradient(90% 70% at 30% 30%,rgba(198,161,91,.12),transparent 60%);}
.dt-grid{position:relative;display:grid;grid-template-columns:1.35fr 1fr;gap:56px;align-items:center;z-index:2;}
.dt-media{position:relative;aspect-ratio:5/4;overflow:hidden;background:#151310;border:1px solid var(--d-line);}
.dt-media img{width:100%;height:100%;object-fit:cover;}
.dt-thumbs{display:flex;gap:10px;margin-top:12px;}
.dt-thumbs img{width:76px;height:60px;object-fit:cover;border:1px solid var(--d-line);cursor:pointer;opacity:.55;transition:.2s;}
.dt-thumbs img.on,.dt-thumbs img:hover{opacity:1;border-color:var(--gold);}
.dt-info .back{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);cursor:pointer;}
.dt-info h1{font-family:var(--serif);font-weight:300;font-size:clamp(34px,4.4vw,62px);line-height:1;margin:20px 0 14px;
  font-variation-settings:"opsz" 140,"SOFT" 18;}
.dt-info h1 em{font-style:italic;color:var(--gold-lt);}
.dt-info .prov{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);}
.dt-info .desc{color:rgba(240,234,220,.78);font-size:15.5px;line-height:1.8;margin:22px 0 30px;max-width:46ch;}
.dt-cta{display:flex;gap:12px;flex-wrap:wrap;}
.dt-specs{padding:96px 0;}
.dt-specs h2{font-family:var(--serif);font-weight:300;font-size:34px;margin-bottom:8px;font-variation-settings:"opsz" 80;}
.dt-specs .sub{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-bottom:36px;}
.spec-rows{border-top:1px solid var(--line);}
.spec-rows .r{display:grid;grid-template-columns:240px 1fr;gap:20px;padding:17px 0;border-bottom:1px solid var(--line);}
.spec-rows .r .k{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);}
.spec-rows .r .v{font-size:15px;color:var(--ink);}
.spec-rows .r .v .badge{display:inline-block;font-family:var(--mono);font-size:10px;padding:3px 8px;border:1px solid var(--gold);color:var(--gold-dk);margin-right:6px;letter-spacing:.06em;}

/* lots list on product detail */
.lots{margin-top:64px;}
.lots .lab{margin-bottom:8px;}
.lots-note{color:var(--mut);font-size:13.5px;line-height:1.6;max-width:52ch;margin-bottom:22px;}
.lot-row{display:grid;grid-template-columns:92px 1fr auto;gap:22px;align-items:center;padding:15px 0;border-top:1px solid var(--line);cursor:pointer;transition:.2s;}
.lot-row:last-child{border-bottom:1px solid var(--line);}
.lot-row:hover{background:rgba(198,161,91,.06);}
.lot-row img{width:92px;height:68px;object-fit:cover;border:1px solid var(--line);}
.lot-row .lr-serial{font-family:var(--serif);font-weight:500;font-size:19px;font-variation-settings:"opsz" 30;}
.lot-row .lr-meta{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--mut);text-transform:uppercase;margin-top:6px;}
.lot-row .lr-price{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--gold-dk);text-transform:uppercase;white-space:nowrap;}

/* product-detail split: details left, big lot photos right (lots are the actual stone) */
.dt-detail-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.dt-detail-right{min-width:0;}
.lot-cards{display:flex;flex-direction:column;gap:28px;margin-top:20px;}
.lot-card{margin:0;}
.lot-card-img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:2px;cursor:zoom-in;background:var(--line-2);transition:opacity .2s;}
.lot-card-img:hover{opacity:.92;}
.lot-card-body{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding:12px 2px 0;border-top:0;}
.lot-card-body .lr-serial{font-family:var(--serif);font-size:17px;}
.lot-card-body .lr-meta{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--mut);text-transform:uppercase;}
.lot-card-body .lr-price{margin-left:auto;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--gold-dk);}
.mcard.mlightbox{padding:0;background:transparent;box-shadow:none;max-width:min(94vw,1100px);}
.lb-img{width:100%;height:auto;max-height:88vh;object-fit:contain;display:block;border-radius:2px;}
@media(max-width:900px){ .dt-detail-split{grid-template-columns:1fr;gap:40px;} }
/* "N lots" badge on collection card */
.scard .fr .lots-tag{left:auto;right:14px;background:rgba(12,10,7,.82);color:var(--ivory);}

/* exclusive partner marks */
.partner-marks{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.partner-marks a{background:var(--paper);padding:36px 24px;text-align:center;text-decoration:none;transition:.25s;}
.partner-marks a:hover{background:rgba(198,161,91,.06);}
.partner-marks b{display:block;font-family:var(--serif);font-weight:500;font-size:25px;color:var(--ink);font-variation-settings:"opsz" 40;letter-spacing:.01em;}
.partner-marks span{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dk);margin-top:10px;}
.partner-marks-sub{grid-template-columns:repeat(2,1fr);max-width:calc(50% - .5px);margin:1px auto 0;}
@media(max-width:760px){.partner-marks{grid-template-columns:1fr 1fr;} .partner-marks-sub{max-width:100%;}}

/* slab-detail AI tool triggers */
.dt-tools{display:flex;gap:26px;flex-wrap:wrap;margin-top:18px;}
.dt-tool{background:none;border:0;cursor:pointer;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);padding:6px 0;transition:.2s;}
.dt-tool:hover{color:var(--amber-2);}

/* modal system */
.mroot{position:fixed;inset:0;z-index:300;display:none;}
.mroot.on{display:block;}
.mroot .ov{position:absolute;inset:0;background:rgba(6,5,4,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:mfade .3s;}
.mcard{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(720px,92vw);max-height:88vh;overflow:auto;background:var(--paper);border:1px solid var(--line);box-shadow:0 60px 120px -40px rgba(0,0,0,.7);animation:mrise .35s var(--ease);}
.mcard::-webkit-scrollbar{width:8px;height:8px;}
.mcard::-webkit-scrollbar-track{background:transparent;}
.mcard::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px;}
.mcard::-webkit-scrollbar-thumb:hover{background:var(--gold-dk);}
.mcard{scrollbar-width:thin;scrollbar-color:var(--line) transparent;}
@keyframes mfade{from{opacity:0}to{opacity:1}}
@keyframes mrise{from{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}
.mcard .mhead{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:30px 34px 0;}
.mcard .mclose{background:none;border:0;font-size:28px;line-height:1;color:var(--mut);cursor:pointer;}
.mcard .mclose:hover{color:var(--ink);}
.mcard .mbody{padding:14px 34px 34px;}
.mcard h3{font-family:var(--serif);font-weight:400;font-size:29px;font-variation-settings:"opsz" 40;letter-spacing:-.01em;line-height:1.08;}
.mcard h3 em{font-style:italic;color:var(--gold-dk);}
.mdemo{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dk);border:1px solid var(--gold);border-radius:999px;padding:3px 9px;display:inline-block;white-space:nowrap;}
.mnote{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:var(--mut);margin-top:22px;line-height:1.7;border-top:1px solid var(--line);padding-top:16px;}
.vizstage{position:relative;aspect-ratio:16/10;border:1px solid var(--line);overflow:hidden;margin:18px 0;background:#e9e3d7;}
.vizstage img{width:100%;height:100%;object-fit:cover;}
.vizstage .vlabel{position:absolute;left:14px;bottom:14px;background:rgba(12,10,7,.8);color:var(--ivory);font-family:var(--mono);font-size:10px;letter-spacing:.08em;padding:7px 11px;text-transform:uppercase;}
.vizrooms{display:flex;gap:10px;flex-wrap:wrap;}
.vizrooms button{flex:1;min-width:104px;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:12px;border:1px solid var(--line);background:var(--paper);cursor:pointer;transition:.2s;color:var(--stone);}
.vizrooms button:hover,.vizrooms button.on{border-color:var(--gold);background:#fff;color:var(--ink);}
.askchips{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0;}
.askchips button{font-family:var(--sans);font-size:13px;padding:10px 14px;border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:2px;transition:.2s;color:var(--stone);}
.askchips button:hover{border-color:var(--gold);color:var(--ink);}
.askans{background:#fff;border:1px solid var(--line);padding:20px 22px;font-size:14.5px;line-height:1.7;color:var(--stone);}
.askans .q{font-family:var(--serif);font-weight:500;font-size:17px;color:var(--ink);margin-bottom:8px;font-variation-settings:"opsz" 30;}
.moodpal{display:flex;margin:18px 0;border:1px solid var(--line);}
.moodpal .sw{flex:1;height:78px;display:flex;align-items:flex-end;}
.moodpal .sw span{font-family:var(--mono);font-size:8px;letter-spacing:.03em;color:rgba(255,255,255,.92);padding:5px 7px;text-shadow:0 1px 3px rgba(0,0,0,.6);}
.moodgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:10px;}
.moodgrid .m{border-top:1px solid var(--line);padding-top:12px;}
.moodgrid .m .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dk);}
.moodgrid .m .v{font-size:14.5px;color:var(--ink);margin-top:5px;line-height:1.4;}

/* ===================== COMPARE ===================== */
.cmp-add{position:absolute;bottom:14px;right:14px;z-index:3;font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;
  background:rgba(248,245,239,.92);border:1px solid var(--line);color:var(--stone);padding:6px 10px;cursor:pointer;opacity:0;transition:.2s;}
.scard:hover .cmp-add{opacity:1;}
.cmp-add.on{background:var(--gold);color:#140e05;border-color:var(--gold);opacity:1;}
.cmpbar{position:fixed;left:0;right:0;bottom:0;z-index:150;background:var(--ink);color:var(--ivory);
  transform:translateY(102%);transition:transform .35s var(--ease);border-top:1px solid var(--gold-dk);}
.cmpbar.on{transform:none;}
.cmpbar-in{max-width:1240px;margin:0 auto;padding:15px 40px;display:flex;align-items:center;gap:20px;}
.cmpbar .cmsg{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);}
.cmpbar .cthumbs{display:flex;gap:12px;}
.cmpbar .ct{position:relative;width:56px;height:44px;border:1px solid var(--d-line);overflow:hidden;}
.cmpbar .ct img{width:100%;height:100%;object-fit:cover;}
.cmpbar .ct b{position:absolute;top:-7px;right:-7px;width:18px;height:18px;background:var(--gold);color:#140e05;border-radius:50%;
  font-size:12px;line-height:18px;text-align:center;cursor:pointer;font-family:var(--mono);}
.cmpbar .cspacer{margin-left:auto;display:flex;gap:16px;align-items:center;}
.cmpbar .cclear{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--d-mut);background:none;border:0;cursor:pointer;}
.cmpbar .cclear:hover{color:var(--ivory);}
.mcard.wide{width:min(1080px,96vw);}
.cmp-grid{overflow-x:auto;margin-top:8px;}
.cmp-grid::-webkit-scrollbar{width:8px;height:8px;}
.cmp-grid::-webkit-scrollbar-track{background:transparent;}
.cmp-grid::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px;}
.cmp-grid::-webkit-scrollbar-thumb:hover{background:var(--gold-dk);}
.cmp-grid{scrollbar-width:thin;scrollbar-color:var(--line) transparent;}
.cmp-table{width:100%;border-collapse:collapse;min-width:520px;}
.cmp-table th,.cmp-table td{text-align:left;vertical-align:top;padding:13px 12px;border-top:1px solid var(--line);}
.cmp-table thead th{border-top:0;padding-top:0;}
.cmp-table td.rk,.cmp-table thead th:first-child{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);width:150px;white-space:nowrap;border-left:0;}
.cmp-table td.cv{font-size:13.5px;color:var(--ink);border-left:1px solid var(--line-2);}
.cmp-table thead th+th{border-left:1px solid var(--line-2);}
.cmp-stone .fr{aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line);margin-bottom:12px;}
.cmp-stone .fr img{width:100%;height:100%;object-fit:cover;}
.cmp-stone .nm{font-family:var(--serif);font-weight:500;font-size:19px;font-variation-settings:"opsz" 30;line-height:1.1;}
.cmp-stone .sub{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dk);margin-top:6px;}
@media(max-width:700px){.cmp-grid{min-width:560px;}}

/* ===================== TERRA / INSPIRATION / JOURNAL / VISIT ===================== */
.terra{position:relative;overflow:hidden;}
.terra .glow-t{position:absolute;inset:0;background:radial-gradient(80% 60% at 82% 28%,rgba(198,161,91,.16),transparent 60%);pointer-events:none;}
.terra .wrap{position:relative;z-index:2;}

/* ---- inspiration filter bar ---- */
.insp-filters{display:flex;flex-wrap:wrap;gap:26px 40px;margin:0 0 34px;padding-bottom:26px;border-bottom:1px solid var(--line);}
.insp-filters:empty{display:none;}
.if-group{display:flex;align-items:center;flex-wrap:wrap;gap:10px;}
.if-lab{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dk);margin-right:6px;}
.if-chip{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);
  background:transparent;border:1px solid var(--line);padding:8px 15px;border-radius:100px;cursor:pointer;transition:.25s var(--ease);}
.if-chip:hover{border-color:var(--gold);color:var(--gold-dk);}
.if-chip.on{background:var(--black);border-color:var(--black);color:var(--ivory);}

/* ---- masonry gallery: each tile reserves its aspect ratio (no reflow) + staggered reveal ---- */
.insp-full{columns:3;column-gap:18px;}
.ins-fig{margin:0 0 18px;break-inside:avoid;position:relative;overflow:hidden;background:#1a1712;border-radius:2px;cursor:default;
  opacity:0;transform:translateY(28px);transition:opacity .85s var(--ease),transform .85s var(--ease);}
.ins-fig.has-cap{cursor:pointer;}
.ins-fig.in{opacity:1;transform:none;}
.ins-fig img{width:100%;height:100%;display:block;object-fit:cover;transition:transform 1.1s var(--ease);}
.ins-fig.has-cap:hover img{transform:scale(1.055);}
.ins-cap{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 15px;display:flex;flex-direction:column;gap:3px;
  background:linear-gradient(transparent,rgba(8,7,6,.82));opacity:0;transform:translateY(8px);transition:.35s var(--ease);pointer-events:none;}
.ins-fig.has-cap:hover .ins-cap,.ins-fig.has-cap:focus-visible .ins-cap{opacity:1;transform:none;}
.ins-cap b{font-family:var(--serif);font-weight:500;font-size:19px;color:var(--ivory);line-height:1.1;font-variation-settings:"opsz" 40;}
.ins-cap span{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-lt);}
.ins-fig.has-cap:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
.ins-empty{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--gold-dk);padding:40px 0;text-align:center;}
@media(max-width:900px){.insp-full{columns:2;}}
@media(max-width:560px){.insp-full{columns:1;} .ins-cap{opacity:1;transform:none;}}
@media(prefers-reduced-motion:reduce){.ins-fig{opacity:1;transform:none;transition:none;}}

/* ---- inspiration lightbox modal ---- */
.mcard.mcard-insp{max-width:1040px;width:94vw;padding:0;overflow:hidden;background:var(--paper);position:relative;}
.ins-modal{display:grid;grid-template-columns:1.35fr 1fr;}
.ins-modal-img{background:#100e0b;min-height:0;}
.ins-modal-img img{width:100%;height:100%;max-height:82vh;object-fit:cover;display:block;}
.ins-modal-body{padding:44px 44px 40px;display:flex;flex-direction:column;justify-content:center;gap:2px;}
.ins-modal-body .lab{font-family:var(--mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-dk);}
.ins-modal-body h3{font-family:var(--serif);font-weight:300;font-size:clamp(28px,3.2vw,40px);line-height:1.05;margin:12px 0 6px;color:var(--ink);}
.ins-modal-body .ins-mat{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;}
.ins-modal-body p{font-size:16px;line-height:1.75;color:var(--ink-2,#4a453c);margin:0 0 20px;max-width:44ch;}
.ins-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px;}
.ins-tags span{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dk);border:1px solid var(--line);border-radius:100px;padding:6px 12px;}
.ins-modal-body .btn{align-self:flex-start;}
.ins-mx{position:absolute;top:14px;right:16px;z-index:4;width:38px;height:38px;border:0;border-radius:100px;cursor:pointer;
  background:rgba(12,11,8,.55);color:#fff;font-size:22px;line-height:1;transition:.2s;}
.ins-mx:hover{background:rgba(12,11,8,.85);}
@media(max-width:760px){.ins-modal{grid-template-columns:1fr;}.ins-modal-img img{max-height:44vh;}.ins-modal-body{padding:30px 26px 30px;}}

.jgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.jcard{cursor:pointer;}
.jcard .fr{aspect-ratio:3/2;overflow:hidden;background:#1a1712;margin-bottom:18px;}
.jcard .fr img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.jcard:hover .fr img{transform:scale(1.05);}
.jcard .jcat{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dk);}
.jcard h2{font-family:var(--serif);font-weight:440;font-size:22px;margin:12px 0 10px;font-variation-settings:"opsz" 40;line-height:1.15;}
.jcard p{font-size:14px;line-height:1.65;color:var(--stone);}
.jcard .jread{display:inline-block;margin-top:14px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dk);}
@media(max-width:900px){.jgrid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.jgrid{grid-template-columns:1fr;}}

/* journal article reader */
.jback{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dk);cursor:pointer;margin-bottom:38px;}
.jback:hover{color:var(--gold);}
.article{max-width:720px;margin:0 auto;}
.article .art-meta{display:flex;align-items:center;gap:14px;margin-bottom:16px;}
.article .art-meta .jcat{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dk);}
.article .art-date{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);}
.article h1{font-family:var(--serif);font-weight:340;font-size:clamp(32px,4.6vw,52px);line-height:1.1;letter-spacing:-.01em;margin:0 0 40px;font-variation-settings:"opsz" 100;}
.article h2{font-family:var(--serif);font-weight:500;font-size:23px;line-height:1.25;color:var(--ink);margin:38px 0 14px;font-variation-settings:"opsz" 30;}
/* Deeper subheads, plus any legacy <h3> the CMS still holds — never leave article prose unstyled. */
.article h3{font-family:var(--serif);font-weight:500;font-size:19px;line-height:1.3;color:var(--ink);margin:30px 0 12px;font-variation-settings:"opsz" 30;}
.article p{font-size:17px;line-height:1.8;color:var(--stone);margin:0 0 22px;}
.article .art-cta{margin-top:52px;padding-top:40px;border-top:1px solid var(--line);}
@media(max-width:600px){.article h1{font-size:clamp(28px,7vw,38px);}}

.visit-pts .vp{padding:16px 0;border-top:1px solid var(--line);}
.visit-pts .vp:first-child{border-top:0;padding-top:0;}
.visit-pts .vp b{font-family:var(--serif);font-weight:500;font-size:18px;font-variation-settings:"opsz" 30;}
.visit-pts .vp span{display:block;font-size:14px;color:var(--stone);margin-top:5px;line-height:1.5;}
.mapembed{margin-top:28px;aspect-ratio:16/6;border:1px solid var(--line);background:linear-gradient(135deg,#ece6da,#ddd5c4);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--mut);text-transform:uppercase;text-align:center;padding:0 20px;}
.bring-grid,.digi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px 34px;}
.bring,.digi{border-top:1px solid var(--line);padding-top:16px;}
.digi{border-top-color:var(--d-line);}
.bring b,.digi b{font-family:var(--serif);font-weight:500;font-size:19px;font-variation-settings:"opsz" 30;display:block;}
.bring span,.digi span{display:block;font-size:14px;color:var(--stone);margin-top:6px;line-height:1.55;}
.digi b{color:var(--ivory);} .digi span{color:var(--d-mut);}
.split-info{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
.digi-h{font-family:var(--serif);font-weight:300;font-size:clamp(28px,3.6vw,46px);margin:18px 0 20px;line-height:1.06;font-variation-settings:"opsz" 100,"SOFT" 16;}
.digi-h em{font-style:italic;color:var(--gold-lt);}
.digi-p{color:var(--d-mut);font-size:16px;line-height:1.75;max-width:46ch;}
.visit-map{display:block;width:100%;height:440px;border:0;}
.terra-h{font-family:var(--serif);font-weight:300;font-size:clamp(40px,6vw,86px);line-height:1;margin:22px 0 20px;letter-spacing:-.02em;font-variation-settings:"opsz" 144,"SOFT" 22;}
.terra-h em{font-style:italic;color:var(--gold-lt);font-variation-settings:"opsz" 144,"SOFT" 46,"WONK" 1;}
.terra-lede{color:rgba(240,234,220,.8);font-size:18px;line-height:1.7;max-width:56ch;margin:0 auto;}
@media(max-width:900px){.bring-grid,.digi-grid{grid-template-columns:1fr 1fr;} .split-info{grid-template-columns:1fr;gap:34px;}}
@media(max-width:600px){.bring-grid,.digi-grid{grid-template-columns:1fr;}}

/* interior page hero (paper) */
.phero{padding:154px 0 60px;border-bottom:1px solid var(--line);}
.phero h1{font-family:var(--serif);font-weight:300;font-size:clamp(40px,5.6vw,80px);line-height:1;margin:20px 0 22px;
  letter-spacing:-.02em;font-variation-settings:"opsz" 144,"SOFT" 20;max-width:17ch;}
.phero h1 em{font-style:italic;color:var(--gold-dk);}
.phero p{font-size:17px;line-height:1.72;color:var(--stone);max-width:56ch;}

/* service/trade grids */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.card{border:1px solid var(--line);padding:38px 34px;background:var(--paper);transition:.3s;}
.card:hover{border-color:var(--gold);}
.card .n{font-family:var(--mono);font-size:11px;color:var(--gold-dk);letter-spacing:.14em;}
.card h3{font-family:var(--serif);font-weight:400;font-size:24px;margin:16px 0 12px;font-variation-settings:"opsz" 40;}
.card p{font-size:14px;line-height:1.72;color:var(--stone);}
.card ul{list-style:none;padding:0;margin:16px 0 0;}
.card li{padding:11px 0;border-top:1px solid var(--line-2);font-size:13.5px;color:var(--stone);display:flex;gap:10px;}
.card li::before{content:"→";color:var(--gold);font-family:var(--mono);}

/* ===================== STONE TYPES ===================== */
#types-chat:empty{display:none;}
.stonechat{margin-top:36px;max-width:640px;border:1px solid var(--line);background:var(--paper);padding:26px 26px 20px;}
.stonechat h2{font-family:var(--serif);font-weight:500;font-size:21px;font-variation-settings:"opsz" 40;margin:0 0 6px;color:var(--ink);}
.stonechat .sc-note{font-size:13px;line-height:1.6;color:var(--mut);margin:0 0 16px;}
.sc-log{max-height:340px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:4px 2px 4px 0;margin-bottom:14px;}
.sc-msg{font-size:14px;line-height:1.6;padding:11px 14px;border-radius:2px;max-width:88%;word-wrap:break-word;}
.sc-msg.bot{background:var(--bg);color:var(--stone);border:1px solid var(--line-2);align-self:flex-start;}
.sc-msg.user{background:var(--ink);color:var(--paper);align-self:flex-end;}
.sc-msg.sc-typing{color:var(--mut);font-style:italic;}
.sc-row{display:flex;gap:10px;}
.sc-row input{flex:1;min-width:0;font-family:var(--sans);font-size:15px;padding:12px 14px;border:1px solid var(--line);
  background:#fff;color:var(--ink);border-radius:1px;}
.sc-row input:focus{outline:none;border-color:var(--gold);}
.sc-row input:disabled{opacity:.6;}
.sc-row button{white-space:nowrap;}
@media (max-width:640px){
  .stonechat{padding:20px 18px 16px;}
  .sc-msg{max-width:96%;}
}
.type-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.type-card{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.type-card.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.type-card{opacity:1;transform:none;transition:none;}}
.type-card{border:1px solid var(--line);padding:36px 32px;background:var(--paper);transition:.3s;}
.type-card:hover{border-color:var(--gold);}
.type-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.type-card-head h3{font-family:var(--serif);font-weight:500;font-size:26px;font-variation-settings:"opsz" 40;}
.type-kind{white-space:nowrap;}
.type-character{font-size:14.5px;line-height:1.7;color:var(--stone);margin:16px 0 22px;}
.type-attrs{border-top:1px solid var(--line);}
.type-attr{display:grid;grid-template-columns:118px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--line-2);}
.type-attr .ta-k{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);}
.type-attr .ta-v{font-size:13.5px;line-height:1.55;color:var(--ink);}
.type-browse{margin-top:22px;}

/* contact */
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;}
.field label{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);}
.field input,.field select,.field textarea{font-family:var(--sans);font-size:16px;padding:14px 15px;border:1px solid var(--line);
  background:var(--paper);color:var(--ink);border-radius:1px;}
.field :focus{outline:none;border-color:var(--gold);}
.iblock{border-top:1px solid var(--line);padding:22px 0;}
.iblock .l{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dk);margin-bottom:9px;}
.iblock .v{font-size:15px;line-height:1.6;color:var(--ink);}

/* ===================== VISIT / CLOSING ===================== */
.close{position:relative;background:var(--black);color:var(--ivory);padding:150px 0;text-align:center;overflow:hidden;}
.close .glow{position:absolute;inset:0;background:radial-gradient(70% 60% at 50% 40%,rgba(198,161,91,.16),transparent 65%);}
.close .in{position:relative;z-index:2;}
.close h2{font-family:var(--serif);font-weight:300;font-size:clamp(38px,5.6vw,84px);line-height:1;margin:24px auto 18px;
  max-width:16ch;font-variation-settings:"opsz" 144,"SOFT" 22;}
.close h2 em{font-style:italic;color:var(--gold-lt);}
.close p{color:var(--d-mut);max-width:46ch;margin:0 auto 36px;font-size:16px;line-height:1.7;}

/* ===================== FOOTER ===================== */
.foot{background:var(--black-2);color:var(--d-mut);padding:80px 0 36px;border-top:1px solid var(--d-line);}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px;margin-bottom:56px;}
.foot .brand-f img{height:70px;margin-bottom:18px;}
.foot .tag{font-size:13.5px;line-height:1.7;max-width:32ch;color:var(--d-mut);}
.foot h4{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 18px;}
.foot ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;}
.foot ul a{font-size:13.5px;color:var(--d-mut);cursor:pointer;transition:.2s;}
.foot ul a:hover{color:var(--ivory);}
.foot-base{border-top:1px solid var(--d-line);padding-top:26px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:rgba(240,234,220,.4);}

.flag{position:fixed;bottom:14px;right:14px;z-index:200;background:rgba(198,161,91,.95);color:#140e05;
  font-family:var(--mono);font-size:9px;letter-spacing:.06em;padding:7px 12px;border-radius:999px;text-transform:uppercase;}

/* ===================== RESPONSIVE ===================== */
@media(max-width:1080px){
  .wrap,.wrap-n,.nav-in{padding-left:26px;padding-right:26px;}
  .feat-grid,.inv-grid,.card-grid,.type-cards{grid-template-columns:repeat(2,1fr);}
  .pill-grid{grid-template-columns:1fr 1fr;gap:34px 0;} .pill{padding:22px 0;border-left:0;border-top:1px solid var(--d-line);}
  .pill:first-child,.pill:nth-child(2){border-top:0;}
  .split,.cta-grid{grid-template-columns:1fr;} .split .media{min-height:340px;} .split .body{padding:52px 30px;}
  .inv-layout{grid-template-columns:1fr;gap:0;}
  .filters{position:static;display:none;margin-bottom:24px;max-height:none;overflow:visible;} .filters.open{display:block;}
  .fbar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px;padding-top:24px;}
  .fbar .toggle{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);padding:12px 16px;cursor:pointer;background:var(--paper);}
  /* Search gets its own full-width row above Filters, ruled in gold so it reads as
     the primary way into 5,000 slabs rather than a secondary control. */
  .fbar .search-m{display:block;flex:1 1 100%;border:1px solid var(--gold);background:var(--paper);
    box-shadow:0 1px 0 var(--gold);padding:15px 16px;}
  .fbar .search-m::placeholder{color:var(--gold-dk);opacity:1;}
  .fbar .search-m:focus{border-color:var(--gold-dk);box-shadow:0 1px 0 var(--gold-dk);}
  /* Desktop's copy of the search is inside the collapsed sidebar — hide it there
     so a phone never renders two search boxes. */
  .filters .search{display:none;}
  .dt-grid{grid-template-columns:1fr;gap:30px;}
  .insp{grid-auto-rows:160px;} .insp>*{grid-column:span 6 !important;grid-row:span 1 !important;}
  .nav-links,.nav-cta{display:none;} .burger{display:block;}
  .nav-menu{position:fixed;inset:82px 0 auto 0;background:var(--black);border-bottom:1px solid var(--d-line);
    flex-direction:column;gap:0;padding:10px 26px 26px;display:none;}
  .nav-menu.open{display:flex;}
  .nav-menu a{padding:15px 0;border-bottom:1px solid var(--d-line);opacity:1;color:var(--ivory);font-size:15px;}
  .sec,.sec-sm{padding:80px 0;} .close{padding:96px 0;}
  .foot-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){
  .feat-grid,.inv-grid,.card-grid,.foot-grid,.origins,.spec-rows .r,.type-cards{grid-template-columns:1fr;}
  .spec-rows .r{gap:4px;}
  .type-attr{grid-template-columns:1fr;gap:4px;}
  .wrap,.wrap-n,.nav-in{padding-left:20px;padding-right:20px;}
  .hero-in{padding-bottom:64px;}
}
.foot-legal{text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:.06em;}
.foot-legal a{color:var(--gold);text-decoration:none;}
.foot-legal a:hover{text-decoration:underline;}
/* Stone Types: tighten the top so the first comparison row peeks on load (discoverability) */
#view-types .phero{padding:96px 0 30px;}
#view-types .sec.paper{padding:22px 0 100px;}
#view-types #types-chat{margin-top:22px;}

/* ===================== SITE INTRO (first arrival, fly-to-header) ===================== */
#intro{position:fixed;inset:0;z-index:3000;background:var(--black);display:none;
  align-items:center;justify-content:center;overflow:hidden;}
html.intro-play #intro{display:flex;}
#intro.done{display:none!important;}
#intro .intro-tex{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;
  filter:grayscale(.5) contrast(1.06) brightness(.7);mix-blend-mode:luminosity;transform:scale(1.08);
  transition:opacity 1.6s ease,transform 6s linear;}
#intro.lit .intro-tex{opacity:.14;transform:scale(1);}
#intro .intro-vig{position:absolute;inset:0;background:radial-gradient(75% 65% at 50% 46%,transparent,rgba(8,7,6,.9));}
#intro .intro-stage{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;text-align:center;}
.intro-crest-wrap{position:relative;display:inline-block;line-height:0;}
#intro-crest{width:134px;height:134px;object-fit:contain;opacity:0;transform:translateY(16px);
  transition:opacity 1s var(--ease),transform 1.1s var(--ease);}
#intro.lit #intro-crest{opacity:.97;transform:translateY(0);}
.intro-crest-wrap .intro-shine{position:absolute;inset:0;pointer-events:none;opacity:0;
  -webkit-mask:url(../logo/crest.png) center/contain no-repeat;mask:url(../logo/crest.png) center/contain no-repeat;
  background:linear-gradient(112deg,transparent 41%,rgba(255,250,235,.7) 47%,#fff 50%,rgba(255,250,235,.7) 53%,transparent 59%);
  background-size:300% 100%;background-position:150% 0;}
#intro.lit .intro-crest-wrap .intro-shine{animation:crestShine 1.15s ease-in-out .8s 1;}
@keyframes crestShine{0%{opacity:0;background-position:150% 0;}18%{opacity:1;}82%{opacity:1;}100%{opacity:0;background-position:-55% 0;}}
#intro.flying .intro-shine{opacity:0;}
.intro-word{overflow:hidden;margin-top:8px;padding:0 .06em;}
.intro-word b{display:inline-block;font-family:var(--serif);font-weight:300;font-size:clamp(66px,10.5vw,124px);
  letter-spacing:.14em;color:var(--ivory);transform:translateY(118%);transition:transform 1.05s var(--ease);
  font-variation-settings:"opsz" 144,"SOFT" 8;padding-left:.14em;}
#intro.lit .intro-word b{transform:translateY(0);}
#intro.flying .intro-word{overflow:visible;}
.intro-rule{width:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);
  margin:16px 0 18px;transition:width 1.1s var(--ease) .15s;}
#intro.lit .intro-rule{width:180px;}
.intro-sub{font-family:var(--mono);font-size:12px;letter-spacing:.42em;text-transform:uppercase;color:var(--ivory-2);
  opacity:0;transform:translateY(8px);transition:opacity .9s ease .35s,transform .9s var(--ease) .35s;padding-left:.42em;}
#intro.lit .intro-sub{opacity:1;transform:none;}
/* --gold (not --gold-dk): the intro sits on near-black, where the light-bg gold
   would only reach 3.8:1. Brand gold clears AA there at 8.1:1. */
.intro-est{margin-top:18px;font-family:var(--mono);font-size:10px;letter-spacing:.26em;text-transform:uppercase;
  color:var(--gold);opacity:0;transition:opacity .9s ease .6s;}
#intro.lit .intro-est{opacity:.9;}
.intro-skip{position:absolute;bottom:32px;left:0;right:0;text-align:center;z-index:3;font-family:var(--mono);
  font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:rgba(240,234,220,.32);opacity:0;
  transition:opacity .8s ease 1.1s;}
#intro.lit .intro-skip{opacity:1;}
#intro.flying .intro-rule,#intro.flying .intro-est,#intro.flying .intro-skip{opacity:0;transition:opacity .45s ease;}
#intro.flying{background:rgba(12,11,8,0);transition:background 1s var(--ease);}
#intro.flying .intro-tex,#intro.flying .intro-vig{opacity:0;transition:opacity .7s ease;}
/* real header brand crossfades in only while the intro is playing */
.brand{transition:opacity .55s ease;}
html.intro-play .brand{opacity:0;}
html.intro-play .brand.arrived{opacity:1;}
@media (prefers-reduced-motion:reduce){html.intro-play #intro{display:none!important;}html.intro-play .brand{opacity:1;}}
