/* =========================================================
   YUME — Japan Old-Style Portal + Luxury Night Design System
   Mobile-first. Dark luxury background, gold/champagne/deep-red/pink accents.
   ========================================================= */

:root{
	--yume-bg: #10070b;
	--yume-bg-soft: #180b10;
	--yume-card: #1a1014;
	--yume-card-hi: #241419;
	--yume-line: rgba(214,180,106,.18);

	--yume-gold: #d6b46a;
	--yume-champagne: #f4e3b2;
	--yume-red: #7b1024;
	--yume-red-bright: #a3172f;
	--yume-pink: #d84f8a;

	--yume-text: #f7f1e8;
	--yume-muted: #b8a99b;

	--yume-radius: 14px;
	--yume-radius-sm: 8px;
	--yume-shadow: 0 12px 30px rgba(0,0,0,.45);
	--yume-glow: 0 0 0 1px var(--yume-line), 0 8px 24px rgba(214,180,106,.08);

	--yume-font-jp: 'Noto Serif JP', serif;
	--yume-font-sans: 'Noto Sans JP', sans-serif;

	--yume-container: 1180px;
}

/* ---------- Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
	margin:0;
	background:var(--yume-bg);
	background-image:
		radial-gradient(ellipse at top, rgba(214,180,106,.06), transparent 60%),
		radial-gradient(ellipse at bottom, rgba(123,16,36,.10), transparent 55%);
	color:var(--yume-text);
	font-family:var(--yume-font-sans);
	font-size:15px;
	line-height:1.75;
	-webkit-font-smoothing:antialiased;
}
ul,ol{ margin:0; padding:0; list-style:none; }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
h1,h2,h3,h4{ font-family:var(--yume-font-jp); margin:0 0 .5em; line-height:1.4; }
p{ margin:0 0 1em; }
button{ font-family:inherit; }

/* ---------- Notice strip ---------- */
.yume-notice-strip{
	background:linear-gradient(90deg, var(--yume-red), var(--yume-red-bright));
	overflow:hidden;
	white-space:nowrap;
	border-bottom:1px solid var(--yume-line);
}
.yume-notice-strip__track{
	display:inline-flex;
	gap:2.5em;
	padding:6px 1em;
	font-size:12px;
	color:var(--yume-champagne);
	letter-spacing:.03em;
	animation:yume-marquee 22s linear infinite;
}
.yume-notice-strip__track span::after{ content:'★'; margin-left:2.5em; color:var(--yume-gold); }
@keyframes yume-marquee{
	0%{ transform:translateX(0); }
	100%{ transform:translateX(-50%); }
}

/* ---------- Header ---------- */
.yume-header{
	position:sticky; top:0; z-index:50;
	background:rgba(16,7,11,.92);
	backdrop-filter:blur(6px);
	border-bottom:1px solid var(--yume-line);
}
.yume-header__inner{
	max-width:var(--yume-container); margin:0 auto;
	display:flex; align-items:center; justify-content:space-between;
	padding:10px 16px;
}
.yume-logo{ display:flex; align-items:center; }
.yume-logo img{ height:130px; width:auto; }
.yume-logo__text{
	font-family:var(--yume-font-jp); font-weight:700; font-size:22px;
	color:var(--yume-champagne); letter-spacing:.06em;
}
.yume-logo__text em{ font-style:normal; color:var(--yume-gold); margin-left:4px; }

.yume-nav-toggle{
	display:flex; flex-direction:column; gap:5px;
	background:none; border:1px solid var(--yume-line); border-radius:8px;
	padding:9px 10px; cursor:pointer;
}
.yume-nav-toggle span{ width:20px; height:2px; background:var(--yume-gold); display:block; }

