.contact-signature { color:#0c2349; background:#fff; }
.cs-container { width:min(1280px,calc(100% - 80px)); margin-inline:auto; }
.contact-signature h1,.contact-signature h2,.contact-signature h3 { font-family:var(--font-heading); letter-spacing:-.035em; }
.contact-signature h2 { font-size:27px; line-height:1.2; margin:0 0 8px; }
.contact-signature h3 { font-size:14px; margin:0 0 8px; }
.contact-signature p { font-size:14px; line-height:1.6; color:#617a9c; margin:0 0 16px; }
.contact-signature .button { min-height:44px; padding:12px 22px; border-radius:7px; font-size:12px; background:linear-gradient(110deg,#0561ff,#00b8e8); }
.contact-signature .button.outline { background:#061b3880; border-color:#90b6cc; box-shadow:none; }
.contact-signature .cs-eyebrow { color:#f6bf65; font-size:10px; font-weight:700; letter-spacing:.18em; }
.cs-hero { padding:28px 0 76px; color:#fff; background:linear-gradient(90deg,#021d40e8,#041c3560),url('../images/resort-hero.webp') center 55%/cover; }
.cs-breadcrumb { display:flex; gap:10px; color:#cad8e7; font-size:11px; margin-bottom:28px; }
.cs-hero-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:80px; align-items:start; }
.cs-hero h1 { font-size:clamp(38px,4.3vw,60px); line-height:1.02; margin:0 0 18px; }
.cs-hero h1 span,.cs-cta h2 span { color:#3acbf3; }
.contact-signature .cs-hero p:not(.cs-eyebrow) { color:#e0eaf3; max-width:480px; font-size:16px; }
.cs-hero-capabilities { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:14px; max-width:420px; background:#06203be8; border:1px solid #739eff55; border-radius:12px; backdrop-filter:blur(12px); }
.cs-hero-capabilities>div { display:flex; gap:12px; align-items:center; padding:15px 12px; background:#11335590; border:1px solid #ffffff06; border-radius:9px; }
.cs-hero-capabilities .icon { width:36px; height:36px; color:#0ecbff; padding:7px; border-radius:8px; background:#0860ae35; }
.cs-hero-capabilities>div:nth-child(3) .icon { color:#b39aff; background:#985cfb25; }
.cs-hero-capabilities strong,.cs-hero-capabilities small { display:block; font-size:10px; line-height:1.5; }.cs-hero-capabilities small { font-size:9px; color:#b7cde1; margin-top:4px; }
.cs-trust { display:flex; gap:28px; margin-top:26px; }.cs-trust>span { display:flex; gap:10px; align-items:center; font-size:11px; max-width:185px; line-height:1.5; }.cs-trust .icon { border:1px solid #19b8ff; color:#18cfff; border-radius:50%; width:36px; height:36px; padding:7px; }
.cs-contact-grid { display:grid; grid-template-columns:1.22fr 1fr; gap:20px; padding:18px; border:1px solid #e1edfa; border-radius:14px; background:#fff; position:relative; margin-top:-48px; box-shadow:0 10px 45px #0638740a; }
.cs-form-panel { padding:4px 8px; min-width:0; }.cs-form-panel>p { font-size:12px; }.cs-progress { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid #dce9ff; background:#f8fbff; border-radius:6px; padding:8px; gap:5px; margin-bottom:20px; }.cs-progress>span { display:flex; align-items:center; gap:6px; color:#60789d; font-size:9px; line-height:1.4; }.cs-progress b { border-radius:50%; background:#e8f0fa; padding:5px 8px; font-size:10px; }.cs-progress .active { color:#052a62; }.cs-progress .active b { background:#0677ff; color:#fff; }
.cs-topics { border:0; margin:22px 0 20px; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }.cs-topics legend { font-size:13px; font-weight:700; margin-bottom:12px; }.cs-topics label { position:relative; cursor:pointer; }.cs-topics input { position:absolute; opacity:0; width:1px; height:1px; }.cs-topics label>span { display:flex; gap:10px; align-items:center; padding:12px 8px; border:1px solid #e1eafb; border-radius:7px; min-height:65px; background:#fcfdff; }.cs-topics input:checked+span { border-color:#08a8ff; background:#eff9ff; box-shadow:0 0 0 1px #08a8ff; }.cs-topics input:focus-visible+span { outline:3px solid #078cff; outline-offset:3px; }.cs-topics .icon { color:#087bff; background:#e4f3ff; width:32px; height:32px; padding:6px; border-radius:7px; }.cs-topics label:nth-child(3n) .icon { color:#8e5dfc; background:#efe7ff; }.cs-topics label:nth-child(4) .icon { color:#00bfa2; background:#dffaf0; }.cs-topics strong,.cs-topics small { display:block; font-size:10px; line-height:1.4; }.cs-topics small { color:#6d82a4; font-size:9px; margin-top:4px; }
.cs-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px 22px; }.cs-fields label { font-size:11px; font-weight:600; line-height:1.5; display:block; }.cs-fields input,.cs-fields select,.cs-fields textarea { display:block; width:100%; margin-top:5px; border:1px solid #dce8fb; border-radius:6px; padding:11px; color:#14355a; background:#fcfdff; font:inherit; font-weight:400; }.cs-fields textarea { resize:vertical; min-height:88px; }.cs-fields input::placeholder,.cs-fields textarea::placeholder { color:#8295ae; }.cs-fields .cs-full { grid-column:1/-1; }.cs-fields small { color:#7a8ba4; display:block; font-size:9px; margin-top:5px; }.cs-submit { width:100%; margin-top:16px; }.contact-signature .cs-form-note { font-size:10px; margin-top:10px; color:#6c83a0; }.cs-review { padding:20px; border-radius:10px; background:#f2f8ff; }.cs-review dl { display:grid; grid-template-columns:1fr 2fr; gap:10px; font-size:12px; }.cs-review dd { margin:0; overflow-wrap:anywhere; }.cs-review>div { margin-top:20px; display:flex; gap:20px; }
.cs-connect { padding:24px 16px 24px 22px; border-radius:9px; background:radial-gradient(circle at 100% 0%,#12436a,#021b35 60%); color:#fff; display:grid; grid-template-columns:1.5fr .85fr; gap:12px; min-width:0; }.cs-connect h2 { font-size:24px; }.contact-signature .cs-connect p { color:#c5d8e8; font-size:11px; }.cs-connect-copy { min-width:0; }.cs-channel { display:flex; gap:10px; align-items:center; padding:12px 10px; border:1px solid #224e702f; border-radius:9px; margin-top:10px; background:#092d4980; }.cs-channel>span:nth-child(2) { min-width:0; flex:1; }.cs-channel strong,.cs-channel b,.cs-channel small { display:block; font-size:11px; line-height:1.5; }.cs-channel b { color:#38d4ff; font-weight:500; overflow-wrap:anywhere; }.cs-channel small { color:#99b5cf; font-size:9px; margin-top:3px; }.cs-channel>span:last-child { color:#b4d6ea; }.cs-channel-icon { display:grid; place-items:center; width:36px; height:36px; flex-shrink:0; background:linear-gradient(120deg,#0163ff,#00c9ee); border-radius:50%; font-size:22px; }.cs-channel-icon .icon { width:19px; height:19px; }.cs-whatsapp { background:#03c68c; }.cs-whatsapp img { filter:brightness(0) invert(1); }.cs-channel:nth-of-type(3) .cs-channel-icon { background:#956af5; }.cs-connect-photo { padding-top:0; }.cs-connect-photo img { width:100%; height:340px; object-fit:cover; border-radius:9px 9px 0 0; display:block; }.contact-signature .cs-connect-photo p { background:#fff; color:#153254; padding:18px 12px; font-size:11px; font-weight:700; border-radius:0 0 9px 9px; }.cs-connect-bottom { margin-top:26px; }.cs-connect-bottom .button { padding:10px 12px; font-size:10px; }
.cs-offices { padding:30px 0; background:linear-gradient(110deg,#f4faff,#fff); }.cs-office-grid { display:grid; grid-template-columns:1.2fr 1fr .85fr; gap:20px; }.cs-office-card { display:grid; grid-template-columns:.55fr 1fr; border:1px solid #dfebf8; border-radius:10px; background:#fff; overflow:hidden; }.cs-office-card>img { width:100%; height:100%; object-fit:cover; }.cs-office-card>div { padding:20px; }.cs-office-card address { font-size:12px; color:#677e97; line-height:1.7; font-style:normal; margin-bottom:16px; }.cs-presence { padding:30px; text-align:center; border:1px solid #d1e9f4; background:radial-gradient(ellipse at center,#b7edf1,#e9f7ff 70%); border-radius:10px; display:flex; flex-direction:column; justify-content:center; align-items:center; }.cs-presence>.icon { width:45px; height:45px; color:#0089d9; margin-bottom:14px; }.cs-presence a { font-size:12px; color:#0677e0; }.cs-remote { border:1px solid #dfebf8; border-radius:10px; padding:20px; background:#fff; }.cs-remote>div { display:flex; gap:10px; align-items:center; margin-top:15px; }.cs-remote .icon { color:#008cff; background:#edf7ff; padding:6px; width:30px; height:30px; border-radius:7px; }.cs-remote strong,.cs-remote small { display:block; font-size:11px; }.cs-remote small { font-size:10px; color:#7a8faa; margin-top:4px; }
.cs-next { padding:26px 0; color:#fff; background:linear-gradient(90deg,#021a33f5,#032540c0),url('../images/resort-hero.webp') center/cover; }.contact-signature .cs-next>div>p { color:#c6d9e9; }.cs-next-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:24px; }.cs-next-grid article { display:flex; align-items:center; gap:12px; border:1px solid #33688860; background:#082b4580; border-radius:10px; padding:16px 12px; position:relative; }.cs-next-grid article:not(:last-child)::after { content:"→"; position:absolute; right:-19px; font-size:22px; color:#badcf2; }.cs-next-grid .icon { width:35px; height:35px; color:#1dccff; background:#0469b345; padding:7px; border-radius:50%; }.cs-next-grid h3 { font-size:11px; letter-spacing:0; }.contact-signature .cs-next-grid p { color:#b0c7df; font-size:10px; margin:0; }
.cs-faq { padding-block:30px; }.cs-section-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; }.cs-section-heading>a { font-size:12px; color:#007cff; }.cs-faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px 20px; }.cs-faq details { border:1px solid #dce9fa; border-radius:7px; padding:12px 16px; background:#fbfdff; }.cs-faq summary { position:relative; white-space:normal; padding-right:24px; font-size:12px; color:#0c2d5b; }.cs-faq summary::after { content:"+"; position:absolute; right:0; top:-3px; color:#078cff; font-size:20px; }.cs-faq details[open] summary::after { content:"−"; }.cs-faq details p { font-size:12px; margin:12px 0 0; }
.cs-cta { padding:40px 0; color:#fff; background:linear-gradient(90deg,#021a36d9,#05284c65),url('../images/resort-hero.webp') center 55%/cover; }.cs-cta>.cs-container { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }.cs-cta h2 { font-size:32px; }.contact-signature .cs-cta p { color:#c8d9ec; font-size:12px; max-width:440px; }.cs-cta .button { margin:0 10px 12px 0; }.cs-cta .cs-eyebrow { color:#dae8f5; font-size:9px; }.cs-sr { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; }
@media (hover:hover) { .cs-channel:hover { border-color:#45c9ed70; background:#12486b; }.cs-faq summary:hover { color:#087bff; } }
@media (max-width:1100px) { .cs-container { width:calc(100% - 48px); }.cs-hero-grid { gap:30px; }.cs-contact-grid { grid-template-columns:1.1fr 1fr; }.cs-connect { grid-template-columns:1fr; }.cs-connect-photo { display:none; }.cs-office-grid { grid-template-columns:1fr 1fr; }.cs-remote { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }.cs-remote h3 { grid-column:1/-1; }.cs-next-grid { gap:12px; }.cs-next-grid article { flex-direction:column; align-items:flex-start; }.cs-next-grid article::after { display:none; }.cs-topics label>span { gap:6px; padding:9px 6px; }.cs-topics .icon { width:25px; height:25px; } }
@media (max-width:760px) { .cs-container { width:calc(100% - 36px); }.cs-hero-grid,.cs-contact-grid,.cs-office-grid,.cs-cta>.cs-container { grid-template-columns:1fr; }.cs-hero h1 { font-size:44px; }.cs-hero-capabilities { max-width:100%; }.cs-trust { gap:14px; flex-wrap:wrap; }.cs-contact-grid { padding:14px; }.cs-connect { padding:22px; }.cs-remote { display:block; grid-column:auto; }.cs-next-grid { grid-template-columns:repeat(2,1fr); }.cs-next-grid article { flex-direction:row; }.cs-next-grid article:last-child { grid-column:1/-1; }.cs-faq-grid { grid-template-columns:1fr; }.cs-section-heading { align-items:flex-start; }.cs-cta h2 { font-size:28px; }.cs-contact-grid { margin-top:-38px; }.cs-offices { padding-top:26px; } }
@media (max-width:420px) { .cs-topics { grid-template-columns:1fr 1fr; }.cs-fields { grid-template-columns:1fr; gap:14px; }.cs-progress>span { flex-direction:column; align-items:flex-start; font-size:8px; }.cs-office-card { grid-template-columns:1fr; }.cs-office-card>img { height:140px; }.cs-hero-capabilities { gap:6px; padding:8px; }.cs-hero-capabilities>div { padding:10px 6px; gap:6px; }.cs-hero-capabilities .icon { width:28px; height:28px; }.cs-trust>span { max-width:100%; }.cs-section-heading { flex-direction:column; margin-bottom:16px; }.cs-next-grid { grid-template-columns:1fr; }.cs-next-grid article:last-child { grid-column:auto; } }
