/* ═══════════════════════════════════════════════════════════════
   DAMAS STONE · shared stylesheet · Fine stone surfaces · London
   ═══════════════════════════════════════════════════════════════ */
:root{
  --onyx:#5B564D;      /* warm greige-taupe — soft dark ground (not green) */
  --onyx-deep:#4E4A42; /* deeper greige for footer */
  --marble:#F5F2EA;    /* off-white cream (dominant surface) */
  --marble-2:#EFEBE0;  /* slightly deeper cream for alternating sections */
  --stone:#A29C90;     /* warm stone grey */
  --vein:#6E685E;      /* taupe vein */
  --brass:#8A9576;     /* subtle sage-green accent (the only green, used sparingly) */
  --brass-deep:#6C7659;/* deeper sage for accent text/links on light */
  --ink:#3A3730;       /* body text on light (soft warm charcoal) */
  --line-l:#E0DBCF;    /* hairline on light */
  --line-d:#6B665C;    /* hairline on dark */
  --font-display:'Cormorant Garamond', Georgia, serif;
  --font-body:'Jost', system-ui, sans-serif;
  --nav-h:76px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body);background:var(--marble);color:var(--ink);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.06;letter-spacing:.005em;}
.wrap{max-width:1200px;margin:0 auto;padding-left:40px;padding-right:40px;}
.eyebrow{font-family:var(--font-body);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--brass-deep);font-weight:500;}
.eyebrow.on-dark{color:var(--brass);}
.btn{display:inline-block;font-family:var(--font-body);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;padding:16px 34px;border-radius:40px;transition:.25s;cursor:pointer;border:1px solid transparent;}
.btn-brass{background:var(--brass);color:#fff;}
.btn-brass:hover{background:var(--brass-deep);transform:translateY(-2px);}
.btn-line{border-color:currentColor;background:transparent;}
.btn-line:hover{background:var(--onyx);color:var(--marble);border-color:var(--onyx);}
.btn-line.on-dark{color:var(--marble);border-color:rgba(247,244,238,.4);}
.btn-line.on-dark:hover{background:var(--marble);color:var(--onyx);border-color:var(--marble);}

.grain::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

/* ── TOP BAR + NAV ── */
.topbar{background:var(--onyx);color:rgba(247,244,238,.7);font-size:12px;letter-spacing:.04em;}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:38px;flex-wrap:wrap;gap:8px;}
.topbar a{transition:.2s;}.topbar a:hover{color:var(--brass);}
.topbar-r{display:flex;gap:22px;}
nav{position:sticky;top:0;z-index:100;height:var(--nav-h);background:rgba(247,244,238,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(61,54,47,.08);transition:.3s;}
nav .wrap{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;max-width:100%;width:100%;margin:0;padding-left:clamp(24px,3vw,44px);padding-right:clamp(24px,3vw,44px);}
.nav-left{display:flex;justify-content:flex-start;}
.nav-right{display:flex;justify-content:flex-end;}
.logo{justify-self:center;}
.logo{display:flex;align-items:center;gap:13px;line-height:1;}
.logo .mono{font-family:var(--font-display);font-size:40px;font-weight:600;color:#C9A24B;line-height:.8;margin-top:-2px;}
.logo .lrule{width:1px;height:38px;background:var(--line-l);flex:0 0 auto;}
.logo .txt{display:flex;flex-direction:column;justify-content:center;}
.logo .mark{font-family:var(--font-display);font-size:25px;font-weight:600;letter-spacing:.06em;color:var(--onyx);}
.logo .mark .lus{color:var(--brass-deep);}
.logo .desc{font-family:var(--font-body);font-size:8px;letter-spacing:.32em;text-transform:uppercase;color:var(--vein);margin-top:5px;}
.nav-links{display:flex;align-items:center;gap:26px;}
.nav-links a{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-weight:400;transition:.2s;position:relative;}
.nav-links a:hover{color:var(--brass-deep);}
.nav-links a.active{color:var(--brass-deep);}
.nav-links a.active::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:1.5px;background:var(--brass);}
.nav-cta{padding:13px 28px;background:var(--onyx);color:var(--marble)!important;border-radius:40px;transition:.25s;}
.nav-cta:hover{background:var(--brass);}
.nav-cta.active::after{display:none;}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;}
.burger span{width:26px;height:2px;background:var(--onyx);transition:.3s;}

/* dropdown */
.has-drop{position:relative;}
.drop{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);background:var(--marble);border:1px solid var(--line-l);border-radius:3px;padding:10px;min-width:190px;opacity:0;visibility:hidden;transition:.22s;box-shadow:0 16px 40px rgba(61,54,47,.14);}
.has-drop:hover .drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.drop a{display:block;padding:9px 14px;font-size:11.5px;letter-spacing:.1em;border-radius:2px;transition:.18s;white-space:nowrap;}
.drop a:hover{background:rgba(201,162,75,.12);color:var(--brass-deep);}
.drop a.active::after{display:none;}

.mpanel{position:fixed;inset:0;background:var(--onyx);z-index:200;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:22px;transform:translateX(100%);transition:.4s;overflow-y:auto;padding:80px 20px;}
.mpanel.open{transform:none;}
.mpanel a{color:var(--marble);font-family:var(--font-display);font-size:26px;}
.mpanel a.sub{font-size:17px;color:rgba(247,244,238,.6);font-family:var(--font-body);letter-spacing:.06em;}
.mpanel .close{position:absolute;top:26px;right:30px;font-size:34px;color:var(--marble);cursor:pointer;}

/* ── SECTION SHELL ── */
section{position:relative;}
.pad{padding-top:110px;padding-bottom:110px;}
.pad-s{padding-top:76px;padding-bottom:76px;}
.sec-head{max-width:660px;}
.sec-head.center{margin:0 auto;text-align:center;}
.sec-head h2{font-size:clamp(34px,4.4vw,56px);margin:14px 0 0;color:var(--onyx);}
.sec-head h2 em{font-style:italic;color:var(--brass-deep);}
.sec-head p{margin-top:18px;color:var(--vein);font-weight:300;font-size:16.5px;}
.sec-head.on-dark h2{color:var(--marble);}
.sec-head.on-dark h2 em{color:var(--brass);}
.sec-head.on-dark p{color:rgba(247,244,238,.66);}

