/* Dam Square Escorts: site design system.
   Charcoal ground, cold white type, one signal red, a time rail every section hangs from.
   Khand (display), Golos Text (text), IBM Plex Mono (data). Nothing on the page moves by itself. */

/* ================================================================ tokens */
:root{
  --bg:#101215;--bg2:#15181c;--bg3:#1b1f24;--panel:#1a1e23;
  --ink:#f3f7f9;--cold:#dfeaef;--steel:#8b9aa4;
  --mut:rgba(243,247,249,.72);--dim:rgba(243,247,249,.56);
  --line:rgba(223,234,239,.1);--line2:rgba(223,234,239,.24);
  --sig:#e0503c;--ok:#8fd6b0;
  --head:"Khand",system-ui,sans-serif;
  --body:"Golos Text",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --g:clamp(16px,4.5vw,60px);--max:1260px;--hh:76px;
  --ease:cubic-bezier(.25,.9,.3,1);
  /* names the page markup already uses in its style attributes */
  --rose:var(--cold);--rose-dark:var(--ink);--rose-hover:#fff;--rose-light:var(--steel);
  --rose-bg:rgba(223,234,239,.06);--rose-light-bg:rgba(223,234,239,.04);
  --text-primary:var(--ink);--text-secondary:var(--mut);--text-muted:var(--dim);
  --white:var(--panel);--off-white:var(--bg2);--sand:var(--bg3);--dark:var(--bg);
  --border:var(--line);--border-light:var(--line);
  --font-display:var(--head);--font-body:var(--body);
}
@media (max-width:640px){:root{--hh:64px}}

/* ================================================================ base */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;background:var(--bg)}
html,body{overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
body{background:var(--bg);color:var(--ink);font:400 1rem/1.7 var(--body);-webkit-font-smoothing:antialiased;counter-reset:rail}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse 80% 40% at 50% -5%,rgba(223,234,239,.1),transparent 70%),linear-gradient(180deg,transparent 60%,rgba(0,0,0,.5))}
::selection{background:var(--cold);color:#101215}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
img{max-width:100%;height:auto}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
svg{max-width:100%}
input,select,textarea{font:inherit;color:var(--ink)}
:focus-visible{outline:2px solid var(--cold);outline-offset:3px}
strong,b{font-weight:600}
main{display:block}
section{position:relative;scroll-margin-top:calc(var(--hh) + 20px)}
.container{max-width:var(--max);margin-inline:auto;padding-inline:var(--g)}
.skip-link:focus{background:var(--cold)!important;color:#101215!important;padding:.8rem 1.2rem!important;font:600 1rem/1 var(--head)!important;letter-spacing:.08em;text-transform:uppercase}
h1,h2,h3,h4{font-family:var(--head);font-weight:600;line-height:1.05;letter-spacing:.02em;text-transform:uppercase;color:var(--ink)}
h1 em,h2 em,h3 em,h4 em{font-style:normal!important;color:var(--steel)!important}
/* headings that carry their own style attribute still take the display face */
h1[style],h2[style],h3[style]{font-family:var(--head)!important;font-weight:600!important;text-transform:uppercase;letter-spacing:.02em!important;line-height:1.08!important}
p a,li a,td a,.seo-inner a,.faq-ans a,.faq-a a{color:var(--cold);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line2)}
p a:hover,li a:hover,td a:hover{text-decoration-color:var(--cold)}
hr{border:0;border-top:1px solid var(--line)}
table{border-collapse:collapse;width:100%}
blockquote{margin:1.6rem 0;padding:1.1rem 1.3rem;border-left:2px solid var(--cold);background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);font-size:1.02rem}
blockquote p{margin:0!important;color:var(--ink)!important}

/* nothing animates: every reveal is simply shown */
.reveal,.reveal.visible,.j-card{opacity:1!important;transform:none!important;animation:none!important}
*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}

/* ================================================================ atoms */
.svc,.section-label,.page-hero-eyebrow,.j-eyebrow,.error-eyebrow,.cta-pre,.article-meta,.rates-title,.cats-label,.locs-label,.profile-cats-title,.profile-locs-title,.sidebar-card-title,.faq-category-label,.footer-col-title,.listed-on-label{
  font:500 .68rem/1.3 var(--mono)!important;letter-spacing:.14em!important;text-transform:uppercase;color:var(--dim)}
.section-label span{color:inherit}
.section-label,.page-hero-eyebrow,.j-eyebrow,.cta-pre{display:inline-flex;align-items:center;gap:.55rem}
.page-hero-eyebrow::before,.j-eyebrow::before,.cta-pre::before,.error-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok);flex:none}
.section-title,.faq-heading,.gal-h,.gal-heading,.other-h,.other-heading,.bio-h,.bio-heading,.gallery-heading,.services-strip h2,.wa-cta h2{
  font:600 clamp(1.9rem,4.4vw,3.4rem)/1.02 var(--head)!important;letter-spacing:.005em;text-transform:uppercase;color:var(--ink)}
.section-label+.section-title,.section-label+h2{margin-top:.55rem}
.section-title em,.other-h em{color:var(--steel)!important;font-style:normal!important}

