section {
width: 100%;
padding-block: 30px;
}
h2, h3 {
color: #99004d;
font-family: var(--font-heading);
margin-bottom: 10px;
margin-top: 14px;
}
h2 {
font-size: clamp(1.375rem, 2.5vw, 1.75rem);
line-height: 1.2;
letter-spacing: 0.02em;
}
h3 {
font-size: clamp(1.25rem, 2.5vw, 1.625rem);
line-height: 1.2;
letter-spacing: 0.015em;
}
p{
font-size: clamp(0.9375rem, 1.8vw, 1.05rem);
line-height: 1.5;
margin-bottom: 10px;
}
ul{
list-style: none;
}
ol{
margin-left: 18px;
}
li{
font-size: clamp(0.93125rem, 1.8vw, 1.03125rem);
line-height: 1.4;
margin-bottom: 6px;
}
a {
text-decoration: none;
}
li span{
color: #000000;
font-weight: 600;
}
.center-title,
.center-sub-title{
text-align: center;
}
.center-title{
font-size: clamp(1.375rem, 2.5vw, 1.895rem);
}
.center-sub-title{
font-size: clamp(0.875rem, 1.8vw, 0.9375rem);
color: #660033;
margin-bottom: 25px;
}
a strong,
.hglink,
.hi-ligh{
color: #e60073;
}
.hglink{
font-weight: 600;
}
a strong:hover,
.hglink:hover{
color: #99004d;
}
.m-top{
margin-top: 14px;
}
.m-top-xl{
margin-top: 16px;
}
.m-block{
margin-block: 20px !important;
}
.container h2:first-child,
.container h3:first-child,
.container h4:first-child{
margin-top:0;
}
.container p:last-child,
.container ul:last-child,
.container ol:last-child{
margin-bottom:0;
}
.container p:has(+ h2),
.container p:has(+ h3),
.container p:has(+ h4){
margin-bottom:0;
}
@media (min-width: 480px) {
section {
padding-block: 38px;
}
h2, h3, h4 {
margin-bottom: 12px;
margin-top: 18px;
}
p{
margin-bottom: 12px;
}
.m-top{
margin-top: 15px;
}
.m-top-xl{
margin-top: 18px;
}
.m-block{
margin-block: 22px !important;
}
}
@media (min-width: 768px) {
section {
padding-block: 48px;
}
h2, h3, h4 {
margin-top: 20px;
margin-bottom: 14px;
}
p{
margin-bottom: 16px;
}
.m-top{
margin-top: 16px;
}
.m-top-xl{
margin-top: 22px;
}
.m-block{
margin-block: 30px !important;
}
.center-sub-title{
margin-bottom: 30px;
}
}
@media (min-width: 1024px) {
section {
padding-block: 60px;
}
}
/* EXTRA UNIVERSAL CSS */
.video-section,
.about-section,
.category-section,
.service-section,
.client-testimonials,
.city-section{
background: var(--bg-gradient-1);
}
/* VIDEO SECTION */
.video-section{
content-visibility:auto;
contain-intrinsic-size:700px 600px;
}
.video-section .video-col {
order: -1;
}
.video-col{
width:100%;
max-width:700px;
}
.responsive-video{
display:block;
width:100%;
height:auto;
border:6px solid var(--bg-pink);
}
@media (min-width:768px){
.video-section .two-col{
display:flex;
gap:40px;
align-items:center;
}
.video-section .text-col{
flex:0 0 42%;
}
.video-section .video-col{
flex:0 0 58%;
align-self: start;
order: 2;
}
}
/* RIBBION CONTAINER */
.ribbion-container{
padding: 30px;
background: var(--bg-pink);
text-align: center;
margin:auto;
}
.ribbion-text{
font-size: clamp(1rem, 2vw, 1.1rem);
font-weight: 600;
text-transform: uppercase;
color: var(--text-white);
}
.ribbion-btn{
display: inline-block;
padding: 15px 20px;
font-size: clamp(0.875rem, 2.5vw, 1rem);
font-weight: 700;
background: #66ff33;
border-radius: 50px;
color: #000;
transition: transform 0.25s ease;
touch-action: manipulation;
-webkit-tap-highlight-color:transparent;
}
.ribbion-btn:hover {
transform: translateY(-3px) scale(1.03);
background: #b3ff99;
}
@media (min-width: 768px) {
.ribbion-btn{
padding: 20px 25px;
}
}
/* GALLERY SECTION */
.gallery-grid{
display:grid;
grid-template-columns:1fr;
gap:12px;
content-visibility:auto;
}
.girl-card{
position:relative;
display:flex;
width:100%;
overflow:hidden;
border:2px solid #ff99cc;
border-radius:12px;
}
.img-box{
width:100%;
aspect-ratio:3/4;
overflow:hidden;
}
.img-box img{
display:block;
width:100%;
height:100%;
object-fit:cover;
transform:scale(1) rotate(0deg);
transition:transform .55s cubic-bezier(.25,.1,.25,1);
}
.girl-info{
position:absolute;
left:0;
right:0;
bottom:0;
padding:12px;
background:rgba(0,0,0,.45);
text-align:center;
}
.girl-name{
display:block;
margin:0;
color:#fff;
font-size:1.05rem;
font-weight:700;
line-height:1.3;
}
.sub-info{
display:flex;
justify-content:center;
align-items:center;
flex-wrap:wrap;
gap:5px;
margin:6px 0 10px;
line-height:1.3;
}
.sub-info span{
color:#eef1f6;
font-size:.95rem;
}
.girl-category::before{
content:"";
display:inline-block;
width:8px;
height:8px;
margin:0 8px;
border-radius:50%;
background:#fff;
vertical-align:middle;
transform:translateY(-1px);
}
.card-buttons{
display:flex;
justify-content:center;
align-items:center;
gap:20px;
}
.card-buttons a{
display:flex;
justify-content:center;
align-items:center;
padding:7px;
touch-action:manipulation;
-webkit-tap-highlight-color:transparent;
transition:transform .35s cubic-bezier(.22,.61,.36,1);
}
.call-btn,
.wa-btn{
border-radius:50%;
}
.call-btn{
background:#ff4d88;
}
.wa-btn{
background:#009900;
}
.card-buttons svg{
display:block;
width:21px;
height:21px;
pointer-events:none;
}
.girl-card:hover{
border-color:#ff0080;
}
.girl-card:hover .img-box img{
transform:scale(1.15) rotate(3deg);
}
.card-buttons a:hover{
transform:scale(1.15);
}
.call-btn:hover{
background:#cc0044;
}
.wa-btn:hover{
background:#004d00;
}
@media (min-width:360px){
.gallery-grid{
grid-template-columns:repeat(2,1fr);
}
.girl-name{
font-size:clamp(1rem,2vw,1.15rem);
}
.sub-info span{
font-size:clamp(.80rem,2vw,.95rem);
}
}
@media (min-width:600px){
.gallery-grid{
grid-template-columns:repeat(3,1fr);
gap:14px;
}
.sub-info{
margin:10px 0 10px;
}
.card-buttons{
gap:30px;
}
}
@media (min-width:1024px){
.gallery-grid{
grid-template-columns:repeat(4,1fr);
gap:18px;
}
.card-buttons{
gap:35px;
}
}
/* CATEGORY SECTION */
.category-grid{
display:grid;
grid-template-columns:1fr;
gap:8px;
margin:0;
padding:0;
list-style:none;
}
.category-grid li{
display:flex;
align-items:center;
gap:14px;
padding:12px 10px;
min-height:90px;
background:#8600b3;
border:1px solid #ffb3ff;
border-radius:15px;
overflow:hidden;
transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
} 
.cat-icon{
flex-shrink:0;
font-size:2rem;
line-height:1;
text-align:center;
}
.cat-content{
flex:1;
min-width:0;
flex-direction:column;
}
.cat-title{
display:block;
color:#fff;
font-family: var(--font-heading), sans-serif;
letter-spacing: 0.03em;
font-size:clamp(.875rem,2vw,1rem);
font-weight:700;
line-height:1.3;
word-break:break-word;
overflow-wrap:anywhere;
}
.cat-text,
.cat-rate{
display:block;
margin-top:5px;
line-height:1.4;
word-break:break-word;
overflow-wrap:anywhere;
}
.cat-text{
color:#b9c6dc;
font-size:clamp(.82rem,2vw,.95rem);
}
.cat-rate{
color:#eef1f6;
font-size:clamp(.83rem,2vw,.97rem);
}
.category-grid li:hover{
border-color:#ff0080;
transform:translateY(-4px);
background: #4d0066;
box-shadow:0 12px 24px rgba(0,0,0,.18);
}
@media (min-width:360px){
.category-grid{
grid-template-columns:repeat(2,1fr);
}
}
@media (min-width:768px){
.category-grid{
grid-template-columns:repeat(3,1fr);
gap:16px;
}
}
@media (min-width:1024px){
.category-grid{
grid-template-columns:repeat(4,1fr);
}
}
@media (min-width:1280px){
.category-grid{
grid-template-columns:repeat(5,1fr);
}
}
/* MODELS CARD */
.models-grid,
.testimonial-grid{
display:grid;
grid-template-columns:1fr;
gap:16px;
}
.model-card,
.testimonial-card{
padding:18px;
background:linear-gradient(180deg,#fff8fc 0%,#f5fbff 100%);
border:1px solid #e5dceb;
border-radius:14px;
transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.model-name,
.client-name{
display:block;	
margin:0 0 8px;
font-family: var(--font-heading), sans-serif;
letter-spacing: 0.03em;
font-size: clamp(1.0625rem, 2.5vw, 1.3125rem);
color: #660033;
font-weight: 600;
line-height:1.3;
}
.model-name small{
font-size: clamp(0.8125rem, 2.5vw, 0.875rem);
font-weight:500;
color:#666;
}
.model-category{
display:block;
margin:0 0 10px;
font-size:0.9375rem;
color:#990038;
}
.model-info,
.client-review{
margin:0;
color:#555;
}
.client-location{
display:block;
margin:0 0 10px;
font-size:clamp(.8125rem,2vw,.875rem);
font-weight:600;
color:#990038;
}
.client-rating{
margin:12px 0 0;
font-size:.9375rem;
}
.client-rating span{
color:#ffb400;
letter-spacing:1px;
}
.client-rating small{
color:#777;
font-size:.9em;
}
.model-card:hover,
.testimonial-card:hover{
border-color:#ff4d94;
transform:translateY(-6px);
box-shadow:0 10px 24px rgba(0,0,0,.08);
}
@media (min-width:768px){
.models-grid{
grid-template-columns:repeat(2,1fr);
}
.testimonial-grid{
grid-template-columns:repeat(3,1fr);
}
}
@media (min-width:1024px){
.testimonial-grid{
grid-template-columns:repeat(4,1fr);
}
}
.update-text{
font-weight: 600;
font-size: clamp(1rem, 1.8vw, 1.125rem);
text-transform: uppercase;
}
.update-text small{
color: #e60073;
}
/* RATES SECTION */
.table-responsive{
width:100%;
overflow-x:auto;
-webkit-overflow-scrolling:touch;
}
.table{
width:100%;
min-width:600px;
margin:0;
border-collapse:collapse;
background:#fff;
font-size:clamp(.85rem,1.5vw,1rem);
background:transparent;
}
.table thead th{
padding:8.8px 7.2px;
background:#ac00e6;
color:#fff;
font-weight:700;
text-align:center;
white-space:nowrap;
border:1px solid #e8b5bb;
}
.table tbody td{
padding: 8px 7px;
text-align:center;
vertical-align:middle;
white-space:nowrap;
border:1px solid #f1d4d7;
}
.table tbody tr:nth-child(even){
background:#fff8f8;
}
.table tbody tr:hover{
background:#ffe5e8;
}
.pricing-grid{
display:grid;
grid-template-columns:1fr;
gap:20px;
margin-top:40px;
}
.price-card{
position:relative;
padding:28px 22px;
border-radius:18px;
background:linear-gradient(180deg,#fff8fc 0%,#f5fbff 100%);
border:1px solid #ff99cc;
transition: transform .25s ease, box-shadow .2s ease, border-color .2s ease;
}
.price-card:hover{
transform:translateY(-6px);
border-color:#ff0080;
box-shadow:0 14px 30px rgba(0,0,0,.15);
}
.popular{
border:2px solid #ff1f71;
}
.badge{
position:absolute;
top:-16px;
left:50%;
transform:translateX(-50%);
background:#ac00e6;
color:#fff;
padding:7px 24px;
border-radius:50px;
font-size: clamp(.80rem, 1.8vw, .85rem);
font-weight:700;
text-transform:uppercase;
}
.price-title{
margin:0;
text-align:center;
color:#000;
font-size:clamp(1rem,3vw,1.3rem);
line-height:1.3;
}
.price{
display:block;
margin:18px 0 28px;
text-align:center;
color:#660033;
font-size:clamp(1.2rem,5vw,1.5rem);
font-weight:700;
line-height:1;
}
.price-card ul{
margin:0 0 20px;
padding:0;
list-style:none;
}
.price-card li{
display:flex;
align-items:center;
justify-content:center;
gap:8px;
margin-bottom:12px;
color:#555;
font-size: clamp(0.9375rem, 1.8vw, 1rem);
}
.yes::before{
content:"✔";
color:#00b300;
font-weight:700;
}
.no::before{
content:"✕";
color:#b32400;
font-weight:700;
}
.price-btn{
display:flex;
justify-content:center;
align-items:center;
min-height:45px;
border-radius:30px;
text-decoration:none;
background:#ac00e6;
color:#fff;
font-weight:700;
}
.price-btn:hover{
background:#39004d;
}
@media(min-width:768px){
.pricing-grid{
grid-template-columns:repeat(3,1fr);
margin-top: 80px;
}
}
/* FAQ SECTION */
.faq-container{
display:flex;
flex-direction:column;
gap:10px;
max-width:900px;
margin:0 auto;
}
/* FAQ ITEM */
.faq-item{
background:linear-gradient(180deg,#fff8fc 0%,#f5fbff 100%);
border:1px solid #ff99cc;
border-radius:10px;
padding:15px 20px;
}
/* QUESTION */
.faq-item summary{
position:relative;
display:block;
padding-right:28px;
list-style:none;
cursor:pointer;
font-size: clamp(0.9375rem, 2.5vw, 1.0625rem);
font-weight:600;
line-height:1.4;
color:#000;
}
.faq-item summary::-webkit-details-marker{
display:none;
}
/* PLUS / MINUS */
.faq-item summary::after{
content:"+";
position:absolute;
top:50%;
right:0;
transform:translateY(-50%);
font-size:1.25rem;
font-weight:700;
line-height:1;
color:#ff004d;
transition:transform .25s ease;
}
.faq-item[open] summary::after{
content:"−";
}
/* ANSWER */
.faq-item p{
margin:10px 0 2px;
font-size:clamp(.875rem,2.2vw,.95rem);
line-height:1.6;
color:#333;
}
.faq-item{
transition:border-color .25s ease, box-shadow .25s ease;
}
.faq-item:hover{
border-color:#ff0080;
box-shadow:0 8px 18px rgba(255,0,128,.12);
}
.faq-item:hover summary::after{
transform:translateY(-50%) rotate(90deg);
}
@media (min-width:768px){
.faq-container{
gap: 12px;
}
}
/* CONTACT SECTION */
.contact-wrap{
display:grid;
grid-template-columns:1fr;
gap:20px;
}
/* MAP */
.map-card,
.form-card{
background:linear-gradient(180deg,#fff8fc 0%,#f5fbff 100%);
border:2px solid #ffd6ea;
border-radius:14px;
overflow:hidden;
}
.map-card iframe{
display:block;
width:100%;
height:320px;
border:0;
}
.map-address{
padding:14px;
background:#fff8fc;
border-top:2px solid #ffd6ea;
font-size:0.9375rem;
color:#222;
}
/* FORM */
.form-card{
padding:20px;
}
.form-title{
margin:0 0 18px;
text-align:center;
color: #99004d;
font-size: clamp(1.375rem, 2.5vw, 1.75rem);
font-family: var(--font-heading), sans-serif;
}
/* FORM */
.form-group{
margin-bottom:12px;
}
.form-row{
display:grid;
grid-template-columns:1fr;
gap:12px;
}
.form-group input,
.form-group select,
.form-group textarea{
width:100%;
padding:12px 14px;
border:1px solid #dcdcdc;
border-radius:10px;
font:inherit;
background:#fff;
color:#222;
outline:none;
box-sizing:border-box;
transition:border-color .25s ease;
}
.form-group select{
cursor:pointer;
appearance:none;
-webkit-appearance:none;
}
.form-group textarea{
resize:vertical;
min-height:95px;
max-height:180px;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
border-color:#ff4d88;
box-shadow:0 0 0 3px rgba(255,77,136,.15);
}
.btn-send{
display:flex;
align-items:center;
justify-content:center;
width:100%;
padding:15px;
border:none;
border-radius:10px;
font-size:0.9375rem;
margin-bottom:12px;
background:#ac00e6;
color:#fff;
font-weight:700;
text-decoration:none;
cursor:pointer;
transition:background-color .25s ease;
}
.btn-send:hover{
background:#39004d;
} 
.direct-text{
display:flex;
align-items:center;
margin:18px 0;
}
.direct-text::before,
.direct-text::after{
content:"";
flex:1;
height:1px;
background:#d9d9d9;
}
.direct-text span{
padding:0 12px;
font-size:0.875rem;
font-weight:700;
color:#666;
white-space:nowrap;
text-transform:uppercase;
}
.contact-actions{
display:grid;
grid-template-columns:1fr;
gap:12px;
}
.btn-call,
.btn-whatsapp{
display:flex;
align-items:center;
justify-content:center;
padding:14px;
border-radius:10px;
text-decoration:none;
font-size:0.9375rem;
font-weight:700;
color:#fff;
transition:background-color .25s ease;
}
.btn-call{
background:#ac00e6;
}
.btn-whatsapp{
background:#25D366;
}
.btn-call:hover{
background:#39004d;
}
.btn-whatsapp:hover{
background:#1fa955;
}
@media (min-width:768px){
.contact-wrap{
grid-template-columns:1fr 1fr;
align-items:start;
gap:24px;
}
.form-row{
grid-template-columns:repeat(2,1fr);
}
.map-card iframe{
height:100%;
min-height:520px;
}
.form-card{
padding:24px;
}
.contact-actions{
grid-template-columns:repeat(2,1fr);
gap:16px;
}
}
/* DESKTOP */
@media (min-width:1024px){
.contact-wrap{
gap:30px;
}
.form-card{
padding:28px;
}
}
/* CITY SECTION */
.cities-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:10px;
margin:0;
padding:0;
list-style:none;
}
.cities-grid li{
margin:0;
}
.cities-grid a{
display:block;
padding:10px 12px;
background:#8600b3;
border:1px solid #ffb3ff;
border-radius:10px;
text-align:center;
text-decoration:none;
color:#fff;
font-size: clamp(0.875rem, 2vw, 1rem);
font-weight:700;
transition:border-color .25s ease,transform .25s ease;
}
.cities-grid a:hover{
background: #4d0066;
border-color:#ff0080;
box-shadow:0 12px 24px rgba(0,0,0,.18);
transform:translateY(-3px);
}
@media (min-width:600px){
.cities-grid{
grid-template-columns:repeat(3,1fr);
}
}
@media (min-width:768px){
.cities-grid{
grid-template-columns:repeat(4,1fr);
}
}
@media (min-width:1024px){
.cities-grid{
grid-template-columns:repeat(5,1fr);
}
}
/* TAG SECTION */
.tags-sec{
position:relative;
overflow:hidden;
padding:35px 0;
}
.tags-bg-img{
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
z-index:-2;
}
.tags-sec::before{
content:"";
position:absolute;
inset:0;
background:rgba(5,15,35,.78);
z-index:-1;
}
.tags-sec .container{
position:relative;
z-index:1;
}
.tags-sec h3{
font-size: clamp(1.375rem, 2.5vw, 1.75rem);
color: #ffff1a;
}
.tags-list{
display:flex;
flex-wrap:wrap;
gap:8px;
}
.tags-list span{
display:inline-flex;
align-items:center;
justify-content:center;
padding:8px 12px;
background:rgba(0, 0, 0, 0.25);
border:1px solid #ff99cc;
border-radius:999px;
color:#fff;
font-size: clamp(0.75rem, 2vw, 0.8125rem);
font-weight:600;
line-height:1.2;
white-space:nowrap;
cursor: default;
transition: transform .25s ease, background-color .25s ease, box-shadow .25s ease;
}
.tags-list span:hover{
transform:translateY(-3px);
background: rgba(0, 0, 0, 0.9);
box-shadow: 0 4px 12px rgba(255, 0, 128, 0.3);
}
/* FOOTER SECTION */
.site-footer {
background-color: var(--bg-pink);
padding: 30px 15px;
text-align: center;
border-top: 1px solid white;
contain: layout paint;
}
.footer-links {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 20px 15px;
}
.footer-links li {
margin: 0;
}
.footer-links a {
color: #fff;
font-size: clamp(1rem, 1.8vw, 1.125rem);
font-weight: 700;
white-space: nowrap;
line-height: 1.2;
position: relative;
}
.footer-links a img {
filter: brightness(0) invert(1);
}
.bottom-footer {
margin-top: 15px;
}
.bottom-footer p {
font-size: clamp(0.875rem, 1.6vw, 0.9375rem);
margin: 0;
color: #ffe6f0;
font-weight: 600;
}
.bottom-footer a strong {
color: #ffff1a;
display:inline-block;
transition:transform .2s ease,color .2s ease;
}
.bottom-footer a strong:hover {
color: #cccc00;
transform:translateX(4px);
}
@media (min-width: 768px) {
.site-footer {
padding: 40px 20px;
}
.footer-links {
gap: 0 30px;
}
.bottom-footer {
margin-top: 25px;
}
}
/* DEFAULT HIDDEN (NO CLS) */
.age-overlay,
.age-modal {
transition: opacity 0.25s ease;
}
.age-overlay {
backdrop-filter: none;
}
.age-modal-content {
transform: scale(0.95);
transition: transform 0.25s ease;
}
.age-modal.active .age-modal-content {
transform: scale(1);
}
.age-modal h2 {
margin-bottom: 10px;
}
.age-modal p {
font-size: clamp(0.9375rem, 1.8vw, 1rem);
}
.disclaimer {
font-size: clamp(0.8125rem, 1.8vw, 0.875rem) !important;
opacity: 0.8;
}
.age-buttons {
margin-top: 15px;
display: flex;
gap: 10px;
justify-content: center;
}
.btn-yes,
.btn-no {
display: block;
width: 100%;
box-sizing: border-box;
font-size: clamp(0.9375rem, 1.8vw, 1.0625rem);
padding: 10px 15px;
border-radius: 10px 15px;
text-decoration: none;
font-family: var(--font-body);
cursor: pointer;
font-weight: 600;
border: none;
transition: background-color .3s ease, color .3s ease, transform .3s ease;
touch-action:manipulation;
}
.btn-yes {
background: #ff3377;
color: #fff;
}
/* NO BUTTON */
.btn-no {
border: 1px solid gray;
color: #fff;
}
.btn-yes:hover,
.btn-no:hover {
transform:translateY(-3px) scale(1.03);
}
.btn-yes:hover {
background: #ff99bb;
color: #000;
}
.btn-no:hover {
background: #fff;
color: #000;
}
@media (min-width: 768px) {
.age-overlay {
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
}
}