/* ── PAGE HERO (interior pages) ── */
.phero{background:var(--onyx);color:var(--marble);position:relative;overflow:hidden;}
.phero .wrap{padding-top:90px;padding-bottom:90px;position:relative;z-index:2;}
.phero .ghost{position:absolute;font-family:var(--font-display);font-weight:600;font-size:clamp(300px,42vw,560px);color:rgba(247,244,238,.03);right:-4%;top:50%;transform:translateY(-50%);line-height:.8;pointer-events:none;z-index:1;}
.phero h1{font-size:clamp(40px,6vw,84px);font-weight:400;max-width:16ch;}
.phero h1 em{font-style:italic;color:var(--brass);}
.phero p{margin-top:22px;max-width:56ch;font-size:clamp(15px,1.5vw,18px);font-weight:300;color:rgba(247,244,238,.72);}
.phero .crumb{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin-bottom:24px;}
.phero .crumb a{color:rgba(247,244,238,.5);}
.phero .crumb a:hover{color:var(--brass);}

/* reveal */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease;}
body.ready .reveal.in{opacity:1;transform:none;}

/* ── MATERIALS CARDS ── */
.materials{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:56px;}
.mat{position:relative;border-radius:3px;overflow:hidden;min-height:400px;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;color:#fff;isolation:isolate;transition:.4s;}
.mat::before{content:'';position:absolute;inset:0;z-index:-2;transition:transform .6s ease;background-size:cover;background-position:center;}
.mat::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(to top, rgba(58,54,47,.82) 0%, rgba(58,54,47,.15) 55%, rgba(58,54,47,.35) 100%);}
.mat:hover{transform:translateY(-6px);}
.mat:hover::before{transform:scale(1.06);}
.mat-marble::before{background-image:url('white-statuario.webp');}
.mat-granite::before{background-image:url('golden-portoro.webp');}
.mat-quartz::before{background-image:url('crema-marfil.webp');}
.mat-quartz{color:var(--ink);}
.mat-quartz::after{background:linear-gradient(to top, rgba(247,244,238,.9) 0%, rgba(247,244,238,.1) 55%, rgba(247,244,238,.4) 100%);}
.mat-dekton::before{background-image:url('black-marquina.webp');}
.mat-tag{font-family:var(--font-body);font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.8;margin-bottom:8px;}
.mat h3{font-size:30px;font-weight:500;}
.mat p{font-size:13.5px;font-weight:300;margin-top:8px;opacity:.9;}
.mat-link{margin-top:16px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;color:var(--brass);font-weight:500;}
.mat-quartz .mat-tag,.mat-quartz p{opacity:.7;color:var(--vein);}
.mat-quartz .mat-link{color:var(--brass-deep);}

/* ── SWATCH GRID ── */
.swatch-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin-top:52px;}
.sw-img{aspect-ratio:1;background-size:cover;background-position:center;border-radius:4px;box-shadow:0 2px 12px rgba(61,54,47,.10);transition:transform .4s ease,box-shadow .4s ease;}
.swatch:hover .sw-img{transform:translateY(-5px) scale(1.02);box-shadow:0 16px 32px rgba(61,54,47,.2);}
.swatch figcaption{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--vein);text-align:center;margin-top:12px;transition:color .3s;}
.swatch:hover figcaption{color:var(--brass-deep);}

/* ── PROCESS ── */
.process{background:var(--marble);color:var(--ink);}
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:56px;background:rgba(201,162,75,.18);border:1px solid rgba(201,162,75,.18);}
.proc{background:var(--onyx);padding:44px 32px;transition:.3s;}
.proc:hover{background:#68635A;}
.proc-num{font-family:var(--font-display);font-size:15px;color:var(--brass);letter-spacing:.1em;}
.proc h3{font-size:25px;margin:14px 0 12px;font-weight:500;color:var(--marble);}
.proc p{font-size:13.5px;font-weight:300;color:rgba(247,244,238,.6);}
.proc-note{margin-top:40px;text-align:center;font-family:var(--font-display);font-style:italic;font-size:clamp(20px,2.4vw,30px);color:var(--marble);}
.proc-note b{color:var(--brass-deep);font-style:normal;font-weight:600;}

/* ── SPLIT (services / why) ── */
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.svc-list{margin-top:26px;}
.svc-row{display:flex;gap:20px;padding:22px 0;border-top:1px solid rgba(61,54,47,.12);}
.svc-row:last-child{border-bottom:1px solid rgba(61,54,47,.12);}
.svc-row .n{font-family:var(--font-display);font-size:20px;color:var(--brass-deep);flex:0 0 auto;line-height:1.3;}
.svc-row h4{font-family:var(--font-body);font-size:15px;font-weight:600;letter-spacing:.02em;color:var(--onyx);margin-bottom:4px;}
.svc-row p{font-size:14px;font-weight:300;color:var(--vein);}
.why-panel{background:radial-gradient(120% 120% at 80% 10%, #68635A, var(--onyx));color:var(--marble);border-radius:3px;padding:56px 48px;position:relative;overflow:hidden;}
.why-panel h3{font-size:34px;font-weight:400;margin-bottom:28px;}
.why-panel h3 em{font-style:italic;color:var(--brass);}
.why-item{display:flex;gap:14px;padding:15px 0;border-top:1px solid rgba(247,244,238,.12);font-size:14.5px;font-weight:300;color:rgba(247,244,238,.85);}
.why-item::before{content:'✦';color:var(--brass);flex:0 0 auto;}

/* ── WORK / PROJECT GRID ── */
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px;}
.work-card{position:relative;border-radius:5px;overflow:hidden;aspect-ratio:4/3;cursor:pointer;box-shadow:0 10px 30px rgba(61,54,47,.14);}
.work-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.work-card:hover img{transform:scale(1.07);}
.work-card .ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(58,54,47,.85),rgba(58,54,47,.05) 60%);display:flex;flex-direction:column;justify-content:flex-end;padding:26px;}
.work-card .loc{font-family:var(--font-display);font-size:24px;color:var(--marble);font-weight:500;}
.work-card .meta{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin-top:5px;}

