:root{--bg:#fff;--text:#252721;--accent:#263f32;--surface:#f1eee6;--muted:#62675e;--border:#d9d9d1;--buttontext:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.18}h1{font-size:clamp(32px,4.3vw,58px);margin:18px 0 24px}h2{font-size:clamp(28px,3vw,40px);margin:0 0 24px}h3{font-size:21px}p{margin:12px 0}img{display:block;max-width:100%;height:auto}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.skip{position:absolute;left:-10000px}.skip:focus{left:16px;top:16px;background:var(--bg);z-index:10;padding:12px}.announcement{text-align:center;background:var(--surface);padding:10px 20px;font-size:12px;letter-spacing:.6px}.header{background:var(--bg);border-bottom:1px solid var(--border)}.mast{display:flex;justify-content:center;align-items:center;position:relative;padding:22px 6%}.brand{font:34px Georgia,serif;letter-spacing:6px}.logo{max-height:64px;width:170px;object-fit:contain}.header-tools{position:absolute;right:5%;display:flex;gap:20px;font-size:13px}.nav{display:flex;justify-content:center;gap:32px;padding:14px 20px;font-size:13px;letter-spacing:.5px}.nav a:hover,.text-link:hover{text-decoration:underline}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1.15fr;background:var(--surface);min-height:540px}.hero-copy{padding:70px 10%;align-self:center}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-media .photo-empty{height:100%;min-height:450px}.eyebrow{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--buttontext);border:1px solid var(--accent);padding:15px 24px;font-size:14px;letter-spacing:.5px;min-height:48px}.button:disabled{opacity:.6;cursor:default}.outline{background:transparent;color:var(--text);border-color:var(--text)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.section{max-width:1440px;margin:auto;padding:64px 6%}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.section-head a,.scroll-hint{font-size:13px}.category-track{display:flex;overflow-x:auto;gap:24px;scroll-snap-type:x mandatory;padding:0 0 16px}.category{flex:0 0 calc((100% - 120px)/6);min-width:160px;text-align:center;scroll-snap-align:start}.category img,.category .photo-empty{width:100%;aspect-ratio:1;object-fit:cover;background:var(--surface)}.category h3{font-size:18px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 24px}.product-card img,.product-card .photo-empty{width:100%;aspect-ratio:1;object-fit:contain;background:var(--surface)}.product-card h3{font:16px/1.4 Arial,sans-serif;margin:18px 0 4px}.product-card p{font-size:13px;margin:4px 0}.product-card .price{font-size:15px}.status{color:var(--muted);font-size:12px}.split{display:grid;grid-template-columns:1fr 1fr;background:var(--surface)}.split img,.split .photo-empty{width:100%;height:100%;min-height:440px;object-fit:cover}.editorial{padding:64px 12%;align-self:center}.steps{padding-left:20px;margin:24px 0}.steps li{padding:5px}.stone-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.stone{padding:50px 24px;background:var(--surface);font:26px Georgia,serif;text-align:center}.craft{text-align:center;max-width:900px}.craft p{margin:0 auto 24px}.photo-empty{background:var(--surface);color:var(--muted);display:flex;justify-content:center;align-items:center;min-height:180px;text-align:center;font-size:13px;padding:20px}.breadcrumb{font-size:12px;color:var(--muted);margin:0 0 24px}.filters{display:flex;gap:20px;flex-wrap:wrap;margin-top:32px;border-top:1px solid var(--border);padding-top:24px}.filters label{flex:1;min-width:180px;font-size:12px}input,select,textarea{width:100%;padding:12px;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:0}label{display:block;margin-bottom:18px}label input,label select{margin-top:8px}.product-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:7%}.gallery{min-width:0}.gallery-slide img{width:100%;aspect-ratio:1;object-fit:contain;background:var(--surface)}.thumbnails{display:flex;gap:12px;margin-top:16px;overflow:auto;padding:3px}.thumb{background:transparent;border:1px solid var(--border);padding:0;flex:0 0 80px}.thumb[aria-pressed=true]{border:2px solid var(--accent)}.thumb img{width:78px;height:78px;object-fit:contain}.product-info h1{font-size:clamp(28px,3vw,42px)}.product-price{font-size:26px;margin:24px 0}.product-info .order{width:100%;margin-top:20px}.product-info label{margin-top:20px}.micro{font-size:12px;color:var(--muted)}details{border-top:1px solid var(--border);padding:20px 0}summary{cursor:pointer;font-size:14px}details p{font-size:14px;white-space:normal}.prose{max-width:900px;min-height:450px}.lead-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;max-width:1100px}.lead-layout img{width:100%;max-height:400px;object-fit:contain}.lead-layout h1{font-size:36px}.lead-form{margin-top:30px}.lead-form button{width:100%}.consent{font-size:12px}.consent input{width:auto}.consent a{text-decoration:underline}.honey{position:absolute;left:-10000px}.thank-you{text-align:center;max-width:800px;min-height:500px;padding-top:100px}.form-error,.option-warning{color:#a61b1b;background:#fff1f1;padding:15px}footer{background:var(--accent);color:var(--buttontext);padding:48px 6%;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px;font-size:13px}footer strong{font:26px Georgia,serif;letter-spacing:4px}footer a{display:block;margin:10px 0}footer p{max-width:360px}.copyright{grid-column:1/-1;opacity:.8;font-size:12px}[hidden]{display:none!important}@media(max-width:900px){.hero{min-height:400px}.header-tools{right:3%}.nav{gap:18px}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.category{flex-basis:23%}.editorial{padding:40px 8%}}@media(max-width:640px){.mast{padding:18px}.brand{font-size:27px}.logo{width:120px;height:44px}.header-tools{font-size:11px;gap:10px}.header-tools a:last-child{display:none}.menu{display:block;position:absolute;left:16px;border:0;background:transparent;color:var(--text);font-size:22px}.nav{display:none;flex-direction:column;padding:16px 24px;gap:0}.nav.open{display:flex}.nav a{padding:12px}.hero{grid-template-columns:1fr}.hero-copy{padding:38px 24px}.hero-media{grid-row:1}.hero-media img{height:320px}.hero-media .photo-empty{min-height:260px}.section{padding:40px 20px}.category{flex-basis:43%;min-width:135px}.section-head{align-items:flex-start;flex-direction:column;gap:4px;margin-bottom:18px}.section-head h2{margin-bottom:8px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}.product-card h3{font-size:14px}.split,.product-layout,.lead-layout{grid-template-columns:1fr}.split img,.split .photo-empty{min-height:260px;max-height:360px}.editorial{padding:40px 24px}.stone-grid{grid-template-columns:1fr;gap:12px}.stone{padding:26px}.product-info{margin-top:30px}.product-info h1{font-size:32px}.lead-layout{gap:24px}.filters{gap:10px}.filters label{min-width:140px}.thumbnails{gap:8px}footer{grid-template-columns:1fr;gap:20px}.thank-you{min-height:400px;padding-top:60px}}

.hero-carousel{position:relative}.hero-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}.hero-track>.hero{flex:0 0 100%;scroll-snap-align:start}.hero-controls{display:flex;justify-content:center;align-items:center;gap:20px;padding:12px;background:var(--surface);font-size:13px}.hero-controls button{background:var(--bg);color:var(--text);border:1px solid var(--border);padding:8px 18px;min-height:44px}.hero-track .hero-copy h2{font-size:clamp(32px,4.3vw,58px)}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Independent announcement palette and equal hero action geometry. */
.announcement{background:var(--announcementbg,var(--accent));color:var(--announcementtext,var(--buttontext))}
.hero-copy .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:460px;align-items:stretch}
.hero-copy .actions .button{width:100%;min-width:0;min-height:54px;height:100%;padding:14px 12px;text-align:center;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
@media(max-width:380px){.hero-copy .actions{grid-template-columns:minmax(0,1fr);max-width:none}}
/* A short, one-time photo reveal. Finished images retain their original framing. */
.photo-reveal-frame{display:block;overflow:hidden;width:100%;isolation:isolate}
.hero-media>.photo-reveal-frame,.split>div:not(.editorial)>.photo-reveal-frame{height:100%}
.photo-reveal-frame>img{transform:scale(1.06) translate3d(-.5%,0,0);transform-origin:50% 50%;transition:transform 1500ms cubic-bezier(.2,.65,.25,1)}
.photo-reveal-frame.is-revealed>img{transform:scale(1) translate3d(0,0,0)}
.bespoke-intro{max-width:760px;color:var(--muted);margin:0 0 28px}
@media(prefers-reduced-motion:reduce){.photo-reveal-frame>img{transform:none!important;transition:none!important}}

.inquiry-card{margin:32px 0;padding:clamp(24px,5vw,48px);background:var(--surface);border:1px solid var(--border)}.inquiry-card h2{margin-bottom:16px}.inquiry-card .lead-form{max-width:560px}.inquiry-card input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.inquiry-card .consent{display:flex;align-items:flex-start;gap:10px}.inquiry-card .consent input{margin-top:5px;flex:0 0 auto}.success-mark{width:64px;height:64px;margin:24px auto;border:1px solid var(--accent);border-radius:50%;color:var(--accent);font-size:30px;line-height:62px}.thank-you .actions{justify-content:center}

/* Product pages: keep recommendations clear of the details accordion.
   Percentage grid gaps also affect rows when the mobile layout stacks. */
.product-layout {
  column-gap: 7%;
  row-gap: 0;
  margin-bottom: 64px;
}
@media (max-width: 640px) {
  .product-layout {
    margin-bottom: 48px;
  }
}

/* Editable closeout banner */
.closeout-banner h2{margin-bottom:24px}
.closeout-link{display:block;overflow:hidden;background:var(--surface)}
.closeout-banner .closeout-photo{display:block;width:100%;height:auto;max-width:100%}
.closeout-banner .photo-empty{min-height:240px}
.closeout-link:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.closeout-caption{margin:20px 0 0;color:var(--muted);overflow-wrap:anywhere}
@media(max-width:640px){.closeout-banner h2{margin-bottom:18px}.closeout-caption{margin-top:16px}}
