:root{--ink:#292d20;--muted:#646655}body{background:#fcfaf3;color:var(--ink)}h1,h2,h3{letter-spacing:-.035em}p{line-height:1.65}.wrap{max-width:1240px}.announcement{background:#404922;color:#fff;font-size:12px;letter-spacing:.09em;padding:11px 20px}.navbar{gap:18px}.brand img{width:110px;height:82px;object-fit:contain}.nav{gap:18px}.nav a{font-size:13px}.hero{background:#f3eedf}.hero-grid{gap:60px!important;min-height:570px}.hero h1{font-size:clamp(48px,6vw,82px);line-height:1.03}.hero-media-card{background:#e9e6d6;border-radius:8px;box-shadow:none;aspect-ratio:1}.hero-media-card img{object-fit:contain;height:100%;width:100%}.section{padding:70px 0}.section h2{font-size:clamp(30px,4vw,46px);line-height:1.12}.btn{border-radius:6px;min-height:44px;white-space:normal;text-align:center}.btn.primary,.btn.dark{background:#414b26;color:#fff}.btn.outline{color:#374012}.section.alt{background:#f1efe5}.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.collection-card{display:block;background:#fffdf7;border:1px solid #d8d8c8;border-radius:7px;padding:30px;color:inherit;text-decoration:none}.collection-card h3{font:700 27px Georgia,serif;margin:20px 0 12px}.collection-card p{color:#606452}.collection-card .eyebrow{font-size:11px;color:#596044}.editorial-band{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;align-items:center}.editorial-band p{max-width:580px}.seasonal-intro{background:#eadfc9}.season-symbol{text-align:center;color:#6e6741;font-size:150px}.memorial-intro,.memorial-hero{background:#e6e9de}.memorial-note{border-left:1px solid #9aa18a;padding:28px;font-family:Georgia,serif;font-size:24px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding-left:24px}.narrow{max-width:820px}.inquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}.inquiry-form .full{grid-column:1/-1}.inquiry-form label{display:grid;gap:8px;font-weight:700}.inquiry-form input,.inquiry-form select,.inquiry-form textarea,.shop-search input{width:100%;padding:13px;border:1px solid #999e8b;border-radius:5px;background:white;color:#242b1d;font:inherit;box-sizing:border-box}.inquiry-form textarea{min-height:120px}.inquiry-form small{font-weight:400;color:#5d6354}.shop-search{width:min(100%,400px)}.shop-search label{display:block;margin-bottom:8px;font-weight:700}.shop-search p{font-size:13px}.filters{flex-wrap:wrap}.filter[aria-pressed=true]{background:#414b26;color:#fff}.empty-state{grid-column:1/-1;padding:32px;border:1px dashed #a9ae99;border-radius:7px}.skip-link{position:fixed;top:-100px;left:12px;z-index:9999;background:#fff;padding:12px}.skip-link:focus{top:12px}:focus-visible{outline:3px solid #a4561a;outline-offset:4px}img{max-width:100%}.product-img{aspect-ratio:1}.product-img img{width:100%;height:100%;object-fit:cover}header{z-index:100}.review-banner{background:#202b20;color:white;padding:10px 18px;font:13px/1.4 system-ui;text-align:center}.review-banner a{color:white;text-decoration:underline}.review-result{border-left:4px solid #69773e;padding:15px;background:#eff1e7;white-space:pre-wrap}.memorial-hero h1{font-size:clamp(44px,6vw,76px)}[hidden]{display:none!important}.sp-merch-status{padding:14px;border:1px solid #a0a68c;background:#f7f8ee;white-space:pre-wrap}.sp-merch-status[data-error=true]{border-color:#a33b25;color:#7b2514}
@media(max-width:1100px){.nav{gap:10px}.nav a{font-size:12px}.navbar{gap:10px}}
@media(max-width:980px){.nav{display:none}.nav.open{display:flex;position:absolute;top:100%;left:0;right:0;background:#fffdf6;padding:20px;flex-direction:column;align-items:stretch;box-shadow:0 12px 24px #0002}.nav a{font-size:16px;padding:10px}.menu{display:block}.hero-grid{min-height:0;gap:30px!important}.hero h1{font-size:54px}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.wrap{width:calc(100% - 32px)}.section{padding:44px 0}.hero-grid,.editorial-band,.collection-grid,.process-grid,.inquiry-form{grid-template-columns:1fr}.hero-grid{padding:30px 0!important}.hero h1{font-size:46px}.hero-media-card{max-height:300px}.section-head{align-items:stretch}.editorial-band{gap:20px}.season-symbol{display:none}.memorial-note{font-size:20px}.inquiry-form .full{grid-column:auto}.collection-card{padding:24px}.brand img{width:90px;height:66px}.announcement{font-size:10px}.actions{gap:10px}.actions .btn{max-width:100%}.page-hero h1{overflow-wrap:anywhere}.promo-media video{max-width:100%}.engraving-choice{padding:20px!important}.process-grid{gap:18px}.cart{margin-left:auto}.nav.open{max-height:75vh;overflow:auto}}
@media(max-width:650px){.brand{width:100px;flex:0 1 100px}.navbar{gap:8px}.cart{flex-shrink:0}.menu{flex-shrink:0;padding:6px}.hero-grid>*{min-width:0}.inquiry-form input[type=file]{min-width:0}}

.contact-card{min-width:0;overflow-wrap:anywhere}.hero-media-card{background:#fff}.hero h1 span:first-child{color:#303720}.hero h1{font-size:clamp(44px,5.5vw,76px)}

/* Customer layouts: fluid spacing and bounded media across screen sizes. */
:root{--store-space:clamp(28px,4vw,56px);--store-gap:clamp(16px,2.5vw,32px)}
.wrap{width:min(1180px,calc(100% - clamp(28px,5vw,64px)))}
.section{padding:var(--store-space) 0}
.page-hero{padding:clamp(26px,4vw,48px) 0 clamp(20px,3vw,36px)}
.page-hero h1{font-size:clamp(30px,4.3vw,54px);line-height:1.08;max-width:24ch}
.page-hero p{font-size:clamp(15px,1.4vw,17px);margin:12px 0 0;max-width:65ch}
.hero-grid{min-height:0;padding:clamp(28px,4vw,52px) 0;gap:var(--store-gap)!important}
.hero h1{font-size:clamp(34px,4.8vw,66px);line-height:1.06}
.hero-media-card{max-width:440px;max-height:440px}
.lede{font-size:clamp(16px,1.5vw,18px)}
.section h2{font-size:clamp(27px,3.3vw,40px)}
.section-head{flex-wrap:wrap;gap:18px;margin-bottom:24px}
.section-head>div{min-width:0}
.section-head:has(.shop-search)>div:first-child{flex:1 1 300px}
.section-head .shop-search{flex:0 1 340px}
.section-head .filters{flex:1 0 100%}
.actions{margin:20px 0;gap:10px}
.cta{padding:clamp(24px,4vw,42px);gap:24px}
.cta h2{font-size:clamp(28px,3.4vw,42px)}
.path-card{min-height:0;padding:clamp(22px,3vw,32px)}
.path-card h3{font-size:clamp(28px,3.2vw,38px)}
.collection-card{padding:24px}
.editorial-band{gap:var(--store-gap)}
.brand{width:150px}
.navbar{height:76px;gap:16px}
.nav{gap:14px}
.nav a{padding:24px 0}
.menu{min-width:44px;min-height:44px}
.announcement{padding:8px 16px;line-height:1.5}
.grid>*,.about-grid>*,.builder-layout>*,.editorial-band>*,.footer-grid>*,.checkout-grid>*,.form-grid>*,.inquiry-form>*,.flex-promo-section .promo-wrap>*,.policy-layout>*{min-width:0}
input,select,textarea{max-width:100%}
main h1,main h2,main h3,.summary-row,.contact-list a,.quote-public-line{overflow-wrap:anywhere}
.about-grid{gap:var(--store-gap)}
.checkout-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.8fr);gap:24px}
.checkout-summary{top:92px}
.builder-card,.story,.contact-card{padding:clamp(20px,2.5vw,30px)}
.builder-info .display{font-size:clamp(28px,3.5vw,42px)!important}
.flex-promo-section .promo-copy h2{font-size:clamp(28px,3.8vw,46px);line-height:1.1}
.flex-promo-section .promo-copy p{font-size:16px}
.flex-promo-section .promo-media,.flex-promo-section .promo-media img,.flex-promo-section .promo-media video{min-height:0;max-height:440px}
.flex-promo-section .promo-media{aspect-ratio:4/3}
.flex-promo-section .promo-wrap{gap:var(--store-gap)}
footer{padding:32px 0 22px}
.footer-logo{max-width:160px}
.policy-section{padding-top:var(--store-space)}
.policy-card{padding:clamp(20px,3vw,30px)}
/* The memorial page has its own page-specific rules; keep this scope stronger. */
body .memorial-brochure-hero{padding:clamp(28px,4vw,48px) 0}
body .memorial-hero-copy h1{font-size:clamp(32px,4.5vw,60px);line-height:1.08}
body .memorial-brochure-grid,body .memorial-process-grid{gap:var(--store-gap)}
body .memorial-product-grid article{padding:clamp(20px,2.5vw,28px)}
body .memorial-art-card{min-height:300px;padding:24px;transform:none}
body .memorial-hero-copy p{font-size:16px}
.lab-hero h1{font-size:clamp(32px,4.5vw,58px)}
.lab-hero-art{max-width:100%;margin-inline:0}
@media(min-width:761px) and (max-width:980px){
 .hero-grid{grid-template-columns:1.05fr .95fr}
 .hero-media-card{max-height:340px}
 .about-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
 .nav.open{top:100%;max-height:calc(100dvh - 76px);overflow:auto}
 .nav.open a{padding:10px;min-height:44px}
}
@media(max-width:900px){
 .checkout-grid{grid-template-columns:minmax(0,1fr)}
 .checkout-summary{position:static}
 .flex-promo-products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .hero-grid,.about-grid,.editorial-band,.builder-layout,.flex-promo-section .promo-wrap{grid-template-columns:minmax(0,1fr)}
 .hero-media-card{width:min(100%,340px);justify-self:center;max-height:340px}
 .builder-info{position:static}
 .flex-promo-section .promo-media{width:100%;max-height:340px}
 .cta{align-items:flex-start;flex-direction:column}
 .summary-row{gap:12px}
 .quote-public-line{gap:12px}
}
@media(max-width:650px){
 .navbar{height:64px;gap:8px}
 .brand{width:100px;height:56px;flex:0 1 100px}
 .brand img{max-height:52px}
 .nav.open{max-height:calc(100dvh - 64px)}
 .section-head{gap:16px}
 .section-head .shop-search{flex:auto;width:100%}
 .section-head .filters{flex:auto}
 .hero-grid{padding:28px 0!important}
 .form-grid,.inquiry-form{gap:14px}
 .field input,.field select,.field textarea,.inquiry-form input,.inquiry-form select,.inquiry-form textarea{font-size:16px}
 .product h3{font-size:21px;line-height:1.15}
 .price-row{gap:10px;flex-wrap:wrap}
 .product-body{padding:16px}
 .filter{min-height:44px}
 .panel-head{flex-wrap:wrap}
 .quick-personalization-toggle span{flex-wrap:wrap;gap:6px}
 .lab-hero-art{transform:none;margin:0;width:100%;min-height:240px}
}
@media(min-width:480px) and (max-width:650px){
 .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:400px){
 .flex-promo-products{grid-template-columns:minmax(0,1fr)}
 .hero-media-card{max-height:280px}
 .quote-document-head,.quote-document section{padding:22px 16px}
}

@media(max-width:650px){.section-head:has(.shop-search)>div:first-child{flex:auto}}

.policy-content{min-width:0;grid-template-columns:minmax(0,1fr)}.policy-content>*{min-width:0;overflow-wrap:anywhere}

/* Catalogue photos stay compact without cropping the product artwork. */
#shopGrid .product-img,#featuredProducts .product-img{display:block;aspect-ratio:auto;height:clamp(180px,19vw,240px);flex-shrink:0;background:#fff}
#shopGrid .product-img img,#featuredProducts .product-img img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;padding:10px}
@media(max-width:650px){#shopGrid .product-img,#featuredProducts .product-img{height:210px}}

.product-loading{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px;align-items:start}
.product-loading-photo{height:clamp(220px,35vw,440px);border-radius:16px;background:#f0eee6}
.product-loading-line{height:20px;background:#eeece3;border-radius:5px;margin:20px 0}.product-loading-line.short{width:65%}
@media(max-width:760px){.product-loading{grid-template-columns:1fr}.product-loading-photo{height:240px;max-width:340px;width:100%;justify-self:center}}