/* ── REVIEWS ── */
.reviews-band{background:var(--marble);color:var(--ink);text-align:center;padding:72px 0;position:relative;overflow:hidden;}
.reviews-band .wrap{max-width:880px;position:relative;z-index:2;}
.rev-stars{color:var(--brass);letter-spacing:6px;font-size:16px;margin-bottom:10px;}
.rev-src{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(247,244,238,.5);margin-bottom:28px;}
.rev-viewport{display:grid;}
.rev{grid-area:1/1;align-self:center;opacity:0;transform:translateY(12px);transition:opacity .8s ease,transform .8s ease;pointer-events:none;}
.rev.active{opacity:1;transform:none;pointer-events:auto;}
.rev blockquote{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(21px,2.7vw,32px);line-height:1.4;color:var(--marble);}
.rev cite{display:block;margin-top:22px;font-family:var(--font-body);font-style:normal;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);}
.rev-dots{display:flex;gap:9px;justify-content:center;margin-top:34px;}
.rev-dot{width:8px;height:8px;border-radius:50%;background:rgba(247,244,238,.25);cursor:pointer;transition:.3s;}
.rev-dot.active{background:var(--brass);width:24px;border-radius:4px;}

/* ── REVIEW CARDS (grid, reviews page) ── */
.rev-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px;}
.rc{background:#fff;border:1px solid var(--line-l);border-radius:5px;padding:28px;box-shadow:0 4px 18px rgba(61,54,47,.05);}
.rc .stars{color:var(--brass);letter-spacing:3px;font-size:14px;margin-bottom:14px;}
.rc p{font-size:14.5px;font-weight:300;color:#4A443C;line-height:1.6;}
.rc .who{margin-top:18px;display:flex;align-items:center;gap:12px;}
.rc .av{width:38px;height:38px;border-radius:50%;background:var(--onyx);color:var(--brass);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:17px;flex:0 0 auto;}
.rc .nm{font-size:13px;font-weight:600;color:var(--onyx);}
.rc .src{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--stone);margin-top:2px;}

/* ── CONTACT / QUOTE ── */
.quote-sec{background:var(--marble);color:var(--ink);}
.quote-inner{display:grid;grid-template-columns:1fr 1fr;gap:70px;}
.quote-info .eyebrow{display:inline-block;background:var(--brass);color:#fff;border-radius:40px;padding:8px 20px;font-size:11px;letter-spacing:.16em;margin-bottom:20px;}
.quote-info h2{font-size:clamp(36px,4.4vw,58px);color:var(--onyx);font-weight:500;line-height:1.02;}
.quote-info h2 em{font-style:italic;color:var(--brass-deep);}
.quote-info>p{margin-top:20px;color:var(--vein);font-weight:300;max-width:42ch;}
.contact-list{margin-top:36px;display:flex;flex-direction:column;gap:2px;}
.cl{display:flex;gap:16px;padding:16px 0;border-top:1px solid var(--line-l);}
.cl .k{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-deep);flex:0 0 130px;padding-top:3px;}
.cl .v{font-size:15px;font-weight:300;color:var(--ink);}
.cl .v a:hover{color:var(--brass);}
.qform{background:#fff;border:1px solid var(--line-l);border-radius:8px;padding:40px;box-shadow:0 10px 30px rgba(58,54,47,.06);}
.qform h3{font-family:var(--font-display);font-size:26px;color:var(--onyx);margin-bottom:6px;}
.qform .sub{font-size:13px;color:var(--vein);margin-bottom:26px;}
.field{margin-bottom:16px;}
.field label{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--vein);margin-bottom:7px;}
.field input,.field select,.field textarea{width:100%;padding:13px 15px;border:1px solid rgba(61,54,47,.2);border-radius:2px;font-family:var(--font-body);font-size:14px;color:var(--ink);background:#fff;transition:.2s;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brass);}
.field textarea{resize:vertical;min-height:90px;}
.qform .btn-brass{width:100%;text-align:center;border:none;margin-top:6px;}
.qnote{font-size:11px;color:var(--vein);text-align:center;margin-top:14px;}
.qsuccess{display:none;text-align:center;padding:30px 10px;}
.qsuccess.show{display:block;}
.qsuccess .tick{font-size:34px;color:var(--brass);}
.qsuccess h3{margin:10px 0 6px;}
.qsuccess p{font-size:14px;color:var(--vein);}

/* ── PROSE (materials/about body) ── */
.prose{max-width:760px;}
.prose p{font-weight:300;font-size:16.5px;color:#4A443C;margin-bottom:20px;}
.prose h3{font-size:28px;color:var(--onyx);margin:38px 0 14px;}
.prose ul{list-style:none;margin:0 0 20px;}
.prose li{position:relative;padding-left:26px;margin-bottom:12px;font-weight:300;color:#4A443C;}
.prose li::before{content:'✦';position:absolute;left:0;color:var(--brass-deep);}

/* two-col feature */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.feature img{border-radius:5px;box-shadow:0 16px 40px rgba(61,54,47,.16);aspect-ratio:4/3;object-fit:cover;width:100%;}
.feature.rev-order .txt{order:2;}

/* placeholder note */
.ph-note{background:rgba(201,162,75,.1);border:1px dashed var(--brass);border-radius:3px;padding:5px 12px;font-size:10.5px;letter-spacing:.06em;color:var(--brass-deep);display:inline-block;margin-bottom:14px;font-weight:500;}

/* stat band */
.stats{display:flex;gap:40px;flex-wrap:wrap;margin-top:20px;}
.stats div{border-left:1px solid rgba(201,162,75,.5);padding-left:16px;}
.stats b{font-family:var(--font-display);font-size:30px;font-weight:500;color:var(--marble);display:block;line-height:1;}
.stats span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(247,244,238,.55);}

/* ── FAQ ── */
.faq{max-width:820px;margin:48px auto 0;}
.faq details{border-bottom:1px solid var(--line-l);padding:20px 0;}
.faq summary{font-family:var(--font-display);font-size:21px;color:var(--onyx);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'+';color:var(--brass-deep);font-size:26px;transition:.3s;flex:0 0 auto;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq details p{margin-top:14px;font-weight:300;color:#4A443C;font-size:15.5px;line-height:1.65;}

/* ── FOOTER ── */
footer{background:var(--onyx-deep);color:rgba(247,244,238,.6);padding:70px 0 30px;}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:40px;}
.foot-logo{font-family:var(--font-display);font-size:26px;color:var(--marble);font-weight:600;letter-spacing:.06em;display:flex;align-items:baseline;gap:2px;}
.foot-logo .fmono{color:#C9A24B;font-size:30px;margin-right:6px;}
.foot-logo span{color:var(--brass);}
.foot-grid>div>p{font-size:13.5px;font-weight:300;margin-top:16px;max-width:34ch;}
.foot-col h5{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);margin-bottom:16px;}
.foot-col a,.foot-col li{display:block;font-size:13.5px;font-weight:300;margin-bottom:10px;list-style:none;transition:.2s;}
.foot-col a:hover{color:var(--brass);}
.foot-bottom{margin-top:56px;padding-top:24px;border-top:1px solid rgba(247,244,238,.1);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12px;}
.foot-social{display:flex;gap:18px;}

/* ── RESPONSIVE ── */
@media(max-width:1000px){
  .materials{grid-template-columns:repeat(2,1fr);}
  .proc-grid{grid-template-columns:repeat(2,1fr);}
  .split,.quote-inner,.feature{grid-template-columns:1fr;gap:44px;}
  .feature.rev-order .txt{order:0;}
  .work-grid,.rev-cards{grid-template-columns:repeat(2,1fr);}
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px;}
  .swatch-grid{grid-template-columns:repeat(4,1fr);}
}
@media(max-width:680px){
  .wrap{padding-left:22px;padding-right:22px;}
  .pad{padding-top:70px;padding-bottom:70px;}
  /* mobile nav: burger left, logo centred, desktop links + CTA hidden */
  nav .wrap{display:flex;justify-content:center;align-items:center;position:relative;}
  .nav-left,.nav-right{display:none;}
  .nav-links{display:none;}
  .burger{display:flex;position:absolute;left:22px;top:50%;transform:translateY(-50%);}
  .logo{justify-self:auto;margin:0;}
  .logo .mono{font-size:34px;}
  .logo .mark{font-size:21px;}
  .logo .desc{font-size:7px;letter-spacing:.26em;}
  .topbar .wrap{justify-content:center;}.topbar-l{display:none;}
  .materials,.proc-grid,.work-grid,.rev-cards{grid-template-columns:1fr;}
  .swatch-grid{grid-template-columns:repeat(3,1fr);gap:12px;}
  .swatch figcaption{font-size:9.5px;}
  .foot-grid{grid-template-columns:1fr 1fr;gap:26px 20px;}
  footer{padding:44px 0 24px;}
  .foot-grid>div:first-child{grid-column:1 / -1;}
  .foot-grid>div>p{font-size:12.5px;}
  .foot-col h5{margin-bottom:10px;}
  .foot-col a,.foot-col li{margin-bottom:7px;font-size:12.5px;}
  .foot-bottom{margin-top:30px;flex-direction:column;gap:10px;text-align:center;align-items:center;}
  .qform{padding:30px 24px;}
  .phero .wrap{padding-top:60px;padding-bottom:60px;}
}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;}}

/* ═══════════════════════════════════════════════════════════════
   PROCESS TIMELINE — bold, minimal, standout
   ═══════════════════════════════════════════════════════════════ */
.timeline{margin-top:70px;}
.tl-track{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative;}
/* strong connecting line through the numerals */
.tl-track::before{content:'';position:absolute;left:10%;right:10%;top:46px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(201,162,75,.55) 12%,rgba(201,162,75,.55) 88%,transparent);z-index:0;}
.tl-step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 12px;}
/* big serif numeral in a ring */
.tl-num{width:92px;height:92px;border-radius:50%;background:var(--marble);border:1px solid var(--brass);
  display:flex;align-items:center;justify-content:center;margin-bottom:26px;
  font-family:var(--font-display);font-size:40px;font-weight:500;color:var(--brass);
  transition:transform .35s ease,border-color .35s ease,background .35s ease;}
