:root { --ink:#083640; --deep:#062d36; --aqua:#22c4ca; --cream:#f5f3ed; --line:rgba(8,54,64,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:Arial,sans-serif; font-size:16px; line-height:1.5; }
a { color:inherit; text-decoration:none; }
.container { width:min(1200px,calc(100% - 56px)); margin:0 auto; }
.site-nav { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:10px; }
.brand { display:inline-flex; align-items:center; gap:10px; color:#fff; letter-spacing:.07em; font-weight:800; font-size:17px; line-height:1; }
.brand b { color:var(--aqua); font-weight:800; }
.brand-logo-image { display:block; width:118px; height:auto; }
.brand-mark { display:flex; align-items:center; gap:2px; height:19px; transform:skewX(-17deg); }
.brand-mark i { display:block; width:4px; background:var(--aqua); border-radius:4px; }
.brand-mark i:nth-child(1){height:9px}.brand-mark i:nth-child(2){height:15px}.brand-mark i:nth-child(3){height:19px}
.brand-dark { color:var(--ink); }
.nav-label { color:rgba(255,255,255,.72); font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.eyebrow { margin:0 0 18px; color:#198c94; font-size:11px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.eyebrow.light { color:var(--aqua); }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-weight:500; letter-spacing:-.055em; line-height:.98; }
h1 { font-size:clamp(54px,8.6vw,126px); }
h2 { font-size:clamp(42px,5.5vw,76px); }
h1 span,h2 em { color:var(--aqua); font-family:Georgia,serif; font-weight:400; letter-spacing:-.07em; }
.lead { max-width:460px; font-size:clamp(16px,1.6vw,20px); line-height:1.45; }

.locations-hero { min-height:570px; color:#fff; position:relative; background:linear-gradient(90deg,rgba(3,28,33,.74),rgba(3,28,33,.2)),url('assets/entry-hero-watercraft.webp') center/cover; }
.locations-intro { padding-top:clamp(110px,15vh,175px); }
.locations-intro h1 { margin:0 0 28px; }
.locations-intro .lead { color:rgba(255,255,255,.82); }
.locations-list { padding:110px 0 92px; }
.section-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:38px; border-bottom:1px solid var(--line); padding-bottom:20px; }
.section-heading p:last-child { margin:0; max-width:310px; font-size:14px; }
.location-card { display:grid; min-height:440px; grid-template-columns:1.1fr .9fr; background:var(--deep); color:#fff; overflow:hidden; transition:transform .25s ease,box-shadow .25s ease; }
.location-card:hover { transform:translateY(-5px); box-shadow:0 20px 40px rgba(4,37,43,.18); }
.location-card-image { background:linear-gradient(0deg,rgba(3,34,40,.28),transparent),url('assets/palmira-istra-hero.webp') center/cover; }
.location-card-content { padding:42px clamp(30px,5vw,68px); display:flex; flex-direction:column; align-items:start; }
.status { color:var(--aqua); font-size:11px; letter-spacing:.12em; text-transform:uppercase; font-weight:800; }
.status i { display:inline-block; width:8px;height:8px;background:var(--aqua);border-radius:50%;margin-right:7px; }
.location-number { margin:64px 0 12px; font-family:Georgia,serif; color:rgba(255,255,255,.4); }
.location-card h2 { margin:0 0 20px; font-size:clamp(38px,4.5vw,62px); }
.location-card h2 em { display:block; }
.location-card-content > p:not(.location-number) { color:rgba(255,255,255,.7); font-size:14px; }
.card-link { margin-top:auto; padding-top:22px; border-bottom:1px solid var(--aqua); padding-bottom:6px; font-weight:700; font-size:14px; }
.card-link span { color:var(--aqua); font-size:20px; margin-left:10px; }
.minimal-footer { border-top:1px solid var(--line); display:flex; justify-content:space-between; padding:26px 0 32px; color:rgba(8,54,64,.64); font-size:12px; }

.istra-header { background:var(--cream); padding:10px 0 20px; }
.back-link { font-size:13px; font-weight:700; border-bottom:1px solid var(--ink); padding-bottom:3px; }
.istra-hero { min-height:640px; position:relative; color:#fff; display:flex; flex-direction:column; justify-content:center; background:linear-gradient(90deg,rgba(2,35,42,.83),rgba(2,35,42,.23)),url('assets/palmira-istra-hero.webp') center/cover; }
.istra-hero-content { padding:90px 0; }
.istra-hero h1 { margin:0 0 30px; }
.istra-hero .lead { color:rgba(255,255,255,.84); margin-bottom:35px; }
.button { display:inline-flex; align-items:center; gap:22px; padding:15px 19px; font-size:13px; font-weight:800; transition:transform .2s; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--aqua); color:var(--deep); }
.button-primary span { font-size:18px; }
.hero-bottom { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); display:flex; justify-content:space-between; color:rgba(255,255,255,.68); width:min(1200px,calc(100% - 56px)); font-size:11px; letter-spacing:.13em; text-transform:uppercase; }
.address-section { background:#fff; padding:96px 0; }.address-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:8%; align-items:stretch; }.address-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }.address-copy h2 { margin:0 0 27px; }.address-copy > p:not(.eyebrow) { max-width:355px; font-size:18px; line-height:1.45; }.address-link { margin-top:20px; border-bottom:1px solid var(--aqua); padding-bottom:5px; font-size:13px; font-weight:800; }.address-link span { color:#129ba5; margin-left:9px; font-size:18px; }.map-wrap { min-height:390px; background:#e5e3dc; }.map-wrap iframe { display:block; width:100%; height:100%; min-height:390px; border:0; }
.intro-section { padding:130px 0 110px; }
.intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:12%; align-items:start; }
.intro-grid h2 { margin:0; }
.intro-grid p { color:rgba(8,54,64,.78); max-width:480px; }
.intro-grid .large-copy { color:var(--ink); font-size:21px; line-height:1.35; }
.location-photo { position:relative; margin-top:88px; }
.location-photo img { display:block; width:100%; height:530px; object-fit:cover; }
.location-photo p { position:absolute; bottom:0; right:0; max-width:470px; margin:0; padding:20px 24px; color:#fff; background:var(--deep); font-size:14px; line-height:1.55; }
.activities-section { background:var(--deep); color:#fff; padding:115px 0 105px; }
.activities-heading { display:grid; grid-template-columns:1fr 1fr; gap:12%; align-items:end; margin-bottom:75px; }
.activities-heading h2 { margin:0; }
.activities-heading > p { max-width:430px; margin:0 0 7px; color:rgba(255,255,255,.7); }
.activity-list { border-top:1px solid rgba(255,255,255,.24); }
.activity-list article { display:grid; grid-template-columns:120px 1fr 1fr; gap:30px; padding:27px 0; border-bottom:1px solid rgba(255,255,255,.24); align-items:baseline; }
.activity-list span { color:var(--aqua); font-family:Georgia,serif; font-size:15px; }.activity-list h3 { margin:0; font-size:25px; letter-spacing:-.04em; }.activity-list p { margin:0; color:rgba(255,255,255,.65); font-size:14px; }
.booking-section { position:relative; isolation:isolate; padding:110px 0; background:var(--deep); color:#fff; overflow:hidden; }
.booking-background { position:absolute; inset:0; z-index:-1; opacity:.27; background:linear-gradient(90deg,#062d36 15%,rgba(6,45,54,.64)),url('assets/water-sport-bg.webp') center/cover; }
.booking-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:7%; align-items:start; }.booking-copy { padding-top:40px; }.booking-copy h2 { margin:0 0 25px; }.booking-copy > p:last-child { max-width:315px; color:rgba(255,255,255,.76); }
.booking-grid { min-height:100vh; }.booking-frame-wrap { position:relative; align-self:start; z-index:2; min-height:0; height:100vh; height:100svh; padding:8px; background:rgba(255,255,255,.17); box-shadow:0 20px 45px rgba(0,0,0,.2); }.booking-frame-wrap.is-fixed { position:fixed; top:0; left:var(--booking-left); width:var(--booking-width); height:100vh; height:100svh; }
.booking-frame { display:block; width:100%; height:100%; min-height:0; border:0; background:#fff; }
@keyframes booking-fix-in { from { opacity:.35; transform:translateY(22px); } to { opacity:1; transform:translateY(0); } }
.booking-frame-wrap.is-fixed { animation:booking-fix-in .45s ease-out both; }
.site-footer { background:var(--cream); }.footer-row { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:31px 0; font-size:12px; color:rgba(8,54,64,.67); }.footer-row > a:last-child { color:var(--ink); font-weight:700; }
.requisites-hero { background:var(--deep); color:#fff; padding:78px 0 72px; }.requisites-hero h1 { width:100%; margin:0 0 25px; font-size:clamp(42px,7vw,96px); letter-spacing:-.045em; }.requisites-hero h1 em { display:block; margin-top:12px; font-size:.48em; letter-spacing:.01em; white-space:nowrap; }.requisites-hero p:last-child { color:rgba(255,255,255,.72); font-size:18px; }.requisites-content { padding:78px 0 110px; }.requisites-card { border-top:1px solid var(--line); }.requisite-row { display:flex; justify-content:space-between; gap:30px; padding:19px 0; border-bottom:1px solid var(--line); }.requisite-row span { color:rgba(8,54,64,.6); }.requisite-row strong { text-align:right; font-size:15px; }.requisites-actions { display:flex; align-items:center; gap:24px; margin:34px 0 48px; }.text-download { color:var(--ink); border-bottom:1px solid var(--aqua); padding-bottom:5px; font-size:13px; font-weight:800; }.requisites-actions p { max-width:390px; margin:0; color:rgba(8,54,64,.68); font-size:13px; }.requisites-pdf { border:1px solid var(--line); background:#e9e8e3; padding:8px; }.requisites-pdf iframe { display:block; width:100%; height:720px; border:0; background:#fff; }
.location-logo { position:absolute; top:50%; right:max(7vw,90px); transform:translateY(-50%); width:clamp(230px,23vw,350px); aspect-ratio:1; border:2px solid rgba(255,255,255,.78); border-radius:50%; overflow:hidden; background:#fff; box-shadow:0 16px 45px rgba(0,0,0,.2); }.location-logo img { display:block; width:100%; height:100%; object-fit:cover; }

@media (max-width:760px) { .container { width:calc(100% - 36px); }.nav-label { display:none; }.brand-logo-image { width:88px; }.locations-hero { min-height:600px; }.locations-intro { padding-top:145px; }.locations-list { padding:68px 0; }.section-heading { display:block; }.section-heading p:last-child { margin-top:9px; }.location-card { min-height:570px; grid-template-columns:1fr; grid-template-rows:205px 1fr; }.location-card-content { padding:26px 26px 30px; }.location-number { margin:28px 0 10px; }.location-card h2 { font-size:46px; }.minimal-footer { display:block; }.minimal-footer span { display:block; margin-bottom:8px; }.minimal-footer a { display:block; margin-top:8px; }.istra-hero { min-height:735px; }.istra-hero-content { padding-top:55px; }.location-logo { position:relative; top:auto; right:auto; transform:none; width:142px; margin:0 0 40px; }.hero-bottom { width:calc(100% - 36px); }.address-section { padding:70px 0; }.address-grid { grid-template-columns:1fr; gap:34px; }.address-copy > p:not(.eyebrow) { font-size:17px; }.map-wrap,.map-wrap iframe { min-height:330px; }.intro-section { padding:80px 0 72px; }.intro-grid,.activities-heading,.booking-grid { grid-template-columns:1fr; gap:28px; }.intro-grid .large-copy { font-size:19px; }.location-photo { margin-top:56px; }.location-photo img { height:320px; }.location-photo p { left:0; right:auto; max-width:none; padding:13px 16px; font-size:12px; }.activities-section { padding:78px 0; }.activities-heading { margin-bottom:45px; }.activity-list article { grid-template-columns:45px 1fr; gap:8px 17px; }.activity-list p { grid-column:2; }.booking-section { padding:70px 0; }.booking-copy { padding:0; }.booking-frame-wrap { min-height:0; height:100vh; height:100svh; }.booking-frame { min-height:0; height:100%; }.requisites-hero { padding:65px 0 60px; }.requisites-hero h1 { font-size:54px; }.requisites-hero h1 em { font-size:.52em; white-space:normal; line-height:1.1; }.requisites-content { padding:55px 0 75px; }.requisite-row { display:block; }.requisite-row span,.requisite-row strong { display:block; text-align:left; }.requisite-row strong { margin-top:6px; }.requisites-actions { display:block; margin:28px 0 35px; }.requisites-actions p { margin-top:18px; }.requisites-pdf iframe { height:620px; }.footer-row { align-items:flex-start; flex-direction:column; }.footer-row .brand { margin-bottom:5px; } }
