:root{--ink:#10100f;--ink-soft:#191917;--paper:#f7f5f0;--cream:#eee9e0;--white:#fff;--gold:#b38a48;--gold-dark:#88642d;--muted:#706b63;--line:rgba(16,16,15,.14);--shadow:0 22px 70px rgba(16,16,15,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.6;overflow-x:hidden}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1220px,calc(100% - 48px));margin:auto}.skip-link{position:fixed;left:20px;top:-80px;z-index:999;background:#fff;padding:12px 16px}.skip-link:focus{top:20px}
.utility-bar{background:#0b0b0a;color:#fff;font-size:12px}.utility-inner{height:38px;display:flex;justify-content:space-between;align-items:center}.utility-links{display:flex;gap:24px}.utility-links a{opacity:.84}.utility-links a:hover{opacity:1}
.site-header{position:sticky;top:0;z-index:50;background:rgba(247,245,240,.89);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);transition:.3s}.site-header.scrolled{box-shadow:0 10px 30px rgba(16,16,15,.08)}.nav-shell{height:88px;display:flex;align-items:center;justify-content:space-between}.brand img{width:154px}.site-nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:600}.site-nav a:not(.nav-cta){position:relative}.site-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--gold);transition:.25s}.site-nav a:hover::after{right:0}.nav-cta{padding:13px 18px;border:1px solid var(--gold);transition:.25s}.nav-cta:hover{background:var(--gold);color:#fff}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:25px;height:2px;background:#111;margin:5px 0}
.hero{min-height:790px;position:relative;display:grid;align-items:center;overflow:hidden;background:#111}.hero-media{position:absolute;inset:0;background:url('assets/photos/finished-stone.webp') 58% 53%/cover no-repeat;transform:scale(1.025);animation:heroZoom 18s ease-out both}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,7,.94) 0%,rgba(8,8,7,.80) 38%,rgba(8,8,7,.28) 70%,rgba(8,8,7,.10) 100%)}.hero-content{position:relative;z-index:2;padding:90px 0}.hero-copy{max-width:720px;color:#fff}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-weight:700;font-size:11px;color:var(--gold);margin:0 0 18px}.hero h1,.film-intro h2,.section-heading h2,.why-copy h2,.quote-intro h2{font-family:'Playfair Display',serif;font-weight:500;line-height:1.02;margin:0}.hero h1{font-size:clamp(62px,7vw,108px);letter-spacing:-.035em}.hero h1 em{font-weight:500}.hero-lead{font-size:18px;max-width:625px;color:rgba(255,255,255,.78);margin:26px 0 0}.hero-actions{display:flex;gap:12px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:16px 21px;font-size:13px;font-weight:700;border:1px solid transparent;transition:.25s}.button:hover{transform:translateY(-2px)}.button-gold{background:var(--gold);color:#fff}.button-gold:hover{background:#c39a56}.button-ghost{border-color:rgba(255,255,255,.48);color:#fff;background:rgba(255,255,255,.05);backdrop-filter:blur(10px)}.button-light{background:#fff;color:#111}.hero-meta{display:flex;gap:28px;margin-top:40px;color:rgba(255,255,255,.64);font-size:12px}.hero-meta span{position:relative;padding-left:13px}.hero-meta span::before{content:"";position:absolute;left:0;top:50%;width:4px;height:4px;border-radius:50%;background:var(--gold)}.scroll-cue{position:absolute;z-index:3;right:40px;bottom:34px;color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.18em;display:grid;justify-items:center;gap:9px}.scroll-cue span{width:1px;height:36px;background:linear-gradient(var(--gold),transparent)}
.warranty-badge{margin-top:28px;display:inline-flex;align-items:center;gap:15px;padding:12px 18px 12px 13px;border:1px solid rgba(211,171,105,.65);background:rgba(10,10,9,.38);backdrop-filter:blur(12px);box-shadow:0 10px 34px rgba(0,0,0,.18)}.warranty-years{width:54px;height:54px;border:1px solid var(--gold);display:grid;place-items:center;font-family:'Playfair Display',serif;font-size:31px;line-height:1;color:#d5aa68}.warranty-copy{display:grid;line-height:1.25;text-transform:uppercase;letter-spacing:.12em}.warranty-copy b{font-size:11px;color:#fff}.warranty-copy small{font-size:9px;color:rgba(255,255,255,.62);text-transform:none;letter-spacing:.02em;margin-top:5px}
.credibility-strip{background:#0d0d0c;color:#fff}.credibility-grid{display:grid;grid-template-columns:repeat(4,1fr)}.credibility-grid div{padding:28px;border-right:1px solid rgba(255,255,255,.13);display:flex;align-items:center;gap:18px}.credibility-grid b{font-family:'Playfair Display',serif;color:var(--gold);font-size:20px}.credibility-grid span{font-size:12px;color:#c9c4bb}
.section{padding:125px 0}.film-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.film-intro h2,.section-heading h2,.why-copy h2,.quote-intro h2{font-size:clamp(44px,5vw,72px);letter-spacing:-.025em}.intro-text{font-size:18px;color:var(--muted);max-width:650px}.benefit-list{margin:38px 0 28px;border-top:1px solid var(--line)}.benefit-list article{display:grid;grid-template-columns:46px 1fr;gap:18px;padding:19px 0;border-bottom:1px solid var(--line)}.benefit-list article>span{font-family:'Playfair Display',serif;color:var(--gold)}.benefit-list h3{margin:0;font-family:'Playfair Display',serif;font-size:22px}.benefit-list p{margin:4px 0 0;color:var(--muted);font-size:14px}.inline-link{font-weight:700;color:var(--gold-dark);display:inline-flex;gap:16px;align-items:center}.inline-link span{transition:.2s}.inline-link:hover span{transform:translateX(5px)}.film-visual{position:relative;padding:0 0 80px 75px}.film-primary{margin:0;box-shadow:var(--shadow)}.film-primary img{height:700px;object-fit:cover;object-position:center}.film-detail{position:absolute;left:0;bottom:0;width:48%;margin:0;border:10px solid var(--paper);box-shadow:var(--shadow)}.film-detail img{height:275px;object-fit:cover}.visual-caption{position:absolute;right:30px;bottom:10px;background:#111;color:#fff;padding:20px 24px;width:330px}.visual-caption b,.visual-caption span{display:block}.visual-caption span{font-size:12px;color:#aaa49b;margin-top:4px}
.process-section{background:var(--cream)}.section-heading{display:flex;justify-content:space-between;gap:70px;align-items:end;margin-bottom:52px}.section-heading>p{max-width:470px;color:var(--muted)}.process-rail{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(16,16,15,.15);border-left:1px solid rgba(16,16,15,.15)}.process-card{padding:34px 32px;min-height:230px;border-right:1px solid rgba(16,16,15,.15);border-bottom:1px solid rgba(16,16,15,.15);background:rgba(255,255,255,.38)}.process-card span{color:var(--gold);font-weight:700}.process-card h3{font-family:'Playfair Display',serif;font-size:28px;margin:24px 0 8px}.process-card p{margin:0;color:var(--muted);font-size:14px}.process-feature{margin-top:72px;background:#111;color:#fff;display:grid;grid-template-columns:1.15fr .85fr;align-items:stretch}.process-image img{height:600px;object-fit:cover}.process-copy{padding:70px;display:flex;justify-content:center;flex-direction:column}.process-copy h3{font-family:'Playfair Display',serif;font-size:45px;line-height:1.08;margin:0}.process-copy>p:not(.eyebrow){color:#bdb7ae;margin:22px 0 30px}
.services-section{background:var(--paper)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{min-height:330px;padding:38px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;background:#fbfaf7;transition:.3s}.service-card:hover{background:#fff;box-shadow:0 16px 44px rgba(16,16,15,.08);transform:translateY(-3px);z-index:2}.service-number{color:var(--gold);font-family:'Playfair Display',serif;font-size:21px}.service-card h3{font-family:'Playfair Display',serif;font-size:29px;line-height:1.15;margin:34px 0 12px}.service-card p{color:var(--muted);font-size:14px}.service-card>a{margin-top:auto;color:var(--gold-dark);font-size:13px;font-weight:700}.service-card-dark{background:#111;color:#fff}.service-card-dark:hover{background:#111}.service-card-dark p{color:#bcb6ad}.service-card-dark .button{margin-top:auto;color:#fff;width:max-content}
.why-section{display:grid;grid-template-columns:1.08fr .92fr;background:#111;color:#fff}.why-image img{height:100%;min-height:760px;object-fit:cover}.why-copy{padding:100px clamp(46px,7vw,110px);display:flex;flex-direction:column;justify-content:center}.why-copy>p:not(.eyebrow){color:#bcb6ad;font-size:17px}.why-copy ul{list-style:none;padding:0;margin:28px 0}.why-copy li{padding:18px 0;border-top:1px solid rgba(255,255,255,.14)}.why-copy b,.why-copy span{display:block}.why-copy span{color:#aaa49b;font-size:14px;margin-top:4px}.why-copy .inline-link{color:#d5aa68}
.quote-section{background:#0c0c0b;color:#fff}.quote-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:90px;align-items:start}.quote-intro{position:sticky;top:140px}.quote-intro>p:not(.eyebrow){color:#bcb6ad;font-size:17px}.contact-list{margin-top:40px}.contact-list a{display:grid;grid-template-columns:100px 1fr;padding:15px 0;border-top:1px solid rgba(255,255,255,.14)}.contact-list span{color:#bdb7ae}.quote-form{background:#f8f6f1;color:#111;padding:44px;min-height:610px}.form-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:32px}.form-progress span{height:3px;background:#ded8cd}.form-progress span.active{background:var(--gold)}.form-step{display:none}.form-step.active{display:block;animation:fadeIn .25s ease}.form-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold-dark);font-weight:700}.form-step h3{font-family:'Playfair Display',serif;font-size:38px;line-height:1.1;margin:0 0 28px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice-card{border:1px solid #d8d1c6;padding:18px;display:flex;align-items:center;gap:12px;cursor:pointer;background:#fff;transition:.2s}.choice-card:has(input:checked){border-color:var(--gold);box-shadow:0 0 0 2px rgba(179,138,72,.13)}.choice-card.featured{border-color:#c7a56d}.choice-card input{accent-color:var(--gold)}.choice-card b,.choice-card small{display:block}.choice-card small{font-size:11px;color:#78736b;margin-top:2px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:grid;gap:7px;font-size:12px;font-weight:700;margin-bottom:16px}input,select,textarea{width:100%;padding:14px;border:1px solid #d8d1c6;background:#fff;color:#111;border-radius:0;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(179,138,72,.12)}textarea{resize:vertical}.form-next,.submit-button{margin-top:14px;border:0;background:var(--gold);color:#fff;padding:16px 20px;font-weight:700;display:inline-flex;align-items:center;gap:28px;cursor:pointer}.form-buttons{display:flex;justify-content:space-between;align-items:center;gap:14px}.form-back{border:0;background:none;padding:16px 0;cursor:pointer;font-weight:700}.upload-box{border:1px dashed #b9ae9d;background:#fff;padding:26px;cursor:pointer}.upload-box input{padding:0;border:0;box-shadow:none}.upload-box b,.upload-box small{display:block}.upload-box small{color:#777;font-weight:400;margin-top:3px}.form-note{font-size:11px;color:#777}
footer{background:#080807;color:#fff;padding:72px 0 24px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.5fr 1.2fr;gap:56px}.footer-brand img{width:175px;filter:invert(1)}.footer-brand p{color:#8e8981}.footer-grid b,.footer-grid a{display:block}.footer-grid a{color:#aaa49b;margin:9px 0}.footer-grid p{color:#aaa49b}.footer-bottom{margin-top:50px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);font-size:12px;color:#706c66}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}@keyframes heroZoom{from{transform:scale(1.05)}to{transform:scale(1)}}@keyframes fadeIn{from{opacity:.2;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.utility-email{display:none}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:88px;left:0;right:0;background:#f7f5f0;padding:26px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.site-nav.open{display:flex}.hero{min-height:720px}.hero-media{background-position:58% center}.hero-overlay{background:linear-gradient(90deg,rgba(8,8,7,.92),rgba(8,8,7,.58))}.credibility-grid{grid-template-columns:1fr 1fr}.film-layout,.quote-layout{grid-template-columns:1fr;gap:60px}.film-copy{max-width:760px}.film-visual{max-width:760px}.process-rail,.services-grid{grid-template-columns:1fr 1fr}.process-feature,.why-section{grid-template-columns:1fr}.process-image img,.why-image img{min-height:0;height:560px}.quote-intro{position:static}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.container{width:min(100% - 28px,1220px)}.utility-inner{height:34px}.utility-links{gap:14px}.nav-shell{height:74px}.brand img{width:128px}.site-nav{top:74px}.hero{min-height:690px}.hero-media{background-position:60% center}.hero-overlay{background:linear-gradient(90deg,rgba(8,8,7,.95),rgba(8,8,7,.68))}.hero-content{padding:80px 0}.hero h1{font-size:55px}.hero-lead{font-size:16px}.hero-actions{flex-direction:column;align-items:stretch}.hero-meta{display:grid;gap:8px}.warranty-badge{margin-top:22px}.scroll-cue{display:none}.credibility-grid{grid-template-columns:1fr 1fr}.credibility-grid div{padding:20px 16px}.section{padding:82px 0}.film-layout{gap:48px}.film-visual{padding:0 0 54px 28px}.film-primary img{height:500px}.film-detail{width:55%;border-width:7px}.film-detail img{height:190px}.visual-caption{right:0;width:240px;padding:15px}.section-heading{display:block;margin-bottom:36px}.section-heading>p{margin-top:16px}.process-rail,.services-grid{grid-template-columns:1fr}.process-card,.service-card{min-height:auto}.process-feature{margin-top:44px}.process-image img,.why-image img{height:390px}.process-copy,.why-copy{padding:46px 26px}.process-copy h3{font-size:37px}.quote-layout{gap:42px}.quote-form{padding:24px;min-height:0}.choice-grid,.field-grid{grid-template-columns:1fr}.form-step h3{font-size:33px}.footer-grid{grid-template-columns:1fr;gap:32px}}


/* V7 brand journey and interaction refinements */
.journey-section{position:relative;background:#f7f5f0;overflow:hidden}.journey-section::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(179,138,72,.11),transparent 68%);right:-180px;top:-230px;pointer-events:none}.journey-heading{max-width:980px;margin-bottom:58px}.journey-heading h2{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(44px,5.4vw,78px);line-height:1.04;letter-spacing:-.03em;margin:0}.journey-heading h2 em{color:var(--gold-dark);font-weight:500}.journey-heading>p:last-child{max-width:760px;color:var(--muted);font-size:17px;margin-top:24px}.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:#fff}.journey-card{position:relative;min-height:430px;padding:42px;display:flex;flex-direction:column;border-right:1px solid var(--line);transition:transform .35s ease,box-shadow .35s ease,background .35s ease}.journey-card:last-child{border-right:0}.journey-card:hover{transform:translateY(-7px);box-shadow:0 26px 70px rgba(16,16,15,.12);z-index:2;background:#fdfcf9}.journey-card-featured{background:#111;color:#fff}.journey-card-featured:hover{background:#171715}.journey-ribbon{position:absolute;top:0;right:0;background:var(--gold);color:#fff;padding:9px 14px;font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:700}.journey-number{font-family:'Playfair Display',serif;color:var(--gold);font-size:18px}.journey-icon{width:58px;height:58px;border:1px solid rgba(179,138,72,.55);display:grid;place-items:center;margin:52px 0 24px;font-size:25px;color:var(--gold);transition:transform .35s ease,background .35s ease}.journey-card:hover .journey-icon{transform:rotate(8deg) scale(1.04);background:rgba(179,138,72,.08)}.journey-card h3{font-family:'Playfair Display',serif;font-size:42px;line-height:1;margin:0 0 16px}.journey-card p{color:var(--muted);font-size:15px;margin:0}.journey-card-featured p{color:#bcb6ad}.journey-card a{margin-top:auto;padding-top:34px;color:var(--gold-dark);font-size:13px;font-weight:700;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line)}.journey-card-featured a{color:#d7ad6b;border-color:rgba(255,255,255,.14)}.journey-card a span{transition:transform .2s}.journey-card a:hover span{transform:translateX(5px)}
.pointer-glow{position:fixed;width:420px;height:420px;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(circle,rgba(179,138,72,.07),transparent 66%);transform:translate(-50%,-50%);opacity:0;transition:opacity .35s}.pointer-glow.active{opacity:1}
@media(max-width:1000px){.journey-grid{grid-template-columns:1fr}.journey-card{min-height:330px;border-right:0;border-bottom:1px solid var(--line)}.journey-card:last-child{border-bottom:0}.journey-icon{margin:34px 0 20px}}
@media(max-width:650px){.journey-heading{margin-bottom:36px}.journey-heading h2{font-size:43px}.journey-card{padding:30px;min-height:310px}.journey-card h3{font-size:37px}.journey-ribbon{font-size:8px}.pointer-glow{display:none}.hero-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-media{animation:none}.reveal{opacity:1;transform:none;transition:none}.journey-card,.journey-icon,.button{transition:none}}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}

/* Mobile quote-form fix: prevent full-width radio inputs from pushing text off-screen */
.choice-card input[type="radio"]{
  width:auto;
  min-width:18px;
  height:18px;
  margin:0;
  flex:0 0 auto;
}
.choice-card > span{
  min-width:0;
  width:auto;
  overflow-wrap:anywhere;
}

@media(max-width:650px){
  .quote-form{width:100%;max-width:100%;overflow:hidden}
  .choice-grid{width:100%;min-width:0}
  .choice-card{
    width:100%;
    min-width:0;
    display:grid;
    grid-template-columns:22px minmax(0,1fr);
    align-items:center;
    column-gap:14px;
    padding:18px;
  }
  .choice-card b,.choice-card small{
    white-space:normal;
    overflow-wrap:anywhere;
  }
}
