:root{color-scheme:light;--ink:#0c1930;--blue:#104bea;--muted:#465671;--line:#dce4f0}
*{box-sizing:border-box}
body{margin:0;font:16px/1.6 system-ui,sans-serif;color:var(--ink);background:#fff}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid #39a6ff;outline-offset:5px}
.wrap{width:min(1140px,calc(100% - 48px));margin:auto}
.nav,.foot,.strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}
.nav{min-height:76px}
.brand{font-weight:850;font-size:1.25rem;letter-spacing:-.04em;white-space:nowrap}
.brand span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--blue);color:white;margin-right:5px}
nav{display:flex;align-items:center;gap:26px;font-weight:650;font-size:.9rem}
.button{display:inline-flex;gap:18px;align-items:center;background:var(--blue);color:white;border-radius:8px;padding:12px 20px;font-weight:750}
.button:hover{background:#1640ad}
.small{padding:8px 14px}
.hero{color:#fff;background:radial-gradient(ellipse at 83% 53%,#153c85,transparent 55%),#08142c;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:36px;min-height:540px;padding:65px 0}
.eyebrow{font-size:.74rem;font-weight:800;letter-spacing:.14em;color:var(--blue);margin:0 0 18px}
.hero .eyebrow{color:#96caff}
.eyebrow span{display:inline-block;width:8px;height:8px;border-radius:50%;background:#53b5ff;margin-right:8px}
h1,h2,h3,p{margin-top:0}
h1,h2{line-height:1.02;letter-spacing:-.055em}
h1{font-size:clamp(3.5rem,8vw,7rem);margin-bottom:20px}
h1 em{font-style:normal;color:#67bcff}
h2{font-size:clamp(2.1rem,5vw,3.7rem);margin-bottom:26px}
.intro{font-size:1.16rem;color:#ccd9ee;max-width:420px;margin-bottom:28px}
.secondary{display:inline-block;margin:12px 0 0 16px;color:#d9e7ff;font-size:.9rem}
.strip{background:#f3f7fc;border-bottom:1px solid var(--line);padding:18px 0}
.strip span{font-size:.68rem;letter-spacing:.12em;color:var(--muted);font-weight:850}
.section{padding:76px 0}
.cards,.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
article{padding:25px;border:1px solid var(--line);border-radius:13px;box-shadow:0 10px 24px #0e2d5c0b}
article p,.steps p{margin:0;color:var(--muted)}
h3{margin-bottom:8px}
.icon{display:grid;place-items:center;width:46px;height:46px;background:#eaf1ff;border-radius:10px;color:var(--blue);font-size:1.45rem;margin-bottom:15px}
.process{background:#f3f7fc}
.steps{list-style:none;counter-reset:steps;padding:0;margin:0}
.steps li{counter-increment:steps;border-top:1px solid #bccbe0;padding:16px 0}
.steps li::before{content:"0" counter(steps);display:block;color:var(--blue);font-weight:800;margin-bottom:9px}
.booking{background:linear-gradient(115deg,#0b1730,#173e83);color:#fff;border-radius:18px;padding:clamp(24px,6vw,64px)}
.booking .eyebrow{color:#9cd0ff}
.notice{margin:0;color:#c4d8f6;font-size:.9rem}
footer{border-top:1px solid var(--line);padding:24px 0}
.foot p{margin:0;color:var(--muted);font-size:.86rem}
@media(max-width:740px){.hero-grid,.cards,.steps{grid-template-columns:1fr}.hero-grid{gap:14px;padding:46px 0}.section{padding:48px 0}.strip .wrap,.foot{flex-wrap:wrap}}
@media(max-width:480px){.wrap{width:calc(100% - 32px)}nav{gap:8px}nav a:not(.button){display:none}.secondary{margin-left:8px}.strip .wrap{gap:10px}.strip span{width:100%}}
.callback{max-width:500px;margin-bottom:14px}
.callback fieldset{border:0;padding:0;margin:0;min-width:0}
.callback legend{font-weight:750;margin-bottom:12px}
.callback label{display:block;margin-bottom:12px}
.callback input,.callback textarea{display:block;width:100%;margin-top:4px;padding:8px;border:1px solid #a5b9d8;border-radius:6px;background:#edf4ff;font:inherit}
.callback button{border:0;font:inherit;font-weight:750}
.callback button:disabled{opacity:.7}


.hero {
  position: relative;
  isolation: isolate;
  background: radial-gradient(ellipse at 78% 53%, #16376b 0%, #08142c 64%);
}
.hero-grid > div {
  position: relative;
  z-index: 1;
}
.hero-photo {
  position: absolute;
  display: block;
  top: 50%;
  right: max(0px, calc((100% - 1280px) / 2));
  width: min(54vw, 540px);
  height: auto;
  transform: translateY(-50%);
  mask-image:
    linear-gradient(to right, transparent, #000 31%, #000 86%, transparent),
    linear-gradient(to bottom, transparent, #000 10%, #000 82%, transparent);
  mask-composite: intersect;
}
@media (max-width: 740px) {
  .hero-grid { padding-bottom: 0; }
  .hero-photo {
    position: static;
    width: min(100%, 480px);
    margin: 0 auto;
    transform: none;
    mask-image:
      linear-gradient(to right, transparent, #000 12%, #000 86%, transparent),
      linear-gradient(to bottom, transparent, #000 12%, #000 83%, transparent);
  }
}

@media (hover: hover) and (pointer: fine) {
  .cards article {
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
  }
  .cards article:hover {
    transform: translateY(-6px) scale(1.025);
    border-color: #9bb9ff;
    box-shadow: 0 18px 36px #0e2d5c22;
  }
}
@media (prefers-reduced-motion: reduce) {
  .cards article { transition: none; }
  .cards article:hover { transform: none; }
}