/* buttons */
.btn,.btn-primary,.btn-wa,.cbtn-wa,.btn-wa-p,.wa-btn,.wa-cta-btn,.sidebar-cta,.faq-cta,.m-book,.book-btn,.j-load-btn,.contact-btn.btn-wa,
.btn-outline,.btn-out,.cbtn-book,.btn-book-p,.btn-book,.j-reset-btn,.service-link{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:54px;padding:1rem 1.6rem;border-radius:2px;
  font:500 .74rem/1 var(--body)!important;letter-spacing:.16em!important;text-transform:uppercase;white-space:nowrap;text-decoration:none!important;
  background:var(--cold);color:#101215;box-shadow:0 18px 40px -22px rgba(223,234,239,.6);border:0;cursor:pointer}
.btn:hover,.btn-primary:hover,.btn-wa:hover,.cbtn-wa:hover,.btn-wa-p:hover,.wa-btn:hover,.wa-cta-btn:hover,.sidebar-cta:hover,.faq-cta:hover,.m-book:hover,.book-btn:hover,.j-load-btn:hover,.contact-btn.btn-wa:hover{background:#fff}
.btn-outline,.btn-out,.cbtn-book,.btn-book-p,.btn-book,.j-reset-btn,.service-link,.btn.gh{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line2)}
.btn-outline:hover,.btn-out:hover,.cbtn-book:hover,.btn-book-p:hover,.btn-book:hover,.j-reset-btn:hover,.service-link:hover,.btn.gh:hover{background:rgba(223,234,239,.07);box-shadow:inset 0 0 0 1px var(--cold)}
:is(.btn,.btn-primary,.btn-outline,.btn-wa,.btn-out,.cbtn,.contact-btn,.wa-btn,.wa-cta-btn,.sidebar-cta,.faq-cta,.m-book,.book-btn,.footer-wa) svg{width:18px;height:18px;flex:none;fill:currentColor}
.hero-actions,.cta-actions,.cta-btns,.error-actions,.contact-btns,.profile-contact-btns{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}
/* Telegram, the second choice beside every WhatsApp button */
.tg-inj{box-shadow:inset 0 0 0 1px var(--line2)!important}
/* Telegram follows WhatsApp: the gap sits on the right of WhatsApp, so a Telegram button that wraps to its own line starts flush left (tg-primary.js sets an inline 10px left margin) */
a:not(.footer-wa)+a.tg-inj{margin-left:0!important}
:not(.hero-actions,.cta-actions,.cta-btns,.contact-btns,.profile-contact-btns,.hero-cta,.error-actions)>a:not(.footer-wa):has(+a.tg-inj){margin-right:.7rem}
:is(.hero-actions,.cta-actions,.cta-btns,.contact-btns,.profile-contact-btns,.hero-cta,.error-actions) .tg-inj{margin-left:0!important}
.footer-wa+.tg-inj{margin-left:1rem}

/* chips and tags */
.filter-btn,.chip,.cat-tag,.j-tab{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .85rem;border-radius:1px;border:0;background:transparent;
  font:500 .64rem/1 var(--mono)!important;letter-spacing:.1em!important;text-transform:uppercase;color:var(--mut);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;text-decoration:none!important}
.filter-btn:hover,.chip:hover,.cat-tag:hover,.j-tab:hover{color:var(--ink);box-shadow:inset 0 0 0 1px var(--line2)}
.filter-btn.active,.j-tab.active{background:var(--cold);color:#101215;box-shadow:none}
.ribbon,.ecard-ribbon{position:absolute;left:.85rem;top:.85rem;z-index:4;display:inline-flex;align-items:center;gap:.4rem;padding:.34rem .58rem;border-radius:1px;
  background:rgba(16,18,21,.7);box-shadow:inset 0 0 0 1px rgba(143,214,176,.45);font:500 .6rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ok)}
.ribbon::before,.ecard-ribbon::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ok)}

/* ================================================================ header */
header.site{position:sticky;top:0;z-index:70;background:rgba(16,18,21,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.head-in{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--hh);max-width:var(--max);margin-inline:auto;padding-inline:var(--g)}
.logo{display:flex;align-items:center;gap:.75rem;min-width:0;flex:none;text-decoration:none}
.logo-mark{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:1px;background:var(--cold);color:#101215;font:600 1.35rem/1 var(--head)}
.logo-text{display:block;font:600 1.5rem/.95 var(--head);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;color:var(--ink)}
.logo-text small,.logo-text .logo-sub{display:block;margin-top:.2rem;font:500 .54rem/1 var(--mono);letter-spacing:.2em;color:var(--dim);text-transform:none}
nav.main{display:flex;align-items:center;gap:.1rem;flex-wrap:nowrap}
nav.main>a,nav.main .nav-drop>a{display:block;padding:.6rem .7rem;font:500 1.08rem/1 var(--head);letter-spacing:.05em;text-transform:uppercase;color:var(--mut);white-space:nowrap}
nav.main>a:hover,nav.main .nav-drop>a:hover,nav.main a.active,nav.main a[aria-current]{color:var(--ink);background:rgba(223,234,239,.06)}
nav.main .nav-drop{position:relative}
nav.main .drop-menu{display:none!important}
.head-r{display:flex;align-items:center;gap:.7rem}
.hcount{display:flex;align-items:center;gap:.5rem;padding:.45rem .7rem;border-radius:1px;font:500 .6rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cold);box-shadow:inset 0 0 0 1px var(--line);white-space:nowrap}
.hcount::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok)}
.head-cta{min-height:44px!important;padding:.75rem 1.1rem!important;font-size:.68rem!important}
.header-phone:empty{display:none}
.menu-btn{display:none;width:44px;height:44px;border-radius:1px;flex-direction:column;align-items:center;justify-content:center;gap:5px;box-shadow:inset 0 0 0 1px var(--line2)}
.menu-btn span{display:block;width:18px;height:2px;background:var(--ink)}
@media (max-width:1500px){.hcount{display:none}}
@media (max-width:1180px){nav.main{display:none}.menu-btn{display:flex}}
@media (max-width:640px){.head-cta{display:none!important}.logo-text{font-size:1.2rem}.logo-text small,.logo-text .logo-sub{display:none}.logo-mark{width:36px;height:36px;font-size:1.2rem}}

/* the phone menu drops from the header, still */
.mobile-menu{position:fixed;left:0;right:0;top:var(--hh);z-index:69;display:none;max-height:calc(100vh - var(--hh));overflow:auto;
  padding:.5rem var(--g) 1.6rem;background:var(--bg2);border-bottom:1px solid var(--line)}
.mobile-menu.open{display:block}
.mobile-menu>a{display:block;padding:.85rem 0;border-bottom:1px solid var(--line);font:500 1.5rem/1 var(--head);letter-spacing:.05em;text-transform:uppercase;color:var(--ink)}
.mobile-menu>a.m-book{display:flex;margin-top:1.2rem;border-bottom:0;padding:1rem 1.6rem;font:500 .74rem/1 var(--body)!important;color:#101215}
.mobile-close{display:block;margin:0 0 .3rem auto;width:44px;height:44px;font-size:1.8rem;line-height:1;color:var(--dim)}

/* ================================================================ breadcrumbs: a stub line */
.breadcrumb{border-bottom:1px solid var(--line);background:var(--bg2)}
.breadcrumb .container{display:flex!important;flex-wrap:wrap;align-items:center;gap:.3rem .7rem;padding-block:.75rem;font:500 .6rem/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.breadcrumb .container>div,.breadcrumb .breadcrumb-inner,.breadcrumb .breadcrumb-left{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .7rem}
.breadcrumb a{color:var(--dim)!important}
.breadcrumb a:hover{color:var(--cold)!important}
.breadcrumb strong{font-weight:500;color:var(--cold)}
.breadcrumb .sep{display:inline-block;width:14px;height:1px;font-size:0;line-height:0;color:transparent;background:var(--line2);flex:none}

/* ================================================================ page heads */
.page-hero,.article-hero,.j-hero{position:relative;overflow:hidden;padding:clamp(2.4rem,5.5vw,4.4rem) 0 clamp(1.8rem,3.5vw,2.8rem)!important;isolation:isolate;background:transparent!important;border:0!important;text-align:left}
.page-hero::before,.article-hero::before,.j-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 60% 70% at 12% 0%,rgba(223,234,239,.09),transparent 70%)}
.page-hero::after,.article-hero::after,.j-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line2)}
.page-hero .container,.article-hero .container,.j-hero .container{text-align:left!important}
.page-hero h1,.page-title,.article-title,.j-title{max-width:30ch;margin-top:1rem;font:600 clamp(2.1rem,5.4vw,4.1rem)/.96 var(--head)!important;letter-spacing:.01em!important;text-transform:uppercase;color:var(--ink)!important}
.page-hero h1 em,.page-title em,.article-title em,.j-title em{color:var(--cold)!important}
.page-lead,.page-hero-lead,.article-intro,.j-lead,.page-hero p:not([class]){max-width:66ch;margin-top:1.2rem;color:var(--mut)!important;font-size:clamp(1rem,1.2vw,1.08rem)!important;line-height:1.7!important}
.page-hero .hero-actions{margin-top:1.6rem}
.article-meta{display:flex!important;flex-wrap:wrap;gap:.4rem .7rem;align-items:center}
.article-cat{color:var(--cold)}
.post-hero-img,.service-hero-img{display:block;width:min(calc(100% - 2*var(--g)),var(--max));max-height:520px;margin:clamp(1.6rem,3vw,2.4rem) auto 0;object-fit:cover;border-radius:16px;box-shadow:inset 0 0 0 1px var(--line2)}

