:root{color-scheme:light;--violet:#352c86;--cyan:#24c7e5;--lime:#b9d943;--paper:#f7f7f3;--ink:#17171b;--muted:#595967}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 'Avenir Next','Segoe UI',Arial,sans-serif}a{color:inherit}header{position:sticky;top:0;z-index:30;min-height:78px;background:var(--violet);color:white;display:flex;align-items:center;justify-content:space-between;padding:16px 5vw;gap:22px}.brand{font-size:22px;font-weight:850;letter-spacing:.03em;text-decoration:none}.brand span{color:var(--cyan)}nav{display:flex;gap:10px}nav a{border:2px solid #ffffff75;border-radius:50px;padding:8px 17px;font-size:14px;line-height:1.2;font-weight:750;text-decoration:none}nav a:last-child{border-color:var(--lime);color:var(--lime)}nav a:hover{background:white;color:var(--violet)}main{overflow:hidden}h1,h2,h3{font-weight:850;line-height:1.04;letter-spacing:-.04em}p{color:var(--muted)}.eyebrow{font-size:12px;font-weight:850;letter-spacing:.16em;color:var(--violet)}.intro{position:relative;min-height:660px;display:flex;align-items:center}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center}.hero-copy{position:relative;width:55%;padding:70px 0 90px 6vw}.intro h1{font-size:clamp(42px,4.6vw,74px);margin:20px 0 27px;color:var(--violet)}.intro h1 span{color:var(--ink)}.intro p{max-width:530px;font-size:19px}.hero-claim{font-size:14px!important;font-weight:700;letter-spacing:.02em}.contact,button{display:inline-flex;align-items:center;justify-content:center;gap:22px;border:0;border-radius:50px;padding:17px 27px;background:var(--cyan);color:var(--ink);font:800 17px 'Avenir Next','Segoe UI',Arial,sans-serif;text-decoration:none;cursor:pointer;transition:transform .2s,box-shadow .2s}.hero-button{margin-top:14px}.contact:hover,button:hover{transform:translateY(-3px);box-shadow:0 10px 25px #352c8620}button:disabled{opacity:.55;cursor:wait}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}.quick-facts{position:relative;max-width:1160px;margin:-30px auto 0;display:grid;grid-template-columns:repeat(3,1fr);background:white;border-radius:24px;box-shadow:0 15px 45px #17171b15;overflow:hidden}.quick-facts div{display:flex;align-items:center;gap:20px;padding:27px 30px;border-right:1px solid #17171b18}.quick-facts div:last-child{border:0}.quick-facts b{font-size:40px;line-height:1;color:var(--violet);letter-spacing:-.04em}.quick-facts span{font-size:15px;font-weight:750;line-height:1.4}.drawing-area{padding:85px 6vw 25px;position:relative}.draw-heading{text-align:center;max-width:680px;margin:auto}.draw-heading h2{font-size:clamp(38px,5vw,62px);margin:20px 0}.draw-heading h2 span{color:var(--violet)}.draw-heading p{max-width:560px;margin:0 auto}.controls{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:26px}.controls button{background:var(--lime)}.controls span{font-size:13px;color:var(--muted)}#deck-stack{position:relative;width:130px;height:245px;margin:28px auto 0;perspective:900px}.stack-card{position:absolute;top:15px;left:0;width:125px;height:205px;object-fit:cover;border-radius:9px;box-shadow:0 4px 10px #352c8640;transform:translate(calc(var(--i)*1.5px),calc(var(--i)*-1.5px)) rotate(calc((var(--i) - 3)*1.3deg));z-index:calc(10 - var(--i))}.stack-caption{position:absolute;top:224px;white-space:nowrap;left:50%;transform:translateX(-50%);font-size:13px;color:var(--muted)}.mixing .stack-card{animation:riffle 650ms ease-in-out infinite;animation-delay:calc(var(--i)*-90ms)}@keyframes riffle{0%,100%{transform:translate(0,calc(var(--i)*-2px)) rotate(0)}25%{transform:translate(calc((var(--i) - 3)*20px),-12px) rotate(calc((var(--i) - 3)*8deg))}60%{transform:translate(calc((3 - var(--i))*15px),calc(var(--i)*-3px)) rotate(calc((3 - var(--i))*5deg))}}#table{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:760px;margin:20px auto}.slot{text-align:center;min-width:0}.slot img{width:100%;aspect-ratio:897/1488;object-fit:contain;border-radius:14px;box-shadow:0 12px 26px #352c8625}.slot span{display:block;color:var(--violet);font-weight:750;font-size:13px;margin-top:14px}.slot h3{font-size:21px;margin:8px 0}.slot p{font-size:14px;margin:0}.empty-card{aspect-ratio:897/1488;display:flex;align-items:center;justify-content:center;border:2px dashed #352c8645;border-radius:15px;background:#352c8604}.empty-card b{font-size:45px;color:#352c8660}.flying-card{position:fixed;object-fit:fill;border-radius:12px;pointer-events:none;z-index:100;box-shadow:0 15px 30px #352c8640;transform-origin:center}.revealed img{animation:reveal .45s ease}@keyframes reveal{from{transform:rotateY(90deg)}to{transform:rotateY(0)}}#result{padding:0 6vw 55px}#result:empty{display:none}.reading{max-width:760px;margin:10px auto;padding:32px;border:3px solid var(--cyan);border-radius:27px;background:var(--violet);color:white;box-shadow:10px 10px 0 var(--lime);font-size:16px}.reading .eyebrow{color:var(--cyan)}.reading h2{font-size:27px;margin:16px 0}.reading p{color:#f0effa}.reading summary{color:var(--lime);font-weight:750;cursor:pointer}.questions{display:grid;gap:8px;margin-top:15px}.questions p{margin:0;padding:13px;background:#ffffff14;border-radius:12px}.reading-contact{margin-top:25px;padding-top:20px;border-top:1px solid #ffffff40}.reading-contact h3{font-size:21px}.reading small{display:block;margin-top:20px;color:#d8d5ea;font-size:13px}.explain,.live{padding:80px max(6vw,calc((100vw - 1160px)/2));}.explain{background:var(--cyan)}.explain h2,.live h2{font-size:clamp(35px,4.3vw,58px);margin:20px 0 30px}.explain h2 span{color:var(--violet)}.explain>p{max-width:870px;color:#20363b}.explain .interpretation-note{font-size:13px;opacity:.85}.explain details{max-width:870px;margin-top:30px;padding:20px 25px;background:#ffffff85;border-radius:18px}.explain summary{font-weight:800;cursor:pointer}.explain details p{font-size:15px}.live{background:white}.live h2{max-width:970px}.live h2 span{color:var(--violet)}.live>p{max-width:860px}.offers{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;margin:34px 0}.offers article{padding:30px;background:var(--paper);border:2px solid var(--violet);border-radius:25px;box-shadow:6px 6px 0 var(--cyan)}.offers article:nth-child(2){background:var(--violet);color:white;box-shadow:6px 6px 0 var(--lime)}.offers article:nth-child(2) p{color:#efedf9}.offers h3{font-size:27px;margin:0 0 17px}.offers p{margin:0;font-size:16px}.contact-area{margin-top:45px;padding:38px;background:var(--violet);border-radius:28px;color:white}.contact-area .eyebrow{color:var(--lime)}.contact-area h3{font-size:clamp(30px,4vw,48px);margin:15px 0}.contact-area p{max-width:760px;color:#efedf9}.contact-number{font-size:14px}.contact-area .contact{background:var(--lime)}footer{padding:26px 6vw;background:var(--ink);color:#ffffffa0;font-size:13px}@media(min-width:1600px){.intro{min-height:760px}.hero-copy{padding-left:max(6vw,calc((100vw - 1400px)/2));}}@media(max-width:850px){header{padding:15px 5vw;flex-wrap:wrap}.brand{font-size:19px}nav a{font-size:12px;padding:7px 11px}.intro{min-height:570px}.hero-copy{width:57%;padding-top:45px}.intro p{font-size:16px}.quick-facts{margin:-15px 5vw 0}.quick-facts div{padding:22px 17px;gap:12px}.quick-facts b{font-size:29px}.quick-facts span{font-size:12px}.offers{grid-template-columns:1fr}.offers article{padding:24px}.drawing-area{padding-top:65px}}@media(max-width:580px){header{gap:12px}nav{width:100%;justify-content:space-between}nav a{flex:1;text-align:center}.intro{min-height:0;display:flex;flex-direction:column}.hero-image{position:relative;width:100%;height:310px;object-position:right center;order:2}.hero-copy{width:100%;padding:40px 6vw 15px;background:var(--paper)}.intro h1{font-size:42px;margin:18px 0}.hero-claim{margin-bottom:10px}.quick-facts{grid-template-columns:1fr;margin:0 6vw}.quick-facts div{border-right:0;border-bottom:1px solid #17171b18;padding:18px 22px}.quick-facts br{display:none}.quick-facts b{min-width:75px;font-size:30px}.quick-facts span{font-size:14px}#table{gap:10px}.slot img{border-radius:8px}.slot h3{font-size:16px}.slot p{font-size:12px}.slot span{font-size:11px}.empty-card b{font-size:30px}.reading{padding:22px 18px;box-shadow:5px 5px 0 var(--lime)}.reading h2{font-size:23px}.explain,.live{padding-top:55px;padding-bottom:55px}.contact-area{padding:26px 22px}.contact{font-size:15px;padding:15px 20px}.contact-area .contact{text-align:center}#deck-stack{transform:scale(.85);margin-bottom:-20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Separate artwork and text at every viewport size. */
.intro{background:var(--paper)}
.hero-image{inset:0 0 0 auto;width:50%;object-fit:cover;object-position:right center}
.hero-copy{width:50%;padding-right:3vw}
.intro h1{font-size:clamp(42px,4.2vw,70px)}
@media(max-width:1000px){.intro{min-height:0;flex-direction:column;align-items:stretch}.hero-copy{width:100%;padding:45px 6vw 28px}.intro h1{font-size:clamp(42px,6vw,62px)}.intro p{max-width:650px}.hero-image{position:relative;inset:auto;width:100%;height:clamp(310px,52vw,520px);order:2;object-position:right center}.quick-facts{margin:0 5vw}.hero-copy .eyebrow{font-size:12px}}

.professional-help{margin-top:36px;padding:25px 28px;border-left:5px solid var(--violet);border-radius:0 18px 18px 0;background:var(--paper)}.professional-help h3{font-size:25px;color:var(--violet);margin:0 0 15px}.professional-help p{font-size:16px;max-width:900px;margin:12px 0}.professional-help p:last-child{margin-bottom:0}

.booking-area{margin:50px 0;padding:34px;background:var(--paper);border:3px solid var(--violet);border-radius:25px;scroll-margin-top:120px}.booking-area h2{font-size:clamp(32px,4vw,48px)}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-fields label{display:flex;flex-direction:column;gap:7px;font-weight:750;font-size:16px}.booking-fields input,.booking-fields select{font:inherit;width:100%;padding:12px;border:1px solid #352c8670;border-radius:10px;background:white;color:var(--ink)}.booking-check{display:flex;gap:12px;margin:19px 0;font-size:15px;line-height:1.55}.booking-check input{flex-shrink:0;width:20px;height:20px;accent-color:var(--violet);margin-top:3px}.booking-terms{margin:22px 0;padding:15px;background:white;border-radius:12px;font-size:15px}.booking-terms summary{font-weight:750;cursor:pointer}.booking-terms p{font-size:15px}.booking-honeypot{position:absolute;left:-10000px}#booking-mail-notice:not(:empty){border-left:4px solid var(--violet);padding:12px 16px;background:white}#booking-success{padding:20px;background:white;border-radius:16px}#booking-success a{display:inline-block;margin:8px 12px 8px 0}#booking-error{color:#a31327}#book-submit{background:var(--lime)}@media(max-width:580px){.booking-area{padding:24px 18px}.booking-fields{grid-template-columns:1fr}}

.booking-page{max-width:1050px;margin:0 auto;padding:0 6vw 35px}.booking-page h1{font-size:clamp(32px,4vw,48px)}.booking-back{margin:30px 0}.booking-page .professional-help{margin-bottom:30px}