.yume-nav{
	position:fixed; inset:0 0 0 auto; width:min(84vw,340px);
	background:var(--yume-bg-soft); border-left:1px solid var(--yume-line);
	transform:translateX(100%); transition:transform .3s ease;
	overflow-y:auto; padding:70px 22px 100px; z-index:60;
}
.yume-nav.is-open{ transform:translateX(0); }
.yume-nav__list li{ border-bottom:1px solid var(--yume-line); }
.yume-nav__list a{ display:block; padding:14px 2px; font-size:15px; }
.yume-nav__contact{ margin-top:20px; }

.yume-lang-switch{ display:flex; gap:8px; margin-top:20px; }
.yume-lang-switch__item{
	font-size:12px; padding:6px 12px; border-radius:999px; border:1px solid var(--yume-line);
	color:var(--yume-muted);
}
.yume-lang-switch__item.is-current{
	border-color:var(--yume-gold); color:var(--yume-champagne); font-weight:700;
}

/* Area quick-link strip under header */
.yume-area-strip{ border-top:1px solid var(--yume-line); background:var(--yume-bg-soft); }
.yume-area-strip__track{
	display:flex; gap:8px; overflow-x:auto; padding:8px 16px;
	max-width:var(--yume-container); margin:0 auto;
	scrollbar-width:none;
}
.yume-area-strip__track::-webkit-scrollbar{ display:none; }
.yume-area-chip{
	flex:0 0 auto; font-size:12px; padding:6px 12px; border-radius:999px;
	border:1px solid var(--yume-line); color:var(--yume-champagne); white-space:nowrap;
}

/* Breadcrumbs */
.yume-page-crumbs{ max-width:var(--yume-container); margin:0 auto; padding:12px 16px 0; }
.yume-breadcrumbs ol{ display:flex; flex-wrap:wrap; gap:6px; font-size:12px; color:var(--yume-muted); }
.yume-breadcrumbs li:not(:last-child)::after{ content:'/'; margin-left:6px; color:var(--yume-line); }
.yume-breadcrumbs a{ color:var(--yume-muted); }
.yume-breadcrumbs a:hover{ color:var(--yume-gold); }

/* ---------- Buttons ---------- */
.btn{
	display:inline-flex; align-items:center; justify-content:center;
	padding:13px 22px; border-radius:999px; font-size:14px; font-weight:700;
	letter-spacing:.03em; border:1px solid transparent; cursor:pointer;
}
.btn--gold{
	background:linear-gradient(135deg, var(--yume-champagne), var(--yume-gold));
	color:#241419; box-shadow:0 6px 18px rgba(214,180,106,.35);
}
.btn--ghost{ border-color:var(--yume-gold); color:var(--yume-champagne); }
.btn--outline{ border-color:var(--yume-line); color:var(--yume-text); }
.btn--block{ width:100%; }
.yume-center{ text-align:center; }
.yume-cta-inline{ margin-top:22px; }