/* ================================================================ the time rail */
.rail{padding-top:clamp(2.6rem,6vw,4.6rem)!important;padding-bottom:clamp(3rem,6vw,5rem)!important;border:0!important}
.rail::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--line2)}
.rail::after{content:"";position:absolute;left:0;right:0;top:-3px;height:7px;background:repeating-linear-gradient(90deg,var(--line2) 0 1px,transparent 1px 64px);pointer-events:none}
.rail{counter-increment:rail}
.rail.alt{background:var(--bg2)!important}
.hang{position:absolute;left:var(--g);top:0;display:flex;flex-direction:column;align-items:center;pointer-events:none}
.hang .wire{display:block;width:1px;height:clamp(1.4rem,3.4vw,2.6rem);background:var(--line2)}
.hang .time{padding:.34rem .6rem;border-radius:1px;background:var(--bg3);box-shadow:inset 0 0 0 1px var(--line2);font:500 .62rem/1 var(--mono);letter-spacing:.1em;color:var(--cold)}
.hang .time::before{content:counter(rail,decimal-leading-zero) " / " attr(data-of)}
.hang .time:not([data-of])::before{content:counter(rail,decimal-leading-zero)}
.rail>.container{padding-top:clamp(1.7rem,3.2vw,2.6rem)}

/* ================================================================ stats strip */
.trust-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:var(--max);margin:0 auto;padding-inline:var(--g);background:transparent}
.trust-item{padding:1.2rem 1rem;border-bottom:1px solid var(--line2);border-right:1px solid var(--line);text-align:center;display:flex;flex-direction:column;align-items:center;gap:.4rem}
.trust-item:last-child{border-right:0}
.trust-icon{font:500 .58rem/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.trust-text{display:flex;flex-direction:column;align-items:center;gap:.35rem}
.trust-text strong{font:600 clamp(1.4rem,2.6vw,2.2rem)/1 var(--head);letter-spacing:.02em;text-transform:uppercase;color:var(--cold)}
.trust-text span{font-size:.82rem;color:var(--mut);line-height:1.4}
@media (max-width:860px){.trust-strip{grid-template-columns:1fr 1fr}.trust-item:nth-child(2n){border-right:0}}

/* ================================================================ prose sections */
.seo-content .container>h2,.seo-inner>h2,.about-body h2,.team-section h2,.art h2{font:600 clamp(1.6rem,3.2vw,2.5rem)/1.05 var(--head);text-transform:uppercase;letter-spacing:.02em;color:var(--ink);margin-top:clamp(1.6rem,3vw,2.4rem)}
.seo-content .container>h2:first-child,.seo-inner>h2:first-child{margin-top:0}
.seo-content .container>p,.seo-inner>p,.seo-content .container>ul,.seo-content .container>ol{max-width:74ch;margin-top:.9rem;color:var(--mut)}
.seo-content .container>h3,.seo-inner>h3{margin-top:1.6rem;font:600 1.45rem/1.05 var(--head)}
.seo-intro{max-width:74ch;margin-bottom:1.8rem;color:var(--mut);font-size:1.05rem}
.seo-intro em{font-style:normal;color:var(--cold)}
.seo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:clamp(.8rem,1.8vw,1.3rem);margin-top:1.2rem}
.seo-grid>div,.seo-block{padding:1.5rem 1.35rem;border-radius:2px;background:var(--panel);box-shadow:inset 0 0 0 1px var(--line)}
.seo-grid h2,.seo-grid h3,.seo-block h2,.seo-block h3{margin:0 0 .6rem;font:600 1.45rem/1.05 var(--head)!important;text-transform:uppercase;letter-spacing:.02em}
.seo-grid p,.seo-block p{margin-top:.7rem;color:var(--mut);font-size:.93rem}
.seo-grid p:first-of-type,.seo-block p:first-of-type{margin-top:0}
.seo-grid ul,.seo-block ul,.seo-content ul,.about-body ul:not(.diff-list),.art ul,.art ol{display:grid;gap:.5rem;margin:.9rem 0 0;padding-left:1.2rem;list-style:disc outside;color:var(--mut);font-size:.95rem}
.art ol{list-style:decimal outside}
.seo-content ul li,.seo-grid li,.art li{display:list-item}

/* ================================================================ model cards */
.escort-grid,.model-grid,.other-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.8rem,1.8vw,1.3rem)}
.ecard{position:relative;display:block;min-width:0}
:is(.ecard>a,a.ecard,a.model-card){position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"photo photo" "name loc" "meta meta";column-gap:.6rem;align-items:baseline;text-decoration:none;color:var(--ink);min-width:0}
.ecard-photo,.model-photo{grid-area:photo;position:relative;display:block;aspect-ratio:3/4;overflow:hidden;border-radius:14px;isolation:isolate;
  background:linear-gradient(170deg,#262c33 0%,#1a1f25 42%,#0e1115 100%);box-shadow:inset 0 0 0 1px var(--line2),inset 0 22px 44px -28px rgba(223,234,239,.5)}
.ecard-photo img,.model-photo img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;object-position:50% 22%;filter:saturate(.86) contrast(1.04) brightness(.95)}
:is(.ecard>a,a.ecard,a.model-card):hover img{filter:none}
.ecard-photo::before,.model-photo::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(112deg,transparent 42%,rgba(223,234,239,.1) 50%,transparent 58%)}
.ecard-photo::after,.model-photo::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(180deg,transparent 48%,rgba(16,18,21,.88))}
.ecard-wm,.model-wm{position:absolute;right:.85rem;top:.85rem;z-index:4;display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;padding:.34rem .45rem;border-radius:1px;background:rgba(16,18,21,.6);
  font:500 .5rem/1.2 var(--mono)!important;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)!important;pointer-events:none;text-align:right}
