/* Согласованные обновления: элементы, затронутые техзаданием 27.10.2026.
   Весь новый визуальный код сосредоточен в этом файле. */
:root{--rev-ink:#0d0a10;--rev-gold:#d7b77d}
html,body{max-width:100%;overflow-x:clip}
main>section{scroll-margin-top:calc(var(--header) + 12px)}
.hero-eyebrow{font-size:clamp(10px,1.3vw,13px);letter-spacing:2.2px}
.hero-subtitle{font-size:clamp(12px,1.4vw,16px);letter-spacing:2px;line-height:1.6}
.hero-subtitle span{margin:0 clamp(4px,1vw,11px)}
.hero-small{max-width:100%;font-size:14px;letter-spacing:.5px;line-height:1.35}
.intro-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px}
.intro-actions .btn{min-width:0;min-height:58px}
.intro-call{min-width:152px!important;gap:15px}
.intro-call .btn__icon{font-size:16px}
.greeting .section-title{max-width:11ch}
.greeting .body-copy{max-width:570px}
.greeting .gold-label{font-size:22px;letter-spacing:1.3px}
.portrait-frame img{object-position:center 28%}
.about-art-inner img{object-position:center 45%}
.contact-portrait-frame img{object-position:center 47%;filter:none}
/* Notice is in the intro, typeset as a discrete, understated line */
.result-note-inline{display:block;font-size:clamp(14px,1.7vw,17px);line-height:1.4;color:#d4bd9d;letter-spacing:.1px;margin:17px auto 0;max-width:630px}
.rituals .section-intro{max-width:600px}
.rituals-note{font-size:clamp(15px,1.7vw,19px);line-height:1.35}
.orb-stage{contain:layout paint}
.orb-item{min-width:0}
.orb-trigger{max-width:100%;min-width:0;overflow:visible}
.orb-caption{overflow-wrap:break-word;text-wrap:balance}
/* Text-only reviews: no fabricated testimonial, no opening modal */
.photo-reviews{overflow:hidden;background:radial-gradient(ellipse at 50% 70%,rgba(65,25,46,.21),transparent 65%),#110c12}
.photo-reviews .reviews-heading{align-items:flex-end}
.reviews-window{width:100%;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:0 max(20px,calc((100vw - 1240px)/2)) 12px;outline:none}
.reviews-track{display:flex;gap:18px;width:max-content;animation:none!important;padding:2px 0}
.review-text-card{flex:0 0 auto;scroll-snap-align:start;width:min(410px,calc(100vw - 44px));min-height:240px;background:linear-gradient(155deg,#291728,#140d17 75%);border:1px solid rgba(204,166,107,.33);padding:29px 30px 25px;display:flex;flex-direction:column;align-items:flex-start;position:relative;box-shadow:inset 0 0 0 8px rgba(225,195,142,.03),0 15px 40px #0004}
.review-text-card:before{content:"";position:absolute;inset:9px;border:1px solid rgba(223,184,112,.18);pointer-events:none}
.review-text-icon{color:#d4a966;font-size:32px;line-height:1;opacity:.95}
.review-text-body{color:#eee0d2;font-size:clamp(19px,2vw,24px);line-height:1.22;margin:20px 0;max-width:35ch;flex:1;overflow-wrap:anywhere}
.review-text-author{border-top:1px solid rgba(210,166,104,.4);padding-top:10px;margin:0;min-width:125px;text-transform:uppercase;letter-spacing:1.5px;font-size:13px;color:var(--gold-light)}
.review-text-card.is-placeholder .review-text-body{color:#b8a8a7;font-style:italic}
.reviews-bottom{display:block;text-align:center;margin:16px 0 0;font:600 12px/1.5 Cormorant,serif;letter-spacing:3px;color:var(--gold)}
/* A real Tarot-style art object, with patterned, ornate back and layered cards */
.card-section{overflow:hidden}
.tarot-art{isolation:isolate;overflow:visible}
.tarot-art:before,.tarot-art:after{content:"";position:absolute;width:clamp(190px,19vw,249px);aspect-ratio:300/480;border:1px solid #c69e6e77;border-radius:10px;background:#170f1d url('../img/decor/tarot-card-back.svg') center/cover no-repeat;z-index:0;box-shadow:0 25px 45px #0009;pointer-events:none;opacity:.65}
.tarot-art:before{transform:translate(-59px,13px) rotate(-12deg)}
.tarot-art:after{transform:translate(61px,13px) rotate(12deg)}
.tarot-card{width:clamp(220px,20vw,262px);height:auto;aspect-ratio:300/480;border-radius:10px;overflow:visible;z-index:3}
.tarot-card-inner{border-radius:10px}
.tarot-back,.tarot-front{inset:0;border-radius:10px;overflow:hidden;box-shadow:inset 0 0 0 7px #0f0d16,inset 0 0 0 9px #c6a166,0 24px 55px #0009}
.tarot-back{background:#14101b;border:0;display:block}
.tarot-back:before,.tarot-back:after{display:none}
.tarot-back-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.tarot-front{border:2px solid #c89e69;background:radial-gradient(circle at center 37%,#62394b,#211326 78%)}
.tarot-front:before{width:73%;height:auto;aspect-ratio:1;border:1px solid #c9a36c6c;border-radius:50%}
.tarot-front:after{inset:14px;border:1px solid #c89e6985}
.tarot-front-spark{position:absolute;top:42px;font-size:20px;color:#eed09a}
.tarot-front .tarot-number{top:67px;font-size:20px}
.tarot-front .tarot-glyph{font-size:clamp(86px,9vw,120px);line-height:1.1;z-index:1;color:#eacc98;text-shadow:0 0 35px #9b678a80}
.tarot-front .tarot-front-name{font-size:clamp(23px,3vw,30px);line-height:1.08;max-width:90%;padding:0 10px;text-wrap:balance}
.tarot-front .back-caption{display:none}
.tarot-front-caption{position:absolute;bottom:35px;font:13px Georgia,serif;letter-spacing:3px;color:#deb97f}
.tarot-art .tarot-aura{opacity:.72}
/* Modal image isn't forced to crop; keeps focal points visible. */
.modal-still img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;object-position:center center}
.modal-art{background:#110b15}
@media(max-width:980px){
 .review-text-card{width:min(375px,calc(100vw - 48px))}
 .tarot-art:before{transform:translate(-45px,6px) rotate(-9deg)}
 .tarot-art:after{transform:translate(45px,6px) rotate(9deg)}
}
@media(max-width:700px){
 .hero{height:auto;min-height:0!important;display:flex;flex-direction:column;align-items:stretch;padding-top:var(--header);overflow:hidden}
 .hero-layout{flex:none;min-height:0!important;display:block;padding-top:clamp(38px,9vw,64px)!important}
 .hero-copy{padding:0 0 6px!important}
 .hero-title{margin-bottom:24px}
 .hero-eyebrow{margin-bottom:23px;letter-spacing:1.3px}
 .hero-lead{margin-bottom:15px}
 .hero-description{margin-bottom:24px}
 .hero-actions{gap:11px}
 .hero-small{position:static;margin-top:20px!important;margin-bottom:7px!important;font-size:13px;letter-spacing:.2px;line-height:1.35;color:#d3bca7}
 .hero .scroll-cue{position:relative;left:auto;bottom:auto;transform:none;margin:23px auto 21px;width:max-content;max-width:100%;font-size:11px;gap:5px;line-height:1.4;z-index:4}
 .hero .scroll-cue span{font-size:24px;line-height:1.1}
 .hero-bottom{position:relative;bottom:auto;left:auto;right:auto;margin-top:0;z-index:3}
 .hero-bottom-inner{min-height:55px;justify-content:center;gap:12px}
 .hero-side-label{display:none}
 .intro-actions{gap:10px}
 .intro-actions .btn{padding:12px 15px;min-height:53px}
 .intro-call{min-width:132px!important}
 .greeting .section-title{max-width:none}
 .portrait-frame img{object-position:center 35%}
 .about-art-inner img{object-position:center center}
 .contact-portrait-frame img{object-position:center 42%}
 .photo-reviews .reviews-heading{align-items:flex-end}
 .reviews-window{padding-left:20px;padding-right:20px}
 .review-text-card{min-height:205px;padding:24px 23px}
 .review-text-body{font-size:20px}
 .reviews-controls .round-arrow{width:37px;height:37px}
 .tarot-art{height:420px}
 .tarot-card{width:214px}
 .tarot-art:before,.tarot-art:after{width:190px}
 .tarot-art:before{transform:translate(-39px,7px) rotate(-10deg)}
 .tarot-art:after{transform:translate(39px,7px) rotate(10deg)}
}
@media(max-width:380px){
 .hero-title{font-size:clamp(66px,20vw,83px)}
 .hero-description{font-size:17px}
 .hero-subtitle{font-size:11px;letter-spacing:.65px;white-space:normal}
 .hero-subtitle span{margin:0 4px}
 .hero-small{font-size:12px}
 .intro-actions{display:grid;grid-template-columns:minmax(0,1fr);width:min(100%,310px)}
 .intro-actions .btn{max-width:100%;justify-content:space-between}
 .review-text-card{width:calc(100vw - 40px)}
}
@media(prefers-reduced-motion:reduce){.reviews-window{scroll-behavior:auto!important}.tarot-card,.tarot-card-inner{transition:none!important}}