.tl-step:hover .tl-num{transform:translateY(-6px);border-color:var(--brass-deep);background:rgba(138,149,118,.12);}
.tl-step h3{display:inline-block;font-family:var(--font-display);font-size:clamp(21px,2vw,26px);font-weight:500;color:var(--onyx);
  margin-bottom:14px;background:#fff;border:1px solid var(--line-l);border-radius:40px;padding:9px 24px;box-shadow:0 3px 12px rgba(58,54,47,.06);}
.tl-step p{font-size:13px;font-weight:300;color:var(--vein);line-height:1.4;max-width:20ch;margin:0 auto;}
.tl-when-lbl{display:inline-block;margin-top:16px;font-family:var(--font-body);font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;font-weight:500;color:#fff;background:var(--brass);border-radius:30px;padding:6px 14px;}
.proc-note{margin-top:56px;text-align:center;font-family:var(--font-display);font-style:italic;
  font-size:clamp(22px,2.6vw,32px);font-weight:400;color:var(--onyx);}
.proc-note b{color:var(--brass-deep);font-style:normal;font-weight:600;}

@media(max-width:900px){
  .tl-track{grid-template-columns:1fr;gap:8px;}
  .tl-track::before{left:46px;right:auto;top:10%;bottom:10%;width:1px;height:auto;
    background:linear-gradient(180deg,transparent,rgba(201,162,75,.5) 10%,rgba(201,162,75,.5) 90%,transparent);}
  .tl-step{flex-direction:row;text-align:left;gap:22px;align-items:flex-start;padding:14px 0;}
  .tl-num{width:66px;height:66px;font-size:28px;margin-bottom:0;flex:0 0 auto;}
  .tl-step .tl-body{flex:1;padding-top:8px;}
  .tl-step p{margin:0;max-width:none;}
  .tl-when-lbl{margin-top:10px;}
}

/* ═══════════════════════════════════════════════════════════════
   HERO SLIDESHOW
   ═══════════════════════════════════════════════════════════════ */
.hero-slider{position:relative;min-height:calc(100vh - 114px);overflow:hidden;background:var(--onyx);}
.hslide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;transition:opacity 1.1s ease;z-index:0;
  background-size:cover;background-position:center;}
.hslide.active{opacity:1;z-index:1;}
/* readable gradient over each photo */
.hslide::before{content:'';position:absolute;inset:0;
  background:linear-gradient(100deg, rgba(58,54,47,.94) 0%, rgba(58,54,47,.80) 34%, rgba(58,54,47,.50) 64%, rgba(58,54,47,.30) 100%);}
.hslide .wrap{position:relative;z-index:2;padding-top:70px;padding-bottom:90px;color:var(--marble);}
/* content hugs the screen edges: override the shared centered wrap entirely */
.hslide .wrap{display:flex;flex-direction:column;align-items:flex-start;max-width:100%;width:100%;margin:0;
  padding-left:clamp(36px,5vw,90px);padding-right:clamp(36px,5vw,90px);box-sizing:border-box;}
.hslide .hcontent{max-width:580px;}
.hslide.right .wrap{align-items:flex-end;}
.hslide.right .hcontent{text-align:right;}
.hslide.right .hsub{margin-left:auto;}
.hslide.right .hcta{justify-content:flex-end;}
/* flip the readable gradient to the right for right-aligned slides */
.hslide.right::before{background:linear-gradient(260deg, rgba(58,54,47,.94) 0%, rgba(58,54,47,.80) 34%, rgba(58,54,47,.50) 64%, rgba(58,54,47,.30) 100%);}
.hslide .eyebrow{margin-bottom:22px;transform:translateY(14px);opacity:0;transition:.7s ease .2s;color:#EBD9A8;text-shadow:0 1px 8px rgba(30,26,22,.5);}
.hslide h1{font-size:clamp(44px,6.6vw,96px);font-weight:400;max-width:15ch;line-height:1.03;margin-bottom:26px;
  transform:translateY(18px);opacity:0;transition:.8s ease .32s;}
.hslide h1 em{font-style:italic;color:#EBD9A8;}
/* sub-heading: plain text, no pill */
.hslide .hsub{display:block;font-size:clamp(15px,1.5vw,18px);font-weight:300;max-width:46ch;
  color:rgba(247,244,238,.85);margin-bottom:36px;line-height:1.5;text-shadow:0 1px 10px rgba(30,26,22,.4);
  transform:translateY(18px);opacity:0;transition:.8s ease .44s;}
.hslide .hcta{display:flex;gap:16px;flex-wrap:wrap;transform:translateY(18px);opacity:0;transition:.8s ease .56s;}
.hslide.active .eyebrow,.hslide.active h1,.hslide.active .hsub,.hslide.active .hcta{transform:none;opacity:1;}
/* right-variant: push the width-limited blocks to the right edge */
.hslide.right h1{margin-left:auto;}
.hslide.right .hsub{margin-left:auto;}
@media(max-width:760px){
  /* on phones, everything left-aligns for readability regardless of variant */
  .hslide.right .hcontent{margin-left:0;text-align:left;}
  .hslide.right h1,.hslide.right .hsub{margin-left:0;}
  .hslide.right .hcta{justify-content:flex-start;}
  .hslide.right::before{background:linear-gradient(100deg, rgba(58,54,47,.94) 0%, rgba(58,54,47,.80) 34%, rgba(58,54,47,.50) 64%, rgba(58,54,47,.30) 100%);}
}

/* controls */
.hero-dots{position:absolute;left:0;right:0;bottom:30px;z-index:5;display:flex;gap:10px;justify-content:center;}
.hero-dot{width:30px;height:4px;border-radius:3px;background:rgba(247,244,238,.3);cursor:pointer;transition:.3s;border:none;padding:0;}
.hero-dot.active{background:var(--brass);width:46px;}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:52px;height:52px;border-radius:50%;
  border:1px solid rgba(247,244,238,.3);background:rgba(58,54,47,.35);color:var(--marble);cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:.25s;backdrop-filter:blur(4px);}
.hero-arrow:hover{background:var(--brass);border-color:var(--brass);color:#fff;}
.hero-arrow svg{width:20px;height:20px;}
.hero-arrow.prev{left:26px;} .hero-arrow.next{right:26px;}
.hero-count{position:absolute;bottom:26px;right:34px;z-index:5;font-family:var(--font-body);font-size:12px;
  letter-spacing:.12em;color:rgba(247,244,238,.55);}
.hero-count b{color:var(--brass);}

@media(max-width:900px){.hero-arrow{display:none;}}
@media(max-width:680px){.hslide .wrap{padding-bottom:80px;}.hero-count{display:none;}}
@media(prefers-reduced-motion:reduce){.hslide{transition:opacity .3s;}}

/* ═══════════════════════════════════════════════════════════════
   SERVICE PILLS (rounded, link to detail pages)
   ═══════════════════════════════════════════════════════════════ */
.svc-pills{display:flex;flex-direction:column;gap:14px;margin-top:26px;}
.svc-pill{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line-l);border-radius:40px;
  padding:16px 24px;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;box-shadow:0 3px 14px rgba(61,54,47,.05);}
.svc-pill:hover{transform:translateX(6px);border-color:var(--brass);box-shadow:0 10px 26px rgba(61,54,47,.12);}
.svc-pill .ico{width:38px;height:38px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  background:rgba(201,162,75,.14);color:var(--brass-deep);font-size:16px;}
.svc-pill h4{font-family:var(--font-body);font-size:15.5px;font-weight:600;color:var(--onyx);letter-spacing:.01em;flex:1;}
.svc-pill .arw{color:var(--brass-deep);font-size:18px;flex:0 0 auto;transition:transform .28s ease;}
.svc-pill:hover .arw{transform:translateX(4px);}

/* service detail page brief cards */
.brief-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px;}
.brief{background:#fff;border:1px solid var(--line-l);border-radius:14px;padding:28px;}
.brief .ico{width:44px;height:44px;border-radius:50%;background:rgba(201,162,75,.14);color:var(--brass-deep);
  display:flex;align-items:center;justify-content:center;font-size:19px;margin-bottom:16px;}
.brief h4{font-family:var(--font-display);font-size:21px;color:var(--onyx);margin-bottom:8px;}
.brief p{font-size:14px;font-weight:300;color:#5A5148;line-height:1.55;}
@media(max-width:900px){.brief-grid{grid-template-columns:1fr;}}

/* ═══════════════════════════════════════════════════════════════
   SLAB LIBRARY — filterable gallery
   ═══════════════════════════════════════════════════════════════ */
.slab-filters{display:flex;flex-direction:column;gap:18px;margin-top:44px;margin-bottom:40px;align-items:center;}
.filter-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;}
.filter-row .flabel{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--vein);align-self:center;margin-right:6px;}
.fbtn{font-family:var(--font-body);font-size:12px;letter-spacing:.08em;padding:9px 20px;border-radius:40px;
  border:1px solid var(--line-l);background:#fff;color:var(--ink);cursor:pointer;transition:.22s;}
.fbtn:hover{border-color:var(--brass);color:var(--brass-deep);}
.fbtn.active{background:var(--brass);border-color:var(--brass);color:#fff;}

.slab-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:10px;}
.slab{border-radius:10px;overflow:hidden;background:#fff;border:1px solid var(--line-l);
  box-shadow:0 4px 16px rgba(58,54,47,.05);transition:transform .3s ease,box-shadow .3s ease;cursor:pointer;display:flex;flex-direction:column;}
.slab:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(58,54,47,.14);}
.slab-img{aspect-ratio:4/5;background-size:cover;background-position:center;}
.slab-info{padding:16px 18px 18px;}
.slab-info h4{font-family:var(--font-display);font-size:19px;font-weight:500;color:var(--onyx);line-height:1.15;}
.slab-info .meta{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--stone);margin-top:5px;}
.slab.hide{display:none;}
.slab-empty{grid-column:1/-1;text-align:center;color:var(--vein);font-weight:300;padding:40px 0;display:none;}

