@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600&family=Manrope:wght@400;500;600&display=swap');
:root{--paper:#f8f6f1;--navy:#1e3a5f;--ink:#172c3b;--stone:#c9b9a7;--line:#d9d6cf;--muted:#60686b;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #9c7550;outline-offset:6px}a:hover{opacity:.78}img{display:block;width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}em{font-weight:400}p{line-height:1.65}.header{height:106px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:32px}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:54.3px;height:42.1px;background:url('assets/optimized/0b872555450aa93caded-1448.webp') -69.96px -18.92px/318.56px 238.92px no-repeat;mix-blend-mode:multiply}.wordmark{font-family:var(--serif);font-size:30px;letter-spacing:.07em;line-height:1}.wordmark small{display:block;font-size:10px;letter-spacing:.66em;text-align:center;margin-top:8px;margin-left:6px}.header nav{display:flex;gap:38px;font-size:14px;margin-left:auto;margin-right:60px}.languages{display:flex;align-items:center;gap:9px;font-size:13px}.languages a{border:0;padding:7px 3px;background:none;cursor:pointer;opacity:.5}.languages a[aria-current=page]{opacity:1;border-bottom:1px solid var(--ink)}.languages span{color:#aaa}.hero{display:grid;grid-template-columns:46% 54%;min-height:650px}.hero-copy{padding:80px 8% 36px 9.8%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.18em;line-height:1.6}.hero h1{font-size:clamp(45px,4.55vw,76px);line-height:1.12;margin-top:55px;letter-spacing:-.05em}.hero h1 em{color:#7b7e75}.hero-description{max-width:290px;margin-top:26px;color:var(--muted);font-size:17px}.button{margin-top:36px;display:inline-flex;gap:38px;align-items:center;background:var(--navy);color:white;padding:19px 23px;font-size:14px}.button span:last-child{font-size:21px;line-height:1}.hero-foot{display:flex;gap:14px;align-items:center;margin-top:auto;padding-top:62px;font-size:11px;letter-spacing:.17em}.short-rule{width:35px;height:1px;background:#8a969c}.hero-visual{position:relative;overflow:hidden;min-height:650px;color:#fff;background:#525855}.hero-visual>img{position:absolute;height:100%;object-fit:cover}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,20,24,.17),transparent 35%,rgba(8,20,24,.48));pointer-events:none}.image-top,.image-bottom{position:absolute;left:7%;right:7%;z-index:1;display:flex;justify-content:space-between;align-items:center}.image-top{top:36px;font-size:11px;letter-spacing:.16em}.image-bottom{bottom:42px;align-items:flex-end}.image-bottom p{font-family:var(--serif);font-size:66px;letter-spacing:-.035em;line-height:1.2;margin-top:8px}.circle-link{border:1px solid #ffffff70;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;font-size:23px}.intro-line{display:flex;gap:44px;padding:29px 4.5%;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:19px}.intro-index{font-family:var(--sans);font-size:11px;letter-spacing:.16em;margin-left:auto;align-self:center}.section{padding:100px 7.5%}.section-top{display:flex;justify-content:space-between;align-items:center;gap:24px}.meta{font-size:11px;letter-spacing:.1em;line-height:1.6}.stone-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin:32px 0 42px}.stone :is(h1,h2){font-size:80px;line-height:1.1}.stone :is(h1,h2) span{color:var(--stone)}.stone-heading>p{color:var(--muted);max-width:370px;line-height:1.8}.slab img{max-height:660px;object-fit:cover;object-position:center}.slab figcaption{display:flex;justify-content:space-between;gap:24px;font-size:11px;letter-spacing:.08em;padding-top:17px;color:var(--muted)}.slab figcaption span + span{letter-spacing:0;font-size:13px}.material-bottom{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:76px}h3{font-size:46px;line-height:1.13;margin-top:23px}.material-description{padding-top:6px;color:var(--muted);max-width:460px}.text-link{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid #a4adae;margin-top:25px;font-size:14px;color:var(--ink)}.specs{background:#ece9e1}.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:50px}.spec-grid h2,.story h2,.contact h2{font-size:58px;line-height:1.12}.spec-grid>div>p{max-width:350px;color:var(--muted);margin-top:26px}.spec-grid .text-link{max-width:260px}dl{margin:0}dl>div{display:flex;justify-content:space-between;gap:22px;padding:20px 0;border-bottom:1px solid #cdcac3;font-size:14px}dl>div:first-child{border-top:1px solid #cdcac3}dt{color:var(--muted)}dd{margin:0;text-align:right}.spec-note{font-size:13px;color:var(--muted);margin-top:44px;text-align:right}.story{padding-top:106px;padding-bottom:108px}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:44px}.story-lead{font-family:var(--serif);font-size:25px;margin-bottom:20px}.story-grid>div>p:not(.story-lead){color:var(--muted)}.story-signature{font-family:var(--serif);font-style:italic;font-size:19px;margin-top:27px}.contact{background:var(--navy);color:var(--paper)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-top:44px;align-items:end}.contact-grid>div>p:not(.contact-name){max-width:390px;margin-top:27px;color:#d4dce2}.contact-details{padding-bottom:7px}.contact-name{font-family:var(--serif);font-size:29px}.contact .contact-role{margin-top:4px!important;font-size:14px}.email{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #ffffff55;padding:28px 0 20px;font-size:clamp(16px,1.7vw,24px)}.email span:first-child{overflow-wrap:anywhere}.contact .contact-details .meta{margin-top:17px;font-size:11px;letter-spacing:.12em}footer{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:35px 4.5%;font-size:12px;color:var(--muted)}.footer-wordmark{font-family:var(--serif);font-size:25px;letter-spacing:.09em;color:var(--ink)}.footer-wordmark span{font-size:10px;letter-spacing:.25em;margin-left:6px}.skip{position:fixed;left:15px;top:-100px;z-index:20;padding:15px;background:white}.skip:focus{top:15px}@media(min-width:1650px){.hero{min-height:780px}.hero-copy{padding-top:110px}.hero-visual{min-height:780px}.hero h1{margin-top:85px}}@media(max-width:1050px){.header nav{margin-right:15px;gap:23px}.hero-copy{padding-top:58px}.hero{grid-template-columns:48% 52%}.hero h1{font-size:49px}.hero-visual,.hero{min-height:610px}.section{padding:80px 6%}.spec-grid,.story-grid,.contact-grid{gap:50px}.stone :is(h1,h2){font-size:66px}.intro-line{gap:27px}.material-bottom{gap:50px}}@media(max-width:700px){html{scroll-padding-top:20px}.header{height:auto;min-height:94px;flex-wrap:wrap;padding:21px 6% 15px;gap:20px}.brand-mark{transform:scale(.82);transform-origin:left center;margin-right:-9px}.wordmark{font-size:26px}.header nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:17px;margin:0;gap:12px;font-size:13px}.languages{margin-left:auto}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 7% 31px}.hero h1{font-size:clamp(43px,9.5vw,64px);margin-top:33px}.hero-description{max-width:300px;margin-top:22px}.hero-foot{padding-top:40px}.button{margin-top:27px}.hero-visual{min-height:470px}.image-top{top:26px}.image-bottom{bottom:29px}.image-bottom p{font-size:56px}.intro-line{padding:23px 6%;gap:12px;justify-content:space-between;font-size:15px;flex-wrap:wrap}.intro-index{display:none}.section{padding:62px 6%}.section-top{align-items:flex-start;gap:14px}.section-top .meta{max-width:120px;text-align:right;font-size:10px}.stone-heading{display:block;margin:28px 0}.stone :is(h1,h2){font-size:62px}.stone-heading>p{margin-top:22px;max-width:100%}.slab img{min-height:270px;object-fit:cover}.slab figcaption{display:block;line-height:1.8}.slab figcaption span{display:block}.material-bottom,.spec-grid,.story-grid,.contact-grid{grid-template-columns:1fr;gap:30px;margin-top:37px}.material-bottom{margin-top:44px}.material-description{max-width:none}.material-bottom h3{font-size:42px}h3 br{display:none}.spec-grid h2,.story h2,.contact h2{font-size:49px}.spec-grid>div>p{max-width:none}.spec-note{text-align:left;margin-top:28px}.story-lead{font-size:24px}.contact-grid{gap:42px}.email{font-size:18px;padding-top:23px}footer{padding:27px 6%;flex-wrap:wrap;gap:20px}footer .footer-wordmark{width:100%}footer>a:last-child{margin-left:auto}dl>div{font-size:14px}.eyebrow{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Display only the stone in the unretouched original photograph.
   Source region: y=13.3% through 80%, safely inside the slab edges. */
.slab-frame { aspect-ratio: 2 / 1; overflow: hidden; }
.slab .slab-frame img { display: block; width: 100%; height: auto; min-height: 0; max-height: none; object-fit: initial; transform: translateY(-13.3%); }

.gallery { background: #eeece6; }
.gallery-heading { display: flex; justify-content: space-between; align-items: end; gap: 50px; margin: 32px 0 48px; }
.gallery-heading h2 { font-size: clamp(40px, 4.2vw, 64px); line-height: 1.12; max-width: 580px; }
.gallery-heading p { max-width: 330px; color: var(--muted); }
.gallery-grid { columns: 3; column-gap: 26px; }
.gallery-item { display: inline-block; vertical-align: top; width: 100%; margin: 0 0 30px; break-inside: avoid; }
.gallery-item .gallery-open { display: block; }
.gallery-item .gallery-open:hover { opacity: 1; }
.gallery-item .gallery-open:focus-visible { outline-offset: 4px; }
.gallery-item img { display: block; width: 100%; height: auto; }
.gallery-item figcaption { display: flex; justify-content: space-between; gap: 14px; padding-top: 13px; font-size: 14px; line-height: 1.5; }
@media (max-width: 1050px) { .gallery-grid { columns: 2; } .gallery-heading { align-items: start; } }
@media (max-width: 700px) { .gallery-heading { display: block; margin-bottom: 30px; } .gallery-heading p { margin-top: 22px; max-width: none; } .gallery-grid { columns: 1; } .gallery-item { margin-bottom: 30px; } }

/* Whole-slab presentation with a continuous studio backdrop. */
.hero-visual { display: flex; flex-direction: column; padding: 34px 0 34px; background: linear-gradient(145deg, #e2e2e2 0%, #d4d4d4 52%, #dedede 100%); color: var(--ink); }
.hero-visual::after { display: none; }
.hero-visual .image-top { position: static; order: 0; margin: 0 6%; font-size: 10px; letter-spacing: .18em; }
.hero-art { order: 1; flex: 1; display: flex; align-items: center; margin: 18px 0; min-width: 0; }
.hero-art img { position: static; width: 100%; height: auto; object-fit: contain; mask-image: linear-gradient(to bottom, transparent, #000 8%, #000 91%, transparent), linear-gradient(to right, transparent, #000 5%, #000 95%, transparent); mask-composite: intersect; }
.hero-visual .image-bottom { position: static; order: 2; margin: 0 6%; border-top: 0; padding-top: 0; align-items: center; }
.hero-visual .image-bottom>div { display: flex; flex-direction: column; gap: 7px; }
.hero-visual .image-bottom .eyebrow { font-size: 9px; letter-spacing: .2em; color: #516069; }
.hero-visual .image-bottom p { font-size: 32px; line-height: 1.1; letter-spacing: -.025em; margin: 0; }
.hero-visual .circle-link { border-color: #879296; width: 40px; height: 40px; font-size: 19px; }
@media (max-width: 700px) {
 .hero-visual { min-height: 0; padding: 26px 0 28px; }
 .hero-art { flex: none; margin: 32px 0 28px; }
 .hero-visual .image-bottom p { font-size: 29px; }
}

.gallery-open { width: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
html.lightbox-open { overflow: hidden; }
.lightbox { position: fixed; inset: 0; width: 100%; height: 100%; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 64px 32px 30px; border: 0; color: #f8f6f1; background: transparent; }
.lightbox[open] { display: flex; align-items: center; justify-content: center; }
.lightbox::backdrop { background: rgba(12, 20, 25, .94); }
.lightbox-figure { max-width: 100%; text-align: center; }
.lightbox-image { width: auto; height: auto; max-width: 100%; max-height: calc(100vh - 150px); max-height: calc(100dvh - 150px); object-fit: contain; margin: auto; }
.lightbox-figure figcaption { padding-top: 16px; font-size: 14px; letter-spacing: .025em; }
.lightbox-close { position: absolute; top: 16px; right: 22px; width: 44px; height: 44px; padding: 0; display: grid; place-items: center; border: 1px solid #ffffff70; border-radius: 50%; background: #18242b; color: white; font-size: 30px; line-height: 1; cursor: pointer; }
.lightbox-close:hover { background: #33434d; }
@media (max-width: 700px) { .lightbox { padding: 64px 16px 24px; } .lightbox-close { right: 16px; } }

/* Gallery navigation stays clear of the photograph at every screen size. */
.lightbox { padding-left: 88px; padding-right: 88px; }
.lightbox-nav { position: absolute; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 48px; height: 48px; padding: 0 0 4px; border: 1px solid #ffffff70; border-radius: 50%; background: #18242b; color: white; font: 38px/1 Georgia, serif; cursor: pointer; }
.lightbox-nav:hover { background: #33434d; }
.lightbox-prev { left: 20px; }
.lightbox-next { right: 20px; }
.lightbox-image { touch-action: pan-y pinch-zoom; user-select: none; -webkit-user-select: none; }
.lightbox-count { display: block; margin-top: 7px; font-size: 11px; letter-spacing: .12em; color: #bcc6ca; }
@media (max-width: 700px) {
 .lightbox { padding: 64px 16px 92px; }
 .lightbox-image { max-height: calc(100vh - 214px); max-height: calc(100dvh - 214px); }
 .lightbox-nav { top: auto; bottom: 18px; transform: none; width: 44px; height: 44px; }
 .lightbox-prev { left: calc(50% - 58px); }
 .lightbox-next { right: calc(50% - 58px); }
}

[hidden] { display: none !important; }
.slab-frame.natural { aspect-ratio: auto; }
.slab .slab-frame.natural img { transform: none; }
.more-products { margin-top: 72px; border-top: 1px solid var(--line); padding-top: 34px; }
.product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px; margin-top: 34px; }
.product-grid img { height: auto; }
.product-grid h3 { font-size: 34px; margin: 20px 0 12px; }
.product-grid p { color: var(--muted); white-space: pre-line; }
@media(max-width:700px) { .product-grid { grid-template-columns: 1fr; } }

/* Contact form preview, using the existing navy and paper palette. */
.contact.section { padding-top: 64px; padding-bottom: 64px; }
.contact-grid { align-items: start; margin-top: 28px; }
.contact-form { display: grid; gap: 16px; min-width: 0; width: 100%; max-width: 560px; justify-self: end; }
.contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.contact-form label { display: grid; gap: 7px; min-width: 0; font-size: 13px; line-height: 1.5; color: #f8f6f1; }
.contact-form label small { font-size: 12px; color: #c5cfdb; font-weight: 400; }
.contact-form input, .contact-form textarea { display: block; width: 100%; min-width: 0; border: 1px solid #ffffff45; border-radius: 0; padding: 10px 14px; background: #ffffff06; color: #f8f6f1; font: 16px/1.5 var(--sans); transition: border-color .18s, background .18s; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: #b9c6d6; opacity: 1; }
.contact-form input:hover, .contact-form textarea:hover { border-color: #ffffff80; }
.contact-form input:focus, .contact-form textarea:focus { outline: 2px solid #c9b9a7; outline-offset: 3px; border-color: #c9b9a7; background: #ffffff0b; }
.contact-form textarea { resize: vertical; height: 104px; min-height: 104px; }
.contact-form-bottom { display: flex; align-items: center; gap: 24px; }
.contact-submit { display: inline-flex; align-items: center; justify-content: space-between; gap: 36px; flex-shrink: 0; min-height: 46px; padding: 12px 20px; border: 1px solid var(--paper); background: var(--paper); color: var(--navy); font-size: 14px; cursor: pointer; }
.contact-submit:hover { background: #e8e2d8; border-color: #e8e2d8; }
.contact-submit:focus-visible { outline: 2px solid #c9b9a7; outline-offset: 5px; }
.contact-submit:disabled { cursor: default; opacity: .6; }
.contact-form .contact-form-note { max-width: 260px; font-size: 12px; line-height: 1.65; color: #c5cfdb; }
.contact-form-status { padding: 14px 16px; border-left: 2px solid #c9b9a7; background: #ffffff08; color: #f8f6f1; font-size: 14px; line-height: 1.6; }
@media(max-width:1050px) { .contact-form-bottom { align-items: start; flex-direction: column; gap: 15px; } .contact-form .contact-form-note { max-width: none; } }
@media(max-width:700px) { .contact.section { padding-top: 48px; padding-bottom: 48px; } .contact-form { max-width: none; } .contact-fields { grid-template-columns: 1fr; gap: 16px; } .contact-submit { width: 100%; } }
