@font-face {
  font-family: 'j';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/jost/v9/92zPtBhPNqw79Ij1E865zBUv7mz9JTVBNI4un_HKOEo.woff) format('woff');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'j';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/jost/v4/92zPtBhPNqw79Ij1E865zBUv7mx9IjVBNI4un_HKOEo.woff) format('woff');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'd';
  font-style: normal;
  font-weight: 100 900;
  src: url(https://fonts.gstatic.com/s/urbanist/v18/L0x-DF02iFML4hGCyMqlbS1miXK2.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root { --purple:#6f4bf2; --purple-dark:#4b2dbf; --purple-soft:#f4f0ff; --purple-mid:#ede7ff; --text:#1f1830; --muted:#665d7a; --white:#ffffff; --line:rgba(97,76,178,0.12); --shadow:0 20px 60px rgba(70,40,160,0.12); --radius:28px; }
* { box-sizing:border-box; }
body { margin:0; font-family:j; color:var(--text); background:#fff; }
img { max-width:100%; display:block; }
.wrap { width:min(92%,450px); margin:0 auto; }
.ec-header { position:sticky; top:0; z-index:50; padding:14px 0; background:rgba(255,255,255,0.84); backdrop-filter:blur(14px); border-bottom:1px solid rgba(97,76,178,0.08); }
.ec-header-row { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:58px; }
.ec-logo { display:inline-flex; align-items:center; font-family: d; text-decoration:none; font-size:22px; line-height:1; font-weight:600; letter-spacing:-0.04em; color:#1f1830; white-space:nowrap; }
.ec-logo span { color:var(--purple); }
.ec-nav { display:none; }
.ec-nav a { text-decoration:none; color:var(--text); font-size:15px; font-weight:600; transition:color 0.2s ease, opacity 0.2s ease; }
.ec-nav a:hover { color:var(--purple); }
.ec-header-actions { display:flex; align-items:center; gap:8px; }
.ec-header-btn { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; border-radius:999px; padding:13px 16px; font-size:13px; font-weight:700; color:#fff; background:linear-gradient(135deg,var(--purple) 0%,var(--purple-dark) 100%); box-shadow:0 14px 30px rgba(85,54,201,0.22); transition:transform 0.2s ease, box-shadow 0.2s ease; white-space:nowrap; }
.ec-header-btn:hover { transform:translateY(-2px); box-shadow:0 18px 36px rgba(85,54,201,0.28); }
.ec-hero { padding:22px 0 24px 0; background:linear-gradient(180deg,#ffffff 0%,#faf8ff 100%); }
.ec-hero-grid { display:grid; grid-template-columns:1fr; gap:18px; align-items:center; }
.ec-hero-text { padding:6px 0 0 0; }
.ec-eyebrow { display:inline-flex; align-items:center; gap:8px; padding:9px 13px; border-radius:999px; background:var(--purple-soft); color:var(--purple-dark); font-size:11px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; margin-bottom:16px; }
.ec-hero h1 { margin:0 0 14px 0; font-size:38px; line-height:0.98; letter-spacing:-0.05em; max-width:700px; }
.ec-hero p { margin:0; font-size:16px; line-height:1.65; color:var(--muted); max-width:640px; }
.ec-searchbar { margin-top:22px; padding:14px; background:rgba(255,255,255,0.94); border:1px solid var(--line); border-radius:26px; box-shadow:var(--shadow); display:grid; grid-template-columns:1fr; gap:10px; align-items:end; backdrop-filter:blur(10px); }
.ec-search-field { padding:0 2px; }
.ec-search-field label { display:block; font-size:11px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--purple-dark); margin:0 0 8px 2px; }
.ec-search-field select { width:100%; border:1px solid rgba(97,76,178,0.12); outline:none; background:#fff; font-size:15px; color:var(--text); padding:14px 16px; border-radius:16px; appearance:none; }
.ec-search-btn { border:0; outline:none; background:linear-gradient(135deg,var(--purple) 0%,var(--purple-dark) 100%); color:#fff; border-radius:16px; padding:16px 18px; font-size:15px; font-weight:700; cursor:pointer; box-shadow:0 16px 35px rgba(85,54,201,0.28); transition:transform 0.2s ease, box-shadow 0.2s ease; }
.ec-search-btn:hover { transform:translateY(-2px); box-shadow:0 22px 40px rgba(85,54,201,0.32); }
.ec-hero-points { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.ec-hero-points span { display:inline-flex; align-items:center; padding:10px 13px; border-radius:999px; background:#fff; border:1px solid var(--line); color:var(--text); font-size:13px; font-weight:600; }

.ec-hero-visual { position:relative; min-height:360px; border-radius:30px; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow); background:#f3eeff; }
.ec-hero-slides { position:relative; width:100%; height:100%; min-height:360px; }
.ec-slide { position:absolute; inset:0; opacity:0; transform:translateY(50px) scale(1.03); transition:opacity 0.7s ease, transform 0.7s ease; pointer-events:none; }
.ec-slide.active { opacity:1; transform:translateY(0) scale(1); pointer-events:auto; z-index:2; }
.ec-slide img { width:100%; height:100%; min-height:360px; object-fit:cover; display:block; }
.ec-slide:before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(22,15,45,0.08) 0%,rgba(22,15,45,0.24) 100%); z-index:1; pointer-events:none; }
.ec-slide:hover { transform:none; }
.ec-slide img:hover { transform:none; filter:none; }
.ec-hero-overlay { position:absolute; left:16px; right:16px; bottom:16px; z-index:4; display:flex; flex-direction:column; gap:12px; }
.ec-hero-overlay-card { width:100%; max-width:420px; padding:16px; border-radius:22px; background:rgba(255,255,255,0.86); backdrop-filter:blur(14px); }
.ec-hero-overlay-card strong { display:block; margin:0 0 6px 0; font-size:18px; line-height:1.1; letter-spacing:-0.03em; }
.ec-hero-overlay-card span { display:block; font-size:14px; line-height:1.55; color:var(--muted); }
.ec-slide-dots { display:flex; align-items:center; gap:8px; }
.ec-slide-dot { width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,0.5); border:1px solid rgba(255,255,255,0.55); padding:0; cursor:pointer; transition:transform 0.2s ease, background 0.2s ease, opacity 0.2s ease; appearance:none; -webkit-appearance:none; }
.ec-slide-dot.active { background:#fff; transform:scale(1.18); }
.ec-slide-dot:hover { background:#fff; }
.ec-entertainment { margin-top: 30px; padding:6px 0 28px 0; }
.ec-entertainment-row { display:grid; grid-template-columns:1fr; gap:12px; }
.ec-book-us .ec-entertainment-row { display:grid; grid-template-columns:1fr; gap:12px; }
.ec-entertainment-row div { background:#fff; border:1px solid var(--line); border-radius:18px; padding:16px 16px; font-size:14px; font-weight:600; color:var(--text); text-align:center; }
.ec-services { padding:36px 0; }
.ec-section-head { max-width:700px; margin:0 auto 22px auto; text-align:center; }
.ec-section-head.left { max-width:680px; margin:0 0 22px 0; text-align:left; }
.ec-section-head h2 { margin:0 0 10px 0; font-size:30px; line-height:1.02; letter-spacing:-0.05em; }
.ec-section-head p { margin:0; font-size:15px; line-height:1.7; color:var(--muted); }
.ec-card-grid, .ec-card-grid-4 { display:grid; grid-template-columns:1fr; gap:14px; max-width: 350px; margin: 0 auto;}
.ec-service-card { display:block; text-decoration:none; color:inherit; background:#fff; border:1px solid var(--line); border-radius:24px; padding:14px; box-shadow:0 8px 30px rgba(56,30,120,0.05); transition:transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease; }
.ec-service-card:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(56,30,120,0.1); border-color:rgba(97,76,178,0.22); }
.ec-service-image { height:200px; border-radius:18px; margin-bottom:14px; overflow:hidden; }
.ec-service-card h3, .ec-service-card h2 { margin:0 0 8px 0; font-size:20px; line-height:1.05; letter-spacing:-0.04em; }
 .ec-card-grid-4 .ec-service-card h2 { font-size:18px; }
.ec-service-card p { margin:0; font-size:14px; line-height:1.65; color:var(--muted); }
.ec-why { padding:28px 0 34px 0; }
.ec-why-grid { display:grid; grid-template-columns:1fr; gap:14px; }
.ec-why-card { padding:10px; background:#fff; text-align: center; }
.ec-why-card h3 { margin:0 0 8px 0; font-size:18px; line-height:1.05; letter-spacing:-0.04em; }
.ec-why-card p { margin:0; font-size:14px; line-height:1.7; color:var(--muted); }

@keyframes ecSlideUp { 0% { opacity:0; transform:translateY(48px) scale(1.03); } 6% { opacity:1; transform:translateY(0) scale(1); } 25% { opacity:1; transform:translateY(0) scale(1); } 31% { opacity:0; transform:translateY(-28px) scale(1.01); } 100% { opacity:0; transform:translateY(-28px) scale(1.01); } }
@keyframes ecDotPulse { 0% { background:rgba(255,255,255,0.45); transform:scale(1); } 6% { background:#fff; transform:scale(1.2); } 25% { background:#fff; transform:scale(1.2); } 31% { background:rgba(255,255,255,0.45); transform:scale(1); } 100% { background:rgba(255,255,255,0.45); transform:scale(1); } }
 .ec-coverage { padding:28px 0; }
.ec-coverage-grid, .ec-coverage-grid-2 { display:grid; grid-template-columns:1fr; gap:18px; align-items:center; }
.ec-coverage-text h2 { margin:0 0 10px 0; font-size:30px; line-height:1.05; letter-spacing:-0.04em; }
.ec-coverage-text p { margin:0 0 14px 0; font-size:15px; line-height:1.7; color:var(--muted); max-width:520px; }
.ec-coverage-list { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.ec-coverage-list span { display:inline-flex; align-items:center; padding:9px 12px; border-radius:999px; background:var(--purple-soft); color:var(--text); font-size:13px; font-weight:600; }
.ec-coverage-note { font-size:14px; color:var(--muted); }
.ec-coverage-map { border-radius:26px; overflow:hidden; border:1px solid var(--line); }
.ec-coverage-map img { width:100%; height:auto; display:block; object-fit:cover; }
.ec-footer { background:#5f43d1; padding:26px 0 18px 0; margin-top:40px; }
 .ec-footer-row { display:flex; flex-direction:column; gap:18px; padding-bottom:18px; }
 .ec-footer-logo { display:inline-flex; align-items:center; text-decoration:none; font-size:22px; font-family: d; line-height:1; font-weight:600; letter-spacing:-0.04em; color:#fff; }
 .ec-footer-logo span { color:rgba(255,255,255,0.82); }
 .ec-footer-nav { display:flex; flex-wrap:wrap; gap:10px 16px; }
 .ec-footer-nav a { color:rgba(255,255,255,0.88); text-decoration:none; font-size:14px; font-weight:600; transition:opacity 0.2s ease; }
 .ec-footer-nav a:hover { opacity:0.72; }
 .ec-footer-bottom { display:flex; flex-direction:column; gap:10px; padding-top:14px; border-top:1px solid rgba(255,255,255,0.16); }
 .ec-footer-bottom span { color:rgba(255,255,255,0.72); font-size:13px; }
 
 .ec-book-us { padding:28px 0; }
 .ec-book-us-grid { display:grid; grid-template-columns:1fr; gap:18px; padding:20px; border-radius:28px; background:linear-gradient(180deg,#f6f3ff 0%,#ffffff 100%); }
 .ec-book-us-content h2 { margin:0 0 10px 0; font-size:30px; line-height:1.05; letter-spacing:-0.04em; }
 .ec-book-us-content p { margin:0 0 12px 0; font-size:15px; line-height:1.7; color:var(--muted); max-width:520px; }
 .ec-book-us-sub { font-size:14px; color:var(--muted); opacity:0.9; }
 .ec-book-us-action { display:flex; }
 .ec-book-us-btn { display:inline-flex; align-items:center; justify-content:center; padding:14px 22px; border-radius:999px; font-size:14px; font-weight:700; text-decoration:none; color:#fff; background:linear-gradient(135deg,var(--purple) 0%,var(--purple-dark) 100%); box-shadow:0 12px 28px rgba(85,54,201,0.22); transition:transform 0.2s ease, box-shadow 0.2s ease; }
 .ec-book-us-btn:hover { transform:translateY(-2px); box-shadow:0 16px 34px rgba(85,54,201,0.28); }
 
 .ec-form { margin-top:18px; padding:18px; border-radius:24px; background:#fff; border:1px solid var(--line); box-shadow:0 8px 30px rgba(56,30,120,0.05); }
 .ec-form-grid { display:grid; grid-template-columns:1fr; gap:14px; }
 .ec-form-field { display:flex; flex-direction:column; gap:7px; margin-bottom:14px; }
 .ec-form-field label { font-size:12px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--purple-dark); }
 .ec-form-field input, .ec-form-field select, .ec-form-field textarea { width:100%; border:1px solid rgba(97,76,178,0.16); border-radius:16px; padding:14px 15px; font-size:15px; font-family:inherit; color:var(--text); background:#fff; outline:none; transition:border-color 0.2s ease, box-shadow 0.2s ease; }
 .ec-form-field input:focus, .ec-form-field select:focus, .ec-form-field textarea:focus { border-color:var(--purple); box-shadow:0 0 0 4px rgba(111,75,242,0.1); }
 .ec-form-field textarea { resize:vertical; min-height:130px; }
 .ec-form-btn { display:inline-flex; align-items:center; justify-content:center; border:0; cursor:pointer; padding:15px 22px; border-radius:999px; font-size:14px; font-weight:700; font-family:j; color:#fff; background:linear-gradient(135deg,var(--purple) 0%,var(--purple-dark) 100%); box-shadow:0 12px 28px rgba(85,54,201,0.22); transition:transform 0.2s ease, box-shadow 0.2s ease; }
 .ec-form-btn:hover { transform:translateY(-2px); box-shadow:0 16px 34px rgba(85,54,201,0.28); }
.ec-form-error { display:none; margin-top:6px; font-size:13px; color:#d12c4a; font-weight:600; }
 .ec-form-error.active { display:block; }
 .ec-form-field input.error, .ec-form-field select.error, .ec-form-field textarea.error { border-color:#d12c4a; box-shadow:0 0 0 4px rgba(209,44,74,0.08); }
 .ec-form-alert { margin-bottom:14px; padding:12px 14px; border-radius:16px; font-size:14px; font-weight:600; background:#fff1f4; color:#b91c3b; border:1px solid rgba(209,44,74,0.18); }
 .ec-form-success { padding:24px; border-radius:24px; background:#fff; border:1px solid var(--line); box-shadow:0 8px 30px rgba(56,30,120,0.05); }
 .ec-form-success strong { display:block; font-size:24px; line-height:1.1; margin-bottom:6px; letter-spacing:-0.04em; }
 .ec-form-success p { margin:0; font-size:15px; line-height:1.7; color:var(--muted); }
 .ec-hp { position:absolute; left:-9999px; opacity:0; height:0; overflow:hidden; }
 
.list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
 .list li { position:relative; padding-left:28px; line-height:1.7; color:var(--text); }
 .list li:before { content:""; position:absolute; left:0; top:10px; width:10px; height:10px; transform:rotate(45deg); background:linear-gradient(135deg,var(--purple) 0%,var(--purple-dark) 100%);  border-radius:2px; }
 .list li strong { font-weight:700; color:var(--text); }
 
 .box {background:linear-gradient(135deg,#ede7ff 0%,#d9ccff 50%,#f7f3ff 100%);}
@media (min-width:1100px) {
  .wrap { width:min(92%,1050px); margin:0 auto; }
  .ec-header { padding:18px 0; }
  .ec-header-row { gap:24px; min-height:64px; }
  .ec-logo { font-size:30px; }
  .ec-nav { display:flex; align-items:center; gap:28px; }
  .ec-header-actions { gap:12px; }
  .ec-header-btn { padding:15px 20px; font-size:14px; }
  .ec-hero { padding:34px 0 30px 0; }
  .ec-hero-grid { grid-template-columns:repeat(2,1fr); gap:36px; }
  .ec-hero-text { padding:18px 0; }
  .ec-hero h1 { font-size:48px; max-width:620px; }
  .ec-hero p { font-size:17px; max-width:600px; }
  .ec-searchbar { grid-template-columns:1fr 1fr auto; gap:12px; border-radius:999px; padding:14px; }
  .ec-search-field { padding:0 10px; }
  .ec-search-field select { border:0; padding:4px 0; background:transparent; border-radius:0; }
  .ec-search-btn { border-radius:999px; padding:18px 24px; }
 .ec-hero-visual { min-height:505px; border-radius:34px; }
 .ec-hero-slides { min-height:505px; }
 .ec-slide img { min-height:505px; }
 .ec-hero-overlay { left:22px; right:22px; bottom:22px; }
 .ec-hero-overlay-card { padding:18px; }
 .ec-hero-overlay-card strong { font-size:20px; }
  .ec-entertainment { padding:8px 0 38px 0; }
  .ec-entertainment-row { grid-template-columns:repeat(4,1fr); gap:14px; align-items: center; }
  .ec-book-us .ec-entertainment-row { grid-template-columns:repeat(2,1fr); gap:14px; align-items: center; }
  .ec-entertainment-row div { padding:18px 18px; font-size:15px; }
  .ec-services { padding:56px 0; }
  .ec-section-head { margin:0 auto 26px auto; }
  .ec-section-head h2 { font-size:42px; }
  .ec-section-head p { font-size:16px; }
  .ec-card-grid { grid-template-columns:repeat(3,1fr); gap:18px;  max-width: 100%; }
  .ec-card-grid-4 { grid-template-columns:repeat(4,1fr); gap:18px;  max-width: 100%; }
  .ec-service-card { padding:16px; border-radius:26px; }
  .ec-service-image { height:220px; border-radius:20px; margin-bottom:16px; }
  .ec-service-card h3, .ec-service-card h2 { font-size:22px; }
  .ec-service-card p { font-size:15px; }
  .ec-why { padding:40px 0 54px 0; }
  .ec-why-grid { grid-template-columns:repeat(4,1fr); gap:10px; }
  .ec-why-card { padding:15px; border-radius:26px; }
  .ec-why-card h3 { font-size:18px; }
  .ec-why-card p { font-size:15px; }
  .ec-coverage { padding:48px 0; }
  .ec-coverage-grid { grid-template-columns:0.9fr 1.1fr; gap:32px; }
  .ec-coverage-grid-2 { grid-template-columns:1fr 1fr; gap:32px; }
  .ec-coverage-text h2 { font-size:40px; }
  .ec-coverage-text p { font-size:16px; }
  .ec-coverage-list span { font-size:14px; padding:10px 14px; }
  .ec-footer { padding:32px 0 20px 0; }
   .ec-footer-row { flex-direction:row; align-items:center; justify-content:space-between; gap:24px; padding-bottom:20px; }
   .ec-footer-bottom { flex-direction:row; align-items:center; justify-content:space-between; }
   .ec-book-us { padding:44px 0; }
    .ec-book-us-grid { grid-template-columns:repeat(2,1fr); gap:30px; padding:28px 32px; }
    .ec-book-us-content h2 { font-size:40px; }
    .ec-book-us-content p { font-size:16px; }
    .ec-book-us-action { align-items:center; justify-content:flex-end; }
    .ec-form { padding:24px; min-width: 450px;}
     .ec-form-grid { grid-template-columns:1fr 1fr; }
}