/* lightbox */
.lb{position:fixed;inset:0;background:rgba(42,38,32,.92);z-index:300;display:none;align-items:center;justify-content:center;padding:30px;}
.lb.open{display:flex;}
.lb-inner{max-width:900px;width:100%;background:var(--marble);border-radius:12px;overflow:hidden;display:grid;grid-template-columns:1.3fr 1fr;box-shadow:0 30px 80px rgba(0,0,0,.4);}
.lb-img{background-size:cover;background-position:center;min-height:440px;}
.lb-txt{padding:44px 40px;display:flex;flex-direction:column;}
.lb-txt .meta{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-deep);margin-bottom:14px;}
.lb-txt h3{font-family:var(--font-display);font-size:38px;font-weight:500;color:var(--onyx);line-height:1.05;margin-bottom:16px;}
.lb-txt p{font-weight:300;color:#5A5348;font-size:15px;margin-bottom:14px;}
.lb-txt .spec{display:flex;gap:8px;padding:10px 0;border-top:1px solid var(--line-l);font-size:13px;}
.lb-txt .spec .k{color:var(--vein);flex:0 0 90px;letter-spacing:.04em;}
.lb-txt .cta{margin-top:auto;padding-top:24px;}
.lb-close{position:absolute;top:22px;right:28px;font-size:34px;color:var(--marble);cursor:pointer;line-height:1;}
@media(max-width:1000px){.slab-grid{grid-template-columns:repeat(3,1fr);}.lb-inner{grid-template-columns:1fr;}.lb-img{min-height:280px;}}
@media(max-width:680px){.slab-grid{grid-template-columns:repeat(2,1fr);gap:14px;}}

/* ═══════════════════════════════════════════════════════════════
   WORK — premium horizontal carousel (clean equal-height cards)
   ═══════════════════════════════════════════════════════════════ */
.work-carousel{background:var(--marble);color:var(--ink);overflow:hidden;}
.work-carousel .wc-inner{display:grid;grid-template-columns:340px 1fr;gap:0;align-items:center;}
.wc-intro{padding:0 48px 0 0;}
.wc-intro .eyebrow{color:var(--brass);}
.wc-intro h2{font-family:var(--font-display);font-size:clamp(34px,3.6vw,50px);font-weight:400;color:var(--onyx);margin:14px 0 18px;line-height:1.04;}
.wc-intro h2 em{font-style:italic;color:var(--brass-deep);}
.wc-intro p{font-weight:300;color:var(--vein);font-size:15px;margin-bottom:28px;max-width:34ch;}
.wc-track{display:flex;gap:24px;overflow-x:auto;scroll-behavior:smooth;padding:10px 0 20px;scroll-snap-type:x mandatory;
  -ms-overflow-style:none;scrollbar-width:none;}
.wc-track::-webkit-scrollbar{display:none;}
.wc-card{position:relative;flex:0 0 clamp(280px,26vw,340px);aspect-ratio:3/4;border-radius:6px;overflow:hidden;
  scroll-snap-align:start;box-shadow:0 20px 44px rgba(0,0,0,.4);cursor:pointer;}
.wc-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.6,.2,1);}
.wc-card:hover img{transform:scale(1.06);}
.wc-card .ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,16,12,.82),rgba(20,16,12,.05) 55%);
  display:flex;flex-direction:column;justify-content:flex-end;padding:26px 26px 28px;}
