/* Candlelight halo: hover on a mouse, a constant soft glow on touch screens. */
.image-slot{position:relative;isolation:isolate;border-radius:12px}
.image-slot::before{content:'';position:absolute;z-index:-1;inset:-22px -28px;border-radius:35%;background:radial-gradient(ellipse,#e9b44145 0%,#c58b2029 38%,transparent 72%);filter:blur(20px);opacity:0;pointer-events:none;transition:opacity .5s ease}
.image-slot img{border-color:#b98a3d66;box-shadow:0 8px 26px #0004,0 0 0 1px #edc57909;transition:transform .5s cubic-bezier(.22,.61,.36,1),box-shadow .5s ease,border-color .5s ease}
@media(hover:hover) and (pointer:fine){
 .image-slot:hover::before{opacity:1}
 .image-slot:hover img{transform:translateY(-3px);border-color:#e8b951c9;box-shadow:0 12px 32px #0005,0 0 26px #e8b34135,0 0 65px #d9a02a25}
}
@media(hover:none),(pointer:coarse),(max-width:600px){
 .image-slot::before{opacity:.75;inset:-14px -17px;filter:blur(16px)}
 .image-slot img{border-color:#d7a443a3;box-shadow:0 5px 22px #0004,0 0 24px #dca33225,0 0 48px #e1ab2f19}
}
/* Quiet refinements: consistent focus, typography and tactile controls. */
.draft-reassurance{font:12px/1.7 var(--sans);color:#e3bed0;text-align:center;padding:12px 16px;border:1px solid #c479982e;background:#9b3b6212;border-radius:9px}
.intake-summary{margin:20px 0;border:1px solid #bd719143;padding:14px;border-radius:10px;background:#271522;color:#eacbd9;font:12px/1.7 var(--sans)}
.intake-summary summary{cursor:pointer;min-height:32px;color:#ffc8dd}
.intake-summary textarea{display:block;width:100%;min-height:170px;margin:12px 0;padding:12px;resize:vertical;background:#170e1d;color:#f6e4ec;border:1px solid #ad628357;border-radius:8px;font:12px/1.6 var(--sans)}
#copy-request{border:1px solid #e999b7;background:#57223c;color:#ffe5f0;border-radius:8px;padding:12px;min-height:44px}
#request-dialog .close-dialog,#info-dialog .close-dialog{width:44px;height:44px;right:7px;top:7px;display:grid;place-items:center}
#request-dialog .checks label{min-height:40px;align-items:center}
#request-dialog .preview-form-note{font-size:11px;line-height:1.7;color:#d4afc2}
#request-dialog .clear-draft,#request-dialog .back-button{min-height:44px;padding:12px;font-size:12px}
.hero-offer .hero-price{font-size:inherit;font-weight:inherit}
.story-power strong{color:var(--rose)}
article>blockquote.story-quote-gold{color:var(--gold)}
article>blockquote.story-quote-rose-center{text-align:center;border-color:#e63a7859;background:linear-gradient(130deg,#3b1526,#1d101c);font-size:1.15em}
article>blockquote.story-quote-rose-center strong{color:var(--rose)}
article>blockquote.story-quote-left{text-align:left}
.hero h1,article h2,.offer-title p{text-wrap:balance}
article p{orphans:3;widows:3}
.hero-price,.price,.order-summary,.mobile-purchase strong{font-variant-numeric:tabular-nums}
.faq-question{transition:background .2s ease,color .2s ease}
.faq-question .plus{transition:transform .25s ease}
.faq-question[aria-expanded=true]{color:#f1d4a1}
.faq-question:focus-visible{outline-offset:-4px;border-radius:7px}
footer nav a,footer nav button{transition:color .2s ease;text-underline-offset:4px}
footer nav a:hover,footer nav button:hover{color:#f2d39b;text-decoration:underline}
button{-webkit-tap-highlight-color:#eb47732b;touch-action:manipulation}
dialog[open]{animation:panel-arrive .2s ease-out}
@keyframes panel-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
 .image-slot img,.image-slot::before,.faq-question,.faq-question .plus,footer nav a,footer nav button{transition:none}
 .image-slot:hover img{transform:none}
 dialog[open]{animation:none}
}
