/* Dreamy rose cafe theme */
:root{--bg:#110d10;--wine:#d51f39;--rose:#ed344e;--gold:#ee6776;--text:#fff0ed;--muted:#c5a5aa;--line:#c52d4655}body{font-family:'Hiragino Maru Gothic ProN','Yu Gothic',sans-serif;background:#110d10;background-image:radial-gradient(#b7253e22 .8px,transparent .8px);background-size:16px 16px}h1,h2,h3{font-family:'Hiragino Maru Gothic ProN','Yu Gothic',sans-serif;font-weight:700;letter-spacing:.05em}h2{font-size:clamp(25px,2.7vw,36px)}.eyebrow{font-family:Georgia,serif;color:#bd6285;letter-spacing:.18em}.topbar{background:linear-gradient(#4a1a39bd,transparent);border-color:#ffd1e850;color:#fff0ec}.brand span{font-family:Georgia,serif}.topbar nav{gap:18px}.topbar nav>a{padding:11px 17px;border-radius:30px;background:#fff1f718;border:1px solid #ffd0e433;transition:background .2s,transform .2s}.topbar nav>a:hover{background:#c42b3b;color:#fff5ef;transform:translateY(-2px)}.nav-recruit{background:#c91f35!important;border:1px solid #f15a69!important}.hero{color:#24131d}.shade{background:linear-gradient(90deg,#300710c4,transparent 90%),linear-gradient(0deg,#1c070ed9,transparent 65%)}.hero .eyebrow{color:#ffc0ba}.hero-small{display:inline-block;background:#250d16cc;border:1px solid #d54351aa;border-radius:40px;padding:10px 21px;font-size:12px;letter-spacing:.12em}.hero-small::before{content:'';margin-right:9px;color:#ee3f53}.hero h1{font-size:clamp(40px,4.6vw,66px);line-height:1.65;text-shadow:0 3px 20px #46112b80;letter-spacing:.07em}.hero h1 span{color:#fff0e9}.hero-sub{font-size:13px;letter-spacing:.12em}.btn{position:relative;border-radius:50px;border:1px solid #ed5264;background:#21141c;color:#fff0e9;padding:18px 28px;box-shadow:0 5px 0 #740d22,0 8px 20px #e32b4233;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s}.btn::before{content:'';font-size:18px;line-height:1}.btn:hover{background:#401321;color:#fff5ef;transform:translateY(-3px);box-shadow:0 8px 0 #740d22,0 12px 24px #e32b4233}.filled{background:linear-gradient(120deg,#eb3446,#b8112b);color:white;border:2px solid #f8737d;box-shadow:0 5px 0 #650b1c,0 9px 22px #08030688}.filled:hover{background:#f33d51;color:#fff;box-shadow:0 8px 0 #650b1c}.text-link{border:1px solid #8d3042;border-radius:30px;background:#24131d;padding:12px 20px;color:#ffbcc1;font-weight:600;font-size:11px;box-shadow:0 3px 0 #500e20}.hero .text-link{background:#21101fed;color:#fff0ee;border-color:#ca4258}.hero-bottom{color:#fff0ed}.hero-bottom small{color:#ffc6bf}.hero-bottom button{border-radius:30px;border-color:#dd5165;background:#140a1099}.ribbon{background:#290e1b;border-bottom:2px dashed #791a32;color:#ffc0c0}.story{background:radial-gradient(ellipse at right,#6f102b44,transparent 65%)}.story-photo{position:relative;transform:rotate(-2deg);padding:14px 14px 24px;background:#fff;border:1px solid #8d2840;border-radius:24px;box-shadow:0 12px 30px #0008}.story-photo img{border-radius:14px}.story-photo::before{content:'';position:absolute;z-index:1;top:-24px;left:calc(50% - 35px);font:56px Georgia,serif;color:#db1835;line-height:1;text-shadow:0 2px #fff}.photo-caption{text-align:center;font-size:9px}.story-copy p:not(.eyebrow){color:#dcc0c5;line-height:2.4}.ornament{color:#df2945}.cast-section{border-top:2px dashed #8b2840}.cast-image{border:8px solid #fff;border-radius:25px;box-shadow:0 8px 24px #0005;outline:1px solid #93273e}.image-link{background:#b71530;color:#fff;border-radius:24px 0 0 0;font-weight:700}.system-section{background:#1d1019;border-radius:40px;border:1px solid #70233a;margin-top:25px}.plans{gap:25px}.plan{position:relative;border-radius:26px;border:2px solid #9b3048;background:#21151e;box-shadow:0 7px 0 #500d23}.plan::before{content:'';position:absolute;right:28px;top:20px;color:#cb2440;font-size:35px}.plan.accent{background:linear-gradient(135deg,#24131d,#4a1027);border-color:#b32c45}.plan:hover{border-color:#f04b60}.price{color:#ff5367;font-weight:700}.price span{color:#ceb1ba}.plan-index{color:#e57380}.plan-foot{color:#ffc7cb;border-top:1px dashed #6d263e}.gallery button{border-radius:23px;border:7px solid white;box-shadow:0 5px 15px #0005}.gallery button:nth-child(2n){transform:rotate(2deg)}.gallery button:nth-child(2n+1){transform:rotate(-2deg)}.access-lead{color:#f36a7b}.access-photo{padding:10px;background:white;border:1px solid #85273e;border-radius:28px;box-shadow:0 10px 25px #0008}.access-photo img{border-radius:20px;filter:brightness(.85)}.access-photo>div{color:white;font-family:Georgia,serif;text-shadow:0 2px 6px #301326}.access-photo small{font-family:sans-serif}.recruit-section{position:relative;background:linear-gradient(#180b15e8,#390d22eb),url('../img/haikei2-optimized.webp') center/cover;border:2px dashed #a12c47;border-radius:36px;max-width:1200px;margin-bottom:40px}.recruit-section::before{content:'';display:block;color:#ef3550;font:50px Georgia;margin-bottom:20px}.recruit-section>p:not(.eyebrow){color:#d4acb9}footer{background:#190c17;border-top:1px dashed #80243e}.socials a{border:1px solid #843047;background:#291320;border-radius:25px;padding:12px 18px;font-size:11px}.footer-bottom{border-color:#6e233a}.mobile-menu{background:#1c101bfa;color:#ffd7dd;border-bottom:2px solid #80314b}.mobile-menu a{border-color:#80314b}.menu-toggle{border-radius:25px;background:#2d1222;color:#ffc6ce;border-color:#a63a50}dialog{background:#20101b;border:4px solid #a02e48;border-radius:25px;color:#ffbbc4}dialog img{border-radius:12px}.mobile-dock{background:#170c16f5;border-color:#a3374f;padding:8px 8px calc(8px + env(safe-area-inset-bottom));gap:7px}.mobile-dock a{background:#fff;border:1px solid #8d2f48;border-radius:25px;color:#ffe5e9;padding:14px 3px;box-shadow:0 3px 0 #520d22;font-weight:700}.mobile-dock a:last-child{background:linear-gradient(120deg,#ed344d,#b51733);color:#fff;border-color:#d84961}.mobile-dock a::before{content:'';margin-right:4px}.fine{color:#c5a5aa}@media(max-width:700px){.hero h1{font-size:36px}.hero-small{font-size:10px;padding:9px 15px}.hero-links{gap:20px}.hero .text-link{padding:12px 20px}.btn{padding:16px 22px;font-size:11px}.story-photo{margin-top:18px}.section{padding-top:65px;padding-bottom:65px}.system-section{margin-left:12px;margin-right:12px;border-radius:28px}.plan{padding:28px 23px}.price{font-size:38px}.recruit-section{margin:15px 14px 35px;border-radius:28px}.socials{gap:9px}.socials a{padding:11px 12px}.gallery button{flex-basis:78%}.mobile-menu{inset:85px 0 auto}.hero .hero-sub{font-size:11px}.image-link{font-size:8px}}

/* Rose seals, lacquer buttons and dark pop details. */
.topbar nav>a{border-width:1px;box-shadow:0 3px 0 #350b19}.btn,.plan,.text-link,.socials a{border-width:2px}.btn{box-shadow:0 5px 0 #650c24,0 0 0 3px #160a13}.filled{background:linear-gradient(135deg,#ec3448,#ad0b2b);border-color:#ff8b96;box-shadow:0 6px 0 #5d0a21,0 0 22px #e6274033}.filled:hover{background:#ef344d}.btn::before,.hero-small::before,.mobile-dock a::before{content:'';display:inline-block;flex:none;width:25px;height:25px;background:url('../img/rose-mark.svg') center/contain no-repeat;vertical-align:middle}.hero-small::before{width:19px;height:19px;margin-right:8px}.hero-small{display:inline-flex;align-items:center}.plan::before{content:'';width:43px;height:43px;background:url('../img/rose-mark.svg') center/contain no-repeat}.story-photo{background:#24121d;border:2px solid #a32c48;box-shadow:7px 9px 0 #5a1028}.story-photo::before{content:'';width:66px;height:66px;background:url('../img/rose-mark.svg') center/contain no-repeat;top:-33px;left:calc(50% - 33px)}.story-photo img{border-color:#872a41}.photo-caption{color:#ff9ea9}.hero h1{color:#fff2ed;text-shadow:3px 3px 0 #650f2f,0 3px 25px #08000599}.ribbon{background:repeating-linear-gradient(135deg,#290e1a,#290e1a 14px,#310f1d 14px,#310f1d 28px)}.section-head h2::after{content:' ✦';color:#db2d4b}.recruit-section::before{width:65px;height:65px;background:url('../img/rose-mark.svg') center/contain no-repeat;margin:0 auto 20px}.gallery button{border-color:#591126}.access-photo{background:#260e1d}.access-photo img{filter:brightness(.82)}.image-link{border-top:2px solid #f17385;border-left:2px solid #f17385}.plan{background:radial-gradient(ellipse at top right,#6b112c55,transparent 65%),#21121e}.plan.accent{background:linear-gradient(135deg,#3b1228,#68112c);border-color:#e44460}.plan:hover{transform:translateY(-3px)}.mobile-dock a{background:#29101f;color:#ffe6ec}.mobile-dock a:last-child{background:linear-gradient(135deg,#e83049,#ad0c2c)}.mobile-dock a::before{width:18px;height:18px;margin-right:3px}.ornament{color:#e33451}.socials a{color:#ffd1da}.recruit-section{border-color:#c63c57}.footer-top .brand{color:#fff0ed}@media(max-width:700px){.btn::before{width:23px;height:23px}.mobile-dock a{display:flex;align-items:center;justify-content:center;font-size:10px}.story-photo::before{width:56px;height:56px;top:-28px;left:calc(50% - 28px)}}
.hero{color:#fff0ed}.hero-small,.hero-sub{color:#fff0ed}.hero .eyebrow{color:#ffbfc4}.hero .text-link{color:#fff0ed}.hero h1 span{color:#fff0ed}
.story-copy{text-align:center}
/* Thorn-framed Japanese title, retained as accessible live text. */
.hero h1{position:relative;width:fit-content;max-width:100%;font-family:'Yu Mincho','Hiragino Mincho ProN','Hiragino Mincho Pro','Noto Serif JP',serif;font-weight:500;letter-spacing:.1em;line-height:1.65;padding:10px 18px 30px 0;text-shadow:1px 2px 0 #5f1028,0 0 24px #16040be6}
.hero h1::after{content:'';position:absolute;pointer-events:none;left:-26px;right:-18px;bottom:-16px;height:95px;background:url('../img/thorn-title.svg') center bottom/100% 100% no-repeat;opacity:.95}
.hero h1 span{color:#ffebe6}.hero-sub{margin-top:34px}
@media(max-width:700px){.hero h1{font-size:36px;padding-right:8px;padding-bottom:23px;letter-spacing:.07em}.hero h1::after{left:-13px;right:-7px;height:65px;bottom:-12px}.hero-sub{margin-top:29px}}
/* Keep the hero copy together after removing its action buttons. */
.hero{height:88svh;min-height:620px;max-height:900px}
.hero-content{top:51%;transform:translateY(-38%)}
.hero-content>.eyebrow{margin-bottom:16px}
.hero-small{margin:0 0 15px}
.hero h1{line-height:1.45;padding-top:3px;padding-bottom:22px}
.hero h1::after{height:78px;bottom:-17px}
.hero-sub{margin:28px 0 0;line-height:1.8}
@media(max-width:700px){.hero{height:80svh;min-height:540px;max-height:740px}.hero-content{top:50%;transform:translateY(-30%);left:8%;right:7%}.hero-content>.eyebrow{margin-bottom:14px;font-size:8px;letter-spacing:.12em}.hero-small{padding:8px 14px;margin-bottom:15px}.hero h1{font-size:clamp(30px,8.6vw,38px);line-height:1.43;padding-top:2px;padding-bottom:20px}.hero h1::after{height:58px;bottom:-13px;left:-10px;right:-5px}.hero-sub{margin:24px 0 0;font-size:11px;letter-spacing:.08em}.hero-bottom{top:93px}.ribbon{padding-block:17px}}
/* Match the concept heading to the thorn-framed hero title. */
.story-copy h2{position:relative;width:fit-content;max-width:100%;margin-inline:auto;padding:0 12px 27px;font-family:'Yu Mincho','Hiragino Mincho ProN','Hiragino Mincho Pro','Noto Serif JP',serif;font-weight:500;letter-spacing:.1em;line-height:1.6;color:#fff0ed;text-shadow:1px 2px 0 #65102d,0 0 18px #8b153333}
.story-copy h2::after{content:'';position:absolute;pointer-events:none;left:-12px;right:-12px;bottom:-14px;height:65px;background:url('../img/thorn-title.svg') center bottom/100% 100% no-repeat}
.story-copy .ornament{margin:22px 0 14px}
@media(max-width:700px){.story-copy h2{font-size:28px;letter-spacing:.07em;padding-inline:8px;padding-bottom:24px}.story-copy h2::after{left:-9px;right:-9px;height:55px;bottom:-12px}}
.cast-list-action{text-align:center;margin-top:30px}.cast-list-action .btn{min-width:220px;justify-content:space-between}.cast-list-action .btn span{margin-left:20px}@media(max-width:700px){.cast-list-action{margin-top:25px}.cast-list-action .btn{min-width:210px}}
