/* Screen-specific art direction. Type scales follow the owner's heading setting. */
:root{--display-size:72px;--chapter-ink:#785347;--sage:#dfe3d7}
.hero .hero-copy{width:64%;max-width:890px;padding-top:72px}
.hero .hero-copy h1{font-size:clamp(64px,7.3vw,calc(var(--display-size)*1.4));line-height:.99;letter-spacing:-.055em;max-width:760px}
.hero::after{background:linear-gradient(90deg,#f4eadbeF 0%,#f4eadbd9 28%,#f4eadb4d 53%,transparent 74%)}
.hero .hero-copy>p:not(.eyebrow){max-width:360px;line-height:1.5}
.section>.eyebrow,.section-head .eyebrow,.atelier-heading .eyebrow{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.section>.eyebrow::before,.section-head .eyebrow::before,.atelier-heading .eyebrow::before{content:'';height:1px;width:40px;background:currentColor;flex:none}
.moments .section-head h2{font-size:clamp(46px,5.7vw,calc(var(--display-size)*1.12));max-width:840px}
.moments{background:radial-gradient(ellipse at 0 0,#f6eee1,transparent 65%),#e8ded2}
.moments .moment-card:not(:first-child){background:transparent;border-width:1px 0 0;padding:24px 0}
.moments .moment-card:not(:first-child) .moment-photo{border:0}
.moments .moment-card:first-child{box-shadow:12px 12px 0 #d5c3b7;padding:16px 16px 32px}
.catalog .section-head h2{font-size:clamp(38px,4.2vw,calc(var(--display-size)*.78));max-width:680px}
.catalog .section-head{align-items:end}.catalog .product-image{border:0;padding:12px;background:#e9e2d8}
.catalog .product-card h3{font-weight:400}.catalog .product-card .add-product{border-color:#bca89e;min-height:48px}
.atelier .atelier-heading h2{font-size:clamp(48px,6.4vw,calc(var(--display-size)*1.25));line-height:1.02}
.atelier{background:linear-gradient(135deg,#e9eadd,#d8ddcf)!important}
.atelier .process article>span{font-size:48px;line-height:1;color:#78836b;letter-spacing:-.06em}
.atelier .process h3{margin-top:24px}.atelier .atelier-heading figure{border:0}.atelier .atelier-heading figure img{object-position:center 52%}
.sets{background:#efe6dc}.sets .set-heading h2{font-size:clamp(44px,5.2vw,var(--display-size));max-width:740px}
.sets .set-details{background:#e2d5c8;border-top:1px solid #95786a;box-shadow:none}
.sets .set-image{border:0;background-color:#e4d9cd}.sets .set-details h3{font-size:clamp(32px,3.1vw,44px)}
.set-gallery>p{letter-spacing:.14em;font-size:12px}.set-gallery button{border-color:#c6b4a4}
.gifts.section h2{font-size:clamp(46px,5vw,calc(var(--display-size)*1.04));line-height:1.02}
.gifts .gift-options button{font-size:30px}.gifts .gift-options button::after{border:1px solid #baa496;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;flex:none}
footer .footer-memory h2{font-size:clamp(44px,6vw,86px);max-width:1000px;letter-spacing:-.04em;line-height:1.03}
footer .footer-memory{padding-block:40px 64px}footer .owner-entry{color:#e2cbd0;border-color:#a5868e}
dialog{box-shadow:0 24px 100px #39292244}dialog::backdrop{background:#30282a99;backdrop-filter:blur(5px)}
.product-dialog .product-gallery{background:#e8dfd4;padding:24px}.product-dialog #detail-photo{background:#efe7dd;object-fit:contain}
.product-dialog .detail-copy{background:#f5f0e8;padding:56px 32px 32px}.product-dialog .detail-copy h2{font-size:clamp(36px,4vw,52px);letter-spacing:-.035em}
.product-dialog .photo-thumbs button{border:1px solid #b8a99c}.product-dialog .photo-thumbs button[aria-pressed=true]{outline:2px solid var(--wine);outline-offset:2px}
.cart-dialog{width:620px;padding:40px}.cart-dialog .dialog-heading h2{font-size:42px;letter-spacing:-.03em}.cart-line img{width:96px;height:110px;object-fit:contain;background:#e8dfd4}.cart-line h3{font:400 24px/1.2 Georgia,serif}.cart-line p{font-size:16px}.cart-dialog #checkout-open{width:100%}
.added-dialog{border-top:5px solid #713c4b;padding:48px 32px}.added-dialog h2{font:400 40px/1.1 Georgia,serif;letter-spacing:-.03em}.added-actions{gap:16px}
.checkout-screen:target{background:#eee6dc;padding:80px max(24px,6vw)}
.checkout-screen .dialog-heading{width:100%;max-width:760px;margin-bottom:32px}.checkout-screen .dialog-heading h2{font-size:clamp(40px,5vw,64px);letter-spacing:-.035em;line-height:1.05}
.checkout-screen .checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:64px;align-items:start;max-width:1280px}
.checkout-screen .checkout-layout>div{max-width:none}.checkout-screen .order-summary{position:static;width:auto;min-height:0;padding:32px;background:#e2d5c8;border:0;border-top:2px solid #977b6c;box-sizing:border-box}
.checkout-screen .checkout-notice{max-width:760px;margin-bottom:32px}.checkout-screen input,.checkout-screen select{background:#f7f1e8;border-color:#bdaa9e}.checkout-screen label{font-size:16px}
@media(min-width:901px){.atelier .atelier-heading figure{aspect-ratio:2.3}.gifts .gift-image{width:72%}.gifts::after{background:linear-gradient(90deg,transparent 26%,#e9e0d52b 39%,#e9e0d5ed 56%,#e9e0d5 67%)}}
@media(max-width:900px){.hero .hero-copy{width:76%}.checkout-screen .checkout-layout{gap:32px}.cart-dialog{padding:32px}}
@media(max-width:700px){
.hero .hero-copy{width:100%;padding:48px 24px}.hero .hero-copy h1{font-size:clamp(46px,12vw,68px);max-width:100%;letter-spacing:-.045em}.hero{min-height:650px}
.moments .section-head h2,.atelier .atelier-heading h2,.sets .set-heading h2,.gifts.section h2{font-size:clamp(38px,10.5vw,56px)}.catalog .section-head h2{font-size:36px}
.moments .moment-card:first-child{box-shadow:6px 6px 0 #d5c3b7;padding:12px 12px 24px}.moments .moment-card:not(:first-child){padding:16px 0}.moments .moment-card:last-child{padding-bottom:0}
.atelier .process article>span{font-size:38px}.gifts .gift-options button{font-size:27px;gap:16px}.gifts .gift-options button::after{width:36px;height:36px}
footer .footer-memory h2{font-size:42px}.product-dialog .product-gallery{padding:16px}.product-dialog .detail-copy{padding:32px 24px}.cart-dialog{padding:24px}.cart-dialog .dialog-heading h2{font-size:34px}.cart-line img{width:72px;height:88px}.cart-line h3{font-size:22px}.added-dialog h2{font-size:34px}
.checkout-screen .checkout-layout{grid-template-columns:1fr;gap:32px}.checkout-screen .order-summary{padding:24px}.checkout-screen:target{padding:56px 24px}.checkout-screen .dialog-heading{width:100%}
}

@media(max-width:700px){.hero::after{background:linear-gradient(180deg,#f4eadbe8 0%,#f4eadbc9 42%,#f4eadb33 75%,transparent)} }

/* Visual story: texture belongs to the paper, never to the jewellery. */
.moments,footer{position:relative;isolation:isolate}
.moments::before,footer::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url("assets/paper-grain.svg") repeat;opacity:.12}
.sets{background:linear-gradient(135deg,#f1e9df 0%,#e7d8c9 100%)}
footer{background:linear-gradient(120deg,#51333f,#402f36)}

/* Generated editorial scenes: source catalogue photos remain untouched. */
.hero::after{background:linear-gradient(90deg,#f4eadb50,transparent 60%)}
@media(min-width:901px){.gifts .gift-image{width:100%}.gifts .gift-image img{object-position:center}.gifts::after{background:linear-gradient(90deg,transparent 32%,#f2e7d780 49%,#f2e7d7e8 63%,#f2e7d7ef)}.moments .moment-card:not(:first-child){grid-template-columns:180px 1fr}.moments .moment-card:not(:first-child) .moment-photo{aspect-ratio:1.3}.sets .set-image{min-height:560px;background-position:46% center!important}}
@media(max-width:700px){.hero{min-height:760px;height:auto}.hero .hero-copy{padding-bottom:320px}.hero>img{object-position:70% bottom}.hero::after{background:linear-gradient(180deg,#f5eddf 0%,#f5eddfed 33%,#f5eddf66 55%,transparent 72%)}.gifts .gift-image img{object-position:left center}.gifts .gift-image{aspect-ratio:1.2}.sets .set-image{aspect-ratio:1.2;background-position:center!important}}

@media(max-width:700px){.hero>img{inset:auto 0 0;width:100%;height:370px;object-position:right center}.hero::after{background:linear-gradient(180deg,#f5eddf 0%,#f5eddf 49%,#f5eddf99 60%,transparent 72%)}.hero .hero-copy{padding-bottom:360px}}

/* Focus and interaction system: hierarchy, legibility, explicit states. */
:root{--control-radius:4px;--control-hover:#5c2e3c;--control-pressed:#472532;--focus-ring:#854757}
body .button{text-transform:none;letter-spacing:0;line-height:1.35;min-height:56px;padding:16px 24px;gap:24px;font-weight:500;filter:none}
body .button:not(:disabled):hover{background:var(--control-hover);border-color:var(--control-hover);filter:none}
body .button:not(:disabled):active{background:var(--control-pressed);border-color:var(--control-pressed)}
body .button.button-secondary{background:transparent;color:var(--wine);border-color:#a88c88}
body .button.button-secondary:not(:disabled):hover{background:#eaded6;border-color:var(--wine);color:var(--wine)}
body .button:disabled,body .add-product:disabled{background:#e1d8ce;color:#70645c;border-color:#c5b6a8;opacity:1;cursor:not-allowed;box-shadow:none;filter:none}
body :is(button,a,input,select,summary):focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px}
body .button:focus-visible{box-shadow:0 0 0 2px #f5f0e8}
.header nav a{display:inline-flex;align-items:center;min-height:44px}.header .cart-trigger{min-height:44px;padding:8px 12px;border:1px solid #bcaaa0;border-radius:var(--control-radius)}
.header .cart-trigger:hover{background:#e9ded5}.header .cart-trigger:active{background:#dbcbbf}
.catalog .filters{gap:8px;align-items:center}.catalog .filters button{font-size:15px!important;text-transform:none;letter-spacing:0;padding:12px 16px;min-height:48px;border-radius:var(--control-radius);border:1px solid transparent;line-height:1.3}
.catalog .filters button:hover{background:#ede3d9}.catalog .filters button.active{background:#e4d4cb;border-color:#9d7a79;box-shadow:inset 0 -2px var(--wine);font-weight:700}
.catalog .sort select{font-size:15px;min-height:48px;border:1px solid #bcaaa0;border-radius:var(--control-radius);padding:12px;background:var(--paper);color:var(--ink)}
.catalog .product-card .add-product{border-radius:var(--control-radius);font-size:16px;min-height:48px;line-height:1.3}.catalog .product-card .add-product:not(:disabled):active{background:var(--control-pressed);color:#f5f0e8}
.product-tag{font-size:12px;line-height:1.3;padding:6px 10px;border-radius:2px;letter-spacing:.02em}
.product-card h3 button{min-height:44px;display:block}.product-card p{color:#685c55}.product-price>span{font-size:17px;color:#685c55;line-height:1.4}
.section-head>p,.set-heading>p{max-width:32ch;line-height:1.55}.moment-card p{line-height:1.5}.moment-card .text-link{gap:16px}
.gifts .gift-caption{display:none!important}.gifts .gift-options button{border-radius:0}.gifts .gift-options button:hover{background:#f5eddf88}.gifts .gift-options button:active{background:#e4d2c4}
.detail-copy label input,.detail-copy label select,.checkout-screen input:not([type=checkbox]),.checkout-screen select{min-height:52px;border-radius:var(--control-radius);font-size:18px}
:is(input,select):user-invalid{border:2px solid #964534!important;background:#f5e8de}
.cart-dialog .qty button{min-width:44px;min-height:44px}.cart-dialog .qty .remove{width:auto;padding-inline:12px}.close{min-width:44px;min-height:44px;border-radius:var(--control-radius)}
.added-dialog>p{font-size:18px;max-width:36ch;line-height:1.5}.added-dialog .added-actions{display:grid;gap:12px;margin-top:24px}
@media(hover:hover){.product-image:hover img{transform:scale(1.025)}}
@media(prefers-reduced-motion:no-preference){.button,.add-product,.filters button,.cart-trigger{transition:background-color .16s,border-color .16s,color .16s}}
@media(max-width:700px){body .button{min-height:52px;padding:14px 20px;gap:16px}.catalog .filters button{padding:10px 12px;font-size:14px!important;min-height:44px}.catalog .product-card .add-product{font-size:14px;padding-inline:8px}.product-price>span{font-size:15px}.catalog .catalog-toolbar{gap:16px}.hero .hero-copy>.eyebrow{letter-spacing:.08em}.cart-dialog .qty{flex-wrap:wrap}}

/* Reading hierarchy: descriptions stay readable; redundant CMS copy can be empty. */
[data-cms]:empty,.detail-copy>p:empty,.set-details>p:empty{display:none!important}
.moments .moment-card p,.moments .moment-card:not(:first-child) p{font-size:18px;line-height:1.55}
.atelier .process p{font-size:18px!important;line-height:1.6}
.sets .set-details>p:not(.eyebrow){font-size:18px;line-height:1.55;max-width:38ch}
.catalog .sample-note{font-size:17px;line-height:1.6;max-width:60ch;color:#685c55;margin-top:32px}
.product-dialog .detail-copy>p.muted{font-size:18px;line-height:1.6;color:#685c55}
.product-dialog .detail-copy .detail-note,.product-dialog .detail-copy #ring-size-help{font-size:16px;line-height:1.6;color:#685c55}
.product-information p{font-size:17px;line-height:1.6}
.gifts .gift-options button{align-items:center}
@media(max-width:700px){.moments .moment-card:not(:first-child){grid-column:1/-1;display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px 16px}.moments .moment-card:not(:first-child) .moment-photo{grid-column:1;grid-row:1/span 3;aspect-ratio:1}.moments .moment-card:not(:first-child) h3{grid-column:2;margin:0;font-size:25px}.moments .moment-card:not(:first-child) p{grid-column:2;font-size:18px}.moments .moment-card:not(:first-child) .text-link{grid-column:2;font-size:14px;margin:0}.catalog .sample-note{font-size:16px}.atelier .process{grid-template-columns:1fr}.atelier .process article{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px 16px}.atelier .process article>span{grid-row:1/span 2}.atelier .process h3{margin:0}.atelier .process p{grid-column:2}.atelier .process-photo{grid-column:2}.sets .set-details>p:not(.eyebrow){font-size:18px}}

/* Memory bento: photographs remain clear, captions live on material surfaces. */
.moments .section-head{margin-bottom:32px;padding-bottom:0;border:0;align-items:end}
.moments .section-head h2{font-size:clamp(44px,4.5vw,64px);max-width:20ch}
.moments .moment-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:280px 320px;gap:20px;margin-top:32px}
.moments .moment-card,.moments .moment-card:not(:first-child){position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:28px;border:1px solid #d4c3b5;border-radius:14px;box-shadow:none;min-width:0;gap:0;align-self:stretch;color:#342e2b;background:#eee0d5}
.moments .moment-card:first-child{grid-column:1/span 6;grid-row:1/span 2;background:#583844;color:#f5f0e8}
.moments .moment-card:nth-child(2){grid-column:7/span 6;grid-row:1;background:#e2e5d9;justify-content:center}
.moments .moment-card:nth-child(3){grid-column:7/span 3;grid-row:2;background:#edddd6}
.moments .moment-card:nth-child(4){grid-column:10/span 3;grid-row:2;background:#e1e3d6}
.moments .moment-card .moment-photo,.moments .moment-card:not(:first-child) .moment-photo{position:absolute;inset:0 0 auto;z-index:-3;aspect-ratio:auto;border:0;width:100%;height:62%;background:none}
.moments .moment-card .moment-photo img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .3s ease}
.moments .moment-card:first-child .moment-photo{height:69%}.moments .moment-card:first-child .moment-photo img{object-position:50% 43%}
.moments .moment-card:nth-child(2) .moment-photo{inset:0 0 0 auto;width:53%;height:100%}.moments .moment-card:nth-child(2) .moment-photo img{object-position:52% center}
.moments .moment-card::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(180deg,transparent 50%,#edddd6 66%)}
.moments .moment-card:first-child::before{background:linear-gradient(180deg,transparent 49%,#58384422 57%,#583844 72%)}
.moments .moment-card:nth-child(2)::before{background:linear-gradient(90deg,#e2e5d9 39%,#e2e5d9c0 48%,transparent 62%)}
.moments .moment-card:nth-child(4)::before{background:linear-gradient(180deg,transparent 50%,#e1e3d6 66%)}
.moments .moment-card::after{content:"";position:absolute;inset:66% 0 0;z-index:-1;pointer-events:none;background:url('assets/paper-grain.svg');opacity:.13}
.moments .moment-card:nth-child(2)::after{inset:0 53% 0 0}
.moments .moment-card h3,.moments .moment-card:not(:first-child) h3{margin:0;max-width:13ch;font-size:30px;line-height:1.1;letter-spacing:-.025em;color:inherit}
.moments .moment-card:first-child h3{font-size:46px;margin-bottom:12px}
.moments .moment-card p,.moments .moment-card:not(:first-child) p{margin:12px 0 0;font-size:18px;line-height:1.5;max-width:30ch;color:#514b41}
.moments .moment-card:first-child p{margin:0;color:#ebdad5;max-width:34ch;padding-right:36px}
.moments .moment-card:nth-child(2) h3{max-width:10ch}.moments .moment-card:nth-child(2) p{max-width:19ch;font-size:17px}
.moments .moment-card:nth-child(n+3) h3{max-width:12ch;padding-right:20px;font-size:29px}
.moments .moment-card:nth-child(n+3) p{display:none}
.moments .moment-card .text-link,.moments .moment-card:first-child>.text-link{position:absolute;right:20px;top:20px;margin:0;padding:0;border:0;width:44px;height:44px;min-height:44px;font-size:0;color:#553842;gap:0;z-index:1}
.moments .moment-card .text-link span{display:grid;place-items:center;font:24px/1 Arial;width:44px;height:44px;background:#f5f0e8eb;border:1px solid #cab4a4;border-radius:50%}
.moments .moment-card .moment-photo>span{position:absolute;top:24px;left:24px;border:0;border-radius:0;padding:4px 6px;font:13px/1.3 Arial;letter-spacing:.08em;color:#593b42;background:#f5f0e8e6}
.moments .moment-card:hover{border-color:#997769;box-shadow:0 8px 24px #49362c12}.moments .moment-card:hover img{transform:scale(1.025)}
.moments .moment-card:hover .text-link span{background:#713c4b;border-color:#713c4b;color:#f5f0e8}
.moments .moment-card:focus-visible{outline:3px solid #854757;outline-offset:5px}.moments .moment-card:active{box-shadow:inset 0 0 0 2px #997769}
@media(min-width:701px) and (max-width:1000px){.moments .moment-grid{grid-template-columns:1fr 1fr;grid-template-rows:380px 320px}.moments .moment-card:first-child{grid-column:1;grid-row:1}.moments .moment-card:nth-child(2){grid-column:2;grid-row:1;justify-content:flex-end}.moments .moment-card:nth-child(2) .moment-photo{inset:0;width:100%;height:62%}.moments .moment-card:nth-child(2)::before{background:linear-gradient(180deg,transparent 40%,#e2e5d9 65%)}.moments .moment-card:nth-child(2) p{max-width:27ch}.moments .moment-card:nth-child(2) h3{max-width:15ch}.moments .moment-card:nth-child(3){grid-column:1;grid-row:2}.moments .moment-card:nth-child(4){grid-column:2;grid-row:2}.moments .moment-card:first-child h3{font-size:36px}}
@media(max-width:700px){.moments .section-head h2{font-size:38px}.moments .moment-grid{grid-template-columns:1fr;grid-template-rows:auto;gap:16px}.moments .moment-card,.moments .moment-card:not(:first-child){grid-column:1;grid-row:auto;min-height:350px;padding:24px;border-radius:12px;display:flex;justify-content:flex-end}.moments .moment-card:first-child{min-height:440px}.moments .moment-card:first-child h3{font-size:38px}.moments .moment-card:first-child p{padding:0}.moments .moment-card:not(:first-child) h3{font-size:30px;max-width:15ch;padding-right:0}.moments .moment-card:nth-child(2) .moment-photo{inset:0;width:100%;height:62%}.moments .moment-card:nth-child(2)::before{background:linear-gradient(180deg,transparent 43%,#e2e5d9 66%)}.moments .moment-card:nth-child(2)::after{inset:66% 0 0}.moments .moment-card:nth-child(2) p{max-width:27ch;font-size:18px}.moments .moment-card:nth-child(n+3){min-height:300px}.moments .moment-card .moment-photo,.moments .moment-card:not(:first-child) .moment-photo{aspect-ratio:auto}.moments .moment-card .text-link,.moments .moment-card:not(:first-child) .text-link{margin:0;font-size:0}.moments .moment-card p{font-size:18px}}
@media(prefers-reduced-motion:reduce){.moments .moment-card,.moments .moment-card .moment-photo img{transition:none}.moments .moment-card:hover img{transform:none}}

.moments .moment-card:first-child{box-shadow:none}.moments .moment-card:first-child .moment-photo{height:73%}.moments .moment-card .moment-photo>span{display:none}

/* Product art direction: a quiet cabinet outside, a clear inspection space inside. */
.catalog .product-grid{align-items:stretch;row-gap:40px!important}
.catalog .product-card{display:flex;flex-direction:column;min-width:0;padding-bottom:20px;border-bottom:1px solid #d8c9bd}
.catalog .product-image{padding:8px;background:#e9e2d8;border:1px solid #ded2c7}
.catalog .product-card h3{margin:16px 0 4px;font-weight:400}.catalog .product-card h3 button{line-height:1.18}
.catalog .product-card>p{margin:0 0 12px;line-height:1.45}
.catalog .product-card .product-price{margin-top:auto;padding-top:8px;gap:12px}
.catalog .product-card .add-product{background:#efe7de;border-color:#b9a59a}.catalog .product-card .add-product:hover:not(:disabled){background:#713c4b}
.product-dialog{width:1160px;max-height:92svh;border:1px solid #cbb9ac;border-radius:8px}
.product-dialog #product-detail{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start}
.product-dialog .product-gallery{padding:24px;background:#e7dfd5;min-width:0}
.product-dialog #detail-photo{height:clamp(320px,51vh,560px);object-fit:contain;background:#eee7df}
.gallery-nav{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:14px;letter-spacing:.06em;color:#63564e}
.gallery-nav>div{display:flex;gap:8px}.gallery-nav button{width:44px;height:44px;border:1px solid #b9a79a;border-radius:50%;background:#f5f0e8;color:#593844;font-size:23px}.gallery-nav button:hover{background:#e0d1c4}.gallery-nav button:active{background:#cdb6a8}
.product-dialog .photo-thumbs{gap:12px;padding-top:16px}.product-dialog .photo-thumbs button{flex:0 0 64px;height:72px;border-radius:3px;background:#f0e8df;padding:4px}.product-dialog .photo-thumbs img{object-fit:contain}
.product-dialog .detail-copy{padding:56px 36px 32px}.product-dialog .detail-copy>.eyebrow{font-size:13px;margin:0 0 16px;color:#71645e;letter-spacing:.08em}
.product-dialog .detail-copy h2{font-size:clamp(36px,4vw,52px);margin:0;line-height:1.1}
.product-dialog .detail-copy .detail-price{font-size:22px;line-height:1.4;margin:20px 0 28px;padding-bottom:24px;border-bottom:1px solid #d8c9bd;color:#593844}
.product-dialog .detail-copy label{font-size:17px;line-height:1.4}.product-dialog .detail-copy #ring-size-help{margin:8px 0 24px}
.product-dialog #detail-add{margin-top:8px;min-height:56px}.product-dialog .detail-note{margin:12px 0 24px}
.product-dialog .product-information summary{font-size:17px;min-height:32px}.product-dialog>.close{width:44px;height:44px;border:1px solid #baa599;right:12px;top:12px}
@media(max-width:700px){.catalog .product-card{padding-bottom:16px}.catalog .product-image{padding:4px}.catalog .product-grid{row-gap:28px!important}.product-dialog{max-width:calc(100vw - 16px);width:calc(100vw - 16px);max-height:94svh}.product-dialog #product-detail{grid-template-columns:1fr}.product-dialog .product-gallery{padding:16px}.product-dialog #detail-photo{height:310px}.product-dialog .detail-copy{padding:28px 24px}.product-dialog .detail-copy h2{font-size:36px}.product-dialog .detail-copy .detail-price{font-size:21px;margin:16px 0 24px;padding-bottom:20px}.product-dialog .photo-thumbs button{flex-basis:56px;height:62px}}

.gallery-caption{font-size:13px;line-height:1.4;color:#685c55;margin:12px 0 0}.gallery-caption:empty{display:none}.moments .section-head>div{grid-column:1/-1}.moments .section-head h2{max-width:24ch}.product-dialog #detail-add{margin-bottom:24px}

/* Honest editorial compositions: original set members, one hero product. */
.sets .set-image.set-composition{display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:1fr 1fr;gap:12px;padding:16px;min-height:560px;background:linear-gradient(135deg,#e8dfd2,#d9ddcf)!important;aspect-ratio:auto}
.set-product-preview{min-width:0;min-height:0;border:0;padding:0;position:relative;overflow:hidden;background:#ece3d7;cursor:pointer;text-align:left}
.set-product-preview:first-child{grid-row:1/3}
.set-product-preview img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.set-product-preview:hover img{transform:scale(1.035)}
.set-product-preview span{position:absolute;bottom:0;left:0;right:0;background:#f1e8ddeb;padding:16px;font-size:18px;color:#342e2b;display:flex;justify-content:space-between}
.set-product-preview:focus-visible{outline:3px solid #713c4b;outline-offset:3px}
@media(max-width:700px){.sets .set-image.set-composition{min-height:390px;height:390px;gap:8px;padding:8px}.set-product-preview span{font-size:16px;padding:12px}}
@media(prefers-reduced-motion:reduce){.set-product-preview img{transition:none}}

@media(min-width:701px){.sets .set-image.set-composition{height:560px;align-self:start}}

.set-product-preview img{height:calc(100% - 52px);object-fit:contain}.set-product-preview span{min-height:52px;box-sizing:border-box}

/* Quiet editorial footer: one message, grouped navigation, no repeated slogan. */
footer.brand-footer{display:block;padding:72px max(6vw,calc((100vw - 1280px)/2)) 28px;background:radial-gradient(ellipse at 95% 5%,#72515a55,transparent 55%),linear-gradient(120deg,#51333f,#392d33);color:#f5eee5;text-align:left}
.brand-footer .footer-top{display:grid;grid-template-columns:2fr 1fr;gap:72px;align-items:center}
footer.brand-footer .footer-memory{padding:0;border:0;margin:0;width:auto}
footer.brand-footer .footer-memory h2{font-size:clamp(36px,4.3vw,62px);line-height:1.1;letter-spacing:-.035em;max-width:19ch;margin:20px 0 28px}
.brand-footer .eyebrow{margin:0;color:#ddc7ce;font-size:12px}
.brand-footer .footer-cta{display:inline-flex;align-items:center;gap:36px;min-height:52px;padding:12px 20px;border:1px solid #cbb0b7;border-radius:4px;font-size:17px;color:#f5eee5;text-decoration:none}
.brand-footer .footer-nav{display:grid;gap:4px}.brand-footer .footer-nav a{display:flex;justify-content:space-between;align-items:center;min-height:52px;border-bottom:1px solid #a889933d;font-size:18px;color:#f5eee5;text-decoration:none}
.brand-footer a:hover{color:#efd2c0}.brand-footer a:focus-visible{outline:3px solid #e8c4ad;outline-offset:5px}
.brand-footer .footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #a889935c;margin-top:56px;padding-top:24px;gap:24px}
.brand-footer .footer-bottom .brand{font-size:26px;margin:0}.brand-footer .owner-entry{font-size:14px;min-height:44px;display:inline-flex;align-items:center;gap:12px;border:0;margin:0;color:#ddc7ce}
.collection-context{max-width:52ch;font-size:18px;line-height:1.55;margin:16px 0 24px;color:#66594f}
.product-related{grid-column:1/-1;border-top:1px solid #cabaae;padding:28px}.product-related h3{font-size:25px;margin:0 0 20px}.product-related>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.product-related button{display:flex;align-items:center;gap:16px;background:#eee5d9;border:1px solid #d5c7b9;padding:12px;text-align:left;font-size:17px;color:#342e2b;cursor:pointer}.product-related img{width:72px;height:88px;object-fit:contain}.product-related small{display:block;font-size:15px;margin-top:4px}.product-related button:focus-visible{outline:3px solid #713c4b;outline-offset:3px}
@media(max-width:700px){footer.brand-footer{padding:48px 24px 20px}.brand-footer .footer-top{grid-template-columns:1fr;gap:36px}footer.brand-footer .footer-memory h2{font-size:38px}.brand-footer .footer-nav a{font-size:17px}.brand-footer .footer-bottom{margin-top:36px;gap:16px}.brand-footer .footer-bottom .brand{font-size:22px}.product-related{padding:20px}.product-related>div{grid-template-columns:1fr}}

footer.brand-footer .footer-memory{display:block}footer.brand-footer .footer-cta{width:fit-content;max-width:100%;box-sizing:border-box}.brand-footer .footer-memory h2{white-space:pre-line!important}

/* Atelier and sets: distinct editorial rhythm. */
.sets .set-heading{margin:20px 0 40px}.sets .set-heading h2{font-size:clamp(40px,5vw,64px)!important;line-height:1.06;max-width:none}
.sets .set-layout{display:grid;grid-template-columns:7fr 5fr;gap:48px;align-items:start}.sets .set-image{grid-column:auto}.sets .set-details{grid-column:auto;background:transparent;border:0;padding:0}.sets .set-details h3{font-size:34px;margin:0 0 16px}.sets .set-details>p{font-size:18px!important;line-height:1.55;margin-bottom:24px}.sets .set-option{display:flex;flex-wrap:nowrap;gap:16px;padding:20px 0}.sets .set-option input[type=checkbox]{width:20px;height:20px;accent-color:#713c4b;flex-shrink:0}.sets .set-option span{font-size:18px}.sets .set-option small{font-size:16px;margin-top:4px}.sets .set-option b{font-size:15px;font-weight:400;margin-left:auto}.sets #add-set{width:100%;font-size:16px;justify-content:space-between}.sets .set-total{margin:28px 0 20px}.sets .set-product-preview{border:2px solid #713c4b80;transition:opacity .2s,border-color .2s}.sets .set-product-preview.is-excluded{opacity:.5;border-color:transparent}.sets .set-product-preview:hover{opacity:1}.sets .set-image.set-composition{padding:12px;gap:12px;background:linear-gradient(135deg,#e8dfd2,#d9ddcf)!important}
.atelier .atelier-heading{display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:center}.atelier .atelier-heading>div{grid-column:auto;max-width:none;padding:0}.atelier .atelier-heading h2{font-size:clamp(40px,4.5vw,64px)!important;line-height:1.08;max-width:12ch}.atelier .atelier-heading .intro{font-size:19px!important;line-height:1.6;max-width:30ch;margin:24px 0}.atelier .atelier-heading figure{grid-column:auto;position:relative;inset:auto;aspect-ratio:1.15;width:100%;height:auto;max-height:none;margin:0;overflow:hidden}.atelier .atelier-heading figure img{width:100%;height:100%;object-fit:cover;object-position:48% center;mask-image:none;-webkit-mask-image:none}.atelier .atelier-heading figcaption{position:absolute;inset:auto 0 0;padding:18px 24px;background:#e9e5dbea;color:#342e2b;font-size:16px;text-align:left}.atelier-shop{display:inline-flex;align-items:center;gap:24px;min-height:48px;border-bottom:1px solid #8b7770;font-size:17px;color:#713c4b}.atelier .process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:56px}.atelier .process article{padding-top:20px;border-top:1px solid #b2b7a6}.atelier .process article>span{display:none}.atelier .process h3{font-size:25px;margin:0 0 12px;text-transform:none}.atelier .process p{font-size:17px!important;line-height:1.55;max-width:25ch}.atelier .process-photo{display:none}
@media(max-width:900px){.sets .set-layout{gap:28px;grid-template-columns:1fr 1fr}.atelier .atelier-heading{gap:28px;grid-template-columns:1fr 1fr}.sets .set-option{flex-wrap:wrap}.sets .set-option b{width:100%;margin-left:36px}}
@media(max-width:700px){.sets .set-layout,.atelier .atelier-heading{grid-template-columns:1fr;gap:28px}.atelier .atelier-heading h2{max-width:17ch;font-size:42px!important}.atelier .atelier-heading figure{aspect-ratio:1.25}.atelier .process{grid-template-columns:1fr 1fr;gap:28px 20px;margin-top:32px}.atelier .process h3{font-size:23px}.atelier .process p{font-size:16px!important}.sets .set-heading{margin-bottom:28px}.sets .set-details h3{font-size:30px}.sets .set-option{flex-wrap:nowrap}.sets .set-option b{width:auto;margin-left:auto;font-size:14px}.sets .set-option span{font-size:17px}.sets #set-size-label{flex-wrap:wrap}.atelier .atelier-heading figcaption{font-size:14px;padding:12px 16px}}

.atelier .atelier-heading>div{display:block}.atelier .atelier-heading h2{max-width:none;white-space:normal!important}.atelier .atelier-heading .intro{position:static;width:auto}.atelier .atelier-shop{width:fit-content;white-space:nowrap}.atelier .atelier-heading figcaption{width:auto;max-width:none;right:0;left:0;bottom:0;box-sizing:border-box}

/* Quiet catalogue cards: image, title and price. */
body #catalog .product-card,body #catalog .product-image{border:0!important;box-shadow:none!important}
