/* v2: product-led composition. Palette and typography remain the supplied brand. */
.progressive-only { display: none; }
.v2-ready .progressive-only { display: flex; }
.hero-v2 { min-height: 700px; gap: 62px; padding-block: 54px 48px; grid-template-columns: 1.05fr 1fr; }
.hero-v2 .hero-copy { animation: none; }
.hero-v2 h1 { font-size: clamp(43px, 4.15vw, 60px); line-height: 1.12; margin-top: 25px; letter-spacing: -.052em; }
.hero-v2 .hero-copy > p { max-width: 445px; font-size: 16px; line-height: 1.8; margin-top: 22px; }
.hero-v2 .hero-copy > .hero-entry-price { font-size: 22px; font-weight: 600; letter-spacing: -.025em; color: var(--text); margin-top: 24px; }
.hero-entry-price > span { display: inline-block; font-size: 14px; font-weight: 400; letter-spacing: 0; color: var(--muted); margin-left: 5px; }
.hero-v2 .hero-buttons { margin-top: 22px; gap: 26px; }
.hero-v2 .hero-copy > .hero-reassurance { font-size: 13px; line-height: 1.8; max-width: 390px; margin-top: 18px; }
.hero-v2 .hero-location { margin-top: 23px; font-size: 12px; }
.spotlight { min-width: 0; position: relative; border-radius: 22px; padding: 25px 28px 22px; background: #F0EAE3; color: #332E2B; isolation: isolate; }
.spotlight-top { display: flex; justify-content: space-between; align-items: center; gap: 20px; color: #74675E; }
.spotlight-top .eyebrow { font-size: 9px; letter-spacing: .12em; }
.spotlight-top > span:last-child { font-size: 11px; font-variant-numeric: tabular-nums; }
.spotlight-stage { height: 365px; position: relative; }
.spotlight-disc { position: absolute; width: 310px; height: 310px; max-width: 94%; border-radius: 50%; background: #FAF7F2; left: 50%; top: 26px; margin-left: -155px; }
.spotlight-disc::after { content: ''; position: absolute; inset: 16px; border: 1px solid #E5DCD4; border-radius: 50%; }
.spotlight-object { display: flex; position: absolute; inset: 2px 0 0; align-items: center; justify-content: center; }
.spotlight-image { width: 95%; height: 100%; object-fit: contain; filter: drop-shadow(0 18px 12px #332E2B18); }
.spotlight-note { position: absolute; bottom: 30px; right: 0; transform: rotate(5deg); background: #FAF7F2; color: #5D5149; padding: 8px 12px; border: 1px solid #E5DCD4; border-radius: 8px; font-size: 11px; line-height: 1.5; pointer-events: none; }
.spotlight-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 17px; border-top: 1px solid #C9BFB6; }
.spotlight-bottom h2 { font-size: 19px; letter-spacing: -.025em; line-height: 1.4; }
.spotlight-bottom p { font-size: 14px; color: #74675E; margin-top: 6px; }
.spotlight-bottom strong { color: #332E2B; font-weight: 600; font-size: 20px; letter-spacing: -.03em; }
.spotlight .circle-link { margin-left: 0; color: #332E2B; border-color: #8B7C72; background: #FAF7F2; }
.spotlight-options { justify-content: center; gap: 10px; margin-top: 20px; }
.spotlight-choice { width: 58px; height: 58px; padding: 3px; border-radius: 12px; background: #FAF7F2; border: 1px solid #C9BFB6; transition: border-color .25s, box-shadow .25s, transform .35s var(--ease-spring-1); }
.spotlight-choice img { width: 100%; height: 100%; object-fit: contain; }
.spotlight-choice[aria-pressed=true] { border: 2px solid #A74330; box-shadow: 0 0 0 3px #F4D6CF; }
.spotlight-choice:hover { transform: translateY(-3px); border-color: #A74330; }
.spotlight-choice:focus-visible { outline-color: #A74330; }
.clarity-strip { display: flex; justify-content: space-between; gap: 20px; padding-block: 19px; border-block: 1px solid var(--line); font-size: 12px; color: var(--muted); }
.clarity-strip > span { display: flex; align-items: center; gap: 10px; }
.clarity-strip > span::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: var(--action); }
.clarity-strip + .catalogue { border-top: none; }
.button, .circle-link, .product-open { transition-timing-function: var(--ease-4, ease); }
.product-stage { transition: box-shadow .45s var(--ease-4, ease); perspective: 1000px; }
.product-link:hover .product-stage { box-shadow: 0 16px 32px -20px #332E2B45; }
.v2-ready .product-stage > img { transition: none; }
.v2-ready .product-link:hover .product-stage > img { transform: none; }
.product-link:focus-visible .product-stage > img { transform: scale(1.035); }
.product-link h3 { transition: none; }
.product-link:hover h3 { color: var(--action); }
.gift-guide { display: grid; grid-template-columns: .9fr 1.1fr; gap: 65px; padding-block: 48px; background: var(--soft); border-radius: 20px; max-width: 1200px; margin-bottom: 24px; }
.guide-heading h2 { font-size: 32px; max-width: 360px; margin-top: 15px; }
.guide-heading > p { font-size: 14px; color: var(--muted); line-height: 1.8; margin-top: 18px; max-width: 345px; }
.guide-choices { gap: 8px; flex-wrap: wrap; margin-bottom: 20px; }
.guide-choice { min-height: 44px; padding: 10px 13px; font-size: 12px; font-weight: 600; background: var(--bg); color: var(--text); border: 1px solid var(--control); border-radius: 10px; display: flex; align-items: center; gap: 8px; transition: border-color .2s; }
.guide-choice > .icon { width: 14px; height: 14px; }
.guide-choice[aria-pressed=true] { background: var(--text); color: var(--bg); border-color: var(--text); }
.guide-result > p { color: var(--muted); font-size: 14px; }
.guide-result > .text-link { margin-top: 8px; }
.guide-result-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.guide-result-list a { display: flex; align-items: center; gap: 17px; padding: 13px 15px; background: var(--bg); border-radius: 12px; min-height: 78px; border: 1px solid var(--line); }
.guide-result-list img { width: 65px; height: 65px; object-fit: contain; background: #FAF7F2; border-radius: 10px; }
.guide-result-list strong { display: block; font-size: 14px; line-height: 1.5; font-weight: 600; }
.guide-result-list span { display: block; font-size: 14px; color: var(--muted); margin-top: 4px; }
.guide-result-list .icon { margin-left: auto; width: 18px; }
.guide-result-list a:hover { border-color: var(--control); }
.guide-footnote { font-size: 12px; color: var(--muted); margin-top: 14px !important; }
.detail-actions .direct-instagram { font-size: 13px; min-height: 44px; display: flex; justify-content: center; text-decoration: underline; text-underline-offset: 4px; }
.inquiry { scroll-margin-top: 115px; }
.inquiry-body { border-radius: 12px; }
.inquiry-body .button { min-height: 48px; }
.inquiry-instagram { margin-left: 8px; }
.inquiry-clarity { font-size: 12px; color: var(--muted); margin-top: 15px !important; }
.consult-dock { display: none; }
:root[data-motion-state=reduced] .product-stage > img, :root[data-motion-state=reduced] .product-link:hover .product-stage > img { transform: none !important; }
:root[data-motion-state=reduced] .spotlight-choice:hover { transform: none; }
@media (max-width: 1100px) {
 .hero-v2 { gap: 35px; min-height: 650px; }
 .hero-v2 h1 { font-size: 49px; }
 .spotlight { padding-inline: 20px; }
 .spotlight-stage { height: 330px; }
 .spotlight-disc { width: 285px; height: 285px; margin-left: -142px; }
 .gift-guide { margin-inline: 32px; gap: 35px; }
 .guide-choice { font-size: 11px; padding-inline: 10px; }
}
@media (max-width: 800px) {
 .hero-v2 { gap: 25px; padding-block: 35px; }
 .hero-v2 h1 { font-size: 40px; }
 .hero-v2 .hero-copy > p { font-size: 14px; }
 .hero-v2 .hero-copy > .hero-entry-price { font-size: 21px; }
 .hero-entry-price > span { font-size: 12px; margin-left: 0; }
 .hero-v2 .hero-buttons { gap: 12px; }
 .hero-v2 .hero-copy > .hero-reassurance { font-size: 12px; }
 .hero-v2 .hero-location { font-size: 11px; line-height: 1.7; }
 .spotlight-stage { height: 280px; }
 .spotlight-disc { width: 240px; height: 240px; margin-left: -120px; }
 .spotlight-bottom h2 { font-size: 16px; }
 .spotlight-bottom p { font-size: 12px; }
 .spotlight-bottom strong { font-size: 18px; }
 .spotlight-note { font-size: 10px; padding: 6px 9px; bottom: 16px; }
 .spotlight-options { gap: 7px; }
 .spotlight-choice { width: 48px; height: 48px; }
 .clarity-strip { font-size: 10px; gap: 12px; }
 .gift-guide { margin-inline: 24px; grid-template-columns: 1fr 1.2fr; gap: 28px; padding-block: 35px; }
 .guide-heading h2 { font-size: 27px; }
 .guide-result-list a { padding: 11px; gap: 10px; }
 .guide-result-list img { width: 50px; height: 50px; }
}
@media (max-width: 600px) {
 .hero-v2 { display: flex; gap: 30px; padding-top: 35px; padding-bottom: 30px; }
 .hero-v2 h1 { font-size: clamp(37px, 10.5vw, 49px); line-height: 1.15; margin-top: 20px; }
 .hero-v2 .hero-copy > p { font-size: 14px; margin-top: 18px; }
 .hero-v2 .hero-copy > .hero-entry-price { font-size: 22px; margin-top: 18px; }
 .hero-entry-price > span { font-size: 14px; margin-left: 5px; }
 .hero-v2 .hero-buttons { gap: 22px; margin-top: 18px; }
 .hero-v2 .hero-copy > .hero-reassurance { margin-top: 15px; max-width: 330px; font-size: 12px; }
 .hero-v2 .hero-location { margin-top: 18px; font-size: 11px; }
 .hero-v2 .spotlight { width: 100%; max-width: 420px; margin-inline: auto; padding: 20px; border-radius: 18px; }
 .spotlight-stage { height: 300px; }
 .spotlight-disc { width: 265px; height: 265px; margin-left: -132px; top: 16px; }
 .spotlight-note { bottom: 22px; font-size: 11px; }
 .spotlight-bottom h2 { font-size: 18px; }
 .spotlight-bottom p { font-size: 14px; }
 .spotlight-bottom strong { font-size: 20px; }
 .spotlight-options { margin-top: 18px; gap: 10px; }
 .spotlight-choice { width: 52px; height: 52px; }
 .clarity-strip { flex-wrap: wrap; gap: 11px; padding-block: 18px; font-size: 11px; }
 .clarity-strip > span { gap: 8px; }
 .clarity-strip > span:last-child { flex-basis: 100%; }
 .gift-guide { display: block; margin-inline: 20px; padding: 28px 20px; }
 .guide-heading h2 { font-size: 29px; }
 .guide-heading > p { font-size: 14px; margin-top: 14px; }
 .guide-picker { margin-top: 24px; }
 .guide-choices { gap: 9px; }
 .guide-choice { font-size: 12px; padding-inline: 11px; }
 .guide-result-list strong, .guide-result-list span { font-size: 14px; }
 .inquiry-instagram { display: flex; margin: 12px 0 0; }
 .inquiry-body > [data-copy-inquiry] { width: 100%; }
 .consult-dock { position: fixed; left: 12px; right: 12px; bottom: max(10px, env(safe-area-inset-bottom)); z-index: 60; display: flex; align-items: center; gap: 12px; justify-content: space-between; padding: 12px; background: var(--bg); border: 1px solid var(--control); border-radius: 16px; box-shadow: 0 10px 30px #211D1B22; }
 .consult-dock strong { font-size: 19px; font-weight: 600; line-height: 1.4; display: block; }
 .consult-dock span { display: block; font-size: 14px; color: var(--muted); max-width: 115px; line-height: 1.5; }
 .consult-dock > .button { font-size: 12px; min-height: 48px; padding: 11px 14px; gap: 9px; }
 body.has-consult-dock { padding-bottom: 95px; }
}
@media (prefers-reduced-motion: reduce) {
 .spotlight-choice:hover, .product-link:hover .product-stage > img, .product-link:focus-visible .product-stage > img { transform: none; }
}
@media print {
 .spotlight-options, .guide-choices, .consult-dock { display: none !important; }
 .gift-guide { break-inside: avoid; }
}
