

:root { color-scheme:light; --navy:#173956; --blue:#287fbd; --muted:#607f97; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--navy); background:#f9fcff; font-family:Arial,Helvetica,sans-serif; }
button,a { -webkit-tap-highlight-color:transparent; }
a { color:inherit; text-decoration:none; }
.wrap { max-width:1320px; margin:auto; padding-left:42px; padding-right:42px; }
.site-header { min-height:99px; display:flex; align-items:center; gap:38px; }
.wordmark { display:flex; align-items:center; gap:10px; font-size:19px; letter-spacing:-.05em; line-height:1; font-weight:800; white-space:nowrap; }
.wordmark strong { color:#2d88c7; }.wordmark small { display:block; font-size:9px; letter-spacing:.22em; margin-top:6px; color:#7f9bae; }
.mark { width:44px; height:44px; border-radius:15px; background:#2a84c5; color:white; display:grid; place-items:center; font-size:29px; position:relative; }.mark span { position:absolute; color:#f7a8cd; font-size:21px; right:-8px; top:-7px; }
.site-header nav { display:flex; align-items:center; gap:35px; margin:auto; font-weight:700; font-size:14px; color:#557590; }.site-header nav a:hover,.footer a:hover { color:#2285c6; }
.header-cta { display:flex; align-items:center; gap:8px; font-weight:800; font-size:14px; color:#2a7eb8; white-space:nowrap; }
.hero { display:grid; grid-template-columns:1.04fr .96fr; gap:55px; align-items:center; padding-top:46px; padding-bottom:75px; }
.hero-copy { padding:10px 0 0; }.kicker,.section-label { font-size:12px; letter-spacing:.16em; font-weight:900; color:#247cba; }.kicker { display:flex; align-items:center; gap:8px; }.kicker-star { font-size:20px; color:#ef9dc2; }
h1,h2,h3,p { margin-top:0; } h1 { font-size:clamp(48px,5.2vw,78px); line-height:1.07; font-weight:900; letter-spacing:-.074em; margin:23px 0 24px; } h1 em { font-style:normal; color:#2d85bd; }.headline-dot { color:#f39fc2; }
.hero-lead { color:#59768d; font-size:18px; line-height:1.66; max-width:550px; margin-bottom:33px; }
.hero-buttons { display:flex; gap:12px; flex-wrap:wrap; }.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; border-radius:14px; padding:13px 20px; font-weight:800; font-size:14px; transition:transform .18s,background .18s; }.button:hover { transform:translateY(-2px); }.button-primary { background:#2684c1; color:white; box-shadow:0 9px 23px #2b8bd02c; }.button-primary:hover { background:#1672ad; }.button-light { background:white; border:1px solid #d8e7f1; color:#2f688d; }
.hero-note { display:flex; gap:10px; align-items:center; margin-top:32px; color:#6e8799; font-size:13px; line-height:1.5; }.little-heart { display:grid; place-items:center; height:24px; width:24px; border-radius:50%; background:#ffe6f1; color:#df6fa1; font-size:15px; }
.hero-visual { position:relative; min-height:525px; }.hero-image { width:100%; height:525px; border-radius:38px 38px 120px 38px; background:#d8eafa url('./club-illustration.webp') center/cover no-repeat; box-shadow:0 24px 55px #3c6d9230; }
.floating-label { position:absolute; left:-29px; bottom:25px; background:#fff; border:1px solid #d9e8f2; border-radius:18px; box-shadow:0 15px 35px #224e7526; padding:17px 23px; font-size:14px; line-height:1.35; font-weight:800; display:flex; gap:10px; align-items:center; }.floating-label span { font-size:28px; color:#ee95bd; }
.intro-band { background:#eaf6ff; }.intro-inner { display:grid; grid-template-columns:.85fr 1.15fr; gap:55px; align-items:center; padding-top:46px; padding-bottom:46px; }.intro-inner h2,.section-top h2,.visit h2 { font-size:clamp(29px,3.2vw,44px); letter-spacing:-.055em; line-height:1.12; margin:12px 0 0; font-weight:850; }.intro-inner p { font-size:17px; line-height:1.65; color:#53718a; max-width:700px; margin:0; }
.offerings { padding-top:83px; padding-bottom:85px; }.section-top { display:flex; justify-content:space-between; align-items:end; gap:28px; margin-bottom:30px; }.section-top p { max-width:260px; line-height:1.5; color:#7892a6; font-size:15px; margin-bottom:3px; }.offer-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }.offer-card { position:relative; padding:28px; border:1px solid #dbeaf4; background:#fff; border-radius:22px; min-height:285px; box-shadow:0 16px 35px #7ba9c611; }.offer-icon { display:grid; place-items:center; width:55px; height:55px; border-radius:17px; }.offer-icon.sky { background:#e5f4ff; color:#2583c2; }.offer-icon.pink { background:#ffe8f2; color:#dd78a3; }.offer-icon.yellow { background:#fff3d9; color:#c88733; }.offer-index { position:absolute; right:28px; top:32px; color:#b4cbdc; font-size:13px; font-weight:800; }.offer-card h3 { font-size:22px; letter-spacing:-.04em; margin:27px 0 10px; }.offer-card p { font-size:15px; line-height:1.6; color:#6c879d; margin:0; }
.recruit-note { margin:22px 0 0; font-size:14px; line-height:1.5; color:#7890a2; }.recruit-note a { color:#2e83bb; font-weight:700; white-space:nowrap; }.recruit-note svg { display:inline; vertical-align:middle; }
.visit { background:#e9f5fd; }.visit-inner { display:grid; grid-template-columns:1fr .8fr; align-items:center; gap:80px; padding-top:75px; padding-bottom:75px; }.visit-copy h2 { margin-bottom:16px; }.visit-intro { max-width:520px; font-size:17px; line-height:1.6; color:#5b7c94; margin-bottom:30px; }.visit-facts { display:grid; gap:19px; }.visit-facts>div { display:flex; gap:13px; align-items:flex-start; }.fact-icon { display:grid; place-items:center; flex:none; width:40px; height:40px; color:#2682bd; background:#fff; border-radius:12px; }.visit-facts p { margin:0; line-height:1.5; }.visit-facts strong,.visit-facts small { display:block; }.visit-facts strong { font-size:15px; }.visit-facts small { font-size:14px; color:#69899e; margin-top:3px; }
.visit-card { background:#fff; border:1px solid #d9e8f2; border-radius:26px; padding:32px; box-shadow:0 17px 36px #5e90b11a; }.visit-asterisk { color:#f2a5c8; font-size:44px; display:block; line-height:1; }.visit-card h3 { font-size:27px; letter-spacing:-.045em; margin:20px 0 10px; }.visit-card p { color:#6f899e; line-height:1.55; font-size:15px; margin-bottom:23px; }.visit-card .button { width:100%; }
.footer { min-height:98px; display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:13px; color:#849bad; }.footer>div { display:flex; gap:24px; }.footer a { display:inline-flex; align-items:center; gap:4px; color:#4c7797; font-weight:700; }
@media(max-width:1000px){.wrap{padding-left:25px;padding-right:25px}.site-header nav{gap:16px}.hero{gap:25px}.hero-visual,.hero-image{min-height:440px;height:440px}.visit-inner{gap:35px}}
@media(max-width:760px){.wrap{padding-left:19px;padding-right:19px}.site-header{min-height:78px}.site-header nav{display:none}.header-cta{margin-left:auto}.hero{grid-template-columns:1fr;gap:32px;padding-top:24px;padding-bottom:57px}.hero-copy{padding:0}h1{font-size:clamp(43px,10vw,64px);margin:16px 0 19px}.hero-lead{font-size:16px;line-height:1.57}.hero-buttons{gap:9px}.button{min-height:49px}.hero-visual,.hero-image{height:390px;min-height:390px}.hero-image{border-radius:27px 27px 80px 27px}.floating-label{left:9px;bottom:16px}.intro-inner{grid-template-columns:1fr;gap:14px;padding-top:37px;padding-bottom:39px}.intro-inner p{font-size:16px}.offerings{padding-top:58px;padding-bottom:60px}.section-top{display:block}.section-top p{margin:14px 0 0}.offer-grid{grid-template-columns:1fr;gap:12px}.offer-card{min-height:0;padding:23px}.offer-card h3{margin:18px 0 7px}.visit-inner{grid-template-columns:1fr;gap:28px;padding-top:56px;padding-bottom:58px}.footer{padding-top:23px;padding-bottom:25px;align-items:flex-start;flex-direction:column;gap:15px}}
@media(max-width:420px){.wordmark{font-size:16px}.mark{width:39px;height:39px;font-size:26px}.header-cta{font-size:13px}.hero-buttons{display:grid;grid-template-columns:1fr}.hero-visual,.hero-image{height:320px;min-height:320px}.floating-label{font-size:12px;padding:12px 16px}.visit-card{padding:25px}.footer>div{gap:16px}}
.offer-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.offer-icon.lilac { background:#f0ecff; color:#8271be; font-size:21px; font-weight:800; }
@media(max-width:1050px) { .offer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .offer-grid { grid-template-columns:1fr; } }
.coming-soon { display:flex; align-items:center; gap:21px; margin-top:22px; border:1px solid #cce6f5; border-radius:20px; background:#eaf7ff; padding:20px 24px; }
.soon-badge { flex:none; border-radius:999px; background:#fff; color:#2e82ba; font-size:11px; font-weight:900; letter-spacing:.12em; padding:9px 11px; }
.coming-soon>div { flex:1; }.coming-soon strong { display:block; font-size:18px; letter-spacing:-.02em; }.coming-soon p { color:#64839a; font-size:14px; line-height:1.5; margin:4px 0 0; }.soon-arrow { font-size:29px; color:#78b6dc; }
@media(max-width:760px) { .coming-soon { gap:13px; padding:17px; align-items:flex-start; }.soon-arrow { display:none; } }
.escort-feature { background:#fff2f7; }
.escort-inner { display:grid; grid-template-columns:1fr .95fr; gap:75px; align-items:center; padding-top:80px; padding-bottom:42px; }
.escort-copy .section-label { display:block; margin-top:23px; color:#c66d98; }
.escort-tag { display:inline-flex; padding:9px 12px; border-radius:999px; background:#fff; color:#b65784; font-size:11px; letter-spacing:.12em; font-weight:900; }
.escort-copy h2 { font-size:clamp(31px,3.5vw,49px); line-height:1.1; letter-spacing:-.055em; margin:12px 0 18px; font-weight:850; }
.escort-copy>p { color:#6c718a; line-height:1.64; font-size:17px; max-width:600px; margin:0; }
.route-tags { display:flex; flex-wrap:wrap; gap:9px; margin-top:27px; }.route-tags span { background:#fff; border:1px solid #f5d9e7; color:#965679; border-radius:999px; padding:9px 13px; font-size:13px; font-weight:700; }
.escort-steps { background:#fff; border:1px solid #f4dbe8; border-radius:25px; padding:28px 30px; box-shadow:0 18px 40px #bb7d9e18; }.escort-steps h3 { font-size:22px; letter-spacing:-.035em; margin-bottom:15px; }.escort-steps>div { display:flex; align-items:flex-start; gap:16px; padding:16px 0; border-top:1px solid #f4e6ed; }.escort-steps b { color:#dd88af; font-size:15px; letter-spacing:.05em; min-width:28px; }.escort-steps p { margin:0; }.escort-steps strong,.escort-steps small { display:block; }.escort-steps strong { font-size:16px; margin-bottom:5px; }.escort-steps small { color:#778599; font-size:14px; line-height:1.5; }
.escort-foot { display:flex; align-items:center; justify-content:space-between; gap:30px; border-top:1px solid #f0dce6; padding-top:22px; padding-bottom:66px; }.escort-foot p { color:#776e85; font-size:14px; line-height:1.5; margin:0; max-width:670px; }.escort-foot a { color:#b45685; display:inline-flex; align-items:center; gap:5px; font-weight:800; font-size:14px; white-space:nowrap; }
@media(max-width:900px) { .escort-inner { gap:30px; } }
@media(max-width:760px) { .escort-inner { grid-template-columns:1fr; padding-top:58px; padding-bottom:30px; }.escort-copy>p { font-size:16px; }.escort-steps { padding:22px; }.escort-foot { align-items:flex-start; flex-direction:column; gap:13px; padding-bottom:55px; } }
