@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=DM+Mono:wght@500&family=Manrope:wght@400;500;600;700&display=swap');

:root{--g:#20242A;--o:#F59E0B;--w:#0F4C81;--p:#E5E7EB;--m:#F3F4F6;--s:#6B7280}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--g);font:16px/1.65 Manrope,Arial}
header,section,footer{padding-left:max(28px,calc((100% - 1180px)/2));padding-right:max(28px,calc((100% - 1180px)/2))}

header{height:82px;background:var(--g);display:flex;align-items:center;justify-content:space-between}
header img,footer img{width:205px}
nav{display:flex;align-items:center;gap:25px}
nav a{color:#fff;text-decoration:none;font:500 10px 'DM Mono';letter-spacing:.1em}
nav .phone-link{color:var(--o);font-weight:700;letter-spacing:.08em}
nav .button{white-space:nowrap}
.button{display:inline-block;background:var(--o)!important;color:var(--g)!important;padding:13px 18px;font:700 11px Manrope!important;letter-spacing:.06em!important;text-decoration:none;border:0;cursor:pointer}

.hero{min-height:640px;background:var(--g);color:#fff;display:grid;grid-template-columns:1.2fr .8fr;gap:90px;align-items:center;padding-top:90px;padding-bottom:90px}
.eyebrow{display:block;color:var(--o);font:700 12px/1.25 'DM Mono';letter-spacing:.16em}
.hero h1,h2{font:500 clamp(50px,6vw,82px)/.93 'Cormorant Garamond',Georgia,serif;letter-spacing:-.04em;margin:21px 0 27px}
.hero h1 em,.booking em{color:var(--o);font-style:italic}
.hero p{max-width:560px;color:#d4d9df;font-size:18px}
.actions{display:flex;gap:22px;align-items:center;margin-top:35px}
.text-link{color:#fff;font-weight:600}
.hero aside{position:relative;width:290px;height:290px;border:1px solid var(--o);display:grid;place-items:center;justify-self:end;background:#20242a}
.hero aside img{width:175px}
.hero aside span{position:absolute;right:0;bottom:17px;left:0;display:block;width:100%;margin:0;color:var(--o);font:500 9px 'DM Mono';letter-spacing:.12em;text-align:center}

.numbers{display:grid;grid-template-columns:repeat(3,1fr);background:var(--w);color:#fff;padding-top:27px;padding-bottom:27px}
.numbers div{padding:0 25px;border-left:1px solid #ffffff40}
.numbers div:first-child{padding-left:0;border:0}
.numbers b{display:block;color:var(--o);font:500 26px 'Cormorant Garamond',Georgia,serif}
.numbers span{font-size:12px;color:#d6e6f3}
section{padding-top:105px;padding-bottom:105px}
h2{font-size:60px!important}
.intro{max-width:650px;color:var(--s)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);margin-top:48px;border-top:1px solid var(--p)}
.cards article{padding:28px;border-right:1px solid var(--p)}
.cards article:first-child{padding-left:0}
.cards article:last-child{border:0}
.cards h3{font-size:19px}
.cards p,.offer p{color:var(--s);font-size:14px}

.dark{background:var(--g);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:110px}
.dark h2{font-size:55px!important}
.process{min-height:760px;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(50px,9vw,150px);align-items:center;padding-top:132px;padding-bottom:132px;overflow:hidden}
.process-intro{align-self:start;padding-top:22px}
.process h2{font-size:clamp(60px,6vw,88px)!important;line-height:.9;margin:20px 0 29px}
.process h2 em{color:var(--o);font-style:italic}
.process-intro p{max-width:370px;margin:0;color:#b7c0ca;font-size:15px;line-height:1.8}
.process-steps{display:grid;list-style:none;margin:0;padding:0;border-top:1px solid #ffffff2e}
.process-step{position:relative;isolation:isolate;display:grid;grid-template-columns:clamp(78px,9vw,128px) 1fr;gap:24px;min-height:160px;padding:31px 24px 31px 0;border-bottom:1px solid #ffffff2e;overflow:hidden}
.process-step::after{position:absolute;z-index:2;inset:0;background:var(--o);content:"";transform:scaleX(1);transform-origin:right center;transition:transform 1.05s cubic-bezier(.77,0,.18,1)}
.process-step.is-revealed::after{transform:scaleX(0)}
.process-step>*{position:relative;z-index:1}
.step-number{color:var(--o);font:500 clamp(30px,3vw,48px)/1 'Cormorant Garamond',Georgia,serif;letter-spacing:-.04em}
.process-step h3{margin:0 0 10px;color:#fff;font:500 clamp(26px,2.4vw,38px)/1 'Cormorant Garamond',Georgia,serif;letter-spacing:-.025em}
.process-step p{max-width:470px;margin:0;color:#c4cbd3;font-size:14px;line-height:1.7}
.process-step:nth-child(2)::after{transition-delay:.12s}.process-step:nth-child(3)::after{transition-delay:.24s}

.offer{display:grid;grid-template-columns:.8fr 1.2fr;gap:95px;background:var(--m)}
.offer h2,.booking h2,.terms h2{font-size:56px!important}
.offer a{color:var(--w)}
form{display:grid;grid-template-columns:1fr 1fr;gap:17px}
label{font:700 12px/1.35 'DM Mono';letter-spacing:.07em;color:var(--g)}
.wide{grid-column:1/-1}
input,textarea{display:block;width:100%;margin-top:7px;border:0;border-bottom:1px solid #bfc4ca;background:transparent;padding:9px 0;font:14px Manrope;outline-color:var(--o)}
.form-note{grid-column:1/-1;margin:0!important;font-size:11px!important}

.booking{text-align:center;background:var(--g);color:#fff}
.booking h2{margin-bottom:16px}
.booking p{color:#d5d9dd}
.booking small{display:block;max-width:620px;margin:24px auto 0;color:#aab2bc;font-size:11px}
.terms{background:#fff}
.terms details{max-width:900px;border-top:1px solid var(--p);padding:22px 0}
.terms summary{cursor:pointer;font-weight:700}
.terms p{color:var(--s);max-width:780px;font-size:14px}
footer{background:#0d0f12;color:#c6ccd3;display:flex;align-items:center;gap:26px;padding-top:30px;padding-bottom:30px;font-size:12px}
footer a{color:#fff;text-decoration:none}
footer a:last-child{margin-left:auto}

@media(max-width:760px){
  header{height:70px}
  header img{width:165px}
  nav a:not(.button){display:none}
  nav .button{padding:11px 13px;font-size:9px!important}
  .hero,.dark,.offer{grid-template-columns:1fr;gap:42px}
  .hero{min-height:0;padding-top:75px}
  .hero aside{justify-self:start;width:220px;height:220px}
  .hero aside img{width:130px}
  .hero aside span{bottom:13px;font-size:7px}
  .numbers,.cards{grid-template-columns:1fr}
  .numbers div,.numbers div:first-child,.cards article,.cards article:first-child{padding:18px 0;border:0;border-top:1px solid #ffffff35}
  .cards article{border-color:var(--p)}
  .process{min-height:0;padding-top:92px;padding-bottom:92px}
  .process-intro{padding-top:0}
  .process-step{grid-template-columns:68px 1fr;gap:15px;min-height:0;padding:26px 0}
  .process-step p{font-size:13px}
  .offer{padding-top:75px}
  form{grid-template-columns:1fr}
  footer{flex-wrap:wrap}
  footer a:last-child{margin-left:0}
}

@media(prefers-reduced-motion:reduce){.process-step::after{transition:none}.process-step::after{transform:scaleX(0)}}
