:root{color-scheme:light;--ink:#291f2b;--muted:#746775;--rose:#df548a;--rose-dark:#be3e75;--rose-soft:#fff0f5;--paper:#fffafc;--border:#f0dde6;--plum:#261824;--shadow:0 18px 42px rgba(64,24,49,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #e579a9;outline-offset:3px}a{text-decoration:none;color:inherit}[hidden]{display:none!important}.site{min-height:100vh;overflow-x:hidden}.topline{display:flex;justify-content:center;align-items:center;gap:10px;background:#d5477b;color:#fff;font-size:10px;font-weight:800;letter-spacing:.13em;padding:8px 14px}.topline span{font-size:10px;letter-spacing:.02em;border-left:1px solid #f4b3cd;padding-left:10px}.header{background:var(--plum);height:67px;display:flex;justify-content:space-between;align-items:center;padding:0 max(18px,calc((100vw - 1060px)/2));color:#fff}.logo{font-family:Georgia,serif;font-size:28px;font-style:italic;font-weight:700;letter-spacing:-.045em;white-space:nowrap}.logo>span{margin-left:2px}.logo em,.footer-logo em{color:#fc87b1}.preview-pill{font-size:11px;letter-spacing:.04em;border:1px solid #7b4d65;color:#f4cada;border-radius:99px;padding:8px 12px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#ffa6c5;margin-right:4px}.hero{position:relative;overflow:hidden;isolation:isolate;min-height:520px;background:radial-gradient(circle at 72% 22%,#77405e 0,#392436 40%,#241925 78%);color:white}.hero-glow{position:absolute;inset:auto auto -260px -140px;width:550px;height:550px;background:#6f2b51;filter:blur(85px);border-radius:50%;opacity:.38;z-index:-1}.hero-copy{position:relative;z-index:2;max-width:1060px;margin:auto;padding:90px 24px 100px;width:100%}.eyebrow,.kicker{color:#f4a6c3;font-size:10px;font-weight:800;letter-spacing:.22em}.hero h1,.page-banner h1{margin:18px 0 19px;font-size:clamp(30px,4.6vw,53px);line-height:1.45;letter-spacing:.045em;font-weight:800}.hero h1 em{font-style:normal;color:#ffa0c3}.hero-copy>p:not(.eyebrow){font-size:14px;line-height:2.05;color:#f2dce8;max-width:420px}.hero-actions{display:flex;gap:10px;margin-top:31px;flex-wrap:wrap}.primary-btn,.light-btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:0;border-radius:100px;padding:14px 22px;font-size:13px;font-weight:800;transition:transform .15s,background .15s}.primary-btn{color:white;background:linear-gradient(120deg,#e44b85,#f184ae);box-shadow:0 8px 22px rgba(215,47,109,.18)}.primary-btn:hover{background:#c63d72;transform:translateY(-1px)}.light-btn{background:#fff2f8;color:#8d3157}.full{width:100%}.portrait-wrap{position:absolute;right:max(0px,calc((100vw - 1110px)/2));bottom:-52px;width:min(45%,470px);pointer-events:none;filter:drop-shadow(-20px 12px 30px rgba(20,8,22,.3))}.portrait-wrap img{display:block;width:100%;height:auto}.hero-sticker{position:absolute;right:max(18px,calc((100vw - 1010px)/2));top:28px;color:#ffd9e7;font:italic 11px/1.6 Georgia,serif;letter-spacing:.2em;transform:rotate(9deg);text-align:center}.container{max-width:1060px;margin:0 auto;padding:0 22px}.home-content{padding-top:24px;padding-bottom:65px}.status-note{display:flex;align-items:flex-start;gap:12px;padding:17px 20px;border:1px solid #f0d4de;background:#fff0f6;border-radius:15px;color:#6f3453}.status-note strong{font-size:13px}.status-note p{font-size:12px;line-height:1.85;margin:4px 0 0}.status-symbol{width:23px;height:23px;border-radius:50%;flex:none;display:grid;place-items:center;background:#edc4d6;color:#7d3259;font-size:13px;font-weight:900}.status-note.compact{margin-top:20px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:57px 0 20px}.section-heading h2{font-size:clamp(23px,4vw,32px);margin:8px 0 0;line-height:1.5;letter-spacing:.04em}.kicker{color:var(--rose-dark)}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.feature{padding:24px 23px;border-radius:19px;background:#fff;border:1px solid #f4e2ea;box-shadow:var(--shadow)}.feature-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#fff0f6;color:#de5b8c;font-family:Georgia,serif;font-size:29px}.feature h3{font-size:15px;margin:19px 0 8px}.feature p{font-size:12px;line-height:1.9;color:var(--muted);margin:0}.card-heading{margin-top:66px}.link-btn{border:0;background:none;color:#aa396a;font-size:12px;font-weight:800}.cast-preview{display:flex;align-items:center;gap:23px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);border-radius:21px;padding:15px}.mini-avatar{width:132px;height:146px;flex:none;border-radius:13px;overflow:hidden;background:linear-gradient(#f9cbdc,#de96b1)}.mini-avatar img{width:100%;height:100%;object-fit:cover;object-position:center top}.sample-flag{display:inline-block;font-size:10px;color:#a44a76;background:#fff0f6;padding:5px 10px;border-radius:20px;font-weight:700}.cast-preview h3{margin:10px 0 6px;font-size:23px}.cast-preview h3 small,.profile-details h2 small{font-family:Georgia,serif;font-weight:400;font-size:12px;color:#c77f9f;letter-spacing:.14em;margin-left:5px}.cast-preview p{font-size:13px;color:#665760;line-height:1.8;margin:3px 0}.sample-meta{font-size:11px;color:#9b7b8b;margin-top:11px}.page-banner{background:radial-gradient(circle at 85% 0,#73415d,#2a1b2c 74%);padding:65px max(22px,calc((100vw - 1015px)/2)) 62px;color:white}.page-banner h1{font-size:clamp(30px,4vw,43px);margin:11px 0}.page-banner p{font-size:12px;color:#eacddd;line-height:1.7}.profile-card{display:grid;grid-template-columns:minmax(0,45%) minmax(0,55%);background:#fff;border-radius:23px;border:1px solid var(--border);overflow:hidden;margin-top:30px;box-shadow:var(--shadow)}.profile-visual{background:linear-gradient(165deg,#f6b9d3,#e4a5c8);min-height:440px;position:relative;display:flex;align-items:end;justify-content:center;overflow:hidden}.profile-visual img{width:100%;height:100%;object-fit:contain;object-position:bottom}.profile-details{padding:36px}.profile-details h2{font-size:32px;margin:14px 0 6px}.profile-sub{font-size:11px!important;color:#ab7b8c!important}.profile-details p{font-size:13px;line-height:2;color:#635363}.thin-line{height:1px;background:var(--border);margin:20px 0}.tags{display:flex;flex-wrap:wrap;gap:7px;margin:19px 0}.tags span{background:#fff3f7;border:1px solid #f2d8e4;color:#a74b73;padding:7px 10px;border-radius:50px;font-size:10px}.profile-price{border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:22px 0}.profile-price>span{font-size:11px;color:var(--muted)}.profile-price strong{font-size:12px}.profile-price b{font-size:25px;color:#d5497e}.booking-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);gap:22px;align-items:start;margin-top:28px;margin-bottom:70px}.booking-card,.booking-side,.info-card{border:1px solid var(--border);background:#fff;border-radius:22px;box-shadow:var(--shadow);padding:28px}.step-label{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-weight:800;font-size:16px}.step-label b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fbe6ef;color:#c34479;font-size:12px}.step-space{margin-top:31px}.field-label{display:block;font-size:12px;color:#695869;font-weight:800;margin-bottom:9px}input[type=date]{width:100%;border:1px solid #e6d1dc;border-radius:10px;background:#fff;color:var(--ink);font-size:16px;padding:15px}.hint{font-size:12px;color:var(--muted);line-height:1.7}.time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:16px}.time-slot{border:1px solid #ead6e0;border-radius:12px;background:#fff;color:#6b4560;padding:13px 5px;font-weight:700;font-size:12px}.time-slot:hover{background:#fff2f8}.time-slot[aria-pressed=true]{background:#fce0eb;border:2px solid #d64b81;color:#a63264;padding:12px 4px}.selection{padding:15px;border:1px dashed #e5cbd7;border-radius:12px;font-size:13px;color:#714e62;background:#fff8fb}.consent{margin:25px 0 15px;display:flex;align-items:flex-start;gap:12px;font-size:12px;line-height:1.8;color:#66545f}.consent input{width:19px;height:19px;flex:none;accent-color:var(--rose)}.booking-message{margin-top:14px;border-radius:12px;font-size:13px;line-height:1.8}.booking-message:not(:empty){background:#f1f9f3;padding:14px;color:#296044}.booking-message.error:not(:empty){background:#fff1f3;color:#9a3053}.booking-side{background:#372638;color:#fff}.booking-side .kicker{color:#f1a0be}.booking-side h2{font-size:25px;line-height:1.5}.booking-side ol{margin:22px 0;padding:0;list-style:none}.booking-side li{display:flex;flex-direction:column;gap:5px;padding:15px 0;border-top:1px solid #5d4358}.booking-side li strong{font-size:13px}.booking-side li span,.booking-side>p{font-size:12px;line-height:1.8;color:#e3cada}.info-container{padding-top:28px;padding-bottom:70px}.info-card{padding:24px 26px;margin-bottom:13px}.info-card h2{font-size:17px;margin:0 0 12px}.info-card p{font-size:13px;line-height:2;color:#756675;margin:0}.footer{background:#291d2a;color:#fff;text-align:center;padding:38px 20px 115px}.footer-logo{font:italic bold 26px Georgia,serif}.footer p{font:italic 12px Georgia,serif;color:#d2b4c5;letter-spacing:.06em}.footer .footer-status{font:normal 10px -apple-system,BlinkMacSystemFont,sans-serif;color:#bdaaba;letter-spacing:0}.bottom-nav{display:flex;position:fixed;z-index:20;bottom:0;left:0;right:0;justify-content:space-around;align-items:stretch;background:#2a1c2b;box-shadow:0 -10px 25px rgba(31,10,27,.1);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{flex:1;padding:9px 0 7px;min-height:57px;border:0;background:transparent;color:#e3c8d7;font-size:10px;display:flex;flex-direction:column;align-items:center;gap:3px}.bottom-nav button span{font-size:21px;line-height:22px;font-weight:400}.bottom-nav button.active{color:#ff90ba}.age-gate{position:fixed;z-index:999;inset:0;display:flex;justify-content:center;align-items:center;padding:20px;background:radial-gradient(circle at 70% 15%,#824563,#271b2a 70%);color:#fff;overflow-y:auto}.age-card{width:100%;max-width:455px;padding:32px 30px;border:1px solid #885874;border-radius:24px;background:rgba(45,27,44,.92);box-shadow:0 18px 60px #170e19;text-align:center}.age-decor{font-size:32px;color:#f5a0c4}.age-card h1{font-size:clamp(27px,6vw,35px);line-height:1.55;letter-spacing:.05em}.age-card>p:not(.eyebrow){font-size:12px;line-height:1.95;color:#f1dce8}.age-card .age-caution{font-size:11px!important;color:#d5b7c9!important;margin-bottom:23px}.text-btn{color:#f5d4e1;border:0;background:none;padding:16px;font-size:12px}.age-denied{font-weight:700!important;color:#ffc4d7!important}.age-gate .primary-btn{min-height:50px}
@media(max-width:700px){.hero{min-height:590px}.hero-copy{padding:46px 20px 270px}.hero h1{font-size:clamp(29px,7vw,40px)}.hero-copy>p:not(.eyebrow){max-width:370px;font-size:12px}.hero-actions{margin-top:20px}.hero-actions .primary-btn,.hero-actions .light-btn{font-size:11px;padding:12px 15px}.portrait-wrap{width:min(73%,355px);right:-29px;bottom:-45px}.hero-sticker{top:auto;right:auto;bottom:150px;left:25px;font-size:10px}.feature-grid{grid-template-columns:1fr;gap:10px}.feature{display:grid;grid-template-columns:45px 1fr;column-gap:15px;align-items:center;padding:17px 18px}.feature-icon{grid-row:span 2}.feature h3{margin:0}.feature p{grid-column:2;margin-top:3px}.section-heading{margin-top:43px}.card-heading{margin-top:47px}.profile-card{grid-template-columns:1fr}.profile-visual{height:330px;min-height:0}.profile-visual img{width:100%;height:380px}.profile-details{padding:25px}.booking-grid{grid-template-columns:1fr}.booking-side{order:2}.booking-card{padding:21px}.time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer{padding-bottom:110px}.page-banner{padding:42px 22px}.cast-preview{gap:14px}.mini-avatar{width:100px;height:128px}.cast-preview h3{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* LoveCall: first concept art direction, 2026-10-28. Visual-only update. */
:root{--rose:#f34c86;--rose-dark:#cc3c76;--plum:#211820;--paper:#fff9fb;--border:#efdce5}
.header{background:linear-gradient(120deg,#21191f,#30212b);border-bottom:1px solid #654054}
.logo{color:#fa8eb4;font-family:Georgia,serif;font-size:30px}
.logo em{color:#ffb8d0}
.hero{min-height:555px;background:radial-gradient(circle at 73% 38%,#8f506f,#33212c 47%,#1e181e 88%)}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,18,26,.85) 0%,rgba(30,20,30,.63) 36%,rgba(30,20,30,.08) 72%);pointer-events:none;z-index:1}
.portrait-wrap{bottom:0;right:max(0px,calc((100vw - 1120px)/2));width:min(49%,490px);height:100%;filter:none;overflow:hidden;z-index:0}
.portrait-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 28%;mask-image:linear-gradient(to bottom,#000 90%,transparent)}
.hero-glow{background:#bc598b;opacity:.23}
.hero-copy{padding-top:105px;padding-bottom:125px}
.hero h1 em{color:#ffa6c8}
.hero-sticker{z-index:3;text-shadow:0 2px 12px #402534}
.primary-btn{background:linear-gradient(115deg,#f0437c,#f75d90)}
.light-btn{background:rgba(255,247,252,.92)}
.mini-avatar{background:#f1cbd8}
.mini-avatar img{object-fit:cover;object-position:center center}
.profile-visual{background:linear-gradient(150deg,#f7d4e4,#ecb7ce)}
.profile-visual img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.cast-preview{border-color:#f2cfdf}
.age-gate{background:radial-gradient(circle at 50% 15%,#794258,#1f171e 74%)}
.age-card{box-shadow:0 20px 80px rgba(10,5,9,.52)}
@media(max-width:700px){
 .header{height:61px}
 .hero{min-height:665px}
 .hero:after{background:linear-gradient(180deg,rgba(33,22,30,.52) 0%,rgba(26,20,27,.20) 25%,rgba(26,20,27,.10) 55%,rgba(26,20,27,.92) 100%)}
 .portrait-wrap{inset:0;width:100%;height:100%;overflow:hidden}
 .portrait-wrap img{width:100%;height:100%;object-fit:cover;object-position:53% 43%;mask-image:none}
 .hero-copy{padding:65px 22px 22px;display:flex;flex-direction:column;justify-content:space-between;min-height:665px}
 .hero h1{font-size:clamp(29px,7.8vw,42px);line-height:1.45;max-width:335px;text-shadow:0 2px 18px #24141f}
 .hero-copy>p:not(.eyebrow){font-size:12px;line-height:1.75;color:#fff4f8;max-width:235px;text-shadow:0 2px 10px #291b25}
 .hero-actions{margin-top:auto;flex-direction:column;align-items:stretch;gap:9px}
 .hero-actions .primary-btn{font-size:15px;min-height:56px}
 .hero-actions .light-btn{font-size:12px;min-height:40px;background:rgba(255,242,248,.9)}
 .hero-sticker{display:none}
 .profile-visual{height:370px}
 .profile-visual img{height:100%;object-fit:cover;object-position:center 20%}
}