.ecard-wm span,.model-wm small,.ecard-wm small{font:inherit!important;color:inherit!important;letter-spacing:inherit!important}
.ecard-info,.ecard-top,.model-info,.model-top{display:contents}
.ecard-name,.model-name,.loc-ecard-name{grid-area:name;padding-top:.85rem;font:600 1.35rem/1 var(--head);text-transform:uppercase;letter-spacing:.03em;color:var(--ink);min-width:0;overflow-wrap:anywhere}
.ecard-loc,.model-loc{grid-area:loc;display:inline-flex;align-items:center;justify-content:flex-end;gap:.3rem;padding-top:.85rem;min-width:0;font:500 .6rem/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--steel);text-align:right}
.ecard-loc svg,.model-loc svg,.loc-pin{width:10px;height:10px;flex:none;fill:var(--steel)}
.ecard-meta{grid-area:meta;padding-top:.35rem;font:500 .6rem/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.ecard-price,.model-price{grid-area:photo;align-self:end;justify-self:start;position:relative;z-index:5;margin:0 0 .8rem .85rem;padding:.3rem .5rem;border-radius:1px;
  background:rgba(16,18,21,.72);box-shadow:inset 0 0 0 1px var(--line2);font:500 .58rem/1 var(--mono)!important;letter-spacing:.12em;text-transform:uppercase;color:var(--cold)!important;display:inline-block!important;white-space:nowrap}
@media (max-width:1080px){.escort-grid,.model-grid,.other-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){
  .escort-grid,.model-grid,.other-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  :is(.ecard>a,a.ecard,a.model-card){grid-template-columns:minmax(0,1fr);grid-template-areas:"photo" "name" "loc" "meta"}
  .ecard-loc,.model-loc{justify-content:flex-start;text-align:left;padding-top:.35rem}
}
@media (max-width:380px){.escort-grid,.model-grid,.other-grid{grid-template-columns:1fr}}

/* filters sit on a ruled line above the roster */
.gallery-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}
.gallery-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.2rem;margin-bottom:clamp(1.6rem,3vw,2.2rem);padding-bottom:1.1rem;border-bottom:1px solid var(--line)}

/* ================================================================ link cards */
.loc-grid,.services-grid,.related-grid,.rg-3col-stats,.rg-3col-svc{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:clamp(.8rem,1.8vw,1.2rem)!important;background:none!important;border:0!important;margin-top:clamp(1.4rem,3vw,2.2rem)}
.loc-card,.service-card,.related-card,.rg-3col-stats>a,.rg-3col-svc>a{position:relative;display:flex!important;flex-direction:column;gap:.55rem;padding:1.3rem 1.35rem!important;border:0!important;border-radius:2px;background:var(--panel)!important;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);text-decoration:none!important;overflow:hidden}
.loc-card:hover,.service-card:hover,.related-card:hover,.rg-3col-stats>a:hover,.rg-3col-svc>a:hover{box-shadow:inset 0 0 0 1px var(--line2)}
.loc-card-name,.loc-card .loc-ecard-name,.service-name,.related-card h3,.rg-3col-stats h3,.rg-3col-svc h3{padding:0;font:600 1.45rem/1.05 var(--head)!important;text-transform:uppercase;letter-spacing:.02em;color:var(--ink)!important;margin:0!important}
.service-name a{color:inherit!important;text-decoration:none!important}
.loc-card-desc,.service-desc,.related-card p,.rg-3col-stats p,.rg-3col-svc p{font-size:.9rem!important;color:var(--mut)!important;line-height:1.6!important;margin:0!important}
.related-card-cat,.rg-3col-stats p:first-child,.service-num,.rg-3col-svc .sl,.rg-3col-svc>a>div:not(.sl){font:500 .6rem/1.3 var(--mono)!important;letter-spacing:.12em!important;text-transform:uppercase;color:var(--steel)!important;font-style:normal!important}
.rg-3col-svc>a>div[style*="scaleX"]{display:none}
.loc-card-arrow,.rg-3col-svc>a>span{margin-top:auto;padding-top:.8rem;border-top:1px solid var(--line);font:500 .58rem/1 var(--mono)!important;letter-spacing:.12em!important;text-transform:uppercase;color:var(--steel)!important}
.service-link{align-self:flex-start;margin-top:auto;min-height:44px;padding:.75rem 1.1rem;font-size:.66rem!important}

/* ================================================================ faq */
.faq-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.6rem,4vw,3.6rem);align-items:start}
.faq-layout>div:first-child p,.faq-intro p{margin-top:1rem;color:var(--mut)!important;font-size:.98rem!important}
.faq-layout>div:first-child .btn-outline,.faq-intro .faq-cta{margin-top:1.4rem!important}
.faq-intro h2{font:600 clamp(1.9rem,4.4vw,3.4rem)/1.02 var(--head)}
@media (max-width:900px){.faq-layout{grid-template-columns:1fr}}
.faq-list,.faq-layout>div:last-child{border-top:1px solid var(--line2)}
.faq-category-label{display:block;padding:1.6rem .2rem .6rem;color:var(--cold)!important}
.faq-item{border-bottom:1px solid var(--line);counter-increment:qa}
.faq-layout>div:last-child,.faq-list{counter-reset:qa}
details.faq-item>summary{list-style:none}
details.faq-item>summary::-webkit-details-marker{display:none}
.faq-q,.faq-q-static,h3.faq-q.static{display:flex;align-items:center;gap:1rem;padding:1.2rem .2rem;cursor:pointer;font:600 1.22rem/1.3 var(--head)!important;text-transform:uppercase;letter-spacing:.02em;color:var(--ink)!important;margin:0!important}
.faq-q-static,h3.faq-q.static{cursor:default;padding-bottom:.5rem}
.faq-q::before,.faq-q-static::before{content:counter(qa,decimal-leading-zero);flex:none;font:500 .6rem/1 var(--mono);letter-spacing:.1em;color:var(--steel)}
.faq-q:hover{color:var(--cold)!important}
.faq-q-text{flex:1;font:inherit;color:inherit}
.faq-toggle{position:relative;width:14px;height:14px;flex:none;font-size:0!important;color:transparent!important;border:0!important;background:none!important;margin-left:auto}
.faq-toggle::before,.faq-toggle::after{content:"";position:absolute;left:0;top:6px;width:14px;height:2px;background:var(--cold)}
.faq-toggle::after{transform:rotate(90deg)}
details[open]>.faq-q .faq-toggle::after{transform:none}
.faq-q:not(:has(.faq-toggle))::after{content:"";width:14px;height:14px;flex:none;margin-left:auto;background:linear-gradient(var(--cold),var(--cold)) center/14px 2px no-repeat,linear-gradient(var(--cold),var(--cold)) center/2px 14px no-repeat}
details[open]>.faq-q:not(:has(.faq-toggle))::after{background:linear-gradient(var(--cold),var(--cold)) center/14px 2px no-repeat}
.faq-ans,.faq-a,.faq-a-static{max-height:none!important;overflow:visible!important;padding:0 .2rem 1.4rem;max-width:70ch;color:var(--mut)!important;font-size:.95rem!important;line-height:1.7!important}
.faq-ans-inner{color:inherit!important;font-size:inherit!important;padding:0!important}
.faq-item-static{border-bottom:1px solid var(--line)}