/* ---------- Hero ---------- */
.yume-hero{
	background-size:cover; background-position:center;
	background-color:#0c0509;
	padding:56px 16px 40px; text-align:center;
	border-bottom:1px solid var(--yume-line);
}
.yume-hero__inner{ max-width:720px; margin:0 auto; }
.yume-hero__kicker{ color:var(--yume-gold); font-size:12px; letter-spacing:.2em; margin-bottom:10px; }
.yume-hero__title{ font-size:26px; color:var(--yume-champagne); }
.yume-hero__subtitle{ color:var(--yume-muted); font-size:14px; }
.yume-hero__quicknav{ margin:22px 0; }
.yume-hero__quicknav-label{ display:block; font-size:12px; color:var(--yume-muted); margin-bottom:8px; }
.yume-hero__chips{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
.yume-chip{
	font-size:12px; padding:8px 14px; border-radius:999px;
	border:1px solid var(--yume-gold); color:var(--yume-champagne);
	background:rgba(214,180,106,.06);
}
.yume-chip--all{
	background:linear-gradient(135deg, var(--yume-champagne), var(--yume-gold));
	color:#241419; font-weight:700; border-color:transparent;
}
.yume-hero__cta{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:10px; }

/* ---------- Promo banners ---------- */
.yume-promo-row{
	display:grid; gap:10px; padding:16px; max-width:var(--yume-container); margin:0 auto;
	grid-template-columns:1fr;
}
.yume-promo-banner{
	border-radius:var(--yume-radius-sm); padding:12px 14px;
	display:flex; flex-direction:column; gap:2px;
	box-shadow:var(--yume-shadow); position:relative; overflow:hidden;
}
.yume-promo-banner::after{
	content:''; position:absolute; inset:0;
	background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,.18) 45%, transparent 60%);
	transform:translateX(-100%); animation:yume-shine 5s ease-in-out infinite;
}
@keyframes yume-shine{ 0%,60%{ transform:translateX(-120%); } 100%{ transform:translateX(120%); } }
.yume-promo-banner strong{ font-size:13px; color:var(--yume-champagne); }
.yume-promo-banner span{ font-size:12px; color:rgba(247,241,232,.85); }
.yume-promo-banner--gold{ background:linear-gradient(135deg,#3a2a12,#5c4420); border:1px solid var(--yume-gold); }
.yume-promo-banner--red{ background:linear-gradient(135deg,#3a0f18,#5c1524); border:1px solid var(--yume-red-bright); }
.yume-promo-banner--pink{ background:linear-gradient(135deg,#3a1424,#5c1f38); border:1px solid var(--yume-pink); }

/* ---------- Sections ---------- */
.yume-section{ padding:36px 0; }
.yume-section--alt{ background:var(--yume-bg-soft); border-top:1px solid var(--yume-line); border-bottom:1px solid var(--yume-line); }
.yume-section__inner{ max-width:var(--yume-container); margin:0 auto; padding:0 16px; }
.yume-narrow{ max-width:760px; }
.yume-section__head{ text-align:center; margin-bottom:22px; }
.yume-section__title{ font-size:20px; color:var(--yume-champagne); display:flex; flex-direction:column-reverse; gap:2px; align-items:center; }
.yume-section__title--plain{ display:block; }
.yume-section__title-jp{ font-size:12px; letter-spacing:.2em; color:var(--yume-gold); }
.yume-section__desc{ color:var(--yume-muted); font-size:13px; max-width:520px; margin:6px auto 0; }

.yume-prose h2{ font-size:18px; color:var(--yume-champagne); margin-top:1.6em; }
.yume-prose p{ color:rgba(247,241,232,.9); }
.yume-prose a{ color:var(--yume-gold); text-decoration:underline; }

/* ---------- Filter tabs (All Girls page) ---------- */
.yume-filter-tabs{ display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin:16px 0 22px; }
.yume-filter-tab{
	font-size:12px; padding:8px 16px; border-radius:999px; border:1px solid var(--yume-line);
	color:var(--yume-muted);
}
.yume-filter-tab.is-active{
	background:linear-gradient(135deg, var(--yume-champagne), var(--yume-gold));
	color:#241419; font-weight:700; border-color:transparent;
}

/* ---------- Pagination ---------- */
.yume-pagination{ display:flex; justify-content:center; margin-top:26px; }
.yume-pagination ul{ display:flex; gap:6px; flex-wrap:wrap; justify-content:center; }
.yume-pagination .page-numbers{
	display:inline-flex; align-items:center; justify-content:center;
	min-width:36px; height:36px; padding:0 10px; border-radius:8px;
	border:1px solid var(--yume-line); color:var(--yume-champagne); font-size:13px;
}
.yume-pagination .page-numbers.current{
	background:linear-gradient(135deg, var(--yume-champagne), var(--yume-gold));
	color:#241419; font-weight:700; border-color:transparent;
}
.yume-pagination .page-numbers.dots{ border:none; color:var(--yume-muted); }

/* Intro / Why sections */
.yume-why-grid{ display:grid; gap:14px; grid-template-columns:1fr; }
.yume-why-item{
	background:var(--yume-card); border:1px solid var(--yume-line); border-radius:var(--yume-radius);
	padding:16px; box-shadow:var(--yume-glow);
}
.yume-why-item h3{ font-size:15px; color:var(--yume-gold); }
.yume-why-item p{ color:var(--yume-muted); font-size:13px; margin:0; }

/* ---------- Cards / Grid ---------- */
.yume-card-grid{ display:grid; gap:14px; grid-template-columns:repeat(2,1fr); }
.yume-card{
	background:var(--yume-card); border:1px solid var(--yume-line); border-radius:var(--yume-radius);
	overflow:hidden; box-shadow:var(--yume-glow); display:flex; flex-direction:column;
	transition:transform .2s ease, box-shadow .2s ease;
}
.yume-card:hover{ transform:translateY(-3px); box-shadow:var(--yume-shadow); border-color:var(--yume-gold); }
.yume-card__media{ position:relative; aspect-ratio:4/5; background:var(--yume-card-hi); }
.yume-card__media img{ width:100%; height:100%; object-fit:cover; }
.yume-card__noimg{
	width:100%; height:100%; display:flex; align-items:center; justify-content:center;
	color:var(--yume-line); font-family:var(--yume-font-jp); font-size:22px;
}
.yume-card__area{
	position:absolute; left:8px; bottom:8px; font-size:10px; background:rgba(16,7,11,.75);
	color:var(--yume-champagne); padding:3px 8px; border-radius:999px; border:1px solid var(--yume-line);
}
.yume-card__body{ padding:10px 12px 12px; flex:1; display:flex; flex-direction:column; gap:4px; }
.yume-card__name{ font-size:14px; color:var(--yume-text); display:flex; align-items:baseline; gap:6px; margin:0; }
.yume-card__age{ font-size:11px; color:var(--yume-muted); font-family:var(--yume-font-sans); }
.yume-card__spec{ font-size:11px; color:var(--yume-muted); margin:0; }
.yume-card__intro{ font-size:12px; color:rgba(247,241,232,.8); margin:0; flex:1; }
.yume-card__foot{ display:flex; align-items:center; justify-content:space-between; margin-top:6px; }
.yume-card__price{ font-size:13px; color:var(--yume-gold); font-weight:700; }
.yume-card__status{ font-size:10px; padding:3px 8px; border-radius:999px; border:1px solid var(--yume-line); }

/* ---------- Badges ---------- */
.yume-badges{ position:absolute; top:8px; left:8px; display:flex; flex-direction:column; gap:4px; align-items:flex-start; }
.badge{ font-size:10px; font-weight:700; padding:3px 8px; border-radius:6px; letter-spacing:.03em; box-shadow:0 2px 8px rgba(0,0,0,.4); }
.badge-new{ background:var(--yume-pink); color:#fff; }
.badge-reco{ background:linear-gradient(135deg,var(--yume-champagne),var(--yume-gold)); color:#241419; }
.badge-today{ background:var(--yume-red-bright); color:#fff; }
.badge-ok{ background:rgba(16,7,11,.75); color:var(--yume-champagne); border:1px solid var(--yume-gold); }
.badge-pop{ background:var(--yume-red); color:var(--yume-champagne); }
.badge-rank{ background:#0c0509; color:var(--yume-gold); border:1px solid var(--yume-gold); }
.badge-rank--1{ background:linear-gradient(135deg,var(--yume-champagne),var(--yume-gold)); color:#241419; }

.is-available{ color:#8fd8a0; border-color:#8fd8a0; }
.is-appointment{ color:var(--yume-champagne); }
.is-off{ color:var(--yume-muted); }
.is-full{ color:var(--yume-pink); }

/* ---------- Location grid ---------- */
.yume-location-grid{ display:grid; gap:14px; grid-template-columns:1fr; }
.yume-location-card{
	border:1px solid var(--yume-line); border-radius:var(--yume-radius); overflow:hidden;
	background:var(--yume-card); box-shadow:var(--yume-glow); display:block;
}
.yume-location-card__media{
	aspect-ratio:16/8; background:linear-gradient(135deg,#241419,#3a1424) center/cover;
	position:relative; display:flex; align-items:flex-end; padding:10px;
}
.yume-location-card__count{ font-size:11px; background:rgba(16,7,11,.7); color:var(--yume-champagne); padding:3px 9px; border-radius:999px; border:1px solid var(--yume-line); }
.yume-location-card__body{ padding:12px 14px; }
.yume-location-card__body h3{ font-size:15px; color:var(--yume-champagne); margin:0 0 4px; }
.yume-location-card__body p{ font-size:12px; color:var(--yume-muted); margin:0; }

.yume-area-links{ display:grid; gap:10px; grid-template-columns:1fr 1fr; }
.yume-area-link{
	border:1px solid var(--yume-line); border-radius:var(--yume-radius-sm); padding:12px;
	display:flex; flex-direction:column; gap:4px; background:var(--yume-card);
}
.yume-area-link span{ font-size:11px; color:var(--yume-muted); }

/* ---------- Pricing table ---------- */
.yume-pricing-table{ display:flex; flex-direction:column; gap:8px; }
.yume-pricing-row{
	display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px; align-items:center;
	background:var(--yume-card); border:1px solid var(--yume-line); border-radius:var(--yume-radius-sm);
	padding:12px 14px; font-size:13px;
}
.yume-pricing-table--full .yume-pricing-row{ grid-template-columns:1.2fr .8fr .9fr 1.4fr; }
.yume-pricing-row--head{ background:transparent; border:none; color:var(--yume-gold); font-size:11px; padding:0 14px; }
.yume-pricing-row__plan{ color:var(--yume-champagne); font-weight:700; }
.yume-pricing-row__price{ color:var(--yume-gold); font-weight:700; }
.yume-pricing-row__note{ color:var(--yume-muted); font-size:11px; }

/* ---------- Steps / notes / checklist ---------- */
.yume-steps li,.yume-notes li,.yume-checklist li{
	background:var(--yume-card); border:1px solid var(--yume-line); border-radius:var(--yume-radius-sm);
	padding:12px 14px; margin-bottom:8px; font-size:13px; color:rgba(247,241,232,.9);
}
.yume-notes li{ border-left:3px solid var(--yume-red-bright); }
.yume-checklist li strong{ color:var(--yume-gold); }

/* ---------- FAQ ---------- */
.yume-faq__item{ border:1px solid var(--yume-line); border-radius:var(--yume-radius-sm); padding:12px 14px; margin-bottom:8px; background:var(--yume-card); }
.yume-faq__item summary{ cursor:pointer; color:var(--yume-champagne); font-weight:700; font-size:14px; }
.yume-faq__item p{ margin:10px 0 0; color:var(--yume-muted); font-size:13px; }

/* ---------- Contact tiles / buttons ---------- */
.yume-contact-grid{ display:grid; gap:12px; grid-template-columns:1fr; }
.yume-contact-tile{
	border-radius:var(--yume-radius); padding:16px; text-align:center;
	border:1px solid var(--yume-line); background:var(--yume-card); box-shadow:var(--yume-glow);
}
.yume-contact-tile__label{ display:block; font-family:var(--yume-font-jp); font-size:18px; color:var(--yume-champagne); }
.yume-contact-tile__desc{ display:block; font-size:12px; color:var(--yume-muted); margin-top:4px; }
.yume-contact-tile--telegram{ border-color:#3aa0e0; }
.yume-contact-tile--line{ border-color:#3fc451; }
.yume-contact-tile--whatsapp{ border-color:#3fc451; }

.yume-contact-btns{ display:flex; gap:8px; flex-wrap:wrap; }
.contact-btn{
	font-size:12px; padding:8px 14px; border-radius:999px; border:1px solid var(--yume-line);
	color:var(--yume-champagne);
}
.yume-nav__contact .yume-contact-btns{ flex-direction:column; }
.yume-nav__contact .contact-btn{ text-align:center; }

/* ---------- CTA ---------- */
.yume-cta{ padding:40px 16px; text-align:center; background:linear-gradient(135deg,#241419,#3a0f18); border-top:1px solid var(--yume-gold); }
.yume-cta__inner{ max-width:560px; margin:0 auto; }
.yume-cta h2{ font-size:19px; color:var(--yume-champagne); }
.yume-cta p{ color:var(--yume-muted); font-size:13px; }
.yume-cta__actions{ display:flex; flex-direction:column; gap:10px; align-items:center; margin-top:14px; }

/* ---------- Page hero (pricing/contact/category) ---------- */
.yume-page-hero{ padding:40px 16px; text-align:center; border-bottom:1px solid var(--yume-line); background-size:cover; background-position:center; }
.yume-page-hero__inner{ max-width:640px; margin:0 auto; }
.yume-page-hero__kicker{ color:var(--yume-gold); font-size:11px; letter-spacing:.2em; margin-bottom:8px; }
.yume-page-hero h1{ font-size:23px; color:var(--yume-champagne); }
.yume-page-hero__lead{ color:var(--yume-muted); font-size:13px; }
.yume-page-hero__count{ display:inline-block; margin-top:8px; font-size:12px; color:var(--yume-gold); border:1px solid var(--yume-gold); padding:4px 12px; border-radius:999px; }

/* ---------- Profile page ---------- */
.yume-profile__hero{ display:flex; flex-direction:column; }
.yume-profile__media{ position:relative; background:var(--yume-card-hi); }
.yume-profile__main-img{ width:100%; aspect-ratio:3/4; object-fit:cover; }
.yume-profile__summary{ padding:18px 16px; max-width:var(--yume-container); margin:0 auto; width:100%; }
.yume-profile__area{ display:inline-block; font-size:11px; color:var(--yume-champagne); border:1px solid var(--yume-line); padding:4px 10px; border-radius:999px; margin-bottom:10px; }
.yume-profile__name{ font-size:24px; color:var(--yume-champagne); display:flex; align-items:baseline; gap:10px; }
.yume-profile__name span{ font-size:14px; color:var(--yume-muted); font-family:var(--yume-font-sans); }
.yume-profile__intro{ color:rgba(247,241,232,.9); font-size:14px; }
.yume-profile__spec-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:16px 0; }
.yume-profile__spec-grid div{ background:var(--yume-card); border:1px solid var(--yume-line); border-radius:var(--yume-radius-sm); padding:10px 12px; }
.yume-profile__spec-grid span{ display:block; font-size:11px; color:var(--yume-muted); }
.yume-profile__spec-grid strong{ font-size:13px; color:var(--yume-text); }
.yume-profile__price{ font-size:16px; color:var(--yume-gold); font-weight:700; margin-bottom:14px; }
.yume-profile__actions{ display:flex; flex-direction:column; gap:10px; }

.yume-qr-section{
	margin-top:18px; padding:16px; border:1px solid var(--yume-line); border-radius:var(--yume-radius);
	background:var(--yume-card);
}
.yume-qr-section__heading{
	font-size:13px; color:var(--yume-gold); text-align:center; margin:0 0 12px; letter-spacing:.03em;
}
.yume-qr-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.yume-qr-item{ display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; }
.yume-qr-item img{
	width:100%; max-width:150px; aspect-ratio:1/1; object-fit:contain;
	background:#fff; border-radius:var(--yume-radius-sm); padding:6px; border:1px solid var(--yume-line);
}
.yume-qr-item span{ font-size:11px; color:var(--yume-muted); line-height:1.5; }

.yume-gallery{ display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.yume-gallery img{ border-radius:var(--yume-radius-sm); aspect-ratio:1/1; object-fit:cover; }

.yume-feature-list{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.yume-feature-list li{
	font-size:12px; color:var(--yume-champagne); background:var(--yume-card); border:1px solid var(--yume-line);
	border-radius:999px; padding:8px 12px; text-align:center;
}

/* ---------- Footer ---------- */
.yume-footer{ background:#0a0508; border-top:1px solid var(--yume-line); padding:36px 16px 10px; }
.yume-footer__inner{ max-width:var(--yume-container); margin:0 auto; display:grid; gap:26px; grid-template-columns:1fr; }
.yume-footer__logo{ height:130px; margin-bottom:10px; }
.yume-footer__desc{ color:var(--yume-muted); font-size:12px; }
.yume-footer__col h4{ font-family:var(--yume-font-sans); font-size:13px; color:var(--yume-gold); margin-bottom:10px; letter-spacing:.05em; }
.yume-footer__col li{ margin-bottom:6px; }
.yume-footer__col a{ font-size:12px; color:var(--yume-muted); }
.yume-footer__col a:hover{ color:var(--yume-gold); }
.yume-footer__bottom{ max-width:var(--yume-container); margin:26px auto 0; padding-top:14px; border-top:1px solid var(--yume-line); text-align:center; }
.yume-footer__bottom p{ font-size:11px; color:var(--yume-muted); margin:0 0 4px; }

/* Sticky mobile CTA bar */
.yume-mobile-bar{
	position:fixed; left:0; right:0; bottom:0; z-index:70;
	display:flex; gap:6px; padding:8px; background:rgba(10,5,8,.96);
	border-top:1px solid var(--yume-gold); backdrop-filter:blur(6px);
}
.yume-mobile-bar__btn{
	flex:1; text-align:center; font-size:12px; padding:11px 6px; border-radius:999px;
	border:1px solid var(--yume-line); color:var(--yume-champagne);
}
.yume-mobile-bar__btn--main{
	background:linear-gradient(135deg,var(--yume-champagne),var(--yume-gold)); color:#241419; font-weight:700; border:none;
	flex:1.4;
}
body{ padding-bottom:64px; }

/* ---------- Tablet / Desktop ---------- */
@media (min-width:640px){
	.yume-promo-row{ grid-template-columns:repeat(3,1fr); }
	.yume-card-grid{ grid-template-columns:repeat(3,1fr); }
	.yume-why-grid{ grid-template-columns:repeat(2,1fr); }
	.yume-location-grid{ grid-template-columns:repeat(2,1fr); }
	.yume-contact-grid{ grid-template-columns:repeat(3,1fr); }
	.yume-gallery{ grid-template-columns:repeat(3,1fr); }
	.yume-profile__hero{ flex-direction:row; align-items:flex-start; }
	.yume-profile__media{ flex:0 0 40%; }
	.yume-profile__main-img{ aspect-ratio:3/4; height:100%; }
	.yume-cta__actions{ flex-direction:row; justify-content:center; }
}

@media (min-width:900px){
	body{ padding-bottom:0; }
	.yume-mobile-bar{ display:none; }
	.yume-nav-toggle{ display:none; }
	.yume-nav{
		position:static; width:auto; transform:none; background:none; border:none;
		padding:0; display:flex; align-items:center; gap:22px; overflow:visible;
	}
	.yume-nav__list{ display:flex; gap:20px; }
	.yume-nav__list li{ border:none; }
	.yume-nav__list a{ padding:0; font-size:13px; }
	.yume-nav__contact{ margin:0; }
	.yume-nav__contact .yume-contact-btns{ flex-direction:row; }
	.yume-lang-switch{ margin:0; }
	.yume-header__inner{ padding:14px 24px; }
	.yume-hero{ padding:80px 16px 60px; }
	.yume-hero__title{ font-size:34px; }
	.yume-card-grid{ grid-template-columns:repeat(4,1fr); }
	.yume-location-grid{ grid-template-columns:repeat(4,1fr); }
	.yume-footer__inner{ grid-template-columns:2fr 1fr 1fr; }
	.yume-area-links{ grid-template-columns:repeat(4,1fr); }
}
