:root{
    --graphite:#1A1714;
    --graphite-2:#23201C;
    --bone:#F3EEE5;
    --bone-2:#EAE3D5;
    --slate:#5C564E;
    --line:#D8D0C1;
    --line-dark:rgba(255,255,255,.14);
    --brass:#A8824E;
    --brass-lt:#C6A36A;
    --maxw:1180px;
    --ease:cubic-bezier(.2,.7,.2,1);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:"Inter",system-ui,sans-serif;color:var(--graphite);background:var(--bone);line-height:1.6;-webkit-font-smoothing:antialiased}
  h1,h2,h3,.display{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;line-height:1.04;letter-spacing:-.01em}
  .mono{font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}
  a{color:inherit;text-decoration:none}
  img{display:block;max-width:100%}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}
  .eyebrow{color:var(--brass);display:inline-flex;align-items:center;gap:11px}
  .eyebrow::before{content:"";width:30px;height:1px;background:var(--brass)}

  .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;font-size:.92rem;font-family:"Inter";padding:14px 26px;border-radius:2px;cursor:pointer;border:1px solid var(--graphite);transition:transform .2s var(--ease),background .25s,color .25s,border-color .25s}
  .btn-primary{background:var(--graphite);color:var(--bone)}
  .btn-primary:hover{background:#000;transform:translateY(-2px)}
  .btn-ghost{background:transparent;border-color:var(--line)}
  .btn-ghost:hover{border-color:var(--graphite);transform:translateY(-2px)}
  .btn-brass{background:var(--brass);border-color:var(--brass);color:#1c1408}
  .btn-brass:hover{background:var(--brass-lt);border-color:var(--brass-lt);transform:translateY(-2px)}

  /* ---------- procedural stone surfaces ---------- */
  .stone{position:relative;overflow:hidden;background-color:#cfc8ba}
  .stone::after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.5 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");opacity:.10;mix-blend-mode:overlay;pointer-events:none}
  .calacatta{background:
     linear-gradient(118deg,transparent 0 47%,rgba(168,130,78,.45) 47.4% 48%,transparent 48.4% 100%),
     linear-gradient(127deg,transparent 0 61%,rgba(120,112,98,.55) 61.3% 62.1%,transparent 62.4% 100%),
     linear-gradient(99deg,transparent 0 29%,rgba(150,142,128,.4) 29.4% 30.2%,transparent 30.6% 100%),
     radial-gradient(140% 120% at 30% 20%,#FAF7F0,#ECE6DA 60%,#E2DACB)}
  .statuario{background:
     linear-gradient(112deg,transparent 0 54%,rgba(60,58,54,.5) 54.3% 54.9%,transparent 55.3% 100%),
     linear-gradient(132deg,transparent 0 33%,rgba(90,86,80,.35) 33.4% 34.1%,transparent 34.5% 100%),
     radial-gradient(140% 120% at 70% 30%,#FBFAF6,#F1EFE9 70%)}
  .nero{background:
     radial-gradient(120% 120% at 40% 30%,#2B2722,#16130F 75%)}
  .nero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(198,163,106,.5) .5px,transparent 1.2px),radial-gradient(rgba(220,220,220,.35) .5px,transparent 1.2px);background-size:9px 9px,13px 13px;background-position:0 0,4px 6px;opacity:.8}
  .emperador{background:
     linear-gradient(120deg,transparent 0 50%,rgba(200,175,140,.5) 50.3% 51%,transparent 51.4% 100%),
     linear-gradient(105deg,transparent 0 71%,rgba(214,190,150,.4) 71.3% 72%,transparent 72.4% 100%),
     radial-gradient(140% 120% at 35% 25%,#5E4A38,#3F3022 80%)}
  .verde{background:
     linear-gradient(124deg,transparent 0 44%,rgba(220,228,210,.55) 44.4% 45.2%,transparent 45.6% 100%),
     linear-gradient(108deg,transparent 0 66%,rgba(150,196,170,.45) 66.3% 67%,transparent 67.5% 100%),
     radial-gradient(140% 120% at 60% 30%,#274A3E,#16302A 82%)}
  .travertino{background:
     repeating-linear-gradient(8deg,rgba(160,140,110,.18) 0 6px,transparent 6px 16px),
     radial-gradient(140% 120% at 40% 30%,#E0D2B8,#CFBE9F 85%)}
  /* generic granite speckle overlay */
  .granite::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.22) .5px,transparent 1.2px),radial-gradient(rgba(0,0,0,.30) .5px,transparent 1.2px);background-size:8px 8px,12px 12px;background-position:0 0,4px 5px;opacity:.85}
  .galaxy::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(214,184,120,.65) .6px,transparent 1.4px),radial-gradient(rgba(235,235,235,.4) .5px,transparent 1.2px);background-size:10px 10px,14px 14px;background-position:0 0,5px 7px;opacity:.9}
  /* light & white marbles */
  .carrara{background:linear-gradient(116deg,transparent 0 52%,rgba(120,118,112,.45) 52.3% 53%,transparent 53.4% 100%),linear-gradient(98deg,transparent 0 30%,rgba(150,148,140,.3) 30.4% 31%,transparent 31.4% 100%),radial-gradient(140% 120% at 40% 30%,#F4F2EC,#E7E4DB 80%)}
  .cremamarfil{background:linear-gradient(122deg,transparent 0 60%,rgba(190,168,128,.35) 60.3% 61%,transparent 61.4% 100%),radial-gradient(140% 120% at 35% 25%,#EFE6D2,#E2D5BB 85%)}
  .botticino{background:linear-gradient(110deg,transparent 0 47%,rgba(180,160,124,.3) 47.3% 48%,transparent 48.4% 100%),radial-gradient(140% 120% at 50% 30%,#EDE3CE,#E0D2B6 85%)}
  .saharabeige{background:repeating-linear-gradient(12deg,rgba(168,142,104,.16) 0 8px,transparent 8px 20px),radial-gradient(140% 120% at 40% 30%,#E6D8BC,#D8C6A2 85%)}
  .bardiglio{background:linear-gradient(118deg,transparent 0 50%,rgba(230,230,228,.4) 50.3% 51%,transparent 51.4% 100%),radial-gradient(140% 120% at 45% 30%,#8E8C88,#6E6C68 85%)}
  .onyxhoney{background:repeating-linear-gradient(100deg,rgba(255,236,190,.4) 0 10px,rgba(180,130,60,.22) 10px 22px),radial-gradient(140% 120% at 40% 30%,#E0B25A,#B57F2E 85%)}
  .tajmahal{background:linear-gradient(120deg,transparent 0 55%,rgba(200,180,140,.3) 55.3% 56%,transparent 56.4% 100%),radial-gradient(140% 120% at 40% 30%,#EFE6CF,#E4D6B8 85%)}
  .viscont{background:linear-gradient(114deg,transparent 0 49%,rgba(90,88,84,.4) 49.3% 50%,transparent 50.4% 100%),linear-gradient(128deg,transparent 0 70%,rgba(110,108,104,.3) 70.3% 71%,transparent 71.4% 100%),radial-gradient(140% 120% at 45% 30%,#CFCEC9,#BBBAB4 85%)}
  /* dark & dramatic */
  .neromarquina{background:linear-gradient(116deg,transparent 0 48%,rgba(238,238,234,.7) 48.4% 49.2%,transparent 49.6% 100%),linear-gradient(132deg,transparent 0 72%,rgba(238,238,234,.5) 72.3% 73%,transparent 73.5% 100%),radial-gradient(140% 120% at 40% 30%,#23211D,#121110 85%)}
  .rossolevanto{background:linear-gradient(120deg,transparent 0 50%,rgba(235,225,215,.55) 50.3% 51.1%,transparent 51.5% 100%),linear-gradient(102deg,transparent 0 70%,rgba(220,200,190,.4) 70.3% 71%,transparent 71.4% 100%),radial-gradient(140% 120% at 40% 30%,#6E2A28,#4A1A1A 85%)}
  /* granites (use .granite for speckle) */
  .kashmir{background:radial-gradient(140% 120% at 45% 30%,#E7E1D2,#D5CDB8 85%)}
  .tanbrown{background:radial-gradient(140% 120% at 45% 30%,#4E3B30,#33251E 85%)}
  .blackgalaxy{background:radial-gradient(140% 120% at 40% 30%,#1C1A16,#0E0D0B 85%)}
  .steelgrey{background:radial-gradient(140% 120% at 45% 30%,#7C7A76,#5A5854 85%)}
  .imperialred{background:radial-gradient(140% 120% at 45% 30%,#7A3530,#561F1D 85%)}

  /* ---------- nav ---------- */
  header{position:sticky;top:0;z-index:60;background:rgba(243,238,229,.85);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .3s}
  header.scrolled{border-color:var(--line)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:80px}
  .logo{display:flex;align-items:center;gap:12px}
  .logo .glyph{width:34px;height:34px;border:1.5px solid var(--graphite);border-radius:50%;display:grid;place-items:center;font-family:"Cormorant Garamond";font-size:1.25rem;font-weight:600}
  .logo .name{font-family:"Cormorant Garamond";font-weight:600;font-size:1.4rem;line-height:1}
  .logo .name small{display:block;font-family:"IBM Plex Mono";font-size:.56rem;letter-spacing:.26em;color:var(--slate);margin-top:2px}
  .nav-links{display:flex;gap:36px;align-items:center}
  .nav-links a{font-size:.92rem;color:var(--slate);transition:color .2s}
  .nav-links a:hover{color:var(--graphite)}
  .nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px}
  .nav-toggle span{display:block;width:24px;height:2px;background:var(--graphite);margin:5px 0;transition:.3s}

  /* ---------- hero ---------- */
  .hero{position:relative;padding:96px 0 104px;overflow:hidden}
  .hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:60px;align-items:center}
  .hero h1{font-size:clamp(3rem,7.2vw,6rem);margin:24px 0 26px}
  .hero h1 em{font-style:italic;color:var(--brass)}
  .hero .lead{font-size:1.18rem;color:var(--slate);max-width:30em;margin-bottom:36px}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap}
  .specs{display:flex;gap:34px;margin-top:40px;flex-wrap:wrap}
  .specs .s .n{font-family:"Cormorant Garamond";font-size:2rem;font-weight:600;line-height:1}
  .specs .s .l{font-size:.8rem;color:var(--slate);margin-top:4px}

  /* hero stone stack signature */
  .slabs{position:relative;height:clamp(380px,46vw,540px)}
  .slab{position:absolute;border-radius:3px;box-shadow:0 30px 70px -34px rgba(26,23,20,.6);border:1px solid rgba(0,0,0,.08)}
  .slab .tag{position:absolute;left:12px;bottom:12px;background:rgba(243,238,229,.92);padding:5px 10px;border-radius:2px;font-family:"IBM Plex Mono";font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--graphite)}
  .slab.a{width:54%;height:74%;top:0;right:6%;z-index:3;transform:rotate(2.2deg)}
  .slab.b{width:46%;height:62%;bottom:0;left:0;z-index:2;transform:rotate(-3deg)}
  .slab.c{width:34%;height:42%;top:14%;left:4%;z-index:1;transform:rotate(4deg)}

  /* ---------- credentials strip ---------- */
  .creds{background:var(--graphite);color:var(--bone)}
  .creds .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;padding:0}
  .cred{padding:30px 26px}
  .cred .mono{color:var(--brass-lt)}
  .cred h3{font-family:"Inter";font-weight:600;font-size:1.02rem;margin-top:10px}
  .cred p{font-size:.86rem;color:#B7AE9F;margin-top:4px}

  /* ---------- sections ---------- */
  .section{padding:104px 0}
  .section-head{max-width:42em;margin-bottom:56px}
  .section-head h2{font-size:clamp(2.4rem,5vw,3.6rem);margin:16px 0 16px}
  .section-head p{color:var(--slate);font-size:1.1rem;max-width:36em}

  /* ---------- collection ---------- */
  .collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .swatch{border-radius:4px;overflow:hidden;background:var(--bone);border:1px solid var(--line);transition:transform .3s var(--ease),box-shadow .3s}
  .swatch:hover{transform:translateY(-5px);box-shadow:0 36px 60px -40px rgba(26,23,20,.5)}
  .swatch .surface{height:200px;width:100%}
  .swatch .meta{padding:20px 22px}
  .swatch .meta .mono{color:var(--brass)}
  .swatch .meta h3{font-family:"Cormorant Garamond";font-size:1.6rem;font-weight:600;margin:8px 0 6px}
  .swatch .meta p{color:var(--slate);font-size:.9rem}

  /* ---------- applications ---------- */
  .apps{background:var(--bone-2)}
  .app-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
  .app{padding:6px 0}
  .app .ic{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;margin-bottom:18px;color:var(--brass)}
  .app h3{font-family:"Cormorant Garamond";font-size:1.5rem;font-weight:600;margin-bottom:8px}
  .app p{color:var(--slate);font-size:.92rem}

  /* ---------- process ---------- */
  .process .steps{display:grid;grid-template-columns:repeat(4,1fr)}
  .pstep{padding:32px 28px 0 0;border-top:2px solid var(--graphite)}
  .pstep .n{font-family:"IBM Plex Mono";font-size:.74rem;letter-spacing:.14em;color:var(--brass)}
  .pstep h3{font-family:"Cormorant Garamond";font-size:1.7rem;font-weight:600;margin:18px 0 10px}
  .pstep p{color:var(--slate);font-size:.94rem}

  /* ---------- quote ---------- */
  .testi{background:var(--graphite);color:var(--bone)}
  .testi blockquote{font-family:"Cormorant Garamond";font-weight:500;font-size:clamp(1.7rem,3.6vw,2.7rem);line-height:1.22;max-width:20em}
  .testi blockquote em{color:var(--brass-lt);font-style:italic}
  .testi .by{display:flex;align-items:center;gap:15px;margin-top:34px}
  .testi .avatar{width:48px;height:48px;border-radius:50%;background:var(--brass);color:#1c1408;display:grid;place-items:center;font-weight:700;font-family:"Inter"}
  .testi .who{font-weight:600}.testi .role{color:#B7AE9F;font-size:.9rem}

  /* ---------- contact ---------- */
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
  .contact-info h2{font-size:clamp(2.2rem,4.5vw,3.2rem);margin:16px 0 18px}
  .contact-info p{color:var(--slate);max-width:30em}
  .info-list{margin-top:30px;display:grid;gap:18px}
  .info-list .row{display:flex;gap:14px;align-items:flex-start}
  .info-list .row .k{font-family:"IBM Plex Mono";font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brass);min-width:96px;padding-top:3px}
  .info-list .row .v{font-size:1rem}
  .form{background:var(--surface,#fff);border:1px solid var(--line);border-radius:6px;padding:30px}
  .form .field{display:grid;gap:6px;margin-bottom:16px}
  .form label{font-size:.8rem;color:var(--slate);letter-spacing:.02em}
  .form input,.form select,.form textarea{font-family:inherit;font-size:1rem;background:var(--bone);border:1px solid var(--line);border-radius:3px;padding:13px 14px;color:var(--graphite);transition:border-color .2s}
  .form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--brass)}
  .form textarea{resize:vertical;min-height:96px}
  .form .btn{width:100%}
  .form-note{font-size:.76rem;color:var(--slate);margin-top:12px;text-align:center}

  /* ---------- footer ---------- */
  footer{background:var(--graphite);color:var(--bone);padding:64px 0 40px}
  .foot{display:flex;justify-content:space-between;gap:36px;flex-wrap:wrap}
  .foot .brand{max-width:20em}
  .foot .brand .name{font-family:"Cormorant Garamond";font-size:1.5rem;font-weight:600}
  .foot .brand p{color:#B7AE9F;font-size:.9rem;margin-top:12px}
  .foot .col h4{font-family:"IBM Plex Mono";font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-lt);margin-bottom:14px}
  .foot .col a{display:block;color:var(--bone);opacity:.82;font-size:.92rem;padding:4px 0}
  .foot .col a:hover{opacity:1}
  .copyright{border-top:1px solid var(--line-dark);margin-top:48px;padding-top:26px;color:#9c9384;font-size:.82rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

  /* polished-stone sheen — animated light sweep for a video-like feel */
  .sheen{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit;z-index:2}
  .sheen::before{content:"";position:absolute;top:-60%;left:-80%;width:55%;height:220%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);transform:rotate(9deg);opacity:0}
  .slab .tag{z-index:4}
  .slab .sheen::before{animation:sweep 6.5s ease-in-out infinite}
  .slab.b .sheen::before{animation-delay:2.1s}
  .slab.c .sheen::before{animation-delay:4.2s}
  .swatch .surface{position:relative}
  .swatch:hover .sheen::before{animation:sweep 1.15s ease}
  @keyframes sweep{0%{left:-80%;opacity:0}12%{opacity:1}58%{left:155%;opacity:1}100%{left:155%;opacity:0}}

  .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
  .reveal.in{opacity:1;transform:none}

  @media(max-width:980px){
    .hero-grid{grid-template-columns:1fr;gap:50px}
    .creds .wrap{grid-template-columns:1fr 1fr}
    .collection-grid{grid-template-columns:1fr 1fr}
    .app-grid{grid-template-columns:1fr 1fr}
    .process .steps{grid-template-columns:1fr 1fr}
    .contact-grid{grid-template-columns:1fr;gap:40px}
    .nav-links{position:fixed;inset:80px 0 auto 0;background:var(--bone);flex-direction:column;align-items:flex-start;gap:0;padding:8px 26px 26px;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:transform .35s var(--ease)}
    .nav-links.open{transform:none}
    .nav-links a{padding:15px 0;width:100%;border-bottom:1px solid var(--line);font-size:1.05rem}
    .nav-links .btn{margin-top:14px;width:100%}
    .nav-toggle{display:block}
  }
  @media(max-width:600px){
    .collection-grid,.app-grid,.process .steps{grid-template-columns:1fr}
    .creds .wrap{grid-template-columns:1fr}
    .specs{gap:24px}
  }
  @media(prefers-reduced-motion:reduce){
    *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
    .reveal{opacity:1;transform:none}
  }

/* ---------- subpage additions ---------- */
.nav-links a.active{color:var(--graphite)}
.nav-links a.active::after{content:"";display:block;height:1px;background:var(--brass);margin-top:3px}
.page-hero{padding:72px 0 56px;border-bottom:1px solid var(--line)}
.page-hero .eyebrow{margin-bottom:18px}
.page-hero h1{font-size:clamp(2.6rem,6vw,4.4rem);max-width:14em}
.page-hero p{color:var(--slate);font-size:1.14rem;max-width:34em;margin-top:18px}
.section.first{padding-top:84px}
.lead-row{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.feature-list{display:grid;gap:0;margin-top:8px}
.feature-list .item{padding:26px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:120px 1fr;gap:24px}
.feature-list .item .lbl{font-family:"IBM Plex Mono";font-size:.74rem;letter-spacing:.12em;color:var(--brass);text-transform:uppercase;padding-top:5px}
.feature-list .item h3{font-family:"Cormorant Garamond";font-size:1.7rem;font-weight:600;margin-bottom:8px}
.feature-list .item p{color:var(--slate)}
.cta-band{background:var(--graphite);color:var(--bone);border-radius:24px;padding:clamp(40px,6vw,68px);text-align:center;margin-top:8px}
.cta-band .eyebrow{color:#E6C879;justify-content:center}.cta-band .eyebrow::before{background:#E6C879}
.cta-band h2{font-size:clamp(2rem,4.5vw,3rem);margin:16px 0 14px;color:var(--bone)}
.cta-band p{color:#B7AE9F;max-width:34em;margin:0 auto 28px}
.cta-band .btn-brass{background:var(--brass);border-color:var(--brass);color:#1c1408}
.cta-band .btn-brass:hover{background:var(--brass-lt);border-color:var(--brass-lt)}
@media(max-width:900px){.lead-row{grid-template-columns:1fr;gap:32px}.feature-list .item{grid-template-columns:1fr;gap:8px}}
