*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

/* ChouChou Ver7.1 — cast-specific reservation */
html body.premium-design-system:not(.cast-detail-page) .v6-cast-actions:not(.is-compact){
    grid-template-columns:31px minmax(0,1fr) !important;
    grid-template-rows:45px 41px !important;
    width:100% !important;
    max-width:220px !important;
    min-height:95px !important;
}

html body.premium-design-system:not(.cast-detail-page) .v6-cast-actions:not(.is-compact) .v6-favorite-button{
    grid-row:1 / span 2;
    align-self:center !important;
}

html body.premium-design-system:not(.cast-detail-page) .v6-cast-actions:not(.is-compact) :is(.v6-line-cast-button,.v71-web-cast-button){
    grid-column:2;
    box-sizing:border-box !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
}

html body.premium-design-system:not(.cast-detail-page) .v71-cast-reservation-button{
    border-color:rgba(198,154,72,.78) !important;
    background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,222,238,.88)) !important;
    color:#8d365f !important;
    box-shadow:0 9px 22px rgba(119,48,81,.14),0 1px 0 rgba(255,255,255,.96) inset !important;
}

html body.premium-design-system:not(.cast-detail-page) .v71-web-cast-button{
    min-height:41px !important;
    padding:0 18px !important;
    font-size:11px !important;
    text-decoration:none;
}

html body.premium-design-system:not(.cast-detail-page) .v71-cast-reservation-button .v6-line-content{
    max-width:100%;
    gap:10px !important;
}

html body.premium-design-system:not(.cast-detail-page) .v71-cast-reservation-button .v6-line-label{
    min-width:0;
    font-size:10.5px;
    line-height:1.35 !important;
    white-space:normal !important;
}

html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v6-cast-actions.is-compact:has(.v71-cast-reservation-button),
html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-schedule-list .v6-cast-actions.is-compact:has(.v71-cast-reservation-button){
    height:44px !important;
    min-height:44px !important;
}

html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v6-line-cast-button.v71-cast-reservation-button,
html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-schedule-list .v6-line-cast-button.v71-cast-reservation-button{
    height:44px !important;
    min-height:44px !important;
    padding-right:9px !important;
    padding-left:9px !important;
}

html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v71-cast-reservation-button .v6-line-label,
html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-schedule-list .v71-cast-reservation-button .v6-line-label{
    font-size:8.5px;
}

html body.premium-design-system:not(.cast-detail-page) .v6-cast-actions.is-line-disabled:not(.is-compact){
    grid-template-rows:41px !important;
    min-height:41px !important;
}

html body.premium-design-system:not(.cast-detail-page) .v6-cast-actions.is-line-disabled:not(.is-compact) .v6-favorite-button{
    grid-row:1;
}

.v71-line-loading{
    position:fixed;
    inset:0;
    z-index:10000;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:13px;
    background:rgba(255,244,250,.72);
    color:#813454;
    font-family:"Noto Serif JP",serif;
    font-size:13px;
    letter-spacing:.12em;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    -webkit-backdrop-filter:blur(9px);
    backdrop-filter:blur(9px);
    transition:opacity .2s ease,visibility .2s ease;
}

.v71-line-loading.is-visible{opacity:1;visibility:visible;}
.v71-line-loading-mark{
    width:30px;
    height:30px;
    border:1px solid rgba(198,154,72,.42);
    border-top-color:#c69a48;
    border-radius:50%;
    animation:v71-line-loading-spin .75s linear infinite;
}

.v71-selected-cast-notice{
    margin:8px 0 0;
    color:#a14870;
    font-size:12px;
    line-height:1.7;
}

@keyframes v71-line-loading-spin{to{transform:rotate(360deg);}}

@media(hover:hover) and (pointer:fine){
    html body.premium-design-system:not(.cast-detail-page) .v71-cast-reservation-button:hover{
        border-color:rgba(198,154,72,.95) !important;
        box-shadow:0 13px 28px rgba(119,48,81,.2),0 0 16px rgba(237,191,211,.28) !important;
        transform:translateY(-3px) !important;
    }
}

@media(prefers-reduced-motion:reduce){
    .v71-line-loading-mark{animation:none;}
}

/* ChouChou Ver7.0 Favorite System */
html body.premium-design-system .v7-header-favorite{
    position:relative;
    display:inline-flex !important;
    flex:0 0 auto;
    align-items:center;
    justify-content:center;
    gap:2px;
    min-width:54px;
    height:42px;
    padding:0 12px;
    border:1px solid rgba(198,154,72,.58);
    border-radius:999px;
    background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,229,242,.8));
    color:#c4417d;
    box-shadow:0 8px 18px rgba(111,47,77,.1),inset 0 1px 0 rgba(255,255,255,.95);
    font-family:"Noto Serif JP",serif;
    text-decoration:none;
    white-space:nowrap;
    transition:transform .25s ease,box-shadow .25s ease,background .25s ease;
}

html body.premium-design-system .v7-header-favorite span{font-size:17px;line-height:1;}
html body.premium-design-system .v7-header-favorite b{min-width:12px;font-size:13px;line-height:1;}

html body.premium-design-system .v6-favorite-button.is-favorite{
    border-color:rgba(198,154,72,.82) !important;
    background:linear-gradient(145deg,#fff7fb,#f6a8ca) !important;
    color:#bf2f72 !important;
    box-shadow:0 8px 18px rgba(190,49,111,.18),inset 0 1px 0 rgba(255,255,255,.96) !important;
}

html body.premium-design-system [data-favorite-cast]{position:relative;overflow:visible;}
html body.premium-design-system [data-favorite-cast].is-favorite-pop{animation:v7-favorite-pop .25s cubic-bezier(.2,.9,.32,1.4);}
html body.premium-design-system [data-favorite-cast].is-favorite-remove{animation:v7-favorite-remove .25s ease;}

.v7-favorite-sparkle{
    position:absolute;
    top:50%;
    left:50%;
    z-index:5;
    pointer-events:none;
    color:#df4e91;
    font-size:14px;
    line-height:1;
    animation:v7-favorite-sparkle .5s ease-out forwards;
}

.v7-favorite-complete{
    position:fixed;
    top:96px;
    right:20px;
    z-index:2200;
    padding:12px 18px;
    border:1px solid rgba(198,154,72,.62);
    border-radius:999px;
    background:rgba(255,248,252,.94);
    color:#a83f70;
    box-shadow:0 16px 36px rgba(111,47,77,.2);
    -webkit-backdrop-filter:blur(14px);
    backdrop-filter:blur(14px);
    font-size:12px;
    font-weight:700;
    opacity:0;
    pointer-events:none;
    transform:translateY(-10px) scale(.96);
}

.v7-favorite-complete.is-visible{animation:v7-favorite-notice 1.5s ease both;}
.v7-favorite-empty{grid-column:1/-1;text-align:center;}

@keyframes v7-favorite-pop{
    0%{transform:scale(1);}
    48%{transform:scale(1.22);}
    100%{transform:scale(1);}
}

@keyframes v7-favorite-remove{
    0%{transform:scale(1);}
    50%{transform:scale(.88);}
    100%{transform:scale(1);}
}

@keyframes v7-favorite-sparkle{
    0%{opacity:1;transform:translate(-50%,-50%) scale(.7);}
    100%{opacity:0;transform:translate(-50%,-170%) scale(1.35);}
}

@keyframes v7-favorite-notice{
    0%{opacity:0;transform:translateY(-10px) scale(.96);}
    14%,78%{opacity:1;transform:translateY(0) scale(1);}
    100%{opacity:0;transform:translateY(-6px) scale(.98);}
}

@media(hover:hover) and (pointer:fine){
    html body.premium-design-system .v7-header-favorite:hover{
        color:#b52e6c;
        box-shadow:0 13px 26px rgba(111,47,77,.17);
        transform:translateY(-2px);
    }
}

@media(max-width:1180px){
    html body.premium-design-system:not(.interior-page) > .header .header-inner{
        grid-template-columns:minmax(0,1fr) auto auto !important;
    }
    html body.premium-design-system:not(.interior-page) > .header .v7-header-favorite{
        grid-column:2 !important;
        grid-row:1 !important;
        justify-self:end !important;
    }
    html body.premium-design-system:not(.interior-page) > .header .language-switch{
        grid-column:3 !important;
    }
}

@media(max-width:768px){
    html body.premium-design-system .v7-header-favorite{min-width:46px;height:36px;padding:0 9px;}
    html body.premium-design-system .v7-header-favorite span{font-size:15px;}
    html body.premium-design-system .v7-header-favorite b{font-size:12px;}
    .v7-favorite-complete{top:82px;right:12px;max-width:calc(100% - 24px);}
    body.interior-page .header-inner.has-v7-favorite{gap:10px;}
}

@media(prefers-reduced-motion:reduce){
    html body.premium-design-system [data-favorite-cast],
    .v7-favorite-complete,
    .v7-favorite-sparkle{animation:none !important;transition:none !important;}
    .v7-favorite-complete.is-visible{opacity:1;transform:none;}
}

/* =========================================================
   ChouChou Ver6.0 — Conversion & Engagement
   Existing pink, gold, glass and typography rules are reused.
   ========================================================= */
#loading.v6-premium-loading{
    position:fixed !important;
    inset:0 !important;
    z-index:99999 !important;
    display:flex !important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
    background:linear-gradient(145deg,rgba(255,249,252,.98),rgba(255,232,243,.98)) !important;
    color:#a86d32;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .3s ease,visibility .3s ease;
}
#loading.v6-premium-loading.is-active{opacity:1;visibility:visible;pointer-events:auto}
.v6-loading-mark{position:relative;width:112px;height:112px;display:grid;place-items:center;border:1px solid rgba(198,154,72,.34);border-radius:50%;background:rgba(255,255,255,.68);box-shadow:0 18px 42px rgba(155,64,105,.14)}
.v6-loading-mark span{font-family:"Cormorant Garamond",serif;font-size:20px;font-weight:700;color:#a14f76;letter-spacing:.04em}
.v6-loading-mark i{position:absolute;inset:-1px;border:2px solid transparent;border-top-color:#c69a48;border-radius:50%;animation:v6-loading-spin 1s linear infinite}
#loading.v6-premium-loading p{margin:0;font:600 12px/1 "Cormorant Garamond",serif;letter-spacing:.22em;text-transform:uppercase;color:#a97848}
@keyframes v6-loading-spin{to{transform:rotate(360deg)}}

.v6-cast-search{max-width:1180px;margin:0 auto 34px;padding:24px;border:1px solid rgba(198,154,72,.3);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(255,235,245,.72));box-shadow:0 16px 38px rgba(119,49,83,.1);backdrop-filter:blur(14px)}
.v6-search-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}
.v6-search-heading span{font-family:"Cormorant Garamond",serif;color:#b17d3d;letter-spacing:.13em}.v6-search-heading h2{margin:2px 0 0;color:#74405a;font-size:24px;letter-spacing:.06em}
.v6-favorites-link{gap:8px;text-decoration:none}.v6-favorites-link b{display:inline-grid;place-items:center;min-width:25px;height:25px;border-radius:999px;background:rgba(255,255,255,.58)}
.v6-search-form{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:14px;align-items:end}
.v6-search-form>label{display:grid;gap:6px;color:#845068;font-size:12px;font-weight:700}.v6-search-form input,.v6-search-form select{width:100%;min-height:45px;border:1px solid rgba(198,154,72,.34);border-radius:14px;background:rgba(255,255,255,.9);padding:0 13px;color:#66384f;font:inherit}
.v6-search-form fieldset{grid-column:1/5;display:flex;align-items:center;flex-wrap:wrap;gap:14px;min-height:45px;margin:0;padding:8px 14px;border:1px solid rgba(198,154,72,.26);border-radius:14px;background:rgba(255,255,255,.58)}
.v6-search-form legend{padding:0 5px;color:#9c6c42;font-size:11px}.v6-search-form fieldset label{display:inline-flex;align-items:center;gap:6px;color:#75435b;font-size:13px;font-weight:700}
.v6-search-reset{width:100%;min-width:0}.v6-search-result{margin:14px 0 0;text-align:right;color:#93647b;font-size:13px}.v6-search-result strong{color:#a76b2c;font-size:16px}

.v6-cast-actions{display:grid;grid-template-columns:46px 1fr;gap:8px;width:100%;margin-top:10px}.v6-cast-actions.is-compact{grid-template-columns:40px minmax(94px,1fr);max-width:180px;margin-top:8px}
.v6-favorite-button{display:grid;place-items:center;min-width:40px;min-height:40px;border:1px solid rgba(198,154,72,.46);border-radius:50%;background:rgba(255,255,255,.86);color:#c16d93;font-size:23px;line-height:1;cursor:pointer;box-shadow:0 7px 16px rgba(114,46,78,.11);transition:transform .25s ease,color .25s ease,box-shadow .25s ease}
.v6-favorite-button.is-favorite{color:#c23f7b;background:linear-gradient(145deg,#fff,#ffe6f1)}
.v6-line-cast-button{display:flex;flex-flow:row nowrap;align-items:center;justify-content:center;min-height:40px !important;height:40px !important;padding:0 22px !important;font-size:12px !important;text-decoration:none;white-space:nowrap}
.v6-remaining-time dd{color:#b16f2a !important;font-weight:800 !important}.v9-cast-status.is-working{background:linear-gradient(135deg,#d45490,#b93a75) !important;color:#fff !important}.v9-cast-status.is-soon{background:linear-gradient(135deg,#f1cf8b,#c69843) !important;color:#653b21 !important}.v9-cast-status.is-finished{background:rgba(116,96,106,.82) !important;color:#fff !important}
.v6-cast-view-count{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:18px 0 0;color:#92677c;font-size:13px}.v6-cast-view-count strong{color:#a87535;font:700 22px/1 "Cormorant Garamond",serif}
.v6-favorite-page-actions{display:flex;justify-content:center;margin:-8px 0 30px}.v6-favorite-empty{grid-column:1/-1}

.weekly-ranking{padding:32px !important}.v6-ranking-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin-top:30px}
.v6-ranking-card{position:relative;overflow:hidden;min-width:0;border-radius:22px}.v6-ranking-card>a{position:relative;display:block;color:inherit;text-decoration:none;overflow:hidden;border-radius:inherit}.v6-ranking-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;transition:transform .3s ease}.v6-rank-number{position:absolute;z-index:2;top:10px;left:10px;display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(255,225,165,.72);border-radius:50%;background:rgba(91,45,66,.72);backdrop-filter:blur(8px);color:#fff2cc;font:700 23px/1 "Cormorant Garamond",serif}.v6-rank-number small{font-size:7px;letter-spacing:.1em}.v6-ranking-glass{position:absolute;left:8px;right:8px;bottom:8px;display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding:11px 12px;border:1px solid rgba(219,178,96,.4);border-radius:14px;background:rgba(255,248,251,.78);backdrop-filter:blur(12px)}.v6-ranking-glass strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#713b55}.v6-ranking-glass small{flex:none;color:#a37341;font-size:9px}

.v6-reveal{opacity:0;transform:translateY(16px);transition:opacity .32s ease,transform .32s ease}.v6-reveal.v6-reveal-visible{opacity:1;transform:none}
@media(hover:hover) and (pointer:fine){.v6-favorite-button:hover,.v6-ranking-card:hover,.v6-line-cast-button:hover{transform:translateY(-4px);box-shadow:0 16px 30px rgba(111,47,77,.19)}.v6-ranking-card:hover img{transform:scale(1.03)}}

@media(max-width:900px){.v6-search-form{grid-template-columns:repeat(2,minmax(0,1fr))}.v6-search-form fieldset{grid-column:1/-1}.v6-ranking-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.v6-cast-search{margin:0 14px 24px;padding:18px;border-radius:20px}.v6-search-heading{align-items:flex-start;flex-direction:column}.v6-search-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v6-search-form>label:last-of-type{grid-column:1/-1}.v6-search-reset{grid-column:1/-1}.v6-search-result{text-align:left}.v6-cast-actions{grid-template-columns:42px 1fr}.v6-cast-actions.is-compact{max-width:none}.weekly-ranking{padding:22px 16px !important}.v6-ranking-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v6-ranking-glass{align-items:flex-start;flex-direction:column}.v6-ranking-card img{aspect-ratio:4/5}}
@media(prefers-reduced-motion:reduce){#loading.v6-premium-loading,.v6-loading-mark i,.v6-reveal,.v6-ranking-card img{animation:none !important;transition:none !important}.v6-reveal{opacity:1;transform:none}}

/* =========================================================
   ChouChou Ver6.2 — Premium Cast Search
   ========================================================= */
body.premium-design-system.interior-page .v6-cast-search{
    overflow:hidden;
}

body.premium-design-system.interior-page .v6-search-form{
    grid-template-columns:minmax(280px,1fr) minmax(190px,.34fr) auto;
    align-items:end;
}

body.premium-design-system.interior-page .v62-search-keyword,
body.premium-design-system.interior-page .v62-search-sort{
    min-width:0;
}

body.premium-design-system.interior-page .v62-quick-filters{
    grid-column:1 / 3;
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    min-height:52px;
    padding:8px 10px;
}

body.premium-design-system.interior-page .v62-quick-filters label{
    position:relative;
    display:inline-flex;
    cursor:pointer;
}

body.premium-design-system.interior-page .v62-quick-filters input{
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
    pointer-events:none;
}

body.premium-design-system.interior-page .v62-quick-filters label span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:0 16px;
    border:1px solid rgba(var(--premium-gold-rgb),.34);
    border-radius:var(--premium-radius-pill);
    background:rgba(255,255,255,.7);
    color:var(--premium-ink);
    box-shadow:0 5px 14px rgba(111,59,86,.06);
    font-size:12px;
    font-weight:700;
    letter-spacing:.04em;
    transition:var(--premium-transition);
}

body.premium-design-system.interior-page .v62-quick-filters input:checked + span{
    border-color:rgba(var(--premium-gold-rgb),.7);
    background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(255,225,239,.9));
    color:#8f3f67;
    box-shadow:0 8px 18px rgba(111,59,86,.12),0 0 0 1px rgba(var(--premium-gold-rgb),.12) inset;
}

body.premium-design-system.interior-page .v62-quick-filters input:focus-visible + span{
    outline:2px solid rgba(var(--premium-gold-rgb),.7);
    outline-offset:2px;
}

body.premium-design-system.interior-page .v6-search-reset{
    min-width:150px;
}

body.premium-design-system.interior-page .v6-search-result{
    min-height:24px;
    margin-top:16px;
}

body.premium-design-system.interior-page .v62-cast-search-empty{
    margin:28px 0 8px;
    padding:28px 20px;
    border:1px solid rgba(var(--premium-gold-rgb),.24);
    border-radius:var(--premium-radius-image);
    background:rgba(255,255,255,.58);
    text-align:center;
}

body.premium-design-system.interior-page .interior-cast-grid > .public-cast-card[hidden]{
    display:none !important;
}

@media(hover:hover) and (pointer:fine){
    body.premium-design-system.interior-page .v62-quick-filters label:hover span{
        border-color:rgba(var(--premium-gold-rgb),.62);
        box-shadow:0 9px 20px rgba(111,59,86,.12);
        transform:translateY(-2px);
    }
}

@media(max-width:900px){
    body.premium-design-system.interior-page .v6-search-form{
        grid-template-columns:minmax(0,1fr) minmax(180px,.42fr);
    }

    body.premium-design-system.interior-page .v62-quick-filters{
        grid-column:1 / -1;
    }

    body.premium-design-system.interior-page .v6-search-reset{
        grid-column:2;
        justify-self:stretch;
    }
}

@media(max-width:600px){
    body.premium-design-system.interior-page .v6-search-form{
        grid-template-columns:1fr;
    }

    body.premium-design-system.interior-page .v62-search-keyword,
    body.premium-design-system.interior-page .v62-search-sort,
    body.premium-design-system.interior-page .v62-quick-filters,
    body.premium-design-system.interior-page .v6-search-reset{
        grid-column:1;
    }

    body.premium-design-system.interior-page .v62-quick-filters{
        gap:7px;
    }

    body.premium-design-system.interior-page .v62-quick-filters label span{
        min-height:34px;
        padding:0 13px;
        font-size:11px;
    }

    body.premium-design-system.interior-page .v6-search-result{
        text-align:center;
    }
}

@media(prefers-reduced-motion:reduce){
    body.premium-design-system.interior-page .v62-quick-filters label span{
        transition:none;
    }
}

/* =========================================================
   Chou Chou Ver11.3 — Premium Design Tokens
   The shared component layer consumes only these values.
   ========================================================= */
:root{
    --primary-color:#d95f9d;
    --accent-color:#fff0f7;
    --gold:#c89a43;
    --radius:24px;
    --shadow:0 12px 28px rgba(111,59,86,.14),0 1px 0 rgba(255,255,255,.94) inset;
    --premium-gold:#c89a43;
    --premium-gold-rgb:200,154,67;
    --premium-ink:#6f3b56;
    --premium-muted:#946379;
    --premium-white:#fffdfd;
    --premium-pink:#fff0f7;
    --premium-radius-card:24px;
    --premium-radius-image:18px;
    --premium-radius-pill:999px;
    --premium-space-section:120px;
    --premium-space-title:48px;
    --premium-space-card:24px;
    --premium-space-action:20px;
    --premium-button-height:48px;
}

/* =========================================================
   Chou Chou Ver11.1 — Recruit brand section
   ========================================================= */
body.premium-design-system .princess-home .princess-card-grid-bottom > #recruit.premium-card-recruit{
    grid-column:1 / -1 !important;
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    padding:24px !important;
    border:1px solid rgba(var(--premium-gold-rgb),.58) !important;
    border-radius:var(--premium-radius-card) !important;
    background:var(--premium-glass) !important;
    box-shadow:var(--premium-shadow) !important;
    -webkit-backdrop-filter:blur(12px) saturate(110%) !important;
    backdrop-filter:blur(12px) saturate(110%) !important;
    overflow:hidden !important;
}

body.premium-design-system #recruit.premium-card-recruit::before,
body.premium-design-system #recruit.premium-card-recruit::after{
    display:none !important;
    content:none !important;
}

body.premium-design-system #recruit .recruit-v11-layout{
    display:grid !important;
    grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr) !important;
    gap:24px !important;
    align-items:stretch !important;
    width:100% !important;
    min-width:0 !important;
}

body.premium-design-system #recruit .recruit-v11-media{
    display:block !important;
    min-width:0 !important;
    min-height:520px !important;
    margin:0 !important;
    overflow:hidden !important;
    background:#fff0f7 !important;
}

body.premium-design-system #recruit .recruit-v11-media img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-height:520px !important;
    object-fit:cover !important;
    object-position:18% center !important;
    transform:scale(1) !important;
    transition:transform .25s ease !important;
}

body.premium-design-system #recruit .recruit-v11-content{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    min-width:0 !important;
    padding:clamp(28px,4vw,52px) !important;
}

body.premium-design-system .princess-home #recruit.premium-card-recruit .recruit-v11-content > .section-title{
    display:flex !important;
    min-height:0 !important;
    margin:0 0 32px !important;
}

body.premium-design-system .princess-home #recruit.premium-card-recruit .recruit-v11-content > .section-title::before,
body.premium-design-system .princess-home #recruit.premium-card-recruit .recruit-v11-content > .section-title::after{
    display:none !important;
    content:none !important;
}

body.premium-design-system #recruit .recruit-v11-message{
    max-width:560px !important;
    margin:0 auto 30px !important;
    color:var(--premium-ink) !important;
    font-family:"Noto Serif JP",serif !important;
    font-size:clamp(17px,1.55vw,22px) !important;
    font-weight:500 !important;
    letter-spacing:.045em !important;
    line-height:1.9 !important;
    text-align:center !important;
}

body.premium-design-system #recruit .recruit-v11-points{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px 16px !important;
    width:100% !important;
    max-width:590px !important;
    margin:0 auto !important;
    padding:0 !important;
    list-style:none !important;
}

body.premium-design-system #recruit .recruit-v11-points li{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    min-width:0 !important;
    margin:0 !important;
    padding:12px 14px !important;
    border:1px solid rgba(var(--premium-gold-rgb),.38) !important;
    border-radius:var(--premium-radius-image) !important;
    background:rgba(255,255,255,.38) !important;
    color:var(--premium-ink) !important;
    font-size:14px !important;
    font-weight:700 !important;
    letter-spacing:.035em !important;
    line-height:1.45 !important;
}

body.premium-design-system #recruit .recruit-v11-point-icon{
    display:inline-flex !important;
    flex:0 0 24px !important;
    align-items:center !important;
    justify-content:center !important;
    width:24px !important;
    height:24px !important;
    border:1px solid rgba(var(--premium-gold-rgb),.68) !important;
    border-radius:var(--premium-radius-pill) !important;
    color:var(--premium-gold) !important;
    font-size:12px !important;
    line-height:1 !important;
}

body.premium-design-system #recruit .recruit-v11-actions{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    gap:12px !important;
    margin-top:20px !important;
}

body.premium-design-system #recruit.premium-card-recruit.reveal-card:not(.is-visible){
    opacity:0 !important;
    transform:translateY(18px) !important;
}

body.premium-design-system #recruit.premium-card-recruit.reveal-card.is-visible{
    opacity:1 !important;
    transform:translateY(0) !important;
    transition:opacity .25s ease,transform .25s ease,box-shadow .25s ease !important;
}

@media(hover:hover) and (pointer:fine){
    body.premium-design-system #recruit.premium-card-recruit.card-premium:hover{
        transform:translateY(-6px) !important;
    }

    body.premium-design-system #recruit.premium-card-recruit:hover .recruit-v11-media img{
        transform:scale(1.03) !important;
    }
}

@media(max-width:900px){
    body.premium-design-system #recruit .recruit-v11-layout{
        grid-template-columns:minmax(0,1fr) !important;
    }

    body.premium-design-system #recruit .recruit-v11-media,
    body.premium-design-system #recruit .recruit-v11-media img{
        min-height:0 !important;
        aspect-ratio:16 / 10 !important;
    }

    body.premium-design-system #recruit .recruit-v11-media img{
        object-position:center 38% !important;
    }
}

@media(max-width:600px){
    body.premium-design-system .princess-home .princess-card-grid-bottom > #recruit.premium-card-recruit{
        display:block !important;
        padding:16px !important;
    }

    body.premium-design-system #recruit .recruit-v11-layout{
        gap:16px !important;
    }

    body.premium-design-system #recruit .recruit-v11-media,
    body.premium-design-system #recruit .recruit-v11-media img{
        aspect-ratio:4 / 3 !important;
    }

    body.premium-design-system #recruit .recruit-v11-content{
        padding:26px 18px !important;
    }

    body.premium-design-system #recruit .section-title{
        margin-bottom:24px !important;
    }

    body.premium-design-system #recruit .recruit-v11-message{
        margin-bottom:24px !important;
        font-size:16px !important;
        line-height:1.8 !important;
    }

    body.premium-design-system #recruit .recruit-v11-points{
        grid-template-columns:minmax(0,1fr) !important;
        gap:10px !important;
    }

    body.premium-design-system #recruit .recruit-v11-actions{
        flex-direction:column !important;
        align-items:stretch !important;
    }

    body.premium-design-system #recruit .recruit-v11-actions .button-premium{
        width:100% !important;
    }
}

@media(prefers-reduced-motion:reduce){
    body.premium-design-system #recruit.premium-card-recruit.reveal-card,
    body.premium-design-system #recruit .recruit-v11-media img{
        opacity:1 !important;
        transform:none !important;
        transition:none !important;
    }
}

/* =========================================================
   Chou Chou Ver11.5 — Premium Header Polish
   Layout and menu structure remain unchanged.
   ========================================================= */
html body.premium-design-system > header.header{
    position:fixed !important;
    inset:0 0 auto !important;
    z-index:1000 !important;
    width:100% !important;
    background:rgba(255,253,254,.9) !important;
    border-bottom:1px solid rgba(var(--premium-gold-rgb),.22) !important;
    box-shadow:0 8px 24px rgba(111,59,86,.07) !important;
    -webkit-backdrop-filter:blur(18px) saturate(112%) !important;
    backdrop-filter:blur(18px) saturate(112%) !important;
    transition:background var(--premium-transition),border-color var(--premium-transition),box-shadow var(--premium-transition) !important;
}

body.premium-design-system > .header .header-inner{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:min(100%,var(--v11-page-max,1500px)) !important;
    max-width:var(--v11-page-max,1500px) !important;
    min-height:82px !important;
    margin-inline:auto !important;
    padding:15px clamp(24px,3vw,48px) !important;
    gap:clamp(22px,2.4vw,38px) !important;
    transition:min-height var(--premium-transition),padding var(--premium-transition),gap var(--premium-transition) !important;
}

body.premium-design-system > .header .logo{
    flex:0 0 auto !important;
    min-width:138px !important;
    margin:0 !important;
    padding:6px 0 !important;
    color:#e86ea8 !important;
    font-size:34px !important;
    font-weight:700 !important;
    letter-spacing:.025em !important;
    line-height:.92 !important;
    text-align:center !important;
    text-decoration:none !important;
    text-shadow:0 3px 10px rgba(232,110,168,.14) !important;
    transform:none !important;
    transition:color var(--premium-transition),font-size var(--premium-transition),padding var(--premium-transition) !important;
}

body.premium-design-system > .header .logo::after{
    margin-top:6px !important;
    color:#a95878 !important;
    font-size:10px !important;
    font-weight:500 !important;
    letter-spacing:.16em !important;
    line-height:1 !important;
    text-shadow:none !important;
}

body.premium-design-system > .header .nav{
    display:flex !important;
    flex:1 1 auto !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:0 !important;
    gap:clamp(14px,1.65vw,26px) !important;
    margin:0 !important;
    padding:0 !important;
}

body.premium-design-system > .header .nav a{
    display:flex !important;
    flex:0 0 auto !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;
    margin:0 !important;
    padding:5px 0 !important;
    color:#77475d !important;
    font-family:"Noto Serif JP",serif !important;
    font-size:12px !important;
    font-weight:500 !important;
    letter-spacing:.075em !important;
    line-height:1.35 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    transform:none !important;
    transition:color var(--premium-transition) !important;
}

body.premium-design-system > .header .nav a small{
    color:#b66a8c !important;
    font-family:"Cormorant Garamond",serif !important;
    font-size:9px !important;
    font-weight:600 !important;
    letter-spacing:.15em !important;
    line-height:1 !important;
    transition:color var(--premium-transition) !important;
}

body.premium-design-system > .header .nav a::after{
    display:none !important;
    content:none !important;
}

@media(hover:hover) and (pointer:fine){
    body.premium-design-system > .header .logo:hover,
    body.premium-design-system > .header .nav a:hover,
    body.premium-design-system > .header .nav a:focus-visible,
    body.premium-design-system > .header .nav a:hover small,
    body.premium-design-system > .header .nav a:focus-visible small{
        color:var(--premium-gold) !important;
        transform:none !important;
    }
}

body.premium-design-system > .header .language-switch{
    flex:0 0 auto !important;
    gap:7px !important;
    margin:0 !important;
}

body.premium-design-system > .header .language-switch button{
    min-width:40px !important;
    height:30px !important;
    margin:0 !important;
    padding:0 9px !important;
    border-radius:999px !important;
    box-shadow:none !important;
    font-size:10px !important;
    letter-spacing:.04em !important;
    transform:none !important;
    transition:color var(--premium-transition),background var(--premium-transition),border-color var(--premium-transition) !important;
}

body.premium-design-system > .header.is-compact{
    background:rgba(255,253,254,.96) !important;
    border-bottom-color:rgba(var(--premium-gold-rgb),.34) !important;
    box-shadow:0 10px 28px rgba(111,59,86,.11) !important;
}

body.premium-design-system > .header.is-compact .header-inner{
    min-height:66px !important;
    padding-top:9px !important;
    padding-bottom:9px !important;
}

body.premium-design-system > .header.is-compact .logo{
    padding-block:3px !important;
    font-size:31px !important;
}

body.premium-design-system > .header.is-compact .logo::after{
    margin-top:4px !important;
    font-size:9px !important;
}

body.premium-design-system > .header.is-compact .nav a{
    gap:3px !important;
    padding-block:3px !important;
}

html{
    scroll-padding-top:110px;
}

@media(max-width:1180px){
    html body.premium-design-system > .header .header-inner{
        display:grid !important;
        grid-template-columns:minmax(0,1fr) auto !important;
        grid-template-rows:auto auto !important;
        row-gap:9px !important;
        min-height:0 !important;
        padding:11px 20px 9px !important;
    }

    html body.premium-design-system > .header .logo{
        justify-self:start !important;
        min-width:0 !important;
        padding-block:3px !important;
        font-size:31px !important;
        text-align:left !important;
    }

    html body.premium-design-system > .header .logo::after{
        margin-top:4px !important;
        text-align:left !important;
    }

    html body.premium-design-system > .header .language-switch{
        grid-column:2 !important;
        grid-row:1 !important;
        justify-self:end !important;
    }

    html body.premium-design-system > .header .nav{
        grid-column:1 / -1 !important;
        grid-row:2 !important;
        display:flex !important;
        justify-content:flex-start !important;
        width:100% !important;
        max-width:100% !important;
        gap:22px !important;
        padding:7px 2px 5px !important;
        overflow-x:auto !important;
        overflow-y:hidden !important;
        -webkit-overflow-scrolling:touch !important;
        scrollbar-width:none !important;
        scroll-snap-type:x proximity !important;
    }

    html body.premium-design-system > .header .nav::-webkit-scrollbar{
        display:none !important;
    }

    html body.premium-design-system > .header .nav a{
        scroll-snap-align:start !important;
    }

    html body.premium-design-system > .header.is-compact .header-inner{
        padding-top:7px !important;
        padding-bottom:6px !important;
        row-gap:5px !important;
    }

    html body.premium-design-system > .header.is-compact .nav{
        padding-top:4px !important;
        padding-bottom:2px !important;
    }
}

@media(max-width:768px){
    html body.premium-design-system > .header .header-inner{
        padding-right:14px !important;
        padding-left:14px !important;
    }

    html body.premium-design-system > .header .logo{
        font-size:29px !important;
    }

    html body.premium-design-system > .header .nav{
        gap:18px !important;
    }

    html body.premium-design-system > .header .nav a{
        gap:3px !important;
        font-size:11px !important;
        letter-spacing:.06em !important;
    }

    html body.premium-design-system > .header .nav a small{
        font-size:8px !important;
        letter-spacing:.13em !important;
    }

    html body.premium-design-system > .header .language-switch button{
        min-width:36px !important;
        height:28px !important;
        padding-inline:7px !important;
        font-size:9px !important;
    }

    html body.premium-design-system > .header.is-compact .logo{
        font-size:27px !important;
    }
}

/* ChouChou Ver6.1 Gallery Lightbox Navigation */
.gallery-lightbox-nav{
    position:absolute;
    top:50%;
    z-index:3;
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    padding:0;
    border:1px solid var(--premium-gold, #c6a15b);
    border-radius:999px;
    background:rgba(255,250,253,.84);
    color:var(--premium-gold, #c6a15b);
    box-shadow:0 10px 28px rgba(111,59,86,.16);
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
    font-family:"Cormorant Garamond",serif;
    font-size:34px;
    line-height:1;
    cursor:pointer;
    transform:translateY(-50%);
    transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease;
}

.gallery-lightbox-prev{ left:18px; }
.gallery-lightbox-next{ right:18px; }

@media(hover:hover) and (pointer:fine){
    .gallery-lightbox-nav:hover{
        background:rgba(255,255,255,.95);
        box-shadow:0 14px 32px rgba(111,59,86,.22);
        transform:translateY(calc(-50% - 4px));
    }
}

@media(max-width:768px){
    .gallery-lightbox-nav{
        width:42px;
        height:42px;
        font-size:30px;
    }

    .gallery-lightbox-prev{ left:8px; }
    .gallery-lightbox-next{ right:8px; }
}

@media(prefers-reduced-motion:reduce){
    .gallery-lightbox-nav{ transition:none; }
}

@media(prefers-reduced-motion:reduce){
    body.premium-design-system > .header,
    body.premium-design-system > .header *{
        transition:none !important;
    }
}
body{
    font-family:"Noto Serif JP",serif;
    background:#fff6fa;
    color:#6d4a58;
    overflow-x:hidden;
}

/* Header */

.header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:999;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(10px);
    border-bottom:1px solid #f5d7e4;
}

.header-inner{
    max-width:1200px;
    margin:auto;
    padding:20px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.logo{
    text-decoration:none;
    color:#e88fb3;
    font-size:42px;
    font-family:"Cormorant Garamond",serif;
    font-weight:700;
}

.nav{
    display:flex;
    gap:30px;
}

.nav a{
    text-decoration:none;
    color:#6d4a58;
    font-weight:600;
}

.reserve-btn{
    background:#f3a8c7;
    color:white;
    text-decoration:none;
    padding:12px 24px;
    border-radius:999px;
}

/* Hero */

.hero{
     min-height:auto;
    background:#fff6fa;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    padding:80px 20px 40px;
}

.hero-content{
    max-width:900px;
}

.hero-catch{
    font-size:28px;
    color:#d98aac;
    margin-bottom:20px;
}

.hero-title{
    font-size:120px;
    color:#ea8fb3;
    font-family:"Cormorant Garamond",serif;
    margin-bottom:20px;
}

.hero-sub{
    font-size:24px;
    margin-bottom:40px;
}

.hero-buttons{
    display:flex;
    justify-content:center;
    gap:20px;
}

.hero-btn{
    background:#f3a8c7;
    color:#fff;
    text-decoration:none;
    padding:14px 32px;
    border-radius:999px;
    ont-weight:700;
    letter-spacing:1px;
    box-shadow:0 10px 30px rgba(232,143,179,.3);
    transition:.3s;
}

.hero-btn.line{
    background:#ff7fb8;
}

/* Section */

section{
    padding:60px 20px;
}

.section-title{
    text-align:center;
    margin-bottom:30px;
}

.section-title span{
    color:#d98aac;
}

.section-title h2{
    font-size:42px;
    color:#ea8fb3;
}

/* Cast */

   .cast-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
}

.cast-card{
    background:white;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    text-align:center;
    padding-bottom:20px;
}

.cast-image{
    height:320px;
    background:#ffe3ef;
}

.cast-card h3{
    margin-top:20px;
}

/* News */

.news-list{
    max-width:900px;
    margin:auto;
}

.news-item{
    background:white;
    margin-bottom:15px;
    padding:20px;
    border-radius:15px;
    box-shadow:0 5px 20px rgba(0,0,0,.05);
}

.news-page{
    padding-top:40px;
}

.public-news-section{
    max-width:1200px;
    margin:0 auto;
    padding:120px 20px 60px;
}

.public-news-list{
    max-width:960px;
    margin:0 auto;
    display:grid;
    gap:18px;
}

.public-news-list-full{
    max-width:1040px;
}

.public-news-card{
    display:block;
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.public-news-card.has-image{
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    gap:0;
}

.public-news-image img{
    width:100%;
    height:100%;
    min-height:180px;
    display:block;
    object-fit:cover;
}

.public-news-body{
    padding:22px;
}

.public-news-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:10px;
}

.public-news-category,
.public-news-pinned{
    display:inline-flex;
    align-items:center;
    min-height:26px;
    border-radius:999px;
    padding:5px 11px;
    font-size:12px;
    font-weight:700;
}

.public-news-category{
    background:#ffe3ef;
    color:#d36b9a;
}

.public-news-pinned{
    background:#d4af37;
    color:#111;
}

.public-news-card h3{
    color:#6d4a58;
    font-size:22px;
    line-height:1.35;
    margin-bottom:8px;
}

.public-news-card p{
    color:#8c6876;
    line-height:1.8;
}

.public-news-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:14px;
    padding:9px 18px;
    border-radius:999px;
    background:#f3a8c7;
    color:#fff;
    text-decoration:none;
    font-weight:700;
}

.public-news-empty{
    min-height:180px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    border:2px dashed #f3b5cf;
    border-radius:20px;
    color:#d78ab0;
    text-align:center;
}

.news-more{
    margin-top:28px;
    text-align:center;
}

/* Loading */

#loading{
    display:none;
}

/* Mobile */

@media(max-width:768px){

.hero-title{
    font-size:72px;
}

.nav{
    display:none;
}

.hero-buttons{
    flex-direction:column;
}

}
.hero-logo{
    width:100%;
    max-width:900px;
    display:block;
    margin:20px auto;
}

.hero{
    background:#fff6fa;
}
.concept,
.gallery,
.access{
    max-width:1200px;
    margin:120px auto;
    padding:0 20px;
}

.concept-content{
    max-width:800px;
    margin:auto;
    text-align:center;
    line-height:2.2;
    font-size:18px;
}

.gallery-placeholder{
    height:400px;
    background:#fff;
    border:2px dashed #f3b5cf;
    border-radius:20px;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#d78ab0;
    font-size:24px;
}

.public-gallery-section{
    padding-top:120px;
}

.gallery-page{
    padding-top:40px;
}

.public-gallery-grid{
    max-width:1200px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:20px;
}

.public-gallery-item{
    position:relative;
    display:block;
    width:100%;
    padding:0;
    border:none;
    border-radius:20px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    cursor:pointer;
    text-align:left;
}

.public-gallery-item img{
    width:100%;
    aspect-ratio:4/3;
    display:block;
    object-fit:cover;
    transition:.35s;
}

.public-gallery-item:hover img{
    transform:scale(1.04);
}

.public-gallery-item span{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    padding:28px 16px 14px;
    color:#fff;
    font-weight:700;
    background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.62));
}

.gallery-empty{
    grid-column:1/-1;
    min-height:220px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    border:2px dashed #f3b5cf;
    border-radius:20px;
    color:#d78ab0;
    font-size:20px;
    text-align:center;
}

.gallery-more{
    margin-top:28px;
    text-align:center;
}

.gallery-lightbox{
    position:fixed;
    inset:0;
    z-index:3000;
    display:none;
    align-items:center;
    justify-content:center;
    padding:24px;
}

.gallery-lightbox.is-open{
    display:flex;
}

.gallery-lightbox-backdrop{
    position:absolute;
    inset:0;
    border:none;
    background:rgba(18,15,16,.86);
    cursor:pointer;
}

.gallery-lightbox-content{
    position:relative;
    z-index:1;
    width:min(920px,100%);
    text-align:center;
}

.gallery-lightbox-content img{
    max-width:100%;
    max-height:78vh;
    object-fit:contain;
    border-radius:18px;
    border:1px solid rgba(212,175,55,.36);
    box-shadow:0 24px 70px rgba(0,0,0,.38);
    background:#120f10;
}

.gallery-lightbox-content p{
    min-height:24px;
    margin-top:14px;
    color:#f6ead2;
    font-weight:700;
}

.gallery-lightbox-close{
    position:absolute;
    top:18px;
    right:18px;
    z-index:2;
    width:44px;
    height:44px;
    border:none;
    border-radius:50%;
    background:#d4af37;
    color:#111;
    font-size:28px;
    line-height:1;
    cursor:pointer;
}

.is-gallery-lightbox-open{
    overflow:hidden;
}

.access-box{
    background:#fff;
    padding:40px;
    border-radius:20px;
    text-align:center;
}
/* スマホ最適化 */

@media (max-width:768px){

.header-inner{
    padding:15px;
}

.logo{
    font-size:28px;
}

.nav{
    display:none;
}

.hero{
    min-height:auto;
    padding:40px 15px;
}

.hero-logo{
    width:90%;
    max-width:500px;
}

.hero-catch{
    font-size:28px;
}

.hero-sub{
    font-size:20px;
    margin:20px 0;
}

.hero-buttons{
    flex-direction:column;
    gap:15px;
}

.hero-btn{
    width:100%;
    max-width:300px;
}

.cast-grid{
    grid-template-columns:1fr;
}

.section-title h2{
    font-size:42px;
}

.gallery-placeholder{
    height:250px;
}

}
.hero-logo{
    width:700px;
    max-width:95%;
    display:block;
    margin:0 auto;
}
.hero-catch{
    font-size:42px;
    color:#d98aac;
    margin-bottom:30px;
}

.hero-sub{
    font-size:36px;
    font-weight:500;
    margin:40px 0;
}

.cast-card img{
  width:100%;
  height:320px;
  object-fit:cover;
  border-radius:20px;
}

.cast-card{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
}

.cast-card h3{
  margin:15px 0 5px;
  text-align:center;
}

.cast-card p{
  text-align:center;
  margin-bottom:15px;
}

.cast-info{
  padding:20px;
}

.cast-info h3{
  font-size:24px;
  margin-bottom:5px;
}

.cast-info p{
  color:#888;
}

.no-cast{
  text-align:center;
  padding:40px;
  font-size:18px;
  color:#999;
}

.cast-info{
  text-align:center;
  padding:20px;
}

.cast-age{
  color:#666;
  margin-top:5px;
}

.cast-time{
  color:#d88fb1;
  font-size:18px;
  font-weight:bold;
  margin:15px 0;
}

.nominate-btn{
  display:inline-block;
  padding:10px 24px;
  background:#f6bfd4;
  color:#fff;
  text-decoration:none;
  border-radius:999px;
  font-weight:bold;
  transition:.3s;
}

.nominate-btn:hover{
  opacity:.8;
}

#castArea{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:10px;
}

#castArea select{
  width:100%;
  height:50px;
  border:1px solid #ddd;
  border-radius:10px;
  padding:0 15px;
  font-size:16px;
}

textarea{
  width:100%;
  min-height:120px;
  padding:15px;
  border:1px solid #ddd;
  border-radius:10px;
  font-size:16px;
}

.reserve-submit{
  display:block;
  margin:30px auto 0;
}

.cast-list{
padding:100px 20px;
}

.all-cast-grid{
display:grid;
grid-template-columns:
repeat(auto-fit,minmax(250px,1fr));
gap:30px;
max-width:1200px;
margin:auto;
}

.all-cast-grid{
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr)) !important;
    gap:30px !important;
    max-width:1200px !important;
    margin:0 auto !important;
}

.cast-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,350px));
    justify-content:center;
    gap:30px;
    max-width:1200px;
    margin:0 auto;
}

.all-cast-grid .cast-card{
    display:block !important;
    background:#fff !important;
    border-radius:20px !important;
    overflow:hidden !important;
}

.all-cast-grid{
    min-height:500px !important;
}

.all-cast-grid .cast-card{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
}

.cast-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,350px));
    justify-content:center;
    gap:30px;
}

.cast-card-no-image{
  width:100%;
  height:320px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#ffe3ef;
  color:#d78ab0;
  border-radius:20px;
  font-weight:700;
  letter-spacing:0;
}

/* Cast Detail */

.cast-detail-page{
    background:#120f10;
    color:#f6ead2;
}

.cast-detail{
    width:min(1120px,100%);
    margin:0 auto;
    padding:96px 20px 56px;
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:36px;
    min-height:100vh;
    align-items:start;
}

.cast-gallery{
    display:grid;
    gap:14px;
}

.cast-main-image{
    width:100%;
    aspect-ratio:4/5;
    object-fit:cover;
    border-radius:18px;
    border:1px solid rgba(212,175,55,.38);
    background:#221c1d;
    box-shadow:0 20px 50px rgba(0,0,0,.35);
}

.cast-main-image.is-empty{
    display:flex;
    background:#221c1d;
}

.cast-main-no-image{
    width:100%;
    aspect-ratio:4/5;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    border:1px solid rgba(212,175,55,.38);
    background:#221c1d;
    color:#d4af37;
    font-weight:700;
    box-shadow:0 20px 50px rgba(0,0,0,.35);
}

.cast-thumbnails{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:10px;
}

.cast-thumb{
    padding:0;
    border:1px solid rgba(212,175,55,.28);
    border-radius:10px;
    background:#221c1d;
    overflow:hidden;
    cursor:pointer;
    opacity:.7;
}

.cast-thumb.is-active{
    border-color:#d4af37;
    opacity:1;
}

.cast-thumb img{
    width:100%;
    aspect-ratio:1;
    display:block;
    object-fit:cover;
}

.profile-box{
    background:linear-gradient(180deg,#1d1819,#121011);
    border:1px solid rgba(212,175,55,.35);
    border-radius:18px;
    padding:30px;
    box-shadow:0 20px 50px rgba(0,0,0,.28);
}

.profile-label{
    color:#d4af37;
    font-size:13px;
    letter-spacing:0;
    margin-bottom:8px;
}

.profile-box h1{
    color:#fff8ea;
    font-size:40px;
    line-height:1.2;
    margin-bottom:22px;
}

.profile-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-bottom:24px;
}

.profile-grid p{
    background:rgba(255,255,255,.05);
    border:1px solid rgba(212,175,55,.14);
    border-radius:10px;
    padding:12px;
    color:#eadfc9;
}

.profile-message{
    color:#f6ead2;
    line-height:1.9;
    margin-bottom:20px;
    white-space:pre-wrap;
}

.cast-tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:20px;
}

.cast-tags span{
    border:1px solid rgba(212,175,55,.4);
    border-radius:999px;
    padding:7px 12px;
    color:#f4df9e;
    font-size:13px;
}

.cast-sns{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:20px;
}

.cast-sns a{
    color:#111;
    background:#d4af37;
    text-decoration:none;
    border-radius:999px;
    padding:9px 16px;
    font-weight:700;
}

.cast-detail .reserve-btn{
    display:inline-block;
    background:#d4af37;
    color:#111;
    font-weight:700;
}

@media(max-width:768px){
    body:not(.cast-detail-page){
        padding-bottom:96px;
    }

    .header-inner{
        padding:10px 14px;
        gap:10px;
        flex-wrap:wrap;
    }

    .logo{
        flex:1 1 auto;
        min-width:0;
        font-size:28px;
        line-height:1;
    }

    .header .reserve-btn{
        flex:0 0 auto;
        padding:9px 14px;
        font-size:13px;
        line-height:1;
        white-space:nowrap;
    }

    .hero-buttons{
        gap:12px;
    }

    .hero-btn.line{
        position:fixed;
        left:16px;
        right:16px;
        bottom:16px;
        z-index:1200;
        width:auto;
        max-width:none;
        height:56px;
        display:flex;
        align-items:center;
        justify-content:center;
        padding:0 20px;
        border-radius:999px;
        background:#ff7fb8;
        box-shadow:0 12px 28px rgba(232,143,179,.38);
        font-size:16px;
        font-weight:700;
        letter-spacing:0;
        line-height:1;
        text-align:center;
        white-space:nowrap;
        transform:none !important;
        writing-mode:horizontal-tb !important;
        text-orientation:mixed !important;
        text-indent:0 !important;
        font-style:normal;
        font-family:"Noto Serif JP",serif;
    }

    .cast-grid,
    .all-cast-grid{
        grid-template-columns:minmax(0,1fr) !important;
        gap:18px !important;
    }

    .today-cast .cast-card,
    .all-cast-grid .cast-card{
        display:grid !important;
        grid-template-columns:112px minmax(0,1fr);
        min-height:0;
        border-radius:16px;
        padding-bottom:0;
        text-align:left;
        align-items:stretch;
    }

    .today-cast .cast-card img,
    .all-cast-grid .cast-card img,
    .today-cast .cast-card-no-image,
    .all-cast-grid .cast-card-no-image{
        width:112px;
        height:148px;
        border-radius:16px 0 0 16px;
    }

    .today-cast .cast-info,
    .all-cast-grid .cast-info{
        min-width:0;
        padding:12px 14px;
        text-align:left;
        display:flex;
        flex-direction:column;
        justify-content:center;
    }

    .today-cast .cast-info h3,
    .all-cast-grid .cast-info h3{
        font-size:20px;
        line-height:1.2;
        margin-bottom:4px;
        text-align:left;
    }

    .today-cast .cast-card p,
    .all-cast-grid .cast-card p,
    .cast-age,
    .cast-height,
    .cast-time{
        text-align:left;
        margin:0 0 4px;
        color:#8c6876;
        font-size:13px;
        line-height:1.35;
    }

    .cast-time{
        color:#d88fb1;
        font-size:14px;
        font-weight:700;
        margin:2px 0 8px;
    }

    .today-cast .cast-card .reserve-btn,
    .all-cast-grid .cast-card .reserve-btn{
        align-self:flex-start;
        padding:8px 14px;
        font-size:13px;
        line-height:1;
    }

    .cast-detail{
        grid-template-columns:1fr;
        padding:72px 16px 40px;
        gap:22px;
    }

    .profile-box{
        padding:22px;
    }

    .profile-box h1{
        font-size:32px;
    }

    .profile-grid{
        grid-template-columns:1fr;
    }

    .public-news-section{
        padding:96px 16px 40px;
    }

    .public-news-card.has-image{
        grid-template-columns:1fr;
    }

    .public-news-image img{
        min-height:0;
        height:190px;
    }

    .public-news-body{
        padding:18px;
    }

    .public-news-card h3{
        font-size:20px;
    }

    .public-news-card p{
        font-size:14px;
        line-height:1.75;
    }
}

/* Ver7.1 final public badge alignment */
body:not(.cast-detail-page) .public-cast-photo{
    position:relative !important;
}

body:not(.cast-detail-page) .public-cast-badges,
body:not(.cast-detail-page) .public-cast-badges.cast-badge-layer,
body:not(.cast-detail-page) .today-cast .public-cast-badges,
body:not(.cast-detail-page) .all-cast-grid .public-cast-badges,
body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges{
    position:absolute !important;
    top:4px !important;
    left:4px !important;
    right:auto !important;
    bottom:auto !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:1px !important;
    width:auto !important;
    height:auto !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    transform:none !important;
}

body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge,
body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-new,
body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-recommended{
    position:relative !important;
    left:0 !important;
    top:0 !important;
    display:block !important;
    width:44px !important;
    height:auto !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    transform:none !important;
}

body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-img{
    display:block !important;
    width:42px !important;
    height:auto !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    transform:none !important;
}

body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-img-new{
    transform:translateX(-4px) !important;
}

/* =========================================================
   ChouChou Ver7 Premium Finish
   ========================================================= */
body:not(.cast-detail-page){
    overflow-x:hidden !important;
    background:
        radial-gradient(circle at 18% 8%,rgba(255,255,255,.86),transparent 22%),
        radial-gradient(circle at 82% 18%,rgba(255,210,232,.72),transparent 25%),
        linear-gradient(180deg,#fff7fb 0%,#ffeaf4 48%,#fff8fc 100%) !important;
}

body:not(.cast-detail-page) .princess-home{
    width:min(100%,1500px) !important;
    margin:0 auto !important;
    padding:58px clamp(16px,3vw,42px) 80px !important;
}

body:not(.cast-detail-page) .princess-card-grid,
body:not(.cast-detail-page) .princess-card-grid-top,
body:not(.cast-detail-page) .princess-card-grid-middle,
body:not(.cast-detail-page) .princess-card-grid-bottom{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    align-items:stretch !important;
    gap:26px !important;
    width:100% !important;
    margin:0 0 26px !important;
}

body:not(.cast-detail-page) .princess-card-grid-top > .princess-card{
    min-height:610px !important;
    height:610px !important;
}

body:not(.cast-detail-page) .princess-card-grid-middle > .princess-card{
    min-height:690px !important;
    height:690px !important;
}

body:not(.cast-detail-page) .princess-card-grid-bottom > .princess-card{
    min-height:560px !important;
    height:560px !important;
}

body:not(.cast-detail-page) .princess-card{
    position:relative !important;
    isolation:isolate !important;
    display:flex !important;
    flex-direction:column !important;
    min-width:0 !important;
    padding:30px 26px !important;
    border:1px solid rgba(229,143,185,.5) !important;
    border-radius:30px !important;
    background:
        linear-gradient(160deg,rgba(255,255,255,.83),rgba(255,238,247,.72)),
        radial-gradient(circle at 12% 5%,rgba(255,255,255,.95),transparent 28%) !important;
    box-shadow:
        0 24px 52px rgba(166,58,115,.13),
        inset 0 1px 0 rgba(255,255,255,.9) !important;
    backdrop-filter:blur(16px) saturate(1.1) !important;
    -webkit-backdrop-filter:blur(16px) saturate(1.1) !important;
    overflow:hidden !important;
}

body:not(.cast-detail-page) .princess-card::before{
    content:"" !important;
    position:absolute !important;
    inset:13px !important;
    z-index:-1 !important;
    border:1px dashed rgba(216,101,160,.34) !important;
    border-radius:22px !important;
    pointer-events:none !important;
}

body:not(.cast-detail-page) .princess-card::after{
    content:"✦ ♡" !important;
    position:absolute !important;
    top:12px !important;
    right:20px !important;
    z-index:0 !important;
    color:rgba(219,82,151,.36) !important;
    font-size:18px !important;
    letter-spacing:5px !important;
    text-shadow:0 0 14px rgba(255,255,255,.95) !important;
    pointer-events:none !important;
}

body:not(.cast-detail-page) .section-title{
    flex:0 0 auto !important;
    margin:0 0 20px !important;
    text-align:center !important;
}

body:not(.cast-detail-page) .section-title span{
    color:#de5798 !important;
    font-family:"Cormorant Garamond","Noto Serif JP",serif !important;
    font-size:20px !important;
    font-weight:700 !important;
    letter-spacing:.08em !important;
}

body:not(.cast-detail-page) .section-title h2{
    color:#5e3048 !important;
    font-size:clamp(24px,2vw,34px) !important;
    line-height:1.2 !important;
    margin:6px 0 0 !important;
}

body:not(.cast-detail-page) .section-title h2::after{
    content:"" !important;
    display:block !important;
    width:52px !important;
    height:1px !important;
    margin:14px auto 0 !important;
    background:linear-gradient(90deg,transparent,#e27cac,transparent) !important;
}

body:not(.cast-detail-page) .princess-card-action,
body:not(.cast-detail-page) .news-more,
body:not(.cast-detail-page) .gallery-more{
    margin-top:auto !important;
    padding-top:18px !important;
    text-align:center !important;
}

body:not(.cast-detail-page) .reserve-btn,
body:not(.cast-detail-page) .recruit-form button.reserve-btn{
    position:relative !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:46px !important;
    min-width:170px !important;
    padding:12px 24px !important;
    border:2px solid rgba(255,255,255,.92) !important;
    border-radius:999px !important;
    background:linear-gradient(135deg,#ff8abb 0%,#e84f98 52%,#c72f7d 100%) !important;
    color:#fff !important;
    box-shadow:0 12px 24px rgba(197,46,125,.26), inset 0 1px 0 rgba(255,255,255,.55) !important;
    font-weight:800 !important;
    text-decoration:none !important;
    overflow:hidden !important;
}

body:not(.cast-detail-page) .reserve-btn::after{
    content:"" !important;
    position:absolute !important;
    inset:-40% auto -40% -70% !important;
    width:48% !important;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.62),transparent) !important;
    transform:skewX(-18deg) !important;
    transition:left .55s ease !important;
}

body:not(.cast-detail-page) .today-schedule-list,
body:not(.cast-detail-page) .public-news-list,
body:not(.cast-detail-page) .all-cast-grid,
body:not(.cast-detail-page) .public-gallery-grid,
body:not(.cast-detail-page) .access-box,
body:not(.cast-detail-page) .princess-info-list{
    min-height:0 !important;
}

body:not(.cast-detail-page) #cast.today-cast .today-schedule-list{
    flex:1 1 auto !important;
    overflow:auto !important;
    padding:2px 2px 8px !important;
}

body:not(.cast-detail-page) #cast.today-cast .today-schedule-item{
    grid-template-columns:96px minmax(0,1fr) !important;
    min-height:124px !important;
    margin:0 !important;
    border-color:rgba(231,124,178,.46) !important;
}

body:not(.cast-detail-page) #cast.today-cast .today-schedule-photo{
    width:96px !important;
}

body:not(.cast-detail-page) .public-news-list{
    display:grid !important;
    gap:12px !important;
    flex:1 1 auto !important;
    overflow:auto !important;
}

body:not(.cast-detail-page) .public-news-card{
    border:1px solid rgba(235,157,196,.4) !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.7) !important;
    box-shadow:0 10px 20px rgba(169,66,122,.08) !important;
    overflow:hidden !important;
}

body:not(.cast-detail-page) #cast-list .all-cast-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
    flex:1 1 auto !important;
    align-items:start !important;
}

body:not(.cast-detail-page) #cast-list .cast-card{
    cursor:pointer !important;
    min-width:0 !important;
    border:1px solid rgba(234,151,192,.45) !important;
    border-radius:22px !important;
    background:rgba(255,255,255,.78) !important;
    box-shadow:0 14px 28px rgba(165,58,114,.12) !important;
    overflow:hidden !important;
}

body:not(.cast-detail-page) #cast-list .public-cast-photo{
    aspect-ratio:4 / 5 !important;
}

body:not(.cast-detail-page) #cast-list .public-cast-info{
    padding:14px !important;
}

body:not(.cast-detail-page) #cast-list .public-cast-info h3{
    margin:0 0 8px !important;
    color:#5f3049 !important;
    font-size:21px !important;
}

body:not(.cast-detail-page) #cast-list .public-cast-profile-line,
body:not(.cast-detail-page) #cast-list .public-cast-schedule{
    display:block !important;
    margin:6px 0 !important;
    color:#74435b !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1.45 !important;
}

body:not(.cast-detail-page) .public-gallery-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
    flex:1 1 auto !important;
    overflow:auto !important;
}

body:not(.cast-detail-page) .public-gallery-card,
body:not(.cast-detail-page) .gallery-card{
    border-radius:18px !important;
    overflow:hidden !important;
    border:1px solid rgba(255,255,255,.78) !important;
    box-shadow:0 12px 24px rgba(110,54,88,.12) !important;
}

body:not(.cast-detail-page) .ver6-card-image,
body:not(.cast-detail-page) .recruit-image-link img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
}

body:not(.cast-detail-page) #concept,
body:not(.cast-detail-page) #recruit{
    padding:0 !important;
}

body:not(.cast-detail-page) #access .access-box{
    display:flex !important;
    flex-direction:column !important;
    gap:14px !important;
    flex:1 1 auto !important;
}

body:not(.cast-detail-page) #access .access-map iframe{
    width:100% !important;
    height:260px !important;
    border:0 !important;
    border-radius:20px !important;
}

body:not(.cast-detail-page) #access .access-details{
    display:grid !important;
    gap:10px !important;
}

body:not(.cast-detail-page) #access .access-details p,
body:not(.cast-detail-page) .princess-info-list p{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    gap:14px !important;
    align-items:center !important;
    margin:0 !important;
    padding:13px 15px !important;
    border:1px solid rgba(234,158,196,.44) !important;
    border-radius:17px !important;
    background:rgba(255,255,255,.68) !important;
    color:#6d3b55 !important;
}

body:not(.cast-detail-page) .reveal-card{
    opacity:1 !important;
    transform:translateY(18px) scale(.992) !important;
}

body:not(.cast-detail-page) .reveal-card.is-visible{
    opacity:1 !important;
    transform:translateY(0) scale(1) !important;
    transition:opacity .72s ease, transform .72s ease, box-shadow .25s ease !important;
}

body:not(.cast-detail-page) .public-cast-badges,
body:not(.cast-detail-page) .cast-badge-layer{
    left:4px !important;
    top:4px !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:1px !important;
}

body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-new,
body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-recommended,
body:not(.cast-detail-page) .cast-badge-layer .premium-cast-badge-new,
body:not(.cast-detail-page) .cast-badge-layer .premium-cast-badge-recommended{
    transform:translateX(-6px) !important;
    margin:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-new,
body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .premium-cast-badge-img-new,
body:not(.cast-detail-page) .premium-cast-badge-img-recommended{
    width:42px !important;
    height:auto !important;
    margin:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    transform:none !important;
}

@media(hover:hover) and (pointer:fine){
    body:not(.cast-detail-page) .princess-card,
    body:not(.cast-detail-page) #cast-list .cast-card,
    body:not(.cast-detail-page) #cast.today-cast .today-schedule-item{
        transition:transform .28s ease, box-shadow .28s ease !important;
    }

    body:not(.cast-detail-page) .princess-card:hover,
    body:not(.cast-detail-page) #cast-list .cast-card:hover,
    body:not(.cast-detail-page) #cast.today-cast .today-schedule-item:hover{
        transform:translateY(-5px) !important;
        box-shadow:0 30px 58px rgba(165,58,114,.18) !important;
    }

    body:not(.cast-detail-page) .reserve-btn:hover::after{
        left:125% !important;
    }
}

@media(max-width:768px){
    body:not(.cast-detail-page) .princess-home{
        padding:36px 14px 54px !important;
    }

    body:not(.cast-detail-page) .princess-card-grid,
    body:not(.cast-detail-page) .princess-card-grid-top,
    body:not(.cast-detail-page) .princess-card-grid-middle,
    body:not(.cast-detail-page) .princess-card-grid-bottom{
        grid-template-columns:1fr !important;
        gap:18px !important;
        margin-bottom:18px !important;
    }

    body:not(.cast-detail-page) .princess-card-grid-top > .princess-card,
    body:not(.cast-detail-page) .princess-card-grid-middle > .princess-card,
    body:not(.cast-detail-page) .princess-card-grid-bottom > .princess-card{
        height:auto !important;
        min-height:0 !important;
    }

    body:not(.cast-detail-page) .princess-card{
        padding:25px 18px !important;
        border-radius:24px !important;
    }

    body:not(.cast-detail-page) #concept,
    body:not(.cast-detail-page) #recruit{
        padding:0 !important;
    }

    body:not(.cast-detail-page) #cast-list .all-cast-grid,
    body:not(.cast-detail-page) .public-gallery-grid{
        grid-template-columns:1fr !important;
    }

    body:not(.cast-detail-page) #cast.today-cast .today-schedule-item{
        grid-template-columns:88px minmax(0,1fr) !important;
        min-height:112px !important;
    }

    body:not(.cast-detail-page) #cast.today-cast .today-schedule-photo{
        width:88px !important;
    }

    body:not(.cast-detail-page) #access .access-map iframe{
        height:240px !important;
    }

    body:not(.cast-detail-page) .reserve-btn{
        width:min(100%,280px) !important;
    }
}

/* Ver6.5 strongest overrides for real rendered hero and badge classes */
body:not(.cast-detail-page) .hero.premium-hero.luxury-hero.hero-princess-image.hero-ver6,
body:not(.cast-detail-page) section.hero.premium-hero.luxury-hero.hero-princess-image.hero-ver6{
    background:none !important;
    background-image:none !important;
    background-color:#fff2f8 !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges .premium-cast-badge-new,
body:not(.cast-detail-page) .princess-home #cast-list .cast-card .public-cast-badges .premium-cast-badge-new,
body:not(.cast-detail-page) .all-cast-grid .cast-card .public-cast-badges .premium-cast-badge-new,
body:not(.cast-detail-page) .today-cast .cast-card .public-cast-badges .premium-cast-badge-new,
body:not(.cast-detail-page) .public-cast-badges.cast-badge-layer .premium-cast-badge-new{
    transform:translateX(-6px) !important;
    margin-left:0 !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges .premium-cast-badge-recommended,
body:not(.cast-detail-page) .princess-home #cast-list .cast-card .public-cast-badges .premium-cast-badge-recommended,
body:not(.cast-detail-page) .all-cast-grid .cast-card .public-cast-badges .premium-cast-badge-recommended,
body:not(.cast-detail-page) .today-cast .cast-card .public-cast-badges .premium-cast-badge-recommended,
body:not(.cast-detail-page) .public-cast-badges.cast-badge-layer .premium-cast-badge-recommended{
    transform:translateX(-6px) !important;
    margin-left:0 !important;
}

/* Hero princess generated image final override */
body:not(.cast-detail-page) .hero.hero-princess-image{
    min-height:0 !important;
    height:clamp(520px,56.25vw,860px) !important;
    width:100% !important;
    padding:0 !important;
    margin:0 !important;
    display:block !important;
    position:relative !important;
    overflow:hidden !important;
    background-image:
        linear-gradient(rgba(255,218,235,.08),rgba(255,218,235,.08)),
        url("../images/hero-princess.webp?v=1.0.0") !important;
    background-size:cover !important;
    background-position:center top !important;
    background-repeat:no-repeat !important;
}

body:not(.cast-detail-page) .hero.hero-princess-image::before,
body:not(.cast-detail-page) .hero.hero-princess-image::after{
    content:none !important;
    display:none !important;
}

.hero-princess-image .hero-overlay,
.hero-princess-image .luxury-sparkles,
.hero-princess-image .premium-hero-inner,
.hero-princess-image .premium-hero-buttons,
.hero-princess-image .premium-hero-visual,
.hero-princess-image .premium-hero-slideshow{
    display:none !important;
}

.hero-princess-title{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    margin:-1px !important;
    padding:0 !important;
    overflow:hidden !important;
    clip:rect(0 0 0 0) !important;
    white-space:nowrap !important;
    border:0 !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .hero.hero-princess-image{
        height:78vh !important;
        min-height:560px !important;
        max-height:760px !important;
        background-size:auto 100% !important;
        background-position:center top !important;
    }
}

/* Hero clickable areas and spacing */
body:not(.cast-detail-page) .hero.hero-princess-image{
    position:relative !important;
    margin-bottom:60px !important;
}

.hero-link{
    position:absolute !important;
    bottom:13% !important;
    height:12% !important;
    z-index:5 !important;
    display:block !important;
    background:transparent !important;
    border:0 !important;
    text-decoration:none !important;
}

.hero-link.web{
    left:22% !important;
    width:20% !important;
}

.hero-link.line{
    left:40% !important;
    width:20% !important;
}

.hero-link.recruit{
    left:59% !important;
    width:20% !important;
}

.hero-dots,
.carousel-dots,
.slick-dots,
.swiper-pagination,
.premium-hero-dots,
.hero-princess-image .premium-hero-dots{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
}

.princess-home,
.luxury-home,
.top-sections,
.home-cards,
.section-wrap{
    margin-top:0 !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .hero.hero-princess-image{
        margin-bottom:40px !important;
    }

    .hero-link{
        bottom:12% !important;
        height:13% !important;
    }

    .hero-link.web{
        left:8% !important;
        width:28% !important;
    }

    .hero-link.line{
        left:36% !important;
        width:28% !important;
    }

    .hero-link.recruit{
        left:64% !important;
        width:28% !important;
    }
}

/* Reference PDF alignment: header and contact band */
body:not(.cast-detail-page) .header{
    background:rgba(255,255,255,.96) !important;
    border-bottom:1px solid rgba(238,151,191,.42) !important;
    box-shadow:0 8px 22px rgba(170,55,113,.08) !important;
}

body:not(.cast-detail-page) .header-inner{
    max-width:1320px !important;
    padding:14px 28px !important;
    gap:22px !important;
}

body:not(.cast-detail-page) .logo{
    position:relative !important;
    color:#ee72ad !important;
    font-size:34px !important;
    line-height:1 !important;
    text-shadow:0 4px 12px rgba(238,114,173,.18) !important;
}

body:not(.cast-detail-page) .logo::after{
    content:"シュシュ" !important;
    display:block !important;
    margin-top:3px !important;
    color:#ba477e !important;
    font-size:11px !important;
    text-align:center !important;
    letter-spacing:0 !important;
}

body:not(.cast-detail-page) .nav{
    flex:1 !important;
    justify-content:center !important;
    gap:22px !important;
}

body:not(.cast-detail-page) .nav a{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:3px !important;
    color:#8c435f !important;
    font-size:13px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
}

body:not(.cast-detail-page) .nav a small{
    color:#f277b3 !important;
    font-size:9px !important;
    font-family:"Cormorant Garamond",serif !important;
    letter-spacing:0 !important;
    text-transform:uppercase !important;
}

body:not(.cast-detail-page) .nav a::after{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    bottom:-9px !important;
    width:5px !important;
    height:5px !important;
    transform:translateX(-50%) rotate(45deg) !important;
    background:#f69bc5 !important;
    opacity:.7 !important;
}

.language-switch{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
}

.language-switch button{
    min-width:50px !important;
    height:34px !important;
    border:1px solid rgba(227,91,157,.32) !important;
    border-radius:7px !important;
    background:linear-gradient(135deg,#fff,#fff2f8) !important;
    color:#cf4e8c !important;
    font-weight:700 !important;
    font-size:12px !important;
    box-shadow:0 8px 18px rgba(166,54,111,.08) !important;
}

.language-switch button:first-child{
    background:linear-gradient(135deg,#ffaad0,#e75b9d) !important;
    color:#fff !important;
}

.luxury-contact-band{
    display:grid !important;
    grid-template-columns:minmax(260px,.86fr) minmax(0,1.4fr) !important;
    gap:28px !important;
    align-items:center !important;
    margin:30px calc(50% - 50vw) 0 !important;
    padding:42px max(30px,calc((100vw - 1280px) / 2)) 32px !important;
    border:0 !important;
    border-radius:0 !important;
    background:
        radial-gradient(circle at 12% 24%, rgba(255,255,255,.72) 0 2px, transparent 4px),
        radial-gradient(circle at 86% 28%, rgba(255,255,255,.82) 0 2px, transparent 4px),
        linear-gradient(135deg,#ff9cc7 0%,#f06aaa 46%,#ee8abd 100%) !important;
    box-shadow:0 -18px 50px rgba(160,54,109,.18) !important;
    color:#fff !important;
    overflow:hidden !important;
}

.luxury-contact-band::before{
    content:"" !important;
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    height:24px !important;
    border:0 !important;
    border-radius:0 !important;
    background:
        radial-gradient(circle at 50% 0, rgba(255,255,255,.95) 0 7px, transparent 8px) 0 0/24px 13px repeat-x !important;
}

.luxury-contact-band::after{
    content:"Chou Chou" !important;
    position:absolute !important;
    left:50% !important;
    bottom:16px !important;
    transform:translateX(-50%) !important;
    width:auto !important;
    height:auto !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:rgba(255,255,255,.9) !important;
    font-family:"Cormorant Garamond",serif !important;
    font-size:34px !important;
    pointer-events:none !important;
}

.luxury-contact-copy{
    position:relative !important;
    z-index:2 !important;
}

.luxury-contact-copy span{
    color:#fff !important;
    font-family:"Cormorant Garamond",serif !important;
    font-size:32px !important;
    font-weight:700 !important;
}

.luxury-contact-copy h2{
    margin:4px 0 14px !important;
    color:#fff !important;
    font-size:18px !important;
}

.luxury-contact-copy p{
    max-width:360px !important;
    margin:0 !important;
    color:rgba(255,255,255,.92) !important;
    line-height:1.8 !important;
    font-size:14px !important;
}

.luxury-contact-actions{
    position:relative !important;
    z-index:2 !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
}

.luxury-contact-btn{
    min-height:78px !important;
    flex-direction:column !important;
    gap:4px !important;
    border-radius:12px !important;
    background:linear-gradient(135deg,#fff,#fff3f8) !important;
    color:#c94688 !important;
    box-shadow:0 16px 30px rgba(121,37,83,.18),0 0 0 1px rgba(255,255,255,.85) inset !important;
}

.luxury-contact-btn b{
    color:#c94688 !important;
    font-size:18px !important;
}

.luxury-contact-btn small{
    color:#d884aa !important;
    font-size:12px !important;
}

.luxury-contact-logo{
    display:none !important;
}

@media(max-width:1180px){
    body:not(.cast-detail-page) .nav{
        display:none !important;
    }
}

@media(max-width:768px){
    body:not(.cast-detail-page) .header-inner{
        padding:12px 14px !important;
    }

    .language-switch{
        gap:6px !important;
    }

    .language-switch button{
        min-width:38px !important;
        height:30px !important;
        font-size:11px !important;
    }

    .luxury-contact-band{
        grid-template-columns:1fr !important;
        margin:22px calc(50% - 50vw) 0 !important;
        padding:36px 18px 58px !important;
        text-align:center !important;
    }

    .luxury-contact-copy p{
        margin:0 auto !important;
    }

    .luxury-contact-actions{
        grid-template-columns:1fr !important;
        gap:12px !important;
    }
}

/* Ver5.2 Premium Princess homepage fix */
body:not(.cast-detail-page) .premium-hero{
    min-height:76vh !important;
    padding:128px 22px 62px !important;
}

body:not(.cast-detail-page) .premium-hero-inner{
    grid-template-columns:minmax(0,.86fr) minmax(460px,1.14fr) !important;
    gap:30px 38px !important;
    padding:34px !important;
    border-radius:30px !important;
}

body:not(.cast-detail-page) .premium-hero .hero-logo{
    width:min(430px,100%) !important;
}

body:not(.cast-detail-page) .premium-hero .hero-sub{
    font-size:18px !important;
    line-height:1.75 !important;
}

.premium-hero-slideshow{
    position:relative !important;
    aspect-ratio:16/9 !important;
    min-height:310px !important;
    overflow:hidden !important;
    border:10px solid rgba(255,255,255,.94) !important;
    border-radius:28px !important;
    background:#fff2f8 !important;
    box-shadow:0 22px 48px rgba(146,45,99,.22),0 0 0 1px rgba(216,82,148,.18) !important;
}

.premium-hero-slideshow::before,
.premium-hero-slideshow::after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    z-index:4 !important;
    height:24px !important;
    pointer-events:none !important;
    background:
        radial-gradient(circle at 50% 0, rgba(255,255,255,.95) 0 7px, transparent 8px) 0 0/26px 14px repeat-x,
        linear-gradient(90deg,rgba(255,255,255,.76),rgba(255,220,237,.72),rgba(255,255,255,.76)) !important;
}

.premium-hero-slideshow::before{
    top:0 !important;
}

.premium-hero-slideshow::after{
    bottom:0 !important;
    transform:rotate(180deg) !important;
}

.premium-hero-slide{
    position:absolute !important;
    inset:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    opacity:0 !important;
    animation:premiumHeroSlide 15s infinite !important;
    background:
        radial-gradient(circle at 18% 22%, rgba(255,255,255,.9) 0 2px, transparent 4px),
        radial-gradient(circle at 78% 24%, rgba(255,255,255,.85) 0 2px, transparent 4px),
        linear-gradient(135deg,rgba(255,255,255,.76),rgba(255,179,215,.62)),
        linear-gradient(135deg,#fff8fc 0%,#f6a8cc 52%,#fff 100%) !important;
}

.premium-hero-slide::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:2 !important;
    background:
        radial-gradient(circle at 25% 70%, rgba(255,255,255,.78), transparent 18%),
        radial-gradient(circle at 78% 32%, rgba(214,68,139,.22), transparent 22%),
        linear-gradient(90deg,rgba(255,128,185,.28),rgba(255,255,255,.12),rgba(255,128,185,.28)) !important;
    mix-blend-mode:screen !important;
}

.premium-hero-slide::after{
    content:"" !important;
    position:absolute !important;
    width:142px !important;
    height:32px !important;
    left:50% !important;
    bottom:24px !important;
    z-index:3 !important;
    transform:translateX(-50%) !important;
    border-radius:999px !important;
    background:linear-gradient(90deg,#c7428a,#fff,#c7428a) !important;
    box-shadow:0 12px 22px rgba(154,49,103,.18) !important;
}

.premium-hero-slide-2{
    animation-delay:5s !important;
    background:
        radial-gradient(circle at 82% 18%, rgba(255,255,255,.92) 0 2px, transparent 4px),
        linear-gradient(145deg,rgba(255,255,255,.8),rgba(244,112,177,.5)),
        linear-gradient(135deg,#ffe4f1,#fff 48%,#f7aacd) !important;
}

.premium-hero-slide-3{
    animation-delay:10s !important;
    background:
        radial-gradient(circle at 18% 82%, rgba(255,255,255,.9) 0 2px, transparent 4px),
        linear-gradient(135deg,rgba(255,255,255,.78),rgba(235,88,158,.44)),
        linear-gradient(135deg,#fff,#ffd5e8 45%,#f39fc5) !important;
}

.premium-hero-slide img{
    position:relative !important;
    z-index:3 !important;
    width:min(58%,430px) !important;
    height:68% !important;
    object-fit:contain !important;
    filter:drop-shadow(0 18px 28px rgba(111,39,82,.24)) !important;
}

@keyframes premiumHeroSlide{
    0%{opacity:0; transform:scale(1.03);}
    7%{opacity:1; transform:scale(1);}
    31%{opacity:1; transform:scale(1.015);}
    39%{opacity:0; transform:scale(1.03);}
    100%{opacity:0; transform:scale(1.03);}
}

.princess-home .news-more .reserve-btn,
.princess-home .gallery-more .reserve-btn,
.princess-home .princess-card-action .reserve-btn{
    min-width:190px !important;
}

.princess-home .news-list.public-news-list{
    gap:10px !important;
}

.princess-home .public-news-card{
    border-radius:16px !important;
    border:1px solid rgba(220,96,154,.2) !important;
    background:rgba(255,255,255,.72) !important;
    box-shadow:0 10px 22px rgba(151,54,103,.08) !important;
}

.princess-home .public-gallery-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:10px !important;
}

.princess-home .public-gallery-item{
    aspect-ratio:1/1 !important;
    border-radius:15px !important;
    box-shadow:0 10px 22px rgba(151,54,103,.1) !important;
}

.cast-list.princess-card{
    min-height:420px !important;
}

.princess-home .all-cast-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:10px !important;
}

.princess-home .all-cast-grid .cast-card{
    border-radius:14px !important;
    box-shadow:0 10px 22px rgba(151,54,103,.1) !important;
}

.princess-home .all-cast-grid .public-cast-photo{
    aspect-ratio:5/6 !important;
}

.princess-home .all-cast-grid .public-cast-info{
    padding:11px 10px 12px !important;
}

.princess-home .all-cast-grid .public-cast-info h3{
    font-size:17px !important;
    margin-bottom:4px !important;
}

.princess-home .all-cast-grid .public-cast-tags{
    display:none !important;
}

.princess-home .all-cast-grid .public-profile-link{
    min-height:36px !important;
    padding:8px 14px !important;
    font-size:13px !important;
}

.today-schedule-list{
    gap:10px !important;
}

.today-schedule-item{
    grid-template-columns:76px minmax(0,1fr) !important;
    min-height:92px !important;
}

.today-schedule-photo{
    width:76px !important;
}

body:not(.cast-detail-page) .princess-home .public-cast-badges,
body:not(.cast-detail-page) .princess-home .public-cast-badges.cast-badge-layer,
body:not(.cast-detail-page) .princess-home .today-cast .cast-card .public-cast-badges,
body:not(.cast-detail-page) .princess-home .all-cast-grid .cast-card .public-cast-badges{
    top:5px !important;
    left:5px !important;
    right:auto !important;
    gap:1px !important;
    align-items:flex-start !important;
}

body:not(.cast-detail-page) .princess-home .premium-cast-badge,
body:not(.cast-detail-page) .princess-home .public-cast-badges .premium-cast-badge,
body:not(.cast-detail-page) .princess-home .premium-cast-badge-img,
body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-new,
body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .princess-home .public-cast-badges img,
body:not(.cast-detail-page) .princess-home .today-cast .cast-card .premium-cast-badge-img,
body:not(.cast-detail-page) .princess-home .all-cast-grid .cast-card .premium-cast-badge-img{
    width:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    height:auto !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .premium-hero{
        padding:108px 12px 54px !important;
    }

    body:not(.cast-detail-page) .premium-hero-inner{
        grid-template-columns:1fr !important;
        gap:20px !important;
        padding:22px 14px !important;
        border-radius:24px !important;
    }

    .premium-hero-slideshow{
        aspect-ratio:16/10 !important;
        min-height:0 !important;
        border-width:7px !important;
        border-radius:22px !important;
    }

    .premium-hero-slide img{
        width:68% !important;
        height:70% !important;
    }

    .princess-home .public-gallery-grid,
    .princess-home .all-cast-grid{
        grid-template-columns:1fr !important;
    }

    .princess-home .all-cast-grid .cast-card{
        display:grid !important;
        grid-template-columns:112px minmax(0,1fr) !important;
    }

    .princess-home .all-cast-grid .public-cast-photo{
        aspect-ratio:4/5 !important;
        height:100% !important;
    }

    .today-schedule-item{
        grid-template-columns:68px minmax(0,1fr) !important;
        min-height:84px !important;
    }

    .today-schedule-photo{
        width:68px !important;
    }

    body:not(.cast-detail-page) .princess-home .premium-cast-badge,
    body:not(.cast-detail-page) .princess-home .public-cast-badges .premium-cast-badge,
    body:not(.cast-detail-page) .princess-home .premium-cast-badge-img,
    body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-new,
    body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .princess-home .public-cast-badges img,
    body:not(.cast-detail-page) .princess-home .today-cast .cast-card .premium-cast-badge-img,
    body:not(.cast-detail-page) .princess-home .all-cast-grid .cast-card .premium-cast-badge-img{
        width:28px !important;
        min-width:28px !important;
        max-width:28px !important;
    }
}

/* Ver5.2 final homepage badge override */
body:not(.cast-detail-page) .princess-home .public-cast-badges,
body:not(.cast-detail-page) .princess-home .public-cast-badges.cast-badge-layer,
body:not(.cast-detail-page) .princess-home .today-cast .cast-card .public-cast-badges,
body:not(.cast-detail-page) .princess-home .all-cast-grid .cast-card .public-cast-badges{
    top:5px !important;
    left:5px !important;
    right:auto !important;
    gap:1px !important;
}

body:not(.cast-detail-page) .princess-home .premium-cast-badge,
body:not(.cast-detail-page) .princess-home .public-cast-badges .premium-cast-badge,
body:not(.cast-detail-page) .princess-home .premium-cast-badge-img,
body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-new,
body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .princess-home .public-cast-badges img,
body:not(.cast-detail-page) .princess-home .today-cast .cast-card .premium-cast-badge-img,
body:not(.cast-detail-page) .princess-home .all-cast-grid .cast-card .premium-cast-badge-img{
    width:30px !important;
    min-width:30px !important;
    max-width:30px !important;
    height:auto !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .princess-home .premium-cast-badge,
    body:not(.cast-detail-page) .princess-home .public-cast-badges .premium-cast-badge,
    body:not(.cast-detail-page) .princess-home .premium-cast-badge-img,
    body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-new,
    body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .princess-home .public-cast-badges img,
    body:not(.cast-detail-page) .princess-home .today-cast .cast-card .premium-cast-badge-img,
    body:not(.cast-detail-page) .princess-home .all-cast-grid .cast-card .premium-cast-badge-img{
        width:26px !important;
        min-width:26px !important;
        max-width:26px !important;
    }
}

/* Ver5.2 Princess Luxury full top renewal */
body:not(.cast-detail-page){
    background:
        radial-gradient(circle at 10% 12%, rgba(255,255,255,.95) 0 2px, transparent 3px),
        radial-gradient(circle at 92% 18%, rgba(255,179,214,.5) 0 2px, transparent 4px),
        radial-gradient(circle at 18% 82%, rgba(255,255,255,.85) 0 1px, transparent 3px),
        linear-gradient(180deg,#fffafc 0%,#ffe5f1 44%,#fff8fc 100%) !important;
}

body:not(.cast-detail-page) .luxury-hero{
    position:relative !important;
    min-height:78vh !important;
    padding:124px 24px 66px !important;
    background:
        linear-gradient(rgba(255,255,255,.2),rgba(255,255,255,.16)),
        radial-gradient(circle at 18% 20%, rgba(255,255,255,.92) 0 2px, transparent 4px),
        radial-gradient(circle at 76% 18%, rgba(255,203,228,.62), transparent 28%),
        linear-gradient(135deg,#fff 0%,#ffdcea 44%,#fff7fc 100%) !important;
}

body:not(.cast-detail-page) .luxury-hero::before{
    inset:16px !important;
    border-radius:36px !important;
    border:1px solid rgba(255,255,255,.92) !important;
    outline:1px solid rgba(198,62,132,.24) !important;
    outline-offset:-9px !important;
    background:
        radial-gradient(circle at 50% 0, rgba(255,255,255,.98) 0 7px, transparent 8px) 0 0/24px 14px repeat-x,
        radial-gradient(circle at 50% 100%, rgba(255,255,255,.98) 0 7px, transparent 8px) 0 100%/24px 14px repeat-x,
        linear-gradient(90deg,rgba(255,255,255,.4),transparent 28%,transparent 72%,rgba(255,255,255,.4)) !important;
}

.luxury-sparkles{
    position:absolute !important;
    inset:0 !important;
    pointer-events:none !important;
    z-index:1 !important;
    background:
        radial-gradient(circle at 22% 32%, rgba(255,255,255,.95) 0 2px, transparent 3px),
        radial-gradient(circle at 38% 18%, rgba(255,255,255,.75) 0 1px, transparent 3px),
        radial-gradient(circle at 70% 28%, rgba(255,255,255,.92) 0 2px, transparent 4px),
        radial-gradient(circle at 86% 62%, rgba(255,255,255,.76) 0 1px, transparent 3px),
        radial-gradient(circle at 14% 72%, rgba(255,208,231,.72) 0 2px, transparent 4px) !important;
    animation:luxurySparkle 5.8s ease-in-out infinite alternate !important;
}

@keyframes luxurySparkle{
    from{opacity:.55; transform:translateY(0);}
    to{opacity:1; transform:translateY(-6px);}
}

body:not(.cast-detail-page) .luxury-hero .premium-hero-inner{
    position:relative !important;
    z-index:2 !important;
    grid-template-columns:minmax(320px,.82fr) minmax(540px,1.18fr) !important;
    gap:34px !important;
    width:min(1240px,100%) !important;
    padding:38px !important;
    border:1px solid rgba(205,70,138,.3) !important;
    border-radius:34px !important;
    background:
        radial-gradient(circle at 8% 10%, rgba(255,255,255,.92), transparent 24%),
        linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,236,246,.76)) !important;
    box-shadow:0 30px 76px rgba(146,45,99,.2),0 0 0 10px rgba(255,255,255,.3) inset !important;
}

.luxury-hero-kicker{
    display:inline-flex !important;
    margin:0 0 13px !important;
    padding:7px 16px !important;
    border:1px solid rgba(217,87,151,.26) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.72) !important;
    color:#b83f7f !important;
    font-size:13px !important;
    line-height:1 !important;
    letter-spacing:0 !important;
    box-shadow:0 10px 22px rgba(170,55,113,.1) !important;
}

body:not(.cast-detail-page) .luxury-hero .hero-catch{
    font-size:16px !important;
    color:#a93270 !important;
}

body:not(.cast-detail-page) .luxury-hero .hero-logo{
    width:min(440px,100%) !important;
}

body:not(.cast-detail-page) .luxury-hero .hero-sub{
    font-size:18px !important;
    color:#704156 !important;
    line-height:1.75 !important;
}

.luxury-hero-note{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    margin-top:20px !important;
}

.luxury-hero-note span{
    padding:8px 12px !important;
    border:1px solid rgba(212,75,142,.22) !important;
    border-radius:999px !important;
    background:linear-gradient(135deg,#fff,#ffe8f3) !important;
    color:#8d3d62 !important;
    font-size:12px !important;
    box-shadow:0 8px 18px rgba(152,54,105,.08) !important;
}

.premium-hero-slideshow{
    aspect-ratio:16/8.4 !important;
    min-height:340px !important;
    border-radius:30px !important;
    border:9px solid rgba(255,255,255,.96) !important;
    box-shadow:0 24px 54px rgba(128,42,91,.26),0 0 0 1px rgba(211,72,141,.18) !important;
}

.premium-hero-slideshow::before,
.premium-hero-slideshow::after{
    height:26px !important;
    background:
        radial-gradient(circle at 50% 0, rgba(255,255,255,1) 0 7px, transparent 8px) 0 0/22px 13px repeat-x,
        linear-gradient(90deg,rgba(255,255,255,.88),rgba(255,221,238,.86),rgba(255,255,255,.88)) !important;
}

.premium-hero-slide{
    filter:saturate(1.08) !important;
}

.premium-hero-slide span{
    position:absolute !important;
    left:22px !important;
    bottom:26px !important;
    z-index:5 !important;
    padding:8px 14px !important;
    border:1px solid rgba(255,255,255,.75) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.68) !important;
    color:#793552 !important;
    font-size:13px !important;
    box-shadow:0 10px 20px rgba(128,42,91,.16) !important;
}

.premium-hero-dots{
    position:absolute !important;
    right:22px !important;
    bottom:31px !important;
    z-index:6 !important;
    display:flex !important;
    gap:7px !important;
}

.premium-hero-dots i{
    width:8px !important;
    height:8px !important;
    border-radius:50% !important;
    background:#fff !important;
    box-shadow:0 0 0 1px rgba(190,57,124,.25),0 0 12px rgba(255,255,255,.9) !important;
}

.luxury-home{
    width:min(1280px,calc(100% - 42px)) !important;
    margin:-36px auto 88px !important;
}

.luxury-home .princess-card{
    border:1px solid rgba(204,71,138,.3) !important;
    border-radius:24px !important;
    background:
        radial-gradient(circle at 92% 10%, rgba(255,255,255,.95) 0 2px, transparent 4px),
        radial-gradient(circle at 8% 90%, rgba(255,184,219,.24), transparent 28%),
        linear-gradient(145deg,#fff 0%,#fff4fa 54%,#ffe8f3 100%) !important;
    box-shadow:0 20px 46px rgba(139,43,91,.13),0 1px 0 rgba(255,255,255,.92) inset !important;
}

.luxury-home .princess-card::before{
    border-color:rgba(204,71,138,.18) !important;
}

.luxury-home .princess-card::after{
    width:104px !important;
    height:23px !important;
    background:linear-gradient(90deg,#bd3e83,#fff,#bd3e83) !important;
}

.luxury-home .section-title{
    position:relative !important;
}

.luxury-home .section-title span{
    color:#bd3e83 !important;
}

.luxury-home .section-title h2{
    color:#663046 !important;
}

.luxury-home .section-title h2::after{
    content:"" !important;
    display:block !important;
    width:54px !important;
    height:1px !important;
    margin:10px auto 0 !important;
    background:linear-gradient(90deg,transparent,#c94e8d,transparent) !important;
}

.luxury-home .today-cast.princess-card,
.luxury-home .news.princess-card{
    min-height:390px !important;
}

.luxury-home .cast-list.princess-card{
    min-height:395px !important;
}

.luxury-home .concept.princess-card,
.luxury-home .gallery.princess-card{
    min-height:455px !important;
}

.luxury-home .public-news-card,
.luxury-home .today-schedule-item,
.luxury-home .all-cast-grid .cast-card{
    background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(255,244,250,.72)) !important;
    border:1px solid rgba(205,70,138,.2) !important;
}

.luxury-home .all-cast-grid{
    gap:10px !important;
}

.luxury-home .all-cast-grid .public-cast-info h3{
    font-size:16px !important;
}

.luxury-home .public-cast-profile-line,
.luxury-home .public-cast-schedule{
    font-size:12px !important;
}

.luxury-home .public-gallery-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:10px !important;
}

.luxury-home .public-gallery-item{
    overflow:hidden !important;
    border:1px solid rgba(205,70,138,.22) !important;
    border-radius:16px !important;
}

.luxury-home .reserve-btn,
.luxury-home .btn,
.luxury-home .hero-btn{
    background:linear-gradient(135deg,#ffa0ca 0%,#e8589a 48%,#af3677 100%) !important;
    box-shadow:0 13px 28px rgba(174,54,119,.24),0 2px 0 rgba(255,255,255,.44) inset !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .luxury-hero{
        padding:104px 12px 54px !important;
    }

    body:not(.cast-detail-page) .luxury-hero .premium-hero-inner{
        grid-template-columns:1fr !important;
        padding:22px 14px !important;
        gap:20px !important;
    }

    .premium-hero-slideshow{
        aspect-ratio:16/10 !important;
        min-height:0 !important;
        border-width:7px !important;
        border-radius:22px !important;
    }

    .premium-hero-slide span{
        left:14px !important;
        bottom:20px !important;
        font-size:11px !important;
    }

    .premium-hero-dots{
        right:14px !important;
        bottom:24px !important;
    }

    .luxury-home{
        width:calc(100% - 24px) !important;
        margin:-24px auto 58px !important;
    }

    .luxury-home .princess-card{
        padding:23px 15px !important;
    }

    .luxury-home .public-gallery-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .luxury-home .all-cast-grid .cast-card{
        grid-template-columns:108px minmax(0,1fr) !important;
    }
}

/* Ver5.2 premium fix final badge size */
body:not(.cast-detail-page) .princess-home .premium-cast-badge,
body:not(.cast-detail-page) .princess-home .public-cast-badges .premium-cast-badge,
body:not(.cast-detail-page) .princess-home .premium-cast-badge-img,
body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-new,
body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .princess-home .public-cast-badges img,
body:not(.cast-detail-page) .princess-home .today-cast .cast-card .premium-cast-badge-img,
body:not(.cast-detail-page) .princess-home .all-cast-grid .cast-card .premium-cast-badge-img{
    width:34px !important;
    min-width:34px !important;
    max-width:34px !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .princess-home .premium-cast-badge,
    body:not(.cast-detail-page) .princess-home .public-cast-badges .premium-cast-badge,
    body:not(.cast-detail-page) .princess-home .premium-cast-badge-img,
    body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-new,
    body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .princess-home .public-cast-badges img,
    body:not(.cast-detail-page) .princess-home .today-cast .cast-card .premium-cast-badge-img,
    body:not(.cast-detail-page) .princess-home .all-cast-grid .cast-card .premium-cast-badge-img{
        width:28px !important;
        min-width:28px !important;
        max-width:28px !important;
    }
}

/* Ver5.2 Premium Princess homepage renewal */
body:not(.cast-detail-page){
    background:
        radial-gradient(circle at 18% 9%, rgba(255,255,255,.92) 0 2px, transparent 3px),
        radial-gradient(circle at 80% 18%, rgba(242,156,195,.38) 0 2px, transparent 4px),
        linear-gradient(180deg,#fff7fb 0%,#ffe8f2 48%,#fffafd 100%) !important;
}

body:not(.cast-detail-page) .premium-hero{
    min-height:88vh !important;
    padding:138px 24px 76px !important;
    align-items:center !important;
    background:
        radial-gradient(circle at 12% 22%, rgba(255,255,255,.9) 0 2px, transparent 3px),
        radial-gradient(circle at 70% 18%, rgba(255,255,255,.82) 0 2px, transparent 4px),
        radial-gradient(circle at 86% 74%, rgba(255,195,224,.42), transparent 30%),
        linear-gradient(135deg,#fff 0%,#ffe4f0 46%,#fff8fc 100%) !important;
}

body:not(.cast-detail-page) .premium-hero::before{
    inset:22px !important;
    border-radius:38px !important;
    background:
        radial-gradient(circle at 50% 0, rgba(255,255,255,.96) 0 7px, transparent 8px) 0 0/28px 15px repeat-x,
        radial-gradient(circle at 50% 100%, rgba(255,255,255,.96) 0 7px, transparent 8px) 0 100%/28px 15px repeat-x,
        linear-gradient(90deg,rgba(255,255,255,.28),transparent,rgba(255,255,255,.28)) !important;
}

body:not(.cast-detail-page) .premium-hero::after{
    width:210px !important;
    height:46px !important;
    top:104px !important;
    background:
        radial-gradient(circle at 48% 100%, #fff 0 8px, transparent 9px),
        linear-gradient(90deg,#d94d95,#fff2f8,#d94d95) !important;
}

body:not(.cast-detail-page) .premium-hero-inner{
    display:grid !important;
    grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr) !important;
    grid-template-areas:
        "copy visual"
        "buttons buttons" !important;
    gap:34px 42px !important;
    width:min(1180px,100%) !important;
    max-width:1180px !important;
    padding:46px !important;
    border:1px solid rgba(225,107,166,.28) !important;
    border-radius:34px !important;
    background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,239,247,.76)) !important;
    box-shadow:0 28px 70px rgba(160,62,112,.16),0 0 0 10px rgba(255,255,255,.32) inset !important;
}

.premium-hero-copy{
    grid-area:copy !important;
    align-self:center !important;
    text-align:left !important;
}

body:not(.cast-detail-page) .premium-hero .hero-catch{
    margin:0 0 20px !important;
}

body:not(.cast-detail-page) .premium-hero .hero-logo{
    width:min(520px,100%) !important;
}

body:not(.cast-detail-page) .premium-hero .hero-sub{
    margin:22px 0 0 !important;
    max-width:560px !important;
    font-size:21px !important;
}

.premium-hero-visual{
    grid-area:visual !important;
    position:relative !important;
    align-self:center !important;
}

.premium-hero-visual::before,
.premium-hero-visual::after{
    content:"" !important;
    position:absolute !important;
    pointer-events:none !important;
}

.premium-hero-visual::before{
    width:92px !important;
    height:92px !important;
    top:-18px !important;
    right:-14px !important;
    transform:rotate(45deg) !important;
    border-radius:18px !important;
    background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(244,128,184,.45)) !important;
    box-shadow:0 16px 30px rgba(194,61,128,.14) !important;
}

.premium-hero-visual::after{
    width:160px !important;
    height:34px !important;
    left:50% !important;
    bottom:-12px !important;
    transform:translateX(-50%) !important;
    border-radius:999px !important;
    background:linear-gradient(90deg,#d94d95,#fff,#d94d95) !important;
}

.premium-hero-photo{
    position:relative !important;
    aspect-ratio:4/5 !important;
    overflow:hidden !important;
    border:10px solid rgba(255,255,255,.92) !important;
    border-radius:30px !important;
    background:
        linear-gradient(145deg,rgba(255,255,255,.3),transparent 42%),
        radial-gradient(circle at 50% 30%,rgba(255,255,255,.8),transparent 28%),
        linear-gradient(135deg,#ffd7e8,#f7a6cb 52%,#fff7fb) !important;
    box-shadow:0 24px 50px rgba(157,62,111,.24) !important;
}

.premium-hero-photo img{
    width:78% !important;
    height:100% !important;
    object-fit:contain !important;
    margin:auto !important;
    display:block !important;
    filter:drop-shadow(0 18px 24px rgba(132,47,91,.18)) !important;
}

.premium-hero-buttons{
    grid-area:buttons !important;
    display:flex !important;
    justify-content:center !important;
    gap:14px !important;
    flex-wrap:wrap !important;
    margin:0 !important;
}

.premium-hero-buttons .reserve-btn,
.premium-hero-buttons .btn,
.premium-hero-buttons .hero-btn{
    min-width:180px !important;
}

.btn,
.hero-btn,
.reserve-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:46px !important;
    padding:12px 26px !important;
    border:2px solid rgba(255,255,255,.94) !important;
    border-radius:999px !important;
    background:linear-gradient(135deg,#ff9ac5 0%,#e95d9f 52%,#bc3c82 100%) !important;
    color:#fff !important;
    text-decoration:none !important;
    font-weight:700 !important;
    letter-spacing:0 !important;
    box-shadow:0 14px 28px rgba(188,60,130,.24),0 2px 0 rgba(255,255,255,.42) inset !important;
    transition:transform .25s ease,filter .25s ease,box-shadow .25s ease !important;
}

.btn:hover,
.hero-btn:hover,
.reserve-btn:hover{
    filter:brightness(1.06) !important;
    transform:translateY(-2px) !important;
    box-shadow:0 18px 34px rgba(188,60,130,.3),0 2px 0 rgba(255,255,255,.46) inset !important;
}

.princess-home{
    width:min(1320px,calc(100% - 40px)) !important;
    margin:-44px auto 86px !important;
}

.princess-card{
    border:1px solid rgba(220,96,154,.34) !important;
    border-radius:24px !important;
    background:
        radial-gradient(circle at 94% 8%, rgba(255,255,255,.95) 0 2px, transparent 4px),
        radial-gradient(circle at 8% 86%, rgba(244,142,190,.22), transparent 28%),
        linear-gradient(145deg,#fff 0%,#fff4fa 54%,#ffe7f2 100%) !important;
    box-shadow:0 20px 48px rgba(151,54,103,.14),0 1px 0 rgba(255,255,255,.9) inset !important;
}

.princess-card::after{
    width:112px !important;
    height:25px !important;
    background:linear-gradient(90deg,#c7458b,#fff3f9,#c7458b) !important;
}

.princess-card .section-title h2{
    color:#6f314f !important;
}

.princess-card-grid-top{
    grid-template-columns:minmax(0,1.18fr) minmax(0,.9fr) minmax(0,1.08fr) !important;
}

.princess-card-grid-middle{
    grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr) minmax(300px,1fr) !important;
}

.today-schedule-list{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin:0 !important;
}

.today-schedule-item{
    display:grid !important;
    grid-template-columns:82px minmax(0,1fr) !important;
    align-items:center !important;
    gap:14px !important;
    padding:10px !important;
    border:1px solid rgba(220,96,154,.24) !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.72) !important;
    box-shadow:0 10px 22px rgba(151,54,103,.08) !important;
}

.today-schedule-photo{
    width:82px !important;
    aspect-ratio:1/1 !important;
    overflow:hidden !important;
    border-radius:14px !important;
    background:#fff !important;
}

.today-schedule-photo img,
.today-schedule-photo .cast-card-no-image{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
}

.today-schedule-info h3{
    margin:0 0 5px !important;
    color:#74334f !important;
    font-size:17px !important;
}

.today-schedule-info p{
    margin:0 !important;
    color:#8a5970 !important;
    font-size:13px !important;
    line-height:1.55 !important;
}

.princess-home .all-cast-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:13px !important;
}

.princess-home .all-cast-grid .cast-card{
    display:flex !important;
    flex-direction:column !important;
}

.princess-home .all-cast-grid .public-cast-photo{
    aspect-ratio:4/5 !important;
    overflow:hidden !important;
}

.princess-home .all-cast-grid .public-cast-image,
.princess-home .all-cast-grid .cast-card-no-image{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
}

.princess-home .public-cast-profile-line,
.princess-home .public-cast-schedule{
    font-size:13px !important;
    line-height:1.55 !important;
}

body:not(.cast-detail-page) .princess-home .public-cast-badges,
body:not(.cast-detail-page) .princess-home .public-cast-badges.cast-badge-layer,
body:not(.cast-detail-page) .princess-home .cast-card .public-cast-badges{
    top:5px !important;
    left:5px !important;
    gap:1px !important;
}

body:not(.cast-detail-page) .princess-home .premium-cast-badge,
body:not(.cast-detail-page) .princess-home .premium-cast-badge-img,
body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-new,
body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .princess-home .public-cast-badges img{
    width:30px !important;
    min-width:30px !important;
    max-width:30px !important;
    height:auto !important;
}

.princess-home .no-cast,
.princess-home .today-cast-empty,
.princess-home .no-schedule{
    min-height:260px !important;
    align-self:stretch !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .premium-hero{
        min-height:auto !important;
        padding:116px 14px 64px !important;
    }

    body:not(.cast-detail-page) .premium-hero-inner{
        grid-template-columns:1fr !important;
        grid-template-areas:
            "copy"
            "visual"
            "buttons" !important;
        gap:24px !important;
        padding:28px 18px !important;
        border-radius:26px !important;
    }

    .premium-hero-copy{
        text-align:center !important;
    }

    body:not(.cast-detail-page) .premium-hero .hero-sub{
        margin:18px auto 0 !important;
        font-size:15px !important;
    }

    .premium-hero-photo{
        max-width:300px !important;
        margin:0 auto !important;
        border-width:8px !important;
    }

    .premium-hero-buttons{
        gap:10px !important;
    }

    .premium-hero-buttons .reserve-btn,
    .premium-hero-buttons .btn,
    .premium-hero-buttons .hero-btn{
        width:100% !important;
        min-width:0 !important;
    }

    .princess-home{
        width:calc(100% - 24px) !important;
        margin:-26px auto 58px !important;
    }

    .princess-card-grid-top,
    .princess-card-grid-middle,
    .princess-card-grid-bottom{
        grid-template-columns:1fr !important;
        gap:18px !important;
    }

    .princess-card{
        border-radius:20px !important;
        padding:24px 16px !important;
    }

    .princess-home .all-cast-grid{
        grid-template-columns:1fr !important;
    }

    .today-schedule-item{
        grid-template-columns:72px minmax(0,1fr) !important;
        gap:12px !important;
    }

    .today-schedule-photo{
        width:72px !important;
    }

    body:not(.cast-detail-page) .princess-home .premium-cast-badge,
    body:not(.cast-detail-page) .princess-home .premium-cast-badge-img,
    body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-new,
    body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .princess-home .public-cast-badges img{
        width:26px !important;
        min-width:26px !important;
        max-width:26px !important;
    }
}

@media(max-width:768px){
    body:not(.cast-detail-page){
        padding-bottom:104px !important;
    }

    body:not(.cast-detail-page) .hero .hero-buttons .hero-btn.line{
        position:fixed !important;
        inset:auto 16px 16px 16px !important;
        z-index:2000 !important;
        width:auto !important;
        max-width:none !important;
        min-width:0 !important;
        height:56px !important;
        min-height:56px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        padding:0 20px !important;
        border-radius:999px !important;
        background:#ff7fb8 !important;
        color:#fff !important;
        text-align:center !important;
        white-space:nowrap !important;
        line-height:1 !important;
        letter-spacing:0 !important;
        text-indent:0 !important;
        text-transform:none !important;
        text-decoration:none !important;
        transform:none !important;
        rotate:none !important;
        scale:1 !important;
        translate:none !important;
        writing-mode:horizontal-tb !important;
        text-orientation:mixed !important;
        font-style:normal !important;
        font-family:"Noto Serif JP",serif !important;
        font-size:16px !important;
        font-weight:700 !important;
        box-shadow:0 12px 28px rgba(232,143,179,.38) !important;
    }

    body:not(.cast-detail-page) .cast-grid,
    body:not(.cast-detail-page) .all-cast-grid{
        display:grid !important;
        grid-template-columns:minmax(0,1fr) !important;
        gap:14px !important;
        width:100% !important;
        max-width:100% !important;
        padding:0 !important;
    }

    body:not(.cast-detail-page) .today-cast .cast-grid > .cast-card,
    body:not(.cast-detail-page) .all-cast-grid > .cast-card,
    body:not(.cast-detail-page) .cast-grid > .cast-card{
        display:flex !important;
        flex-direction:row !important;
        align-items:stretch !important;
        min-height:0 !important;
        height:auto !important;
        width:100% !important;
        padding:0 !important;
        border-radius:16px !important;
        overflow:hidden !important;
        text-align:left !important;
    }

    body:not(.cast-detail-page) .cast-grid > .cast-card > img,
    body:not(.cast-detail-page) .all-cast-grid > .cast-card > img,
    body:not(.cast-detail-page) .cast-grid > .cast-card > .cast-card-no-image,
    body:not(.cast-detail-page) .all-cast-grid > .cast-card > .cast-card-no-image{
        flex:0 0 40% !important;
        width:40% !important;
        max-width:40% !important;
        min-width:40% !important;
        height:164px !important;
        min-height:164px !important;
        aspect-ratio:auto !important;
        object-fit:cover !important;
        border-radius:16px 0 0 16px !important;
    }

    body:not(.cast-detail-page) .cast-grid > .cast-card > .cast-info,
    body:not(.cast-detail-page) .all-cast-grid > .cast-card > .cast-info{
        flex:1 1 auto !important;
        min-width:0 !important;
        padding:12px 14px !important;
        display:flex !important;
        flex-direction:column !important;
        justify-content:center !important;
        text-align:left !important;
    }

    body:not(.cast-detail-page) .cast-card .cast-info h3{
        margin:0 0 6px !important;
        font-size:20px !important;
        line-height:1.2 !important;
        text-align:left !important;
    }

    body:not(.cast-detail-page) .cast-card .cast-info p{
        margin:0 0 4px !important;
        padding:0 !important;
        color:#8c6876 !important;
        font-size:13px !important;
        line-height:1.35 !important;
        text-align:left !important;
    }

    body:not(.cast-detail-page) .cast-card .cast-info .cast-time{
        color:#d88fb1 !important;
        font-size:14px !important;
        font-weight:700 !important;
        margin-bottom:9px !important;
    }

    body:not(.cast-detail-page) .cast-card .cast-info .reserve-btn{
        align-self:flex-start !important;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        min-height:32px !important;
        padding:8px 14px !important;
        font-size:13px !important;
        line-height:1 !important;
        white-space:nowrap !important;
    }
}

/* Ver5.2.5 final override: real mobile selectors must win */
@media(max-width:768px){
    body:not(.cast-detail-page){
        padding-bottom:calc(112px + env(safe-area-inset-bottom)) !important;
    }

    body:not(.cast-detail-page) a.fixed-line-reservation,
    body:not(.cast-detail-page) a.hero-btn.line{
        position:fixed !important;
        left:16px !important;
        right:16px !important;
        bottom:calc(16px + env(safe-area-inset-bottom)) !important;
        z-index:9999 !important;
        width:auto !important;
        max-width:none !important;
        height:56px !important;
        min-height:56px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        padding:0 18px !important;
        margin:0 !important;
        border-radius:999px !important;
        background:#ff7fb8 !important;
        color:#fff !important;
        font-family:"Noto Serif JP",sans-serif !important;
        font-size:16px !important;
        font-weight:700 !important;
        font-style:normal !important;
        line-height:1 !important;
        letter-spacing:0 !important;
        text-align:center !important;
        text-indent:0 !important;
        text-decoration:none !important;
        text-transform:none !important;
        white-space:nowrap !important;
        transform:none !important;
        rotate:none !important;
        scale:1 !important;
        translate:none !important;
        writing-mode:horizontal-tb !important;
        text-orientation:mixed !important;
        box-shadow:0 12px 28px rgba(232,143,179,.38) !important;
    }

    body:not(.cast-detail-page) .cast-grid,
    body:not(.cast-detail-page) .all-cast-grid{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:14px !important;
        width:100% !important;
        max-width:100% !important;
        margin:0 auto !important;
        padding:0 !important;
        justify-content:stretch !important;
    }

    body:not(.cast-detail-page) .public-cast-card{
        display:flex !important;
        flex-direction:row !important;
        align-items:stretch !important;
        width:100% !important;
        min-width:0 !important;
        min-height:0 !important;
        height:auto !important;
        padding:0 !important;
        border-radius:16px !important;
        overflow:hidden !important;
        background:#fff !important;
        text-align:left !important;
    }

    body:not(.cast-detail-page) .public-cast-card > .public-cast-image{
        flex:0 0 40% !important;
        width:40% !important;
        max-width:40% !important;
        min-width:40% !important;
        height:164px !important;
        min-height:164px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        object-fit:cover !important;
        border-radius:16px 0 0 16px !important;
    }

    body:not(.cast-detail-page) .public-cast-card > .public-cast-info{
        flex:1 1 auto !important;
        min-width:0 !important;
        padding:12px 14px !important;
        display:flex !important;
        flex-direction:column !important;
        justify-content:center !important;
        text-align:left !important;
    }

    body:not(.cast-detail-page) .public-cast-info h3{
        margin:0 0 6px !important;
        padding:0 !important;
        color:#6d4a58 !important;
        font-size:20px !important;
        line-height:1.2 !important;
        text-align:left !important;
    }

    body:not(.cast-detail-page) .public-cast-info p{
        margin:0 0 4px !important;
        padding:0 !important;
        color:#8c6876 !important;
        font-size:13px !important;
        line-height:1.35 !important;
        text-align:left !important;
    }

    body:not(.cast-detail-page) .public-cast-info .cast-time{
        color:#d88fb1 !important;
        font-size:14px !important;
        font-weight:700 !important;
        margin-bottom:9px !important;
    }

    body:not(.cast-detail-page) .public-profile-link{
        align-self:flex-start !important;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        min-height:32px !important;
        padding:8px 14px !important;
        border-radius:999px !important;
        font-size:13px !important;
        line-height:1 !important;
        white-space:nowrap !important;
    }
}

/* Ver5.2.6: actual inline mobile CTA and compact public cast cards */
@media(max-width:768px){
    body:not(.cast-detail-page){
        padding-bottom:0 !important;
    }

    body:not(.cast-detail-page) .hero-buttons{
        width:100% !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;
        gap:0 !important;
    }

    body:not(.cast-detail-page) .hero .hero-content .hero-buttons a.fixed-line-reservation.hero-btn.line,
    body:not(.cast-detail-page) .hero .hero-content .hero-buttons a.hero-btn.line,
    body:not(.cast-detail-page) .hero .hero-buttons a.fixed-line-reservation.hero-btn.line,
    body:not(.cast-detail-page) .hero .hero-buttons a.hero-btn.line,
    body:not(.cast-detail-page) a.fixed-line-reservation,
    body:not(.cast-detail-page) a.hero-btn.line{
        position:static !important;
        inset:auto !important;
        top:auto !important;
        right:auto !important;
        bottom:auto !important;
        left:auto !important;
        width:calc(100% - 32px) !important;
        max-width:420px !important;
        min-width:0 !important;
        height:56px !important;
        min-height:56px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        box-sizing:border-box !important;
        padding:0 18px !important;
        margin:24px auto 0 !important;
        border-radius:999px !important;
        background:#ff7fb8 !important;
        color:#fff !important;
        font-family:"Noto Serif JP",sans-serif !important;
        font-size:16px !important;
        font-weight:700 !important;
        font-style:normal !important;
        line-height:1 !important;
        letter-spacing:.08em !important;
        text-align:center !important;
        text-indent:0 !important;
        text-decoration:none !important;
        text-transform:none !important;
        white-space:nowrap !important;
        transform:none !important;
        rotate:none !important;
        scale:1 !important;
        translate:none !important;
        writing-mode:horizontal-tb !important;
        text-orientation:mixed !important;
        box-shadow:0 10px 24px rgba(232,143,179,.32) !important;
    }

    body:not(.cast-detail-page) .public-cast-card{
        display:flex !important;
        flex-direction:row !important;
        align-items:stretch !important;
        width:100% !important;
        min-width:0 !important;
        min-height:0 !important;
        height:auto !important;
        padding:0 !important;
        border:0 !important;
        border-radius:16px !important;
        overflow:hidden !important;
        background:#fff !important;
        text-align:left !important;
    }

    body:not(.cast-detail-page) .public-cast-card > .public-cast-image{
        flex:0 0 40% !important;
        width:40% !important;
        max-width:40% !important;
        min-width:40% !important;
        height:172px !important;
        min-height:172px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        object-fit:cover !important;
        border:0 !important;
        border-radius:16px 0 0 16px !important;
    }

    body:not(.cast-detail-page) .public-cast-card > .public-cast-info{
        flex:1 1 auto !important;
        min-width:0 !important;
        padding:12px 14px !important;
        display:flex !important;
        flex-direction:column !important;
        justify-content:center !important;
        text-align:left !important;
    }

    body:not(.cast-detail-page) .public-cast-info h3{
        margin:0 0 6px !important;
        padding:0 !important;
        color:#6d4a58 !important;
        font-size:20px !important;
        line-height:1.2 !important;
        text-align:left !important;
    }

    body:not(.cast-detail-page) .public-cast-info p{
        display:block !important;
        margin:0 0 4px !important;
        padding:0 !important;
        color:#8c6876 !important;
        font-size:13px !important;
        line-height:1.35 !important;
        text-align:left !important;
    }

    body:not(.cast-detail-page) .public-cast-info .cast-time{
        display:block !important;
        color:#d88fb1 !important;
        font-size:14px !important;
        font-weight:700 !important;
        margin-bottom:9px !important;
    }

    body:not(.cast-detail-page) .public-profile-link{
        align-self:flex-start !important;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        min-height:32px !important;
        padding:8px 14px !important;
        border-radius:999px !important;
        font-size:13px !important;
        line-height:1 !important;
        white-space:nowrap !important;
    }
}

/* Ver5.4.2 end-of-file override */
@media(max-width:768px){
    body:not(.cast-detail-page) .hero-catch{
        font-size:24px !important;
        line-height:1.55 !important;
        margin:0 auto 18px !important;
        text-align:center !important;
        transform:none !important;
    }

    body:not(.cast-detail-page) .hero-sub{
        font-size:18px !important;
        line-height:1.65 !important;
        margin:22px auto 26px !important;
        padding:0 !important;
        text-align:center !important;
        transform:none !important;
    }

    body:not(.cast-detail-page) .news{
        padding:56px 16px 64px !important;
        margin:0 auto !important;
        text-align:center !important;
        position:relative !important;
        overflow:visible !important;
    }

    body:not(.cast-detail-page) .news-list.public-news-list{
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        gap:18px !important;
        width:100% !important;
        max-width:100% !important;
        margin:0 auto !important;
        padding:0 !important;
        position:static !important;
        transform:none !important;
        overflow:visible !important;
    }

    body:not(.cast-detail-page) .news .public-news-card,
    body:not(.cast-detail-page) .news .public-news-body{
        width:100% !important;
        max-width:100% !important;
        margin:0 auto !important;
        position:static !important;
        transform:none !important;
        box-sizing:border-box !important;
        overflow:visible !important;
    }

    body:not(.cast-detail-page) .news .public-news-body{
        display:flex !important;
        flex-direction:column !important;
        align-items:flex-start !important;
        gap:10px !important;
        padding:18px !important;
        text-align:left !important;
    }

    body:not(.cast-detail-page) .news .public-news-meta{
        order:1 !important;
        display:flex !important;
        position:static !important;
        margin:0 !important;
    }

    body:not(.cast-detail-page) .news .public-news-card h3{
        order:2 !important;
        width:100% !important;
        margin:0 !important;
        font-size:20px !important;
        line-height:1.45 !important;
        position:static !important;
        text-align:left !important;
    }

    body:not(.cast-detail-page) .news .public-news-card p{
        order:3 !important;
        width:100% !important;
        margin:0 !important;
        font-size:14px !important;
        line-height:1.75 !important;
        position:static !important;
        text-align:left !important;
    }

    body:not(.cast-detail-page) .news .public-news-link{
        order:4 !important;
        position:static !important;
        align-self:flex-start !important;
        margin:4px 0 0 !important;
        transform:none !important;
    }

    body:not(.cast-detail-page) .news-more{
        width:100% !important;
        max-width:calc(100% - 32px) !important;
        margin:28px auto 0 !important;
        position:static !important;
        transform:none !important;
        text-align:center !important;
    }

    body:not(.cast-detail-page) .news-more .reserve-btn{
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        min-width:150px !important;
        min-height:44px !important;
        margin:0 auto !important;
        position:static !important;
        transform:none !important;
        text-align:center !important;
    }

    body:not(.cast-detail-page) .concept{
        padding:72px 16px 56px !important;
        margin:0 auto !important;
        text-align:center !important;
        position:relative !important;
        overflow:visible !important;
    }
}

/* Ver5.4.3: final mobile-only news layout overrides */
@media (max-width: 768px){
    body:not(.cast-detail-page) .hero-catch,
    body:not(.cast-detail-page) .hero-sub{
        display:block !important;
        width:100% !important;
        max-width:calc(100% - 32px) !important;
        margin-left:auto !important;
        margin-right:auto !important;
        padding-left:0 !important;
        padding-right:0 !important;
        box-sizing:border-box !important;
        position:relative !important;
        left:auto !important;
        right:auto !important;
        top:auto !important;
        bottom:auto !important;
        transform:none !important;
        translate:none !important;
        text-align:center !important;
        white-space:normal !important;
        overflow-wrap:normal !important;
        word-break:keep-all !important;
        line-break:strict !important;
    }

    body:not(.cast-detail-page) .hero-catch{
        font-size:23px !important;
        line-height:1.55 !important;
        margin-top:0 !important;
        margin-bottom:18px !important;
    }

    body:not(.cast-detail-page) .hero-sub{
        font-size:17px !important;
        line-height:1.7 !important;
        margin-top:20px !important;
        margin-bottom:26px !important;
    }

    body:not(.cast-detail-page) .news,
    body:not(.cast-detail-page) .news-list.public-news-list,
    body:not(.cast-detail-page) .news .public-news-card,
    body:not(.cast-detail-page) .news .public-news-body,
    body:not(.cast-detail-page) .news .public-news-meta,
    body:not(.cast-detail-page) .news .public-news-card h3,
    body:not(.cast-detail-page) .news .public-news-card p,
    body:not(.cast-detail-page) .news .public-news-link{
        width:100% !important;
        max-width:calc(100% - 32px) !important;
        margin-left:auto !important;
        margin-right:auto !important;
        box-sizing:border-box !important;
        position:static !important;
        left:auto !important;
        right:auto !important;
        top:auto !important;
        bottom:auto !important;
        transform:none !important;
        translate:none !important;
        float:none !important;
        clear:none !important;
        min-width:0 !important;
        height:auto !important;
        min-height:0 !important;
        overflow:visible !important;
    }

    body:not(.cast-detail-page) .news{
        display:block !important;
        max-width:100% !important;
        margin-top:0 !important;
        margin-bottom:0 !important;
        padding:56px 16px 68px !important;
        text-align:center !important;
    }

    body:not(.cast-detail-page) .news-list.public-news-list{
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:flex-start !important;
        gap:18px !important;
        padding:0 !important;
        text-align:left !important;
    }

    body:not(.cast-detail-page) .news .public-news-card{
        display:block !important;
        padding:0 !important;
        border-radius:18px !important;
        text-align:left !important;
    }

    body:not(.cast-detail-page) .news .public-news-body{
        display:flex !important;
        flex-direction:column !important;
        align-items:flex-start !important;
        justify-content:flex-start !important;
        gap:11px !important;
        max-width:100% !important;
        margin:0 !important;
        padding:18px !important;
        text-align:left !important;
    }

    body:not(.cast-detail-page) .news .public-news-meta{
        order:1 !important;
        display:flex !important;
        flex-wrap:wrap !important;
        align-items:center !important;
        justify-content:flex-start !important;
        gap:8px !important;
        max-width:100% !important;
        margin:0 !important;
        padding:0 !important;
    }

    body:not(.cast-detail-page) .news .public-news-card h3{
        order:2 !important;
        display:block !important;
        max-width:100% !important;
        margin:0 !important;
        padding:0 !important;
        font-size:20px !important;
        line-height:1.45 !important;
        text-align:left !important;
        white-space:normal !important;
        overflow-wrap:anywhere !important;
    }

    body:not(.cast-detail-page) .news .public-news-card p{
        order:3 !important;
        display:block !important;
        max-width:100% !important;
        margin:0 !important;
        padding:0 !important;
        font-size:14px !important;
        line-height:1.75 !important;
        text-align:left !important;
        white-space:normal !important;
        overflow-wrap:anywhere !important;
    }

    body:not(.cast-detail-page) .news .public-news-link{
        order:4 !important;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        align-self:flex-start !important;
        width:auto !important;
        max-width:100% !important;
        min-height:40px !important;
        margin:4px 0 0 !important;
        padding:9px 18px !important;
        z-index:auto !important;
        text-align:center !important;
        white-space:nowrap !important;
    }

    body:not(.cast-detail-page) .news-more{
        display:block !important;
        width:100% !important;
        max-width:calc(100% - 32px) !important;
        margin:20px auto 0 !important;
        padding:0 !important;
        box-sizing:border-box !important;
        position:static !important;
        left:auto !important;
        right:auto !important;
        top:auto !important;
        bottom:auto !important;
        transform:none !important;
        translate:none !important;
        text-align:center !important;
        overflow:visible !important;
        z-index:auto !important;
    }

    body:not(.cast-detail-page) .news-more .reserve-btn{
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:auto !important;
        min-width:150px !important;
        max-width:100% !important;
        min-height:44px !important;
        margin:0 auto !important;
        padding:12px 22px !important;
        box-sizing:border-box !important;
        position:static !important;
        left:auto !important;
        right:auto !important;
        top:auto !important;
        bottom:auto !important;
        transform:none !important;
        translate:none !important;
        text-align:center !important;
        white-space:nowrap !important;
        z-index:auto !important;
    }

    body:not(.cast-detail-page) .concept{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        margin:24px auto 0 !important;
        padding:76px 16px 56px !important;
        box-sizing:border-box !important;
        position:relative !important;
        left:auto !important;
        right:auto !important;
        top:auto !important;
        bottom:auto !important;
        transform:none !important;
        translate:none !important;
        clear:both !important;
        overflow:visible !important;
        text-align:center !important;
    }
}

/* =========================================================
   ChouChou Ver5.9 Cast Card / Badge FINAL CLEAN
   ここから下でキャストカードとバッジを一括管理
   ========================================================= */

/* ===== Public Cast Card Layout ===== */
body:not(.cast-detail-page) .cast-grid,
body:not(.cast-detail-page) .all-cast-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:22px !important;
    align-items:stretch !important;
    max-width:1200px !important;
    margin:0 auto !important;
}

body:not(.cast-detail-page) .public-cast-card{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    min-width:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#fff !important;
    border:1px solid rgba(242,188,215,.72) !important;
    border-radius:22px !important;
    box-shadow:0 14px 34px rgba(212,92,148,.18) !important;
    text-align:left !important;
}

body:not(.cast-detail-page) .public-cast-photo{
    position:relative !important;
    display:block !important;
    width:100% !important;
    aspect-ratio:4/5 !important;
    overflow:hidden !important;
    background:linear-gradient(135deg,#fff2f8,#f8dfe9) !important;
}

body:not(.cast-detail-page) .public-cast-photo > .public-cast-image,
body:not(.cast-detail-page) .public-cast-card > .public-cast-image{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    border-radius:0 !important;
}

body:not(.cast-detail-page) .public-cast-photo > .cast-card-no-image{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:#c780a3 !important;
    font-weight:700 !important;
}

body:not(.cast-detail-page) .public-cast-info{
    display:flex !important;
    flex:1 1 auto !important;
    flex-direction:column !important;
    gap:8px !important;
    width:100% !important;
    padding:15px !important;
    background:#fff !important;
    text-align:left !important;
}

body:not(.cast-detail-page) .public-cast-info h3{
    margin:0 !important;
    color:#392330 !important;
    font-size:22px !important;
    font-weight:800 !important;
    line-height:1.25 !important;
    text-align:left !important;
}

body:not(.cast-detail-page) .public-cast-profile-line{
    margin:0 !important;
    color:#9a647c !important;
    font-size:14px !important;
    font-weight:700 !important;
    line-height:1.35 !important;
    text-align:left !important;
}

body:not(.cast-detail-page) .public-cast-schedule{
    margin:0 !important;
    color:#8e5f76 !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1.4 !important;
    text-align:left !important;
}

body:not(.cast-detail-page) .public-cast-tags{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:6px !important;
    min-height:24px !important;
    margin:2px 0 0 !important;
    padding:0 !important;
}

body:not(.cast-detail-page) .public-cast-tags span{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:24px !important;
    border:1px solid rgba(240,178,207,.82) !important;
    border-radius:999px !important;
    background:linear-gradient(180deg,#fff8fb,#ffe8f2) !important;
    color:#b05c87 !important;
    font-size:11px !important;
    font-weight:700 !important;
    line-height:1 !important;
    padding:5px 9px !important;
    white-space:nowrap !important;
}

body:not(.cast-detail-page) .public-profile-link{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    align-self:flex-start !important;
    min-width:118px !important;
    min-height:38px !important;
    margin-top:6px !important;
    padding:9px 18px !important;
    border-radius:999px !important;
    background:linear-gradient(135deg,#e9a8c8,#d85a9b) !important;
    color:#fff !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1 !important;
    text-decoration:none !important;
    box-shadow:0 8px 18px rgba(216,90,155,.22) !important;
}

@media(max-width:1180px){
    body:not(.cast-detail-page) .cast-grid,
    body:not(.cast-detail-page) .all-cast-grid{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }
}

@media(max-width:900px){
    body:not(.cast-detail-page) .cast-grid,
    body:not(.cast-detail-page) .all-cast-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media(max-width:768px){
    body:not(.cast-detail-page) .cast-grid,
    body:not(.cast-detail-page) .all-cast-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:14px !important;
        padding-left:12px !important;
        padding-right:12px !important;
    }

    body:not(.cast-detail-page) .public-cast-card{
        border-radius:17px !important;
    }

    body:not(.cast-detail-page) .public-cast-photo{
        aspect-ratio:4/5 !important;
    }

    body:not(.cast-detail-page) .public-cast-info{
        gap:6px !important;
        padding:11px 10px !important;
    }

    body:not(.cast-detail-page) .public-cast-info h3{
        font-size:17px !important;
        line-height:1.25 !important;
    }

    body:not(.cast-detail-page) .public-cast-profile-line{
        font-size:12px !important;
    }

    body:not(.cast-detail-page) .public-cast-schedule{
        font-size:11px !important;
        line-height:1.35 !important;
    }

    body:not(.cast-detail-page) .public-cast-tags span{
        min-height:21px !important;
        padding:4px 7px !important;
        font-size:10px !important;
    }

    body:not(.cast-detail-page) .public-profile-link{
        min-width:96px !important;
        min-height:34px !important;
        padding:8px 13px !important;
        font-size:11px !important;
    }
}

/* ===== Badge Layout / Size - Single Source of Truth ===== */
.public-cast-badges,
.cast-detail-image-badges,
.cast-detail-badges,
.cast-badge-layer{
    position:absolute !important;
    top:10px !important;
    left:10px !important;
    right:auto !important;
    bottom:auto !important;
    z-index:9999 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:5px !important;
    width:auto !important;
    max-width:calc(100% - 20px) !important;
    height:auto !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:none !important;
    transform:none !important;
    animation:none !important;
}

.premium-cast-badge{
    display:block !important;
    flex:0 0 auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    animation:none !important;
    overflow:visible !important;
}

.premium-cast-badge::before,
.premium-cast-badge::after{
    content:none !important;
    display:none !important;
}

.premium-cast-badge-img{
    display:block !important;
    height:auto !important;
    min-width:0 !important;
    max-width:none !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    animation:none !important;
    object-fit:contain !important;
    filter:drop-shadow(0 7px 14px rgba(80,45,35,.28)) !important;
}

/* PC公開HP */
body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-img-new{
    width:62px !important;
}
body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-img-recommended{
    width:72px !important;
}

/* キャスト詳細 */
.cast-detail-image-badges .premium-cast-badge-img-new,
.cast-detail-badges .premium-cast-badge-img-new{
    width:62px !important;
}
.cast-detail-image-badges .premium-cast-badge-img-recommended,
.cast-detail-badges .premium-cast-badge-img-recommended{
    width:72px !important;
}

/* 管理画面：三本線の下に縦並び */
.admin-cast-card .admin-cast-badges,
.admin-cast-card .cast-badge-layer,
.cast-admin-card .admin-cast-badges,
.cast-admin-card .cast-badge-layer{
    top:54px !important;
    left:14px !important;
    flex-direction:column !important;
    gap:4px !important;
}

.admin-cast-card .premium-cast-badge-img-new,
.cast-admin-card .premium-cast-badge-img-new,
.admin-cast-badges .premium-cast-badge-img-new{
    width:52px !important;
}
.admin-cast-card .premium-cast-badge-img-recommended,
.cast-admin-card .premium-cast-badge-img-recommended,
.admin-cast-badges .premium-cast-badge-img-recommended{
    width:58px !important;
}

/* スマホ公開HP：小さすぎず邪魔しないサイズ */
@media(max-width:768px){
    body:not(.cast-detail-page) .public-cast-badges{
        top:6px !important;
        left:6px !important;
        gap:3px !important;
    }

    body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-img-new{
        width:36px !important;
    }

    body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-img-recommended{
        width:42px !important;
    }

    .cast-detail-image-badges .premium-cast-badge-img-new,
    .cast-detail-badges .premium-cast-badge-img-new{
        width:42px !important;
    }

    .cast-detail-image-badges .premium-cast-badge-img-recommended,
    .cast-detail-badges .premium-cast-badge-img-recommended{
        width:48px !important;
    }
}

/* Ver6.0.1: styles for the actual cast-card elements in use */
body:not(.cast-detail-page) .today-cast .cast-card,
body:not(.cast-detail-page) .all-cast-grid .cast-card{
    position:relative !important;
}

body:not(.cast-detail-page) .today-cast .cast-card .public-cast-badges,
body:not(.cast-detail-page) .all-cast-grid .cast-card .public-cast-badges{
    position:absolute !important;
    top:12px !important;
    left:12px !important;
    z-index:30 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:6px !important;
    width:auto !important;
    max-width:calc(100% - 24px) !important;
    pointer-events:none !important;
}

body:not(.cast-detail-page) .today-cast .cast-card .premium-cast-badge-img-new,
body:not(.cast-detail-page) .today-cast .cast-card .premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .all-cast-grid .cast-card .premium-cast-badge-img-new,
body:not(.cast-detail-page) .all-cast-grid .cast-card .premium-cast-badge-img-recommended{
    width:48px !important;
    height:auto !important;
}

body:not(.cast-detail-page) .today-cast .cast-card .premium-cast-badge-img,
body:not(.cast-detail-page) .all-cast-grid .cast-card .premium-cast-badge-img,
body:not(.cast-detail-page) .public-cast-badges img{
    height:auto !important;
}

body:not(.cast-detail-page) .today-cast .cast-card .premium-cast-badge-img-new,
body:not(.cast-detail-page) .all-cast-grid .cast-card .premium-cast-badge-img-new,
body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-new{
    width:58px !important;
}

body:not(.cast-detail-page) .today-cast .cast-card .premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .all-cast-grid .cast-card .premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-recommended{
    width:66px !important;
}

.today-cast .no-cast{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:180px !important;
    text-align:center !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .today-cast .cast-card,
    body:not(.cast-detail-page) .all-cast-grid .cast-card{
        display:flex !important;
        flex-direction:column !important;
        align-items:stretch !important;
        text-align:center !important;
        min-height:0 !important;
        padding-bottom:0 !important;
        border-radius:17px !important;
    }

    body:not(.cast-detail-page) .today-cast .cast-card .public-cast-photo,
    body:not(.cast-detail-page) .all-cast-grid .cast-card .public-cast-photo,
    body:not(.cast-detail-page) .today-cast .cast-card .public-cast-image,
    body:not(.cast-detail-page) .all-cast-grid .cast-card .public-cast-image,
    body:not(.cast-detail-page) .today-cast .cast-card img,
    body:not(.cast-detail-page) .all-cast-grid .cast-card img,
    body:not(.cast-detail-page) .today-cast .cast-card-no-image,
    body:not(.cast-detail-page) .all-cast-grid .cast-card-no-image{
        width:100% !important;
        max-width:none !important;
        min-width:0 !important;
    }

    body:not(.cast-detail-page) .today-cast .cast-card .public-cast-photo,
    body:not(.cast-detail-page) .all-cast-grid .cast-card .public-cast-photo{
        position:relative !important;
        display:block !important;
        aspect-ratio:4/5 !important;
        flex:none !important;
    }

    body:not(.cast-detail-page) .today-cast .cast-card .public-cast-image,
    body:not(.cast-detail-page) .all-cast-grid .cast-card .public-cast-image,
    body:not(.cast-detail-page) .today-cast .cast-card img,
    body:not(.cast-detail-page) .all-cast-grid .cast-card img,
    body:not(.cast-detail-page) .today-cast .cast-card-no-image,
    body:not(.cast-detail-page) .all-cast-grid .cast-card-no-image{
        height:100% !important;
        border-radius:17px 17px 0 0 !important;
        object-fit:cover !important;
    }

    body:not(.cast-detail-page) .today-cast .cast-card .cast-info,
    body:not(.cast-detail-page) .all-cast-grid .cast-card .cast-info,
    body:not(.cast-detail-page) .today-cast .cast-card .public-cast-info,
    body:not(.cast-detail-page) .all-cast-grid .cast-card .public-cast-info{
        width:100% !important;
        max-width:none !important;
        min-width:0 !important;
        box-sizing:border-box !important;
        padding:11px 10px !important;
        text-align:center !important;
        align-items:center !important;
    }

    body:not(.cast-detail-page) .today-cast .cast-card h3,
    body:not(.cast-detail-page) .all-cast-grid .cast-card h3,
    body:not(.cast-detail-page) .today-cast .cast-card p,
    body:not(.cast-detail-page) .all-cast-grid .cast-card p{
        text-align:center !important;
    }

    body:not(.cast-detail-page) .today-cast .cast-card .reserve-btn,
    body:not(.cast-detail-page) .all-cast-grid .cast-card .reserve-btn,
    body:not(.cast-detail-page) .today-cast .cast-card .public-profile-link,
    body:not(.cast-detail-page) .all-cast-grid .cast-card .public-profile-link{
        width:100% !important;
        min-width:0 !important;
        box-sizing:border-box !important;
        align-self:stretch !important;
        justify-content:center !important;
        text-align:center !important;
    }

    body:not(.cast-detail-page) .today-cast .cast-card .public-cast-badges,
    body:not(.cast-detail-page) .all-cast-grid .cast-card .public-cast-badges{
        top:8px !important;
        left:8px !important;
        max-width:calc(100% - 16px) !important;
    }

    body:not(.cast-detail-page) .today-cast .cast-card .premium-cast-badge-img-new,
    body:not(.cast-detail-page) .today-cast .cast-card .premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .all-cast-grid .cast-card .premium-cast-badge-img-new,
    body:not(.cast-detail-page) .all-cast-grid .cast-card .premium-cast-badge-img-recommended{
        width:44px !important;
        height:auto !important;
    }

    body:not(.cast-detail-page) .today-cast .cast-card .premium-cast-badge-img-new,
    body:not(.cast-detail-page) .all-cast-grid .cast-card .premium-cast-badge-img-new,
    body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-new{
        width:44px !important;
    }

    body:not(.cast-detail-page) .today-cast .cast-card .premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .all-cast-grid .cast-card .premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-recommended{
        width:50px !important;
    }
}

/* Final badge position and size */
body:not(.cast-detail-page) .today-cast .cast-card .public-cast-badges,
body:not(.cast-detail-page) .all-cast-grid .cast-card .public-cast-badges,
body:not(.cast-detail-page) .public-cast-badges{
    position:absolute !important;
    top:6px !important;
    left:4px !important;
    right:auto !important;
    bottom:auto !important;
    z-index:9999 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:0 !important;
    width:auto !important;
    max-width:calc(100% - 8px) !important;
    pointer-events:none !important;
    transform:none !important;
}

body:not(.cast-detail-page) .today-cast .cast-card .premium-cast-badge,
body:not(.cast-detail-page) .all-cast-grid .cast-card .premium-cast-badge,
body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge{
    display:block !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    margin-left:0 !important;
    margin-top:0 !important;
    padding:0 !important;
    align-self:flex-start !important;
    transform:none !important;
}

body:not(.cast-detail-page) .today-cast .cast-card .premium-cast-badge-img,
body:not(.cast-detail-page) .all-cast-grid .cast-card .premium-cast-badge-img,
body:not(.cast-detail-page) .public-cast-badges img{
    display:block !important;
    width:90px !important;
    height:auto !important;
    max-width:none !important;
    margin:0 !important;
    margin-left:0 !important;
    padding:0 !important;
    align-self:flex-start !important;
    object-fit:contain !important;
    transform:none !important;
}

body:not(.cast-detail-page) .today-cast .cast-card .premium-cast-badge-img-new,
body:not(.cast-detail-page) .all-cast-grid .cast-card .premium-cast-badge-img-new,
body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-new{
    width:82px !important;
}

body:not(.cast-detail-page) .today-cast .cast-card .premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .all-cast-grid .cast-card .premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-recommended{
    width:90px !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .today-cast .cast-card .public-cast-badges,
    body:not(.cast-detail-page) .all-cast-grid .cast-card .public-cast-badges,
    body:not(.cast-detail-page) .public-cast-badges{
        top:5px !important;
        left:3px !important;
        gap:0 !important;
        max-width:calc(100% - 6px) !important;
    }

    body:not(.cast-detail-page) .today-cast .cast-card .premium-cast-badge-img-new,
    body:not(.cast-detail-page) .all-cast-grid .cast-card .premium-cast-badge-img-new,
    body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-new{
        width:64px !important;
    }

    body:not(.cast-detail-page) .today-cast .cast-card .premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .all-cast-grid .cast-card .premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-recommended{
        width:72px !important;
    }
}

/* Force public badge size and position */
body:not(.cast-detail-page) .today-cast .cast-card{
    position:relative !important;
}

body:not(.cast-detail-page) .all-cast-grid .cast-card{
    position:relative !important;
}

body:not(.cast-detail-page) .public-cast-badges,
body:not(.cast-detail-page) .public-cast-badges.cast-badge-layer,
body:not(.cast-detail-page) .today-cast .cast-card .public-cast-badges,
body:not(.cast-detail-page) .today-cast .cast-card .public-cast-badges.cast-badge-layer,
body:not(.cast-detail-page) .all-cast-grid .cast-card .public-cast-badges,
body:not(.cast-detail-page) .all-cast-grid .cast-card .public-cast-badges.cast-badge-layer{
    position:absolute !important;
    top:2px !important;
    left:-6px !important;
    right:auto !important;
    bottom:auto !important;
    z-index:99999 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:0 !important;
    width:auto !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    pointer-events:none !important;
    transform:none !important;
}

body:not(.cast-detail-page) .premium-cast-badge,
body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge,
body:not(.cast-detail-page) .today-cast .cast-card .premium-cast-badge,
body:not(.cast-detail-page) .all-cast-grid .cast-card .premium-cast-badge{
    display:block !important;
    width:auto !important;
    height:auto !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    margin-left:0 !important;
    margin-top:0 !important;
    padding:0 !important;
    align-self:flex-start !important;
    transform:none !important;
}

body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge + .premium-cast-badge,
body:not(.cast-detail-page) .today-cast .cast-card .premium-cast-badge + .premium-cast-badge,
body:not(.cast-detail-page) .all-cast-grid .cast-card .premium-cast-badge + .premium-cast-badge{
    margin-top:-4px !important;
}

body:not(.cast-detail-page) .public-cast-badges img,
body:not(.cast-detail-page) .premium-cast-badge img,
body:not(.cast-detail-page) .premium-cast-badge-img,
body:not(.cast-detail-page) .today-cast .cast-card .premium-cast-badge-img,
body:not(.cast-detail-page) .all-cast-grid .cast-card .premium-cast-badge-img{
    display:block !important;
    width:100px !important;
    height:auto !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    margin-left:0 !important;
    padding:0 !important;
    align-self:flex-start !important;
    object-fit:contain !important;
    transform:none !important;
}

body:not(.cast-detail-page) .premium-cast-badge-img-new,
body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-img-new,
body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-new,
body:not(.cast-detail-page) .today-cast .cast-card .premium-cast-badge-img-new,
body:not(.cast-detail-page) .all-cast-grid .cast-card .premium-cast-badge-img-new{
    width:92px !important;
}

body:not(.cast-detail-page) .premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .today-cast .cast-card .premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .all-cast-grid .cast-card .premium-cast-badge-img-recommended{
    width:100px !important;
    transform:translateX(-4px) !important;
}

.today-empty,
.today-cast-empty,
.no-schedule,
.no-cast,
.today-cast .no-cast{
    width:100% !important;
    text-align:center !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    grid-column:1/-1 !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .public-cast-badges,
    body:not(.cast-detail-page) .public-cast-badges.cast-badge-layer,
    body:not(.cast-detail-page) .today-cast .cast-card .public-cast-badges,
    body:not(.cast-detail-page) .today-cast .cast-card .public-cast-badges.cast-badge-layer,
    body:not(.cast-detail-page) .all-cast-grid .cast-card .public-cast-badges,
    body:not(.cast-detail-page) .all-cast-grid .cast-card .public-cast-badges.cast-badge-layer{
        top:2px !important;
        left:-8px !important;
        gap:0 !important;
        max-width:none !important;
    }

    body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge + .premium-cast-badge,
    body:not(.cast-detail-page) .today-cast .cast-card .premium-cast-badge + .premium-cast-badge,
    body:not(.cast-detail-page) .all-cast-grid .cast-card .premium-cast-badge + .premium-cast-badge{
        margin-top:-5px !important;
    }

    body:not(.cast-detail-page) .premium-cast-badge-img-new,
    body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-img-new,
    body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-new,
    body:not(.cast-detail-page) .today-cast .cast-card .premium-cast-badge-img-new,
    body:not(.cast-detail-page) .all-cast-grid .cast-card .premium-cast-badge-img-new{
        width:58px !important;
    }

    body:not(.cast-detail-page) .premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .today-cast .cast-card .premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .all-cast-grid .cast-card .premium-cast-badge-img-recommended{
        width:66px !important;
        transform:translateX(-3px) !important;
    }
}

/* Ver5.1 Princess Pink final winning overrides */
body:not(.cast-detail-page) .hero{
    min-height:92vh !important;
    padding:150px 18px 86px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    background:
        radial-gradient(circle at 50% 40%, rgba(255,255,255,.88), rgba(255,244,250,.66) 34%, transparent 58%),
        radial-gradient(circle at 18% 20%, rgba(255,199,226,.72), transparent 25%),
        radial-gradient(circle at 84% 18%, rgba(255,255,255,.88), transparent 22%),
        linear-gradient(135deg,#fff7fb 0%,#ffddea 48%,#fff9fd 100%) !important;
}

body:not(.cast-detail-page) .hero::before{
    content:"" !important;
    position:absolute !important;
    inset:18px !important;
    border:1px solid rgba(255,255,255,.86) !important;
    outline:1px solid rgba(216,90,155,.24) !important;
    outline-offset:-10px !important;
    border-radius:34px !important;
    pointer-events:none !important;
    background:
        radial-gradient(circle at 50% 0, rgba(255,255,255,.96) 0 7px, transparent 8px) 0 0/28px 15px repeat-x,
        radial-gradient(circle at 50% 100%, rgba(255,255,255,.96) 0 7px, transparent 8px) 0 100%/28px 15px repeat-x !important;
}

body:not(.cast-detail-page) .hero::after{
    content:"" !important;
    position:absolute !important;
    width:184px !important;
    height:42px !important;
    top:108px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    border-radius:999px 999px 18px 18px !important;
    background:linear-gradient(90deg,#f5a3c6,#fff,#f5a3c6) !important;
    box-shadow:0 10px 28px rgba(216,90,155,.2) !important;
    pointer-events:none !important;
}

body:not(.cast-detail-page) .hero-content{
    position:relative !important;
    z-index:2 !important;
    width:min(980px,100%) !important;
    max-width:980px !important;
    margin:0 auto !important;
    padding:54px 34px 46px !important;
    text-align:center !important;
}

body:not(.cast-detail-page) .hero-catch{
    display:inline-flex !important;
    align-items:center !important;
    gap:12px !important;
    margin:0 0 18px !important;
    padding:9px 22px !important;
    border:1px solid rgba(255,255,255,.86) !important;
    border-radius:999px !important;
    background:linear-gradient(90deg,rgba(255,255,255,.84),rgba(255,226,240,.78),rgba(255,255,255,.84)) !important;
    color:#bd3f84 !important;
    font-size:18px !important;
    letter-spacing:0 !important;
    box-shadow:0 12px 26px rgba(216,90,155,.18) !important;
}

body:not(.cast-detail-page) .hero-logo{
    width:min(760px,92vw) !important;
    max-width:92vw !important;
    filter:drop-shadow(0 18px 30px rgba(137,61,99,.22)) drop-shadow(0 0 18px rgba(255,255,255,.95)) !important;
}

body:not(.cast-detail-page) .hero-sub{
    max-width:720px !important;
    margin:24px auto 0 !important;
    color:#7a4a61 !important;
    font-size:24px !important;
    line-height:1.8 !important;
}

.princess-home{
    width:min(1440px,calc(100% - 32px)) !important;
    margin:-34px auto 80px !important;
    position:relative !important;
    z-index:3 !important;
}

.princess-card-grid,
.princess-card-grid-middle,
.princess-card-grid-bottom{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:22px !important;
    margin:0 0 22px !important;
}

.princess-card-grid-middle{
    grid-template-columns:minmax(230px,.8fr) minmax(0,1.4fr) minmax(260px,1fr) !important;
}

.princess-card{
    position:relative !important;
    min-width:0 !important;
    overflow:hidden !important;
    padding:30px 24px !important;
    border:1px solid rgba(228,124,173,.42) !important;
    border-radius:22px !important;
    background:#fff !important;
    box-shadow:0 20px 48px rgba(167,70,116,.13),0 2px 0 rgba(255,255,255,.9) inset !important;
}

.princess-card::before{
    content:"" !important;
    position:absolute !important;
    inset:10px !important;
    border:1px dashed rgba(232,116,170,.22) !important;
    border-radius:17px !important;
    pointer-events:none !important;
}

.princess-card::after{
    content:"" !important;
    position:absolute !important;
    top:0 !important;
    left:50% !important;
    width:118px !important;
    height:28px !important;
    transform:translateX(-50%) !important;
    border-radius:0 0 999px 999px !important;
    background:linear-gradient(90deg,#f8a8c9,#fff0f7,#f8a8c9) !important;
    box-shadow:0 8px 18px rgba(216,90,155,.14) !important;
    pointer-events:none !important;
}

.princess-card .section-title{
    margin:0 0 22px !important;
    text-align:center !important;
}

.princess-card .section-title span{
    color:#d85a9b !important;
    font-size:17px !important;
}

.princess-card .section-title h2{
    color:#7a405c !important;
    font-size:28px !important;
}

.princess-home .cast-grid,
.princess-home .all-cast-grid{
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr)) !important;
    gap:14px !important;
    max-width:none !important;
    margin:0 !important;
}

.princess-home .all-cast-grid{
    max-height:560px !important;
    overflow:auto !important;
}

.princess-home .public-gallery-grid{
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr)) !important;
    gap:14px !important;
    max-width:none !important;
    margin:0 !important;
}

.princess-home .news-list.public-news-list{
    display:grid !important;
    gap:14px !important;
    max-width:none !important;
    margin:0 !important;
}

.princess-home .concept-content,
.princess-home .access-box{
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

.princess-info-list{
    display:grid !important;
    gap:12px !important;
}

.princess-info-list p{
    display:flex !important;
    gap:12px !important;
    align-items:flex-start !important;
    margin:0 !important;
    padding:13px 14px !important;
    border-radius:14px !important;
    background:linear-gradient(90deg,#fff6fb,#fff) !important;
    color:#7c5364 !important;
    line-height:1.7 !important;
}

@media(max-width:1020px){
    .princess-card-grid,
    .princess-card-grid-middle,
    .princess-card-grid-bottom{
        grid-template-columns:1fr 1fr !important;
    }

    .princess-card-large,
    .princess-card-wide{
        grid-column:1/-1 !important;
    }
}

@media(max-width:768px){
    body:not(.cast-detail-page) .hero{
        min-height:86vh !important;
        padding:118px 14px 74px !important;
    }

    body:not(.cast-detail-page) .hero-content{
        padding:38px 12px 34px !important;
    }

    body:not(.cast-detail-page) .hero-sub{
        font-size:16px !important;
    }

    .princess-home{
        width:calc(100% - 22px) !important;
        margin:-22px auto 58px !important;
    }

    .princess-card-grid,
    .princess-card-grid-middle,
    .princess-card-grid-bottom{
        grid-template-columns:1fr !important;
        gap:16px !important;
        margin-bottom:16px !important;
    }

    .princess-card{
        padding:25px 16px !important;
        border-radius:18px !important;
    }

    .princess-card-large,
    .princess-card-wide{
        grid-column:auto !important;
    }

    .princess-home .cast-grid,
    .princess-home .all-cast-grid,
    .princess-home .public-gallery-grid{
        grid-template-columns:1fr !important;
    }

    .princess-home .all-cast-grid{
        max-height:none !important;
        overflow:visible !important;
    }
}

/* Ver5.1 Princess Pink homepage layout refinements */
html,
body{
    max-width:100% !important;
    overflow-x:hidden !important;
}

.reserve-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:44px !important;
    max-width:100% !important;
    padding:12px 24px !important;
    border:2px solid rgba(255,255,255,.92) !important;
    border-radius:999px !important;
    background:linear-gradient(135deg,#f58ab8 0%,#e35b9d 52%,#bf3f83 100%) !important;
    color:#fff !important;
    text-decoration:none !important;
    font-weight:700 !important;
    letter-spacing:0 !important;
    box-shadow:0 12px 24px rgba(196,63,128,.22),0 2px 0 rgba(255,255,255,.4) inset !important;
}

.reserve-btn:hover{
    filter:brightness(1.04) !important;
    transform:translateY(-1px) !important;
}

.princess-card-grid-top{
    grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) minmax(0,1.28fr) !important;
    align-items:stretch !important;
}

.princess-card-grid-middle{
    grid-template-columns:minmax(260px,.95fr) minmax(0,1.12fr) minmax(300px,1.3fr) !important;
    align-items:stretch !important;
}

.princess-card-grid-bottom{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    align-items:stretch !important;
}

.princess-card{
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    min-height:340px !important;
}

.today-cast.princess-card,
.news.princess-card{
    min-height:420px !important;
}

.concept.princess-card,
.gallery.princess-card{
    min-height:500px !important;
}

.system.princess-card{
    min-height:470px !important;
}

.access.princess-card,
.instagram.princess-card,
.recruit.princess-card{
    min-height:330px !important;
}

.princess-contact-card{
    width:100% !important;
    min-height:0 !important;
    margin-top:22px !important;
    text-align:center !important;
}

.princess-contact-card .princess-info-list{
    max-width:760px !important;
    margin:0 auto !important;
}

.princess-card-action,
.news-more,
.gallery-more{
    display:flex !important;
    justify-content:center !important;
    margin-top:auto !important;
    padding-top:22px !important;
}

.princess-home .cast-grid,
.princess-home .all-cast-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    align-content:start !important;
}

.princess-home .all-cast-grid{
    max-height:none !important;
    overflow:visible !important;
}

.princess-home .cast-card{
    min-height:0 !important;
    border:1px solid rgba(228,124,173,.28) !important;
    border-radius:16px !important;
    background:#fffafd !important;
    box-shadow:0 12px 26px rgba(167,70,116,.1) !important;
    overflow:hidden !important;
}

.princess-home .public-cast-photo{
    position:relative !important;
}

.princess-home .public-cast-badges,
.princess-home .public-cast-badges.cast-badge-layer,
.princess-home .cast-card .public-cast-badges{
    top:6px !important;
    left:6px !important;
    right:auto !important;
    gap:2px !important;
    align-items:flex-start !important;
}

.princess-home .premium-cast-badge,
.princess-home .public-cast-badges .premium-cast-badge{
    display:block !important;
    width:40px !important;
    height:auto !important;
}

.princess-home .premium-cast-badge-img,
.princess-home .premium-cast-badge-img-new,
.princess-home .premium-cast-badge-img-recommended,
.princess-home .public-cast-badges img{
    display:block !important;
    width:40px !important;
    height:auto !important;
    max-width:40px !important;
}

.princess-home .no-cast,
.princess-home .today-empty,
.princess-home .today-cast-empty,
.princess-home .no-schedule{
    width:100% !important;
    min-height:220px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    grid-column:1/-1 !important;
    margin:0 !important;
    text-align:center !important;
    color:#9a5a76 !important;
    background:linear-gradient(135deg,#fff7fb,#fff) !important;
    border:1px dashed rgba(228,124,173,.4) !important;
    border-radius:18px !important;
}

.princess-card .section-title::before,
.princess-card .section-title::after{
    content:"✦" !important;
    display:inline-block !important;
    margin:0 8px !important;
    color:#ef9bc1 !important;
    font-size:14px !important;
}

@media(max-width:1020px){
    .princess-card-grid-top,
    .princess-card-grid-middle,
    .princess-card-grid-bottom{
        grid-template-columns:1fr 1fr !important;
    }

    .concept.princess-card,
    .gallery.princess-card,
    .princess-contact-card{
        grid-column:1/-1 !important;
    }
}

@media(max-width:768px){
    .reserve-btn{
        width:100% !important;
        min-height:42px !important;
        padding:11px 16px !important;
        font-size:14px !important;
        white-space:normal !important;
    }

    .princess-card-grid-top,
    .princess-card-grid-middle,
    .princess-card-grid-bottom{
        grid-template-columns:1fr !important;
    }

    .princess-card,
    .today-cast.princess-card,
    .news.princess-card,
    .concept.princess-card,
    .gallery.princess-card,
    .system.princess-card,
    .access.princess-card,
    .instagram.princess-card,
    .recruit.princess-card{
        min-height:0 !important;
    }

    .concept.princess-card,
    .gallery.princess-card,
    .princess-contact-card{
        grid-column:auto !important;
    }

    .princess-home .cast-grid,
    .princess-home .all-cast-grid,
    .princess-home .public-gallery-grid{
        grid-template-columns:1fr !important;
    }

    .princess-home .public-cast-badges,
    .princess-home .public-cast-badges.cast-badge-layer,
    .princess-home .cast-card .public-cast-badges{
        top:5px !important;
        left:5px !important;
        gap:2px !important;
    }

    .princess-home .premium-cast-badge,
    .princess-home .public-cast-badges .premium-cast-badge{
        width:32px !important;
    }

    .princess-home .premium-cast-badge-img,
    .princess-home .premium-cast-badge-img-new,
    .princess-home .premium-cast-badge-img-recommended,
    .princess-home .public-cast-badges img{
        width:32px !important;
        max-width:32px !important;
    }

    .princess-home .no-cast,
    .princess-home .today-empty,
    .princess-home .today-cast-empty,
    .princess-home .no-schedule{
        min-height:150px !important;
        padding:18px !important;
    }
}

/* Ver5.1 homepage-only cast badge final size */
body:not(.cast-detail-page) .princess-home .today-cast .cast-card .public-cast-badges,
body:not(.cast-detail-page) .princess-home .all-cast-grid .cast-card .public-cast-badges,
body:not(.cast-detail-page) .princess-home .public-cast-badges{
    top:6px !important;
    left:6px !important;
    right:auto !important;
    gap:2px !important;
}

body:not(.cast-detail-page) .princess-home .premium-cast-badge,
body:not(.cast-detail-page) .princess-home .public-cast-badges .premium-cast-badge,
body:not(.cast-detail-page) .princess-home .today-cast .cast-card .premium-cast-badge,
body:not(.cast-detail-page) .princess-home .all-cast-grid .cast-card .premium-cast-badge{
    width:40px !important;
    min-width:40px !important;
    max-width:40px !important;
    height:auto !important;
}

body:not(.cast-detail-page) .princess-home .premium-cast-badge-img,
body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-new,
body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .princess-home .public-cast-badges img,
body:not(.cast-detail-page) .princess-home .today-cast .cast-card .premium-cast-badge-img,
body:not(.cast-detail-page) .princess-home .all-cast-grid .cast-card .premium-cast-badge-img{
    width:40px !important;
    min-width:40px !important;
    max-width:40px !important;
    height:auto !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .princess-home .today-cast .cast-card .public-cast-badges,
    body:not(.cast-detail-page) .princess-home .all-cast-grid .cast-card .public-cast-badges,
    body:not(.cast-detail-page) .princess-home .public-cast-badges{
        top:5px !important;
        left:5px !important;
        gap:2px !important;
    }

    body:not(.cast-detail-page) .princess-home .premium-cast-badge,
    body:not(.cast-detail-page) .princess-home .public-cast-badges .premium-cast-badge,
    body:not(.cast-detail-page) .princess-home .today-cast .cast-card .premium-cast-badge,
    body:not(.cast-detail-page) .princess-home .all-cast-grid .cast-card .premium-cast-badge,
    body:not(.cast-detail-page) .princess-home .premium-cast-badge-img,
    body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-new,
    body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .princess-home .public-cast-badges img,
    body:not(.cast-detail-page) .princess-home .today-cast .cast-card .premium-cast-badge-img,
    body:not(.cast-detail-page) .princess-home .all-cast-grid .cast-card .premium-cast-badge-img{
        width:32px !important;
        min-width:32px !important;
        max-width:32px !important;
        height:auto !important;
    }
}

/* Ver5.2 final homepage badge override */
body:not(.cast-detail-page) .princess-home .public-cast-badges,
body:not(.cast-detail-page) .princess-home .public-cast-badges.cast-badge-layer,
body:not(.cast-detail-page) .princess-home .today-cast .cast-card .public-cast-badges,
body:not(.cast-detail-page) .princess-home .all-cast-grid .cast-card .public-cast-badges{
    top:5px !important;
    left:5px !important;
    right:auto !important;
    gap:1px !important;
}

body:not(.cast-detail-page) .princess-home .premium-cast-badge,
body:not(.cast-detail-page) .princess-home .public-cast-badges .premium-cast-badge,
body:not(.cast-detail-page) .princess-home .premium-cast-badge-img,
body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-new,
body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .princess-home .public-cast-badges img,
body:not(.cast-detail-page) .princess-home .today-cast .cast-card .premium-cast-badge-img,
body:not(.cast-detail-page) .princess-home .all-cast-grid .cast-card .premium-cast-badge-img{
    width:30px !important;
    min-width:30px !important;
    max-width:30px !important;
    height:auto !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .princess-home .premium-cast-badge,
    body:not(.cast-detail-page) .princess-home .public-cast-badges .premium-cast-badge,
    body:not(.cast-detail-page) .princess-home .premium-cast-badge-img,
    body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-new,
    body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .princess-home .public-cast-badges img,
    body:not(.cast-detail-page) .princess-home .today-cast .cast-card .premium-cast-badge-img,
    body:not(.cast-detail-page) .princess-home .all-cast-grid .cast-card .premium-cast-badge-img{
        width:26px !important;
        min-width:26px !important;
        max-width:26px !important;
    }
}
/* Ver5.2 premium fix true final badge size */
body:not(.cast-detail-page) .princess-home .premium-cast-badge,
body:not(.cast-detail-page) .princess-home .public-cast-badges .premium-cast-badge,
body:not(.cast-detail-page) .princess-home .premium-cast-badge-img,
body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-new,
body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .princess-home .public-cast-badges img,
body:not(.cast-detail-page) .princess-home .today-cast .cast-card .premium-cast-badge-img,
body:not(.cast-detail-page) .princess-home .all-cast-grid .cast-card .premium-cast-badge-img{
    width:34px !important;
    min-width:34px !important;
    max-width:34px !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .princess-home .premium-cast-badge,
    body:not(.cast-detail-page) .princess-home .public-cast-badges .premium-cast-badge,
    body:not(.cast-detail-page) .princess-home .premium-cast-badge-img,
    body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-new,
    body:not(.cast-detail-page) .princess-home .premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .princess-home .public-cast-badges img,
    body:not(.cast-detail-page) .princess-home .today-cast .cast-card .premium-cast-badge-img,
    body:not(.cast-detail-page) .princess-home .all-cast-grid .cast-card .premium-cast-badge-img{
        width:28px !important;
        min-width:28px !important;
        max-width:28px !important;
    }
}
/* Hero link spacing true final override */
body:not(.cast-detail-page) .hero.hero-princess-image{
    margin-bottom:60px !important;
}

body:not(.cast-detail-page) .princess-home,
body:not(.cast-detail-page) .luxury-home,
body:not(.cast-detail-page) .top-sections,
body:not(.cast-detail-page) .home-cards,
body:not(.cast-detail-page) .section-wrap{
    margin-top:0 !important;
}

body:not(.cast-detail-page) .swiper-pagination,
body:not(.cast-detail-page) .hero-dots,
body:not(.cast-detail-page) .carousel-dots,
body:not(.cast-detail-page) .slick-dots,
body:not(.cast-detail-page) .premium-hero-dots,
body:not(.cast-detail-page) .hero-princess-image .premium-hero-dots{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .hero.hero-princess-image{
        margin-bottom:40px !important;
    }
}

/* Hide all top slider pagination dots */
.swiper-pagination,
.slick-dots,
.hero-dots,
.carousel-dots,
.slider-dots{
    display:none !important;
}

/* Normalize visible slider dots without image fills */
.hero-princess-image::after{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    bottom:7.2% !important;
    z-index:4 !important;
    width:116px !important;
    height:24px !important;
    transform:translateX(-50%) !important;
    display:block !important;
    pointer-events:none !important;
    background:
        radial-gradient(circle at 10px 12px,#e94f9a 0 7px,transparent 8px),
        radial-gradient(circle at 42px 12px,#fff 0 7px,transparent 8px),
        radial-gradient(circle at 74px 12px,#fff 0 7px,transparent 8px),
        radial-gradient(circle at 106px 12px,#fff 0 7px,transparent 8px) !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

.swiper-pagination,
.slick-dots,
.hero-dots,
.carousel-dots,
.slider-dots,
.pagination{
    background:none !important;
    background-image:none !important;
    list-style:none !important;
}

.swiper-pagination *,
.slick-dots *,
.hero-dots *,
.carousel-dots *,
.slider-dots *,
.pagination *{
    background-image:none !important;
}

.swiper-pagination::before,
.swiper-pagination::after,
.slick-dots::before,
.slick-dots::after,
.hero-dots::before,
.hero-dots::after,
.carousel-dots::before,
.carousel-dots::after,
.slider-dots::before,
.slider-dots::after,
.pagination::before,
.pagination::after{
    background-image:none !important;
    content:none !important;
}

.swiper-pagination-bullet,
.slick-dots li button,
.hero-dots button,
.hero-dots span,
.carousel-dots button,
.carousel-dots span,
.slider-dots button,
.slider-dots span,
.pagination button,
.pagination span{
    width:14px !important;
    height:14px !important;
    min-width:14px !important;
    min-height:14px !important;
    padding:0 !important;
    border:2px solid rgba(236,92,157,.55) !important;
    border-radius:50% !important;
    overflow:hidden !important;
    background:#fff !important;
    background-image:none !important;
    box-shadow:0 0 10px rgba(255,255,255,.72) !important;
    font-size:0 !important;
    line-height:0 !important;
}

.swiper-pagination-bullet-active,
.slick-dots li.slick-active button,
.hero-dots .is-active,
.hero-dots .active,
.carousel-dots .is-active,
.carousel-dots .active,
.slider-dots .is-active,
.slider-dots .active,
.pagination .is-active,
.pagination .active{
    background:#e94f9a !important;
    background-image:none !important;
    border-color:#e94f9a !important;
}

.swiper-pagination-bullet img,
.slick-dots img,
.hero-dots img,
.carousel-dots img,
.slider-dots img,
.pagination img{
    display:none !important;
}

.swiper-pagination-bullet::before,
.swiper-pagination-bullet::after,
.slick-dots li button::before,
.slick-dots li button::after,
.hero-dots button::before,
.hero-dots button::after,
.hero-dots span::before,
.hero-dots span::after,
.carousel-dots button::before,
.carousel-dots button::after,
.carousel-dots span::before,
.carousel-dots span::after,
.slider-dots button::before,
.slider-dots button::after,
.slider-dots span::before,
.slider-dots span::after,
.pagination button::before,
.pagination button::after,
.pagination span::before,
.pagination span::after{
    background:none !important;
    background-image:none !important;
    content:"" !important;
}

@media(max-width:768px){
    .hero-princess-image::after{
        bottom:7% !important;
        width:96px !important;
        height:22px !important;
        background:
            radial-gradient(circle at 9px 11px,#e94f9a 0 6px,transparent 7px),
            radial-gradient(circle at 35px 11px,#fff 0 6px,transparent 7px),
            radial-gradient(circle at 61px 11px,#fff 0 6px,transparent 7px),
            radial-gradient(circle at 87px 11px,#fff 0 6px,transparent 7px) !important;
    }
}

/* Final pagination dot override */
body:not(.cast-detail-page) .hero.hero-princess-image::after{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    bottom:7.2% !important;
    z-index:4 !important;
    width:116px !important;
    height:24px !important;
    transform:translateX(-50%) !important;
    display:block !important;
    pointer-events:none !important;
    background:
        radial-gradient(circle at 10px 12px,#e94f9a 0 7px,transparent 8px),
        radial-gradient(circle at 42px 12px,#fff 0 7px,transparent 8px),
        radial-gradient(circle at 74px 12px,#fff 0 7px,transparent 8px),
        radial-gradient(circle at 106px 12px,#fff 0 7px,transparent 8px) !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

body:not(.cast-detail-page) .swiper-pagination,
body:not(.cast-detail-page) .slick-dots,
body:not(.cast-detail-page) .hero-dots,
body:not(.cast-detail-page) .carousel-dots,
body:not(.cast-detail-page) .slider-dots,
body:not(.cast-detail-page) .pagination{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    background:none !important;
    background-image:none !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .hero.hero-princess-image::after{
        bottom:7% !important;
        width:96px !important;
        height:22px !important;
        background:
            radial-gradient(circle at 9px 11px,#e94f9a 0 6px,transparent 7px),
            radial-gradient(circle at 35px 11px,#fff 0 6px,transparent 7px),
            radial-gradient(circle at 61px 11px,#fff 0 6px,transparent 7px),
            radial-gradient(circle at 87px 11px,#fff 0 6px,transparent 7px) !important;
    }
}

/* True circular dots without image backgrounds */
body:not(.cast-detail-page) .hero.hero-princess-image::after{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    bottom:8% !important;
    z-index:4 !important;
    width:14px !important;
    height:14px !important;
    transform:translateX(-52px) !important;
    display:block !important;
    pointer-events:none !important;
    border:2px solid rgba(255,255,255,.92) !important;
    border-radius:50% !important;
    background:#e94f9a !important;
    background-image:none !important;
    box-shadow:
        32px 0 0 #fff,
        64px 0 0 #fff,
        96px 0 0 #fff !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .hero.hero-princess-image::after{
        bottom:7.6% !important;
        width:12px !important;
        height:12px !important;
        transform:translateX(-43px) !important;
        box-shadow:
            26px 0 0 #fff,
            52px 0 0 #fff,
            78px 0 0 #fff !important;
    }
}

/* Completely hide hero slideshow pagination dots */
.swiper-pagination,
.swiper-pagination-bullet,
.slick-dots,
.slick-dots li,
.slick-dots li button,
.hero-dots,
.hero-dots *,
.slider-dots,
.slider-dots *,
.slide-dots,
.slide-dots *,
.hero-pagination,
.hero-pagination *,
.carousel-dots,
.carousel-dots *,
.pagination,
.pagination *{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    background:none !important;
    background-image:none !important;
}

.swiper-pagination::before,
.swiper-pagination::after,
.swiper-pagination-bullet::before,
.swiper-pagination-bullet::after,
.slick-dots::before,
.slick-dots::after,
.slick-dots li button::before,
.slick-dots li button::after,
.hero-dots::before,
.hero-dots::after,
.slider-dots::before,
.slider-dots::after,
.slide-dots::before,
.slide-dots::after,
.hero-pagination::before,
.hero-pagination::after,
.carousel-dots::before,
.carousel-dots::after,
.pagination::before,
.pagination::after{
    content:none !important;
    display:none !important;
    background:none !important;
    background-image:none !important;
}

body:not(.cast-detail-page) .hero.hero-princess-image::after{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    bottom:7.2% !important;
    z-index:4 !important;
    width:142px !important;
    height:34px !important;
    transform:translateX(-50%) !important;
    display:block !important;
    pointer-events:none !important;
    border:0 !important;
    border-radius:999px !important;
    background:linear-gradient(90deg,rgba(247,159,201,.96),rgba(255,216,234,.98),rgba(247,159,201,.96)) !important;
    background-image:linear-gradient(90deg,rgba(247,159,201,.96),rgba(255,216,234,.98),rgba(247,159,201,.96)) !important;
    box-shadow:0 0 18px rgba(255,214,232,.72) !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .hero.hero-princess-image::after{
        bottom:7% !important;
        width:118px !important;
        height:30px !important;
    }
}

/* Restore generated luxury interior hero image */
body:not(.cast-detail-page) .hero.hero-princess-image{
    background-image:
        linear-gradient(rgba(255,218,235,.04),rgba(255,218,235,.04)),
        url("../images/hero-princess.webp?v=1.0.0") !important;
    background-repeat:no-repeat !important;
    background-position:center top !important;
    background-size:cover !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .hero.hero-princess-image{
        background-position:center top !important;
        background-size:auto 100% !important;
    }
}

/* Final override: remove every hero slideshow pagination dot */
body:not(.cast-detail-page) .swiper-pagination,
body:not(.cast-detail-page) .swiper-pagination-bullet,
body:not(.cast-detail-page) .slick-dots,
body:not(.cast-detail-page) .slick-dots li,
body:not(.cast-detail-page) .slick-dots li button,
body:not(.cast-detail-page) .hero-dots,
body:not(.cast-detail-page) .hero-dots *,
body:not(.cast-detail-page) .slider-dots,
body:not(.cast-detail-page) .slider-dots *,
body:not(.cast-detail-page) .slide-dots,
body:not(.cast-detail-page) .slide-dots *,
body:not(.cast-detail-page) .hero-pagination,
body:not(.cast-detail-page) .hero-pagination *,
body:not(.cast-detail-page) .carousel-dots,
body:not(.cast-detail-page) .carousel-dots *,
body:not(.cast-detail-page) .premium-hero-dots,
body:not(.cast-detail-page) .premium-hero-dots *,
body:not(.cast-detail-page) .hero-princess-image .premium-hero-dots,
body:not(.cast-detail-page) .hero-princess-image .premium-hero-dots *,
body:not(.cast-detail-page) .pagination,
body:not(.cast-detail-page) .pagination *{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    width:0 !important;
    height:0 !important;
    min-width:0 !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    background:none !important;
    background-image:none !important;
    box-shadow:none !important;
}

body:not(.cast-detail-page) .swiper-pagination::before,
body:not(.cast-detail-page) .swiper-pagination::after,
body:not(.cast-detail-page) .swiper-pagination-bullet::before,
body:not(.cast-detail-page) .swiper-pagination-bullet::after,
body:not(.cast-detail-page) .slick-dots::before,
body:not(.cast-detail-page) .slick-dots::after,
body:not(.cast-detail-page) .slick-dots li button::before,
body:not(.cast-detail-page) .slick-dots li button::after,
body:not(.cast-detail-page) .hero-dots::before,
body:not(.cast-detail-page) .hero-dots::after,
body:not(.cast-detail-page) .slider-dots::before,
body:not(.cast-detail-page) .slider-dots::after,
body:not(.cast-detail-page) .slide-dots::before,
body:not(.cast-detail-page) .slide-dots::after,
body:not(.cast-detail-page) .hero-pagination::before,
body:not(.cast-detail-page) .hero-pagination::after,
body:not(.cast-detail-page) .carousel-dots::before,
body:not(.cast-detail-page) .carousel-dots::after,
body:not(.cast-detail-page) .premium-hero-dots::before,
body:not(.cast-detail-page) .premium-hero-dots::after,
body:not(.cast-detail-page) .premium-hero-dots *::before,
body:not(.cast-detail-page) .premium-hero-dots *::after,
body:not(.cast-detail-page) .pagination::before,
body:not(.cast-detail-page) .pagination::after{
    content:none !important;
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    background:none !important;
    background-image:none !important;
    box-shadow:none !important;
}

body:not(.cast-detail-page) .hero.hero-princess-image::after{
    content:none !important;
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    width:0 !important;
    height:0 !important;
    background:none !important;
    background-image:none !important;
    box-shadow:none !important;
}

/* Ver5.2 Cast List Card Fix */
body:not(.cast-detail-page) .princess-home .princess-card-grid-middle{
    grid-template-columns:minmax(210px,.68fr) minmax(620px,1.9fr) minmax(260px,.92fr) !important;
}

body:not(.cast-detail-page) .princess-home #cast-list.cast-list.princess-card{
    overflow:hidden !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .all-cast-grid{
    width:100% !important;
    max-width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
    align-items:stretch !important;
    justify-content:center !important;
    margin:0 !important;
    overflow:visible !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .all-cast-grid > .cast-card.public-cast-card{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
    border-radius:18px !important;
    overflow:hidden !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-photo{
    width:100% !important;
    aspect-ratio:4/5 !important;
    min-height:0 !important;
    max-height:260px !important;
    position:relative !important;
    overflow:hidden !important;
    flex:0 0 auto !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-image,
body:not(.cast-detail-page) .princess-home #cast-list .cast-card-no-image{
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    display:block !important;
    object-fit:cover !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-info{
    width:100% !important;
    min-width:0 !important;
    flex:1 1 auto !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:8px !important;
    padding:14px 12px 16px !important;
    text-align:center !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-info h3{
    width:100% !important;
    margin:0 !important;
    font-size:clamp(18px,1.7vw,22px) !important;
    line-height:1.25 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-profile-line,
body:not(.cast-detail-page) .princess-home #cast-list .public-cast-schedule{
    width:100% !important;
    margin:0 !important;
    font-size:13px !important;
    line-height:1.55 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-tags{
    width:100% !important;
    justify-content:center !important;
    gap:5px !important;
    margin:2px 0 0 !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-profile-link,
body:not(.cast-detail-page) .princess-home #cast-list .cast-card .reserve-btn{
    width:min(100%,150px) !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:38px !important;
    margin:8px auto 0 !important;
    padding:9px 18px !important;
    align-self:center !important;
    white-space:nowrap !important;
    text-align:center !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges,
body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges.cast-badge-layer,
body:not(.cast-detail-page) .princess-home #cast-list .cast-card .public-cast-badges{
    position:absolute !important;
    top:4px !important;
    left:4px !important;
    right:auto !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:2px !important;
    transform:none !important;
    margin:0 !important;
    padding:0 !important;
    z-index:6 !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge,
body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges .premium-cast-badge{
    display:block !important;
    width:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge-img,
body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge-img-new,
body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img{
    display:block !important;
    width:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
}

@media(max-width:1020px){
    body:not(.cast-detail-page) .princess-home .princess-card-grid-middle{
        grid-template-columns:1fr 1fr !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list.cast-list.princess-card{
        grid-column:1/-1 !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .all-cast-grid{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:14px !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-info{
        padding:13px 10px 15px !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-info h3{
        font-size:18px !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-profile-line,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-schedule{
        font-size:12px !important;
    }
}

@media(max-width:768px){
    body:not(.cast-detail-page) .princess-home #cast-list .all-cast-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:12px !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-photo{
        aspect-ratio:4/5 !important;
        max-height:none !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-info{
        gap:6px !important;
        padding:11px 8px 13px !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-info h3{
        font-size:16px !important;
        line-height:1.25 !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-profile-line,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-schedule{
        font-size:11px !important;
        line-height:1.45 !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-profile-link,
    body:not(.cast-detail-page) .princess-home #cast-list .cast-card .reserve-btn{
        width:100% !important;
        min-height:36px !important;
        margin-top:6px !important;
        padding:8px 10px !important;
        font-size:13px !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges.cast-badge-layer,
    body:not(.cast-detail-page) .princess-home #cast-list .cast-card .public-cast-badges{
        top:3px !important;
        left:3px !important;
        gap:1px !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges .premium-cast-badge,
    body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge-img,
    body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge-img-new,
    body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img{
        width:28px !important;
        min-width:28px !important;
        max-width:28px !important;
    }
}

@media(max-width:430px){
    body:not(.cast-detail-page) .princess-home #cast-list .all-cast-grid{
        grid-template-columns:1fr !important;
    }
}

/* Ver5.2 Mobile Hero / Cast Card Fix */
body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges,
body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges.cast-badge-layer,
body:not(.cast-detail-page) .princess-home #cast-list .cast-card .public-cast-badges{
    top:4px !important;
    left:4px !important;
    right:auto !important;
    gap:2px !important;
    align-items:flex-start !important;
    transform:none !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge,
body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges .premium-cast-badge{
    display:block !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge-img-new,
body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-new{
    display:block !important;
    width:48px !important;
    min-width:48px !important;
    max-width:48px !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-recommended{
    display:block !important;
    width:52px !important;
    min-width:52px !important;
    max-width:52px !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .hero.hero-princess-image{
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        aspect-ratio:1717/916 !important;
        padding:0 !important;
        margin-bottom:32px !important;
        background-size:contain !important;
        background-position:center top !important;
        background-repeat:no-repeat !important;
        overflow:hidden !important;
    }

    body:not(.cast-detail-page) .hero-link{
        bottom:13% !important;
        height:14% !important;
    }

    body:not(.cast-detail-page) .hero-link.web{
        left:16% !important;
        width:22% !important;
    }

    body:not(.cast-detail-page) .hero-link.line{
        left:39% !important;
        width:22% !important;
    }

    body:not(.cast-detail-page) .hero.hero-princess-image > a.hero-link.line.fixed-line-reservation{
        position:absolute !important;
        top:auto !important;
        right:auto !important;
        bottom:13% !important;
        left:39% !important;
        z-index:5 !important;
        width:22% !important;
        max-width:none !important;
        height:14% !important;
        min-height:0 !important;
        display:block !important;
        background:transparent !important;
        border:0 !important;
        padding:0 !important;
        margin:0 !important;
    }

    body:not(.cast-detail-page) .hero-link.recruit{
        left:62% !important;
        width:22% !important;
    }

    body:not(.cast-detail-page) .princess-home{
        margin-top:0 !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .all-cast-grid{
        grid-template-columns:1fr !important;
        gap:14px !important;
        overflow:visible !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .all-cast-grid > .cast-card.public-cast-card{
        display:flex !important;
        flex-direction:column !important;
        width:100% !important;
        max-width:360px !important;
        margin:0 auto !important;
        overflow:hidden !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-photo{
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        aspect-ratio:4/5 !important;
        flex:0 0 auto !important;
        overflow:hidden !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-image,
    body:not(.cast-detail-page) .princess-home #cast-list .cast-card-no-image{
        width:100% !important;
        height:100% !important;
        display:block !important;
        object-fit:cover !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-info{
        display:flex !important;
        width:100% !important;
        min-height:0 !important;
        height:auto !important;
        flex:0 0 auto !important;
        flex-direction:column !important;
        align-items:center !important;
        gap:7px !important;
        padding:13px 12px 16px !important;
        text-align:center !important;
        overflow:visible !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-info h3{
        display:block !important;
        width:100% !important;
        margin:0 !important;
        font-size:18px !important;
        line-height:1.3 !important;
        white-space:normal !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-profile-line,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-schedule{
        display:block !important;
        width:100% !important;
        margin:0 !important;
        font-size:12px !important;
        line-height:1.55 !important;
        white-space:normal !important;
        overflow-wrap:anywhere !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-profile-link,
    body:not(.cast-detail-page) .princess-home #cast-list .cast-card .reserve-btn{
        display:inline-flex !important;
        width:min(100%,180px) !important;
        min-width:0 !important;
        max-width:100% !important;
        min-height:38px !important;
        margin:7px auto 0 !important;
        padding:9px 16px !important;
        align-self:center !important;
        justify-content:center !important;
        white-space:nowrap !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges.cast-badge-layer,
    body:not(.cast-detail-page) .princess-home #cast-list .cast-card .public-cast-badges{
        top:3px !important;
        left:3px !important;
        gap:1px !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge-img-new,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-new{
        width:36px !important;
        min-width:36px !important;
        max-width:36px !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-recommended{
        width:40px !important;
        min-width:40px !important;
        max-width:40px !important;
    }
}

@media(max-width:768px){
    body:not(.cast-detail-page) .hero.hero-princess-image > a.hero-link.line.fixed-line-reservation{
        position:absolute !important;
        top:auto !important;
        right:auto !important;
        bottom:13% !important;
        left:39% !important;
        z-index:5 !important;
        width:22% !important;
        max-width:none !important;
        height:14% !important;
        min-height:0 !important;
        display:block !important;
        background:transparent !important;
        border:0 !important;
        padding:0 !important;
        margin:0 !important;
        transform:none !important;
    }
}

/* Ver5.2 actual DOM mobile fix */
@media(max-width:768px){
    body:not(.cast-detail-page) .hero.premium-hero.luxury-hero.hero-princess-image,
    body:not(.cast-detail-page) section.hero.hero-princess-image{
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        aspect-ratio:1717/916 !important;
        margin:64px 0 32px !important;
        padding:0 !important;
        background-size:contain !important;
        background-position:center top !important;
        background-repeat:no-repeat !important;
        overflow:hidden !important;
    }

    body:not(.cast-detail-page) .hero.premium-hero.luxury-hero.hero-princess-image > .hero-link,
    body:not(.cast-detail-page) section.hero.hero-princess-image > .hero-link{
        position:absolute !important;
        top:auto !important;
        bottom:13% !important;
        height:14% !important;
        z-index:5 !important;
        display:block !important;
        background:transparent !important;
        border:0 !important;
        padding:0 !important;
        margin:0 !important;
    }

    body:not(.cast-detail-page) .hero.premium-hero.luxury-hero.hero-princess-image > .hero-link.web{
        left:16% !important;
        width:22% !important;
    }

    body:not(.cast-detail-page) .hero.premium-hero.luxury-hero.hero-princess-image > .hero-link.line{
        left:39% !important;
        width:22% !important;
    }

    body:not(.cast-detail-page) .hero.premium-hero.luxury-hero.hero-princess-image > .hero-link.recruit{
        left:62% !important;
        width:22% !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .all-cast-grid{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:14px !important;
        width:100% !important;
        max-width:100% !important;
        overflow:visible !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .all-cast-grid > .cast-card.public-cast-card,
    body:not(.cast-detail-page) .princess-home #cast-list .cast-card.public-cast-card{
        display:flex !important;
        flex-direction:row !important;
        align-items:stretch !important;
        width:100% !important;
        max-width:360px !important;
        min-height:0 !important;
        margin:0 auto !important;
        overflow:hidden !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .cast-card.public-cast-card > .public-cast-photo{
        width:40% !important;
        flex:0 0 40% !important;
        min-width:0 !important;
        height:auto !important;
        min-height:154px !important;
        max-height:none !important;
        aspect-ratio:auto !important;
        position:relative !important;
        overflow:hidden !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .cast-card.public-cast-card > .public-cast-photo > .public-cast-image,
    body:not(.cast-detail-page) .princess-home #cast-list .cast-card.public-cast-card > .public-cast-photo > img,
    body:not(.cast-detail-page) .princess-home #cast-list .cast-card.public-cast-card > .public-cast-photo > .cast-card-no-image{
        width:100% !important;
        height:100% !important;
        min-height:154px !important;
        display:block !important;
        object-fit:cover !important;
        object-position:center top !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .cast-card.public-cast-card > .cast-info.public-cast-info,
    body:not(.cast-detail-page) .princess-home #cast-list .cast-card.public-cast-card > .public-cast-info{
        width:60% !important;
        flex:0 0 60% !important;
        min-width:0 !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:flex-start !important;
        justify-content:center !important;
        gap:5px !important;
        padding:12px 10px !important;
        text-align:left !important;
        overflow:visible !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-info h3{
        width:100% !important;
        margin:0 !important;
        font-size:17px !important;
        line-height:1.25 !important;
        text-align:left !important;
        white-space:normal !important;
        overflow-wrap:anywhere !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-profile-line,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-schedule{
        width:100% !important;
        margin:0 !important;
        font-size:12px !important;
        line-height:1.45 !important;
        text-align:left !important;
        white-space:normal !important;
        overflow-wrap:anywhere !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-tags{
        display:none !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-profile-link,
    body:not(.cast-detail-page) .princess-home #cast-list .cast-card .reserve-btn{
        width:min(100%,128px) !important;
        min-width:0 !important;
        max-width:100% !important;
        min-height:34px !important;
        margin:6px 0 0 !important;
        padding:8px 12px !important;
        align-self:flex-start !important;
        justify-content:center !important;
        font-size:13px !important;
        white-space:nowrap !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges.cast-badge-layer,
    body:not(.cast-detail-page) .princess-home #cast-list .cast-card .public-cast-badges{
        position:absolute !important;
        top:2px !important;
        left:2px !important;
        right:auto !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:flex-start !important;
        justify-content:flex-start !important;
        gap:1px !important;
        width:auto !important;
        height:auto !important;
        z-index:6 !important;
        transform:none !important;
        margin:0 !important;
        padding:0 !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges .premium-cast-badge{
        display:block !important;
        width:auto !important;
        min-width:0 !important;
        max-width:none !important;
        height:auto !important;
        margin:0 !important;
        padding:0 !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge-img-new,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-new,
    body:not(.cast-detail-page) .princess-home #cast-list img[alt*="NEW"]{
        display:block !important;
        width:46px !important;
        min-width:46px !important;
        max-width:46px !important;
        height:31px !important;
        min-height:31px !important;
        max-height:31px !important;
        margin:0 !important;
        padding:0 !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .princess-home #cast-list img[alt*="おすすめ"]{
        display:block !important;
        width:50px !important;
        min-width:50px !important;
        max-width:50px !important;
        height:33px !important;
        min-height:33px !important;
        max-height:33px !important;
        margin:0 !important;
        padding:0 !important;
    }
}

/* Ver6.1 Princess luxury brush up */
body:not(.cast-detail-page) .hero.hero-princess-image{
    background-image:
        linear-gradient(rgba(255,218,235,.02),rgba(255,218,235,.02)),
        url("../images/hero-princess.webp?v=1.0.0") !important;
    background-position:center top !important;
    background-repeat:no-repeat !important;
}

body:not(.cast-detail-page) .hero.hero-princess-image::before,
body:not(.cast-detail-page) .hero.hero-princess-image::after,
body:not(.cast-detail-page) .premium-hero-arrow,
body:not(.cast-detail-page) .hero-arrow,
body:not(.cast-detail-page) .swiper-button-prev,
body:not(.cast-detail-page) .swiper-button-next{
    content:none !important;
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
}

body:not(.cast-detail-page) .language-switch button.is-active{
    color:#fff !important;
    background:linear-gradient(135deg,#f06fae,#c83275) !important;
    border-color:#fff !important;
    box-shadow:0 8px 18px rgba(201,50,117,.22) !important;
}

@media(min-width:769px){
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges.cast-badge-layer,
    body:not(.cast-detail-page) .princess-home #cast-list .cast-card .public-cast-badges,
    body:not(.cast-detail-page) .princess-home .all-cast-grid .cast-card .public-cast-badges{
        position:absolute !important;
        top:1px !important;
        left:1px !important;
        right:auto !important;
        gap:2px !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:flex-start !important;
        justify-content:flex-start !important;
        transform:none !important;
        margin:0 !important;
        padding:0 !important;
        max-width:calc(100% - 2px) !important;
        overflow:hidden !important;
        z-index:8 !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges .premium-cast-badge,
    body:not(.cast-detail-page) .princess-home .all-cast-grid .premium-cast-badge{
        display:block !important;
        width:auto !important;
        min-width:0 !important;
        max-width:none !important;
        height:auto !important;
        margin:0 !important;
        padding:0 !important;
        transform:none !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge-img-new,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-new,
    body:not(.cast-detail-page) .princess-home .all-cast-grid .premium-cast-badge-img-new{
        display:block !important;
        width:62px !important;
        min-width:62px !important;
        max-width:62px !important;
        height:auto !important;
        margin:0 !important;
        padding:0 !important;
        transform:none !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .princess-home .all-cast-grid .premium-cast-badge-img-recommended{
        display:block !important;
        width:68px !important;
        min-width:68px !important;
        max-width:68px !important;
        height:auto !important;
        margin:0 !important;
        padding:0 !important;
        transform:none !important;
    }
}

body:not(.cast-detail-page) #system.princess-card{
    background:
        linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,241,248,.94)),
        radial-gradient(circle at 20% 8%,rgba(255,255,255,.9),transparent 34%) !important;
    border:1px solid rgba(196,147,66,.68) !important;
    box-shadow:0 20px 44px rgba(158,75,113,.15), inset 0 0 0 1px rgba(255,255,255,.88) !important;
}

body:not(.cast-detail-page) #system .section-title h2{
    font-size:clamp(28px,3vw,42px) !important;
    color:#8b315c !important;
}

body:not(.cast-detail-page) .luxury-system-menu{
    display:grid !important;
    gap:14px !important;
    margin:8px 0 20px !important;
    padding:18px !important;
    border-radius:22px !important;
    background:rgba(255,255,255,.78) !important;
    border:1px solid rgba(213,172,91,.58) !important;
}

body:not(.cast-detail-page) .luxury-system-menu .system-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:18px !important;
    padding:14px 0 !important;
    border-bottom:1px solid rgba(213,172,91,.26) !important;
    color:#74425b !important;
    font-size:15px !important;
    letter-spacing:.04em !important;
}

body:not(.cast-detail-page) .luxury-system-menu .system-row:last-child{
    border-bottom:0 !important;
}

body:not(.cast-detail-page) .luxury-system-menu strong{
    justify-self:end !important;
    color:#b58125 !important;
    font-family:"Cormorant Garamond","Noto Serif JP",serif !important;
    font-size:24px !important;
    font-weight:700 !important;
    white-space:nowrap !important;
}

body:not(.cast-detail-page) #concept.princess-card{
    min-height:420px !important;
    background:
        linear-gradient(rgba(255,247,251,.74),rgba(255,247,251,.78)),
        url("../images/hero-princess.webp?v=1.0.0") center/cover no-repeat !important;
    position:relative !important;
    overflow:hidden !important;
}

body:not(.cast-detail-page) #concept.princess-card::before{
    content:"";
    position:absolute;
    inset:16px;
    border:1px solid rgba(255,255,255,.75);
    border-radius:24px;
    pointer-events:none;
}

body:not(.cast-detail-page) #concept .section-title,
body:not(.cast-detail-page) #concept .concept-luxury-panel{
    position:relative !important;
    z-index:1 !important;
}

body:not(.cast-detail-page) #concept .section-title h2{
    color:#d04487 !important;
}

body:not(.cast-detail-page) .concept-luxury-panel{
    padding:22px !important;
    border-radius:24px !important;
    background:rgba(255,255,255,.76) !important;
    border:1px solid rgba(255,255,255,.86) !important;
    box-shadow:0 14px 30px rgba(142,56,98,.12) !important;
    backdrop-filter:blur(4px) !important;
}

body:not(.cast-detail-page) .concept-luxury-panel p{
    margin:0 !important;
    color:#70425b !important;
    font-size:15px !important;
    line-height:2 !important;
}

body:not(.cast-detail-page) .luxury-access-box{
    display:grid !important;
    gap:18px !important;
}

body:not(.cast-detail-page) .access-map{
    overflow:hidden !important;
    border-radius:22px !important;
    border:1px solid rgba(228,155,193,.5) !important;
    box-shadow:0 14px 26px rgba(151,54,103,.12) !important;
    background:#fff !important;
}

body:not(.cast-detail-page) .access-map iframe{
    display:block !important;
    width:100% !important;
    height:240px !important;
    border:0 !important;
}

body:not(.cast-detail-page) .access-details{
    display:grid !important;
    gap:10px !important;
}

body:not(.cast-detail-page) .access-details p{
    display:grid !important;
    grid-template-columns:84px minmax(0,1fr) !important;
    gap:12px !important;
    align-items:start !important;
    margin:0 !important;
    padding:12px 14px !important;
    border-radius:16px !important;
    background:rgba(255,255,255,.76) !important;
    border:1px solid rgba(231,160,195,.28) !important;
    color:#71445b !important;
}

body:not(.cast-detail-page) .access-details b{
    color:#c13f80 !important;
}

body:not(.cast-detail-page) .recruit-tags{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:9px !important;
    margin:10px 0 18px !important;
}

body:not(.cast-detail-page) .recruit-tags span{
    display:inline-flex !important;
    align-items:center !important;
    min-height:36px !important;
    padding:8px 13px !important;
    border-radius:999px !important;
    background:linear-gradient(135deg,#fff,#ffe8f3) !important;
    border:1px solid rgba(220,91,150,.34) !important;
    color:#8a315e !important;
    font-size:13px !important;
    box-shadow:0 8px 16px rgba(180,65,120,.09) !important;
}

body:not(.cast-detail-page) .luxury-contact-actions{
    align-items:stretch !important;
}

body:not(.cast-detail-page) .luxury-contact-btn{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    column-gap:12px !important;
    align-items:center !important;
    min-height:82px !important;
    padding:16px 20px !important;
    border-radius:24px !important;
    border:2px solid rgba(255,255,255,.92) !important;
    background:linear-gradient(135deg,#ff98c8,#e64f98 56%,#c9367e) !important;
    box-shadow:0 15px 28px rgba(190,55,117,.24), inset 0 0 0 1px rgba(255,255,255,.35) !important;
}

body:not(.cast-detail-page) .luxury-contact-btn:hover{
    transform:translateY(-3px) !important;
    box-shadow:0 20px 34px rgba(190,55,117,.3), inset 0 0 0 1px rgba(255,255,255,.42) !important;
}

body:not(.cast-detail-page) .luxury-contact-btn .contact-icon{
    grid-row:1/3 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:48px !important;
    height:48px !important;
    border-radius:50% !important;
    background:rgba(255,255,255,.92) !important;
    color:#c9367e !important;
    font-size:11px !important;
    font-weight:700 !important;
    letter-spacing:.06em !important;
}

body:not(.cast-detail-page) .luxury-contact-btn b,
body:not(.cast-detail-page) .luxury-contact-btn small{
    text-align:left !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .hero.hero-princess-image{
        background-size:contain !important;
        background-position:center top !important;
    }

    body:not(.cast-detail-page) .luxury-system-menu{
        padding:14px !important;
    }

    body:not(.cast-detail-page) .luxury-system-menu .system-row{
        gap:12px !important;
        font-size:14px !important;
    }

    body:not(.cast-detail-page) .luxury-system-menu strong{
        font-size:21px !important;
    }

    body:not(.cast-detail-page) #concept.princess-card{
        min-height:0 !important;
    }

    body:not(.cast-detail-page) .access-map iframe{
        height:220px !important;
    }

    body:not(.cast-detail-page) .access-details p{
        grid-template-columns:1fr !important;
        gap:5px !important;
    }

    body:not(.cast-detail-page) .luxury-contact-btn{
        width:100% !important;
        min-height:76px !important;
    }
}

/* Ver6 image-based homepage final layout */
body:not(.cast-detail-page) .hero.hero-princess-image.hero-ver6,
body:not(.cast-detail-page) .hero.hero-ver6{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:1677/938 !important;
    padding:0 !important;
    margin:0 0 56px !important;
    background-image:url("../images/hero-ver6.webp?v=1.0.0") !important;
    background-size:contain !important;
    background-position:center top !important;
    background-repeat:no-repeat !important;
    background-color:#ffe3ef !important;
    overflow:hidden !important;
}

body:not(.cast-detail-page) .hero.hero-ver6::before,
body:not(.cast-detail-page) .hero.hero-ver6::after,
body:not(.cast-detail-page) .hero.hero-ver6 .swiper-button-prev,
body:not(.cast-detail-page) .hero.hero-ver6 .swiper-button-next,
body:not(.cast-detail-page) .hero.hero-ver6 .hero-arrow,
body:not(.cast-detail-page) .hero.hero-ver6 .premium-hero-arrow{
    content:none !important;
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
}

body:not(.cast-detail-page) .hero.hero-ver6 > .hero-link{
    position:absolute !important;
    top:72% !important;
    bottom:auto !important;
    height:18% !important;
    z-index:8 !important;
    display:block !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 !important;
    margin:0 !important;
}

body:not(.cast-detail-page) .hero.hero-ver6 > .hero-link.web{
    left:18% !important;
    width:21% !important;
}

body:not(.cast-detail-page) .hero.hero-ver6 > .hero-link.line{
    left:40% !important;
    width:21% !important;
}

body:not(.cast-detail-page) .hero.hero-ver6 > .hero-link.recruit{
    left:62% !important;
    width:21% !important;
}

body:not(.cast-detail-page) .princess-card-grid{
    align-items:stretch !important;
    gap:24px !important;
}

body:not(.cast-detail-page) .princess-home .princess-card-grid-middle{
    grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,1fr) !important;
}

body:not(.cast-detail-page) .princess-card-grid-top > .princess-card{
    min-height:560px !important;
    height:560px !important;
}

body:not(.cast-detail-page) #cast.today-cast .today-schedule-list{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
    max-width:100% !important;
    overflow:auto !important;
}

body:not(.cast-detail-page) #cast.today-cast .today-schedule-item{
    display:grid !important;
    grid-template-columns:88px minmax(0,1fr) !important;
    width:100% !important;
    min-width:0 !important;
    align-items:center !important;
}

body:not(.cast-detail-page) #cast.today-cast .today-schedule-info{
    min-width:0 !important;
    width:100% !important;
    writing-mode:horizontal-tb !important;
    text-orientation:mixed !important;
}

body:not(.cast-detail-page) #cast.today-cast .today-schedule-info h3,
body:not(.cast-detail-page) #cast.today-cast .today-schedule-info p{
    white-space:normal !important;
    word-break:keep-all !important;
    overflow-wrap:anywhere !important;
    writing-mode:horizontal-tb !important;
    text-orientation:mixed !important;
}

body:not(.cast-detail-page) .princess-card-grid-middle > .princess-card{
    min-height:760px !important;
    height:760px !important;
}

body:not(.cast-detail-page) .princess-card-grid-bottom > .princess-card{
    min-height:560px !important;
    height:560px !important;
}

body:not(.cast-detail-page) #concept.princess-card,
body:not(.cast-detail-page) #system.princess-card,
body:not(.cast-detail-page) #recruit.princess-card{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:14px !important;
    background:linear-gradient(180deg,#fff8fb,#ffe8f3) !important;
    border:1px solid rgba(235,148,190,.48) !important;
    overflow:hidden !important;
}

body:not(.cast-detail-page) #concept.princess-card::before,
body:not(.cast-detail-page) #system.princess-card::before,
body:not(.cast-detail-page) #recruit.princess-card::before,
body:not(.cast-detail-page) #concept.princess-card::after,
body:not(.cast-detail-page) #system.princess-card::after,
body:not(.cast-detail-page) #recruit.princess-card::after{
    content:none !important;
    display:none !important;
}

body:not(.cast-detail-page) .ver6-card-image{
    display:block !important;
    width:auto !important;
    max-width:100% !important;
    height:auto !important;
    max-height:100% !important;
    margin:auto !important;
    border:0 !important;
    border-radius:18px !important;
    box-shadow:0 14px 26px rgba(174,67,124,.13) !important;
}

body:not(.cast-detail-page) .ver6-image-link{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    height:100% !important;
    text-decoration:none !important;
}

body:not(.cast-detail-page) #system .section-title,
body:not(.cast-detail-page) #system .luxury-system-menu,
body:not(.cast-detail-page) #system .princess-card-action,
body:not(.cast-detail-page) #concept .section-title,
body:not(.cast-detail-page) #concept .concept-content,
body:not(.cast-detail-page) #recruit .section-title,
body:not(.cast-detail-page) #recruit .recruit-tags,
body:not(.cast-detail-page) #recruit .princess-card-action{
    display:none !important;
}

body:not(.cast-detail-page) #access .luxury-access-box{
    height:100% !important;
    grid-template-rows:minmax(0,1fr) auto !important;
    gap:14px !important;
}

body:not(.cast-detail-page) #access .access-map{
    min-height:0 !important;
}

body:not(.cast-detail-page) #access .access-map iframe{
    width:100% !important;
    height:100% !important;
    min-height:280px !important;
    border:0 !important;
}

body:not(.cast-detail-page) #access .access-details p{
    grid-template-columns:92px minmax(0,1fr) !important;
}

body:not(.cast-detail-page) .premium-cast-badge,
body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge,
body:not(.cast-detail-page) .premium-cast-badge::before,
body:not(.cast-detail-page) .premium-cast-badge::after,
body:not(.cast-detail-page) .premium-cast-badge-img,
body:not(.cast-detail-page) .public-cast-badges img{
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;
    border:0 !important;
    box-shadow:none !important;
    filter:none !important;
}

body:not(.cast-detail-page) .premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-recommended{
    margin-left:-10px !important;
}

body:not(.cast-detail-page) #contact.ver6-contact-image-section{
    position:relative !important;
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
    margin:40px auto 0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:#ffdbe9 !important;
    box-shadow:none !important;
    overflow:hidden !important;
}

body:not(.cast-detail-page) .ver6-contact-image{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    border:0 !important;
}

body:not(.cast-detail-page) .ver6-contact-link{
    position:absolute !important;
    z-index:8 !important;
    display:block !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

body:not(.cast-detail-page) .ver6-contact-link.phone{
    left:26% !important;
    top:30% !important;
    width:21% !important;
    height:43% !important;
}

body:not(.cast-detail-page) .ver6-contact-link.line{
    left:50% !important;
    top:30% !important;
    width:21% !important;
    height:43% !important;
}

body:not(.cast-detail-page) .ver6-contact-link.form{
    left:73% !important;
    top:30% !important;
    width:21% !important;
    height:43% !important;
}

@media(max-width:1020px){
    body:not(.cast-detail-page) .princess-card-grid-top,
    body:not(.cast-detail-page) .princess-card-grid-middle,
    body:not(.cast-detail-page) .princess-card-grid-bottom{
        grid-template-columns:1fr !important;
    }

    body:not(.cast-detail-page) .princess-card-grid-top > .princess-card,
    body:not(.cast-detail-page) .princess-card-grid-middle > .princess-card,
    body:not(.cast-detail-page) .princess-card-grid-bottom > .princess-card{
        height:auto !important;
        min-height:0 !important;
    }

    body:not(.cast-detail-page) #concept.princess-card,
    body:not(.cast-detail-page) #system.princess-card,
    body:not(.cast-detail-page) #recruit.princess-card{
        min-height:0 !important;
    }

    body:not(.cast-detail-page) .ver6-card-image{
        width:100% !important;
        max-height:none !important;
    }
}

@media(max-width:768px){
    body:not(.cast-detail-page) .hero.hero-princess-image.hero-ver6,
    body:not(.cast-detail-page) .hero.hero-ver6{
        aspect-ratio:1677/938 !important;
        height:auto !important;
        min-height:0 !important;
        margin:64px 0 28px !important;
        background-size:contain !important;
        background-position:center top !important;
    }

    body:not(.cast-detail-page) .hero.hero-ver6 > .hero-link{
        top:72% !important;
        height:18% !important;
    }

    body:not(.cast-detail-page) .hero.hero-ver6 > .hero-link.web{
        left:17% !important;
        width:22% !important;
    }

    body:not(.cast-detail-page) .hero.hero-ver6 > .hero-link.line{
        left:39% !important;
        width:22% !important;
    }

    body:not(.cast-detail-page) .hero.hero-ver6 > .hero-link.recruit{
        left:61% !important;
        width:22% !important;
    }

    body:not(.cast-detail-page) .princess-card-grid{
        gap:18px !important;
    }

    body:not(.cast-detail-page) #concept.princess-card,
    body:not(.cast-detail-page) #system.princess-card,
    body:not(.cast-detail-page) #recruit.princess-card{
        padding:8px !important;
    }

    body:not(.cast-detail-page) #access .access-map iframe{
        min-height:240px !important;
    }

    body:not(.cast-detail-page) #access .access-details p{
        grid-template-columns:1fr !important;
    }

    body:not(.cast-detail-page) .ver6-contact-link.phone{
        left:26% !important;
        top:30% !important;
        width:21% !important;
        height:43% !important;
    }

    body:not(.cast-detail-page) .ver6-contact-link.line{
        left:50% !important;
        top:30% !important;
        width:21% !important;
        height:43% !important;
    }

    body:not(.cast-detail-page) .ver6-contact-link.form{
        left:73% !important;
        top:30% !important;
        width:21% !important;
        height:43% !important;
    }
}

/* PC layout and schedule display polish */
@media(min-width:1021px){
    body:not(.cast-detail-page) .princess-card-grid,
    body:not(.cast-detail-page) .princess-card-grid-top,
    body:not(.cast-detail-page) .princess-card-grid-middle,
    body:not(.cast-detail-page) .princess-card-grid-bottom{
        display:grid !important;
        align-items:stretch !important;
        gap:24px !important;
    }

    body:not(.cast-detail-page) .princess-card-grid-top > .princess-card,
    body:not(.cast-detail-page) .princess-card-grid-middle > .princess-card,
    body:not(.cast-detail-page) .princess-card-grid-bottom > .princess-card{
        height:auto !important;
        display:flex !important;
        flex-direction:column !important;
        align-self:stretch !important;
        margin-top:0 !important;
        margin-bottom:0 !important;
        transform:none !important;
        position:relative !important;
        overflow:visible !important;
    }

    body:not(.cast-detail-page) .princess-card-grid-top > .princess-card{
        min-height:600px !important;
    }

    body:not(.cast-detail-page) .princess-card-grid-middle > .princess-card{
        min-height:780px !important;
    }

    body:not(.cast-detail-page) .princess-card-grid-bottom > .princess-card{
        min-height:640px !important;
    }

    body:not(.cast-detail-page) #access.princess-card{
        height:auto !important;
        min-height:640px !important;
        overflow:visible !important;
    }

    body:not(.cast-detail-page) #access .luxury-access-box{
        height:auto !important;
        min-height:0 !important;
        display:grid !important;
        grid-template-rows:minmax(320px,1fr) auto !important;
        gap:16px !important;
        overflow:visible !important;
    }

    body:not(.cast-detail-page) #access .access-map{
        min-height:320px !important;
        overflow:hidden !important;
    }

    body:not(.cast-detail-page) #access .access-map iframe{
        height:100% !important;
        min-height:320px !important;
    }

    body:not(.cast-detail-page) #access .access-details{
        overflow:visible !important;
    }

    body:not(.cast-detail-page) #access .access-details p{
        min-height:0 !important;
        padding:11px 14px !important;
        line-height:1.55 !important;
    }
}

body:not(.cast-detail-page) .premium-cast-badge,
body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge{
    padding:0 !important;
    border-radius:999px !important;
    background:transparent !important;
    box-shadow:none !important;
}

body:not(.cast-detail-page) .premium-cast-badge-img-new,
body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-new{
    width:46px !important;
    min-width:46px !important;
    max-width:46px !important;
    height:auto !important;
}

body:not(.cast-detail-page) .premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-recommended{
    width:50px !important;
    min-width:50px !important;
    max-width:50px !important;
    height:auto !important;
    margin-left:-12px !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .premium-cast-badge-img-new,
    body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-new{
        width:34px !important;
        min-width:34px !important;
        max-width:34px !important;
    }

    body:not(.cast-detail-page) .premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-recommended{
        width:38px !important;
        min-width:38px !important;
        max-width:38px !important;
        margin-left:-8px !important;
    }
}

/* Final badge size override for real homepage cast cards */
body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges,
body:not(.cast-detail-page) .princess-home #cast-list .cast-card .public-cast-badges{
    align-items:flex-start !important;
    gap:1px !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge-img-new,
body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-new{
    width:46px !important;
    min-width:46px !important;
    max-width:46px !important;
    height:auto !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-recommended{
    width:50px !important;
    min-width:50px !important;
    max-width:50px !important;
    height:auto !important;
    margin-left:-12px !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge-img-new,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-new{
        width:34px !important;
        min-width:34px !important;
        max-width:34px !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-recommended{
        width:38px !important;
        min-width:38px !important;
        max-width:38px !important;
        margin-left:-8px !important;
    }
}

/* Ver6.2 premium motion, glass, and settings link polish */
body:not(.cast-detail-page){
    background:
        radial-gradient(circle at 12% 10%,rgba(255,255,255,.7) 0 1px,transparent 2px),
        radial-gradient(circle at 82% 18%,rgba(255,255,255,.65) 0 1px,transparent 2px),
        linear-gradient(180deg,#fff7fb 0%,#ffe5f1 42%,#fff8fc 100%) !important;
    overflow-x:hidden !important;
}

body:not(.cast-detail-page)::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-1;
    pointer-events:none;
    background:
        radial-gradient(circle at 18% 28%,rgba(255,255,255,.92) 0 1px,transparent 3px),
        radial-gradient(circle at 70% 16%,rgba(255,213,233,.92) 0 1px,transparent 4px),
        radial-gradient(circle at 88% 64%,rgba(255,255,255,.82) 0 1px,transparent 3px),
        radial-gradient(circle at 32% 82%,rgba(255,224,239,.86) 0 1px,transparent 4px);
    animation:chouchouSparkle 8s ease-in-out infinite alternate;
}

@keyframes chouchouSparkle{
    from{opacity:.35;transform:translate3d(0,0,0);}
    to{opacity:.75;transform:translate3d(0,-8px,0);}
}

body:not(.cast-detail-page) .hero.hero-princess-image.hero-ver6,
body:not(.cast-detail-page) .hero.hero-ver6{
    aspect-ratio:2880/1404 !important;
    background-image:url("../img/hero/top-ver62.webp?v=1.0.0") !important;
    background-size:contain !important;
    background-position:center top !important;
    background-repeat:no-repeat !important;
    background-color:#ffd9e8 !important;
    margin:0 0 54px !important;
}

body:not(.cast-detail-page) .hero.hero-ver6 > .hero-link{
    top:70.8% !important;
    height:18.5% !important;
}

body:not(.cast-detail-page) .hero.hero-ver6 > .hero-link.web{
    left:18.3% !important;
    width:20.4% !important;
}

body:not(.cast-detail-page) .hero.hero-ver6 > .hero-link.line{
    left:39.4% !important;
    width:20.4% !important;
}

body:not(.cast-detail-page) .hero.hero-ver6 > .hero-link.recruit{
    left:60.6% !important;
    width:20.4% !important;
}

body:not(.cast-detail-page) .swiper-pagination,
body:not(.cast-detail-page) .swiper-pagination-bullet,
body:not(.cast-detail-page) .slick-dots,
body:not(.cast-detail-page) .slick-dots li,
body:not(.cast-detail-page) .slick-dots li button,
body:not(.cast-detail-page) .hero-dots,
body:not(.cast-detail-page) .slider-dots,
body:not(.cast-detail-page) .slide-dots,
body:not(.cast-detail-page) .hero-pagination,
body:not(.cast-detail-page) .carousel-dots,
body:not(.cast-detail-page) .hero-arrow,
body:not(.cast-detail-page) .premium-hero-arrow,
body:not(.cast-detail-page) .swiper-button-prev,
body:not(.cast-detail-page) .swiper-button-next{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
}

body:not(.cast-detail-page) .princess-card{
    position:relative !important;
    background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,231,243,.54)) !important;
    border:1px solid rgba(232,126,178,.38) !important;
    box-shadow:
        0 18px 42px rgba(172,57,116,.16),
        inset 0 1px 0 rgba(255,255,255,.82) !important;
    backdrop-filter:blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter:blur(12px) saturate(118%) !important;
}

body:not(.cast-detail-page) .princess-card::after{
    content:"";
    position:absolute;
    top:18px;
    right:18px;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#fff;
    box-shadow:
        -18px 26px 0 -2px rgba(255,154,201,.78),
        -42px -4px 0 -3px rgba(255,255,255,.92),
        12px 44px 0 -3px rgba(244,112,175,.62);
    pointer-events:none;
}

body:not(.cast-detail-page) .reveal-card{
    opacity:0;
    transform:translateY(22px);
    transition:opacity .75s ease, transform .75s ease;
    will-change:opacity,transform;
}

body:not(.cast-detail-page) .reveal-card.is-visible{
    opacity:1;
    transform:translateY(0);
}

body:not(.cast-detail-page) .public-cast-badges,
body:not(.cast-detail-page) .cast-badge-layer,
body:not(.cast-detail-page) .today-cast .cast-card .public-cast-badges,
body:not(.cast-detail-page) .all-cast-grid .cast-card .public-cast-badges{
    position:absolute !important;
    top:3px !important;
    left:3px !important;
    right:auto !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:2px !important;
    width:auto !important;
    max-width:calc(100% - 6px) !important;
    height:auto !important;
    padding:0 !important;
    margin:0 !important;
    transform:none !important;
    background:transparent !important;
    overflow:hidden !important;
    z-index:12 !important;
}

body:not(.cast-detail-page) .premium-cast-badge,
body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge,
body:not(.cast-detail-page) .premium-cast-badge::before,
body:not(.cast-detail-page) .premium-cast-badge::after{
    display:block !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    height:auto !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    background-image:none !important;
    box-shadow:none !important;
    transform:none !important;
}

body:not(.cast-detail-page) .premium-cast-badge-img,
body:not(.cast-detail-page) .public-cast-badges img{
    display:block !important;
    height:auto !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;
    box-shadow:none !important;
    filter:none !important;
    object-fit:contain !important;
    transform:none !important;
}

body:not(.cast-detail-page) .premium-cast-badge-img-new,
body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-new{
    width:48px !important;
    min-width:48px !important;
    max-width:48px !important;
}

body:not(.cast-detail-page) .premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-recommended{
    width:52px !important;
    min-width:52px !important;
    max-width:52px !important;
    margin-left:0 !important;
}

body:not(.cast-detail-page) .princess-card-action{
    gap:10px !important;
    flex-wrap:wrap !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .hero.hero-princess-image.hero-ver6,
    body:not(.cast-detail-page) .hero.hero-ver6{
        aspect-ratio:2880/1404 !important;
        margin:64px 0 30px !important;
        background-size:contain !important;
        background-position:center top !important;
    }

    body:not(.cast-detail-page) .hero.hero-ver6 > .hero-link{
        top:70.8% !important;
        height:19% !important;
    }

    body:not(.cast-detail-page) .hero.hero-ver6 > .hero-link.web{
        left:17.8% !important;
        width:20.8% !important;
    }

    body:not(.cast-detail-page) .hero.hero-ver6 > .hero-link.line{
        left:39.2% !important;
        width:20.8% !important;
    }

    body:not(.cast-detail-page) .hero.hero-ver6 > .hero-link.recruit{
        left:60.4% !important;
        width:20.8% !important;
    }

    body:not(.cast-detail-page) .public-cast-badges,
    body:not(.cast-detail-page) .cast-badge-layer,
    body:not(.cast-detail-page) .today-cast .cast-card .public-cast-badges,
    body:not(.cast-detail-page) .all-cast-grid .cast-card .public-cast-badges{
        top:2px !important;
        left:2px !important;
        gap:1px !important;
    }

    body:not(.cast-detail-page) .premium-cast-badge-img-new,
    body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-new{
        width:36px !important;
        min-width:36px !important;
        max-width:36px !important;
    }

    body:not(.cast-detail-page) .premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-recommended{
        width:40px !important;
        min-width:40px !important;
        max-width:40px !important;
        margin-left:0 !important;
    }
}

@media(prefers-reduced-motion:reduce){
    body:not(.cast-detail-page)::before{
        animation:none !important;
    }

    body:not(.cast-detail-page) .reveal-card{
        opacity:1 !important;
        transform:none !important;
        transition:none !important;
    }
}
/* Ver6.2 final real cast badge override */
body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges,
body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges.cast-badge-layer,
body:not(.cast-detail-page) .princess-home #cast-list .cast-card .public-cast-badges,
body:not(.cast-detail-page) .princess-home .all-cast-grid .cast-card .public-cast-badges,
body:not(.cast-detail-page) .all-cast-grid .cast-card .public-cast-badges,
body:not(.cast-detail-page) .today-cast .cast-card .public-cast-badges{
    top:3px !important;
    left:3px !important;
    right:auto !important;
    gap:2px !important;
    align-items:flex-start !important;
    background:transparent !important;
    background-image:none !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge,
body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges .premium-cast-badge,
body:not(.cast-detail-page) .all-cast-grid .public-cast-badges .premium-cast-badge,
body:not(.cast-detail-page) .today-cast .public-cast-badges .premium-cast-badge{
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    background-image:none !important;
    box-shadow:none !important;
    transform:none !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge-img-new,
body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-new,
body:not(.cast-detail-page) .all-cast-grid .public-cast-badges img.premium-cast-badge-img-new,
body:not(.cast-detail-page) .today-cast .public-cast-badges img.premium-cast-badge-img-new{
    width:48px !important;
    min-width:48px !important;
    max-width:48px !important;
    margin-left:0 !important;
    background:transparent !important;
    background-image:none !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .all-cast-grid .public-cast-badges img.premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .today-cast .public-cast-badges img.premium-cast-badge-img-recommended{
    width:52px !important;
    min-width:52px !important;
    max-width:52px !important;
    margin-left:0 !important;
    background:transparent !important;
    background-image:none !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges.cast-badge-layer,
    body:not(.cast-detail-page) .princess-home #cast-list .cast-card .public-cast-badges,
    body:not(.cast-detail-page) .princess-home .all-cast-grid .cast-card .public-cast-badges,
    body:not(.cast-detail-page) .all-cast-grid .cast-card .public-cast-badges,
    body:not(.cast-detail-page) .today-cast .cast-card .public-cast-badges{
        top:2px !important;
        left:2px !important;
        gap:1px !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge-img-new,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-new,
    body:not(.cast-detail-page) .all-cast-grid .public-cast-badges img.premium-cast-badge-img-new,
    body:not(.cast-detail-page) .today-cast .public-cast-badges img.premium-cast-badge-img-new{
        width:36px !important;
        min-width:36px !important;
        max-width:36px !important;
        margin-left:0 !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .all-cast-grid .public-cast-badges img.premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .today-cast .public-cast-badges img.premium-cast-badge-img-recommended{
        width:40px !important;
        min-width:40px !important;
        max-width:40px !important;
        margin-left:0 !important;
    }
}

/* Ver6.3 pink card, badge, form, and translation polish */
body:not(.cast-detail-page){
    background:
        radial-gradient(circle at 16% 12%,rgba(255,255,255,.86) 0 1px,transparent 4px),
        radial-gradient(circle at 78% 26%,rgba(255,180,215,.42) 0 1px,transparent 5px),
        linear-gradient(180deg,#fff4fa 0%,#ffe4f1 46%,#fff8fc 100%) !important;
}

body:not(.cast-detail-page) .princess-home{
    background:
        linear-gradient(90deg,rgba(236,97,158,.08) 0 1px,transparent 1px),
        linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,221,239,.24)) !important;
    background-size:56px 100%,100% 100% !important;
}

body:not(.cast-detail-page) .princess-card{
    position:relative !important;
    padding:34px 30px !important;
    border:1px solid rgba(229,117,174,.46) !important;
    border-radius:28px !important;
    background:
        linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,246,251,.66)),
        radial-gradient(circle at 50% 0%,rgba(255,184,218,.28),transparent 36%) !important;
    box-shadow:
        0 22px 48px rgba(180,65,122,.14),
        inset 0 0 0 1px rgba(255,255,255,.84) !important;
    backdrop-filter:blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter:blur(12px) saturate(118%) !important;
    overflow:hidden !important;
}

body:not(.cast-detail-page) .princess-card::before{
    content:"" !important;
    position:absolute !important;
    inset:16px !important;
    border:2px dashed rgba(224,140,182,.34) !important;
    border-radius:22px !important;
    background:transparent !important;
    pointer-events:none !important;
    z-index:0 !important;
}

body:not(.cast-detail-page) #concept.princess-card::before,
body:not(.cast-detail-page) #system.princess-card::before,
body:not(.cast-detail-page) #recruit.princess-card::before{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    inset:16px !important;
    border:2px dashed rgba(224,140,182,.34) !important;
    border-radius:22px !important;
    background:transparent !important;
    pointer-events:none !important;
    z-index:1 !important;
}

body:not(.cast-detail-page) .princess-card::after{
    content:"" !important;
    position:absolute !important;
    top:-1px !important;
    left:50% !important;
    width:120px !important;
    height:26px !important;
    border-radius:0 0 999px 999px !important;
    background:
        radial-gradient(circle at 50% 64%,rgba(255,255,255,.92) 0 4px,transparent 5px),
        linear-gradient(90deg,#d63f8a,#ffd1e6 45%,#b92f76) !important;
    box-shadow:0 8px 18px rgba(193,55,119,.16) !important;
    transform:translateX(-50%) !important;
    pointer-events:none !important;
    z-index:1 !important;
}

body:not(.cast-detail-page) #concept.princess-card::after,
body:not(.cast-detail-page) #system.princess-card::after,
body:not(.cast-detail-page) #recruit.princess-card::after{
    content:"" !important;
    display:block !important;
}

body:not(.cast-detail-page) .princess-card > *,
body:not(.cast-detail-page) .princess-card .section-title,
body:not(.cast-detail-page) .princess-card .princess-card-action{
    position:relative !important;
    z-index:2 !important;
}

body:not(.cast-detail-page) .section-title{
    margin-bottom:24px !important;
}

body:not(.cast-detail-page) .section-title span{
    color:#d85c9b !important;
    letter-spacing:.04em !important;
}

body:not(.cast-detail-page) .section-title span::before,
body:not(.cast-detail-page) .section-title span::after{
    content:"";
    display:inline-block;
    width:8px;
    height:8px;
    margin:0 10px;
    background:#e880b3;
    clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);
    vertical-align:middle;
}

body:not(.cast-detail-page) .section-title h1,
body:not(.cast-detail-page) .section-title h2{
    color:#6f3550 !important;
    text-shadow:0 2px 0 rgba(255,255,255,.72) !important;
}

body:not(.cast-detail-page) .reserve-btn,
body:not(.cast-detail-page) .recruit-form button.reserve-btn{
    border:2px solid rgba(255,255,255,.86) !important;
    border-radius:999px !important;
    background:linear-gradient(135deg,#ff8cc2 0%,#e24f99 52%,#b72d78 100%) !important;
    box-shadow:0 12px 24px rgba(195,50,119,.25), inset 0 0 0 1px rgba(255,255,255,.28) !important;
}

body:not(.cast-detail-page) .access-details p,
body:not(.cast-detail-page) .princess-info-list p{
    border:1px solid rgba(230,171,201,.5) !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.72) !important;
    box-shadow:0 10px 22px rgba(169,67,118,.08) !important;
}

body:not(.cast-detail-page) .public-cast-badges,
body:not(.cast-detail-page) .cast-badge-layer,
body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge,
body:not(.cast-detail-page) .premium-cast-badge,
body:not(.cast-detail-page) .premium-cast-badge::before,
body:not(.cast-detail-page) .premium-cast-badge::after,
body:not(.cast-detail-page) .premium-cast-badge-img,
body:not(.cast-detail-page) .public-cast-badges img{
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;
    border:0 !important;
    box-shadow:none !important;
    filter:none !important;
}

body:not(.cast-detail-page) .public-cast-badges,
body:not(.cast-detail-page) .cast-badge-layer,
body:not(.cast-detail-page) .today-cast .cast-card .public-cast-badges,
body:not(.cast-detail-page) .all-cast-grid .cast-card .public-cast-badges,
body:not(.cast-detail-page) .princess-home #cast-list .cast-card .public-cast-badges{
    top:3px !important;
    left:3px !important;
    right:auto !important;
    align-items:flex-start !important;
    gap:1px !important;
    overflow:visible !important;
}

body:not(.cast-detail-page) .premium-cast-badge-img-new,
body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-new{
    margin-left:0 !important;
    transform:translateX(0) !important;
}

body:not(.cast-detail-page) .premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-recommended{
    margin-left:0 !important;
    transform:translateX(-6px) !important;
}

.recruit-form-page{
    width:min(100%,980px);
    margin:128px auto 70px;
    padding:0 18px;
}

.recruit-form-card{
    min-height:0 !important;
}

.recruit-form-lead{
    max-width:680px;
    margin:0 auto 28px;
    color:#70425b;
    text-align:center;
    line-height:1.9;
}

.recruit-form{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.recruit-form label{
    display:grid;
    gap:8px;
    color:#783b57;
    font-weight:700;
}

.recruit-form input,
.recruit-form select,
.recruit-form textarea{
    width:100%;
    min-height:48px;
    padding:12px 14px;
    border:1px solid rgba(226,137,181,.48);
    border-radius:14px;
    background:rgba(255,255,255,.78);
    color:#5f334a;
    font:inherit;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}

.recruit-form textarea{
    resize:vertical;
}

.recruit-form input:focus,
.recruit-form select:focus,
.recruit-form textarea:focus{
    outline:3px solid rgba(235,126,180,.22);
    border-color:#df6fa9;
}

.recruit-form-wide,
.recruit-form-actions{
    grid-column:1 / -1;
}

.recruit-form-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:16px;
    margin-top:12px;
}

.recruit-form-status{
    color:#72455d;
    font-weight:700;
}

.recruit-form-status[data-type="success"]{
    color:#2f9d63;
}

.recruit-form-status[data-type="error"]{
    color:#d64f67;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .princess-card{
        padding:28px 18px !important;
        border-radius:24px !important;
    }

    body:not(.cast-detail-page) .princess-card::before{
        inset:10px !important;
        border-radius:18px !important;
    }

    body:not(.cast-detail-page) .premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-recommended{
        transform:translateX(-4px) !important;
    }

    .recruit-form-page{
        margin:96px auto 46px;
        padding:0 14px;
    }

    .recruit-form{
        grid-template-columns:1fr;
    }
}

/* Ver6.3 final visual badge alignment */
body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-recommended,
body:not(.cast-detail-page) .cast-badge-layer .premium-cast-badge-recommended,
body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges .premium-cast-badge-recommended,
body:not(.cast-detail-page) .all-cast-grid .public-cast-badges .premium-cast-badge-recommended,
body:not(.cast-detail-page) .today-cast .public-cast-badges .premium-cast-badge-recommended{
    margin-left:0 !important;
    transform:translateX(-6px) !important;
}

body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-new,
body:not(.cast-detail-page) .cast-badge-layer .premium-cast-badge-new,
body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges .premium-cast-badge-new,
body:not(.cast-detail-page) .all-cast-grid .public-cast-badges .premium-cast-badge-new,
body:not(.cast-detail-page) .today-cast .public-cast-badges .premium-cast-badge-new{
    margin-left:0 !important;
    transform:translateX(0) !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-recommended,
    body:not(.cast-detail-page) .cast-badge-layer .premium-cast-badge-recommended,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges .premium-cast-badge-recommended,
    body:not(.cast-detail-page) .all-cast-grid .public-cast-badges .premium-cast-badge-recommended,
    body:not(.cast-detail-page) .today-cast .public-cast-badges .premium-cast-badge-recommended{
        transform:translateX(-4px) !important;
    }
}

/* Ver6.4 forms, system table, phone display, and final badge alignment */
body:not(.cast-detail-page) #system.princess-card{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:18px !important;
    padding:34px 28px !important;
    background:
        linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,244,250,.72)),
        radial-gradient(circle at 50% 0%,rgba(255,190,221,.28),transparent 38%) !important;
    overflow:hidden !important;
}

body:not(.cast-detail-page) #system .section-title{
    display:block !important;
}

body:not(.cast-detail-page) .system-price-card{
    display:grid !important;
    gap:0 !important;
    padding:6px 12px !important;
    border-radius:22px !important;
    background:rgba(255,255,255,.76) !important;
    border:1px solid rgba(231,160,195,.38) !important;
    box-shadow:0 14px 28px rgba(165,62,118,.1) !important;
}

body:not(.cast-detail-page) .system-price-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:18px !important;
    align-items:center !important;
    min-height:54px !important;
    padding:12px 6px !important;
    border-bottom:2px dotted rgba(226,130,177,.36) !important;
    color:#6b3a52 !important;
    font-weight:700 !important;
}

body:not(.cast-detail-page) .system-price-row:last-child{
    border-bottom:0 !important;
}

body:not(.cast-detail-page) .system-price-row strong{
    color:#df4f91 !important;
    font-size:24px !important;
    font-family:"Cormorant Garamond","Noto Serif JP",serif !important;
    white-space:nowrap !important;
}

body:not(.cast-detail-page) .system-price-note{
    margin:0 !important;
    color:#6f455b !important;
    text-align:center !important;
    font-size:14px !important;
}

body:not(.cast-detail-page) .ver6-contact-link.phone{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:3px !important;
    padding:0 1.5% 2.2% !important;
    color:#e05095 !important;
    text-align:center !important;
    text-decoration:none !important;
    font-weight:700 !important;
}

body:not(.cast-detail-page) .contact-phone-label{
    display:block !important;
    color:#e05095 !important;
    font-size:clamp(10px,1vw,18px) !important;
    line-height:1.1 !important;
}

body:not(.cast-detail-page) .contact-phone-number{
    display:block !important;
    color:#784057 !important;
    font-size:clamp(10px,1.08vw,19px) !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
}

.recruit-notify-actions{
    grid-column:1 / -1;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px;
    margin-top:4px;
}

.recruit-notify-actions[hidden],
.recruit-notify-btn[hidden]{
    display:none !important;
}

.recruit-notify-btn{
    min-width:220px;
}

body:not(.cast-detail-page) .today-schedule-link{
    cursor:pointer !important;
    transition:transform .2s ease, box-shadow .2s ease !important;
}

body:not(.cast-detail-page) .today-schedule-link:hover{
    transform:translateY(-2px) !important;
    box-shadow:0 14px 26px rgba(178,62,121,.16) !important;
}

body:not(.cast-detail-page) .today-schedule-profile{
    font-weight:700 !important;
    color:#74435b !important;
}

body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-new,
body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-recommended,
body:not(.cast-detail-page) .cast-badge-layer .premium-cast-badge-new,
body:not(.cast-detail-page) .cast-badge-layer .premium-cast-badge-recommended{
    transform:none !important;
    margin-left:0 !important;
}

body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-img-new,
body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .cast-badge-layer .premium-cast-badge-img-new,
body:not(.cast-detail-page) .cast-badge-layer .premium-cast-badge-img-recommended{
    transform:none !important;
    margin-left:0 !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) #system.princess-card{
        padding:28px 18px !important;
    }

    body:not(.cast-detail-page) .system-price-row{
        min-height:48px !important;
        gap:12px !important;
        font-size:13px !important;
    }

    body:not(.cast-detail-page) .system-price-row strong{
        font-size:20px !important;
    }

    body:not(.cast-detail-page) .contact-phone-label,
    body:not(.cast-detail-page) .contact-phone-number{
        font-size:9px !important;
    }
}

/* Ver6.5 hero slider, badge alignment, and today cast polish */
body:not(.cast-detail-page) .hero.hero-ver6{
    position:relative !important;
    overflow:hidden !important;
    background:none !important;
    background-image:none !important;
}

body:not(.cast-detail-page) .hero.hero-ver6 .hero-slider-track{
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;
    display:block !important;
    overflow:hidden !important;
    background:#fff2f8 !important;
}

body:not(.cast-detail-page) .hero.hero-ver6 .hero-slide{
    position:absolute !important;
    inset:0 !important;
    opacity:0 !important;
    transition:opacity 1.15s ease !important;
}

body:not(.cast-detail-page) .hero.hero-ver6 .hero-slide.is-active{
    opacity:1 !important;
}

body:not(.cast-detail-page) .hero.hero-ver6 .hero-slide img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    background:#fff2f8 !important;
}

body:not(.cast-detail-page) .hero.hero-ver6 .hero-princess-title{
    position:relative !important;
    z-index:2 !important;
    opacity:0 !important;
    pointer-events:none !important;
}

body:not(.cast-detail-page) .hero.hero-ver6 > .hero-link{
    z-index:8 !important;
}

body:not(.cast-detail-page) .hero-arrow,
body:not(.cast-detail-page) .premium-hero-arrow,
body:not(.cast-detail-page) .swiper-pagination,
body:not(.cast-detail-page) .swiper-pagination-bullet,
body:not(.cast-detail-page) .hero-dots,
body:not(.cast-detail-page) .slider-dots,
body:not(.cast-detail-page) .slide-dots,
body:not(.cast-detail-page) .hero-pagination,
body:not(.cast-detail-page) .carousel-dots{
    display:none !important;
}

body:not(.cast-detail-page) .public-cast-photo,
body:not(.cast-detail-page) .today-schedule-photo{
    position:relative !important;
    overflow:hidden !important;
}

body:not(.cast-detail-page) .public-cast-badges,
body:not(.cast-detail-page) .cast-badge-layer,
body:not(.cast-detail-page) .today-cast .cast-card .public-cast-badges,
body:not(.cast-detail-page) .all-cast-grid .cast-card .public-cast-badges,
body:not(.cast-detail-page) .princess-home #cast-list .cast-card .public-cast-badges{
    top:4px !important;
    left:4px !important;
    right:auto !important;
    bottom:auto !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:1px !important;
    width:auto !important;
    max-width:calc(100% - 8px) !important;
    background:transparent !important;
    box-shadow:none !important;
    pointer-events:none !important;
}

body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge,
body:not(.cast-detail-page) .cast-badge-layer .premium-cast-badge,
body:not(.cast-detail-page) .premium-cast-badge{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    min-width:0 !important;
    min-height:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    border:0 !important;
    transform:none !important;
}

body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge::before,
body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge::after,
body:not(.cast-detail-page) .premium-cast-badge::before,
body:not(.cast-detail-page) .premium-cast-badge::after{
    content:none !important;
    display:none !important;
}

body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-img,
body:not(.cast-detail-page) .cast-badge-layer .premium-cast-badge-img,
body:not(.cast-detail-page) .premium-cast-badge-img{
    display:block !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    border:0 !important;
}

body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-new,
body:not(.cast-detail-page) .cast-badge-layer .premium-cast-badge-new{
    transform:translateX(-6px) !important;
}

body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-recommended,
body:not(.cast-detail-page) .cast-badge-layer .premium-cast-badge-recommended{
    transform:translateX(-6px) !important;
}

body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-new,
body:not(.cast-detail-page) .premium-cast-badge-img-new{
    width:42px !important;
    transform:none !important;
}

body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .premium-cast-badge-img-recommended{
    width:42px !important;
    transform:none !important;
}

body:not(.cast-detail-page) #cast.today-cast .today-schedule-item{
    position:relative !important;
    isolation:isolate !important;
    gap:12px !important;
    min-height:112px !important;
    padding:10px !important;
    border:1px solid rgba(234,143,188,.42) !important;
    border-radius:18px !important;
    background:
        radial-gradient(circle at 95% 8%,rgba(255,255,255,.92) 0 10px,transparent 11px),
        linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,232,244,.74)) !important;
    box-shadow:0 12px 24px rgba(196,82,139,.12) !important;
    overflow:hidden !important;
}

body:not(.cast-detail-page) #cast.today-cast .today-schedule-item::before{
    content:"" !important;
    position:absolute !important;
    inset:6px !important;
    z-index:-1 !important;
    border:1px dashed rgba(225,117,172,.34) !important;
    border-radius:14px !important;
}

body:not(.cast-detail-page) #cast.today-cast .today-schedule-item::after{
    content:"♡ ✦" !important;
    position:absolute !important;
    right:14px !important;
    top:8px !important;
    color:rgba(226,84,154,.35) !important;
    font-size:14px !important;
    letter-spacing:3px !important;
}

body:not(.cast-detail-page) #cast.today-cast .today-schedule-photo{
    width:88px !important;
    aspect-ratio:1 / 1 !important;
    border-radius:16px !important;
    border:2px solid rgba(255,255,255,.9) !important;
    box-shadow:0 8px 16px rgba(168,71,122,.14) !important;
}

body:not(.cast-detail-page) #cast.today-cast .today-schedule-photo .public-cast-image,
body:not(.cast-detail-page) #cast.today-cast .today-schedule-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
}

body:not(.cast-detail-page) #cast.today-cast .today-schedule-info h3{
    margin:0 0 8px !important;
    color:#6c314d !important;
    font-size:18px !important;
    line-height:1.2 !important;
}

body:not(.cast-detail-page) #cast.today-cast .today-schedule-profile,
body:not(.cast-detail-page) #cast.today-cast .public-cast-schedule{
    display:inline-flex !important;
    align-items:center !important;
    width:auto !important;
    margin:3px 0 !important;
    padding:5px 9px !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.72) !important;
    border:1px solid rgba(239,169,204,.42) !important;
    color:#74435b !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.35 !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .hero.hero-ver6 .hero-slide img{
        object-fit:contain !important;
        object-position:center center !important;
    }

    body:not(.cast-detail-page) .public-cast-badges,
    body:not(.cast-detail-page) .cast-badge-layer,
    body:not(.cast-detail-page) .today-cast .cast-card .public-cast-badges,
    body:not(.cast-detail-page) .all-cast-grid .cast-card .public-cast-badges,
    body:not(.cast-detail-page) .princess-home #cast-list .cast-card .public-cast-badges{
        top:3px !important;
        left:3px !important;
        gap:1px !important;
    }

    body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-new,
    body:not(.cast-detail-page) .cast-badge-layer .premium-cast-badge-new,
    body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-recommended,
    body:not(.cast-detail-page) .cast-badge-layer .premium-cast-badge-recommended{
        transform:translateX(-4px) !important;
    }

    body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-new,
    body:not(.cast-detail-page) .premium-cast-badge-img-new,
    body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-recommended,
    body:not(.cast-detail-page) .premium-cast-badge-img-recommended{
        width:34px !important;
    }

    body:not(.cast-detail-page) #cast.today-cast .today-schedule-item{
        min-height:104px !important;
        gap:10px !important;
        padding:9px !important;
    }

    body:not(.cast-detail-page) #cast.today-cast .today-schedule-photo{
        width:82px !important;
    }
}

/* Ver7.1 public cast badge final override */
body:not(.cast-detail-page) .public-cast-photo,
body:not(.cast-detail-page) .cast-card .public-cast-photo{
    position:relative !important;
}

body:not(.cast-detail-page) .public-cast-badges,
body:not(.cast-detail-page) .public-cast-badges.cast-badge-layer,
body:not(.cast-detail-page) .today-cast .cast-card .public-cast-badges,
body:not(.cast-detail-page) .today-cast .cast-card .public-cast-badges.cast-badge-layer,
body:not(.cast-detail-page) .all-cast-grid .cast-card .public-cast-badges,
body:not(.cast-detail-page) .all-cast-grid .cast-card .public-cast-badges.cast-badge-layer,
body:not(.cast-detail-page) .princess-home #cast-list .cast-card .public-cast-badges,
body:not(.cast-detail-page) .princess-home #cast-list .cast-card .public-cast-badges.cast-badge-layer{
    position:absolute !important;
    top:4px !important;
    left:4px !important;
    right:auto !important;
    bottom:auto !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:1px !important;
    width:auto !important;
    height:auto !important;
    min-width:0 !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    border:0 !important;
    transform:none !important;
    z-index:8 !important;
}

body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge,
body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-new,
body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-recommended,
body:not(.cast-detail-page) .cast-badge-layer .premium-cast-badge,
body:not(.cast-detail-page) .cast-badge-layer .premium-cast-badge-new,
body:not(.cast-detail-page) .cast-badge-layer .premium-cast-badge-recommended{
    position:relative !important;
    top:0 !important;
    left:0 !important;
    right:auto !important;
    bottom:auto !important;
    display:block !important;
    width:42px !important;
    height:auto !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    border:0 !important;
    transform:none !important;
}

body:not(.cast-detail-page) .public-cast-badges img,
body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-img,
body:not(.cast-detail-page) .cast-badge-layer .premium-cast-badge-img{
    position:relative !important;
    top:0 !important;
    left:0 !important;
    right:auto !important;
    display:block !important;
    width:42px !important;
    height:auto !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    border:0 !important;
}

body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-img-new,
body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-new,
body:not(.cast-detail-page) .cast-badge-layer .premium-cast-badge-img-new{
    transform:translateX(-4px) !important;
}

body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .public-cast-badges img.premium-cast-badge-img-recommended,
body:not(.cast-detail-page) .cast-badge-layer .premium-cast-badge-img-recommended{
    transform:none !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .public-cast-badges,
    body:not(.cast-detail-page) .public-cast-badges.cast-badge-layer,
    body:not(.cast-detail-page) .today-cast .cast-card .public-cast-badges,
    body:not(.cast-detail-page) .all-cast-grid .cast-card .public-cast-badges,
    body:not(.cast-detail-page) .princess-home #cast-list .cast-card .public-cast-badges{
        top:3px !important;
        left:3px !important;
        gap:1px !important;
    }

    body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge,
    body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-new,
    body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-recommended,
    body:not(.cast-detail-page) .public-cast-badges img,
    body:not(.cast-detail-page) .public-cast-badges .premium-cast-badge-img{
        width:34px !important;
    }
}

/* =========================================================
   ChouChou Ver7.5 Premium Card Decoration
   ========================================================= */
body:not(.cast-detail-page) .premium-section-card{
    position:relative !important;
    isolation:isolate;
    overflow:hidden !important;
    border:1px solid rgba(207,166,80,.78) !important;
    border-radius:24px !important;
    background:
        radial-gradient(circle at 18% 12%,rgba(255,255,255,.86) 0 12%,transparent 32%),
        linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,226,241,.8) 46%,rgba(255,250,253,.92)) !important;
    box-shadow:
        0 22px 46px rgba(176,64,120,.16),
        0 2px 0 rgba(255,255,255,.9) inset,
        0 0 34px rgba(255,202,228,.55) inset !important;
    backdrop-filter:blur(16px);
}

body:not(.cast-detail-page) .premium-section-card::before{
    content:"" !important;
    position:absolute !important;
    inset:12px !important;
    z-index:0 !important;
    pointer-events:none !important;
    border:1px dashed rgba(225,122,171,.5) !important;
    border-radius:18px !important;
    background:
        radial-gradient(circle at 8% 10%,rgba(255,107,170,.26) 0 2px,transparent 3px),
        radial-gradient(circle at 94% 16%,rgba(255,255,255,.9) 0 2px,transparent 4px),
        radial-gradient(circle at 78% 88%,rgba(207,166,80,.36) 0 2px,transparent 4px),
        repeating-linear-gradient(135deg,transparent 0 22px,rgba(255,255,255,.22) 23px 24px);
}

body:not(.cast-detail-page) .premium-section-card::after{
    content:"♡" !important;
    position:absolute !important;
    right:18px !important;
    bottom:12px !important;
    z-index:0 !important;
    pointer-events:none !important;
    color:rgba(226,79,143,.24) !important;
    font-family:"Cormorant Garamond","Noto Serif JP",serif !important;
    font-size:64px !important;
    line-height:1 !important;
    text-shadow:0 0 18px rgba(255,255,255,.9);
}

body:not(.cast-detail-page) .premium-section-card > *{
    position:relative;
    z-index:1;
}

body:not(.cast-detail-page) .premium-section-card .section-title::before{
    content:"✦" !important;
    display:block;
    margin:0 auto 4px;
    color:#d6a64f;
    font-size:18px;
    line-height:1;
    text-shadow:0 0 12px rgba(255,255,255,.9);
}

body:not(.cast-detail-page) .premium-section-card .section-title span{
    color:#d94f92 !important;
    letter-spacing:.05em !important;
}

body:not(.cast-detail-page) .premium-section-card .section-title h2{
    color:#5f3046 !important;
}

body:not(.cast-detail-page) .premium-section-card .reserve-btn,
body:not(.cast-detail-page) .premium-section-card button,
body:not(.cast-detail-page) .premium-section-card .news-more a,
body:not(.cast-detail-page) .premium-section-card .gallery-more a{
    position:relative;
    overflow:hidden;
    border:2px solid rgba(255,255,255,.92) !important;
    background:linear-gradient(135deg,#ff88bd,#df4c92 52%,#ba2f74) !important;
    box-shadow:0 10px 24px rgba(194,61,132,.22),0 1px 0 rgba(255,255,255,.75) inset !important;
}

body:not(.cast-detail-page) .premium-section-card .reserve-btn::after,
body:not(.cast-detail-page) .premium-section-card button::after{
    content:"";
    position:absolute;
    inset:-40% auto -40% -60%;
    width:40%;
    transform:skewX(-18deg);
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);
    transition:left .55s ease;
}

body:not(.cast-detail-page) .premium-section-card[data-premium-ready="true"]{
    --premium-ready:1;
}

body:not(.cast-detail-page) .premium-card-today::after{content:"✧" !important;font-size:72px !important;}
body:not(.cast-detail-page) .premium-card-news::after{content:"★" !important;font-size:54px !important;}
body:not(.cast-detail-page) .premium-card-concept::after{content:"♛" !important;font-size:66px !important;}
body:not(.cast-detail-page) .premium-card-system{border-color:rgba(214,166,72,.95) !important;}
body:not(.cast-detail-page) .premium-card-system::after{content:"◇" !important;font-size:76px !important;color:rgba(207,166,80,.24) !important;}
body:not(.cast-detail-page) .premium-card-cast::after{content:"♥" !important;font-size:64px !important;}
body:not(.cast-detail-page) .premium-card-gallery::after{content:"◆" !important;font-size:58px !important;color:rgba(207,166,80,.22) !important;}
body:not(.cast-detail-page) .premium-card-access::after{content:"⌖" !important;font-size:58px !important;}
body:not(.cast-detail-page) .premium-card-instagram::after{content:"♡" !important;font-size:62px !important;}
body:not(.cast-detail-page) .premium-card-recruit::after{content:"🎀" !important;font-size:48px !important;}

body:not(.cast-detail-page) .premium-card-today .section-title::before{content:"◌" !important;}
body:not(.cast-detail-page) .premium-card-news .section-title::before{content:"✦" !important;}
body:not(.cast-detail-page) .premium-card-concept .section-title::before{content:"♕" !important;}
body:not(.cast-detail-page) .premium-card-system .section-title::before{content:"◇" !important;}
body:not(.cast-detail-page) .premium-card-cast .section-title::before{content:"♥" !important;}
body:not(.cast-detail-page) .premium-card-gallery .section-title::before{content:"◆" !important;}
body:not(.cast-detail-page) .premium-card-access .section-title::before{content:"⌖" !important;}
body:not(.cast-detail-page) .premium-card-instagram .section-title::before{content:"♡" !important;}
body:not(.cast-detail-page) .premium-card-recruit .section-title::before{content:"✧" !important;}

body:not(.cast-detail-page) .premium-card-system .system-price-card,
body:not(.cast-detail-page) .premium-card-access .access-box,
body:not(.cast-detail-page) .premium-card-instagram .princess-info-list,
body:not(.cast-detail-page) .premium-card-news .public-news-card,
body:not(.cast-detail-page) .premium-card-gallery .public-gallery-card,
body:not(.cast-detail-page) .premium-card-cast .cast-card,
body:not(.cast-detail-page) .premium-card-today .today-schedule-item{
    border:1px solid rgba(255,255,255,.76) !important;
    background:rgba(255,255,255,.7) !important;
    box-shadow:0 10px 24px rgba(180,75,126,.1) !important;
}

body:not(.cast-detail-page) .premium-section-card.reveal-card{
    opacity:1;
    transform:none;
}

body:not(.cast-detail-page) .premium-section-card.reveal-card:not(.is-visible){
    opacity:0;
    transform:translateY(18px) scale(.985);
}

body:not(.cast-detail-page) .premium-section-card.reveal-card.is-visible{
    opacity:1;
    transform:translateY(0) scale(1);
    transition:opacity .7s ease,transform .7s ease,box-shadow .25s ease;
}

@media(hover:hover) and (pointer:fine){
    body:not(.cast-detail-page) .premium-section-card:hover{
        transform:translateY(-6px) !important;
        box-shadow:
            0 30px 60px rgba(176,64,120,.22),
            0 2px 0 rgba(255,255,255,.95) inset,
            0 0 44px rgba(255,202,228,.68) inset !important;
    }

    body:not(.cast-detail-page) .premium-section-card:hover .reserve-btn::after,
    body:not(.cast-detail-page) .premium-section-card:hover button::after{
        left:125%;
    }
}

@media(max-width:768px){
    body:not(.cast-detail-page) .premium-section-card{
        border-radius:18px !important;
        box-shadow:0 14px 30px rgba(176,64,120,.13),0 0 24px rgba(255,202,228,.45) inset !important;
    }

    body:not(.cast-detail-page) .premium-section-card::before{
        inset:8px !important;
        border-radius:14px !important;
    }

    body:not(.cast-detail-page) .premium-section-card::after{
        right:10px !important;
        bottom:8px !important;
        font-size:44px !important;
    }

    body:not(.cast-detail-page) .premium-section-card .section-title::before{
        font-size:15px;
    }
}

@media(prefers-reduced-motion:reduce){
    body:not(.cast-detail-page) .premium-section-card,
    body:not(.cast-detail-page) .premium-section-card.reveal-card,
    body:not(.cast-detail-page) .premium-section-card.reveal-card.is-visible{
        transition:none !important;
        transform:none !important;
        opacity:1 !important;
    }
}

/* Ver7.5 final card design system matching the premium reference */
body:not(.cast-detail-page) .princess-home{
    background:
        radial-gradient(circle at 12% 8%,rgba(255,205,228,.45),transparent 28%),
        radial-gradient(circle at 88% 20%,rgba(247,212,154,.24),transparent 22%),
        linear-gradient(180deg,#fff7fb 0%,#ffe7f2 48%,#fff9fc 100%) !important;
}

body:not(.cast-detail-page) .princess-card-grid,
body:not(.cast-detail-page) .princess-card-grid-top,
body:not(.cast-detail-page) .princess-card-grid-middle,
body:not(.cast-detail-page) .princess-card-grid-bottom{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    grid-auto-rows:minmax(380px,auto) !important;
    align-items:stretch !important;
    gap:18px !important;
}

body:not(.cast-detail-page) .princess-card-grid > .premium-section-card,
body:not(.cast-detail-page) .princess-card-grid-top > .premium-section-card,
body:not(.cast-detail-page) .princess-card-grid-middle > .premium-section-card,
body:not(.cast-detail-page) .princess-card-grid-bottom > .premium-section-card,
body:not(.cast-detail-page) .premium-section-card.princess-card-large,
body:not(.cast-detail-page) .premium-section-card.princess-card-wide{
    grid-column:auto !important;
    grid-row:auto !important;
    width:100% !important;
    min-height:380px !important;
    height:100% !important;
}

body:not(.cast-detail-page) .premium-section-card{
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    padding:28px 24px 24px !important;
    border:1px solid rgba(217,164,80,.88) !important;
    background:
        linear-gradient(90deg,rgba(255,255,255,.78),transparent 18%,transparent 82%,rgba(255,255,255,.68)),
        radial-gradient(circle at 12% 18%,rgba(255,255,255,.9) 0 8%,transparent 30%),
        radial-gradient(circle at 86% 88%,rgba(255,193,222,.42) 0 8%,transparent 30%),
        linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,233,243,.86) 52%,rgba(255,249,252,.92)) !important;
}

body:not(.cast-detail-page) .premium-section-card::before{
    border:1px dashed rgba(220,126,170,.55) !important;
    box-shadow:
        0 0 0 1px rgba(255,255,255,.62),
        0 0 22px rgba(255,255,255,.72) inset !important;
    background:
        radial-gradient(circle at 6% 8%,rgba(255,105,170,.34) 0 2px,transparent 3px),
        radial-gradient(circle at 18% 92%,rgba(255,255,255,.92) 0 2px,transparent 4px),
        radial-gradient(circle at 90% 14%,rgba(217,164,80,.42) 0 2px,transparent 4px),
        radial-gradient(circle at 96% 82%,rgba(255,112,176,.26) 0 2px,transparent 4px),
        repeating-linear-gradient(135deg,transparent 0 18px,rgba(255,255,255,.25) 19px 20px) !important;
}

body:not(.cast-detail-page) .premium-card-ornaments{
    position:absolute !important;
    inset:0 !important;
    z-index:0 !important;
    pointer-events:none !important;
    overflow:hidden !important;
}

body:not(.cast-detail-page) .premium-ribbon{
    position:absolute;
    top:11px;
    left:12px;
    width:70px;
    height:42px;
    transform:rotate(-14deg);
    opacity:.82;
}

body:not(.cast-detail-page) .premium-ribbon::before,
body:not(.cast-detail-page) .premium-ribbon::after{
    content:"";
    position:absolute;
    top:12px;
    width:42px;
    height:22px;
    border:1px solid rgba(255,255,255,.8);
    border-radius:50% 50% 46% 46%;
    background:linear-gradient(135deg,#ffc5df,#f06da9 58%,#d84f92);
    box-shadow:0 8px 18px rgba(195,74,133,.18),0 1px 0 rgba(255,255,255,.8) inset;
}

body:not(.cast-detail-page) .premium-ribbon::before{
    left:0;
    transform:skewY(-10deg);
}

body:not(.cast-detail-page) .premium-ribbon::after{
    right:0;
    transform:skewY(10deg);
}

body:not(.cast-detail-page) .premium-jewel{
    position:absolute;
    right:18px;
    bottom:18px;
    width:38px;
    height:38px;
    transform:rotate(45deg);
    border:1px solid rgba(255,255,255,.86);
    border-radius:12px 12px 16px 12px;
    background:
        linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,120,184,.84) 42%,rgba(207,42,124,.82)),
        radial-gradient(circle at 30% 25%,#fff 0 10%,transparent 22%);
    box-shadow:0 8px 18px rgba(195,74,133,.24),0 0 18px rgba(255,255,255,.9) inset;
}

body:not(.cast-detail-page) .premium-sparkles{
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 24% 18%,rgba(255,255,255,.95) 0 1px,transparent 3px),
        radial-gradient(circle at 78% 24%,rgba(255,255,255,.9) 0 1px,transparent 3px),
        radial-gradient(circle at 60% 76%,rgba(217,164,80,.45) 0 1px,transparent 3px),
        radial-gradient(circle at 14% 82%,rgba(255,116,178,.42) 0 1px,transparent 3px);
    opacity:.86;
}

body:not(.cast-detail-page) .premium-card-news .premium-ribbon,
body:not(.cast-detail-page) .premium-card-concept .premium-ribbon,
body:not(.cast-detail-page) .premium-card-gallery .premium-ribbon,
body:not(.cast-detail-page) .premium-card-recruit .premium-ribbon{
    left:auto;
    right:10px;
    transform:rotate(13deg);
}

body:not(.cast-detail-page) .premium-card-system .premium-jewel,
body:not(.cast-detail-page) .premium-card-gallery .premium-jewel{
    background:linear-gradient(135deg,#fff,#f7d49a 48%,#c99134) !important;
}

body:not(.cast-detail-page) .premium-section-card .section-title{
    margin-bottom:16px !important;
}

body:not(.cast-detail-page) .premium-section-card .section-title span{
    font-size:20px !important;
    color:#cf4f91 !important;
    text-shadow:0 1px 0 #fff,0 0 14px rgba(255,255,255,.85);
}

body:not(.cast-detail-page) .premium-section-card .section-title h2{
    font-size:24px !important;
    letter-spacing:.08em !important;
}

body:not(.cast-detail-page) .premium-section-card .ver6-card-image,
body:not(.cast-detail-page) .premium-section-card .public-gallery-card img,
body:not(.cast-detail-page) .premium-section-card iframe{
    border:1px solid rgba(217,164,80,.4) !important;
    border-radius:16px !important;
    box-shadow:0 14px 28px rgba(180,75,126,.14) !important;
}

body:not(.cast-detail-page) .premium-section-card .princess-card-action,
body:not(.cast-detail-page) .premium-section-card .news-more,
body:not(.cast-detail-page) .premium-section-card .gallery-more{
    margin-top:auto !important;
    padding-top:16px !important;
}

body:not(.cast-detail-page) .premium-section-card .reserve-btn{
    min-height:38px !important;
    padding:9px 22px !important;
    border-radius:999px !important;
    color:#fff !important;
    font-weight:700 !important;
    letter-spacing:.05em !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .princess-card-grid,
    body:not(.cast-detail-page) .princess-card-grid-top,
    body:not(.cast-detail-page) .princess-card-grid-middle,
    body:not(.cast-detail-page) .princess-card-grid-bottom{
        grid-template-columns:1fr !important;
        grid-auto-rows:auto !important;
        gap:14px !important;
    }

    body:not(.cast-detail-page) .princess-card-grid > .premium-section-card,
    body:not(.cast-detail-page) .premium-section-card.princess-card-large,
    body:not(.cast-detail-page) .premium-section-card.princess-card-wide{
        min-height:auto !important;
        height:auto !important;
        padding:22px 16px 18px !important;
    }

    body:not(.cast-detail-page) .premium-ribbon{
        width:50px;
        height:30px;
        top:8px;
        left:8px;
    }

    body:not(.cast-detail-page) .premium-ribbon::before,
    body:not(.cast-detail-page) .premium-ribbon::after{
        width:30px;
        height:16px;
        top:8px;
    }

    body:not(.cast-detail-page) .premium-jewel{
        width:28px;
        height:28px;
        right:12px;
        bottom:12px;
    }
}

@media (min-width: 769px) {
  .home-top-card-row {
    width: min(92vw, 1680px);
    max-width: 1680px;
    margin: 80px auto;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 36px;
    align-items: stretch;
  }

  .home-top-card-row .home-vertical-card {
    width: 100%;
    margin: 0;
    box-sizing: border-box;
  }
}

@media (max-width: 768px) {
  .home-top-card-row {
    display: block;
  }

  .home-top-card-row .home-vertical-card {
    width: 100%;
    height: auto;
    min-height: unset;
  }
}

@media (min-width: 769px) {
  body:not(.cast-detail-page) .home-top-card-row > #cast.premium-section-card.home-vertical-card,
  body:not(.cast-detail-page) .home-top-card-row > #concept.premium-section-card.home-vertical-card,
  body:not(.cast-detail-page) .home-top-card-row > .today-cast.premium-section-card.home-vertical-card,
  body:not(.cast-detail-page) .home-top-card-row > .news.premium-section-card.home-vertical-card,
  body:not(.cast-detail-page) .home-top-card-row > .concept.premium-section-card.home-vertical-card {
    height: 720px !important;
    min-height: 720px !important;
    max-height: none !important;
  }
}

/* Ver8.0 Today's Cast Luxury Decoration */
body:not(.cast-detail-page) .home-top-card-row > .today-cast.premium-section-card{
    outline:1px solid rgba(218,174,86,.58) !important;
    outline-offset:-13px !important;
    box-shadow:
        0 22px 46px rgba(176,64,120,.16),
        0 2px 0 rgba(255,255,255,.9) inset,
        0 0 34px rgba(255,202,228,.55) inset,
        0 0 0 1px rgba(255,255,255,.78) inset,
        0 0 0 7px rgba(255,244,250,.34) inset !important;
    filter:drop-shadow(0 10px 18px rgba(212,92,148,.08));
}

body:not(.cast-detail-page) .home-top-card-row > .today-cast.premium-section-card .premium-card-ornaments{
    background:
        radial-gradient(circle at 14% 18%,rgba(255,255,255,.92) 0 1px,transparent 4px),
        radial-gradient(circle at 82% 20%,rgba(255,240,168,.72) 0 1px,transparent 4px),
        radial-gradient(circle at 68% 78%,rgba(255,255,255,.84) 0 1px,transparent 4px),
        linear-gradient(135deg,rgba(255,255,255,.2) 0 8%,transparent 8% 16%,rgba(255,255,255,.16) 16% 18%,transparent 18% 100%) !important;
    filter:drop-shadow(0 0 7px rgba(255,255,255,.5));
}

body:not(.cast-detail-page) .home-top-card-row > .today-cast.premium-section-card .premium-card-ornaments::before,
body:not(.cast-detail-page) .home-top-card-row > .today-cast.premium-section-card .premium-card-ornaments::after,
body:not(.cast-detail-page) .home-top-card-row > .today-cast.premium-section-card .premium-sparkles::before,
body:not(.cast-detail-page) .home-top-card-row > .today-cast.premium-section-card .premium-sparkles::after{
    content:"";
    position:absolute;
    width:13px;
    height:13px;
    border:1px solid rgba(255,255,255,.9);
    background:
        radial-gradient(circle at 35% 28%,#fff 0 18%,transparent 20%),
        linear-gradient(135deg,#fff7cf,#e0b857 52%,#c78d31);
    box-shadow:0 0 10px rgba(255,238,178,.55),0 3px 8px rgba(176,64,120,.16);
    transform:rotate(45deg);
}

body:not(.cast-detail-page) .home-top-card-row > .today-cast.premium-section-card .premium-card-ornaments::before{
    top:18px;
    right:48px;
}

body:not(.cast-detail-page) .home-top-card-row > .today-cast.premium-section-card .premium-card-ornaments::after{
    right:20px;
    bottom:58px;
}

body:not(.cast-detail-page) .home-top-card-row > .today-cast.premium-section-card .premium-sparkles::before{
    top:62px;
    left:22px;
}

body:not(.cast-detail-page) .home-top-card-row > .today-cast.premium-section-card .premium-sparkles::after{
    left:44px;
    bottom:22px;
}

body:not(.cast-detail-page) .home-top-card-row > #cast.today-cast.premium-section-card .section-title::after{
    content:"♕" !important;
    display:block;
    color:rgba(207,166,80,.82) !important;
    font-size:18px !important;
    line-height:1 !important;
    text-shadow:0 0 10px rgba(255,255,255,.9),0 2px 6px rgba(212,92,148,.16) !important;
    filter:drop-shadow(0 0 5px rgba(255,232,168,.42));
}

body:not(.cast-detail-page) .home-top-card-row > .today-cast.premium-section-card .today-schedule-photo,
body:not(.cast-detail-page) .home-top-card-row > .today-cast.premium-section-card .public-cast-photo{
    border:1px solid rgba(218,174,86,.58) !important;
    outline:1px solid rgba(255,255,255,.68) !important;
    outline-offset:-5px !important;
    box-shadow:0 12px 24px rgba(176,64,120,.13),0 0 18px rgba(255,246,252,.72) inset !important;
    filter:saturate(1.03) contrast(1.01);
}

body:not(.cast-detail-page) .home-top-card-row > .today-cast.premium-section-card .reserve-btn{
    box-shadow:0 10px 24px rgba(194,61,132,.22),0 1px 0 rgba(255,255,255,.75) inset,0 0 18px rgba(255,237,250,.34) inset !important;
    background:
        linear-gradient(110deg,rgba(255,255,255,.34),transparent 28%,transparent 72%,rgba(255,255,255,.22)),
        linear-gradient(135deg,#ff88bd,#df4c92 52%,#ba2f74) !important;
    filter:drop-shadow(0 0 8px rgba(255,213,235,.22));
}

/* Ver9.0 Today's Cast Brand Redesign */
body:not(.cast-detail-page) #cast.today-cast.ver9-today-cast{
    background:
        radial-gradient(circle at 12% 10%,rgba(255,255,255,.92) 0 7%,transparent 24%),
        radial-gradient(circle at 88% 18%,rgba(255,215,235,.55) 0 8%,transparent 26%),
        linear-gradient(135deg,rgba(255,255,255,.93),rgba(255,232,244,.88) 52%,rgba(255,250,253,.95)) !important;
}

body:not(.cast-detail-page) #cast.today-cast.ver9-today-cast::before{
    border-style:solid !important;
    border-color:rgba(218,174,86,.6) !important;
    background:
        radial-gradient(circle at 18% 16%,rgba(255,255,255,.9) 0 1px,transparent 4px),
        radial-gradient(circle at 84% 20%,rgba(255,236,172,.72) 0 1px,transparent 4px),
        linear-gradient(135deg,transparent 0 15px,rgba(255,255,255,.2) 16px 17px,transparent 18px 34px) !important;
}

body:not(.cast-detail-page) #cast.today-cast.ver9-today-cast::after{
    content:"♕" !important;
    right:50% !important;
    bottom:auto !important;
    top:18px !important;
    color:rgba(207,166,80,.28) !important;
    font-size:52px !important;
    transform:translateX(50%) !important;
}

body:not(.cast-detail-page) #cast.today-cast .ver9-today-cast-list{
    align-content:start !important;
    max-height:502px !important;
    padding-right:4px !important;
    scrollbar-color:rgba(222,92,155,.55) rgba(255,238,247,.72);
}

body:not(.cast-detail-page) #cast.today-cast .ver9-today-cast-list::-webkit-scrollbar{
    width:6px;
}

body:not(.cast-detail-page) #cast.today-cast .ver9-today-cast-list::-webkit-scrollbar-track{
    border-radius:999px;
    background:rgba(255,238,247,.72);
}

body:not(.cast-detail-page) #cast.today-cast .ver9-today-cast-list::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:linear-gradient(180deg,#f6a2cb,#d94f92);
}

body:not(.cast-detail-page) #cast.today-cast .ver9-today-cast-item.public-cast-card{
    min-height:118px !important;
    border-color:rgba(218,174,86,.5) !important;
    border-radius:22px !important;
    background:
        radial-gradient(circle at 3% 5%,rgba(255,102,169,.2) 0 10px,transparent 12px),
        radial-gradient(circle at 98% 12%,rgba(255,255,255,.92) 0 10px,transparent 12px),
        linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,237,247,.88)) !important;
    box-shadow:0 13px 26px rgba(176,64,120,.15),0 0 0 1px rgba(255,255,255,.7) inset !important;
}

body:not(.cast-detail-page) #cast.today-cast .ver9-today-cast-item.public-cast-card::before{
    inset:7px !important;
    border:1px solid rgba(218,174,86,.42) !important;
    border-radius:17px !important;
    background:
        radial-gradient(circle at 10% 18%,rgba(255,255,255,.8) 0 1px,transparent 4px),
        radial-gradient(circle at 92% 78%,rgba(255,222,245,.68) 0 1px,transparent 4px) !important;
}

body:not(.cast-detail-page) #cast.today-cast .ver9-today-cast-item.public-cast-card::after{
    content:"♡ ✦" !important;
    color:rgba(218,174,86,.45) !important;
}

body:not(.cast-detail-page) #cast.today-cast .ver9-today-cast-photo{
    border-color:rgba(218,174,86,.66) !important;
    border-radius:20px !important;
    outline:1px solid rgba(255,255,255,.85) !important;
    outline-offset:-5px !important;
    box-shadow:0 10px 18px rgba(176,64,120,.16),0 0 14px rgba(255,244,250,.78) inset !important;
}

body:not(.cast-detail-page) #cast.today-cast .ver9-today-cast-photo::before{
    content:"";
    position:absolute;
    inset:-1px;
    border-radius:20px;
    pointer-events:none;
    background:
        radial-gradient(circle at 10% 10%,rgba(255,96,166,.32) 0 8px,transparent 9px),
        radial-gradient(circle at 92% 88%,rgba(218,174,86,.35) 0 5px,transparent 6px);
}

body:not(.cast-detail-page) #cast.today-cast .ver9-today-cast-heading{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}

body:not(.cast-detail-page) #cast.today-cast .ver9-today-cast-info h3{
    margin:0 !important;
    color:#65314a !important;
    font-size:24px !important;
    line-height:1.2 !important;
}

body:not(.cast-detail-page) #cast.today-cast .ver9-today-cast-name-en{
    color:#d5a65f;
    font-family:"Cormorant Garamond","Noto Serif JP",serif;
    font-size:18px;
    font-style:italic;
    line-height:1;
    white-space:nowrap;
}

body:not(.cast-detail-page) #cast.today-cast .ver9-today-cast-badge{
    margin-left:auto;
    border-radius:999px;
    background:linear-gradient(135deg,#ff7fba,#d94f92);
    color:#fff;
    font-size:12px;
    font-weight:700;
    line-height:1;
    padding:7px 11px;
    box-shadow:0 7px 14px rgba(205,70,139,.18),0 1px 0 rgba(255,255,255,.65) inset;
    white-space:nowrap;
}

body:not(.cast-detail-page) #cast.today-cast .ver9-today-cast-meta{
    display:grid;
    gap:6px;
    margin:9px 0 0;
}

body:not(.cast-detail-page) #cast.today-cast .ver9-today-cast-meta-row{
    display:grid;
    grid-template-columns:82px minmax(0,1fr);
    align-items:center;
    min-height:27px;
    border:1px solid rgba(239,169,204,.48);
    border-radius:999px;
    background:rgba(255,255,255,.74);
    color:#714058;
}

body:not(.cast-detail-page) #cast.today-cast .ver9-today-cast-meta dt,
body:not(.cast-detail-page) #cast.today-cast .ver9-today-cast-meta dd{
    margin:0;
    font-size:12px;
    font-weight:700;
    line-height:1.2;
}

body:not(.cast-detail-page) #cast.today-cast .ver9-today-cast-meta dt{
    color:#e45498;
    padding-left:10px;
}

body:not(.cast-detail-page) #cast.today-cast .ver9-today-cast-meta dd{
    padding-right:10px;
}

/* Ver9.0 Today's Cast Full Brand Rebuild */
body:not(.cast-detail-page) .home-top-card-row > #cast.ver9-brand-today-cast{
    position:relative !important;
    width:100% !important;
    height:720px !important;
    min-height:720px !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:none !important;
    box-shadow:none !important;
    overflow:visible !important;
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-today-frame{
    position:relative;
    isolation:isolate;
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    width:100%;
    height:100%;
    overflow:hidden;
    border:1px solid rgba(215,171,86,.82);
    border-radius:30px;
    background:
        radial-gradient(circle at 14% 9%,rgba(255,255,255,.95) 0 8%,transparent 26%),
        radial-gradient(circle at 88% 15%,rgba(255,200,229,.56) 0 9%,transparent 28%),
        linear-gradient(135deg,rgba(255,251,253,.96),rgba(255,230,243,.9) 52%,rgba(255,250,253,.97));
    box-shadow:
        0 22px 46px rgba(176,64,120,.16),
        0 2px 0 rgba(255,255,255,.95) inset,
        0 0 0 8px rgba(255,255,255,.42) inset,
        0 0 0 11px rgba(214,166,72,.18) inset,
        0 0 42px rgba(255,202,228,.56) inset;
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-today-frame::before{
    content:"";
    position:absolute;
    inset:17px;
    z-index:-1;
    border:1px solid rgba(214,166,72,.55);
    border-radius:22px;
    background:
        radial-gradient(circle at 10% 16%,rgba(255,255,255,.8) 0 1px,transparent 4px),
        radial-gradient(circle at 90% 18%,rgba(255,235,170,.65) 0 1px,transparent 4px),
        radial-gradient(circle at 72% 84%,rgba(255,255,255,.74) 0 1px,transparent 4px),
        linear-gradient(135deg,transparent 0 16px,rgba(255,255,255,.22) 17px 18px,transparent 19px 36px);
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-today-frame::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-2;
    background:
        radial-gradient(circle at 0 0,rgba(255,116,178,.34) 0 42px,transparent 43px),
        radial-gradient(circle at 100% 100%,rgba(255,116,178,.28) 0 48px,transparent 49px),
        linear-gradient(45deg,transparent 0 42%,rgba(255,255,255,.22) 43%,transparent 44% 100%);
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-today-decor,
body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-today-decor span{
    pointer-events:none;
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-ribbon{
    position:absolute;
    top:-8px;
    left:-8px;
    width:116px;
    height:74px;
    z-index:3;
    filter:drop-shadow(0 10px 14px rgba(196,82,139,.18));
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-ribbon::before,
body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-ribbon::after{
    content:"";
    position:absolute;
    top:22px;
    width:70px;
    height:38px;
    border:1px solid rgba(255,255,255,.78);
    border-radius:52% 48% 54% 46%;
    background:linear-gradient(135deg,#ffd7e9,#ff8abd 58%,#d84f92);
    box-shadow:0 1px 0 rgba(255,255,255,.86) inset,0 10px 20px rgba(196,82,139,.18);
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-ribbon::before{
    left:0;
    transform:rotate(-24deg);
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-ribbon::after{
    right:0;
    transform:rotate(22deg);
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-tiara{
    position:absolute;
    top:27px;
    left:50%;
    z-index:3;
    width:90px;
    height:34px;
    transform:translateX(-50%);
    background:
        radial-gradient(circle at 50% 18%,#fff 0 8%,transparent 9%),
        radial-gradient(circle at 50% 42%,#f45f9f 0 12%,transparent 13%),
        linear-gradient(135deg,transparent 0 18%,#d8ab55 19% 23%,transparent 24% 38%,#d8ab55 39% 43%,transparent 44% 57%,#d8ab55 58% 62%,transparent 63% 100%);
    filter:drop-shadow(0 0 8px rgba(255,238,178,.58));
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-jewel{
    position:absolute;
    z-index:3;
    width:18px;
    height:18px;
    border:1px solid rgba(255,255,255,.92);
    border-radius:7px;
    background:
        radial-gradient(circle at 35% 26%,#fff 0 14%,transparent 16%),
        linear-gradient(135deg,#ffe7f1,#ff72ae 52%,#d8ab55);
    box-shadow:0 0 12px rgba(255,220,238,.66),0 5px 10px rgba(176,64,120,.16);
    transform:rotate(45deg);
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-jewel-top-left{top:19px;left:23px;}
body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-jewel-top-right{top:19px;right:23px;}
body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-jewel-bottom-left{bottom:22px;left:24px;}
body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-jewel-bottom-right{right:24px;bottom:22px;}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-today-header{
    position:relative;
    z-index:2;
    padding:60px 28px 18px;
    text-align:center;
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-today-label{
    margin:0 0 8px;
    color:#dc5b9b;
    font-family:"Cormorant Garamond","Noto Serif JP",serif;
    font-size:27px;
    font-weight:700;
    line-height:1;
    text-shadow:0 1px 0 #fff,0 0 14px rgba(255,255,255,.8);
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-today-header h2{
    margin:0;
    color:#5b2c43;
    font-size:44px;
    line-height:1.05;
    letter-spacing:.08em;
    text-shadow:0 2px 0 rgba(255,255,255,.76);
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-divider{
    display:block;
    width:120px;
    height:13px;
    margin:13px auto 0;
    background:
        radial-gradient(circle at 50% 50%,#ff78ad 0 11%,transparent 12%),
        linear-gradient(90deg,transparent,#d8ab55 30%,#d8ab55 70%,transparent);
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-today-list-wrap{
    min-height:0;
    padding:0 28px;
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-today-list{
    display:grid !important;
    grid-template-columns:1fr !important;
    align-content:start !important;
    gap:13px !important;
    max-height:462px !important;
    height:100% !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding:1px 7px 1px 1px !important;
    scrollbar-color:rgba(222,92,155,.58) rgba(255,238,247,.75);
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-cast-card{
    position:relative;
    isolation:isolate;
    display:grid;
    grid-template-columns:132px minmax(0,1fr);
    gap:18px;
    min-height:105px;
    padding:12px 14px;
    border:1px solid rgba(218,174,86,.56);
    border-radius:23px;
    background:
        radial-gradient(circle at 3% 5%,rgba(255,107,170,.22) 0 12px,transparent 13px),
        radial-gradient(circle at 98% 12%,rgba(255,255,255,.94) 0 10px,transparent 12px),
        linear-gradient(135deg,rgba(255,255,255,.93),rgba(255,237,247,.9));
    box-shadow:0 12px 24px rgba(176,64,120,.14),0 0 0 1px rgba(255,255,255,.72) inset;
    cursor:pointer;
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-cast-card::before{
    content:"";
    position:absolute;
    inset:7px;
    z-index:-1;
    border:1px solid rgba(238,173,204,.44);
    border-radius:17px;
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-cast-card::after{
    content:"♡ ✦";
    position:absolute;
    right:14px;
    top:8px;
    color:rgba(218,174,86,.46);
    font-size:13px;
    letter-spacing:3px;
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-cast-photo{
    position:relative;
    align-self:center;
    width:132px;
    aspect-ratio:1.26 / 1;
    overflow:hidden;
    border:1px solid rgba(218,174,86,.7);
    border-radius:20px;
    outline:1px solid rgba(255,255,255,.86);
    outline-offset:-5px;
    background:#fff;
    box-shadow:0 10px 18px rgba(176,64,120,.16),0 0 14px rgba(255,244,250,.76) inset;
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-cast-image,
body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-cast-no-image{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-photo-tiara{
    position:absolute;
    top:-2px;
    left:50%;
    color:#d8ab55;
    font-size:18px;
    line-height:1;
    text-shadow:0 0 7px rgba(255,255,255,.88);
    transform:translateX(-50%);
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-photo-bow{
    position:absolute;
    left:8px;
    bottom:7px;
    width:34px;
    height:18px;
    filter:drop-shadow(0 3px 5px rgba(176,64,120,.18));
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-photo-bow::before,
body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-photo-bow::after{
    content:"";
    position:absolute;
    top:3px;
    width:18px;
    height:13px;
    border-radius:50%;
    background:linear-gradient(135deg,#ffd4e8,#ff82b8 58%,#d94f92);
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-photo-bow::before{left:0;transform:rotate(-22deg);}
body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-photo-bow::after{right:0;transform:rotate(22deg);}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-cast-info{
    min-width:0;
    align-self:center;
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-cast-heading{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
    margin-bottom:7px;
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-cast-heading h3{
    margin:0;
    color:#5f3046;
    font-size:26px;
    font-weight:800;
    line-height:1.15;
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-cast-name-en{
    color:#d5a65f;
    font-family:"Cormorant Garamond","Noto Serif JP",serif;
    font-size:18px;
    font-style:italic;
    line-height:1;
    white-space:nowrap;
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-cast-badge{
    margin-left:auto;
    border-radius:999px;
    background:linear-gradient(135deg,#ff7fba,#d94f92);
    color:#fff;
    font-size:12px;
    font-weight:700;
    line-height:1;
    padding:7px 11px;
    box-shadow:0 7px 14px rgba(205,70,139,.18),0 1px 0 rgba(255,255,255,.65) inset;
    white-space:nowrap;
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-cast-meta{
    display:grid;
    gap:6px;
    margin:0;
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-cast-meta-row{
    display:grid;
    grid-template-columns:82px minmax(0,1fr);
    align-items:center;
    min-height:27px;
    border:1px solid rgba(239,169,204,.5);
    border-radius:999px;
    background:rgba(255,255,255,.76);
    color:#714058;
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-cast-meta dt,
body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-cast-meta dd{
    margin:0;
    font-size:12px;
    font-weight:700;
    line-height:1.2;
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-cast-meta dt{
    display:flex;
    gap:5px;
    color:#e45498;
    padding-left:10px;
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-cast-meta dd{
    padding-right:10px;
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-today-action{
    padding:16px 42px 28px;
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-schedule-button{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:54px;
    border:1px solid rgba(214,166,72,.7);
    border-radius:999px;
    background:
        linear-gradient(110deg,rgba(255,255,255,.38),transparent 26%,transparent 74%,rgba(255,255,255,.24)),
        linear-gradient(135deg,#ff8ac0,#df4c92 52%,#ba2f74);
    color:#fff;
    font-size:21px;
    font-weight:800;
    letter-spacing:.12em;
    text-decoration:none;
    box-shadow:0 13px 24px rgba(194,61,132,.24),0 1px 0 rgba(255,255,255,.75) inset,0 0 18px rgba(255,237,250,.34) inset;
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-schedule-button::before{
    content:"♕";
    margin-right:12px;
    color:#ffe7a8;
    font-size:22px;
}

body:not(.cast-detail-page) #cast.ver9-brand-today-cast .ver9-brand-schedule-button::after{
    content:"›";
    margin-left:12px;
    font-size:30px;
    line-height:1;
}

/* ChouChou Ver9.0 Today's Cast Component */
body:not(.cast-detail-page) .home-top-card-row > #cast.v9-today-card{
    position:relative;
    box-sizing:border-box;
    height:720px;
    min-height:720px;
    max-height:720px;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
    overflow:visible;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-today-card-shell{
    position:relative;
    isolation:isolate;
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    width:100%;
    height:100%;
    min-height:100%;
    overflow:hidden;
    border:1px solid rgba(211,165,76,.9);
    border-radius:30px;
    background:
        radial-gradient(circle at 12% 10%,rgba(255,255,255,.98) 0 7%,transparent 25%),
        radial-gradient(circle at 85% 16%,rgba(255,204,229,.72) 0 9%,transparent 28%),
        linear-gradient(135deg,rgba(255,252,254,.98),rgba(255,226,242,.94) 48%,rgba(255,251,253,.98));
    box-shadow:
        0 22px 44px rgba(176,64,120,.16),
        0 2px 0 rgba(255,255,255,.95) inset,
        0 0 0 8px rgba(255,255,255,.48) inset,
        0 0 0 11px rgba(211,165,76,.18) inset,
        0 0 44px rgba(255,196,226,.54) inset;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-today-card-shell::before{
    content:"";
    position:absolute;
    inset:16px;
    z-index:-1;
    border:1px solid rgba(211,165,76,.58);
    border-radius:22px;
    background:
        radial-gradient(circle at 9% 13%,rgba(255,255,255,.86) 0 1px,transparent 4px),
        radial-gradient(circle at 90% 17%,rgba(255,234,170,.7) 0 1px,transparent 4px),
        radial-gradient(circle at 76% 84%,rgba(255,255,255,.76) 0 1px,transparent 4px),
        linear-gradient(135deg,transparent 0 18px,rgba(255,255,255,.24) 19px 20px,transparent 21px 38px);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-today-card-shell::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-2;
    background:
        radial-gradient(circle at 0 0,rgba(255,112,176,.34) 0 44px,transparent 45px),
        radial-gradient(circle at 100% 100%,rgba(255,112,176,.3) 0 50px,transparent 51px),
        repeating-linear-gradient(45deg,rgba(255,255,255,.16) 0 1px,transparent 1px 18px);
    opacity:.9;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-today-decoration,
body:not(.cast-detail-page) #cast.v9-today-card .v9-today-decoration span{
    pointer-events:none;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-tiara{
    position:absolute;
    top:24px;
    left:50%;
    z-index:4;
    width:104px;
    height:36px;
    transform:translateX(-50%);
    background:
        radial-gradient(circle at 50% 13%,#fff 0 8%,transparent 9%),
        radial-gradient(circle at 50% 42%,#ff6eab 0 11%,transparent 12%),
        linear-gradient(135deg,transparent 0 17%,#d7aa55 18% 22%,transparent 23% 38%,#d7aa55 39% 43%,transparent 44% 57%,#d7aa55 58% 62%,transparent 63% 100%);
    filter:drop-shadow(0 0 9px rgba(255,239,184,.64));
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-ribbon{
    position:absolute;
    z-index:4;
    width:104px;
    height:66px;
    filter:drop-shadow(0 10px 14px rgba(190,75,132,.2));
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-ribbon-top{
    top:-9px;
    left:-10px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-ribbon-bottom{
    right:-16px;
    bottom:-11px;
    transform:rotate(180deg);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-ribbon::before,
body:not(.cast-detail-page) #cast.v9-today-card .v9-ribbon::after{
    content:"";
    position:absolute;
    top:20px;
    width:64px;
    height:36px;
    border:1px solid rgba(255,255,255,.78);
    border-radius:52% 48% 54% 46%;
    background:linear-gradient(135deg,#ffe1ee,#ff8abb 58%,#d94f92);
    box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 10px 18px rgba(190,75,132,.18);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-ribbon::before{
    left:0;
    transform:rotate(-24deg);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-ribbon::after{
    right:0;
    transform:rotate(22deg);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-jewel{
    position:absolute;
    z-index:5;
    width:18px;
    height:18px;
    border:1px solid rgba(255,255,255,.92);
    border-radius:7px;
    background:
        radial-gradient(circle at 34% 25%,#fff 0 14%,transparent 16%),
        linear-gradient(135deg,#ffe7f1,#ff72ae 52%,#d7aa55);
    box-shadow:0 0 12px rgba(255,220,238,.66),0 5px 10px rgba(176,64,120,.16);
    transform:rotate(45deg);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-jewel-tl{top:19px;left:23px;}
body:not(.cast-detail-page) #cast.v9-today-card .v9-jewel-tr{top:19px;right:23px;}
body:not(.cast-detail-page) #cast.v9-today-card .v9-jewel-bl{bottom:22px;left:24px;}
body:not(.cast-detail-page) #cast.v9-today-card .v9-jewel-br{right:24px;bottom:22px;}

body:not(.cast-detail-page) #cast.v9-today-card .v9-today-header{
    position:relative;
    z-index:2;
    padding:58px 26px 14px;
    text-align:center;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-today-eyebrow{
    margin:0 0 8px;
    color:#dd5c9d;
    font-family:"Cormorant Garamond","Noto Serif JP",serif;
    font-size:27px;
    font-weight:700;
    line-height:1;
    text-shadow:0 1px 0 #fff,0 0 14px rgba(255,255,255,.8);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-today-header h2{
    margin:0;
    color:#5b2d43;
    font-size:43px;
    line-height:1.04;
    letter-spacing:.08em;
    text-shadow:0 2px 0 rgba(255,255,255,.76);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-today-divider{
    display:block;
    width:122px;
    height:13px;
    margin:12px auto 0;
    background:
        radial-gradient(circle at 50% 50%,#ff78ad 0 11%,transparent 12%),
        linear-gradient(90deg,transparent,#d7aa55 30%,#d7aa55 70%,transparent);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-list-frame{
    position:relative;
    z-index:2;
    min-height:0;
    padding:0 26px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-list{
    display:grid;
    grid-template-columns:1fr;
    align-content:start;
    gap:10px;
    height:100%;
    max-height:486px;
    overflow-x:hidden;
    overflow-y:auto;
    padding:1px 7px 1px 1px;
    scrollbar-color:rgba(222,92,155,.58) rgba(255,238,247,.75);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-list::-webkit-scrollbar{
    width:7px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-list::-webkit-scrollbar-track{
    border-radius:999px;
    background:rgba(255,238,247,.75);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-list::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:linear-gradient(#ff95c4,#d94f92);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-item{
    position:relative;
    isolation:isolate;
    display:grid;
    grid-template-columns:140px minmax(0,1fr);
    gap:12px;
    min-height:110px;
    padding:10px 12px;
    border:1px solid rgba(215,170,82,.62);
    border-radius:22px;
    background:
        radial-gradient(circle at 3% 5%,rgba(255,107,170,.24) 0 12px,transparent 13px),
        radial-gradient(circle at 98% 12%,rgba(255,255,255,.94) 0 10px,transparent 12px),
        linear-gradient(135deg,rgba(255,255,255,.94),rgba(255,236,247,.9));
    box-shadow:0 11px 22px rgba(176,64,120,.14),0 0 0 1px rgba(255,255,255,.72) inset;
    cursor:pointer;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-item::before{
    content:"";
    position:absolute;
    inset:7px;
    z-index:-1;
    border:1px solid rgba(238,173,204,.46);
    border-radius:16px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-item::after{
    content:"♡ ✦";
    position:absolute;
    right:13px;
    top:8px;
    color:rgba(215,170,82,.46);
    font-size:13px;
    letter-spacing:3px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-photo{
    position:relative;
    align-self:center;
    width:140px;
    height:102px;
    overflow:hidden;
    border:1px solid rgba(215,170,82,.72);
    border-radius:19px;
    outline:1px solid rgba(255,255,255,.88);
    outline-offset:-5px;
    background:#fff;
    box-shadow:0 10px 18px rgba(176,64,120,.16),0 0 15px rgba(255,244,250,.8) inset;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-image,
body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-no-image{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-no-image{
    display:grid;
    place-items:center;
    color:#c66a99;
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
    background:linear-gradient(135deg,#fff,#ffe2f0);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-photo-tiara{
    position:absolute;
    top:-2px;
    left:50%;
    color:#d7aa55;
    font-size:18px;
    line-height:1;
    text-shadow:0 0 7px rgba(255,255,255,.9);
    transform:translateX(-50%);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-photo-jewel{
    position:absolute;
    right:9px;
    top:8px;
    width:12px;
    height:12px;
    border-radius:5px;
    background:linear-gradient(135deg,#fff,#ff80b5 55%,#d7aa55);
    box-shadow:0 0 8px rgba(255,217,236,.82);
    transform:rotate(45deg);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-photo-ribbon{
    position:absolute;
    left:8px;
    bottom:7px;
    width:36px;
    height:18px;
    filter:drop-shadow(0 3px 5px rgba(176,64,120,.18));
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-photo-ribbon::before,
body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-photo-ribbon::after{
    content:"";
    position:absolute;
    top:3px;
    width:19px;
    height:13px;
    border-radius:50%;
    background:linear-gradient(135deg,#ffd4e8,#ff82b8 58%,#d94f92);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-photo-ribbon::before{
    left:0;
    transform:rotate(-22deg);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-photo-ribbon::after{
    right:0;
    transform:rotate(22deg);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-profile{
    min-width:0;
    align-self:center;
    padding:3px 0;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-name-row{
    display:flex;
    align-items:center;
    gap:7px;
    min-width:0;
    margin-bottom:5px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-name-row h3{
    margin:0;
    color:#5e3046;
    max-width:68px;
    overflow:hidden;
    font-size:22px;
    font-weight:800;
    line-height:1.08;
    text-overflow:ellipsis;
    white-space:nowrap;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-name-en{
    min-width:0;
    color:#d2a15c;
    font-family:"Cormorant Garamond","Noto Serif JP",serif;
    font-size:16px;
    font-style:italic;
    line-height:1;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-status{
    margin-left:auto;
    border-radius:999px;
    background:linear-gradient(135deg,#ff82bb,#d94f92);
    color:#fff;
    font-size:10px;
    font-weight:700;
    line-height:1;
    padding:6px 9px;
    box-shadow:0 7px 14px rgba(205,70,139,.18),0 1px 0 rgba(255,255,255,.65) inset;
    white-space:nowrap;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-meta{
    display:grid;
    gap:3px;
    margin:0;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-meta-row{
    display:grid;
    grid-template-columns:82px minmax(0,1fr);
    align-items:center;
    min-height:21px;
    border:1px solid rgba(239,169,204,.52);
    border-radius:999px;
    background:rgba(255,255,255,.74);
    color:#714058;
    box-shadow:0 1px 0 rgba(255,255,255,.86) inset;
    backdrop-filter:blur(6px);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-meta dt,
body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-meta dd{
    margin:0;
    font-size:11px;
    font-weight:700;
    line-height:1.2;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-meta dt{
    display:flex;
    align-items:center;
    gap:5px;
    color:#e45498;
    padding-left:10px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-meta-icon{
    color:#e45498;
    font-size:11px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-meta dd{
    padding-right:10px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-button-wrap{
    position:relative;
    z-index:2;
    padding:14px 42px 28px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-button{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:54px;
    border:1px solid rgba(211,165,76,.72);
    border-radius:999px;
    background:
        linear-gradient(110deg,rgba(255,255,255,.38),transparent 26%,transparent 74%,rgba(255,255,255,.24)),
        linear-gradient(135deg,#ff8ac0,#df4c92 52%,#ba2f74);
    color:#fff;
    font-size:21px;
    font-weight:800;
    letter-spacing:.12em;
    text-decoration:none;
    box-shadow:0 13px 24px rgba(194,61,132,.24),0 1px 0 rgba(255,255,255,.75) inset,0 0 18px rgba(255,237,250,.34) inset;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-button::before{
    content:"♕";
    margin-right:12px;
    color:#ffe7a8;
    font-size:22px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-button::after{
    content:"›";
    margin-left:12px;
    font-size:30px;
    line-height:1;
}

body:not(.cast-detail-page) #cast.v9-today-card .no-cast{
    display:grid;
    place-items:center;
    min-height:180px;
    margin:0;
    border:1px solid rgba(239,169,204,.5);
    border-radius:22px;
    background:rgba(255,255,255,.66);
    color:#704058;
    font-weight:700;
}

@media (max-width: 768px){
    body:not(.cast-detail-page) .home-top-card-row > #cast.v9-today-card{
        height:auto;
        min-height:0;
        max-height:none;
    }

    body:not(.cast-detail-page) #cast.v9-today-card .v9-today-card-shell{
        height:auto;
        min-height:0;
    }

    body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-list{
        max-height:none;
        overflow:visible;
    }

    body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-item{
        grid-template-columns:132px minmax(0,1fr);
    }

    body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-photo{
        width:132px;
        height:100px;
    }
}

/* ChouChou Ver9.0 Today's Cast Phase3 Profile Cards */
body:not(.cast-detail-page) #cast.v9-today-card .v9-today-card-shell{
    grid-template-rows:auto minmax(0,1fr) auto;
    background:
        radial-gradient(circle at 50% 4%,rgba(255,255,255,.98) 0 9%,transparent 25%),
        radial-gradient(circle at 14% 14%,rgba(255,211,234,.82) 0 11%,transparent 28%),
        radial-gradient(circle at 88% 17%,rgba(255,238,183,.58) 0 9%,transparent 27%),
        linear-gradient(135deg,rgba(255,252,254,.99),rgba(255,223,241,.95) 48%,rgba(255,249,253,.99));
    box-shadow:
        0 24px 50px rgba(176,64,120,.18),
        0 2px 0 rgba(255,255,255,.96) inset,
        0 0 0 8px rgba(255,255,255,.5) inset,
        0 0 0 12px rgba(211,165,76,.2) inset,
        0 0 52px rgba(255,190,224,.6) inset;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-today-card-shell::before{
    inset:14px;
    background:
        radial-gradient(circle at 9% 13%,rgba(255,255,255,.9) 0 1px,transparent 4px),
        radial-gradient(circle at 16% 36%,rgba(255,255,255,.72) 0 1px,transparent 4px),
        radial-gradient(circle at 90% 17%,rgba(255,234,170,.74) 0 1px,transparent 4px),
        radial-gradient(circle at 76% 84%,rgba(255,255,255,.78) 0 1px,transparent 4px),
        repeating-linear-gradient(135deg,rgba(255,255,255,.2) 0 1px,transparent 1px 14px);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-today-header{
    padding:48px 24px 10px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-today-eyebrow{
    margin-bottom:6px;
    font-size:24px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-today-header h2{
    font-size:38px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-today-divider{
    margin-top:9px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-tiara{
    top:18px;
    width:112px;
    height:38px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-list-frame{
    padding:0 24px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-list{
    gap:3px;
    row-gap:3px;
    column-gap:0;
    max-height:512px;
    padding:0 6px 0 1px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-item{
    grid-template-columns:140px minmax(0,1fr);
    gap:10px;
    min-height:125px;
    padding:8px 10px;
    border-color:rgba(215,170,82,.74);
    border-radius:24px;
    background:
        radial-gradient(circle at 5% 8%,rgba(255,100,168,.28) 0 13px,transparent 14px),
        radial-gradient(circle at 96% 10%,rgba(255,255,255,.96) 0 10px,transparent 12px),
        linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,232,246,.93) 52%,rgba(255,249,253,.96));
    box-shadow:
        0 13px 24px rgba(176,64,120,.16),
        0 0 0 1px rgba(255,255,255,.76) inset,
        0 0 18px rgba(255,221,239,.34) inset;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-item::before{
    inset:6px;
    border-color:rgba(215,170,82,.34);
    border-radius:18px;
    background:
        radial-gradient(circle at 0 0,rgba(255,121,183,.18) 0 20px,transparent 21px),
        radial-gradient(circle at 100% 100%,rgba(255,238,183,.24) 0 24px,transparent 25px);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-item::after{
    content:"♡ ✦ ♡";
    right:11px;
    top:7px;
    color:rgba(215,170,82,.52);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-photo{
    width:140px;
    height:110px;
    border-color:rgba(215,170,82,.84);
    border-radius:21px;
    box-shadow:
        0 11px 19px rgba(176,64,120,.18),
        0 0 0 5px rgba(255,255,255,.55) inset,
        0 0 15px rgba(255,244,250,.82) inset;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-photo::before{
    content:"";
    position:absolute;
    inset:5px;
    z-index:2;
    border:1px solid rgba(215,170,82,.5);
    border-radius:16px;
    pointer-events:none;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-photo-tiara{
    top:-1px;
    font-size:19px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-photo-jewel{
    right:8px;
    top:8px;
    width:13px;
    height:13px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-photo-ribbon{
    left:7px;
    bottom:8px;
    width:40px;
    height:20px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-profile{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:110px;
    padding:2px 0;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-name-row{
    gap:7px;
    margin-bottom:7px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-name-row h3{
    max-width:none;
    overflow:visible;
    color:#5b2d43;
    font-size:26px;
    line-height:1.08;
    text-overflow:clip;
    white-space:normal;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-name-en{
    display:none;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-status{
    font-size:10px;
    padding:6px 9px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-meta{
    gap:4px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-meta-row{
    grid-template-columns:76px minmax(0,1fr);
    min-height:24px;
    border-radius:14px;
    background:
        linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,249,253,.66));
    box-shadow:
        0 1px 0 rgba(255,255,255,.92) inset,
        0 4px 9px rgba(224,112,167,.08);
    backdrop-filter:blur(7px);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-meta dt,
body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-meta dd{
    font-size:12px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-meta dt{
    padding-left:8px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-meta dd{
    overflow:visible;
    padding-right:7px;
    color:#5f3046;
    text-align:left;
    white-space:normal;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-button-wrap{
    padding:8px 42px 20px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-button{
    min-height:50px;
    box-shadow:
        0 13px 24px rgba(194,61,132,.24),
        0 1px 0 rgba(255,255,255,.75) inset,
        0 0 20px rgba(255,237,250,.4) inset;
}

/* ChouChou Today's Cast Princess Brand Refinement */
body:not(.cast-detail-page) #cast.v9-today-card .v9-today-card-shell{
    border:1.5px solid rgba(211,165,76,.86);
    background:
        radial-gradient(ellipse at 50% 7%,rgba(255,255,255,.34) 0 18%,transparent 44%),
        radial-gradient(circle at 50% 4%,rgba(255,255,255,.98) 0 9%,transparent 25%),
        radial-gradient(circle at 14% 14%,rgba(255,211,234,.82) 0 11%,transparent 28%),
        radial-gradient(circle at 88% 17%,rgba(255,238,183,.58) 0 9%,transparent 27%),
        linear-gradient(135deg,rgba(255,252,254,.99),rgba(255,223,241,.95) 48%,rgba(255,249,253,.99));
    box-shadow:
        0 24px 50px rgba(176,64,120,.18),
        0 2px 0 rgba(255,255,255,.96) inset,
        0 0 0 8px rgba(255,255,255,.5) inset,
        0 0 0 12px rgba(211,165,76,.2) inset,
        0 0 52px rgba(255,190,224,.6) inset;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-today-card-shell::before{
    inset:14px;
    border-color:rgba(211,165,76,.48);
    background:
        repeating-linear-gradient(45deg,rgba(218,112,170,.045) 0 1px,transparent 1px 18px),
        repeating-linear-gradient(-45deg,rgba(218,112,170,.045) 0 1px,transparent 1px 18px),
        radial-gradient(circle at 9% 13%,rgba(255,255,255,.9) 0 1px,transparent 4px),
        radial-gradient(circle at 16% 36%,rgba(255,255,255,.72) 0 1px,transparent 4px),
        radial-gradient(circle at 90% 17%,rgba(255,234,170,.74) 0 1px,transparent 4px),
        radial-gradient(circle at 76% 84%,rgba(255,255,255,.78) 0 1px,transparent 4px),
        repeating-linear-gradient(135deg,rgba(255,255,255,.2) 0 1px,transparent 1px 14px);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-today-card-shell::after{
    inset:0;
    opacity:.72;
    background:
        radial-gradient(circle at 0 50%,transparent 0 13px,rgba(230,133,181,.2) 14px 15px,transparent 16px) 0 16px/32px 32px repeat-y,
        radial-gradient(circle at 100% 50%,transparent 0 13px,rgba(230,133,181,.2) 14px 15px,transparent 16px) 100% 16px/32px 32px repeat-y,
        radial-gradient(circle at 8% 23%,rgba(255,255,255,.96) 0 1px,transparent 3px),
        radial-gradient(circle at 92% 69%,rgba(255,239,184,.82) 0 1px,transparent 3px);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-today-decoration span{
    z-index:0;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-tiara{
    display:block;
    top:5px;
    opacity:.88;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-ribbon{
    display:block;
    opacity:.72;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-ribbon-top{
    top:-30px;
    left:-22px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-ribbon-bottom{
    right:-70px;
    bottom:-24px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-jewel{
    width:15px;
    height:15px;
    border-color:rgba(255,255,255,.92);
    border-radius:5px;
    opacity:.76;
    background:
        radial-gradient(circle at 34% 25%,#fff 0 14%,transparent 16%),
        linear-gradient(135deg,#ffe7f1,#ff72ae 52%,#d7aa55);
    box-shadow:0 0 10px rgba(255,220,238,.7),0 4px 9px rgba(176,64,120,.14);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-jewel-tl{top:22px;left:12px;}
body:not(.cast-detail-page) #cast.v9-today-card .v9-jewel-tr{top:22px;right:12px;}
body:not(.cast-detail-page) #cast.v9-today-card .v9-jewel-bl{bottom:18px;left:12px;}
body:not(.cast-detail-page) #cast.v9-today-card .v9-jewel-br{right:12px;bottom:18px;}

body:not(.cast-detail-page) #cast.v9-today-card .v9-today-eyebrow{
    color:#dd5c9d;
    font-size:27px;
    font-weight:700;
    letter-spacing:0;
    text-shadow:0 1px 0 #fff,0 0 14px rgba(255,255,255,.8);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-today-header h2{
    color:#5b2d43;
    font-weight:800;
    text-shadow:0 2px 0 rgba(255,255,255,.76);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-today-divider{
    position:relative;
    width:138px;
    height:8px;
    background:
        radial-gradient(circle at 50% 50%,#ff78ad 0 12%,transparent 13%),
        linear-gradient(90deg,transparent,#d7aa55 30%,#d7aa55 70%,transparent);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-today-divider::before{
    content:"♕";
    position:absolute;
    left:50%;
    top:50%;
    z-index:1;
    padding:0 5px;
    background:rgba(255,235,246,.92);
    color:#d3a64f;
    font-size:13px;
    line-height:1;
    pointer-events:none;
    user-select:none;
    text-shadow:0 1px 0 #fff,0 0 7px rgba(255,235,172,.72);
    transform:translate(-50%,-50%);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-item{
    border-width:1.5px;
    background:
        linear-gradient(180deg,rgba(255,255,255,.42) 0%,rgba(255,255,255,.08) 34%,transparent 52%),
        radial-gradient(circle at 5% 8%,rgba(255,100,168,.28) 0 13px,transparent 14px),
        radial-gradient(circle at 96% 10%,rgba(255,255,255,.96) 0 10px,transparent 12px),
        linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,232,246,.93) 52%,rgba(255,249,253,.96));
    box-shadow:
        0 15px 28px rgba(176,64,120,.19),
        0 2px 0 rgba(255,255,255,.92) inset,
        0 0 0 1px rgba(255,255,255,.78) inset,
        0 0 22px rgba(255,221,239,.4) inset;
    backdrop-filter:blur(8px) saturate(1.06);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-item::before{
    border-color:rgba(215,170,82,.38);
    background:
        linear-gradient(180deg,rgba(255,255,255,.34),transparent 38%),
        radial-gradient(circle at 0 0,rgba(255,121,183,.18) 0 20px,transparent 21px),
        radial-gradient(circle at 100% 100%,rgba(255,238,183,.24) 0 24px,transparent 25px);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-item::after{
    content:none;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-photo{
    padding:1px;
    border:1px solid #b58a43;
    border-radius:17px;
    outline:0;
    background:#fff;
    box-shadow:0 10px 22px rgba(58,39,45,.2);
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-photo::before{
    content:none;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-image,
body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-no-image{
    border-radius:14px;
}

body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-status{
    flex:0 0 auto;
    margin-left:auto;
    margin-right:2px;
    padding:7.6px 14px;
    border:1px solid rgba(215,170,82,.55);
    background:
        linear-gradient(180deg,rgba(255,255,255,.28),transparent 48%),
        linear-gradient(135deg,#ff9ac7,#e45d9d 52%,#c84385);
    color:#fff;
    font-size:10px;
    font-weight:800;
    letter-spacing:.08em;
    box-shadow:
        0 6px 14px rgba(190,55,124,.23),
        0 1px 0 rgba(255,255,255,.64) inset,
        0 0 8px rgba(255,229,242,.22) inset;
}

/* ChouChou News Luxury Finish */
body:not(.cast-detail-page) .princess-home .premium-card-news{
    background:
        radial-gradient(ellipse at 50% 7%,rgba(255,255,255,.32) 0 18%,transparent 44%),
        radial-gradient(circle at 14% 14%,rgba(255,211,234,.76) 0 10%,transparent 27%),
        radial-gradient(circle at 88% 18%,rgba(255,238,183,.48) 0 8%,transparent 26%),
        linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,229,243,.88) 52%,rgba(255,249,252,.94)) !important;
    box-shadow:
        0 24px 50px rgba(176,64,120,.18),
        0 2px 0 rgba(255,255,255,.94) inset,
        0 0 38px rgba(255,202,228,.58) inset !important;
}

body:not(.cast-detail-page) .princess-home .premium-card-news::before{
    background:
        repeating-linear-gradient(45deg,rgba(218,112,170,.04) 0 1px,transparent 1px 18px),
        repeating-linear-gradient(-45deg,rgba(218,112,170,.04) 0 1px,transparent 1px 18px),
        radial-gradient(circle at 0 50%,transparent 0 12px,rgba(230,133,181,.16) 13px 14px,transparent 15px) 0 14px/30px 30px repeat-y,
        radial-gradient(circle at 100% 50%,transparent 0 12px,rgba(230,133,181,.16) 13px 14px,transparent 15px) 100% 14px/30px 30px repeat-y,
        radial-gradient(circle at 8% 22%,rgba(255,255,255,.9) 0 1px,transparent 3px),
        radial-gradient(circle at 92% 72%,rgba(255,239,184,.68) 0 1px,transparent 3px) !important;
}

body:not(.cast-detail-page) .princess-home .premium-card-news .section-title{
    position:relative;
    min-height:96.8px;
}

body:not(.cast-detail-page) .princess-home .premium-card-news .section-title::before{
    content:"◆" !important;
    margin-bottom:4px;
    color:#d4a54e;
    font-size:13px;
    line-height:18px;
    text-shadow:0 1px 0 #fff,0 0 8px rgba(255,235,172,.72);
}

body:not(.cast-detail-page) .princess-home .premium-card-news .section-title span{
    font-size:22px !important;
    line-height:24px !important;
}

body:not(.cast-detail-page) .princess-home .premium-card-news .section-title h2{
    position:relative;
}

body:not(.cast-detail-page) .princess-home .premium-card-news .section-title h2::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-8px;
    width:60px !important;
    min-width:60px !important;
    max-width:60px !important;
    height:1px;
    pointer-events:none;
    background:linear-gradient(90deg,transparent,#d7aa55 24%,#d7aa55 76%,transparent);
    transform:translateX(-50%);
}

body:not(.cast-detail-page) .princess-home .premium-card-news .public-news-card{
    background:
        linear-gradient(180deg,rgba(255,255,255,.46),rgba(255,255,255,.08) 34%,transparent 52%),
        linear-gradient(135deg,rgba(255,255,255,.8),rgba(255,241,248,.7)) !important;
    box-shadow:
        0 13px 26px rgba(176,64,120,.13),
        0 2px 0 rgba(255,255,255,.92) inset,
        0 0 18px rgba(255,221,239,.3) inset !important;
    backdrop-filter:blur(9px) saturate(1.04);
}

body:not(.cast-detail-page) .princess-home .premium-card-news .public-news-category{
    background:
        linear-gradient(180deg,rgba(255,255,255,.32),transparent 48%),
        linear-gradient(135deg,#ffd6e8,#efa0c3 58%,#df7aac) !important;
    color:#9f3f70 !important;
    font-weight:800;
    box-shadow:0 4px 10px rgba(198,92,144,.14),0 1px 0 rgba(255,255,255,.72) inset;
}

body:not(.cast-detail-page) .princess-home .premium-card-news .news-more .reserve-btn{
    background:
        linear-gradient(110deg,rgba(255,255,255,.38),transparent 26%,transparent 74%,rgba(255,255,255,.24)),
        linear-gradient(135deg,#ff8ac0,#df4c92 52%,#ba2f74) !important;
    box-shadow:
        0 13px 24px rgba(194,61,132,.24),
        0 1px 0 rgba(255,255,255,.75) inset,
        0 0 20px rgba(255,237,250,.4) inset !important;
}

body:not(.cast-detail-page) .princess-home .premium-card-news .news-more .reserve-btn::after{
    pointer-events:none;
}

@media(hover:hover) and (pointer:fine){
    body:not(.cast-detail-page) .princess-home .premium-card-news:hover .news-more .reserve-btn::after{
        left:-60%;
    }

    body:not(.cast-detail-page) .princess-home .premium-card-news .news-more .reserve-btn:hover::after{
        left:125%;
    }
}

/* ChouChou Homepage Luxury Card Unification */
body:not(.cast-detail-page) .princess-home .premium-card-news .public-news-list.is-news-compact{
    flex:0 0 auto !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
}

body:not(.cast-detail-page) .princess-home .premium-card-news:has(.public-news-list.is-news-compact){
    align-self:start !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
}

body:not(.cast-detail-page) .princess-home .premium-card-news .public-news-list.is-news-compact .public-news-card{
    height:auto !important;
    min-height:0 !important;
}

body:not(.cast-detail-page) .princess-home .premium-card-news .public-news-list.has-news-overflow{
    min-height:0 !important;
    max-height:492px !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    scrollbar-color:rgba(222,92,155,.58) rgba(255,238,247,.72);
}

body:not(.cast-detail-page) .princess-home #gallery,
body:not(.cast-detail-page) .princess-home #cast-list,
body:not(.cast-detail-page) .princess-home #system{
    border:1.5px solid rgba(211,165,76,.86) !important;
    background:
        radial-gradient(ellipse at 50% 7%,rgba(255,255,255,.32) 0 18%,transparent 44%),
        radial-gradient(circle at 14% 14%,rgba(255,211,234,.72) 0 10%,transparent 27%),
        radial-gradient(circle at 88% 18%,rgba(255,238,183,.44) 0 8%,transparent 26%),
        linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,229,243,.86) 52%,rgba(255,249,252,.94)) !important;
    box-shadow:
        0 24px 50px rgba(176,64,120,.18),
        0 2px 0 rgba(255,255,255,.94) inset,
        0 0 38px rgba(255,202,228,.56) inset !important;
}

body:not(.cast-detail-page) .princess-home #gallery::before,
body:not(.cast-detail-page) .princess-home #cast-list::before,
body:not(.cast-detail-page) .princess-home #system::before{
    background:
        repeating-linear-gradient(45deg,rgba(218,112,170,.04) 0 1px,transparent 1px 18px),
        repeating-linear-gradient(-45deg,rgba(218,112,170,.04) 0 1px,transparent 1px 18px),
        radial-gradient(circle at 0 50%,transparent 0 12px,rgba(230,133,181,.15) 13px 14px,transparent 15px) 0 14px/30px 30px repeat-y,
        radial-gradient(circle at 100% 50%,transparent 0 12px,rgba(230,133,181,.15) 13px 14px,transparent 15px) 100% 14px/30px 30px repeat-y,
        radial-gradient(circle at 8% 22%,rgba(255,255,255,.9) 0 1px,transparent 3px),
        radial-gradient(circle at 92% 72%,rgba(255,239,184,.66) 0 1px,transparent 3px) !important;
}

body:not(.cast-detail-page) .princess-home #gallery .public-gallery-item{
    border:1.5px solid rgba(211,165,76,.68) !important;
    background:
        linear-gradient(180deg,rgba(255,255,255,.38),rgba(255,255,255,.06) 36%,transparent 54%),
        linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,234,246,.7)) !important;
    box-shadow:
        0 13px 26px rgba(176,64,120,.15),
        0 2px 0 rgba(255,255,255,.9) inset,
        0 0 18px rgba(255,221,239,.34) inset !important;
    backdrop-filter:blur(8px) saturate(1.04);
}

body:not(.cast-detail-page) .princess-home #cast-list .all-cast-grid{
    gap:12px !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .cast-card.public-cast-card{
    border:1.5px solid rgba(211,165,76,.66) !important;
    background:
        linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.08) 34%,transparent 52%),
        linear-gradient(135deg,rgba(255,255,255,.94),rgba(255,232,246,.9)) !important;
    box-shadow:
        0 15px 28px rgba(176,64,120,.17),
        0 2px 0 rgba(255,255,255,.9) inset,
        0 0 20px rgba(255,221,239,.34) inset !important;
    transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-photo{
    overflow:visible !important;
    background:linear-gradient(135deg,#fff8fc,#ffeaf4) !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-image{
    object-fit:contain !important;
    background:linear-gradient(135deg,#fff8fc,#ffeaf4) !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges,
body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges.cast-badge-layer,
body:not(.cast-detail-page) .princess-home #cast-list .cast-card .public-cast-badges,
body:not(.cast-detail-page) .princess-home #cast-list .cast-card .public-cast-badges.cast-badge-layer{
    top:auto !important;
    left:8px !important;
    right:auto !important;
    bottom:-50px !important;
    flex-direction:row !important;
    gap:3px !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .cast-card:has(.public-cast-badges) .public-cast-info{
    padding-top:56px !important;
}

body:not(.cast-detail-page) .princess-home #system .system-price-card{
    border:1.5px solid rgba(211,165,76,.54) !important;
    background:
        repeating-linear-gradient(45deg,rgba(218,112,170,.032) 0 1px,transparent 1px 18px),
        repeating-linear-gradient(-45deg,rgba(218,112,170,.032) 0 1px,transparent 1px 18px),
        linear-gradient(180deg,rgba(255,255,255,.48),rgba(255,255,255,.14) 38%,transparent 60%),
        rgba(255,255,255,.7) !important;
    box-shadow:
        0 14px 28px rgba(165,62,118,.13),
        0 2px 0 rgba(255,255,255,.92) inset,
        0 0 20px rgba(255,221,239,.28) inset !important;
    backdrop-filter:blur(10px) saturate(1.04);
}

body:not(.cast-detail-page) .princess-home #gallery .gallery-more .reserve-btn,
body:not(.cast-detail-page) .princess-home #cast-list .princess-card-action .reserve-btn,
body:not(.cast-detail-page) .princess-home #system .princess-card-action .reserve-btn{
    background:
        linear-gradient(110deg,rgba(255,255,255,.38),transparent 26%,transparent 74%,rgba(255,255,255,.24)),
        linear-gradient(135deg,#ff8ac0,#df4c92 52%,#ba2f74) !important;
    box-shadow:
        0 13px 24px rgba(194,61,132,.24),
        0 1px 0 rgba(255,255,255,.75) inset,
        0 0 20px rgba(255,237,250,.4) inset !important;
}

body:not(.cast-detail-page) .princess-home .premium-card-news,
body:not(.cast-detail-page) .princess-home #gallery,
body:not(.cast-detail-page) .princess-home #cast-list,
body:not(.cast-detail-page) .princess-home #system{
    transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease !important;
}

@media(hover:hover) and (pointer:fine) and (min-width:769px){
    body:not(.cast-detail-page) .princess-home .premium-card-news:hover,
    body:not(.cast-detail-page) .princess-home #gallery:hover,
    body:not(.cast-detail-page) .princess-home #system:hover{
        transform:translateY(-3px) !important;
        border-color:rgba(226,184,91,.98) !important;
        box-shadow:
            0 28px 56px rgba(176,64,120,.22),
            0 0 0 1px rgba(255,232,173,.26),
            0 2px 0 rgba(255,255,255,.96) inset,
            0 0 42px rgba(255,202,228,.62) inset !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list:hover{
        transform:none !important;
        border-color:rgba(226,184,91,.98) !important;
        box-shadow:
            0 26px 52px rgba(176,64,120,.2),
            0 0 0 1px rgba(255,232,173,.22),
            0 2px 0 rgba(255,255,255,.94) inset,
            0 0 40px rgba(255,202,228,.6) inset !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .cast-card.public-cast-card:hover{
        transform:translateY(-3px) !important;
        border-color:rgba(226,184,91,.96) !important;
        box-shadow:
            0 19px 34px rgba(176,64,120,.22),
            0 0 0 1px rgba(255,232,173,.2),
            0 2px 0 rgba(255,255,255,.94) inset,
            0 0 22px rgba(255,221,239,.4) inset !important;
    }
}

/* Ver9.0.8 Concept card — refined glass luxury */
body:not(.cast-detail-page) .princess-home #concept.premium-card-concept{
    isolation:isolate !important;
    border:1.5px solid rgba(202,153,63,.92) !important;
    background:
        linear-gradient(180deg,rgba(255,255,255,.62) 0%,rgba(255,255,255,.18) 18%,rgba(255,255,255,.04) 44%,rgba(255,244,249,.18) 100%),
        repeating-linear-gradient(45deg,rgba(198,153,76,.055) 0 1px,transparent 1px 20px),
        repeating-linear-gradient(-45deg,rgba(198,153,76,.055) 0 1px,transparent 1px 20px),
        linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,226,241,.56) 52%,rgba(255,251,253,.7)) !important;
    box-shadow:
        0 24px 48px rgba(111,61,85,.2),
        0 9px 22px rgba(191,139,47,.12),
        0 2px 0 rgba(255,255,255,.96) inset,
        0 0 0 1px rgba(255,255,255,.68) inset,
        0 0 26px rgba(255,255,255,.42) inset !important;
    -webkit-backdrop-filter:blur(12px) saturate(112%) !important;
    backdrop-filter:blur(12px) saturate(112%) !important;
    transform:translateY(-4px) !important;
}

body:not(.cast-detail-page) .princess-home #concept.premium-card-concept::before{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    inset:10px !important;
    z-index:3 !important;
    border:1px solid rgba(213,169,78,.72) !important;
    border-radius:20px !important;
    background:
        repeating-linear-gradient(45deg,rgba(194,145,65,.055) 0 1px,transparent 1px 22px),
        repeating-linear-gradient(-45deg,rgba(194,145,65,.055) 0 1px,transparent 1px 22px) !important;
    box-shadow:
        0 0 0 1px rgba(255,255,255,.66),
        0 0 18px rgba(255,255,255,.38) inset !important;
    pointer-events:none !important;
}

body:not(.cast-detail-page) .princess-home #concept.premium-card-concept::after{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    top:1px !important;
    right:12px !important;
    bottom:auto !important;
    left:12px !important;
    z-index:4 !important;
    width:auto !important;
    height:34% !important;
    border-radius:24px 24px 55% 55% / 24px 24px 28px 28px !important;
    background:linear-gradient(180deg,rgba(255,255,255,.54),rgba(255,255,255,.16) 54%,transparent 100%) !important;
    box-shadow:0 1px 0 rgba(255,255,255,.92) inset !important;
    transform:none !important;
    color:transparent !important;
    font-size:0 !important;
    pointer-events:none !important;
}

/* Keep only the restrained jewel and two highlights on the Concept card. */
body:not(.cast-detail-page) .princess-home #concept .premium-card-ornaments{
    z-index:5 !important;
}

body:not(.cast-detail-page) .princess-home #concept .premium-ribbon{
    display:none !important;
}

body:not(.cast-detail-page) .princess-home #concept .premium-jewel{
    right:17px !important;
    bottom:17px !important;
    z-index:5 !important;
    width:28px !important;
    height:28px !important;
    border:1px solid rgba(255,255,255,.96) !important;
    border-radius:8px 8px 11px 8px !important;
    background:
        radial-gradient(circle at 28% 22%,#fff 0 8%,rgba(255,255,255,.68) 9%,transparent 23%),
        linear-gradient(135deg,rgba(255,255,255,.98),rgba(248,169,204,.88) 38%,rgba(197,73,132,.9) 68%,rgba(255,221,237,.94)) !important;
    box-shadow:
        0 7px 16px rgba(126,69,94,.22),
        0 0 12px rgba(255,255,255,.94) inset,
        0 0 9px rgba(255,235,244,.74) !important;
}

body:not(.cast-detail-page) .princess-home #concept .premium-sparkles{
    z-index:4 !important;
    background:
        radial-gradient(circle at 80% 20%,rgba(255,255,255,.98) 0 1px,rgba(255,255,255,.44) 2px,transparent 4px),
        radial-gradient(circle at 18% 80%,rgba(230,188,102,.72) 0 1px,rgba(255,255,255,.32) 2px,transparent 4px) !important;
    opacity:.9 !important;
}

@media(max-width:768px){
    body:not(.cast-detail-page) .princess-home #concept.premium-card-concept{
        transform:translateY(-2px) !important;
        box-shadow:
            0 17px 34px rgba(111,61,85,.18),
            0 7px 17px rgba(191,139,47,.1),
            0 2px 0 rgba(255,255,255,.94) inset,
            0 0 0 1px rgba(255,255,255,.64) inset,
            0 0 22px rgba(255,255,255,.38) inset !important;
    }

    body:not(.cast-detail-page) .princess-home #concept.premium-card-concept::before{
        inset:8px !important;
        border-radius:17px !important;
    }

    body:not(.cast-detail-page) .princess-home #concept.premium-card-concept::after{
        right:10px !important;
        left:10px !important;
        height:30% !important;
    }

    body:not(.cast-detail-page) .princess-home #concept .premium-jewel{
        right:13px !important;
        bottom:13px !important;
        width:22px !important;
        height:22px !important;
    }
}

/* Ver9.0.9 Cast List cards — Today's Cast glass luxury */
body:not(.cast-detail-page) .princess-home #cast-list .cast-card.public-cast-card{
    position:relative !important;
    isolation:isolate !important;
    overflow:hidden !important;
    border:1.5px solid rgba(211,165,76,.76) !important;
    border-radius:22px !important;
    background:
        linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,.12) 34%,transparent 54%),
        radial-gradient(circle at 88% 12%,rgba(255,219,238,.5) 0 8%,transparent 28%),
        linear-gradient(145deg,rgba(255,255,255,.84),rgba(255,232,245,.7) 54%,rgba(255,251,253,.88)) !important;
    box-shadow:
        0 17px 34px rgba(176,64,120,.17),
        0 2px 0 rgba(255,255,255,.96) inset,
        0 0 24px rgba(255,226,241,.4) inset !important;
    -webkit-backdrop-filter:blur(12px) saturate(112%) !important;
    backdrop-filter:blur(12px) saturate(112%) !important;
    transform:translateY(0) !important;
    transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .cast-card.public-cast-card::before{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    inset:7px !important;
    z-index:9 !important;
    border:1px solid rgba(218,174,86,.46) !important;
    border-radius:16px !important;
    background:transparent !important;
    box-shadow:0 0 0 1px rgba(255,255,255,.58),0 0 14px rgba(255,255,255,.32) inset !important;
    pointer-events:none !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .cast-card.public-cast-card::after{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    top:0 !important;
    right:0 !important;
    bottom:auto !important;
    left:0 !important;
    z-index:4 !important;
    width:100% !important;
    height:36% !important;
    border-radius:22px 22px 48% 48% / 22px 22px 20px 20px !important;
    background:linear-gradient(180deg,rgba(255,255,255,.4),rgba(255,255,255,.12) 62%,transparent) !important;
    box-shadow:0 1px 0 rgba(255,255,255,.92) inset !important;
    transform:none !important;
    pointer-events:none !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-photo{
    position:relative !important;
    overflow:hidden !important;
    border-bottom:1px solid rgba(211,165,76,.5) !important;
    background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(255,225,241,.74)) !important;
    box-shadow:0 10px 22px rgba(176,64,120,.12),0 0 18px rgba(255,255,255,.55) inset !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-image{
    object-fit:cover !important;
    object-position:center top !important;
    transform:scale(1.17) !important;
    transform-origin:center top !important;
    filter:saturate(1.03) contrast(1.01) !important;
    transition:transform .45s ease,filter .35s ease !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .cast-card-no-image.public-cast-image{
    transform:none !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-info,
body:not(.cast-detail-page) .princess-home #cast-list .cast-card:has(.public-cast-badges) .public-cast-info{
    padding:18px 14px 20px !important;
    background:
        linear-gradient(180deg,rgba(255,255,255,.52),rgba(255,255,255,.15) 46%,transparent),
        rgba(255,247,251,.28) !important;
    -webkit-backdrop-filter:blur(10px) saturate(108%) !important;
    backdrop-filter:blur(10px) saturate(108%) !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-info h3{
    position:relative !important;
    padding-bottom:9px !important;
    color:#6f3653 !important;
    font-family:"Cormorant Garamond","Noto Serif JP",serif !important;
    font-weight:700 !important;
    letter-spacing:.05em !important;
    text-shadow:0 1px 0 rgba(255,255,255,.92) !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-info h3::after{
    content:"" !important;
    display:block !important;
    width:52% !important;
    max-width:92px !important;
    height:1px !important;
    margin:8px auto 0 !important;
    background:linear-gradient(90deg,transparent,rgba(201,151,58,.92) 18%,rgba(255,232,173,.96) 50%,rgba(201,151,58,.92) 82%,transparent) !important;
    box-shadow:0 1px 4px rgba(207,166,80,.28) !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges,
body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges.cast-badge-layer,
body:not(.cast-detail-page) .princess-home #cast-list .cast-card .public-cast-badges,
body:not(.cast-detail-page) .princess-home #cast-list .cast-card .public-cast-badges.cast-badge-layer{
    top:10px !important;
    right:auto !important;
    bottom:auto !important;
    left:10px !important;
    z-index:12 !important;
    flex-direction:row !important;
    gap:5px !important;
    overflow:visible !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges .premium-cast-badge{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:39px !important;
    min-width:39px !important;
    height:39px !important;
    padding:2px !important;
    border:1px solid rgba(225,185,103,.74) !important;
    border-radius:12px !important;
    background:linear-gradient(145deg,rgba(255,255,255,.7),rgba(255,227,241,.5)) !important;
    box-shadow:0 7px 14px rgba(112,61,86,.18),0 1px 0 rgba(255,255,255,.95) inset,0 0 9px rgba(255,243,248,.72) inset !important;
    -webkit-backdrop-filter:blur(7px) saturate(112%) !important;
    backdrop-filter:blur(7px) saturate(112%) !important;
    transform:none !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-new,
body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-recommended{
    width:35px !important;
    min-width:35px !important;
    max-width:35px !important;
    height:35px !important;
    margin:0 !important;
    border-radius:9px !important;
    opacity:.88 !important;
    filter:saturate(1.08) brightness(1.05) drop-shadow(0 2px 4px rgba(99,54,77,.22)) !important;
    transform:none !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-profile-link,
body:not(.cast-detail-page) .princess-home #cast-list .cast-card .reserve-btn.public-profile-link{
    position:relative !important;
    overflow:hidden !important;
    border:1px solid rgba(205,156,65,.78) !important;
    background:
        linear-gradient(180deg,rgba(255,255,255,.74),rgba(255,255,255,.25) 48%,rgba(255,223,239,.46)),
        rgba(255,247,251,.5) !important;
    color:#9d4774 !important;
    box-shadow:0 9px 20px rgba(155,73,114,.15),0 1px 0 rgba(255,255,255,.94) inset,0 0 12px rgba(255,255,255,.5) inset !important;
    -webkit-backdrop-filter:blur(10px) saturate(112%) !important;
    backdrop-filter:blur(10px) saturate(112%) !important;
    text-shadow:0 1px 0 rgba(255,255,255,.86) !important;
    transition:border-color .28s ease,box-shadow .28s ease,color .28s ease,transform .28s ease !important;
}

@media(hover:hover) and (pointer:fine){
    body:not(.cast-detail-page) .princess-home #cast-list .cast-card.public-cast-card:hover{
        transform:translateY(-4px) !important;
        border-color:rgba(225,181,88,.96) !important;
        box-shadow:
            0 24px 44px rgba(176,64,120,.23),
            0 0 0 1px rgba(255,232,173,.24),
            0 2px 0 rgba(255,255,255,.98) inset,
            0 0 28px rgba(255,226,241,.5) inset !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .cast-card.public-cast-card:hover .public-cast-image{
        transform:scale(1.2) !important;
        filter:saturate(1.05) contrast(1.015) !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .cast-card.public-cast-card:hover .cast-card-no-image.public-cast-image{
        transform:none !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-profile-link:hover,
    body:not(.cast-detail-page) .princess-home #cast-list .public-profile-link:focus-visible{
        border-color:rgba(225,181,88,.98) !important;
        color:#87345f !important;
        box-shadow:0 11px 24px rgba(155,73,114,.2),0 0 18px rgba(255,226,151,.52),0 1px 0 rgba(255,255,255,.96) inset !important;
        transform:translateY(-1px) !important;
    }
}

@media(max-width:768px){
    body:not(.cast-detail-page) .princess-home #cast-list .cast-card.public-cast-card::before{
        inset:6px !important;
        border-radius:15px !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-info,
    body:not(.cast-detail-page) .princess-home #cast-list .cast-card:has(.public-cast-badges) .public-cast-info{
        padding:14px 12px 15px !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-info h3::after{
        width:46% !important;
        margin-right:auto !important;
        margin-left:0 !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges.cast-badge-layer,
    body:not(.cast-detail-page) .princess-home #cast-list .cast-card .public-cast-badges{
        top:8px !important;
        left:8px !important;
        gap:4px !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges .premium-cast-badge{
        width:33px !important;
        min-width:33px !important;
        height:33px !important;
        border-radius:10px !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-new,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-recommended{
        width:29px !important;
        min-width:29px !important;
        max-width:29px !important;
        height:29px !important;
        border-radius:7px !important;
    }
}
/* Ver9.1.0 Princess Pick Up */
body:not(.cast-detail-page) .princess-home #princess-pickup{
    position:relative !important;
    isolation:isolate !important;
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    padding:10px !important;
    overflow:hidden !important;
    border:1.5px solid rgba(208,158,65,.9) !important;
    border-radius:30px !important;
    background:
        radial-gradient(circle at 12% 9%,rgba(255,255,255,.94) 0 7%,transparent 25%),
        radial-gradient(circle at 88% 17%,rgba(255,210,233,.52) 0 9%,transparent 28%),
        linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.13) 35%,transparent 58%),
        linear-gradient(145deg,rgba(255,255,255,.85),rgba(255,225,241,.75) 52%,rgba(255,249,252,.9)) !important;
    box-shadow:
        0 24px 48px rgba(176,64,120,.2),
        0 2px 0 rgba(255,255,255,.96) inset,
        0 0 36px rgba(255,207,231,.48) inset,
        0 0 0 7px rgba(255,246,251,.3) inset !important;
    -webkit-backdrop-filter:blur(14px) saturate(116%) !important;
    backdrop-filter:blur(14px) saturate(116%) !important;
    transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease !important;
}

body:not(.cast-detail-page) .princess-home #princess-pickup::before{
    content:"" !important;
    position:absolute !important;
    inset:15px !important;
    z-index:3 !important;
    border:1px solid rgba(218,174,86,.58) !important;
    border-radius:22px !important;
    background:
        repeating-linear-gradient(45deg,rgba(202,154,67,.045) 0 1px,transparent 1px 20px),
        repeating-linear-gradient(-45deg,rgba(202,154,67,.045) 0 1px,transparent 1px 20px) !important;
    box-shadow:0 0 0 1px rgba(255,255,255,.68),0 0 20px rgba(255,255,255,.4) inset !important;
    pointer-events:none !important;
}

body:not(.cast-detail-page) .princess-home #princess-pickup::after{
    content:"" !important;
    position:absolute !important;
    top:1px !important;
    right:12px !important;
    left:12px !important;
    z-index:2 !important;
    height:34% !important;
    border-radius:28px 28px 50% 50% !important;
    background:linear-gradient(180deg,rgba(255,255,255,.52),rgba(255,255,255,.14) 58%,transparent) !important;
    box-shadow:0 1px 0 rgba(255,255,255,.96) inset !important;
    pointer-events:none !important;
}

body:not(.cast-detail-page) .princess-pickup-shell{
    position:relative !important;
    z-index:4 !important;
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    padding:20px 18px 18px !important;
}

body:not(.cast-detail-page) .princess-pickup-decoration{
    position:absolute !important;
    inset:0 !important;
    z-index:0 !important;
    overflow:hidden !important;
    pointer-events:none !important;
}

body:not(.cast-detail-page) .princess-pickup-crown{
    position:absolute !important;
    top:-4px !important;
    left:50% !important;
    color:rgba(205,158,68,.36) !important;
    font-size:50px !important;
    line-height:1 !important;
    text-shadow:0 0 12px rgba(255,255,255,.95),0 4px 12px rgba(164,79,120,.14) !important;
    transform:translateX(-50%) !important;
}

body:not(.cast-detail-page) .princess-pickup-jewel{
    position:absolute !important;
    width:13px !important;
    height:13px !important;
    border:1px solid rgba(255,255,255,.94) !important;
    border-radius:4px !important;
    background:linear-gradient(135deg,#fff,#f7dca2 42%,#c99638) !important;
    box-shadow:0 0 12px rgba(255,235,174,.68),0 4px 9px rgba(151,70,111,.16) !important;
    transform:rotate(45deg) !important;
}

body:not(.cast-detail-page) .princess-pickup-jewel-left{top:27px !important;left:22px !important;}
body:not(.cast-detail-page) .princess-pickup-jewel-right{right:22px !important;bottom:26px !important;}

body:not(.cast-detail-page) .princess-pickup-header{
    position:relative !important;
    z-index:1 !important;
    flex:0 0 auto !important;
    margin-bottom:15px !important;
    text-align:center !important;
}

body:not(.cast-detail-page) .princess-pickup-eyebrow{
    margin:0 0 4px !important;
    color:#c7983f !important;
    font-family:"Cormorant Garamond",serif !important;
    font-size:21px !important;
    font-weight:700 !important;
    letter-spacing:.08em !important;
    text-shadow:0 1px 0 #fff,0 0 12px rgba(255,255,255,.82) !important;
}

body:not(.cast-detail-page) .princess-pickup-header h2{
    margin:0 !important;
    color:#713b57 !important;
    font-family:"Cormorant Garamond","Noto Serif JP",serif !important;
    font-size:20px !important;
    font-weight:700 !important;
    letter-spacing:.05em !important;
    line-height:1.35 !important;
    text-shadow:0 1px 0 rgba(255,255,255,.94) !important;
}

body:not(.cast-detail-page) .princess-pickup-divider{
    display:block !important;
    width:92px !important;
    height:1px !important;
    margin:10px auto 0 !important;
    background:linear-gradient(90deg,transparent,#c99638 22%,#f4dda5 50%,#c99638 78%,transparent) !important;
    box-shadow:0 1px 5px rgba(207,166,80,.32) !important;
}

body:not(.cast-detail-page) .princess-pickup-content{
    position:relative !important;
    z-index:1 !important;
    display:flex !important;
    flex:1 1 auto !important;
    flex-direction:column !important;
    min-height:0 !important;
}

body:not(.cast-detail-page) .princess-pickup-photo{
    position:relative !important;
    flex:1 1 auto !important;
    width:100% !important;
    min-height:290px !important;
    max-height:390px !important;
    overflow:hidden !important;
    border:1.5px solid rgba(211,165,76,.72) !important;
    border-radius:22px !important;
    outline:1px solid rgba(255,255,255,.8) !important;
    outline-offset:-6px !important;
    background:linear-gradient(145deg,#fff8fc,#ffe6f2) !important;
    box-shadow:0 15px 29px rgba(176,64,120,.18),0 0 20px rgba(255,255,255,.62) inset !important;
}

body:not(.cast-detail-page) .princess-pickup-image,
body:not(.cast-detail-page) .princess-pickup-no-image{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center top !important;
}

body:not(.cast-detail-page) .princess-pickup-no-image{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:290px !important;
    color:#bb7799 !important;
    font-weight:700 !important;
}

body:not(.cast-detail-page) .princess-pickup-photo-glow{
    position:absolute !important;
    inset:0 !important;
    z-index:2 !important;
    background:linear-gradient(180deg,rgba(255,255,255,.32),transparent 28%,transparent 72%,rgba(255,230,243,.16)) !important;
    box-shadow:0 1px 0 rgba(255,255,255,.94) inset !important;
    pointer-events:none !important;
}

body:not(.cast-detail-page) .princess-pickup-profile{
    display:flex !important;
    flex:0 0 auto !important;
    flex-direction:column !important;
    align-items:center !important;
    padding:15px 6px 0 !important;
    text-align:center !important;
}

body:not(.cast-detail-page) .princess-pickup-profile h3{
    margin:0 !important;
    color:#6d3552 !important;
    font-family:"Cormorant Garamond","Noto Serif JP",serif !important;
    font-size:30px !important;
    font-weight:700 !important;
    letter-spacing:.07em !important;
    line-height:1.15 !important;
    text-shadow:0 1px 0 #fff,0 0 12px rgba(255,255,255,.74) !important;
}

body:not(.cast-detail-page) .princess-pickup-name-line{
    display:block !important;
    width:82px !important;
    height:1px !important;
    margin:9px auto 8px !important;
    background:linear-gradient(90deg,transparent,#c58f31 18%,#f6e1ab 50%,#c58f31 82%,transparent) !important;
    box-shadow:0 1px 4px rgba(207,166,80,.3) !important;
}

body:not(.cast-detail-page) .princess-pickup-comment{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    overflow:hidden !important;
    color:#86536c !important;
    font-size:13px !important;
    line-height:1.5 !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}

body:not(.cast-detail-page) .princess-pickup-meta{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:9px !important;
    margin:7px 0 11px !important;
    color:#8f6076 !important;
    font-size:13px !important;
    font-weight:700 !important;
}

body:not(.cast-detail-page) .princess-pickup-meta span:nth-child(2){
    color:#c99c43 !important;
    font-size:10px !important;
}

body:not(.cast-detail-page) .princess-pickup-button{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:min(100%,210px) !important;
    min-height:40px !important;
    padding:10px 20px !important;
    overflow:hidden !important;
    border:1px solid rgba(205,156,65,.82) !important;
    border-radius:999px !important;
    background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(255,255,255,.24) 48%,rgba(255,220,238,.48)),rgba(255,247,251,.54) !important;
    color:#95436e !important;
    font-size:13px !important;
    font-weight:700 !important;
    letter-spacing:.04em !important;
    text-decoration:none !important;
    text-shadow:0 1px 0 rgba(255,255,255,.9) !important;
    box-shadow:0 9px 20px rgba(155,73,114,.16),0 1px 0 rgba(255,255,255,.96) inset,0 0 14px rgba(255,255,255,.54) inset !important;
    -webkit-backdrop-filter:blur(10px) saturate(112%) !important;
    backdrop-filter:blur(10px) saturate(112%) !important;
    transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease !important;
}

body:not(.cast-detail-page) .princess-pickup-loading,
body:not(.cast-detail-page) .princess-pickup-empty{
    margin:auto !important;
    color:#9a607c !important;
    text-align:center !important;
}

@media(min-width:769px){
    body:not(.cast-detail-page) .princess-home #princess-pickup{
        height:auto !important;
        min-height:510px !important;
        max-height:none !important;
        margin:0 !important;
        padding:12px !important;
        grid-column:1 / -1 !important;
        grid-row:1 !important;
    }

    body:not(.cast-detail-page) .princess-pickup-shell{
        min-height:486px !important;
        padding:26px 28px 28px !important;
    }

    body:not(.cast-detail-page) .princess-pickup-header{
        margin-bottom:18px !important;
    }

    body:not(.cast-detail-page) .princess-pickup-content{
        display:grid !important;
        grid-template-columns:minmax(0,43fr) minmax(0,57fr) !important;
        align-items:stretch !important;
        gap:clamp(26px,3.2vw,52px) !important;
        width:100% !important;
    }

    body:not(.cast-detail-page) .princess-pickup-photo{
        width:100% !important;
        height:100% !important;
        min-height:370px !important;
        max-height:none !important;
    }

    body:not(.cast-detail-page) .princess-pickup-profile{
        align-items:flex-start !important;
        justify-content:center !important;
        padding:24px clamp(18px,3vw,48px) 24px 4px !important;
        text-align:left !important;
    }

    body:not(.cast-detail-page) .princess-pickup-profile h3{
        font-size:clamp(38px,3.4vw,52px) !important;
        line-height:1.1 !important;
    }

    body:not(.cast-detail-page) .princess-pickup-name-line{
        width:112px !important;
        margin:13px 0 12px !important;
    }

    body:not(.cast-detail-page) .princess-pickup-comment{
        font-size:15px !important;
        line-height:1.6 !important;
        text-align:left !important;
    }

    body:not(.cast-detail-page) .princess-pickup-meta{
        justify-content:flex-start !important;
        gap:12px !important;
        margin:12px 0 20px !important;
        font-size:15px !important;
    }

    body:not(.cast-detail-page) .princess-pickup-button{
        align-self:flex-start !important;
        width:min(100%,230px) !important;
        min-height:46px !important;
        font-size:14px !important;
    }

    body:not(.cast-detail-page) .princess-home .home-top-card-row{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        width:100% !important;
        max-width:none !important;
        margin:0 0 var(--v11-gap,34px) !important;
        gap:clamp(24px,2.4vw,38px) !important;
    }

    body:not(.cast-detail-page) .princess-home .home-top-card-row > #cast{
        grid-column:1 !important;
        grid-row:2 !important;
    }

    body:not(.cast-detail-page) .princess-home .home-top-card-row > .news{
        grid-column:2 !important;
        grid-row:2 !important;
    }

    body:not(.cast-detail-page) .princess-home .home-top-card-row > #concept{
        grid-column:3 !important;
        grid-row:2 !important;
    }
}

@media(hover:hover) and (pointer:fine){
    body:not(.cast-detail-page) .princess-home #princess-pickup:hover{
        transform:translateY(-3px) !important;
        border-color:rgba(225,181,88,.98) !important;
        box-shadow:0 29px 56px rgba(176,64,120,.23),0 0 0 1px rgba(255,232,173,.24),0 2px 0 rgba(255,255,255,.98) inset,0 0 40px rgba(255,207,231,.56) inset !important;
    }

    body:not(.cast-detail-page) .princess-pickup-button:hover,
    body:not(.cast-detail-page) .princess-pickup-button:focus-visible{
        border-color:rgba(225,181,88,.98) !important;
        box-shadow:0 11px 24px rgba(155,73,114,.21),0 0 19px rgba(255,226,151,.54),0 1px 0 rgba(255,255,255,.98) inset !important;
        transform:translateY(-1px) !important;
    }
}

@media(max-width:768px){
    body:not(.cast-detail-page) .princess-home #princess-pickup{
        height:auto !important;
        min-height:0 !important;
        margin-bottom:20px !important;
        padding:9px !important;
        border-radius:25px !important;
    }

    body:not(.cast-detail-page) .princess-home #princess-pickup::before{
        inset:11px !important;
        border-radius:19px !important;
    }

    body:not(.cast-detail-page) .princess-pickup-shell{
        padding:21px 15px 18px !important;
    }

    body:not(.cast-detail-page) .princess-pickup-header{
        margin-bottom:14px !important;
    }

    body:not(.cast-detail-page) .princess-pickup-photo{
        flex:none !important;
        width:min(100%,380px) !important;
        min-height:0 !important;
        max-height:none !important;
        margin:0 auto !important;
        aspect-ratio:4/5 !important;
    }

    body:not(.cast-detail-page) .princess-pickup-profile{
        padding:16px 8px 2px !important;
    }

    body:not(.cast-detail-page) .princess-pickup-profile h3{
        font-size:28px !important;
    }
}

@media(prefers-reduced-motion:reduce){
    body:not(.cast-detail-page) .princess-home #princess-pickup,
    body:not(.cast-detail-page) .princess-pickup-button{
        transition:none !important;
    }
}
/* Ver9.1.2 Princess Pick Up final polish */
body:not(.cast-detail-page) .princess-pickup-decoration::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    background:
        radial-gradient(circle at 11% 24%,rgba(255,255,255,.92) 0 1px,rgba(255,255,255,.28) 2px,transparent 4px),
        radial-gradient(circle at 84% 17%,rgba(247,218,151,.74) 0 1px,rgba(255,255,255,.24) 2px,transparent 4px),
        radial-gradient(circle at 91% 72%,rgba(255,255,255,.84) 0 1px,rgba(255,220,237,.25) 2px,transparent 4px),
        radial-gradient(circle at 18% 86%,rgba(223,180,92,.56) 0 1px,rgba(255,255,255,.2) 2px,transparent 4px) !important;
    opacity:.72 !important;
}

body:not(.cast-detail-page) .princess-pickup-crown{
    top:-7px !important;
    font-size:56px !important;
    color:#cfa04b !important;
    background:linear-gradient(180deg,#fff4c9 0%,#d6a74d 42%,#a87527 72%,#f3d995 100%) !important;
    -webkit-background-clip:text !important;
    background-clip:text !important;
    -webkit-text-fill-color:transparent !important;
    text-shadow:none !important;
    filter:drop-shadow(0 0 7px rgba(255,245,201,.74)) drop-shadow(0 4px 7px rgba(152,87,25,.22)) !important;
}

body:not(.cast-detail-page) .princess-pickup-eyebrow{
    font-size:25px !important;
    letter-spacing:.1em !important;
    text-shadow:0 1px 0 #fff,0 0 14px rgba(255,255,255,.94),0 3px 8px rgba(154,98,38,.12) !important;
}

body:not(.cast-detail-page) .princess-pickup-header h2{
    font-size:21px !important;
}

body:not(.cast-detail-page) .princess-pickup-photo::before{
    content:"" !important;
    position:absolute !important;
    top:50% !important;
    left:50% !important;
    z-index:1 !important;
    width:72% !important;
    aspect-ratio:1 !important;
    border-radius:50% !important;
    background:radial-gradient(circle,rgba(255,255,255,.34) 0%,rgba(255,225,239,.2) 38%,rgba(255,241,196,.08) 58%,transparent 72%) !important;
    filter:blur(15px) !important;
    mix-blend-mode:screen !important;
    opacity:.58 !important;
    transform:translate(-50%,-52%) !important;
    pointer-events:none !important;
}

body:not(.cast-detail-page) .princess-pickup-image{
    position:relative !important;
    z-index:0 !important;
    transform:scale(1.035) !important;
    transform-origin:center top !important;
}

body:not(.cast-detail-page) .princess-pickup-name-line{
    width:164px !important;
    height:1px !important;
    margin:14px auto 13px !important;
    background:linear-gradient(90deg,transparent,#b9832c 12%,#f8e7ba 50%,#b9832c 88%,transparent) !important;
}

body:not(.cast-detail-page) .princess-pickup-comment{
    display:-webkit-box !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:normal !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;
    line-clamp:2 !important;
}

body:not(.cast-detail-page) .princess-pickup-details{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px 10px !important;
    width:100% !important;
    margin:14px 0 20px !important;
}

body:not(.cast-detail-page) .princess-pickup-details > div{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    align-items:center !important;
    gap:10px !important;
    min-width:0 !important;
    min-height:40px !important;
    padding:8px 11px !important;
    border:1px solid rgba(215,171,82,.4) !important;
    border-radius:13px !important;
    background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,244,250,.28)) !important;
    box-shadow:0 6px 14px rgba(145,72,108,.08),0 1px 0 rgba(255,255,255,.9) inset !important;
    -webkit-backdrop-filter:blur(8px) saturate(108%) !important;
    backdrop-filter:blur(8px) saturate(108%) !important;
}

body:not(.cast-detail-page) .princess-pickup-details dt,
body:not(.cast-detail-page) .princess-pickup-details dd{
    min-width:0 !important;
    margin:0 !important;
    line-height:1.35 !important;
}

body:not(.cast-detail-page) .princess-pickup-details dt{
    color:#b07a35 !important;
    font-size:12px !important;
    font-weight:700 !important;
    white-space:nowrap !important;
}

body:not(.cast-detail-page) .princess-pickup-details dd{
    overflow:hidden !important;
    color:#78465e !important;
    font-size:13px !important;
    font-weight:700 !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}

body:not(.cast-detail-page) .princess-pickup-button{
    min-height:48px !important;
    border-color:rgba(203,151,55,.88) !important;
    background:
        linear-gradient(110deg,rgba(255,255,255,.66),rgba(255,255,255,.18) 32%,rgba(255,230,242,.38) 68%,rgba(255,255,255,.48)),
        rgba(255,247,251,.58) !important;
    color:#8b3d67 !important;
    font-size:15px !important;
    box-shadow:0 11px 23px rgba(155,73,114,.18),0 1px 0 rgba(255,255,255,.98) inset,0 0 16px rgba(255,255,255,.6) inset !important;
}

body:not(.cast-detail-page) .princess-pickup.is-princess-pickup-ready .princess-pickup-photo,
body:not(.cast-detail-page) .princess-pickup.is-princess-pickup-ready .princess-pickup-profile h3,
body:not(.cast-detail-page) .princess-pickup.is-princess-pickup-ready .princess-pickup-button{
    opacity:0 !important;
    transform:translateY(15px) !important;
    transition:opacity .7s ease,transform .7s cubic-bezier(.22,.8,.24,1) !important;
}

body:not(.cast-detail-page) .princess-pickup.is-princess-pickup-ready .princess-pickup-profile h3{
    transition-delay:.12s !important;
}

body:not(.cast-detail-page) .princess-pickup.is-princess-pickup-ready .princess-pickup-button{
    transition-delay:.24s !important;
}

body:not(.cast-detail-page) .princess-pickup.is-princess-pickup-visible .princess-pickup-photo,
body:not(.cast-detail-page) .princess-pickup.is-princess-pickup-visible .princess-pickup-profile h3,
body:not(.cast-detail-page) .princess-pickup.is-princess-pickup-visible .princess-pickup-button{
    opacity:1 !important;
    transform:translateY(0) !important;
}

@media(min-width:769px){
    body:not(.cast-detail-page) .princess-home #princess-pickup{
        min-height:535px !important;
        padding:9px !important;
    }

    body:not(.cast-detail-page) .princess-pickup-shell{
        min-height:515px !important;
        padding:22px 22px 23px !important;
    }

    body:not(.cast-detail-page) .princess-pickup-header{
        margin-bottom:15px !important;
    }

    body:not(.cast-detail-page) .princess-pickup-content{
        grid-template-columns:minmax(0,49fr) minmax(0,51fr) !important;
        gap:clamp(20px,2.4vw,38px) !important;
    }

    body:not(.cast-detail-page) .princess-pickup-photo{
        min-height:405px !important;
    }

    body:not(.cast-detail-page) .princess-pickup-profile{
        padding:18px clamp(14px,2.4vw,38px) 18px 2px !important;
    }

    body:not(.cast-detail-page) .princess-pickup-name-line{
        width:224px !important;
        margin:17px 0 15px !important;
    }

    body:not(.cast-detail-page) .princess-pickup-comment{
        max-width:620px !important;
        font-size:15px !important;
    }

    body:not(.cast-detail-page) .princess-pickup-button{
        width:min(100%,250px) !important;
    }
}

@media(hover:hover) and (pointer:fine){
    body:not(.cast-detail-page) .princess-pickup-button:hover,
    body:not(.cast-detail-page) .princess-pickup-button:focus-visible{
        transform:translateY(-2px) !important;
        box-shadow:0 14px 27px rgba(155,73,114,.22),0 0 20px rgba(255,224,145,.56),0 1px 0 rgba(255,255,255,.98) inset !important;
    }
}

@media(max-width:768px){
    body:not(.cast-detail-page) .princess-home #princess-pickup{
        padding:7px !important;
    }

    body:not(.cast-detail-page) .princess-pickup-shell{
        padding:19px 12px 16px !important;
    }

    body:not(.cast-detail-page) .princess-pickup-photo{
        width:min(100%,420px) !important;
    }

    body:not(.cast-detail-page) .princess-pickup-name-line{
        width:164px !important;
    }

    body:not(.cast-detail-page) .princess-pickup-details{
        margin:13px 0 18px !important;
    }
}

@media(prefers-reduced-motion:reduce){
    body:not(.cast-detail-page) .princess-pickup.is-princess-pickup-ready .princess-pickup-photo,
    body:not(.cast-detail-page) .princess-pickup.is-princess-pickup-ready .princess-pickup-profile h3,
    body:not(.cast-detail-page) .princess-pickup.is-princess-pickup-ready .princess-pickup-button{
        opacity:1 !important;
        transform:none !important;
        transition:none !important;
    }
}
/* =========================================================
   Chou Chou Ver10 — Homepage Design System
   ========================================================= */
body:not(.cast-detail-page) .princess-home{
    --v10-gold:var(--premium-gold);
    --v10-gold-light:var(--premium-gold);
    --v10-gold-line:rgba(var(--premium-gold-rgb),.58);
    --v10-ink:#6f3b56;
    --v10-muted:#946379;
    --v10-card-radius:var(--premium-radius-card);
    --v10-inner-radius:var(--premium-radius-image);
    --v10-card-padding:var(--premium-space-card);
    --v10-button-height:var(--premium-button-height);
    --v10-glass:
        linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,.12) 34%,transparent 58%),
        linear-gradient(145deg,rgba(255,255,255,.86),rgba(255,229,243,.74) 52%,rgba(255,250,253,.9));
    --v10-card-shadow:var(--premium-shadow);
}

/* One card language: radius, glass, gold frame and shadow. */
body:not(.cast-detail-page) .princess-home :is(
    .premium-section-card,
    #cast.v9-today-card,
    #princess-pickup
){
    border:1.5px solid var(--v10-gold-line) !important;
    border-radius:var(--v10-card-radius) !important;
    background:var(--v10-glass) !important;
    box-shadow:var(--v10-card-shadow) !important;
    -webkit-backdrop-filter:blur(13px) saturate(112%) !important;
    backdrop-filter:blur(13px) saturate(112%) !important;
}

body:not(.cast-detail-page) .princess-home .premium-section-card{
    padding:var(--v10-card-padding) 24px 24px !important;
}

body:not(.cast-detail-page) .princess-home :is(#concept,#recruit).premium-section-card{
    padding:12px !important;
}

body:not(.cast-detail-page) .princess-home :is(
    .public-news-card,
    .system-price-card,
    .cast-card.public-cast-card,
    .public-gallery-item,
    .access-box,
    .princess-info-list,
    #cast .v9-cast-item
){
    border:1px solid rgba(205,158,68,.46) !important;
    border-radius:var(--v10-inner-radius) !important;
    background:
        linear-gradient(180deg,rgba(255,255,255,.54),rgba(255,244,250,.28)),
        rgba(255,255,255,.42) !important;
    box-shadow:0 11px 24px rgba(156,70,112,.11),0 1px 0 rgba(255,255,255,.9) inset !important;
    -webkit-backdrop-filter:blur(9px) saturate(108%) !important;
    backdrop-filter:blur(9px) saturate(108%) !important;
}

/* Unified title system: tiara, subtitle, title and gold rule. */
body:not(.cast-detail-page) .princess-home :is(
    #cast .v9-today-header,
    #princess-pickup .princess-pickup-header,
    .premium-section-card .section-title
){
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:0 !important;
    width:100% !important;
    min-height:108px !important;
    margin:0 0 22px !important;
    padding:0 !important;
    text-align:center !important;
}

body:not(.cast-detail-page) .princess-home :is(
    #cast .v9-today-header,
    #princess-pickup .princess-pickup-header,
    .premium-section-card .section-title
)::before{
    content:"♕" !important;
    position:static !important;
    display:block !important;
    width:auto !important;
    height:22px !important;
    margin:0 0 5px !important;
    color:var(--v10-gold) !important;
    font-family:"Cormorant Garamond",serif !important;
    font-size:23px !important;
    line-height:22px !important;
    background:none !important;
    border:0 !important;
    box-shadow:none !important;
    text-shadow:0 1px 0 #fff,0 0 10px rgba(255,239,188,.68) !important;
    transform:none !important;
}

body:not(.cast-detail-page) .princess-home :is(
    #cast .v9-today-eyebrow,
    #princess-pickup .princess-pickup-eyebrow,
    .premium-section-card .section-title > span
){
    order:1 !important;
    margin:0 0 4px !important;
    color:var(--v10-gold) !important;
    font-family:"Cormorant Garamond",serif !important;
    font-size:23px !important;
    font-weight:700 !important;
    letter-spacing:.09em !important;
    line-height:1.1 !important;
    text-shadow:0 1px 0 #fff,0 0 12px rgba(255,255,255,.82) !important;
}

body:not(.cast-detail-page) .princess-home :is(
    #cast .v9-today-header h2,
    #princess-pickup .princess-pickup-header h2,
    .premium-section-card .section-title > h2
){
    order:2 !important;
    margin:0 !important;
    color:var(--v10-ink) !important;
    font-family:"Cormorant Garamond","Noto Serif JP",serif !important;
    font-size:21px !important;
    font-weight:700 !important;
    letter-spacing:.055em !important;
    line-height:1.35 !important;
    text-align:center !important;
    text-shadow:0 1px 0 rgba(255,255,255,.94) !important;
}

body:not(.cast-detail-page) .princess-home :is(
    #cast .v9-today-header,
    #princess-pickup .princess-pickup-header,
    .premium-section-card .section-title
)::after{
    content:"" !important;
    position:static !important;
    order:3 !important;
    display:block !important;
    width:112px !important;
    height:1px !important;
    margin:11px auto 0 !important;
    border:0 !important;
    background:linear-gradient(90deg,transparent,var(--v10-gold) 20%,var(--v10-gold-light) 50%,var(--v10-gold) 80%,transparent) !important;
    box-shadow:0 1px 4px rgba(202,155,67,.24) !important;
    transform:none !important;
}

body:not(.cast-detail-page) .princess-home :is(
    #cast .v9-today-divider,
    #princess-pickup .princess-pickup-divider,
    .premium-section-card .section-title h2::after
){
    display:none !important;
    content:none !important;
}

body:not(.cast-detail-page) .princess-home :is(#cast .v9-tiara,#princess-pickup .princess-pickup-crown){
    display:none !important;
}

/* Reduce the icon vocabulary to tiaras, jewels and restrained line icons. */
body:not(.cast-detail-page) .princess-home :is(.premium-ribbon,.premium-sparkles,.v9-ribbon){
    display:none !important;
}

body:not(.cast-detail-page) .princess-home :is(.v9-jewel-bl,.v9-jewel-br){
    display:none !important;
}

body:not(.cast-detail-page) .princess-home .premium-jewel{
    width:24px !important;
    height:24px !important;
    opacity:.78 !important;
}

body:not(.cast-detail-page) .princess-home :is(
    .premium-card-today,
    .premium-card-news,
    .premium-card-concept,
    .premium-card-system,
    .premium-card-cast,
    .premium-card-gallery,
    .premium-card-access,
    .premium-card-instagram,
    .premium-card-recruit
)::after{
    content:"" !important;
    color:transparent !important;
    font-size:0 !important;
}

body:not(.cast-detail-page) .princess-home #cast .v9-cast-item::after{
    content:"◇" !important;
    color:rgba(200,154,67,.42) !important;
    font-size:16px !important;
}

/* One button system for every homepage action. */
body:not(.cast-detail-page) .princess-home :is(
    a.reserve-btn,
    button.reserve-btn,
    .v9-cast-button,
    .princess-pickup-button,
    .public-profile-link
){
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:170px !important;
    max-width:100% !important;
    min-height:var(--v10-button-height) !important;
    height:var(--v10-button-height) !important;
    margin-inline:auto !important;
    padding:0 24px !important;
    overflow:hidden !important;
    border:1px solid rgba(203,151,55,.84) !important;
    border-radius:999px !important;
    background:
        linear-gradient(110deg,rgba(255,255,255,.7),rgba(255,255,255,.2) 32%,rgba(255,228,241,.4) 68%,rgba(255,255,255,.5)),
        rgba(255,247,251,.62) !important;
    color:#8c4168 !important;
    font-family:"Noto Serif JP",serif !important;
    font-size:14px !important;
    font-weight:700 !important;
    letter-spacing:.045em !important;
    line-height:1 !important;
    text-align:center !important;
    text-decoration:none !important;
    text-shadow:0 1px 0 rgba(255,255,255,.92) !important;
    box-shadow:0 10px 22px rgba(151,68,109,.16),0 1px 0 rgba(255,255,255,.98) inset,0 0 14px rgba(255,255,255,.56) inset !important;
    -webkit-backdrop-filter:blur(10px) saturate(110%) !important;
    backdrop-filter:blur(10px) saturate(110%) !important;
    transform:translateY(0) !important;
    transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease,color .28s ease !important;
}

@media(hover:hover) and (pointer:fine){
    body:not(.cast-detail-page) .princess-home :is(
        a.reserve-btn,
        button.reserve-btn,
        .v9-cast-button,
        .princess-pickup-button,
        .public-profile-link
    ):hover,
    body:not(.cast-detail-page) .princess-home :is(
        a.reserve-btn,
        button.reserve-btn,
        .v9-cast-button,
        .princess-pickup-button,
        .public-profile-link
    ):focus-visible{
        border-color:rgba(219,174,79,.98) !important;
        color:#7e365e !important;
        box-shadow:0 14px 28px rgba(151,68,109,.21),0 0 18px rgba(255,226,151,.48),0 1px 0 rgba(255,255,255,.98) inset !important;
        transform:translateY(-2px) !important;
    }
}

/* PC rhythm: one 80px vertical cadence from the hero through contact. */
@media(min-width:769px){
    body:not(.cast-detail-page) .princess-home.luxury-home{
        padding-top:80px !important;
        padding-bottom:80px !important;
    }

    body:not(.cast-detail-page) .princess-home > :is(
        .princess-card-grid-top,
        .princess-card-grid-middle,
        .princess-card-grid-bottom
    ){
        margin-bottom:80px !important;
    }

    body:not(.cast-detail-page) .princess-home .home-top-card-row{
        row-gap:80px !important;
    }

    body:not(.cast-detail-page) .princess-home #contact{
        margin-top:0 !important;
        margin-bottom:0 !important;
    }
}

@media(max-width:768px){
    body:not(.cast-detail-page) .princess-home{
        --v10-card-radius:var(--premium-radius-card);
        --v10-inner-radius:var(--premium-radius-image);
        --v10-card-padding:var(--premium-space-card);
        --v10-button-height:var(--premium-button-height);
    }

    body:not(.cast-detail-page) .princess-home .premium-section-card{
        padding:22px 16px 18px !important;
    }

    body:not(.cast-detail-page) .princess-home :is(
        #cast .v9-today-header,
        #princess-pickup .princess-pickup-header,
        .premium-section-card .section-title
    ){
        min-height:101px !important;
        margin-bottom:18px !important;
    }

    body:not(.cast-detail-page) .princess-home :is(
        #cast .v9-today-eyebrow,
        #princess-pickup .princess-pickup-eyebrow,
        .premium-section-card .section-title > span
    ){
        font-size:21px !important;
    }

    body:not(.cast-detail-page) .princess-home :is(
        #cast .v9-today-header h2,
        #princess-pickup .princess-pickup-header h2,
        .premium-section-card .section-title > h2
    ){
        font-size:19px !important;
    }

    body:not(.cast-detail-page) .princess-home :is(
        a.reserve-btn,
        button.reserve-btn,
        .v9-cast-button,
        .princess-pickup-button,
        .public-profile-link
    ){
        min-width:150px !important;
        padding-inline:20px !important;
        font-size:13px !important;
    }
}

@media(prefers-reduced-motion:reduce){
    body:not(.cast-detail-page) .princess-home :is(
        a.reserve-btn,
        button.reserve-btn,
        .v9-cast-button,
        .princess-pickup-button,
        .public-profile-link
    ){
        transition:none !important;
    }
}
/* =========================================================
   Chou Chou Ver10.1 — Cast List brand renewal
   ========================================================= */
body:not(.cast-detail-page) .princess-home #cast-list .all-cast-grid{
    align-items:stretch !important;
    gap:14px !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .cast-card.public-cast-card{
    position:relative !important;
    isolation:isolate !important;
    display:flex !important;
    flex-direction:column !important;
    min-height:0 !important;
    overflow:hidden !important;
    border:1px solid rgba(205,158,68,.52) !important;
    border-radius:var(--v10-inner-radius) !important;
    background:
        linear-gradient(180deg,rgba(255,255,255,.54),rgba(255,244,250,.28)),
        rgba(255,255,255,.42) !important;
    box-shadow:0 11px 24px rgba(156,70,112,.11),0 1px 0 rgba(255,255,255,.9) inset !important;
    -webkit-backdrop-filter:blur(9px) saturate(108%) !important;
    backdrop-filter:blur(9px) saturate(108%) !important;
    transform:translateY(0) !important;
    transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .cast-card.public-cast-card::before,
body:not(.cast-detail-page) .princess-home #cast-list .cast-card.public-cast-card::after{
    content:none !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-photo{
    position:relative !important;
    flex:0 0 auto !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:14/11 !important;
    overflow:hidden !important;
    border:1px solid rgba(205,158,68,.62) !important;
    border-radius:calc(var(--v10-inner-radius) - 1px) calc(var(--v10-inner-radius) - 1px) 14px 14px !important;
    outline:0 !important;
    background:linear-gradient(145deg,#fffafc,#ffe9f3) !important;
    box-shadow:0 10px 20px rgba(156,70,112,.13),0 1px 0 rgba(255,255,255,.92) inset !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-image{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center top !important;
    transform:scale(1.12) !important;
    transform-origin:center top !important;
    filter:saturate(1.03) contrast(1.01) !important;
    transition:transform .38s cubic-bezier(.22,.8,.24,1),filter .28s ease !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .cast-card-no-image.public-cast-image{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    transform:none !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-info,
body:not(.cast-detail-page) .princess-home #cast-list .cast-card:has(.public-cast-badges) .public-cast-info{
    display:flex !important;
    flex:1 1 auto !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    min-width:0 !important;
    padding:14px 16px 16px !important;
    background:linear-gradient(180deg,rgba(255,255,255,.48),rgba(255,248,252,.2)) !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-info h3{
    margin:0 !important;
    padding:0 0 8px !important;
    color:var(--v10-ink) !important;
    font-family:"Cormorant Garamond","Noto Serif JP",serif !important;
    font-size:19px !important;
    font-weight:700 !important;
    letter-spacing:.075em !important;
    line-height:1.3 !important;
    text-align:center !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-info h3::after{
    width:64% !important;
    max-width:96px !important;
    margin:7px auto 0 !important;
    background:linear-gradient(90deg,transparent,var(--v10-gold) 18%,var(--v10-gold-light) 50%,var(--v10-gold) 82%,transparent) !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-profile-line{
    margin:0 0 8px !important;
    color:var(--v10-ink) !important;
    font-size:13px !important;
    font-weight:700 !important;
    letter-spacing:.03em !important;
    line-height:1.45 !important;
    text-align:center !important;
    white-space:nowrap !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-profile-line span{
    margin:0 3px 0 5px !important;
    color:var(--v10-gold) !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-hobby{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    min-width:0 !important;
    margin:0 0 8px !important;
    color:var(--v10-muted) !important;
    font-size:12px !important;
    line-height:1.5 !important;
    white-space:nowrap !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-hobby-label{
    flex:0 0 auto !important;
    color:#ad7935 !important;
    font-weight:700 !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-hobby-value{
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-schedule-row{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    min-height:28px !important;
    margin:0 0 11px !important;
    color:var(--v10-ink) !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1 !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-today-label,
body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges .public-cast-text-badge{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:0 !important;
    height:28px !important;
    padding:0 10px !important;
    border:1px solid rgba(215,170,82,.55) !important;
    border-radius:999px !important;
    background:
        linear-gradient(180deg,rgba(255,255,255,.28),transparent 48%),
        linear-gradient(135deg,#ff9ac7,#e45d9d 52%,#c84385) !important;
    color:#fff !important;
    font-family:"Noto Serif JP",serif !important;
    font-size:10px !important;
    font-weight:800 !important;
    letter-spacing:.08em !important;
    line-height:1 !important;
    white-space:nowrap !important;
    text-shadow:0 1px 2px rgba(113,49,80,.2) !important;
    box-shadow:0 6px 14px rgba(190,55,124,.23),0 1px 0 rgba(255,255,255,.64) inset !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-schedule-time{
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-profile-link,
body:not(.cast-detail-page) .princess-home #cast-list .cast-card .reserve-btn.public-profile-link{
    width:100% !important;
    height:48px !important;
    min-height:48px !important;
    margin-top:auto !important;
    border:1px solid rgba(203,151,55,.84) !important;
    border-radius:999px !important;
    background:
        linear-gradient(110deg,rgba(255,255,255,.7),rgba(255,255,255,.2) 32%,rgba(255,228,241,.4) 68%,rgba(255,255,255,.5)),
        rgba(255,247,251,.62) !important;
    color:#8c4168 !important;
    box-shadow:0 10px 22px rgba(151,68,109,.16),0 1px 0 rgba(255,255,255,.98) inset,0 0 14px rgba(255,255,255,.56) inset !important;
}

body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges,
body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges.cast-badge-layer,
body:not(.cast-detail-page) .princess-home #cast-list .cast-card .public-cast-badges{
    top:11px !important;
    right:11px !important;
    bottom:auto !important;
    left:11px !important;
    z-index:12 !important;
    display:flex !important;
    flex-wrap:wrap !important;
    gap:5px !important;
}

@media(hover:hover) and (pointer:fine){
    body:not(.cast-detail-page) .princess-home #cast-list .cast-card.public-cast-card:hover{
        border-color:rgba(225,181,88,.92) !important;
        box-shadow:0 17px 32px rgba(156,70,112,.19),0 0 0 1px rgba(255,232,173,.18),0 1px 0 rgba(255,255,255,.94) inset !important;
        transform:translateY(-3px) !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .cast-card.public-cast-card:hover .public-cast-image{
        transform:scale(1.14) !important;
        filter:saturate(1.05) contrast(1.015) !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .cast-card.public-cast-card:hover .cast-card-no-image.public-cast-image{
        transform:none !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-profile-link:hover,
    body:not(.cast-detail-page) .princess-home #cast-list .public-profile-link:focus-visible{
        border-color:rgba(225,181,88,.98) !important;
        box-shadow:0 14px 27px rgba(151,68,109,.21),0 0 18px rgba(255,226,151,.48),0 1px 0 rgba(255,255,255,.98) inset !important;
        transform:translateY(-2px) !important;
    }
}

@media(prefers-reduced-motion:reduce){
    body:not(.cast-detail-page) .princess-home #cast-list .cast-card.public-cast-card,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-image,
    body:not(.cast-detail-page) .princess-home #cast-list .public-profile-link{
        transition:none !important;
    }
}
@media(max-width:768px){
    body:not(.cast-detail-page) .princess-home #cast-list .cast-card.public-cast-card{
        display:grid !important;
        grid-template-columns:116px minmax(0,1fr) !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-photo{
        width:100% !important;
        height:100% !important;
        aspect-ratio:auto !important;
        border-radius:calc(var(--v10-inner-radius) - 1px) 12px 12px calc(var(--v10-inner-radius) - 1px) !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-info,
    body:not(.cast-detail-page) .princess-home #cast-list .cast-card:has(.public-cast-badges) .public-cast-info{
        padding:13px 12px 14px !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-info h3,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-profile-line{
        text-align:left !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-info h3::after{
        margin-left:0 !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-schedule-row{
        justify-content:flex-start !important;
    }

    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges,
    body:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges.cast-badge-layer,
    body:not(.cast-detail-page) .princess-home #cast-list .cast-card .public-cast-badges{
        top:9px !important;
        right:auto !important;
        left:9px !important;
        max-width:98px !important;
    }
}
/* =========================================================
   Chou Chou Ver10.2 — Premium Gallery
   ========================================================= */
body:not(.cast-detail-page) .princess-home #gallery{
    display:flex !important;
    flex-direction:column !important;
    padding-right:14px !important;
    padding-left:14px !important;
}

body:not(.cast-detail-page) .princess-home #gallery .public-gallery-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    align-items:stretch !important;
    gap:6px !important;
    width:100% !important;
    margin:0 !important;
}

body:not(.cast-detail-page) .princess-home #gallery .public-gallery-item.premium-gallery-item{
    position:relative !important;
    isolation:isolate !important;
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    min-width:0 !important;
    height:100% !important;
    min-height:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border:1px solid rgba(205,158,68,.58) !important;
    border-radius:var(--v10-inner-radius) !important;
    background:transparent !important;
    box-shadow:0 12px 25px rgba(156,70,112,.12),0 1px 0 rgba(255,255,255,.9) inset !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    opacity:0;
    transform:translateY(14px);
    transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease !important;
}

body:not(.cast-detail-page) .princess-home #gallery .public-gallery-item.premium-gallery-item.is-gallery-visible{
    animation:premium-gallery-fade-up .58s cubic-bezier(.22,.8,.24,1) forwards !important;
}

@keyframes premium-gallery-fade-up{
    from{
        opacity:0;
        transform:translateY(14px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

body:not(.cast-detail-page) .princess-home #gallery .premium-gallery-item > img{
    position:relative !important;
    z-index:0 !important;
    display:block !important;
    flex:0 0 auto !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:4/5 !important;
    object-fit:cover !important;
    object-position:center !important;
    border:0 !important;
    border-bottom:1px solid rgba(205,158,68,.5) !important;
    border-radius:calc(var(--v10-inner-radius) - 1px) calc(var(--v10-inner-radius) - 1px) 0 0 !important;
    transform:scale(1) !important;
    transition:transform .25s ease,filter .25s ease !important;
}

body:not(.cast-detail-page) .princess-home #gallery .premium-gallery-item > .public-gallery-category{
    position:absolute !important;
    top:9px !important;
    right:auto !important;
    bottom:auto !important;
    left:9px !important;
    z-index:3 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    max-width:calc(100% - 18px) !important;
    min-height:27px !important;
    padding:0 10px !important;
    overflow:hidden !important;
    border:1px solid rgba(215,170,82,.82) !important;
    border-radius:999px !important;
    background:
        linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.08)),
        rgba(255,248,251,.78) !important;
    color:#8a3e65 !important;
    font-family:"Cormorant Garamond","Noto Serif JP",serif !important;
    font-size:9px !important;
    font-weight:800 !important;
    letter-spacing:.1em !important;
    line-height:1 !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    text-shadow:0 1px 0 rgba(255,255,255,.96) !important;
    box-shadow:0 7px 15px rgba(112,61,86,.16),0 1px 0 rgba(255,255,255,.98) inset,0 0 10px rgba(255,240,198,.3) inset !important;
    -webkit-backdrop-filter:blur(9px) saturate(112%) !important;
    backdrop-filter:blur(9px) saturate(112%) !important;
}

body:not(.cast-detail-page) .princess-home #gallery .premium-gallery-item > .public-gallery-glass{
    position:static !important;
    inset:auto !important;
    z-index:2 !important;
    display:flex !important;
    flex:1 1 auto !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:3px !important;
    min-width:0 !important;
    min-height:52px !important;
    padding:8px 10px 9px !important;
    overflow:hidden !important;
    border-top:1px solid rgba(205,158,68,.42) !important;
    background:
        linear-gradient(180deg,rgba(255,255,255,.56),rgba(255,244,250,.27)),
        rgba(255,255,255,.4) !important;
    color:var(--v10-ink) !important;
    text-align:left !important;
    -webkit-backdrop-filter:blur(11px) saturate(110%) !important;
    backdrop-filter:blur(11px) saturate(110%) !important;
}

body:not(.cast-detail-page) .princess-home #gallery .premium-gallery-item .public-gallery-title,
body:not(.cast-detail-page) .princess-home #gallery .premium-gallery-item .public-gallery-description{
    position:static !important;
    inset:auto !important;
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    background:none !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}

body:not(.cast-detail-page) .princess-home #gallery .premium-gallery-item .public-gallery-title{
    color:var(--v10-ink) !important;
    font-family:"Cormorant Garamond","Noto Serif JP",serif !important;
    font-size:12px !important;
    font-weight:700 !important;
    letter-spacing:.05em !important;
    line-height:1.35 !important;
    text-shadow:0 1px 0 rgba(255,255,255,.94) !important;
}

body:not(.cast-detail-page) .princess-home #gallery .premium-gallery-item .public-gallery-description{
    color:var(--v10-muted) !important;
    font-family:"Noto Serif JP",serif !important;
    font-size:9px !important;
    font-weight:500 !important;
    letter-spacing:.015em !important;
    line-height:1.4 !important;
}

body:not(.cast-detail-page) .princess-home #gallery .gallery-more{
    margin-top:auto !important;
    padding-top:22px !important;
}

body:not(.cast-detail-page) .princess-home #gallery .gallery-more .reserve-btn{
    width:auto !important;
    min-width:170px !important;
    height:48px !important;
    min-height:48px !important;
    margin-inline:auto !important;
    padding:0 24px !important;
    border:1px solid rgba(203,151,55,.84) !important;
    border-radius:999px !important;
    background:
        linear-gradient(110deg,rgba(255,255,255,.7),rgba(255,255,255,.2) 32%,rgba(255,228,241,.4) 68%,rgba(255,255,255,.5)),
        rgba(255,247,251,.62) !important;
    color:#8c4168 !important;
    box-shadow:0 10px 22px rgba(151,68,109,.16),0 1px 0 rgba(255,255,255,.98) inset,0 0 14px rgba(255,255,255,.56) inset !important;
    -webkit-backdrop-filter:blur(10px) saturate(110%) !important;
    backdrop-filter:blur(10px) saturate(110%) !important;
}

@media(hover:hover) and (pointer:fine) and (min-width:769px){
    body:not(.cast-detail-page) .princess-home #gallery .premium-gallery-item.is-gallery-visible:hover{
        border-color:rgba(229,188,96,.96) !important;
        box-shadow:0 20px 38px rgba(156,70,112,.21),0 0 0 1px rgba(255,232,173,.2),0 1px 0 rgba(255,255,255,.96) inset !important;
        transform:translateY(-6px) !important;
    }

    body:not(.cast-detail-page) .princess-home #gallery .premium-gallery-item.is-gallery-visible:hover > img{
        transform:scale(1.03) !important;
        filter:saturate(1.04) contrast(1.01) !important;
    }

    body:not(.cast-detail-page) .princess-home #gallery .gallery-more .reserve-btn:hover,
    body:not(.cast-detail-page) .princess-home #gallery .gallery-more .reserve-btn:focus-visible{
        border-color:rgba(225,181,88,.98) !important;
        box-shadow:0 14px 27px rgba(151,68,109,.21),0 0 18px rgba(255,226,151,.48),0 1px 0 rgba(255,255,255,.98) inset !important;
        transform:translateY(-2px) !important;
    }
}

@media(max-width:1199px){
    body:not(.cast-detail-page) .princess-home #gallery .public-gallery-grid{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:10px !important;
    }
}

@media(max-width:768px){
    body:not(.cast-detail-page) .princess-home #gallery{
        padding-right:12px !important;
        padding-left:12px !important;
    }

    body:not(.cast-detail-page) .princess-home #gallery .public-gallery-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:10px !important;
    }

    body:not(.cast-detail-page) .princess-home #gallery .premium-gallery-item > .public-gallery-category{
        top:8px !important;
        left:8px !important;
        max-width:calc(100% - 16px) !important;
        min-height:24px !important;
        padding-inline:8px !important;
        font-size:8px !important;
    }

    body:not(.cast-detail-page) .princess-home #gallery .premium-gallery-item > .public-gallery-glass{
        min-height:50px !important;
        padding:7px 9px 8px !important;
    }

    body:not(.cast-detail-page) .princess-home #gallery .premium-gallery-item .public-gallery-title{
        font-size:11px !important;
    }

    body:not(.cast-detail-page) .princess-home #gallery .premium-gallery-item .public-gallery-description{
        font-size:8px !important;
    }
}

@media(prefers-reduced-motion:reduce){
    body:not(.cast-detail-page) .princess-home #gallery .public-gallery-item.premium-gallery-item,
    body:not(.cast-detail-page) .princess-home #gallery .public-gallery-item.premium-gallery-item.is-gallery-visible{
        opacity:1 !important;
        transform:none !important;
        animation:none !important;
        transition:none !important;
    }

    body:not(.cast-detail-page) .princess-home #gallery .premium-gallery-item > img,
    body:not(.cast-detail-page) .princess-home #gallery .gallery-more .reserve-btn{
        transition:none !important;
    }
}

/* =========================================================
   Chou Chou Ver11.6 — Instagram Brand Gallery
   ========================================================= */
body.premium-design-system .princess-home .princess-card-grid-bottom > #instagram.premium-card-instagram{
    grid-column:span 2 !important;
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    padding:var(--premium-space-card) !important;
    overflow:hidden !important;
}

body.premium-design-system .princess-home #instagram.premium-card-instagram::before,
body.premium-design-system .princess-home #instagram.premium-card-instagram::after,
body.premium-design-system .princess-home #instagram .section-title::before,
body.premium-design-system .princess-home #instagram .section-title::after{
    display:none !important;
    content:none !important;
}

body.premium-design-system .princess-home #instagram .section-title{
    display:flex !important;
    min-height:0 !important;
    margin:0 0 var(--premium-space-title) !important;
}

body.premium-design-system .princess-home #instagram .instagram-brand-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:clamp(12px,1.5vw,20px) !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
}

body.premium-design-system .princess-home #instagram .instagram-brand-post.card-premium{
    display:flex !important;
    flex-direction:column !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border:.75px solid rgba(var(--premium-gold-rgb),.48) !important;
    border-radius:22px !important;
    background:rgba(255,255,255,.42) !important;
    box-shadow:0 9px 20px rgba(111,59,86,.1) !important;
    -webkit-backdrop-filter:blur(6px) saturate(106%) !important;
    backdrop-filter:blur(6px) saturate(106%) !important;
    transform:translateY(0) !important;
    transition:transform var(--premium-transition),border-color var(--premium-transition),box-shadow var(--premium-transition) !important;
}

body.premium-design-system .princess-home #instagram .instagram-brand-photo{
    width:100% !important;
    aspect-ratio:1 / 1 !important;
    margin:0 !important;
    overflow:hidden !important;
    background:var(--premium-pink) !important;
}

body.premium-design-system .princess-home #instagram .instagram-brand-photo img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
    transform:scale(1) !important;
    transition:transform var(--premium-transition) !important;
}

body.premium-design-system .princess-home #instagram .instagram-brand-caption{
    width:100% !important;
    min-width:0 !important;
    min-height:44px !important;
    margin:0 !important;
    padding:12px 14px !important;
    overflow:hidden !important;
    color:var(--premium-ink) !important;
    font-family:"Noto Serif JP",serif !important;
    font-size:12px !important;
    font-weight:600 !important;
    letter-spacing:.04em !important;
    line-height:20px !important;
    text-align:left !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}

body.premium-design-system .princess-home #instagram .instagram-brand-state{
    grid-column:1 / -1 !important;
    margin:0 !important;
    padding:56px 20px !important;
    color:var(--premium-muted) !important;
    font-size:13px !important;
    letter-spacing:.04em !important;
    line-height:1.7 !important;
    text-align:center !important;
}

body.premium-design-system .princess-home #instagram .instagram-brand-action{
    display:flex !important;
    justify-content:center !important;
    width:100% !important;
    margin-top:var(--premium-space-action) !important;
}

@media(hover:hover) and (pointer:fine){
    body.premium-design-system .princess-home #instagram .instagram-brand-post.card-premium:hover{
        border-color:rgba(var(--premium-gold-rgb),.82) !important;
        box-shadow:var(--premium-shadow-hover) !important;
        transform:translateY(-6px) !important;
    }

    body.premium-design-system .princess-home #instagram .instagram-brand-post:hover .instagram-brand-photo img{
        transform:scale(1.03) !important;
    }
}

@media(max-width:1100px){
    body.premium-design-system .princess-home .princess-card-grid-bottom > #instagram.premium-card-instagram{
        grid-column:1 / -1 !important;
    }
}

@media(max-width:680px){
    body.premium-design-system .princess-home #instagram .instagram-brand-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:10px !important;
    }

    body.premium-design-system .princess-home #instagram .instagram-brand-caption{
        min-height:40px !important;
        padding:10px 11px !important;
        font-size:10px !important;
        line-height:20px !important;
    }
}

@media(prefers-reduced-motion:reduce){
    body.premium-design-system .princess-home #instagram .instagram-brand-post.card-premium,
    body.premium-design-system .princess-home #instagram .instagram-brand-photo img{
        transform:none !important;
        transition:none !important;
    }
}

/* =========================================================
   Chou Chou Ver11.8 — Unified Premium UI System
   Shared tokens -> components -> legacy compatibility only.
   ========================================================= */
:root{
    --premium-hover-lift:-4px;
    --premium-transition:.25s ease;
    --premium-shadow:0 12px 28px rgba(111,59,86,.14),0 1px 0 rgba(255,255,255,.94) inset;
    --premium-shadow-hover:0 18px 36px rgba(111,59,86,.2),0 0 0 1px rgba(var(--premium-gold-rgb),.14),0 1px 0 rgba(255,255,255,.96) inset;
    --premium-glass:linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,236,246,.7) 54%,rgba(255,252,254,.86));
    --premium-glass-panel:linear-gradient(180deg,rgba(255,255,255,.54),rgba(255,239,247,.27)),rgba(255,255,255,.38);
    --premium-control-height:48px;
    --premium-control-radius:14px;
    --premium-control-padding:12px 14px;
    --premium-control-border:rgba(226,137,181,.48);
    --premium-control-border-focus:#df6fa9;
    --premium-control-background:rgba(255,255,255,.78);
    --premium-control-shadow:inset 0 1px 0 rgba(255,255,255,.9);
    --premium-control-shadow-focus:0 0 0 3px rgba(235,126,180,.22),inset 0 1px 0 rgba(255,255,255,.94);
}

/* ChouChou Ver7.5 shared loading, image and error states */
.ui-loading{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;color:var(--premium-ink,#6f3b56)}
.ui-spinner{width:20px;height:20px;border:2px solid rgba(var(--premium-gold-rgb,200,154,67),.28);border-top-color:var(--gold,#c89a43);border-radius:50%;animation:ui-spin .8s linear infinite}
.ui-skeleton-card{display:block;min-height:180px;border-radius:var(--radius,24px);background:linear-gradient(90deg,rgba(255,255,255,.56),rgba(255,226,240,.72),rgba(255,255,255,.56));background-size:220% 100%;animation:ui-skeleton 1.25s ease-in-out infinite}
.ui-image-fallback{display:grid;place-items:center;width:100%;min-height:120px;background:linear-gradient(145deg,#fff9fc,#f8edf3);color:#8b6074;font-size:12px;letter-spacing:.12em}
.ui-error{color:#8f294e;background:rgba(255,241,246,.92);border:1px solid rgba(177,55,99,.28);border-radius:14px;padding:12px 14px;line-height:1.7}
.ui-announcer{position:fixed;left:50%;bottom:24px;z-index:10000;max-width:min(90vw,520px);transform:translateX(-50%);padding:11px 18px;border:1px solid rgba(var(--premium-gold-rgb,200,154,67),.42);border-radius:999px;background:rgba(255,255,255,.94);box-shadow:var(--shadow);color:var(--premium-ink,#6f3b56);font-weight:700}
.ui-announcer:empty{display:none}.ui-announcer[data-type="error"]{color:#8f294e}
@keyframes ui-spin{to{transform:rotate(360deg)}}
@keyframes ui-skeleton{to{background-position:-220% 0}}
@media(prefers-reduced-motion:reduce){.ui-spinner,.ui-skeleton-card{animation:none}}

html body.premium-design-system{
    font-kerning:normal;
    font-optical-sizing:auto;
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
}

/* Card: one contract, with padding variants controlled by a custom property. */
html body.premium-design-system .card-premium{
    padding:var(--premium-card-padding,var(--premium-space-card)) !important;
    border:1px solid rgba(var(--premium-gold-rgb),.58) !important;
    border-radius:var(--premium-radius-card) !important;
    background:var(--premium-glass) !important;
    box-shadow:var(--premium-shadow) !important;
    -webkit-backdrop-filter:blur(11px) saturate(108%) !important;
    backdrop-filter:blur(11px) saturate(108%) !important;
    transition:transform var(--premium-transition),border-color var(--premium-transition),box-shadow var(--premium-transition) !important;
}

html body.premium-design-system :is(
    .public-news-card,
    .public-cast-card,
    .public-gallery-item,
    .premium-gallery-item,
    .instagram-brand-post
).card-premium{
    --premium-card-padding:0px;
}

html body.premium-design-system .v9-cast-item.card-premium{
    --premium-card-padding:12px 14px;
}

html body.premium-design-system #concept.card-premium{
    --premium-card-padding:12px;
}

/* Legacy layout selectors resolve back to the card contract. */
html body.premium-design-system .princess-home :is(
    #cast,
    #princess-pickup,
    .premium-section-card
).card-premium,
html body.premium-design-system .princess-home #cast-list .cast-card.public-cast-card,
html body.premium-design-system .princess-home #gallery .public-gallery-item.premium-gallery-item,
html body.premium-design-system .princess-home #instagram .instagram-brand-post.card-premium{
    border:1px solid rgba(var(--premium-gold-rgb),.58) !important;
    border-radius:var(--premium-radius-card) !important;
    background:var(--premium-glass) !important;
    box-shadow:var(--premium-shadow) !important;
    -webkit-backdrop-filter:blur(11px) saturate(108%) !important;
    backdrop-filter:blur(11px) saturate(108%) !important;
    transition:transform var(--premium-transition),border-color var(--premium-transition),box-shadow var(--premium-transition) !important;
}

html body.premium-design-system .glass-panel{
    -webkit-backdrop-filter:blur(11px) saturate(108%) !important;
    backdrop-filter:blur(11px) saturate(108%) !important;
}

/* Glass panel */
html body.premium-design-system .glass-panel{
    border-radius:var(--premium-radius-image) !important;
    background:var(--premium-glass-panel) !important;
    box-shadow:var(--premium-shadow) !important;
}

html body.premium-design-system #recruit .recruit-v11-content.glass-panel{
    -webkit-backdrop-filter:blur(11px) saturate(108%) !important;
    backdrop-filter:blur(11px) saturate(108%) !important;
}

/* Image */
html body.premium-design-system .image-premium{
    overflow:hidden !important;
    border-radius:var(--premium-radius-image) !important;
    transition:transform var(--premium-transition),border-color var(--premium-transition),box-shadow var(--premium-transition),filter var(--premium-transition) !important;
}

/* Button */
html body.premium-design-system .button-premium:not(.button-premium-hotspot){
    height:var(--premium-button-height) !important;
    min-height:var(--premium-button-height) !important;
    padding:0 24px !important;
    border-radius:var(--premium-radius-pill) !important;
    box-shadow:var(--premium-shadow) !important;
    font-family:"Noto Serif JP",serif !important;
    font-weight:700 !important;
    letter-spacing:.055em !important;
    line-height:1 !important;
    transition:transform var(--premium-transition),border-color var(--premium-transition),box-shadow var(--premium-transition),color var(--premium-transition) !important;
}

/* Badge */
html body.premium-design-system .badge-premium{
    border-radius:var(--premium-radius-pill) !important;
    font-family:"Noto Serif JP",serif !important;
    font-size:10px !important;
    font-weight:800 !important;
    letter-spacing:.08em !important;
    line-height:1 !important;
    transition:transform var(--premium-transition),border-color var(--premium-transition),box-shadow var(--premium-transition) !important;
}

/* Title, subtitle and divider */
html body.premium-design-system .section-subtitle{
    font-family:"Cormorant Garamond",serif !important;
    font-weight:700 !important;
    letter-spacing:.095em !important;
    line-height:1.12 !important;
}

html body.premium-design-system .section-heading{
    font-family:"Cormorant Garamond","Noto Serif JP",serif !important;
    font-weight:700 !important;
    letter-spacing:.058em !important;
    line-height:1.4 !important;
}

html body.premium-design-system :is(p,li,dd,.public-cast-profile-line,.instagram-brand-caption){
    line-height:1.7;
}

html body.premium-design-system .section-title{
    margin-bottom:var(--premium-space-title) !important;
}

html body.premium-design-system .section-divider{
    margin-top:14px !important;
}

/* Section */
html body.premium-design-system .premium-section{
    margin-bottom:var(--premium-space-section) !important;
}

/* Input and form */
html body.premium-design-system :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
    select,
    textarea
){
    width:100%;
    min-height:var(--premium-control-height) !important;
    padding:var(--premium-control-padding) !important;
    border:1px solid var(--premium-control-border) !important;
    border-radius:var(--premium-control-radius) !important;
    outline:0;
    background:var(--premium-control-background) !important;
    color:var(--premium-ink) !important;
    font-family:"Noto Serif JP",serif !important;
    font-size:14px !important;
    font-weight:500 !important;
    letter-spacing:.025em !important;
    line-height:1.6 !important;
    box-shadow:var(--premium-control-shadow) !important;
    transition:border-color var(--premium-transition),box-shadow var(--premium-transition),background-color var(--premium-transition) !important;
}

html body.premium-design-system textarea{
    resize:vertical;
}

html body.premium-design-system :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
    select,
    textarea
):focus{
    border-color:var(--premium-control-border-focus) !important;
    outline:0 !important;
    box-shadow:var(--premium-control-shadow-focus) !important;
}

html body.premium-design-system :is(input,textarea)::placeholder{
    color:var(--premium-muted);
    opacity:.72;
}

html body.premium-design-system :is(input,select,textarea):disabled{
    cursor:not-allowed;
    opacity:.58;
}

html body.premium-design-system :is(.recruit-form,.contact-form,.reservation-form) label{
    color:var(--premium-ink) !important;
    font-family:"Noto Serif JP",serif !important;
    font-size:13px !important;
    font-weight:700 !important;
    letter-spacing:.04em !important;
    line-height:1.6 !important;
}

html body.premium-design-system :is(
    .card-premium,
    .glass-panel,
    .image-premium,
    .button-premium,
    .badge-premium,
    .section-title,
    .section-subtitle,
    .section-heading,
    .section-divider,
    input,
    select,
    textarea
),
html body.premium-design-system :is(.card-premium,.glass-panel,.image-premium) :is(img,a,button){
    transition-duration:.25s !important;
    transition-timing-function:ease !important;
}

html body.premium-design-system .reveal-card,
html body.premium-design-system .reveal-card.is-visible{
    transition-duration:.25s !important;
    transition-timing-function:ease !important;
}

html body.premium-design-system .premium-gallery-item.is-gallery-visible{
    animation-duration:.25s !important;
    animation-timing-function:ease !important;
}

@media(hover:hover) and (pointer:fine){
    html body.premium-design-system .card-premium:hover,
    html body.premium-design-system #recruit.premium-card-recruit.card-premium:hover,
    html body.premium-design-system .princess-home #instagram .instagram-brand-post.card-premium:hover,
    html body.premium-design-system .princess-home #gallery .premium-gallery-item.is-gallery-visible:hover{
        box-shadow:var(--premium-shadow-hover) !important;
        transform:translateY(var(--premium-hover-lift)) !important;
    }

    html body.premium-design-system .button-premium:not(.button-premium-hotspot):is(:hover,:focus-visible),
    html body.premium-design-system .princess-home #cast-list .public-profile-link:is(:hover,:focus-visible),
    html body.premium-design-system .princess-home #gallery .gallery-more .reserve-btn:is(:hover,:focus-visible){
        box-shadow:var(--premium-shadow-hover) !important;
        transform:translateY(var(--premium-hover-lift)) !important;
    }
}

@media(prefers-reduced-motion:reduce){
    html body.premium-design-system :is(
        .card-premium,
        .glass-panel,
        .image-premium,
        .button-premium,
        .badge-premium,
        .reveal-card,
        .premium-gallery-item,
        input,
        select,
        textarea
    ){
        animation:none !important;
        transition:none !important;
    }
}

/* =========================================================
   Chou Chou Ver11.9 — Cast, News and Gallery refinement
   ========================================================= */

/* Today's Cast */
html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-list{
    gap:10px !important;
}

html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-item.card-premium{
    gap:14px !important;
    min-height:132px !important;
    padding:12px 14px !important;
    border-color:rgba(var(--premium-gold-rgb),.58) !important;
    background:var(--premium-glass) !important;
    box-shadow:0 10px 24px rgba(111,59,86,.11),0 1px 0 rgba(255,255,255,.94) inset !important;
    transition:transform var(--premium-transition),border-color var(--premium-transition),box-shadow var(--premium-transition) !important;
}

html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-profile{
    min-height:108px !important;
    padding:4px 0 !important;
}

html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-name-row{
    margin-bottom:9px !important;
}

html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-name-row h3{
    font-size:28px !important;
    letter-spacing:.045em !important;
    line-height:1.15 !important;
}

html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-meta{
    gap:6px !important;
}

html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-meta-row{
    min-height:27px !important;
}

html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-meta :is(dt,dd){
    font-size:12px !important;
    line-height:1.4 !important;
}

html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-status.badge-premium{
    min-height:28px !important;
    padding:0 12px !important;
    border:1px solid rgba(var(--premium-gold-rgb),.7) !important;
    background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,237,247,.54)),rgba(255,249,252,.78) !important;
    color:#a74774 !important;
    font-size:9px !important;
    letter-spacing:.1em !important;
    text-shadow:0 1px 0 rgba(255,255,255,.96) !important;
    box-shadow:0 5px 12px rgba(111,59,86,.1),0 1px 0 rgba(255,255,255,.96) inset !important;
}

/* News */
html body.premium-design-system:not(.cast-detail-page) .princess-home .premium-card-news .public-news-list{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    align-content:start !important;
    gap:12px !important;
    max-height:none !important;
    overflow:visible !important;
}

html body.premium-design-system:not(.cast-detail-page) .princess-home .premium-card-news .public-news-card.card-premium{
    min-height:0 !important;
    padding:0 !important;
    border-color:rgba(var(--premium-gold-rgb),.5) !important;
    background:var(--premium-glass) !important;
    box-shadow:0 10px 24px rgba(111,59,86,.11),0 1px 0 rgba(255,255,255,.94) inset !important;
    transition:transform var(--premium-transition),border-color var(--premium-transition),box-shadow var(--premium-transition) !important;
}

html body.premium-design-system .public-news-meta{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:6px !important;
}

html body.premium-design-system .public-news-date{
    margin-right:auto !important;
    color:var(--premium-muted) !important;
    font-family:"Cormorant Garamond","Noto Serif JP",serif !important;
    font-size:12px !important;
    font-weight:600 !important;
    letter-spacing:.08em !important;
    line-height:1 !important;
    white-space:nowrap !important;
}

html body.premium-design-system .public-news-new.badge-premium{
    border-color:rgba(var(--premium-gold-rgb),.74) !important;
    background:linear-gradient(180deg,rgba(255,255,255,.68),rgba(255,231,244,.56)),rgba(255,248,252,.78) !important;
    color:#a74774 !important;
}

html body.premium-design-system:not(.cast-detail-page) .princess-home .premium-card-news .news-more .button-premium{
    background:linear-gradient(110deg,rgba(255,255,255,.76),rgba(255,255,255,.24) 36%,rgba(255,231,243,.52)),rgba(255,249,252,.7) !important;
    color:var(--premium-ink) !important;
    box-shadow:var(--premium-shadow) !important;
}

/* Gallery */
html body.premium-design-system:not(.cast-detail-page) .princess-home #gallery .public-gallery-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:12px !important;
}

html body.premium-design-system .premium-gallery-item{
    border-radius:var(--premium-radius-card) !important;
    box-shadow:var(--premium-shadow) !important;
}

html body.premium-design-system .princess-home #gallery .premium-gallery-item > img.image-premium{
    aspect-ratio:4 / 5 !important;
    border-radius:calc(var(--premium-radius-card) - 1px) calc(var(--premium-radius-card) - 1px) 0 0 !important;
    object-fit:cover !important;
    object-position:center !important;
    transition:transform var(--premium-transition),filter var(--premium-transition) !important;
}

html body.premium-design-system .premium-gallery-item > .public-gallery-view{
    position:absolute !important;
    top:40% !important;
    left:50% !important;
    z-index:3 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:64px !important;
    min-height:30px !important;
    padding:0 13px !important;
    border:1px solid rgba(var(--premium-gold-rgb),.66) !important;
    border-radius:var(--premium-radius-pill) !important;
    background:rgba(255,250,252,.76) !important;
    color:var(--premium-ink) !important;
    font-family:"Cormorant Garamond",serif !important;
    font-size:11px !important;
    font-weight:700 !important;
    letter-spacing:.14em !important;
    line-height:1 !important;
    opacity:0;
    pointer-events:none !important;
    -webkit-backdrop-filter:blur(8px) saturate(108%) !important;
    backdrop-filter:blur(8px) saturate(108%) !important;
    transform:translate(-50%,calc(-50% + 3px)) !important;
    transition:opacity var(--premium-transition),transform var(--premium-transition) !important;
}

@media(hover:hover) and (pointer:fine){
    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-item.card-premium:hover,
    html body.premium-design-system:not(.cast-detail-page) .princess-home .premium-card-news .public-news-card.card-premium:hover,
    html body.premium-design-system:not(.cast-detail-page) .princess-home #gallery .premium-gallery-item.is-gallery-visible:hover{
        border-color:rgba(var(--premium-gold-rgb),.82) !important;
        box-shadow:var(--premium-shadow-hover) !important;
        transform:translateY(var(--premium-hover-lift)) !important;
    }

    html body.premium-design-system .premium-gallery-item:is(:hover,:focus-visible) > img.image-premium{
        transform:scale(1.025) !important;
        filter:saturate(1.03) contrast(1.01) !important;
    }

    html body.premium-design-system .premium-gallery-item:is(:hover,:focus-visible) > .public-gallery-view{
        opacity:1 !important;
        transform:translate(-50%,-50%) !important;
    }
}

@media(max-width:768px){
    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-item.card-premium{
        grid-template-columns:124px minmax(0,1fr) !important;
        gap:10px !important;
        min-height:126px !important;
        padding:10px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-photo.image-premium{
        width:124px !important;
        height:104px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-name-row h3{
        font-size:25px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) .princess-home #gallery .public-gallery-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:10px !important;
    }
}

@media(prefers-reduced-motion:reduce){
    html body.premium-design-system :is(
        #cast.v9-today-card .v9-cast-item,
        .public-news-card,
        .premium-gallery-item,
        .premium-gallery-item > img,
        .public-gallery-view
    ){
        transition:none !important;
    }
}

/* =========================================================
   Chou Chou Ver12.5 — Final Premium Polish
   Preserve the current design while refining density and finish.
   ========================================================= */

@media(min-width:769px){
    /* Shared card rhythm */
    html body.premium-design-system:not(.cast-detail-page) .princess-home .premium-section-card{
        padding-top:22px !important;
        padding-bottom:22px !important;
    }

    /* Today's Cast */
    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-list-frame{
        padding-right:18px !important;
        padding-left:18px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-item.card-premium{
        grid-template-columns:148px minmax(0,1fr) !important;
        gap:12px !important;
        min-height:124px !important;
        padding:10px 12px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-photo.image-premium{
        width:148px !important;
        height:100px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-profile{
        display:flex !important;
        flex-direction:column !important;
        justify-content:space-between !important;
        min-height:100px !important;
        padding:2px 0 !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-name-row{
        gap:6px !important;
        margin-bottom:5px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-name-row h3{
        flex:1 1 auto !important;
        min-width:0 !important;
        max-width:none !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        white-space:nowrap !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-name-en{
        flex:0 1 auto !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-status{
        flex:0 0 auto !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-meta{
        gap:4px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-meta-row{
        min-height:23px !important;
    }

    /* News */
    html body.premium-design-system:not(.cast-detail-page) .princess-home .premium-card-news .public-news-body{
        display:flex !important;
        flex-direction:column !important;
        min-height:100% !important;
        padding:15px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) .princess-home .premium-card-news .public-news-card h3{
        font-size:21px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) .princess-home .premium-card-news .public-news-link{
        align-self:flex-end !important;
        margin:4px 0 0 auto !important;
    }

}

html body.premium-design-system .princess-home #gallery .premium-gallery-item > img.image-premium{
    aspect-ratio:1 / 1 !important;
}

html body.premium-design-system:not(.cast-detail-page) .princess-home #gallery .public-gallery-grid{
    column-gap:14px !important;
    row-gap:14px !important;
}

/* System */
html body.premium-design-system:not(.cast-detail-page) .princess-home #system .system-price-row{
    min-height:49px !important;
    padding-top:9px !important;
    padding-bottom:9px !important;
}

html body.premium-design-system:not(.cast-detail-page) .princess-home #system .system-price-row strong{
    font-weight:800 !important;
}

/* Recruit */
html body.premium-design-system #recruit .recruit-v11-point-icon{
    flex-basis:27px !important;
    width:27px !important;
    height:27px !important;
    font-size:13px !important;
}

@media(hover:hover) and (pointer:fine){
    html body.premium-design-system #recruit .recruit-v11-actions .button-premium:is(:hover,:focus-visible){
        border-color:rgba(var(--premium-gold-rgb),.92) !important;
        box-shadow:0 20px 38px rgba(111,59,86,.22),0 0 0 1px rgba(var(--premium-gold-rgb),.18),0 1px 0 rgba(255,255,255,.98) inset !important;
        transform:translateY(-5px) !important;
    }

    html body.premium-design-system .premium-gallery-item:is(:hover,:focus-visible) > img.image-premium{
        transform:scale(1.03) !important;
    }
}

@media(max-width:768px){
    html body.premium-design-system:not(.cast-detail-page) .princess-home #gallery .public-gallery-grid{
        gap:12px !important;
    }
}

/* =========================================================
   Chou Chou Ver13 — Final Homepage Finish
   Preserve the brand language while completing homepage UI.
   ========================================================= */

html body.premium-design-system:not(.cast-detail-page) .princess-home{
    --home-section-gap:120px;
    --premium-transition:.3s ease;
}

@media(min-width:769px){
    /* One consistent vertical rhythm across all homepage rows. */
    html body.premium-design-system:not(.cast-detail-page) .princess-home > :is(
        .princess-card-grid-top,
        .princess-card-grid-middle,
        .princess-card-grid-bottom
    ){
        margin-bottom:var(--home-section-gap) !important;
    }

    /* Today's Cast: full names, equal cards and a wider information area. */
    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-list-frame{
        padding-right:10px !important;
        padding-left:10px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-list{
        grid-auto-rows:158px !important;
        gap:10px !important;
        max-height:494px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-item.card-premium{
        grid-template-columns:156px minmax(0,1fr) !important;
        align-items:center !important;
        gap:10px !important;
        width:100% !important;
        height:158px !important;
        min-height:158px !important;
        padding:10px 12px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-photo.image-premium{
        width:156px !important;
        height:118px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-profile{
        display:flex !important;
        flex-direction:column !important;
        justify-content:center !important;
        min-width:0 !important;
        min-height:118px !important;
        padding:0 !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-name-row{
        display:flex !important;
        justify-content:center !important;
        width:100% !important;
        min-width:0 !important;
        margin-bottom:6px !important;
        text-align:center !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-name-row h3{
        display:block !important;
        flex:1 1 auto !important;
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
        overflow:visible !important;
        font-size:26px !important;
        line-height:1.1 !important;
        text-align:center !important;
        text-overflow:clip !important;
        white-space:normal !important;
        word-break:keep-all !important;
        overflow-wrap:normal !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-name-en{
        display:none !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-status.badge-premium{
        position:absolute !important;
        top:15px !important;
        right:auto !important;
        left:17px !important;
        z-index:3 !important;
        margin:0 !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-meta{
        width:100% !important;
        gap:4px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-meta-row{
        min-height:23px !important;
    }

    /* Concept: use more of the existing card without changing its artwork. */
    html body.premium-design-system:not(.cast-detail-page) .princess-home #concept.premium-card-concept{
        padding:7px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) .princess-home #concept .ver6-card-image{
        width:100% !important;
        max-width:none !important;
        transform:scale(1.025) !important;
        transform-origin:center !important;
    }

    /* Access: add useful height and strengthen information hierarchy. */
    html body.premium-design-system:not(.cast-detail-page) .princess-home #access.premium-card-access{
        min-height:796px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) .princess-home #access .luxury-access-box{
        grid-template-rows:minmax(0,1fr) auto !important;
        gap:18px !important;
        height:100% !important;
    }

    html body.premium-design-system:not(.cast-detail-page) .princess-home #access .access-map iframe{
        min-height:340px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) .princess-home #access .access-details{
        gap:12px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) .princess-home #access .access-details p{
        grid-template-columns:96px minmax(0,1fr) !important;
        align-items:center !important;
        gap:14px !important;
        padding:10px 16px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) .princess-home #access .access-details p:first-child{
        align-items:start !important;
    }

    html body.premium-design-system:not(.cast-detail-page) .princess-home #access .access-details :is(b,span){
        line-height:1.65 !important;
    }
}

/* Gallery: keep imagery edge-to-edge and reserve only a concise text panel. */
html body.premium-design-system:not(.cast-detail-page) .princess-home #gallery .public-gallery-grid{
    align-items:start !important;
}

html body.premium-design-system:not(.cast-detail-page) .princess-home #gallery .public-gallery-item.premium-gallery-item{
    align-self:start !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
}

html body.premium-design-system:not(.cast-detail-page) .princess-home #gallery .premium-gallery-item > img.image-premium{
    display:block !important;
    flex:0 0 auto !important;
    width:100% !important;
    margin:0 !important;
    object-fit:cover !important;
}

html body.premium-design-system:not(.cast-detail-page) .princess-home #gallery .premium-gallery-item > .public-gallery-glass{
    flex:0 0 auto !important;
    min-height:64px !important;
    padding:10px 11px 11px !important;
}

html body.premium-design-system:not(.cast-detail-page) .princess-home #gallery .premium-gallery-item :is(
    .public-gallery-title,
    .public-gallery-description
){
    display:block !important;
}

/* Instagram already consumes the latest six records; keep its 3 x 2 contract explicit. */
@media(min-width:681px){
    html body.premium-design-system .princess-home #instagram .instagram-brand-grid{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }
}

html body.premium-design-system .princess-home #instagram .instagram-brand-photo,
html body.premium-design-system .princess-home #instagram .instagram-brand-photo img{
    aspect-ratio:1 / 1 !important;
}

@media(hover:hover) and (pointer:fine){
    html body.premium-design-system .princess-home #instagram .instagram-brand-post:hover .instagram-brand-photo img,
    html body.premium-design-system .princess-home #gallery .premium-gallery-item:is(:hover,:focus-visible) > img.image-premium{
        transform:scale(1.035) !important;
    }
}

/* A slightly smoother cadence for homepage hover and reveal motion. */
html body.premium-design-system:not(.cast-detail-page) .princess-home :is(
    .card-premium,
    .button-premium,
    .image-premium,
    .reveal-card,
    .premium-gallery-item,
    .instagram-brand-post,
    img,
    a,
    button
){
    transition-duration:.3s !important;
    transition-timing-function:ease !important;
}

html body.premium-design-system:not(.cast-detail-page) .princess-home .premium-gallery-item.is-gallery-visible{
    animation-duration:.3s !important;
    animation-timing-function:ease !important;
}

@media(max-width:768px){
    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-name-row h3{
        max-width:100% !important;
        overflow:visible !important;
        text-overflow:clip !important;
        white-space:normal !important;
    }
}

/* =========================================================
   Chou Chou Ver15 — Final Homepage Polish
   Preserve the current theme while refining visual priority.
   ========================================================= */

@media(min-width:769px){
    /* Today's Cast: reserve a dedicated top rail for the status badge. */
    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-list{
        grid-auto-rows:176px !important;
        max-height:548px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-item.card-premium{
        height:176px !important;
        min-height:176px !important;
        padding:36px 12px 10px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-status.badge-premium{
        top:8px !important;
        right:auto !important;
        left:14px !important;
        min-height:24px !important;
        padding:0 11px !important;
    }

    /* Concept: give the square artwork its own natural card ratio. */
    html body.premium-design-system:not(.cast-detail-page) .princess-home #concept.premium-card-concept{
        align-self:start !important;
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        aspect-ratio:1 / 1 !important;
        padding:6px !important;
        overflow:hidden !important;
    }

    html body.premium-design-system:not(.cast-detail-page) .princess-home #concept .ver6-card-image{
        display:block !important;
        width:100% !important;
        height:100% !important;
        aspect-ratio:1 / 1 !important;
        object-fit:cover !important;
        object-position:center !important;
        transform:none !important;
    }

    /* Cast List: keep the card footprint while increasing photo presence. */
    html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .all-cast-grid > .cast-card.public-cast-card{
        height:308px !important;
        min-height:308px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .public-cast-photo{
        height:116px !important;
        min-height:116px !important;
        max-height:116px !important;
        aspect-ratio:auto !important;
    }

    html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .public-cast-info{
        gap:6px !important;
        padding:10px 10px 12px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .public-profile-link{
        margin-top:5px !important;
    }
}

/* Restore the original dimensional pink-and-gold badge artwork. */
html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges{
    top:7px !important;
    left:7px !important;
    gap:4px !important;
}

html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges .premium-cast-badge{
    width:74px !important;
    min-width:74px !important;
    max-width:74px !important;
    height:49px !important;
    min-height:49px !important;
    padding:0 !important;
    overflow:visible !important;
    border:0 !important;
    border-radius:12px !important;
    background:transparent !important;
    box-shadow:none !important;
}

html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges .premium-cast-badge-img,
html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-new,
html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-recommended{
    display:block !important;
    width:74px !important;
    min-width:74px !important;
    max-width:74px !important;
    height:49px !important;
    object-fit:cover !important;
    object-position:center !important;
    border-radius:12px !important;
    filter:drop-shadow(0 5px 8px rgba(111,59,86,.23)) !important;
}

/* Gallery: keep roughly three quarters of each card devoted to imagery. */
html body.premium-design-system:not(.cast-detail-page) .princess-home #gallery .premium-gallery-item > img.image-premium{
    width:100% !important;
    height:auto !important;
    aspect-ratio:4 / 5 !important;
    object-fit:cover !important;
    object-position:center !important;
}

html body.premium-design-system:not(.cast-detail-page) .princess-home #gallery .premium-gallery-item > .public-gallery-glass{
    min-height:36px !important;
    padding:5px 8px 6px !important;
}

html body.premium-design-system:not(.cast-detail-page) .princess-home #gallery .premium-gallery-item .public-gallery-description{
    line-height:1.3 !important;
}

/* Contact: the phone hotspot contains one concise action label only. */
html body.premium-design-system:not(.cast-detail-page) #contact .ver6-contact-link.phone{
    align-items:center !important;
    justify-content:center !important;
}

html body.premium-design-system:not(.cast-detail-page) #contact .contact-phone-label{
    margin:0 !important;
}

/* Recruit: protect the dedicated portrait visual across breakpoints. */
html body.premium-design-system:not(.cast-detail-page) #recruit .recruit-v11-media img{
    object-fit:cover !important;
    object-position:center 42% !important;
}

@media(max-width:768px){
    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-item.card-premium{
        min-height:164px !important;
        padding-top:36px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-status.badge-premium{
        position:absolute !important;
        top:7px !important;
        right:auto !important;
        left:10px !important;
        min-height:23px !important;
        margin:0 !important;
        padding:0 10px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) .princess-home #concept.premium-card-concept{
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        aspect-ratio:1 / 1 !important;
        padding:5px !important;
        overflow:hidden !important;
    }

    html body.premium-design-system:not(.cast-detail-page) .princess-home #concept .ver6-card-image{
        width:100% !important;
        height:100% !important;
        aspect-ratio:1 / 1 !important;
        object-fit:cover !important;
        transform:none !important;
    }

    html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges .premium-cast-badge,
    html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges .premium-cast-badge-img,
    html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-new,
    html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-recommended{
        width:60px !important;
        min-width:60px !important;
        max-width:60px !important;
        height:40px !important;
        min-height:40px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) .princess-home #gallery .premium-gallery-item > .public-gallery-glass{
        min-height:36px !important;
        padding:5px 7px 6px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #recruit .recruit-v11-media img{
        object-position:center 45% !important;
    }
}

/* =========================================================
   ChouChou Ver6.0 — UI Size Optimization
   Dimensional refinements only; visual language is unchanged.
   ========================================================= */
html body.premium-design-system:not(.cast-detail-page) .public-cast-today-label{
    width:52px !important;
    min-width:52px !important;
    max-width:52px !important;
    height:22px !important;
    min-height:22px !important;
    padding:0 6px !important;
    font-size:9px !important;
    line-height:20px !important;
    letter-spacing:.07em !important;
}

html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .public-cast-today-label,
html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .public-cast-today-label{
    width:52px !important;
    min-width:52px !important;
    max-width:52px !important;
    height:22px !important;
    min-height:22px !important;
    padding:0 6px !important;
    font-size:9px !important;
    line-height:20px !important;
}

html body.premium-design-system:not(.cast-detail-page) .v6-favorite-button{
    width:38px !important;
    min-width:38px !important;
    max-width:38px !important;
    height:38px !important;
    min-height:38px !important;
    max-height:38px !important;
    border-width:.75px !important;
    padding:0 !important;
    font-size:19px !important;
}

html body.premium-design-system:not(.cast-detail-page) .v6-cast-actions{
    grid-template-columns:38px minmax(0,145px) !important;
    justify-content:center !important;
    gap:6px !important;
    margin-top:5px !important;
}

html body.premium-design-system:not(.cast-detail-page) .v6-line-cast-button{
    width:145px !important;
    min-width:0 !important;
    max-width:145px !important;
    height:48px !important;
    min-height:48px !important;
    padding-right:10px !important;
    padding-left:10px !important;
}

html body.premium-design-system:not(.cast-detail-page) .interior-cast-grid .public-cast-photo{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:4 / 5.55 !important;
}

html body.premium-design-system:not(.cast-detail-page) .interior-cast-grid .public-cast-info{
    gap:3px !important;
    padding:13px 17px 16px !important;
}

html body.premium-design-system:not(.cast-detail-page) .interior-cast-grid .public-cast-info h3{
    margin-bottom:2px !important;
    font-size:20px !important;
    line-height:1.2 !important;
}

html body.premium-design-system:not(.cast-detail-page) .interior-cast-grid :is(
    .public-cast-profile-line,
    .public-cast-hobby,
    .public-cast-schedule-row
){
    margin-top:0 !important;
    margin-bottom:0 !important;
    line-height:1.35 !important;
}

html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-button-wrap{
    position:relative !important;
    top:-18px !important;
}

@media(min-width:769px){
    html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .public-cast-photo{
        height:130px !important;
        min-height:130px !important;
        max-height:130px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .public-cast-info{
        gap:3px !important;
        padding:9px 8px 13px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .public-cast-info h3{
        padding-bottom:3px !important;
        font-size:17px !important;
        line-height:1.15 !important;
    }

    html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .v6-cast-actions{
        grid-template-columns:34px minmax(0,1fr) !important;
        width:100% !important;
    }

    html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .v6-favorite-button{
        width:34px !important;
        min-width:34px !important;
        max-width:34px !important;
        height:34px !important;
        min-height:34px !important;
        max-height:34px !important;
        font-size:17px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .v6-line-cast-button{
        width:100% !important;
        max-width:100% !important;
        padding-right:3px !important;
        padding-left:3px !important;
        font-size:10px !important;
    }
}

@media(max-width:768px){
    html body.premium-design-system:not(.cast-detail-page) .v6-line-cast-button{
        width:min(145px,100%) !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-button-wrap{
        top:-15px !important;
    }
}

/* ChouChou Ver6.0 — Premium Button Brush-up */
html body.premium-design-system:not(.cast-detail-page) .v6-cast-actions{grid-template-columns:29px minmax(0,123px) !important;gap:10px !important}
html body.premium-design-system:not(.cast-detail-page) .v6-favorite-button{width:29px !important;min-width:29px !important;max-width:29px !important;height:29px !important;min-height:29px !important;max-height:29px !important;border:1px solid rgba(198,154,72,.68) !important;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(255,226,240,.76)) !important;color:#c582a2 !important;font-size:14px !important;font-weight:400 !important;text-shadow:none !important;box-shadow:0 5px 13px rgba(110,49,78,.09),0 1px 0 rgba(255,255,255,.96) inset !important}
html body.premium-design-system:not(.cast-detail-page) .v6-line-cast-button{display:flex !important;flex-flow:row nowrap !important;align-items:center !important;justify-content:center !important;width:123px !important;min-width:0 !important;max-width:123px !important;height:41px !important;min-height:41px !important;padding:0 22px !important;overflow:hidden !important;border:1px solid rgba(198,154,72,.62) !important;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(255,232,243,.7)) !important;color:#9d5075 !important;backdrop-filter:blur(10px) !important;box-shadow:0 7px 17px rgba(111,48,78,.09),0 1px 0 rgba(255,255,255,.96) inset !important;text-align:center !important;white-space:nowrap !important}
html body.premium-design-system:not(.cast-detail-page) .v6-line-content{display:inline-flex;flex:0 0 auto;flex-flow:row nowrap;align-items:center;justify-content:center;width:max-content;margin:0 auto;gap:12px;white-space:nowrap}
html body.premium-design-system:not(.cast-detail-page) .v6-line-icon{position:static;display:block;width:18px;height:18px;flex:0 0 18px;margin:0;overflow:visible;color:#b58a42;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
html body.premium-design-system:not(.cast-detail-page) .v6-line-label{display:block;flex:0 0 auto;width:auto;margin:0;line-height:1;text-align:center;white-space:nowrap}
html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .public-cast-today-label,html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .public-cast-today-label{font-size:8.5px !important}
html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-image,html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-schedule-list .v9-cast-image{transform:scale(1.06) !important;transform-origin:center top !important}
@media(hover:hover) and (pointer:fine){html body.premium-design-system:not(.cast-detail-page) .v6-favorite-button:hover{color:#b93e78 !important;background:linear-gradient(145deg,#fff4f9,#f7a9ca) !important;transform:translateY(-3px) !important}html body.premium-design-system:not(.cast-detail-page) .v6-line-cast-button:hover{border-color:rgba(198,154,72,.82) !important;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(246,180,210,.86)) !important;color:#8f3f67 !important;transform:translateY(-3px) !important}}
@media(min-width:769px){html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .v6-cast-actions{grid-template-columns:26px 124px !important;gap:6px !important}html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .v6-favorite-button{width:26px !important;min-width:26px !important;max-width:26px !important;height:26px !important;min-height:26px !important;max-height:26px !important;font-size:12px !important}html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .v6-line-cast-button{width:124px !important;max-width:124px !important;height:41px !important;min-height:41px !important;padding:0 22px !important;font-size:8px !important}html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .v6-line-icon{width:18px;height:18px}}
@media(max-width:768px){html body.premium-design-system:not(.cast-detail-page) .v6-line-cast-button{width:min(123px,100%) !important}}

/* =========================================================
   ChouChou Ver6.0 — Cast UI Completion Polish
   Size, spacing and alignment only.
   ========================================================= */
html body.premium-design-system:not(.cast-detail-page) .v6-cast-actions{
    grid-template-columns:31px minmax(0,141px) !important;
    align-items:center !important;
    justify-content:center !important;
    gap:9px !important;
    min-height:41px !important;
}

html body.premium-design-system:not(.cast-detail-page) .v6-favorite-button{
    align-self:center !important;
    width:31px !important;
    min-width:31px !important;
    max-width:31px !important;
    height:31px !important;
    min-height:31px !important;
    max-height:31px !important;
    border-width:1px !important;
    font-size:15px !important;
    box-shadow:0 7px 17px rgba(111,48,78,.09),0 1px 0 rgba(255,255,255,.96) inset !important;
}

html body.premium-design-system:not(.cast-detail-page) .v6-line-cast-button{
    width:141px !important;
    max-width:141px !important;
    height:41px !important;
    min-height:41px !important;
    padding-right:22px !important;
    padding-left:22px !important;
    border-width:1px !important;
    border-radius:999px !important;
}

html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .public-profile-link{
    height:41px !important;
    min-height:41px !important;
    border-width:1px !important;
    border-radius:999px !important;
    transform:translateY(14px) !important;
}

html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .v6-cast-actions{
    margin-top:9px !important;
    transform:translateY(14px) !important;
}

html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .public-cast-info{
    min-height:245px !important;
}

html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-image,
html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-schedule-list .v9-cast-image{
    transform:scale(1.17) !important;
    transform-origin:center top !important;
}

html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-name-row h3{
    font-size:27.3px !important;
    letter-spacing:.075em !important;
}

html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-schedule-list .v9-cast-name-row h3{
    font-size:26px !important;
    letter-spacing:.075em !important;
}

html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-meta-row,
html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-schedule-list .v9-cast-meta-row{
    align-items:center !important;
    min-height:28px !important;
    padding-top:2px !important;
    padding-bottom:2px !important;
}

html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-meta-row :is(dt,dd),
html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-schedule-list .v9-cast-meta-row :is(dt,dd){
    display:flex !important;
    align-items:center !important;
    min-height:20px !important;
}

html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-schedule-list .v9-cast-meta-row{
    grid-template-columns:64px minmax(0,1fr) !important;
}

html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-schedule-list .v9-cast-meta-row dd{
    white-space:nowrap !important;
}

html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v6-cast-actions.is-compact,
html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-schedule-list .v6-cast-actions.is-compact{
    grid-template-columns:28px 124px !important;
    width:158px !important;
    max-width:158px !important;
    height:34px !important;
    min-height:34px !important;
    align-items:center !important;
    gap:6px !important;
}

html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v6-cast-actions.is-compact{
    position:static !important;
    inset:auto !important;
    margin:0 auto !important;
    transform:none !important;
}

html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-schedule-list .v6-cast-actions.is-compact{
    margin:0 auto !important;
    transform:none !important;
}

html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v6-cast-actions.is-compact .v6-favorite-button,
html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-schedule-list .v6-cast-actions.is-compact .v6-favorite-button{
    width:28px !important;
    min-width:28px !important;
    max-width:28px !important;
    height:28px !important;
    min-height:28px !important;
    max-height:28px !important;
}

html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v6-line-cast-button,
html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-schedule-list .v6-line-cast-button{
    width:124px !important;
    max-width:124px !important;
    height:34px !important;
    min-height:34px !important;
    padding-right:12px !important;
    padding-left:12px !important;
}

@media(min-width:769px){
    html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .v6-cast-actions{
        grid-template-columns:28px minmax(0,124px) !important;
        gap:7px !important;
        min-height:41px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .v6-favorite-button{
        width:28px !important;
        min-width:28px !important;
        max-width:28px !important;
        height:28px !important;
        min-height:28px !important;
        max-height:28px !important;
        font-size:13px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .v6-line-cast-button{
        width:124px !important;
        max-width:124px !important;
        padding-right:22px !important;
        padding-left:22px !important;
    }
}

@media(max-width:768px){
    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v9-cast-name-row h3{
        font-size:26.25px !important;
    }

    html body.premium-design-system:not(.cast-detail-page) .v6-line-cast-button{
        width:min(141px,100%) !important;
    }

    html body.premium-design-system:not(.cast-detail-page) #cast.v9-today-card .v6-cast-actions.is-compact{
        position:static !important;
        inset:auto !important;
        margin-right:auto !important;
        margin-left:auto !important;
        transform:none !important;
    }

    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .public-cast-info{
        min-height:0 !important;
    }

    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .public-profile-link,
    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .v6-cast-actions{
        transform:translateY(10px) !important;
    }

    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-schedule-list .v6-cast-actions.is-compact{
        transform:none !important;
    }
}
/* Version 1.0.0 accessibility utility */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Cast list: slightly enlarge NEW and recommended badge artwork. */
html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges .premium-cast-badge{
    width:84px !important;
    min-width:84px !important;
    max-width:84px !important;
    height:56px !important;
    min-height:56px !important;
}

html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges .premium-cast-badge-img,
html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-new,
html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-recommended{
    width:84px !important;
    min-width:84px !important;
    max-width:84px !important;
    height:56px !important;
    min-height:56px !important;
}

@media(max-width:768px){
    html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges .premium-cast-badge,
    html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges .premium-cast-badge-img,
    html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-new,
    html body.premium-design-system:not(.cast-detail-page) .princess-home #cast-list .public-cast-badges img.premium-cast-badge-img-recommended{
        width:68px !important;
        min-width:68px !important;
        max-width:68px !important;
        height:45px !important;
        min-height:45px !important;
    }
}

/* Cast list mobile: badge sizing and centered LINE CTA only. */
@media(max-width:768px){
    html body.premium-design-system.interior-page:not(.cast-detail-page) .cast-line-guide{
        align-items:center !important;
    }

    html body.premium-design-system.interior-page:not(.cast-detail-page) .cast-line-guide .button-premium{
        display:flex !important;
        justify-content:center !important;
        width:90% !important;
        max-width:320px !important;
        margin-right:auto !important;
        margin-left:auto !important;
    }

    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .public-cast-photo > .public-cast-badges.cast-badge-layer{
        inset:auto !important;
        top:12px !important;
        left:12px !important;
        right:auto !important;
        bottom:auto !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:flex-start !important;
        width:46px !important;
        max-width:46px !important;
        gap:8px !important;
        z-index:4 !important;
    }

    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .public-cast-photo > .public-cast-badges.cast-badge-layer .premium-cast-badge{
        display:block !important;
        flex:0 0 46px !important;
        width:46px !important;
        min-width:46px !important;
        max-width:46px !important;
        height:46px !important;
        min-height:46px !important;
        max-height:46px !important;
        padding:0 !important;
        overflow:visible !important;
        border:0 !important;
        border-radius:0 !important;
        outline:0 !important;
        background:transparent !important;
        box-shadow:none !important;
    }

    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .public-cast-photo > .public-cast-badges.cast-badge-layer :is(
        .premium-cast-badge-img,
        img.premium-cast-badge-img-new,
        img.premium-cast-badge-img-recommended
    ){
        display:block !important;
        width:46px !important;
        min-width:46px !important;
        max-width:46px !important;
        height:46px !important;
        min-height:46px !important;
        max-height:46px !important;
        object-fit:contain !important;
        border:0 !important;
        border-radius:0 !important;
        outline:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        filter:drop-shadow(0 4px 6px rgba(111,59,86,.18)) !important;
    }
}

/* Cast list mobile additional UI correction: image badges and LINE text only. */
@media(max-width:767px){
    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .public-cast-photo .public-cast-badges.cast-badge-layer{
        inset:auto !important;
        top:16px !important;
        left:16px !important;
        right:auto !important;
        bottom:auto !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:flex-start !important;
        justify-content:flex-start !important;
        width:40px !important;
        max-width:40px !important;
        gap:9px !important;
        padding:0 !important;
        border:0 !important;
        outline:0 !important;
        background:transparent !important;
        box-shadow:none !important;
    }

    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .public-cast-photo .public-cast-badges.cast-badge-layer .premium-cast-badge{
        display:block !important;
        flex:0 0 40px !important;
        width:40px !important;
        min-width:40px !important;
        max-width:40px !important;
        height:40px !important;
        min-height:40px !important;
        max-height:40px !important;
        padding:0 !important;
        overflow:visible !important;
        border:0 !important;
        border-radius:50% !important;
        outline:0 !important;
        background:transparent !important;
        box-shadow:none !important;
    }

    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .public-cast-photo .public-cast-badges.cast-badge-layer :is(
        .premium-cast-badge-img,
        img.premium-cast-badge-img-new,
        img.premium-cast-badge-img-recommended
    ){
        display:block !important;
        width:40px !important;
        min-width:40px !important;
        max-width:40px !important;
        height:40px !important;
        min-height:40px !important;
        max-height:40px !important;
        object-fit:contain !important;
        border:0 !important;
        border-radius:50% !important;
        outline:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        text-shadow:none !important;
        filter:drop-shadow(0 3px 5px rgba(111,59,86,.16)) !important;
    }

    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .v6-cast-actions:not(.is-compact) .v6-line-cast-button,
    html body.premium-design-system.interior-page:not(.cast-detail-page) .cast-line-guide .button-premium{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        text-align:center !important;
        text-shadow:none !important;
        -webkit-text-stroke:0 !important;
        -webkit-font-smoothing:antialiased !important;
        -moz-osx-font-smoothing:grayscale !important;
    }

    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .v6-cast-actions:not(.is-compact) .v6-line-cast-button{
        justify-self:center !important;
        width:100% !important;
        max-width:320px !important;
        height:48px !important;
        min-height:48px !important;
        padding:0 18px !important;
    }

    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .v6-line-content{
        display:inline-flex !important;
        flex:0 0 auto !important;
        flex-flow:row nowrap !important;
        align-items:center !important;
        justify-content:center !important;
        width:auto !important;
        max-width:100% !important;
        margin:0 auto !important;
        gap:8px !important;
        white-space:nowrap !important;
    }

    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .v6-line-icon{
        flex:0 0 18px !important;
        width:18px !important;
        height:18px !important;
    }

    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .v6-line-label{
        display:block !important;
        flex:0 0 auto !important;
        width:auto !important;
        min-width:0 !important;
        margin:0 !important;
        overflow:visible !important;
        color:inherit !important;
        line-height:1 !important;
        text-align:center !important;
        text-shadow:none !important;
        white-space:nowrap !important;
        -webkit-text-stroke:0 !important;
    }
}

/* Cast list mobile re-correction: large clean badges and crisp centered LINE button. */
@media(max-width:767px){
    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .public-cast-photo .public-cast-badges.cast-badge-layer{
        inset:auto !important;
        top:12px !important;
        left:12px !important;
        right:auto !important;
        bottom:auto !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:flex-start !important;
        justify-content:flex-start !important;
        width:56px !important;
        min-width:56px !important;
        max-width:56px !important;
        gap:12px !important;
        padding:0 !important;
        border:0 !important;
        border-radius:0 !important;
        outline:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        filter:none !important;
        pointer-events:none !important;
        z-index:5 !important;
    }

    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .public-cast-photo .public-cast-badges.cast-badge-layer .premium-cast-badge{
        display:block !important;
        flex:0 0 auto !important;
        width:56px !important;
        min-width:56px !important;
        max-width:56px !important;
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        padding:0 !important;
        overflow:visible !important;
        border:0 !important;
        border-radius:0 !important;
        outline:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        filter:none !important;
    }

    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .public-cast-photo .public-cast-badges.cast-badge-layer :is(
        .premium-cast-badge-img,
        img.premium-cast-badge-img-new,
        img.premium-cast-badge-img-recommended
    ){
        display:block !important;
        width:56px !important;
        min-width:56px !important;
        max-width:56px !important;
        height:auto !important;
        min-height:0 !important;
        max-height:56px !important;
        aspect-ratio:auto !important;
        object-fit:contain !important;
        object-position:center !important;
        padding:0 !important;
        border:0 !important;
        border-radius:0 !important;
        outline:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        filter:none !important;
        text-shadow:none !important;
    }

    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .v6-cast-actions:not(.is-compact) .v6-line-cast-button{
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        justify-self:center !important;
        gap:10px !important;
        width:100% !important;
        max-width:320px !important;
        min-height:52px !important;
        height:52px !important;
        padding:0 16px !important;
        overflow:hidden !important;
        color:#fff !important;
        font-size:16px !important;
        font-weight:600 !important;
        line-height:1 !important;
        text-align:center !important;
        text-decoration:none !important;
        text-shadow:none !important;
        white-space:nowrap !important;
        -webkit-text-stroke:0 !important;
        -webkit-font-smoothing:antialiased !important;
        -moz-osx-font-smoothing:grayscale !important;
    }

    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .v6-cast-actions:not(.is-compact) .v6-line-cast-button::before,
    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .v6-cast-actions:not(.is-compact) .v6-line-cast-button::after,
    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .v6-line-content::before,
    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .v6-line-content::after,
    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .v6-line-label::before,
    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .v6-line-label::after{
        content:none !important;
        display:none !important;
    }

    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .v6-line-content{
        display:inline-flex !important;
        flex:0 0 auto !important;
        flex-flow:row nowrap !important;
        align-items:center !important;
        justify-content:center !important;
        width:auto !important;
        max-width:100% !important;
        margin:0 auto !important;
        gap:10px !important;
        color:inherit !important;
        line-height:1 !important;
        text-align:center !important;
        text-shadow:none !important;
        white-space:nowrap !important;
        -webkit-text-stroke:0 !important;
    }

    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .v6-line-icon{
        display:block !important;
        flex:0 0 18px !important;
        width:18px !important;
        height:18px !important;
        margin:0 !important;
    }

    html body.premium-design-system.interior-page:not(.cast-detail-page) .interior-cast-grid .v6-line-label{
        display:block !important;
        flex:0 0 auto !important;
        width:auto !important;
        min-width:0 !important;
        max-width:none !important;
        margin:0 !important;
        overflow:visible !important;
        color:inherit !important;
        font-size:16px !important;
        font-weight:600 !important;
        line-height:1 !important;
        text-align:center !important;
        text-shadow:none !important;
        white-space:nowrap !important;
        -webkit-text-stroke:0 !important;
    }
}