.wc-card .meta{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin-bottom:8px;}
.wc-card .loc{font-family:var(--font-display);font-size:27px;color:#fff;font-weight:500;line-height:1;}
.wc-controls{display:flex;align-items:center;gap:20px;margin-top:28px;}
.wc-btn{width:48px;height:48px;border-radius:50%;border:1px solid var(--line-l);background:transparent;color:var(--onyx);
  cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.25s;}
.wc-btn:hover{background:var(--brass);border-color:var(--brass);color:#fff;}
.wc-btn svg{width:18px;height:18px;}
.wc-count{font-family:var(--font-display);font-size:15px;color:rgba(247,244,238,.55);letter-spacing:.1em;}
.wc-count b{color:var(--brass);font-size:20px;}
@media(max-width:900px){
  .work-carousel .wc-inner{grid-template-columns:1fr;gap:32px;}
  .wc-intro{padding:0;}
  .wc-card{flex-basis:74vw;}
}
ENDCSS

/* image-backed page hero (About workshop) */
.phero-img .wrap{padding-top:150px;padding-bottom:150px;}
.phero-img h1 em{color:#EBD9A8;}
@media(max-width:680px){.phero-img .wrap{padding-top:90px;padding-bottom:90px;}}

/* ═══════════════════════════════════════════════════════════════
   WHY DAMAS STONE — scroll-through reason cards (own section)
   ═══════════════════════════════════════════════════════════════ */
.why-section{background:var(--marble);color:var(--ink);overflow:hidden;}
.why-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;}
.why-head .eyebrow{color:var(--brass);}
.why-head h2{font-family:var(--font-display);font-size:clamp(32px,3.6vw,50px);font-weight:400;color:var(--onyx);margin-top:12px;line-height:1.05;}
.why-head h2 em{font-style:italic;color:var(--brass-deep);}
.why-controls{display:flex;gap:14px;}
.why-btn{width:48px;height:48px;border-radius:50%;border:1px solid var(--line-l);background:transparent;color:var(--onyx);
  cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.25s;}
.why-btn:hover{background:var(--brass);border-color:var(--brass);color:#fff;}
.why-btn svg{width:18px;height:18px;}
.why-track{display:flex;gap:22px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;
  margin-top:46px;padding-bottom:12px;-ms-overflow-style:none;scrollbar-width:none;}
.why-track::-webkit-scrollbar{display:none;}
.why-card{flex:0 0 clamp(280px,30vw,360px);scroll-snap-align:start;background:#fff;border:1px solid var(--line-l);
  border-radius:10px;overflow:hidden;transition:transform .4s ease,border-color .4s ease;display:flex;flex-direction:column;}
.why-card:hover{transform:translateY(-6px);border-color:var(--brass);box-shadow:0 16px 34px rgba(58,54,47,.12);}
/* image area (placeholder gradient until real images are dropped in) */
.why-card .wc-img{aspect-ratio:16/11;background-size:cover;background-position:center;position:relative;background-color:#3f3a33;}
.why-card .wc-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(30,26,22,.35),transparent 40%);}
.why-card .wc-img .num{position:absolute;top:16px;left:18px;z-index:1;font-family:var(--font-display);font-size:40px;font-weight:500;color:#EBD9A8;line-height:1;text-shadow:0 2px 10px rgba(30,26,22,.6);}
.why-card .wc-txt{padding:24px 24px 28px;}
.why-card .wc-txt h3{font-family:var(--font-display);font-size:23px;font-weight:500;color:var(--onyx);margin-bottom:10px;}
.why-card .wc-txt p{font-size:14px;font-weight:300;color:var(--vein);line-height:1.55;
  max-height:0;opacity:0;overflow:hidden;transition:max-height .45s ease,opacity .4s ease,margin .4s ease;}
.why-card:hover .wc-txt p{max-height:120px;opacity:1;}
.why-card .wc-txt .sub{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-deep);}
@media(max-width:680px){
  .why-card{flex-basis:78vw;}
  .why-card .wc-txt p{max-height:120px;opacity:1;}  /* always show on mobile (no hover) */
}

/* ═══════════════════════════════════════════════════════════════
   MATERIAL DETAIL — clean fading-in descriptions/bullets
   ═══════════════════════════════════════════════════════════════ */
.mat-glance{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;margin-top:16px;}
.mg-card{}
.mg-card h3{font-family:var(--font-display);font-size:24px;font-weight:500;color:var(--onyx);margin-bottom:8px;}
.mg-card .mg-rule{width:36px;height:2px;background:var(--brass);margin-bottom:22px;border-radius:2px;}
.mg-list{list-style:none;margin:0;padding:0;}
.mg-list li{position:relative;padding-left:24px;margin-bottom:16px;font-weight:300;font-size:15px;color:#4A443C;line-height:1.5;
  opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease;}
.mg-list li::before{content:'';position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:50%;background:var(--brass);}
/* stagger each bullet as the card reveals */
.mat-glance.in .mg-list li{opacity:1;transform:none;}
.mat-glance.in .mg-list li:nth-child(1){transition-delay:.05s;}
.mat-glance.in .mg-list li:nth-child(2){transition-delay:.15s;}
.mat-glance.in .mg-list li:nth-child(3){transition-delay:.25s;}
.mat-glance.in .mg-list li:nth-child(4){transition-delay:.35s;}
.mat-glance.in .mg-list li:nth-child(5){transition-delay:.45s;}
.mat-glance.in .mg-list li:nth-child(6){transition-delay:.55s;}
.mg-care{font-size:15px;font-weight:300;color:#4A443C;line-height:1.6;
  opacity:0;transform:translateY(12px);transition:opacity .6s ease .15s,transform .6s ease .15s;}
.mat-glance.in .mg-care{opacity:1;transform:none;}
@media(max-width:820px){.mat-glance{grid-template-columns:1fr;gap:40px;}}

/* hero CTAs: transparent glassy pills */
.hslide .hcta .btn{background:rgba(247,244,238,.08);backdrop-filter:blur(6px);border:1px solid rgba(247,244,238,.5);color:var(--marble);}
.hslide .hcta .btn:hover{background:rgba(247,244,238,.95);color:var(--onyx);border-color:transparent;transform:translateY(-2px);}

/* ── MOBILE: centre trust bar, work + why sections ── */
@media(max-width:680px){
  /* trust bar centred */
  .stats{justify-content:center;text-align:center;gap:28px;}
  .stats div{border-left:none;border-top:1px solid rgba(201,162,75,.4);padding-left:0;padding-top:10px;}
  /* work carousel: centre intro + controls */
  .wc-intro{text-align:center;}
  .wc-intro .wc-controls{justify-content:center;}
  .wc-intro .btn{margin-left:auto;margin-right:auto;}
  .work-carousel .wc-track{justify-content:flex-start;}
  /* why section: centre heading + controls */
  .why-head{flex-direction:column;align-items:center;text-align:center;}
  .why-head .why-controls{justify-content:center;}
  .why-section .btn{display:block;margin-left:auto;margin-right:auto;text-align:center;width:fit-content;}
  /* sec-head general centre on mobile for these */
  #work .wc-intro h2,#why .why-head h2{margin-left:auto;margin-right:auto;}
}

/* ── MOBILE MENU: collapsible groups ── */
.mgroup{width:100%;display:flex;flex-direction:column;align-items:center;}
.mtoggle{background:none;border:none;color:var(--marble);font-family:var(--font-display);font-size:26px;cursor:pointer;
  display:flex;align-items:center;gap:12px;padding:0;}
.mtoggle .mchev{font-family:var(--font-body);font-size:22px;color:var(--brass);font-weight:300;}
.msub{max-height:0;overflow:hidden;transition:max-height .4s ease;display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;}
.mgroup.mopen .msub{max-height:520px;margin-top:18px;}
.msub a{font-size:17px!important;color:rgba(247,244,238,.7)!important;font-family:var(--font-body)!important;}
.mcta{margin-top:8px;background:var(--brass);color:#fff!important;border-radius:40px;padding:12px 30px;}

/* alternating section tint (subtle new-section demarcation) */
.tint{background:var(--marble-2)!important;}

/* services: two-column with image filling the right */
.svc-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;margin-top:50px;}
.svc-layout .svc-pills{margin-top:0;}
.svc-img-panel{border-radius:12px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 16px 40px rgba(58,54,47,.16);position:relative;}
.svc-img-panel img{width:100%;height:100%;object-fit:cover;}
.svc-img-panel .cap{position:absolute;left:0;right:0;bottom:0;padding:28px 26px;color:#fff;
  background:linear-gradient(to top,rgba(30,26,22,.8),transparent);font-family:var(--font-display);font-style:italic;font-size:20px;}
@media(max-width:900px){.svc-layout{grid-template-columns:1fr;gap:36px;}.svc-img-panel{aspect-ratio:16/10;}}

/* ═══════════════════════════════════════════════════════════════
   OUR STORY — scroll-reveal chapters
   ═══════════════════════════════════════════════════════════════ */
.story{max-width:1100px;margin:0 auto;}
.story-head{text-align:center;margin-bottom:70px;}
.story-head .eyebrow{color:var(--brass-deep);}
.story-head h2{font-family:var(--font-display);font-size:clamp(34px,4.4vw,56px);font-weight:400;color:var(--onyx);margin-top:12px;}
.story-head h2 em{font-style:italic;color:var(--brass-deep);}
.chapter{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-bottom:90px;
  opacity:0;transform:translateY(40px);transition:opacity 1s ease,transform 1s ease;}
.chapter.in{opacity:1;transform:none;}
.chapter:nth-child(even) .ch-img{order:2;}
.chapter .ch-num{font-family:var(--font-display);font-size:15px;color:var(--brass);letter-spacing:.2em;margin-bottom:14px;}
.chapter h3{font-family:var(--font-display);font-size:clamp(26px,3vw,38px);font-weight:500;color:var(--onyx);line-height:1.1;margin-bottom:18px;}
.chapter h3 em{font-style:italic;color:var(--brass-deep);}
.chapter p{font-weight:300;font-size:16.5px;color:#4A443C;line-height:1.65;margin-bottom:16px;}
.chapter .ch-img{border-radius:12px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 16px 40px rgba(58,54,47,.16);}
.chapter .ch-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease;}
.chapter.in .ch-img img{transform:scale(1.03);}
.story-close{text-align:center;max-width:640px;margin:20px auto 0;
  opacity:0;transform:translateY(30px);transition:opacity 1s ease,transform 1s ease;}
.story-close.in{opacity:1;transform:none;}
.story-close p{font-family:var(--font-display);font-style:italic;font-size:clamp(22px,2.6vw,30px);color:var(--onyx);line-height:1.4;}
.story-close p em{color:var(--brass-deep);font-style:normal;}
@media(max-width:820px){
  .chapter{grid-template-columns:1fr;gap:28px;margin-bottom:60px;}
  .chapter:nth-child(even) .ch-img{order:0;}
}

.field .opt{text-transform:none;letter-spacing:0;color:var(--vein);opacity:.75;}
.field input[type=file]{width:100%;font-family:inherit;font-size:14px;color:var(--ink);padding:14px 0;border:0;border-bottom:1px solid var(--line, #d9d4ca);background:transparent;}
.field input[type=file]::file-selector-button{font-family:inherit;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:10px 16px;margin-right:14px;border:1px solid var(--brass-deep);background:transparent;color:var(--brass-deep);border-radius:999px;cursor:pointer;}
.field .fhint{font-size:13px;line-height:1.5;color:var(--vein);margin-top:8px;}

.qnote.qerr{color:#8a2b1f;background:#f7e6e2;border:1px solid #e3b8b0;border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.45;}

.field .plans{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;}
.plan-btn{display:inline-flex;align-items:center;gap:8px;font-size:13px;letter-spacing:.04em;padding:11px 16px;border:1px solid var(--brass-deep);border-radius:999px;color:var(--brass-deep);text-decoration:none;background:transparent;}
.plan-btn:hover{background:var(--brass-deep);color:#fff;}
.qsuccess a{color:var(--brass-deep);text-decoration:underline;}

.qsuccess .qs-plans-lead{margin-top:18px;}
.qsuccess .plans{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:12px;}
.qsuccess .plan-btn{text-decoration:none;}

/* moving promise banner */
.ticker{background:var(--onyx);color:rgba(247,244,238,.85);overflow:hidden;height:40px;display:flex;align-items:center;position:relative;}
.ticker::before,.ticker::after{content:"";position:absolute;top:0;bottom:0;width:60px;z-index:1;pointer-events:none;}
.ticker::before{left:0;background:linear-gradient(90deg,var(--onyx),rgba(0,0,0,0));}
.ticker::after{right:0;background:linear-gradient(270deg,var(--onyx),rgba(0,0,0,0));}
.tk-track{display:flex;gap:14px;width:max-content;padding-left:14px;animation:tk-scroll 38s linear infinite;will-change:transform;}
.ticker:hover .tk-track{animation-play-state:paused;}
.tk-pill{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:7px 16px;border-radius:999px;background:rgba(247,244,238,.08);border:1px solid rgba(201,162,75,.55);color:#F7F4EE;}
.tk-pill svg{color:#C9A24B;}
.tk-pill svg{opacity:.9;flex:none;}
@keyframes tk-scroll{from{transform:translateX(0)}to{transform:translateX(-33.3333%)}}
@media (prefers-reduced-motion:reduce){.tk-track{animation:none;}}

/* tappable ticker pills */
.tk-pill{text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s;}
.tk-pill:hover{background:rgba(247,244,238,.18);border-color:#C9A24B;}
/* floating quote bar, mobile only */
.fab-bar{display:none;}
@media (max-width:820px){
  .fab-bar{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:150;display:flex;gap:10px;transition:transform .3s,opacity .3s;}
  .fab-bar.hide{transform:translateY(120%);opacity:0;pointer-events:none;}
  .fab-quote{flex:1;display:flex;align-items:center;justify-content:center;height:52px;border-radius:999px;background:var(--onyx);color:#F7F4EE;font-family:var(--font-body);font-size:13px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;box-shadow:0 10px 28px rgba(61,54,47,.28);}
  .fab-wa{width:52px;height:52px;border-radius:50%;background:#F7F4EE;color:var(--onyx);display:flex;align-items:center;justify-content:center;border:1px solid var(--line-l);box-shadow:0 10px 28px rgba(61,54,47,.2);}
  body{padding-bottom:84px;}
}