/* ================================================================ last call */
.cta-banner,.cta-section,.wa-cta,.error-section{padding:clamp(3.4rem,7vw,5.6rem) 0!important;text-align:center;background:linear-gradient(180deg,var(--bg2),var(--bg))!important;border:0!important}
.cta-banner>.container,.cta-section>.container,.wa-cta>.container{max-width:min(960px,calc(100% - 2*var(--g)));padding:clamp(2.2rem,4.6vw,3.6rem) clamp(1.4rem,4vw,3rem);border-radius:2px;background:var(--panel);box-shadow:inset 0 0 0 1px var(--line2)}
.cta-banner h2,.cta-h,.wa-cta h2{font:600 clamp(1.9rem,5vw,3.6rem)/.98 var(--head)!important;text-transform:uppercase;letter-spacing:.02em;color:var(--ink)}
.cta-banner h2 em,.cta-h em{color:var(--sig)!important}
.cta-banner p,.cta-sub,.wa-cta p{max-width:66ch;margin:1.1rem auto 0;color:var(--mut)!important;font-size:clamp(1rem,1.2vw,1.08rem)}
.cta-pre{justify-content:center;margin-bottom:.9rem}
.cta-actions,.cta-btns{justify-content:center;margin-top:1.7rem}
.wa-cta .wa-btn{margin-top:1.7rem}

/* ================================================================ marquee, held still as a service line */
.marquee-wrap{overflow:hidden;background:var(--bg3);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.marquee-track{display:flex;flex-wrap:nowrap;align-items:center;gap:1.4rem;width:max-content;padding:.6rem var(--g);transform:none!important}
.marquee-item{font:500 .58rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);white-space:nowrap}
.marquee-item:nth-child(4n+1){color:var(--cold)}
.marquee-dot{color:var(--line2)!important}

