:root{--night:#11131f;--room:#191b2c;--ink:#f6eef9;--muted:#c5b8d0;--pink:#ff80be;--blue:#758ffa;--lavender:#c5a5ff;font-family:dm sans,sans-serif;color:var(--ink);background:var(--night);scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse 75% 650px at 50% 300px,#263251 0%,#11131f 80%);overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3,.door-title{font-family:italiana,Georgia,serif;font-weight:400}.shell{width:min(1180px,calc(100% - 80px));margin-inline:auto}.skip-link{position:absolute;top:-100px;left:16px;padding:12px 18px;background:#fff;color:#11131f;z-index:20}.skip-link:focus{top:12px}:focus-visible{outline:3px solid #ffb6d5;outline-offset:4px}.site-header{position:relative;z-index:3;height:92px;display:flex;align-items:center;justify-content:space-between}.wordmark{font:32px italiana,Georgia,serif}.wordmark span{font:italic .72em Georgia,serif;color:var(--pink)}nav{display:flex;gap:32px}nav a{font-size:12px;font-weight:600;color:#e3dce7;padding:12px 0}nav a:hover,footer a:hover{color:var(--pink)}.landing{position:relative;text-align:center;padding:36px 0 116px;isolation:isolate;overflow:hidden}.glow{position:absolute;z-index:-1;pointer-events:none;filter:blur(38px);opacity:.48}.glow-blue{width:460px;height:440px;top:170px;left:12%;background:radial-gradient(circle,#204ba8,transparent 68%)}.glow-pink{width:460px;height:440px;top:150px;right:8%;background:radial-gradient(circle,#923065,transparent 70%)}.kicker,.eyebrow{font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:#e6b5d3}.landing h1{font-size:clamp(55px,7vw,106px);line-height:1.04;letter-spacing:-.035em;margin:20px 0 4px;text-wrap:balance}.landing h1 span{font-family:Georgia,serif;font-style:italic;font-size:.7em;color:var(--pink)}.tagline{font-family:italiana,Georgia,serif;font-size:clamp(31px,3.2vw,50px);color:#ddc4e6}.doors{display:grid;grid-template-columns:minmax(0,1fr)minmax(275px,380px)minmax(0,1fr);align-items:center;gap:22px;margin:48px auto 28px}.door{display:flex;flex-direction:column;text-align:left;justify-content:center;min-height:255px;padding:28px 32px;border:1px solid #6989d566;background:linear-gradient(135deg,#1c2848dd,#16203add);box-shadow:0 10px 35px #080a1680;transition:box-shadow .25s,border-color .25s,transform .25s}.door:hover,.door:focus-visible{border-color:#9bb1ff;box-shadow:0 0 38px #678bff60,0 10px 35px #080a1680;transform:translateY(-3px)}.door-a{background:linear-gradient(135deg,#362040dd,#251a38dd);border-color:#db7abf66}.door-a:hover,.door-a:focus-visible{border-color:#ff9ed7;box-shadow:0 0 38px #e67ac460,0 10px 35px #080a1680}.door-mark{font-size:26px;color:#9bb1ff}.door-a .door-mark{color:#ff91cd}.door-title{font-size:clamp(33px,3vw,45px);line-height:1.06;margin:18px 0 25px}.door-action{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;color:#d5defd}.door-a .door-action{color:#ffd1ec}.door-action span{font-size:20px}.portrait-wrap{position:relative;width:100%;padding:8px;border-radius:50%;background:conic-gradient(from 30deg,#f186be,#e54669,#4169ef,#95a7fa,#f186be);box-shadow:0 0 55px #7f79ff7a,0 22px 60px #070715aa}.portrait{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%;background:#1a1b35}.portrait-spark{position:absolute;line-height:1;color:#ffc3e1;text-shadow:0 0 16px #f79bce;font-size:40px}.portrait-spark.one{left:-12px;top:12%}.portrait-spark.two{right:-15px;bottom:15%;font-size:30px}.nights-line{line-height:1.7;font-size:17px;color:#f3e5f5;max-width:640px;margin:18px 0 4px}.signature{margin-top:26px;color:#c1acc7;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.dream-section{background:linear-gradient(160deg,#19213a,#211a34 68%,#1a1929);border-block:1px solid #a1a7e133}.dream-shell{padding:96px 0 110px}.dream-header{display:flex;justify-content:space-between;align-items:end;gap:28px}.dream-header h2,.nights h2{font-size:clamp(58px,6vw,86px);letter-spacing:-.04em;margin-top:14px}.pink-dot{color:var(--pink)}.dream-switch{display:flex;gap:8px;flex-wrap:wrap}.dream-switch button{border:1px solid #9187ba8a;border-radius:0;padding:14px 18px;background:#11182799;color:var(--ink);cursor:pointer;font-size:12px;min-height:48px}.dream-switch button:hover,.dream-switch button:focus-visible{border-color:#ffd0ef}.dream-switch button[aria-pressed=true]{background:#ac5c94;color:#fff;border-color:#ed9fd0}.dream-panel{min-height:300px;margin-top:36px;border:1px solid #9d8ac23e;background:#101425a8;padding:50px clamp(26px,5vw,74px);position:relative}.dream-panel[data-active=chatterley]{border-color:#7995e666;box-shadow:inset 3px 0 #7995e6}.dream-panel[data-active=aisumisora]{border-color:#d982bc66;box-shadow:inset 3px 0 #d982bc}.dream-placeholder{text-align:center;padding:52px 0;color:#d5c6de}.dream-placeholder[hidden],.dream-content[hidden]{display:none}.small-heart{font-size:34px;color:var(--pink)}.dream-placeholder p{margin-top:14px;font-family:italiana,Georgia,serif;font-size:32px}.dream-content{max-width:760px}.dream-content.appearing{animation:appear .24s ease both}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dream-content h3{font-size:clamp(42px,5vw,70px);line-height:1.12;margin:14px 0 24px}.dream-content h3 i{font-family:Georgia,serif;color:#b3c2ff;font-weight:400}.dream-panel[data-active=aisumisora] h3 i,.dream-panel[data-active=aisumisora] .soft-heart{color:var(--pink)}.dream-content>p:not(.eyebrow){font-size:15px;line-height:1.85;color:#e2d8e8;margin-top:13px}.soft-heart{color:#b3c2ff}.room-link{display:inline-flex;gap:30px;align-items:center;border-bottom:1px solid #d0a3d7;padding:8px 0;margin-top:24px;font-size:13px;font-weight:600}.room-link span{font-size:20px}.nights{padding:110px 0 130px}.nights-intro{font-size:18px;line-height:1.65;color:#e5d8eb;max-width:650px;margin:15px 0 44px}.night-frames{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.night-frame{min-height:86px;display:flex;align-items:center;gap:16px;padding:20px 22px;border:1px dashed #a195bb69;background:#171a2aa6}.night-frame span{font-size:28px;color:#9cb0ff}.night-frame:nth-child(2) span{color:#ff97cf}.night-frame:nth-child(3) span{color:#c1a7ff}.night-frame p{font-family:italiana,Georgia,serif;font-size:clamp(18px,2vw,25px);white-space:nowrap}.art-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:86px 0 28px}.art-heading h3{font-size:clamp(40px,4.5vw,63px)}.art-heading p{font-size:13px;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 18px}.gallery-item{border:0;padding:0;background:0 0;color:inherit;text-align:left;cursor:pointer;min-width:0}.gallery-item img{width:100%;height:auto;aspect-ratio:1.3;object-fit:cover;background:#343045;transition:filter .2s}.gallery-item:hover img{filter:brightness(1.15)}.gallery-item>span{display:flex;justify-content:space-between;padding:12px 0;gap:12px;font-size:12px;color:#e2d8eb}.gallery-item>span span{color:var(--pink);font-size:18px}.date{background:radial-gradient(ellipse 55% 80% at 50% 50%,#402a53,#1c1a30 75%);border-top:1px solid #8c76a556}.date-inner{text-align:center;padding:105px 0 110px}.date-flower{font-size:32px;color:var(--pink)}.date h2{font-size:clamp(58px,6vw,86px);margin:10px 0 25px}.half-lines{font-family:italiana,Georgia,serif;font-size:29px;line-height:1.5}.half-lines span{display:block}.half-lines span+span{color:#e7a7d2}.date time{display:block;margin-top:30px;color:#f1c4df;font-size:13px;letter-spacing:.12em}.date a{display:inline-block;margin-top:46px;border-bottom:1px solid #a990c1;padding-bottom:8px;font-size:12px}.date a:hover{color:var(--pink)}footer{display:flex;justify-content:space-between;padding-block:29px;font-size:11px;color:#baaeca}dialog{border:0;background:#171724;color:#fff;padding:16px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:hidden;box-shadow:0 20px 90px #0008}dialog::backdrop{background:#080812ed}dialog img{display:block;width:auto;height:auto;max-width:calc(100vw - 56px);max-height:calc(100dvh - 104px);object-fit:contain}dialog p{font-size:12px;padding-top:12px}dialog form{position:absolute;top:22px;right:22px}.viewer-close{width:44px;height:44px;border:0;background:#1a171bd9;color:#fff;cursor:pointer;font-size:30px;line-height:1}@media(max-width:900px){.shell{width:calc(100% - 48px)}.doors{grid-template-columns:minmax(0,1fr)minmax(220px,320px)minmax(0,1fr);gap:10px}.door{padding:20px;min-height:210px}.door-title{font-size:31px}.dream-header{display:block}.dream-switch{margin-top:30px}}@media(max-width:650px){.shell{width:calc(100% - 36px)}.site-header{height:76px}.wordmark{font-size:27px}nav{gap:12px}nav a{font-size:10px}.landing{padding:26px 0 75px}.landing h1{font-size:clamp(48px,11vw,72px);margin:16px 0 5px}.tagline{font-size:33px}.doors{display:flex;flex-direction:column;gap:14px;margin:30px auto}.portrait-wrap{order:0;width:min(76vw,310px);margin:0 auto 14px}.door{order:1;width:100%;min-height:110px;display:grid;grid-template-columns:38px 1fr 90px;align-items:center;gap:13px;text-align:left;padding:16px 20px}.door-mark{font-size:24px}.door-title{font-size:30px;line-height:1;margin:0}.door-action{display:block;text-align:right;font-size:11px}.door-action span{display:block}.nights-line{font-size:14px}.dream-shell{padding:68px 0 78px}.dream-header h2,.nights h2{font-size:57px}.dream-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dream-switch button{padding:10px 8px;font-size:11px}.dream-panel{margin-top:25px;padding:32px 22px;min-height:280px}.dream-content h3{font-size:43px}.dream-content>p:not(.eyebrow){font-size:14px}.nights{padding:75px 0 90px}.nights-intro{font-size:16px}.night-frames{grid-template-columns:1fr;gap:10px}.night-frame{min-height:76px}.night-frame p{font-size:clamp(18px,5vw,22px)}.art-heading{display:block;margin-top:66px}.art-heading p{margin-top:10px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}.gallery-item img{aspect-ratio:1}.gallery-item>span{font-size:10px}.date-inner{padding:80px 0 90px}.half-lines{font-size:25px}footer{font-size:10px;gap:14px}}@media(max-width:380px){nav{gap:8px}nav a{font-size:9px}.landing h1{font-size:45px}.door-title{font-size:26px}.dream-header h2,.nights h2{font-size:50px}.night-frame{padding:14px 12px;gap:8px}.night-frame p{font-size:17px}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.door,.gallery-item img{transition:none}.dream-content.appearing{animation:none}}