/* Editorial direction: deep ruby, warm gold, quiet typography. */
body { background: #100407; }
.ambient { background: radial-gradient(ellipse at 55% 10%,#32060f 0,transparent 55%),linear-gradient(#110407,#09090c 65%); }
.ambient span,.ambient i { display:none; }
.page > .site-header { display:flex!important; align-items:center; justify-content:space-between; height:88px; min-height:88px; padding:14px max(24px,calc((100vw - 1180px)/2))!important; gap:20px; overflow:visible!important; background:rgba(12,5,8,.96); border-bottom:1px solid rgba(239,199,119,.4); box-shadow:none; }
.site-header .brand { display:flex; flex-direction:column; align-items:flex-start; gap:2px; flex-shrink:0; letter-spacing:0; }
.site-header .brand b { font:500 36px/1 'Cormorant Garamond',Georgia,serif; color:#fae8a9; background:none; -webkit-text-fill-color:#fae8a9; }
.site-header .brand span { font:500 8px/1.5 Manrope,Arial,sans-serif; color:#f7e7b3; letter-spacing:.38em; }
.header-actions { display:flex; align-items:center; gap:16px; margin-left:auto; }
.site-header .header-actions .header-book { display:inline-flex!important; min-height:40px; padding:10px 18px; font:600 12px/1 Manrope,Arial,sans-serif; letter-spacing:.02em; text-transform:none; color:#140d08; background:linear-gradient(120deg,#fff0b5,#f2bf50); border:1px solid #f0cf7a; box-shadow:none; }
.site-header .menu-toggle { display:flex!important; flex-direction:column; align-items:center; justify-content:center; gap:6px; width:34px; height:40px; padding:5px; border:0; background:none; cursor:pointer; }
.menu-toggle span { width:24px; height:2px; background:#f5d37f; display:block; }
.page .site-header .nav { display:none!important; position:absolute; top:calc(100% + 1px); right:20px; left:auto; width:220px; padding:22px!important; flex-direction:column; align-items:stretch; gap:0; background:#100b0f; border:1px solid #5f3d29; box-shadow:0 16px 35px #0008; }
.page .site-header .nav.is-open { display:flex!important; }
.site-header .nav a { padding:14px 8px; font:500 15px/1.4 Manrope,Arial,sans-serif; color:#f5dfaa; text-transform:none; letter-spacing:.03em; border-bottom:1px solid #8e64392b; }
main { padding-top:88px!important; }
.favorites-bag { display:inline-flex; align-items:center; gap:10px; min-height:40px; padding:7px 12px; border:1px solid #b88a47; border-radius:5px; background:transparent; color:#efc777; font:700 10px/1.3 Manrope,Arial,sans-serif; text-transform:uppercase; letter-spacing:.18em; cursor:pointer; transition:background .2s,color .2s; }
.favorites-bag svg { width:23px; height:25px; stroke:currentColor; fill:none; stroke-width:1.5; }
.favorites-bag svg .bag-heart { fill:currentColor; stroke:none; }
.favorites-count { width:25px; height:25px; display:inline-flex; align-items:center; justify-content:center; border:1px solid currentColor; border-radius:50%; font-size:12px; letter-spacing:0; }
.favorites-bag.has-favorites { background:linear-gradient(120deg,#42131d,#210a11); }
.favorites-bag.has-favorites .favorites-count { background:#efc777; color:#22100d; }
.favorites-bag:hover { background:#f3ce7c; color:#150c08; }
.editorial-hero { border-bottom:1px solid #a87b343d; background:radial-gradient(ellipse at 60% 30%,#37050e66,transparent 68%); padding:64px 0 0; }
.editorial-hero-inner { max-width:1100px; }
.editorial-eyebrow { margin:0 0 20px; color:#e9cd8c; font:500 11px/1.7 Manrope,Arial,sans-serif; letter-spacing:.34em; text-transform:uppercase; }
.editorial-hero h1 { margin:0; font:500 clamp(56px,7.8vw,104px)/.98 'Cormorant Garamond',Georgia,serif; letter-spacing:-.035em; color:#ffebad; }
.editorial-hero-description { max-width:560px; margin:24px 0 0; color:#f1dfb9; font:400 17px/1.7 Manrope,Arial,sans-serif; }
.editorial-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:28px; }
.editorial-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:12px 20px; border:1px solid transparent; border-radius:2px; cursor:pointer; text-decoration:none; font:600 13px/1.4 Manrope,Arial,sans-serif; transition:background .2s,filter .2s; }
.editorial-button-gold { color:#140b07; border-color:#f1d58e; background:linear-gradient(120deg,#fff0b5,#efbb4b); }
.editorial-button-gold:hover { filter:brightness(1.1); }
.editorial-button-outline { color:#f6e2ae; border-color:#8b253e; background:transparent; }
.editorial-button-outline:hover { background:#35101c; }
.editorial-text-link { padding:7px 0; display:inline-flex; align-items:center; gap:10px; border-bottom:1px solid #d6b571; color:#f4dfaa; font:500 13px/1.5 Manrope,Arial,sans-serif; }
.editorial-hero-feature { margin:42px 0 0; }
.editorial-hero-photo { display:block; width:100%; aspect-ratio:16/10; overflow:hidden; background:#0c0b0d; }
.editorial-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:center 25%; }
.editorial-hero-feature figcaption { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 0 28px; }
.editorial-hero-feature h2 { margin:0; color:#f3d68b; font:500 40px/1.1 'Cormorant Garamond',Georgia,serif; }
.editorial-hero-feature figcaption p { margin:7px 0 0; color:#e4c995; font:400 10px/1.5 Manrope,Arial,sans-serif; letter-spacing:.2em; }
.editorial-roster { padding:60px 0; background:#09090d; }
.editorial-roster .section-head h2 { font:500 clamp(38px,5vw,64px)/1.1 'Cormorant Garamond',Georgia,serif; color:#f4d892; background:none; -webkit-text-fill-color:#f4d892; margin:0; }
.editorial-roster .controls { margin:28px 0 32px; }
.model-grid.talent-grid { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:48px 28px!important; }
.talent-card.model-card.contact-card { min-width:0; margin:0; padding:0; background:transparent; border:0; box-shadow:none; border-radius:0; transform:none; overflow:visible; }
.talent-card.model-card:hover { border:0; box-shadow:none; transform:none; }
.talent-card-heading { display:flex; justify-content:space-between; gap:10px; margin-bottom:15px; color:#e7c76f; font:400 10px/1.4 Manrope,Arial,sans-serif; text-transform:uppercase; letter-spacing:.22em; }
.talent-visual { position:relative; overflow:hidden; background:#111015; }
.talent-card .talent-photo { display:block; width:100%; aspect-ratio:3/4; background:#111015; overflow:hidden; }
.talent-photo img.main-card-photo { display:block; width:100%; height:100%; object-fit:cover; object-position:center top; }
.talent-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:2; width:44px; height:64px; display:flex; align-items:center; justify-content:center; border:0; background:linear-gradient(90deg,#0004,transparent); color:#fff3c9; font:300 54px/1 Georgia,serif; text-shadow:0 2px 8px #000; cursor:pointer; }
.talent-arrow-prev { left:0; }
.talent-arrow-next { right:0; background:linear-gradient(270deg,#0004,transparent); }
.favorite-toggle { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; padding:10px; border:1px solid #e9c67580; border-radius:50%; background:#0e0b0bc4; color:#f0d695; cursor:pointer; }
.talent-visual > .favorite-toggle { position:absolute; right:12px; top:12px; z-index:3; }
.favorite-toggle svg { width:21px; height:21px; fill:transparent; stroke:currentColor; stroke-width:1.6; }
.favorite-toggle.is-saved { color:#f4cd70; background:#3e111fd9; }
.favorite-toggle.is-saved svg { fill:currentColor; }
.talent-dots { display:flex; justify-content:center; gap:9px; min-height:38px; align-items:center; }
.talent-dots button { width:7px; height:7px; padding:0; border:0; border-radius:50%; background:#4a4849; cursor:pointer; position:relative; }
.talent-dots button::before { content:''; position:absolute; inset:-6px; }
.talent-dots button.is-active { background:linear-gradient(#ffe8a0,#e7ac39); }
.talent-info h3 { color:#efcb74; margin:4px 0 7px; font:500 48px/1.05 'Cormorant Garamond',Georgia,serif; letter-spacing:-.02em; overflow-wrap:anywhere; }
.talent-info p { color:#ecdbb4; margin:0; font:400 12px/1.6 Manrope,Arial,sans-serif; }
.talent-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:22px; padding-top:20px; border-top:1px solid #7b2038; }
.talent-actions .editorial-button { width:100%; min-width:0; padding-inline:8px; min-height:48px; }
.profile-actions .favorite-toggle { flex-shrink:0; align-self:center; }
.favorites-panel[hidden],.favorites-empty[hidden],.favorites-clear[hidden] { display:none!important; }
.favorites-lock { overflow:hidden!important; }
.favorites-panel { position:fixed; inset:0; z-index:1100; display:flex; justify-content:flex-end; }
.favorites-backdrop { position:absolute; inset:0; width:100%; height:100%; border:0; background:#000a; backdrop-filter:blur(5px); cursor:pointer; }
.favorites-dialog { position:relative; width:min(440px,100%); height:100%; padding:30px 24px; overflow-y:auto; background:#0e0b10; border-left:1px solid #b68b45; box-shadow:-20px 0 60px #0008; }
.favorites-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:24px; }
.favorites-panel-head .editorial-eyebrow { font-size:9px; margin-bottom:8px; }
.favorites-panel-head h2 { color:#f2d389; font:500 40px/1 'Cormorant Garamond',Georgia,serif; margin:0; }
.favorites-panel-head h2 span { font:500 15px Manrope,Arial,sans-serif; }
.favorites-close { width:40px; height:40px; flex-shrink:0; font:300 30px/1 Manrope,Arial,sans-serif; background:transparent; color:#efcf82; border:1px solid #815b34; cursor:pointer; }
.favorite-item { display:flex; align-items:center; gap:15px; position:relative; padding:20px 0; border-bottom:1px solid #78532e50; }
.favorite-item-photo { width:75px; height:95px; flex-shrink:0; background:#18121a; }
.favorite-item-photo img { width:100%; height:100%; object-fit:cover; }
.favorite-item-body { min-width:0; flex:1; }
.favorite-item-name { display:block; padding-right:20px; color:#efce81; font:500 28px/1.1 'Cormorant Garamond',Georgia,serif; overflow-wrap:anywhere; }
.favorite-item-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:14px; }
.favorite-item-actions a,.favorite-item-actions button { padding:0 0 3px; font:500 11px/1.5 Manrope,Arial,sans-serif; background:none; color:#f3dfa7; border:0; border-bottom:1px solid #93723a; cursor:pointer; }
.favorite-item-remove { position:absolute; right:0; top:18px; width:28px; height:28px; border:0; background:none; color:#e7ca92; font:24px/1 Arial,sans-serif; cursor:pointer; }
.favorites-empty { padding:40px 0; text-align:center; font-family:Manrope,Arial,sans-serif; }
.favorites-empty p { color:#f1d18a; font-size:18px; }
.favorites-empty span { display:block; font-size:13px; line-height:1.7; color:#c1b18e; margin:14px 0 24px; }
.favorites-clear { color:#cbb788; background:none; padding:20px 0 0; font:500 12px Manrope,Arial,sans-serif; border:0; text-decoration:underline; cursor:pointer; }
.favorites-note { font:400 11px/1.6 Manrope,Arial,sans-serif; color:#c3ae79; }
.editorial-button:focus-visible,.favorite-toggle:focus-visible,.favorites-bag:focus-visible,.talent-arrow:focus-visible,.talent-dots button:focus-visible { outline:2px solid #ffe6a0; outline-offset:4px; }
@media(max-width:1000px) {
  .model-grid.talent-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:42px 22px!important; }
  .favorites-bag-label { display:none; }
  .page > .site-header { padding-inline:24px!important; }
}
@media(max-width:620px) {
  .page > .site-header { height:76px; min-height:76px; padding:10px 16px!important; gap:8px; }
  .site-header .brand b { font-size:29px; }
  .site-header .brand span { font-size:6.5px; letter-spacing:.27em; }
  .header-actions { gap:9px; }
  .site-header .header-actions .header-book { padding:9px 10px; min-height:34px; font-size:10px; }
  .site-header .menu-toggle { width:26px; height:36px; padding:2px; gap:5px; }
  .menu-toggle span { width:22px; }
  .favorites-bag { padding:4px; width:33px; height:36px; min-height:36px; border:0; position:relative; background:none!important; }
  .favorites-bag svg { width:22px; height:25px; }
  .favorites-bag .favorites-count { position:absolute; right:-1px; top:0; width:15px; height:15px; font-size:9px; background:#16080d; }
  .favorites-bag.has-favorites .favorites-count { background:#efc777; }
  .page .site-header .nav { right:16px; }
  main { padding-top:76px!important; }
  .editorial-hero { padding-top:36px; }
  .editorial-hero .container { width:calc(100% - 40px); }
  .editorial-eyebrow { font-size:9px; letter-spacing:.24em; margin-bottom:22px; }
  .editorial-hero h1 { font-size:clamp(42px,11.6vw,72px); line-height:1.02; }
  .editorial-hero-description { font-size:14px; margin-top:19px; line-height:1.8; }
  .editorial-hero-actions { gap:18px; margin-top:22px; }
  .editorial-hero-actions .editorial-button { padding:10px 14px; font-size:11px; min-height:40px; gap:8px; }
  .editorial-hero-actions .editorial-text-link { font-size:11px; gap:6px; }
  .editorial-hero-feature { margin-top:30px; }
  .editorial-hero-photo { aspect-ratio:1/1.05; }
  .editorial-hero-feature h2 { font-size:34px; }
  .editorial-hero-feature figcaption p { font-size:9px; letter-spacing:.12em; }
  .editorial-hero-feature .editorial-text-link { font-size:12px; }
  .editorial-roster { padding:42px 0; }
  .editorial-roster .container { width:calc(100% - 40px); }
  .editorial-roster .controls { gap:15px; }
  .model-grid.talent-grid { grid-template-columns:minmax(0,1fr)!important; gap:42px!important; }
  .talent-card-heading { font-size:10px; margin-bottom:14px; }
  .talent-card .talent-photo { aspect-ratio:3/4; }
  .talent-info h3 { font-size:48px; }
  .talent-info p { font-size:13px; }
  .talent-actions .editorial-button { font-size:13px; min-height:48px; }
  .talent-arrow { width:44px; height:70px; }
}
@media(max-width:360px) {
  .page > .site-header { padding-inline:12px!important; }
  .site-header .brand b { font-size:25px; }
  .site-header .brand span { font-size:6px; }
  .header-actions { gap:7px; }
  .editorial-hero .container,.editorial-roster .container { width:calc(100% - 32px); }
  .editorial-hero h1 { font-size:40px; }
  .editorial-hero-actions { gap:14px; }
}
@media(prefers-reduced-motion:reduce) { .editorial-button,.favorites-bag { transition:none; } }
.site-header .brand span { display:block!important; }
@media(max-width:620px) { .floating-contact { right:12px; bottom:88px; } }

/* Direct chat label and touch-friendly galleries. */
.floating-contact .floating-contact-btn.tg { width:auto; max-width:235px; height:56px; border-radius:12px; padding:9px 15px; gap:10px; text-decoration:none; }
.floating-contact .floating-contact-btn.tg svg { width:25px; height:25px; flex-shrink:0; }
.floating-contact-copy { display:flex; flex-direction:column; gap:3px; min-width:0; color:#fff; text-align:left; font-family:Manrope,Arial,sans-serif; }
.floating-contact-copy strong { font-size:11px; font-weight:500; opacity:.9; }
.floating-contact-copy small { font-size:12px; line-height:1.3; font-weight:700; overflow-wrap:anywhere; }
.profile-main-photo,.talent-photo { touch-action:pan-y pinch-zoom; user-select:none; -webkit-user-select:none; }
.profile-main-photo img,.talent-photo img { -webkit-user-drag:none; user-select:none; }
.booking-selected-model { color:#e6c572; font:500 20px/1.4 'Cormorant Garamond',Georgia,serif; }
.footer-grid > div:first-child p { max-width:280px; line-height:1.7; }
@media(max-width:620px) { .floating-contact .floating-contact-btn.tg { min-height:48px; height:auto; max-width:190px; padding:8px 12px; border-radius:10px; gap:8px; } .floating-contact-copy small { font-size:11px; } .floating-contact-copy strong { font-size:10px; } }

/* Direct Telegram actions and lower floating chat. */
.floating-contact { bottom:calc(14px + env(safe-area-inset-bottom, 0px)); right:14px; }
.telegram-direct,.talent-actions .telegram-direct { background:#229ed9; border:1px solid #229ed9; color:#fff; box-shadow:none; font:600 13px/1.4 Manrope,Arial,sans-serif; text-transform:none; letter-spacing:0; gap:9px; min-height:48px; }
.telegram-direct svg { width:21px; height:21px; flex-shrink:0; fill:currentColor; }
.telegram-direct:hover { background:#1688bc; border-color:#1688bc; color:#fff; }
@media(max-width:620px) { .profile-actions .telegram-direct { width:100%; } }