/* ================================================================ profile */
.profile-section{padding:clamp(2rem,4vw,3.4rem) 0 clamp(2.6rem,5vw,4rem)}
.profile-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"photo stats" "photo rates";gap:clamp(1.2rem,2.6vw,2.2rem) clamp(1.6rem,3.4vw,3rem);align-items:start}
.profile-grid>:nth-child(1){grid-area:stats;min-width:0}
.profile-grid>:nth-child(2){grid-area:photo;min-width:0;position:sticky;top:calc(var(--hh) + 1.4rem)}
.profile-grid>:nth-child(3){grid-area:rates;min-width:0}
@media (max-width:760px){.profile-grid{grid-template-columns:1fr;grid-template-areas:"photo" "stats" "rates"}.profile-grid>:nth-child(2){position:static}}
.profile-name{font:600 clamp(2.4rem,5.4vw,4.2rem)/.94 var(--head)!important;text-transform:uppercase;letter-spacing:.01em}
.profile-tagline{margin-top:.8rem;font:500 .66rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cold)}
.profile-loc,.profile-location-line{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;padding:.4rem .65rem;border-radius:1px;box-shadow:inset 0 0 0 1px rgba(143,214,176,.45);font:500 .62rem/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ok)}
.profile-loc a,.profile-location-line a{color:inherit!important;text-decoration:none!important}
.profile-loc svg,.profile-location-line svg{width:11px;height:11px;fill:currentColor;flex:none}
.sdiv,.stats-divider{margin:1.4rem 0 0!important;border-top:1px solid var(--line2)!important}
.stat-row{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;padding:.72rem 0;border-bottom:1px solid var(--line)}
.stat-label{font:500 .6rem/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.stat-value{font-size:.95rem;color:var(--ink);text-align:right}
.stat-value a{color:var(--cold)!important}
.contact-btns,.profile-contact-btns{margin-top:1.6rem}
.cbtn,.contact-btn{flex:1 1 13rem}
.slider-wrap,.photo-slider{position:relative;overflow:hidden;border-radius:16px;isolation:isolate;box-shadow:inset 0 0 0 1px var(--line2);background:var(--bg3)}
.slides,.photo-slides{display:flex;width:100%}
.slide,.photo-slide{position:relative;flex:0 0 100%;min-width:100%}
.slide img,.photo-slide img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover}
.slider-wrap::after,.photo-slider::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(112deg,transparent 46%,rgba(223,234,239,.08) 52%,transparent 60%)}
.s-btn,.slider-btn,.slider-prev,.slider-next{position:absolute;top:50%;z-index:4;width:44px;height:44px;margin-top:-22px;display:grid;place-items:center;border-radius:2px;background:rgba(16,18,21,.72);box-shadow:inset 0 0 0 1px var(--line2);color:var(--ink);font-size:1.1rem;line-height:1}
.s-prev,.slider-prev{left:.8rem}.s-next,.slider-next{right:.8rem}
.s-dots,.slider-dots{display:flex;justify-content:center;gap:.45rem;margin-top:.9rem}
.sdot,.slider-dot{width:22px;height:3px;border-radius:0;background:var(--line2);padding:0}
.sdot.active,.slider-dot.active{background:var(--cold)}
.rates-title{display:block;margin:0 0 .6rem!important;font-size:.68rem!important}
h2.rates-title{font:500 .68rem/1.3 var(--mono)!important}
.rates-table{border-top:1px solid var(--line2)}
.rates-table th{padding:.8rem .1rem;border-bottom:1px solid var(--line);font:500 .6rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);text-align:left}
.rates-table th:last-child,.rates-table td:last-child{text-align:right}
.rates-table td{padding:.8rem .1rem;border-bottom:1px solid var(--line);font:500 .66rem/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.rates-table td:last-child{font:600 1.25rem/1 var(--head);letter-spacing:.02em;color:var(--cold)}
.cats-label,.locs-label,.profile-cats-title,.profile-locs-title{display:block;margin:1.6rem 0 .7rem!important}
.cats-wrap,.cats-list{display:flex;flex-wrap:wrap;gap:.45rem}
.loc-link{display:flex;align-items:center;gap:.5rem;padding:.6rem .1rem;border-bottom:1px solid var(--line);font-size:.9rem;color:var(--mut);text-decoration:none!important}
.loc-link:hover{color:var(--cold)}
.loc-link svg{width:11px;height:11px;fill:var(--steel);flex:none}
.locs-list{display:block}
.bio-inner,.bio-layout{max-width:74ch}
.bio-h,.bio-heading{margin-top:0}
h3.bio-h{margin-top:2.2rem!important;font:600 clamp(1.4rem,2.6vw,1.9rem)/1.05 var(--head)!important}
.bio-p,.bio-body{margin-top:.9rem;color:var(--mut);font-size:1rem}
.bio-p strong,.bio-body strong{color:var(--ink)}
.bio-p[style*="italic"]{font-style:normal!important;padding:1rem 1.1rem!important;border:0!important;border-radius:2px;box-shadow:inset 0 0 0 1px var(--line);font-size:.9rem!important}
.gal-grid,.gallery-scroll{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.7rem,1.6vw,1.1rem);margin-top:clamp(1.4rem,3vw,2.2rem)}
.gal-thumb,.gallery-thumb{position:relative;display:block;overflow:hidden;border-radius:12px;box-shadow:inset 0 0 0 1px var(--line2);padding:0;background:var(--bg3)}
.gal-thumb img,.gallery-thumb img{display:block;width:100%;height:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 22%}
.gal-grid{counter-reset:frame}
.gal-thumb{counter-increment:frame}
.gal-thumb::before{content:counter(frame,decimal-leading-zero);position:absolute;left:.6rem;top:.6rem;z-index:2;padding:.28rem .4rem;border-radius:1px;background:rgba(16,18,21,.66);font:500 .52rem/1 var(--mono);letter-spacing:.12em;color:var(--cold)}
@media (max-width:760px){.gal-grid,.gallery-scroll{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:420px){.gal-grid,.gallery-scroll{grid-template-columns:1fr 1fr}}
.other-h,.other-heading{margin-bottom:clamp(1.4rem,3vw,2.2rem)}
.photo-placeholder,.gallery-thumb-placeholder,.lightbox-placeholder{min-height:240px;aspect-ratio:2/3;background:linear-gradient(170deg,#262c33 0%,#1a1f25 42%,#0e1115 100%)!important}
.thumb-wm,.photo-placeholder-watermark{position:absolute;inset:auto 0 .8rem;text-align:center;font:500 .52rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}

/* lightbox */
.lb,.lightbox{position:fixed;inset:0;z-index:100000;display:none;place-items:center;padding:clamp(1rem,4vw,3rem);background:rgba(8,9,11,.94)}
.lb.open,.lightbox.open{display:grid}
.lb img,#lbImg{max-width:min(96vw,1100px);max-height:82vh;width:auto;height:auto;border-radius:8px}
.lb-x,.lb-prev,.lb-next,.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;z-index:2;display:grid;place-items:center;width:48px;height:48px;border-radius:2px;background:rgba(16,18,21,.7);box-shadow:inset 0 0 0 1px var(--line2);color:var(--ink);font-size:1.6rem;line-height:1}
.lb-x,.lightbox-close{top:clamp(.6rem,2vw,1.4rem);right:clamp(.6rem,2vw,1.4rem)}
.lb-prev,.lightbox-prev{left:clamp(.4rem,2vw,1.4rem);top:50%;margin-top:-24px}
.lb-next,.lightbox-next{right:clamp(.4rem,2vw,1.4rem);top:50%;margin-top:-24px}
.lb-count{position:absolute;bottom:1rem;left:0;right:0;text-align:center;font:500 .62rem/1 var(--mono);letter-spacing:.14em;color:var(--dim)}

/* ================================================================ article */
.article-body{padding:clamp(2rem,4vw,3.4rem) 0 clamp(2.6rem,5vw,4rem)}
.article-inner{max-width:780px;margin-inline:auto}
.post-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.4rem;margin-bottom:1.8rem;padding:.9rem 1.1rem;border-radius:2px;background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);font:500 .62rem/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.post-meta p{margin:0!important;color:inherit!important;font:inherit!important}
.post-meta strong{color:var(--cold);font-weight:500}
.article-inner>p,.article-inner>ul,.article-inner>ol,.article-inner p{margin-top:.95rem;color:var(--mut);font-size:1.02rem;line-height:1.75}
.article-inner>p:first-of-type{margin-top:0}
.article-inner>h2,.article-inner h2{margin-top:clamp(2rem,3.4vw,2.8rem);font:600 clamp(1.6rem,3vw,2.3rem)/1.06 var(--head);text-transform:uppercase;letter-spacing:.02em;color:var(--ink)}
.article-inner>h3,.article-inner h3{margin-top:1.6rem;font:600 clamp(1.25rem,2.2vw,1.55rem)/1.1 var(--head);text-transform:uppercase;letter-spacing:.02em}
.article-inner ul,.article-inner ol{display:grid;gap:.5rem;padding-left:1.2rem;list-style:disc outside;color:var(--mut)}
.article-inner ol{list-style:decimal outside}
.article-inner li{display:list-item}
.article-inner strong{color:var(--ink)}
.price-table,.comparison-table,.article-inner table{margin-top:1.4rem;border-top:1px solid var(--line2);font-size:.92rem}
.price-table th,.comparison-table th,.article-inner th{padding:.8rem .6rem;border-bottom:1px solid var(--line);font:500 .6rem/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);text-align:left}
.price-table td,.comparison-table td,.article-inner td{padding:.8rem .6rem;border-bottom:1px solid var(--line);color:var(--mut)}
.row-label{color:var(--ink)!important}
.article-inner table{display:block;overflow-x:auto}
.steps-list,.step-list{display:grid;gap:.9rem;margin-top:1.2rem;padding:0!important;list-style:none!important}
.steps-list>li,.step-list>li{display:flex!important;gap:1rem;padding:1.1rem 1.2rem;border-radius:2px;background:var(--panel);box-shadow:inset 0 0 0 1px var(--line)}
.step-num{flex:none;font:600 1.6rem/1 var(--head);color:var(--cold)}
.wa-number-box,.message-template{margin-top:1.4rem;padding:1.3rem 1.4rem;border-radius:2px;background:var(--bg3);box-shadow:inset 0 0 0 1px var(--line2)}
.wa-number-label,.tmpl-label{display:block;margin-bottom:.6rem;font:500 .6rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.wa-number-display{font:600 1.6rem/1.1 var(--head);color:var(--cold)}
.message-template{font-family:var(--mono);font-size:.92rem;color:var(--ink)}
.post-faq{padding-block:0 clamp(2.6rem,5vw,4rem)}
.post-faq .container,.related-articles .container{max-width:calc(780px + 2*var(--g))}
.faq-heading{margin-bottom:1.2rem;font-size:clamp(1.6rem,3vw,2.3rem)!important}
.related-articles{padding:clamp(2.6rem,5vw,4rem) 0}

/* ================================================================ journal index */
.j-controls{position:sticky;top:var(--hh);z-index:20;background:rgba(16,18,21,.94);border-bottom:1px solid var(--line)}
.j-controls-inner{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.2rem;max-width:var(--max);margin-inline:auto;padding:.9rem var(--g)}
.j-search-wrap{position:relative;flex:1 1 16rem;max-width:26rem}
.j-search-icon{position:absolute;left:.85rem;top:50%;width:15px;height:15px;margin-top:-7.5px;fill:none;stroke:var(--dim)}
.j-search{width:100%;min-height:44px;padding:.7rem 2.6rem .7rem 2.4rem;border:0;border-radius:2px;background:var(--panel);box-shadow:inset 0 0 0 1px var(--line2);color:var(--ink);font-size:.92rem;outline:0}
.j-search::placeholder{color:var(--dim)}
.j-search-clear{position:absolute;right:.4rem;top:50%;width:34px;height:34px;margin-top:-17px;color:var(--dim)}
.j-tabs{display:flex;flex-wrap:wrap;gap:.45rem}
.j-tab-count{opacity:.7}
.j-section{padding:clamp(1.6rem,3vw,2.4rem) 0 clamp(3rem,6vw,5rem)}
.j-status{margin-bottom:1.2rem;font:500 .64rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.j-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:clamp(.8rem,1.8vw,1.2rem)}
.j-card{display:flex;flex-direction:column;border-radius:2px;background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;color:var(--ink)}
.j-card:hover{box-shadow:inset 0 0 0 1px var(--line2)}
.j-card-img{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--bg3)}
.j-card-img img{display:block;width:100%;height:100%;object-fit:cover}
.j-card-body{display:flex;flex-direction:column;gap:.55rem;flex:1;padding:1.2rem 1.3rem 1.3rem}
.j-card-meta{font:500 .6rem/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--steel)}
.j-card-title{font:600 1.4rem/1.05 var(--head);text-transform:uppercase;letter-spacing:.02em}
.j-card-exc{font-size:.9rem;color:var(--mut)}
.j-card-read{margin-top:auto;padding-top:.8rem;border-top:1px solid var(--line);font:500 .58rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--steel)}
.j-load-wrap{flex-direction:column;align-items:center;gap:.8rem;margin-top:2rem}
.j-load-meta{opacity:.7;margin-left:.6rem}
.j-progress{width:min(100%,280px);height:2px;background:var(--line)}
.j-progress-bar{height:100%;background:var(--cold)}
.j-empty{padding:2.6rem 1rem;text-align:center;border-radius:2px;box-shadow:inset 0 0 0 1px var(--line);color:var(--mut)}
.j-empty-title{margin-top:.6rem;font:600 1.6rem/1 var(--head);text-transform:uppercase;color:var(--ink)}
.j-empty-sub{margin:.6rem 0 1.2rem}

