@charset "utf-8";
/* ==========================================================
   那覇ブランシエラ曙 - 福利厚生施設ページ
   久保電機コーポレートサイトとは独立したテイスト（Figma: 久保電機様福利厚生施設LP_PC）
   基準デザイン幅 1440px
========================================================== */
:root {
	--teal: #2d7080;
	--teal-deep: #2b5c69;
	--ink: #181c1d;
	--text: #2d3132;
	--muted: #555c5e;
	--serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
	--sans: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
	--wrap: 1120px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: var(--sans);
	font-size: 16px;
	line-height: 1.8;
	color: var(--text);
	background: #fff;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4, p, ul, dl, dd, figure { margin: 0; padding: 0; }
ul { list-style: none; }
button { font: inherit; color: inherit; cursor: pointer; background: none; border: 0; padding: 0; }
[id] { scroll-margin-top: 88px; }

.wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; }
.dot {
	display: inline-block;
	flex: none;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #2d6f85;
}
.arrow { font-size: 0.95em; line-height: 1; }

/* ---------- header ---------- */
.gh-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: #fff;
}
.gh-header__inner {
	height: 88px;
	padding: 0 80px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.gh-logo { display: flex; align-items: center; gap: 12px; }
.gh-logo .dot { width: 22px; height: 22px; }
.gh-logo__text {
	font-family: var(--serif);
	font-weight: 500;
	font-size: 20px;
	letter-spacing: 0.02em;
	color: var(--ink);
	line-height: 1.4;
}
.gh-nav {
	display: flex;
	align-items: center;
	gap: 40px;
	font-size: 14px;
}
.gh-nav a:not(.gh-nav__cta) { color: #333; line-height: 1.4; transition: color .25s; }
.gh-nav a:not(.gh-nav__cta):hover { color: var(--teal); }
.gh-nav__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 48px;
	min-width: 188px;
	padding: 0 28px;
	border: 1px solid var(--teal);
	border-radius: 999px;
	color: var(--teal);
	transition: background .25s, color .25s;
}
.gh-nav__cta:hover { background: var(--teal); color: #fff; }
.gh-menuBtn { display: none; }

/* ---------- hero ---------- */
.hero {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 760px;
	background: linear-gradient(180deg, #eaf4f6 0%, #ffffff 100%);
}
.hero__text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 40px 40px 40px clamp(24px, 8.333vw, 120px);
}
.eyebrow {
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 0.07em;
	line-height: 1.4;
	color: var(--teal);
	margin-bottom: 28px;
}
.hero h1 {
	font-family: var(--serif);
	font-weight: 500;
	font-size: 40px;
	line-height: 1.6;
	letter-spacing: 0.05em;
	color: var(--ink);
	margin-bottom: 24px;
}
.hero__lead {
	max-width: 560px;
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: 0.05em;
	margin-bottom: 24px;
}
.hero__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* circle badges (hero / location) */
.badges { display: flex; gap: 12px; }
.badges li {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 144px;
	height: 144px;
	border: 1px solid var(--teal);
	border-radius: 50%;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.8;
	color: var(--teal);
	background: rgba(255, 255, 255, 0.25);
}
.badges--sm li { flex-direction: column; gap: 6px; }
.badges--sm strong {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.04em;
}
.badges--sm span {
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--muted);
}

/* ---------- photo strip ---------- */
.strip { margin-top: 60px; position: relative; z-index: 1; overflow: hidden; --stripH: clamp(150px, 17.22vw, 248px); }
.strip__track {
	display: flex;
	width: max-content;
}
.strip__track.is-ready {
	animation: stripFlow 60s linear infinite;
	will-change: transform;
}
.strip:hover .strip__track { animation-play-state: paused; }
.strip__set {
	display: flex;
	flex: none;
	gap: 24px;
	padding-right: 24px;
}
.strip__set img {
	flex: none;
	width: auto;
	height: var(--stripH);
	max-width: none;
	aspect-ratio: 330 / 248;
	object-fit: cover;
}
@keyframes stripFlow {
	from { transform: translateX(0); }
	to { transform: translateX(-33.3333%); }
}
@media (prefers-reduced-motion: reduce) {
	.strip__track { animation: none; }
}
.deco {
	height: 65px;
	overflow: hidden;
	padding: 2px 0 0 clamp(16px, 6.94vw, 100px);
	font-family: var(--serif);
	font-weight: 500;
	font-size: 64px;
	line-height: 1;
	letter-spacing: 0.03em;
	color: #dfedf1;
	white-space: nowrap;
	user-select: none;
}

/* ---------- section common ---------- */
.sec { position: relative; padding: 120px 40px; }
.sec__head { margin-bottom: 34px; }
.label {
	font-size: 12px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.18em;
	color: var(--teal);
	margin-bottom: 20px;
}
.label--light { color: rgba(255, 255, 255, 0.9); }
.sec h2 {
	font-family: var(--serif);
	font-weight: 500;
	font-size: 32px;
	line-height: 1.6;
	letter-spacing: 0.1em;
	color: #151d21;
}
.sec__head .label { margin-bottom: 20px; }

/* ---------- gallery ---------- */
.sec--gallery { background: linear-gradient(180deg, #ffffff 0%, #d7e6ed 100%); }
.gallery {
	display: grid;
	grid-template-columns: 688fr 416fr;
	gap: 16px;
}
.gallery__main { aspect-ratio: 688 / 560; }
.gallery__main img { width: 100%; height: 100%; object-fit: cover; }
.gallery__side {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 16px;
}
.gallery__side img { width: 100%; height: 100%; object-fit: cover; }
.gallery__row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-top: 16px;
}
.gallery__row img { width: 100%; aspect-ratio: 268 / 200; object-fit: cover; }

/* ---------- room ---------- */
.sec--room { background: linear-gradient(180deg, #d7e6ed 0%, #ffffff 100%); }
.roomCards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.roomCard { background: #fff; }
.roomCard img { width: 100%; aspect-ratio: 358 / 220; object-fit: cover; }
.roomCard__body { padding: 22px 24px; }
.roomCard h3 {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--ink);
}
.roomCard p {
	margin-top: 8px;
	font-size: 14px;
	line-height: 1.8;
	color: #4a5052;
}
.tags {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 20px;
}
.tags li {
	display: inline-flex;
	align-items: center;
	height: 40px;
	padding: 0 16px;
	border-radius: 999px;
	background: #fff;
	font-size: 14px;
	line-height: 1;
	color: #333;
	box-shadow: 0 2px 10px rgba(30, 70, 90, 0.06);
}
.moreBtn {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	height: 46px;
	margin-top: 24px;
	padding: 0 28px;
	border: 1px solid var(--teal);
	border-radius: 999px;
	font-size: 14px;
	font-weight: 700;
	color: var(--teal);
	transition: background .25s, color .25s;
}
.moreBtn:hover { background: var(--teal); color: #fff; }
.note {
	display: flex;
	align-items: center;
	min-height: 64px;
	margin-top: 20px;
	padding: 12px 24px;
	background: #ededed;
	font-size: 14px;
	line-height: 1.6;
	color: #4a4a4a;
}

/* ---------- location ---------- */
.sec--location { background: linear-gradient(180deg, #ffffff 0%, #d6e5eb 100%); }
.location {
	display: grid;
	grid-template-columns: 1fr 560px;
	gap: 0;
	align-items: start;
}
.location__text { padding-right: 60px; }
.location__lead {
	margin-top: 26px;
	margin-bottom: 28px;
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: 0.05em;
}
.location__map { margin-top: 8px; height: 436px; background: #e5eaed; }
.location__map iframe { display: block; width: 100%; height: 100%; border: 0; }
.locPhotos {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-top: 56px;
}
.locPhotos img { width: 100%; aspect-ratio: 363 / 240; object-fit: cover; }
.locPhotos figcaption {
	margin-top: 12px;
	font-size: 13px;
	line-height: 1.6;
	color: var(--muted);
}

/* ---------- access (車・タクシー訴求 + アクセスマップ) ---------- */
.access { margin-top: 80px; --accent: #d96a1e; }
.carCall {
	display: grid;
	grid-template-columns: 1fr 363px;
	gap: 40px;
	align-items: center;
	padding: 36px 40px;
	border: 1px solid #f0cba8;
	border-left: 6px solid var(--accent);
	border-radius: 4px;
	background: #fff6ec;
}
.carCall__head { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.pill {
	display: inline-flex;
	align-items: center;
	height: 28px;
	padding: 0 16px;
	border-radius: 999px;
	background: var(--accent);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1;
	color: #fff;
}
.carCall__tag { font-size: 14px; font-weight: 700; letter-spacing: 0.06em; color: var(--accent); }
.carCall h3 {
	font-family: var(--serif);
	font-weight: 600;
	font-size: 30px;
	line-height: 1.5;
	letter-spacing: 0.06em;
	color: #1c1c1c;
}
.carCall h3 em {
	display: inline-block;
	white-space: nowrap;
	margin-left: 0.15em;
	font-style: normal;
	font-size: 1.35em;
	letter-spacing: 0.04em;
	color: var(--accent);
}
.carCall__text {
	margin-top: 12px;
	font-size: 15px;
	line-height: 1.9;
	letter-spacing: 0.04em;
}
.carCall__park {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px dashed #e6bd96;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	color: #1c1c1c;
}
.pmark {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 7px;
	background: var(--teal);
	font-family: var(--sans);
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	color: #fff;
}
.carCall__photo img { width: 100%; aspect-ratio: 363 / 240; object-fit: cover; border-radius: 2px; }
.carCall__photo figcaption {
	margin-top: 10px;
	font-size: 13px;
	line-height: 1.6;
	color: var(--muted);
}
.accessMap { margin-top: 40px; }
.accessMap__link {
	display: block;
	line-height: 0;
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 0 6px 24px rgba(30, 70, 90, 0.12);
}
.accessMap__link img { width: 100%; height: auto; }

/* ---------- booking ---------- */
.booking {
	position: relative;
	min-height: 798px;
	padding: 120px 40px;
	color: #fff;
	overflow: hidden;
}
.booking__bg {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(rgba(6, 18, 28, 0.35), rgba(6, 18, 28, 0.35)),
		url("../img/BG_photo.png") center / cover no-repeat;
}
.booking__inner {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 440px;
	align-items: start;
}
.booking h2 {
	font-family: var(--serif);
	font-weight: 500;
	font-size: 32px;
	line-height: 1.6;
	letter-spacing: 0.1em;
	color: #fff;
	margin-bottom: 36px;
}
.bookList { display: grid; gap: 42px; max-width: 600px; }
.bookList li { display: flex; gap: 24px; align-items: flex-start; }
.bookList .ico { flex: none; margin-top: 3px; color: #fff; }
.bookList h3 {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.02em;
}
.bookList p {
	margin-top: 8px;
	font-size: 14px;
	line-height: 1.8;
	color: rgba(255, 255, 255, 0.82);
}
.btnWhite {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 64px;
	min-width: 228px;
	margin-top: 36px;
	padding: 0 36px;
	border-radius: 999px;
	background: #fff;
	color: #1d2a2e;
	font-size: 16px;
	font-weight: 500;
	transition: opacity .25s;
}
.btnWhite:hover { opacity: 0.88; }
.stay {
	margin-top: 122px;
	padding: 40px 36px 30px;
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.14);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
}
.stay__title {
	font-size: 12px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.15em;
	color: rgba(255, 255, 255, 0.85);
	margin-bottom: 22px;
}
.stay dl div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 54px;
	border-top: 1px solid rgba(255, 255, 255, 0.3);
	font-size: 14px;
}
.stay dl div:first-child { border-top: 0; }
.stay dt { color: rgba(255, 255, 255, 0.85); }
.stay dd { color: #fff; }

/* ---------- footer ---------- */
.gh-footer { background: #fff; }
.gh-footer__inner { padding: 36px 80px 17px; }
.gh-footer__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}
.gh-footer__row--bottom { margin-top: 49px; }
.gh-footer__logo {
	display: flex;
	align-items: center;
	gap: 14px;
	font-family: var(--serif);
	font-weight: 500;
	font-size: 24px;
	line-height: 1.5;
	letter-spacing: 0.1em;
	color: var(--teal-deep);
}
.gh-footer__logo .dot { width: 22px; height: 22px; }
.gh-footer__contact { font-size: 14px; color: #303030; }
.gh-footer__info { display: flex; gap: 24px; font-size: 14px; color: #3d3d3d; }
.btnTeal {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 55px;
	min-width: 203px;
	padding: 0 32px;
	border-radius: 999px;
	background: #2d717e;
	color: #fff;
	font-size: 15px;
	transition: opacity .25s;
}
.btnTeal:hover { opacity: 0.88; }

/* ---------- amenity modal ---------- */
.modal {
	position: fixed;
	inset: 0;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	visibility: hidden;
	opacity: 0;
	transition: opacity .25s ease, visibility 0s linear .25s;
}
.modal.is-open {
	visibility: visible;
	opacity: 1;
	transition: opacity .25s ease, visibility 0s linear 0s;
}
.modal__overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.5); }
.modal__panel {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 780px;
	max-height: min(86vh, 720px);
	border-radius: 16px;
	background: #fff;
	overflow: hidden;
	outline: 0;
}
.modal__head {
	flex: none;
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 20px 24px;
	border-bottom: 1px solid #e7e7e7;
}
.modal__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #f0f0f0;
	color: #333;
	transition: background .2s;
}
.modal__close:hover { background: #e2e2e2; }
.modal__head h3 { font-size: 16px; font-weight: 700; line-height: 1.5; color: var(--ink); }
.modal__body { overflow-y: auto; padding: 8px 32px 32px; }
.amenity { margin-top: 32px; }
.amenity h4 { font-size: 14px; font-weight: 700; line-height: 1.5; color: var(--ink); margin-bottom: 8px; }
.amenity ul { display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; }
.amenity li {
	position: relative;
	padding: 10px 0 10px 30px;
	border-bottom: 1px solid #e4e4e4;
	font-size: 14px;
	line-height: 1.6;
	color: #333;
}
/* アイコンはSVG（円＋チェック／円＋バツ）。位置ズレを防ぐため1枚の画像で描画 */
.amenity li::before {
	content: "";
	position: absolute;
	left: 1px;
	top: 50%;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%232d7080' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10' cy='10' r='8.8'/%3E%3Cpath d='M6.3 10.3l2.6 2.6 4.9-5.3'/%3E%3C/svg%3E") center / 20px 20px no-repeat;
}
.amenity--ng li { color: #9a9a9a; }
.amenity--ng li::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23b0b0b0' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10' cy='10' r='8.8'/%3E%3Cpath d='M7.2 7.2l5.6 5.6M12.8 7.2l-5.6 5.6'/%3E%3C/svg%3E");
}

body.is-locked { overflow: hidden; }

/* ---------- tablet / laptop narrow ---------- */
@media (max-width: 1200px) {
	.gh-header__inner { padding: 0 40px; }
	.gh-footer__inner { padding-left: 40px; padding-right: 40px; }
	.hero__text { padding-right: 24px; }
	.hero h1 { font-size: clamp(30px, 3.2vw, 40px); }
	.location { grid-template-columns: 1fr 1fr; }
	.location__text { padding-right: 40px; }
	.carCall { grid-template-columns: 1fr 300px; gap: 32px; padding: 32px; }
	.carCall h3 { font-size: 26px; }
	.badges li { width: 128px; height: 128px; }
	.booking__inner { grid-template-columns: 1fr 380px; }
}

/* ---------- mobile ---------- */
@media (max-width: 900px) {
	body { font-size: 15px; }
	[id] { scroll-margin-top: 64px; }
	.gh-header__inner { height: 64px; padding: 0 20px; }
	.gh-logo .dot { width: 16px; height: 16px; }
	.gh-logo__text { font-size: 17px; }
	.gh-menuBtn {
		display: block;
		position: relative;
		width: 32px;
		height: 32px;
	}
	.gh-menuBtn span {
		position: absolute;
		left: 4px;
		right: 4px;
		height: 2px;
		background: var(--ink);
		transition: transform .25s, opacity .25s;
	}
	.gh-menuBtn span:nth-child(1) { top: 9px; }
	.gh-menuBtn span:nth-child(2) { top: 15px; }
	.gh-menuBtn span:nth-child(3) { top: 21px; }
	.gh-menuBtn[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
	.gh-menuBtn[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
	.gh-menuBtn[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
	.gh-nav {
		position: absolute;
		top: 64px;
		left: 0;
		right: 0;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 8px 20px 24px;
		background: #fff;
		box-shadow: 0 12px 24px rgba(20, 50, 60, 0.08);
		font-size: 15px;
		visibility: hidden;
		opacity: 0;
		transform: translateY(-8px);
		transition: opacity .25s, transform .25s, visibility 0s linear .25s;
	}
	.gh-nav.is-open {
		visibility: visible;
		opacity: 1;
		transform: none;
		transition: opacity .25s, transform .25s, visibility 0s linear 0s;
	}
	.gh-nav a:not(.gh-nav__cta) { padding: 14px 0; border-bottom: 1px solid #e8eef0; }
	.gh-nav__cta { margin-top: 20px; }

	.hero { grid-template-columns: 1fr; min-height: 0; }
	.hero__text { padding: 40px 20px 32px; }
	.eyebrow { font-size: 18px; margin-bottom: 16px; gap: 12px; }
	.eyebrow .dot { width: 14px; height: 14px; }
	.hero h1 { font-size: clamp(20px, 6.2vw, 28px); letter-spacing: 0.03em; margin-bottom: 16px; text-wrap: balance; }
	.hero__lead { font-size: 14px; margin-bottom: 20px; }
	.badges { justify-content: center; gap: 8px; }
	.badges li { width: 104px; height: 104px; font-size: 12.5px; }
	.hero__photo img { aspect-ratio: 720 / 760; height: auto; }

	.strip { margin-top: 32px; --stripH: 148px; }
	.strip__set { gap: 12px; padding-right: 12px; }
	.strip__track.is-ready { animation-duration: 36s; }
	.deco { font-size: clamp(18px, 5.6vw, 32px); height: 0.95em; padding: 0 0 0 20px; line-height: 1; }

	.sec { padding: 72px 20px; }
	.sec h2, .booking h2 { font-size: clamp(20px, 5.6vw, 24px); letter-spacing: 0.04em; text-wrap: balance; }
	.sec__head { margin-bottom: 24px; }
	.gallery { grid-template-columns: 1fr; gap: 8px; }
	.gallery__main { aspect-ratio: auto; }
	.gallery__main img { height: auto; aspect-ratio: 688 / 560; }
	.gallery__side { gap: 8px; grid-template-rows: none; align-items: start; }
	.gallery__side img { height: auto; aspect-ratio: 200 / 272; }
	.gallery__row { grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; }
	.roomCards { grid-template-columns: 1fr; gap: 16px; }
	.tags { gap: 8px; }
	.tags li { height: 36px; padding: 0 14px; font-size: 13px; }
	.moreBtn { height: 44px; padding: 0 22px; font-size: 13px; }
	.note { font-size: 13px; padding: 14px 16px; }
	.location { grid-template-columns: 1fr; }
	.location__text { padding-right: 0; }
	.location__map { margin-top: 28px; height: 300px; }
	.badges--sm li { width: 100px; height: 100px; }
	.badges--sm strong { font-size: 16px; }
	.badges--sm span { font-size: 10.5px; }
	.locPhotos { grid-template-columns: 1fr; margin-top: 40px; gap: 24px; }
	.access { margin-top: 48px; }
	.carCall { grid-template-columns: 1fr; gap: 24px; padding: 24px 20px; border-left-width: 5px; }
	.carCall h3 { font-size: 21px; letter-spacing: 0.03em; }
	.carCall__text { font-size: 14px; }
	.carCall__park { font-size: 15px; margin-top: 16px; padding-top: 16px; }
	.accessMap { margin-top: 24px; }
	.booking { min-height: 0; padding: 72px 20px; }
	.booking__inner { grid-template-columns: 1fr; }
	.bookList { gap: 28px; }
	.bookList li { gap: 14px; }
	.bookList h3 { font-size: 16px; }
	.bookList p { font-size: 13px; }
	.btnWhite { width: 100%; margin-top: 28px; height: 56px; }
	.stay { margin-top: 40px; padding: 28px 20px 20px; }
	.gh-footer__inner { padding: 32px 20px 28px; }
	.gh-footer__row { flex-direction: column; align-items: flex-start; gap: 12px; }
	.gh-footer__row--bottom { margin-top: 20px; align-items: stretch; }
	.gh-footer__logo { font-size: 20px; }
	.gh-footer__contact, .gh-footer__info { font-size: 12.5px; }
	.gh-footer__info { flex-direction: column; gap: 2px; }
	.btnTeal { width: 100%; }
	.modal { padding: 12px; }
	.modal__body { padding: 4px 20px 24px; }
	.amenity ul { grid-template-columns: 1fr; }
}
