/* Inner pages */
.phero{position:relative;overflow:hidden;margin:20px 16px 0;border-radius:44px 22px 22px 22px;color:#fff;background:linear-gradient(120deg,var(--navy-dd),#0b4a91 65%,#1a86d0)}
.phero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}
.phero__in{position:relative;z-index:2;padding:64px 0 72px;max-width:1200px}
.phero h1{font-size:clamp(34px,5vw,60px);font-weight:400;line-height:1.1;letter-spacing:-.015em;margin-top:14px;max-width:860px}
.phero__lead{margin-top:18px;max-width:640px;font-size:18px;color:#dbe8f2}
.phero .hero__cta{margin-top:26px}
.crumbs ol{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:#bcd3e4}
.crumbs li+li::before{content:"/";margin-right:8px;opacity:.6}
.crumbs a:hover{color:#fff;text-decoration:underline}
.cta__alt{margin:22px 0 0!important;font-size:14px}
.cta__alt a{text-decoration:underline}

/* Generic grids */
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split--top{align-items:start}
.panel{background:#fff;border:1px solid var(--line);border-radius:22px 22px 36px 22px;padding:28px}
.panel h3{font-size:19px;font-weight:600;color:var(--navy-d);margin:16px 0 8px}
.panel p{color:var(--muted);font-size:15px}
.panel .ico{margin-bottom:2px}
.sec--bg .panel{box-shadow:none}
.prose{max-width:780px}
.prose h2{font-size:26px;font-weight:500;color:var(--navy-d);margin:36px 0 10px}
.prose h3{font-size:19px;font-weight:600;color:var(--navy-d);margin:24px 0 6px}
.prose p,.prose li{color:#3a4a66;font-size:16px;margin-bottom:12px}
.prose ul{list-style:disc;padding-left:22px;margin-bottom:12px}
.prose a{color:var(--blue);text-decoration:underline}
.note{background:#eef6ff;border:1px solid #b7d6f0;color:#0a2c68;border-radius:14px;padding:14px 18px;font-size:14px;margin-bottom:26px}
.checks li{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px;color:#3a4a66}
.checks svg{color:var(--blue);flex:none;margin-top:3px}
.media{border-radius:26px 26px 40px 26px;overflow:hidden;min-height:340px;background:linear-gradient(135deg,#0b4a91,#c9906f);position:relative}
.media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* Steps */
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.step{position:relative;padding:26px;background:#fff;border:1px solid var(--line);border-radius:20px}
.step::before{counter-increment:s;content:"0" counter(s);display:inline-block;font-size:12px;font-weight:600;background:#fdecea;color:#b4121a;border-radius:6px;padding:2px 8px;margin-bottom:14px}
.step h3{font-size:17px;font-weight:600;color:var(--navy-d);margin-bottom:6px}
.step p{font-size:14.5px;color:var(--muted)}

/* Service blocks */
.svc-row{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center;padding:56px 0;border-top:1px solid var(--line)}
.svc-row:first-of-type{border-top:0}
.svc-row:nth-of-type(even) .media{order:2}
.svc-row h2{font-size:clamp(26px,3vw,36px);font-weight:500;color:var(--navy-d);margin:14px 0 12px}
.svc-row p{color:var(--muted)}
.svc-row ul{margin:16px 0 22px}

/* Tabs-like filter chips */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 16px;font:inherit;font-size:14px;cursor:pointer;color:var(--ink)}
.chip:hover,.chip.is-on{background:var(--blue);border-color:var(--blue);color:#fff}
.is-hidden{display:none!important}

/* Package cards */
.pkg{background:#fff;border:1px solid var(--line);border-radius:24px 24px 36px 24px;padding:28px;display:flex;flex-direction:column}
.pkg__days{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);font-weight:600}
.pkg h3{font-size:22px;font-weight:500;color:var(--navy-d);margin:8px 0 10px}
.pkg ul{margin:12px 0 18px;flex:1}
.pkg li{padding-left:20px;position:relative;font-size:14.5px;color:var(--muted);margin-bottom:6px}
.pkg li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;background:var(--gold);transform:rotate(45deg)}

/* Destination sections */
.dsec{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;padding:56px 0;border-top:1px solid var(--line)}
.dsec:nth-of-type(even) .media{order:2}
.dsec h2{font-size:clamp(28px,3.4vw,40px);font-weight:500;color:var(--navy-d);margin:12px 0}
.dsec p{color:var(--muted)}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 22px}
.tags li{background:#e8f2fb;color:var(--navy);border-radius:8px;padding:6px 12px;font-size:13px}

/* Gallery page */
.gallery{columns:4 240px;column-gap:16px}
.gallery a,.gallery figure{display:block;margin:0 0 16px;break-inside:avoid;border-radius:18px;overflow:hidden;background:linear-gradient(160deg,#3b86c8,#0a2c68)}
.gallery img{width:100%;height:auto;transition:.4s}
.gallery a:hover img{transform:scale(1.03)}
.gallery .ph{min-height:220px;display:flex;align-items:flex-end;color:#fff;padding:16px;font-size:14px}
.gallery .ph:nth-child(3n){min-height:300px}

/* Forms */
.form{background:#fff;border:1px solid var(--line);border-radius:26px 26px 40px 26px;padding:32px;box-shadow:var(--shadow)}
.form h2{font-size:24px;font-weight:500;color:var(--navy-d);margin-bottom:6px}
.form__sub{color:var(--muted);font-size:15px;margin-bottom:22px}
.form__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form__grid .full{grid-column:1/-1}
.fld label{display:block;font-size:13px;font-weight:500;margin-bottom:6px;color:var(--navy-d)}
.fld input,.fld select,.fld textarea{width:100%;border:1px solid #c9d6e6;border-radius:12px;padding:13px 14px;font:inherit;font-size:15px;color:var(--ink);background:#fff}
.fld textarea{min-height:120px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(2,118,200,.15)}
.form__consent{display:flex;gap:10px;font-size:13px;color:var(--muted);margin:16px 0}
.form__consent a{text-decoration:underline}
.form .btn{width:100%;justify-content:center}
.contact-card{display:flex;gap:14px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--line)}
.contact-card:last-child{border-bottom:0}
.contact-card .ico{flex:none}
.contact-card small{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.contact-card a,.contact-card span.v{font-size:17px;font-weight:500;color:var(--navy-d)}
.contact-card a:hover{color:var(--blue)}
.map{border:0;width:100%;height:340px;border-radius:22px;background:#e6edf6}

.err404{text-align:center;padding:110px 0}
.err404 b{display:block;font-size:clamp(80px,14vw,160px);font-weight:300;color:var(--blue);line-height:1}

@media (max-width:1080px){
  .grid3,.grid4,.steps{grid-template-columns:1fr 1fr}
  .split,.svc-row,.dsec{grid-template-columns:1fr;gap:28px}
  .svc-row:nth-of-type(even) .media,.dsec:nth-of-type(even) .media{order:0}
}
@media (max-width:640px){
  .phero{margin:12px 8px 0;border-radius:28px 16px 16px 16px}
  .phero__in{padding:44px 0 52px}
  .grid2,.grid3,.grid4,.steps,.form__grid{grid-template-columns:1fr}
  .form{padding:22px}
  .gallery{columns:2 140px}
}