/* ================================================================ about, author, verification */
.about-content{padding:clamp(2.6rem,6vw,4.6rem) 0 clamp(3rem,6vw,5rem)}
.about-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(1.4rem,3vw,2.4rem);align-items:start}
@media (max-width:900px){.about-grid{grid-template-columns:1fr}}
.about-body>p,.team-intro,.compliance-block>p{margin-top:.9rem;color:var(--mut);max-width:74ch}
.about-body>h2:first-child{margin-top:0}
.diff-list{display:grid;gap:.55rem;margin-top:1.2rem}
.diff-list li{display:flex;gap:.7rem;align-items:baseline;padding:.7rem .9rem;border-radius:2px;background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);color:var(--mut);font-size:.93rem}
.diff-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--cold);transform:translateY(-1px)}
.about-sidebar{display:grid;gap:1rem;position:sticky;top:calc(var(--hh) + 20px)}
.sidebar-card,.author-card{padding:1.4rem 1.4rem 1.6rem;border-radius:2px;background:var(--panel);box-shadow:inset 0 0 0 1px var(--line)}
.sidebar-card-title{display:block;margin-bottom:.9rem}
.sidebar-stat{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line)}
.sidebar-stat-num{font:600 1.5rem/1 var(--head);color:var(--cold)}
.sidebar-stat-label{font:500 .6rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);text-align:right}
.sidebar-cta{width:100%}
.team-section{margin-top:clamp(2.4rem,5vw,4rem)}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:clamp(.8rem,1.8vw,1.3rem);margin-top:1.4rem}
.team-card{padding:1.3rem 1.35rem;border-radius:2px;background:var(--panel);box-shadow:inset 0 0 0 1px var(--line)}
.team-avatar,.author-avatar{display:grid;place-items:center;width:52px;height:52px;border-radius:1px;background:var(--cold);color:#101215;font:600 1.4rem/1 var(--head)}
.team-name,.author-name{margin-top:.9rem;font:600 1.35rem/1 var(--head);text-transform:uppercase;letter-spacing:.02em}
.team-role,.author-role{margin-top:.35rem;font:500 .6rem/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--steel)}
.team-bio,.author-bio,.author-focus{margin-top:.7rem;font-size:.9rem;color:var(--mut)}
.compliance-block{margin-top:clamp(2.4rem,5vw,4rem);padding:1.4rem;border-radius:2px;box-shadow:inset 0 0 0 1px var(--line)}
.nap-list{display:grid;gap:.5rem;margin-top:1rem}
.nap-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--line);font-size:.9rem;color:var(--mut)}
.nap-list strong{font:500 .6rem/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}

/* ================================================================ forms (booking, casting) */
.rg-2col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.6rem,4vw,3.4rem);align-items:start}
.rg-2col-inputs{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.rg-2col-feature,.rg-2col-alt,.rg-2col-stats,.rg-2col-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1px;background:var(--line);box-shadow:inset 0 0 0 1px var(--line)}
@media (max-width:860px){.rg-2col{grid-template-columns:1fr}}
@media (max-width:520px){.rg-2col-inputs{grid-template-columns:1fr}}
form input:not([type=hidden]):not([type=checkbox]):not([type=radio]),form select,form textarea{width:100%;min-height:48px;border-radius:2px!important;border:0!important;background:var(--panel)!important;box-shadow:inset 0 0 0 1px var(--line2);color:var(--ink)!important;font-size:1rem!important}
form input:focus,form select:focus,form textarea:focus{box-shadow:inset 0 0 0 1px var(--cold);outline:0}
form label{font-family:var(--mono)!important;font-size:.6rem!important;letter-spacing:.14em!important;color:var(--dim)!important}
form button[type=submit],form button:not([type]){display:inline-flex;align-items:center;justify-content:center;min-height:54px;border-radius:2px;background:var(--cold)!important;color:#101215!important;font:500 .74rem/1 var(--body)!important;letter-spacing:.16em!important;text-transform:uppercase}
select option{background:var(--bg2);color:var(--ink)}

/* ================================================================ 404 */
.error-section{text-align:center}
.error-section .container{max-width:1040px}
.error-num{font:600 clamp(5rem,20vw,14rem)/.8 var(--head);letter-spacing:.04em;color:rgba(223,234,239,.08)}
.error-eyebrow{display:inline-flex;align-items:center;gap:.55rem;margin-top:1rem}
.error-title{margin-top:.6rem;font:600 clamp(2rem,5vw,3.4rem)/1 var(--head)}
.error-title em{color:var(--sig)!important}
.error-lead{max-width:60ch;margin:1.2rem auto 0;color:var(--mut)}
.error-actions{justify-content:center}

/* ================================================================ home */
.hero{position:relative;overflow:hidden;padding:clamp(1.6rem,min(4vw,5vh),3.2rem) 0 clamp(2.2rem,4vw,3.2rem);text-align:center;isolation:isolate}
.platform{position:absolute;inset:0;z-index:-1;pointer-events:none}
.platform .floor{position:absolute;left:-10%;right:-10%;bottom:0;height:46%;background:linear-gradient(180deg,rgba(223,234,239,.05),transparent 60%),linear-gradient(90deg,transparent,rgba(223,234,239,.05) 50%,transparent);transform:perspective(600px) rotateX(58deg);transform-origin:bottom}
.platform .edge{position:absolute;left:0;right:0;bottom:1.1rem;height:2px;background:repeating-linear-gradient(90deg,rgba(223,234,239,.35) 0 22px,transparent 22px 40px)}
.platform .lamp{position:absolute;top:-24%;left:50%;width:min(1100px,120%);height:70%;transform:translateX(-50%);background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(223,234,239,.1),transparent 70%)}
.platform .speed i{position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(223,234,239,.45),transparent)}
.platform .speed i:nth-child(1){top:22%;left:-6%;width:30%}
.platform .speed i:nth-child(2){top:41%;right:-4%;width:22%}
.platform .speed i:nth-child(3){top:66%;left:-2%;width:18%}
.platform .speed i:nth-child(4){top:82%;right:6%;width:14%}
.hero-in{position:relative;max-width:var(--max);margin-inline:auto;padding-inline:var(--g);container-type:inline-size}
.hero-top{display:flex;flex-wrap:wrap;gap:.6rem .9rem;align-items:center;justify-content:center;margin-bottom:clamp(.9rem,2vw,1.6rem)}
.hero h1{font:600 clamp(2.4rem,9.4cqi,7.4rem)/.9 var(--head);letter-spacing:.005em;text-transform:uppercase;color:var(--ink)}
.hero h1 .l2{display:block;margin-top:.06em;color:var(--cold);letter-spacing:.06em;font-weight:500;font-size:.78em}
.hero-sub{max-width:76ch;margin:1.4rem auto 0;color:var(--mut);font-size:clamp(.98rem,1.2vw,1.08rem);line-height:1.75}
.hero-sub strong{color:var(--ink);font-weight:500}
.hero-sub a{color:var(--cold)}
.hero-cta{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;margin-top:1.6rem}
.home-roster{padding-bottom:clamp(3rem,6vw,5rem)}
.services-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:clamp(.7rem,1.6vw,1.2rem);margin-top:clamp(1.4rem,3vw,2.2rem)}
.services-links a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.3rem 1.35rem;border-radius:2px;background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);font:600 1.45rem/1.05 var(--head);text-transform:uppercase;letter-spacing:.02em;color:var(--ink)}
.services-links a::after{content:"";width:16px;height:1px;flex:none;background:var(--steel);box-shadow:4px -3px 0 -0.5px transparent}
.services-links a:hover{box-shadow:inset 0 0 0 1px var(--line2)}
.seo-box{margin-top:0}
.seo-section .seo-grid{margin-top:0}
.listed-on{padding:1.4rem 0;border-top:1px solid var(--line);background:#0b0d10}
.listed-on-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.8rem 1.6rem}
.listed-on-link{font:500 1.05rem/1 var(--head);letter-spacing:.05em;text-transform:uppercase;color:var(--mut)}
.listed-on-link:hover{color:var(--ink)}
.listed-on-divider{width:14px;height:1px;background:var(--line2)}
@media (max-width:600px){.listed-on-divider{display:none}}

