:root{--plum:#271832;--plum-soft:#513655;--coral:#ef8d87;--cream:#fff9f2;--blush:#fbe7e4;--ink:#332538;--muted:#6f6270}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit}
.skip-link{position:absolute;left:-9999px;top:12px;background:#fff;padding:8px 14px;z-index:10}
.skip-link:focus{left:12px}
.site-header{position:relative;z-index:2;min-height:78px;padding:12px clamp(22px,5vw,88px);display:flex;align-items:center;justify-content:space-between;background:var(--cream);border-bottom:1px solid #ecdedf}
.brand,.footer-brand{text-decoration:none;font-weight:750;letter-spacing:-.04em}
.brand{display:flex;align-items:center;gap:10px;font-size:1.2rem}
.brand strong{font-weight:400}
.brand-symbol{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--plum);color:var(--coral);font-size:1.1rem}
.site-header nav,.site-footer nav{display:flex;gap:26px}
.site-header nav a,.site-footer nav a{text-decoration:none;font-size:.94rem}
.site-header nav a:hover,.site-footer nav a:hover,.text-link:hover{text-decoration:underline}
.hero{position:relative;min-height:610px;overflow:hidden;background:var(--plum);color:#fff;display:flex;align-items:center}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 47%,#694469 0,#432b4d 34%,transparent 62%);opacity:.8}
.hero-inner{position:relative;z-index:1;width:min(1200px,100%);margin:auto;padding:90px clamp(22px,5vw,88px)}
.eyebrow{font-size:.77rem;text-transform:uppercase;letter-spacing:.2em;font-weight:750;color:#ffc0ae;margin:0 0 19px}
.eyebrow.dark{color:#aa595c}
h1,h2,p{margin-top:0}
h1,h2{line-height:1.12;letter-spacing:-.055em}
h1{font-size:clamp(3.3rem,6vw,6rem);max-width:680px;margin-bottom:24px}
h1 em{font-style:normal;color:#f6b3a7}
.hero-lede{max-width:490px;color:#f1e6ee;font-size:1.16rem;margin-bottom:30px}
.button{display:inline-flex;align-items:center;gap:28px;padding:14px 21px;border-radius:999px;font-weight:750;text-decoration:none;transition:transform .2s}
.button-primary{background:var(--coral);color:var(--plum)}
.button-dark{background:var(--plum);color:#fff}
.button:hover{transform:translateY(-2px)}
.hero-art{position:absolute;right:4%;top:8%;width:42%;height:85%;pointer-events:none}
.orbit{position:absolute;border:1px solid #ffffff38;border-radius:50%}
.orbit-one{width:80%;aspect-ratio:1;right:0;top:4%}
.orbit-two{width:52%;aspect-ratio:1;right:14%;top:20%}
.salon-tile{position:absolute;width:29%;aspect-ratio:1;border-radius:25%;display:grid;place-items:center;font-size:clamp(3rem,6vw,6rem);box-shadow:0 20px 55px #160e2580;border:8px solid #ffffff35;transform:rotate(-10deg)}
.tile-one{right:45%;top:14%;background:#eeb0b1;color:#633b60}
.tile-two{right:10%;top:36%;background:#fff0df;color:#b97371;transform:rotate(11deg)}
.tile-three{right:44%;bottom:3%;background:#b596b2;color:#fff2e6;transform:rotate(8deg)}
.merge-line{position:absolute;right:26%;top:24%;width:40%;height:54%;border-right:2px dashed #ffc6b488;border-bottom:2px dashed #ffc6b488;transform:rotate(-18deg);border-radius:45%}
.section{max-width:1160px;margin:auto;padding:105px clamp(22px,5vw,88px)}
.about{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.section h2{font-size:clamp(2.3rem,4vw,3.6rem)}
.about-copy{font-size:1.12rem;color:var(--muted)}
.games{padding-top:0}
.game-card{display:grid;grid-template-columns:44% 56%;background:#f8ebea;border-radius:30px;overflow:hidden;box-shadow:0 25px 70px #42294812}
.game-art{position:relative;min-height:390px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#eeb4ad,#c48ea9 65%,#795677)}
.game-art-ring{position:absolute;width:78%;aspect-ratio:1;border:1px solid #ffffff9c;border-radius:50%}
.salon-badge{position:relative;width:190px;height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:38px;background:var(--cream);color:var(--plum);transform:rotate(-9deg);box-shadow:0 28px 50px #55334b55}
.salon-badge span{font-size:3rem;line-height:1}
.salon-badge small{font-size:1.25rem;line-height:1.05;letter-spacing:.12em;font-weight:850;text-align:center}
.mini-tile{position:absolute;display:grid;place-items:center;width:70px;height:70px;border-radius:20px;background:#fff0df;color:var(--plum);font-size:2rem;box-shadow:0 15px 30px #55334b35}
.mini-one{left:11%;top:15%;transform:rotate(14deg)}
.mini-two{right:11%;bottom:13%;transform:rotate(-12deg)}
.game-copy{padding:clamp(35px,5vw,70px);align-self:center}
.game-copy p:not(.eyebrow){color:var(--muted);font-size:1.08rem}
.game-copy .concept-note{font-size:.78rem!important;margin-top:24px;color:#806c78!important}
.text-link{font-weight:750;text-decoration:none}
.contact{text-align:center;padding-top:35px;padding-bottom:110px}
.contact h2{margin-bottom:15px}
.contact p:not(.eyebrow){color:var(--muted);margin-bottom:24px}
.site-footer{background:var(--plum);color:#fff;padding:48px clamp(22px,5vw,88px);display:flex;justify-content:space-between;gap:35px}
.site-footer p{font-size:.85rem;color:#d8cbd9;margin:14px 0 0}
.page-main{max-width:850px;margin:auto;padding:75px 24px 110px;min-height:60vh}
.page-main h1{color:var(--plum);font-size:clamp(2.7rem,5vw,4.5rem)}
.page-main h2{font-size:1.5rem;letter-spacing:-.03em;margin:38px 0 12px}
.page-main p,.page-main li{color:#534a59}
.notice{background:#fff0df;border-left:4px solid #c98274;padding:16px 20px;border-radius:8px}
.details-list{padding-left:22px}
.details-list li{margin:8px 0}
@media(max-width:800px){.hero-art{right:-7%;width:50%;opacity:.65}.hero-inner{padding-top:85px;padding-bottom:85px}.hero-inner h1,.hero-lede{max-width:60%}}
@media(max-width:650px){.site-header{gap:12px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}.site-header nav{gap:16px;width:100%;justify-content:flex-start}.hero{min-height:650px;align-items:start}.hero-inner{padding-top:65px;padding-bottom:280px}.hero-inner h1,.hero-lede{max-width:100%}.hero-art{width:75%;height:320px;top:auto;bottom:0;right:-4%;opacity:.8}.salon-tile{border-width:5px}.about,.game-card{grid-template-columns:1fr}.about{gap:8px}.section{padding-top:70px;padding-bottom:70px}.games{padding-top:0}.game-art{min-height:270px}.site-footer{flex-direction:column}}
