@font-face{font-family:Poppins;src:url('../assets/fonts/Poppins-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url('../assets/fonts/Poppins-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url('../assets/fonts/Poppins-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url('../assets/fonts/Poppins-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url('../assets/fonts/Poppins-ExtraBold.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap}

:root{--navy:#061a33;--navy-2:#092b52;--royal:#0b4f8a;--blue:#1266a8;--blue-bright:#1976c9;--blue-soft:#eaf3fa;--blue-pale:#f4f8fc;--white:#fff;--off:#f8fafc;--ink:#122033;--muted:#526174;--stone:#d8d5ce;--granite:#6b7075;--black:#111315;--line:rgba(18,32,51,.14);--radius:8px;--shadow:0 18px 50px rgba(6,26,51,.11);--container:1400px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--off);color:var(--ink);font-family:Poppins,Arial,sans-serif;font-size:16px;line-height:1.7;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.container{width:min(var(--container),calc(100% - 80px));margin-inline:auto}
.eyebrow{display:flex;align-items:center;gap:12px;color:var(--blue-bright);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.eyebrow::before{content:"";width:34px;height:1px;background:currentColor}
.eyebrow.light{color:#b9ddfa}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3,h4{line-height:1.14;letter-spacing:-.04em}
h1{font-size:clamp(42px,6vw,86px);margin-bottom:24px}
h2{font-size:clamp(32px,4vw,58px);margin-bottom:20px}
h3{font-size:clamp(22px,2.5vw,32px);margin-bottom:12px}
h4{font-size:17px;margin-bottom:8px}
.lead{font-size:clamp(17px,1.5vw,21px);line-height:1.7;color:var(--muted)}
.section{padding:116px 0}
.section.compact{padding:84px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:48px}
.section-head>div{max-width:720px}
.section-head p{max-width:600px;margin:0;color:var(--muted)}
.section-kicker{margin:0 0 18px;color:var(--blue);font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.rule{width:64px;height:2px;background:var(--blue-bright);margin:24px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:52px;padding:0 22px;border:1px solid transparent;border-radius:4px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:transform .3s ease,background .3s ease,border-color .3s ease,color .3s ease}
.btn::after{content:"→";font-size:19px;line-height:0;transition:transform .3s ease}
.btn:hover{transform:translateY(-3px)}
.btn:hover::after{transform:translateX(5px)}
.btn-primary{background:var(--blue-bright);color:var(--white)}
.btn-primary:hover{background:#0b5ea2}
.btn-outline{border-color:rgba(255,255,255,.48);color:var(--white)}
.btn-outline:hover{border-color:var(--white);background:rgba(255,255,255,.1)}
.btn-dark{background:var(--navy);color:var(--white)}
.btn-dark:hover{background:var(--royal)}
.btn-ghost{padding-inline:0;color:var(--blue);min-height:40px}
.btn-ghost::after{font-size:18px}
.text-link{color:var(--blue);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.text-link span{display:inline-block;margin-left:8px;transition:transform .25s}
.text-link:hover span{transform:translateX(5px)}
.site-header{position:fixed;inset:0 0 auto;z-index:50;color:var(--white);transition:background .35s ease,box-shadow .35s ease}
.site-header.scrolled,.site-header.menu-open{background:var(--navy);box-shadow:0 10px 35px rgba(0,0,0,.16)}
.header-inner{display:flex;align-items:center;min-height:86px;gap:28px}
.brand{display:inline-flex;align-items:center;gap:12px;min-width:max-content}
.brand-mark{position:relative;width:34px;height:38px;border:1px solid currentColor;border-radius:50% 50% 48% 48%;transform:rotate(45deg);overflow:hidden}
.brand-mark::before,.brand-mark::after{content:"";position:absolute;background:currentColor}
.brand-mark::before{width:1px;height:130%;left:50%;top:-15%}
.brand-mark::after{height:1px;width:130%;left:-15%;top:50%}
.brand-name{font-size:13px;font-weight:700;letter-spacing:.14em;line-height:1.15;text-transform:uppercase}
.brand-name small{display:block;color:#a5c9e7;font-size:9px;font-weight:500;letter-spacing:.16em;margin-top:4px}
.main-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(14px,1.5vw,28px);flex:1}
.main-nav>a,.nav-trigger{position:relative;border:0;background:none;color:inherit;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.main-nav>a::after,.nav-trigger::after{content:"";position:absolute;left:0;right:100%;bottom:-10px;height:2px;background:#83c7f5;transition:right .25s}
.main-nav>a:hover::after,.main-nav>a.active::after,.nav-trigger:hover::after,.nav-trigger[aria-expanded="true"]::after{right:0}
.nav-trigger{display:inline-flex;align-items:center;gap:6px;padding:0}
.nav-trigger i{font-style:normal;font-size:15px;line-height:1;transition:transform .25s}
.nav-trigger[aria-expanded="true"] i{transform:rotate(180deg)}
.header-quote{min-height:44px;padding-inline:16px;font-size:11px;margin-left:4px}
.nav-toggle{display:none;border:0;background:none;color:inherit;padding:12px}
.nav-toggle span{display:block;width:23px;height:1px;background:currentColor;margin:5px 0;transition:transform .25s}
.mega-menu{position:absolute;left:0;right:0;top:100%;background:var(--white);color:var(--ink);border-top:1px solid rgba(255,255,255,.12);box-shadow:0 24px 45px rgba(6,26,51,.18);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .25s ease,visibility .25s ease,transform .25s ease}
.mega-menu.open{opacity:1;visibility:visible;transform:none}
.mega-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;padding:38px max(40px,calc((100vw - 1400px)/2))}
.mega-col{border-left:1px solid var(--line);padding-left:20px}
.mega-col:first-child{border:0;padding-left:0}
.mega-col h4{color:var(--navy);font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.mega-col ul{list-style:none;margin:0;padding:0}
.mega-col li+li{margin-top:8px}
.mega-col a{color:var(--muted);font-size:13px}
.mega-col a:hover{color:var(--blue-bright)}
.mega-footer{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px}
.hero{position:relative;display:flex;align-items:flex-end;min-height:780px;color:var(--white);background:#091a2c url('../assets/images/hero-memorial.jpg') center/cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,26,51,.94),rgba(6,26,51,.64) 44%,rgba(6,26,51,.12)),linear-gradient(0deg,rgba(6,26,51,.8),transparent 60%)}
.hero-content{position:relative;z-index:1;width:100%;padding:200px 0 100px}
.hero-copy{max-width:760px}
.hero h1{max-width:740px;text-transform:uppercase}
.hero h1 strong{display:block;color:#b9ddfa;font-weight:500}
.hero .lead{max-width:620px;color:rgba(255,255,255,.78);margin-bottom:34px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.scroll-cue{position:absolute;right:40px;bottom:48px;z-index:2;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.68);font-size:10px;letter-spacing:.16em;text-transform:uppercase;writing-mode:vertical-rl}
.scroll-cue::before{content:"";height:64px;width:1px;background:#b9ddfa}
.page-hero{position:relative;display:flex;align-items:end;min-height:490px;color:var(--white);background:var(--navy) url('../assets/images/hero-memorial.jpg') center/cover no-repeat}
.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,26,51,.92),rgba(6,26,51,.48)),linear-gradient(0deg,rgba(6,26,51,.7),transparent 60%)}
.page-hero .container{position:relative;z-index:1;padding-top:160px;padding-bottom:70px}
.page-hero h1{font-size:clamp(38px,5vw,68px);max-width:900px;margin-bottom:16px}
.page-hero p{max-width:670px;color:rgba(255,255,255,.76);margin:0}
.breadcrumb{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.62);font-size:12px;margin-bottom:26px}
.breadcrumb a:hover{color:var(--white)}
.breadcrumb span{color:#83c7f5}
.split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(45px,8vw,120px)}
.split.reverse{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.split-image{position:relative}
.split-image img{width:100%;aspect-ratio:4/3;object-fit:cover}
.split-image::after{content:"";position:absolute;right:-18px;bottom:-18px;width:42%;height:42%;border-right:1px solid var(--blue-bright);border-bottom:1px solid var(--blue-bright);z-index:-1}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:42px;padding-top:24px;gap:20px}
.stat strong{display:block;color:var(--navy);font-size:clamp(24px,3vw,38px);letter-spacing:-.05em;line-height:1.1}
.stat span{display:block;color:var(--muted);font-size:11px;font-weight:600;line-height:1.35;letter-spacing:.1em;margin-top:7px;text-transform:uppercase}
.dark-section{background:var(--navy);color:var(--white)}
.dark-section .lead,.dark-section .section-head p{color:rgba(255,255,255,.68)}
.dark-section h2,.dark-section h3{color:var(--white)}
.pale-section{background:var(--blue-pale)}
.stone-section{background:var(--stone)}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.product-card{background:var(--white);border:1px solid var(--line);overflow:hidden;transition:transform .35s ease,box-shadow .35s ease}
.product-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}
.card-image{overflow:hidden;background:var(--navy)}
.product-card img{width:100%;aspect-ratio:1.2/1;object-fit:cover;transition:transform .6s ease,opacity .35s}
.product-card:hover img{transform:scale(1.04);opacity:.86}
.card-body{padding:24px 24px 26px}
.card-meta{color:var(--blue);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.card-body p{color:var(--muted);font-size:14px;margin-bottom:18px}
.product-card:nth-child(2) img,.product-card:nth-child(5) img{aspect-ratio:1/1.08}
.card-arrow{display:inline-flex;align-items:center;gap:10px;color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.card-arrow::after{content:"→";font-size:18px;transition:transform .25s}
.product-card:hover .card-arrow::after{transform:translateX(4px)}
.stone-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.stone-swatch{position:relative;min-height:220px;padding:18px;display:flex;align-items:end;color:var(--white);overflow:hidden;background:var(--navy)}
.stone-swatch::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,26,51,.88),transparent 65%);z-index:0}
.stone-swatch img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.72);transition:transform .5s}
.stone-swatch:hover img{transform:scale(1.07)}
.stone-swatch-content{position:relative;z-index:1}
.stone-swatch h4{font-size:15px;color:var(--white);margin-bottom:2px}
.stone-swatch p{font-size:11px;color:rgba(255,255,255,.72);margin:0}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.15)}
.process-step{position:relative;min-height:230px;padding:28px;background:var(--navy-2);transition:background .3s}
.process-step:hover{background:var(--royal)}
.process-step strong{display:block;color:#83c7f5;font-size:15px;letter-spacing:.12em;margin-bottom:34px}
.process-step h3{font-size:20px}
.process-step p{color:rgba(255,255,255,.66);font-size:13px}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.feature{background:var(--white);padding:30px;min-height:185px}
.feature-index{display:block;color:var(--blue-bright);font-size:12px;font-weight:700;letter-spacing:.14em;margin-bottom:28px}
.feature p{color:var(--muted);font-size:14px;margin-bottom:0}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:90px;gap:12px}
.gallery-item{position:relative;grid-column:span 4;grid-row:span 3;min-height:0;border:0;padding:0;background:var(--navy);overflow:hidden}
.gallery-item:nth-child(2),.gallery-item:nth-child(5){grid-column:span 5;grid-row:span 4}
.gallery-item:nth-child(3),.gallery-item:nth-child(6){grid-column:span 3;grid-row:span 3}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,opacity .35s}
.gallery-item::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,26,51,.85),transparent 58%);opacity:.72}
.gallery-item:hover img{transform:scale(1.05);opacity:.82}
.gallery-caption{position:absolute;z-index:1;left:18px;right:18px;bottom:16px;color:var(--white);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-align:left}
.filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px}
.filter-btn{border:1px solid var(--line);background:var(--white);color:var(--muted);padding:11px 16px;border-radius:2px;font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;transition:background .25s,color .25s,border .25s}
.filter-btn:hover,.filter-btn.active{background:var(--navy);border-color:var(--navy);color:var(--white)}
.is-hidden{display:none!important}
.lightbox{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;padding:38px;background:rgba(3,13,25,.94)}
.lightbox.open{display:flex}
.lightbox img{max-width:min(1100px,90vw);max-height:78vh;object-fit:contain}
.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.06);color:var(--white);font-size:25px}
.lightbox-close{right:26px;top:24px}.lightbox-prev{left:28px;top:50%;transform:translateY(-50%)}.lightbox-next{right:28px;top:50%;transform:translateY(-50%)}
.lightbox-caption{position:absolute;left:0;right:0;bottom:32px;text-align:center;color:rgba(255,255,255,.78);font-size:13px}
.cta-band{position:relative;color:var(--white);background:var(--black) url('../assets/images/black-granite.jpg') center/cover no-repeat}
.cta-band::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,26,51,.94),rgba(6,26,51,.57))}
.cta-band .container{position:relative}
.cta-inner{display:flex;justify-content:space-between;align-items:end;gap:35px}
.cta-inner p{max-width:580px;color:rgba(255,255,255,.72);margin-bottom:0}
.cta-actions{display:flex;flex-wrap:wrap;gap:10px;flex-shrink:0}
.quote-layout{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:70px;align-items:start}
.quote-intro{position:sticky;top:130px}
.quote-intro p{color:var(--muted)}
.form-shell{background:var(--white);border:1px solid var(--line);padding:clamp(24px,4vw,52px);box-shadow:0 18px 55px rgba(6,26,51,.06)}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.form-field{display:flex;flex-direction:column;gap:8px}
.form-field.full{grid-column:1/-1}
.form-field label{color:var(--navy);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid var(--line);border-radius:2px;background:var(--off);color:var(--ink);padding:13px 14px;outline:0;transition:border .2s,box-shadow .2s}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--blue-bright);box-shadow:0 0 0 3px rgba(25,118,201,.13)}
.form-field textarea{min-height:150px;resize:vertical}
.form-note{color:var(--muted);font-size:13px;margin:20px 0 0}
.form-success{display:none;margin-top:18px;padding:14px 16px;border-left:3px solid var(--blue-bright);background:var(--blue-soft);color:var(--navy);font-size:14px}
.form-success.visible{display:block}
.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.contact-card{padding:26px;background:var(--white);border:1px solid var(--line)}
.contact-card strong{display:block;color:var(--blue);font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}
.contact-card p{margin:0;color:var(--muted);font-size:14px}
.map-placeholder{min-height:350px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);background:linear-gradient(135deg,#071c35,#102f51);color:rgba(255,255,255,.62);text-align:center}
.map-placeholder strong{display:block;color:#b9ddfa;font-size:18px;margin-bottom:6px}
.timeline{position:relative;display:grid;gap:0}
.timeline::before{content:"";position:absolute;left:15px;top:15px;bottom:15px;width:1px;background:var(--stone)}
.timeline-row{position:relative;display:grid;grid-template-columns:50px 150px 1fr;gap:26px;padding:20px 0}
.timeline-number{position:relative;z-index:1;display:grid;place-items:center;width:31px;height:31px;border:1px solid var(--blue-bright);background:var(--off);color:var(--blue);font-size:11px;font-weight:700}
.timeline-row strong{font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.timeline-row p{margin:0;color:var(--muted);font-size:14px}
.map-wrap{position:relative;min-height:430px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(25,118,201,.22),transparent 52%)}
.map-wrap svg{width:88%;max-width:800px;opacity:.82}
.map-land{fill:#143d64;stroke:#286494;stroke-width:1}
.map-route{fill:none;stroke:#64b7ee;stroke-width:2;stroke-dasharray:5 8;opacity:.65}
.map-dot{fill:#b9ddfa;stroke:var(--blue-bright);stroke-width:4}
.map-label{fill:#d7edfc;font-family:Poppins;font-size:12px;letter-spacing:1px}
.region-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14)}
.region{padding:22px 24px;background:rgba(9,43,82,.58)}
.region strong{display:block;color:#b9ddfa;font-size:12px;letter-spacing:.13em;text-transform:uppercase}
.region p{color:rgba(255,255,255,.64);font-size:13px;margin:10px 0 0}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-question{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;border:0;background:none;padding:22px 0;color:var(--navy);text-align:left;font-size:16px;font-weight:600}
.faq-question span{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--blue);color:var(--blue);font-size:20px;font-weight:400;transition:transform .25s}
.faq-answer{display:none;padding:0 48px 22px 0;color:var(--muted);font-size:14px}
.faq-item.open .faq-answer{display:block}.faq-item.open .faq-question span{transform:rotate(45deg)}
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.article-card{background:var(--white);border:1px solid var(--line)}
.article-card img{width:100%;aspect-ratio:1.5/1;object-fit:cover}
.article-card .card-body{padding:22px}
.article-card h3{font-size:22px}
.article-card p{color:var(--muted);font-size:14px}
.footer{background:var(--navy);color:var(--white);padding:74px 0 22px}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:30px;padding-bottom:58px}
.footer-brand p{max-width:270px;color:rgba(255,255,255,.62);font-size:13px;margin-top:22px}
.footer h4{color:#b9ddfa;font-size:11px;letter-spacing:.15em;text-transform:uppercase}
.footer ul{list-style:none;margin:0;padding:0}.footer li+li{margin-top:8px}.footer a{color:rgba(255,255,255,.67);font-size:13px}.footer a:hover{color:var(--white)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.14);padding-top:20px;color:rgba(255,255,255,.48);font-size:11px}
.floating-wa,.to-top{position:fixed;right:24px;z-index:40;display:grid;place-items:center;border:0;background:var(--blue-bright);color:var(--white);box-shadow:0 10px 30px rgba(6,26,51,.25);transition:transform .25s,opacity .25s,visibility .25s}
.floating-wa{bottom:82px;width:49px;height:49px;border-radius:50%;font-size:20px;font-weight:700}
.floating-wa:hover,.to-top:hover{transform:translateY(-4px);background:var(--royal)}
.to-top{bottom:24px;width:42px;height:42px;border-radius:3px;font-size:18px;opacity:0;visibility:hidden}.to-top.visible{opacity:1;visibility:visible}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}.reveal.revealed{opacity:1;transform:none}
.product-detail{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:start}
.product-detail-visual img{width:100%;aspect-ratio:1/1;object-fit:cover}
.product-detail-copy{padding-top:12px}.product-detail-copy .lead{margin-bottom:28px}
.spec-list{list-style:none;margin:26px 0;padding:0;border-top:1px solid var(--line)}
.spec-list li{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}
.spec-list strong{color:var(--navy);font-weight:600}.spec-list span{color:var(--muted);text-align:right}
.swatch-list{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 28px}
.mini-swatch{width:68px;height:52px;border:2px solid transparent;outline:1px solid var(--line);background:var(--black)}.mini-swatch.grey{background:#5c626a}.mini-swatch.white{background:#d5d8d8}.mini-swatch.brown{background:#6b5549}.mini-swatch.green{background:#334c46}
.mini-swatch:hover{border-color:var(--blue-bright)}
.note{padding:18px 20px;border-left:3px solid var(--blue-bright);background:var(--blue-soft);color:var(--navy);font-size:14px}
.error-404{min-height:70vh;display:grid;place-items:center;text-align:center;padding-top:100px}
@media(max-width:1120px){.container{width:min(var(--container),calc(100% - 56px))}.main-nav{gap:14px}.main-nav>a,.nav-trigger{font-size:10px}.header-quote{padding-inline:11px}.product-grid{grid-template-columns:repeat(2,1fr)}.stone-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1.4fr repeat(3,1fr)}.footer-contact{grid-column:2}.process-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.container{width:calc(100% - 36px)}.header-inner{min-height:76px}.main-nav{position:absolute;top:100%;left:0;right:0;display:block;max-height:0;overflow:auto;background:var(--navy);padding:0 18px;transition:max-height .35s,padding .35s}.site-header.menu-open .main-nav{max-height:calc(100vh - 76px);padding:12px 18px 24px}.main-nav>a,.nav-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:12px}.main-nav>a::after,.nav-trigger::after{display:none}.header-quote{margin:14px 0;width:100%}.nav-toggle{display:block;margin-left:auto}.nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(6px) rotate(45deg)}.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-6px) rotate(-45deg)}.mega-menu{position:static;display:none;background:rgba(255,255,255,.06);box-shadow:none;border:0}.mega-menu.open{display:block;transform:none}.mega-inner{grid-template-columns:repeat(2,1fr);gap:20px;padding:18px 0}.mega-col{border-color:rgba(255,255,255,.18);padding-left:14px}.mega-col:first-child{border-left:0;padding-left:0}.mega-col h4{color:#b9ddfa;font-size:11px}.mega-col a{color:rgba(255,255,255,.68);font-size:12px}.mega-footer{grid-column:1/-1;display:block}.mega-footer .btn{width:100%;margin-top:8px}.hero{min-height:690px}.hero-content{padding:150px 0 80px}.scroll-cue{right:18px;bottom:28px}.section{padding:82px 0}.section-head{display:block;margin-bottom:34px}.section-head p{margin-top:18px}.split,.split.reverse{grid-template-columns:1fr;gap:46px}.split.reverse .split-image{order:-1}.stats{grid-template-columns:repeat(2,1fr);row-gap:26px}.product-detail{grid-template-columns:1fr;gap:40px}.gallery-grid{grid-auto-rows:70px}.gallery-item,.gallery-item:nth-child(2),.gallery-item:nth-child(3),.gallery-item:nth-child(5),.gallery-item:nth-child(6){grid-column:span 6;grid-row:span 3}.gallery-item:nth-child(2),.gallery-item:nth-child(5){grid-row:span 4}.cta-inner{display:block}.cta-actions{margin-top:26px}.quote-layout{grid-template-columns:1fr;gap:35px}.quote-intro{position:static}.footer-grid{grid-template-columns:repeat(2,1fr);gap:36px}.footer-brand{grid-column:1/-1}.footer-contact{grid-column:auto}.footer-bottom{display:block}.footer-bottom span{display:block}.footer-bottom span+span{margin-top:7px}.region-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){h1{font-size:clamp(38px,12vw,60px)}h2{font-size:clamp(31px,10vw,46px)}.page-hero{min-height:430px}.page-hero .container{padding-top:135px;padding-bottom:52px}.product-grid,.article-grid{grid-template-columns:1fr}.stone-grid{grid-template-columns:repeat(2,1fr)}.stone-swatch{min-height:180px}.feature-grid{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr}.gallery-grid{display:grid;grid-auto-rows:auto;grid-template-columns:1fr 1fr}.gallery-item,.gallery-item:nth-child(2),.gallery-item:nth-child(3),.gallery-item:nth-child(5),.gallery-item:nth-child(6){grid-column:span 1;grid-row:span 1;aspect-ratio:1/1}.gallery-item:first-child{grid-column:span 2;aspect-ratio:1.4/1}.form-grid,.contact-grid,.region-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.form-shell{padding:24px 18px}.lightbox{padding:24px 12px}.lightbox-prev,.lightbox-next{top:auto;bottom:22px;transform:none}.lightbox-prev{left:24px}.lightbox-next{right:24px}.lightbox img{max-width:96vw;max-height:68vh}.lightbox-caption{bottom:84px;padding:0 70px}.floating-wa{right:18px}.to-top{right:18px}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.mega-inner{grid-template-columns:1fr 1fr}.mega-col{border-left:0;padding-left:0}.mega-col:nth-child(even){border-left:1px solid rgba(255,255,255,.18);padding-left:14px}}