/* ================================================================ footer */
.site-foot{padding:clamp(3rem,6vw,4.4rem) 0 2rem;background:#0b0d10;border-top:1px solid var(--line)}
.site-foot>.container{max-width:var(--max)}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:clamp(1.4rem,3vw,2.6rem)}
.foot-brand .logo{margin-bottom:1rem}
.foot-brand p,.footer-brand p{margin-top:1rem;max-width:44ch;font-size:.88rem;line-height:1.65;color:var(--mut)}
.footer-wa{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.1rem;font-size:.88rem;color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line2)}
.footer-wa svg{width:16px;height:16px;fill:currentColor;flex:none}
.footer-col-title{display:block;margin-bottom:.9rem;color:var(--steel)!important;font-size:.6rem!important;letter-spacing:.18em!important}
.footer-col ul{display:grid;gap:.5rem;align-content:start;font-size:.88rem;color:var(--mut)}
.footer-col a,.site-foot li a{color:var(--mut);text-decoration:none}
.footer-col a:hover{color:var(--ink)}
.footer-col strong{font-weight:500;color:var(--cold)}
.footer-col ul+.footer-col-title{margin-top:1.6rem!important}
.footer-bottom{margin-top:clamp(2rem,4vw,3rem)}
.footer-legal{padding:1rem 1.1rem;border-radius:2px;box-shadow:inset 0 0 0 1px var(--line);font-size:.82rem;line-height:1.6;color:var(--mut);max-width:110ch}
.footer-legal strong{margin-right:.6rem;font:500 .62rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--cold)}
.footer-copy{display:flex;flex-wrap:wrap;gap:.8rem 1.6rem;align-items:center;justify-content:space-between;margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid var(--line);font-size:.8rem;color:var(--dim)}
.footer-copy a{color:var(--dim)}
@media (max-width:960px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}
@media (max-width:768px){.site-foot{padding-bottom:96px}}

/* phone booking bar */
.mobile-wa{display:none}
@media (max-width:768px){
  .mobile-wa{position:fixed;left:0;right:0;bottom:0;z-index:80;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:56px;padding:0 1rem;
    background:var(--cold);color:#101215;font:500 .74rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase;border-top:1px solid var(--line2)}
  .mobile-wa svg{width:18px;height:18px;fill:currentColor;flex:none}
  .mobile-wa.tg-inj{margin-left:0!important;border-left:1px solid var(--line2)}
}

/* cookie bar in the same dress */
#dsb-cookie{background:var(--bg3)!important;color:var(--mut)!important;font-family:var(--body)!important;border-top:1px solid var(--line2)!important;box-shadow:none!important}
#dsb-cookie a{color:var(--cold)!important}
#dsb-accept{background:var(--cold)!important;color:#101215!important;font-family:var(--body)!important;border-radius:2px}
#dsb-decline{color:var(--mut)!important;border-color:var(--line2)!important;font-family:var(--body)!important;border-radius:2px}
@media (max-width:768px){#dsb-cookie{bottom:56px!important}}

/* ================================================================ legal pages (privacy, disclaimer) */
.legal-body{max-width:780px}
.legal-body>div{border-color:var(--line)!important}
.legal-body h2{font-size:clamp(1.4rem,2.6vw,1.9rem)!important}
.legal-body p{font-size:1rem!important;color:var(--mut)!important}

/* ================================================================ smaller screens */
@media (max-width:640px){
  .btn,.btn-primary,.btn-outline,.btn-wa,.btn-out,.cbtn,.contact-btn,.wa-btn{white-space:normal;text-align:center}
  .hero-actions>a,.cta-actions>a,.cta-btns>a,.hero-cta>a,.error-actions>a{flex:1 1 100%}
}

/* service line above the header (location index) */
.topbar{display:flex;flex-wrap:wrap;gap:.35rem 1.4rem;align-items:center;justify-content:center;padding:.55rem var(--g);background:var(--bg3);border-bottom:1px solid var(--line);font:500 .58rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.topbar a{color:var(--cold)}
@media (max-width:640px){.topbar .tb-hide{display:none}}
.trust-more .trust-item{border-bottom:1px solid var(--line)}
@media (max-width:640px){.hero-sub{text-align:left}}
a+a.tg-inj[style*="width:100%"],a+a.tg-inj[style*="width: 100%"]{margin-left:0!important;margin-top:.7rem}
.footer-wa.tg-inj{background:transparent!important;box-shadow:none!important}
