:root{
  --navy:#050F20;--navy2:#0C1A32;--navy3:#101F38;--line:#1E2D48;
  --bone:#EDE6D8;--bone2:#C9C1B2;--mute:#8E8A80;--gold:#E4C87A;--gold2:#B8963E;
  --serif:'Cormorant Garamond',Georgia,serif;--disp:'Cinzel',Georgia,serif;--mono:'IBM Plex Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--navy);color:var(--bone);font-family:var(--serif);font-size:20px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--gold);text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--disp);font-weight:500;letter-spacing:.02em;line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(34px,5.2vw,64px)}
h2{font-size:clamp(26px,3.4vw,42px)}
h3{font-size:clamp(19px,1.6vw,24px);color:var(--gold)}
p{margin:0 0 1em}
.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:22px}
.lead{font-size:clamp(22px,2.2vw,28px);font-style:italic;color:var(--bone);max-width:32ch}
.muted{color:var(--bone2)}
.wrap{width:min(1180px,100% - 48px);margin-inline:auto}
section{padding:96px 0}
@media(max-width:700px){section{padding:64px 0}}
.rule{height:1px;background:linear-gradient(90deg,transparent,var(--gold2),transparent);opacity:.6;margin:0 auto;width:min(1180px,100% - 48px)}

/* nav */
header{position:fixed;inset:0 0 auto 0;z-index:50;background:linear-gradient(rgba(5,15,32,.92),rgba(5,15,32,.6) 70%,transparent);backdrop-filter:blur(6px)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px;width:min(1180px,100% - 48px);margin-inline:auto}
.brand{display:flex;align-items:center;gap:12px;color:var(--bone);font-family:var(--disp);font-size:14px;letter-spacing:.22em}
.brand img{width:40px;height:40px}
.nav nav{display:flex;gap:28px;align-items:center}
.nav nav a{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--bone2)}
.nav nav a:hover,.nav nav a.on{color:var(--gold)}
.lang{border:1px solid var(--line);padding:6px 10px;border-radius:2px;color:var(--bone2)!important}
.burger{display:none;background:none;border:1px solid var(--line);color:var(--bone);font-family:var(--mono);font-size:12px;letter-spacing:.16em;padding:8px 12px}
@media(max-width:900px){.nav nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--navy);flex-direction:column;padding:20px 24px 28px;gap:20px;border-bottom:1px solid var(--line)}.nav nav.open{display:flex}.burger{display:block}}

/* hero */
.hero{position:relative;min-height:100svh;display:grid;place-items:center;text-align:center;overflow:hidden;padding:120px 0 80px}
.hero .bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.55;transform:scale(1.04);animation:kb 28s ease-in-out infinite alternate}
@keyframes kb{to{transform:scale(1.12)}}
.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(5,15,32,.15),rgba(5,15,32,.85) 70%,var(--navy))}
.hero .in{position:relative;z-index:1;width:min(900px,100% - 48px)}
.hero .seal{width:clamp(120px,16vw,190px);margin:0 auto 34px;filter:drop-shadow(0 0 40px rgba(228,200,122,.25))}
.hero h1{margin-bottom:22px}
.hero .tag{font-family:var(--disp);font-size:clamp(13px,1.4vw,17px);letter-spacing:.34em;color:var(--gold);margin-bottom:30px}
.hero .lead{margin:0 auto 40px;max-width:40ch}
.stats{display:flex;justify-content:center;gap:48px;flex-wrap:wrap;margin-top:44px}
.stats div{text-align:center}
.stats b{display:block;font-family:var(--disp);font-size:44px;color:var(--gold);font-weight:400}
.stats span{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--bone2)}

/* buttons */
.btn{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;padding:16px 28px;border:1px solid var(--gold);color:var(--gold);border-radius:2px;transition:.25s}
.btn:hover{background:var(--gold);color:var(--navy)}
.btn.ghost{border-color:var(--line);color:var(--bone2)}
.btn.ghost:hover{border-color:var(--bone2);background:transparent;color:var(--bone)}
.actions{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}

/* layouts */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media(max-width:900px){.grid2,.grid3,.grid4{grid-template-columns:1fr}}
@media(min-width:700px) and (max-width:900px){.grid4{grid-template-columns:1fr 1fr}}
.card{background:var(--navy2);border:1px solid var(--line);padding:32px 30px;border-radius:2px}
.card .n{font-family:var(--disp);color:var(--gold);font-size:14px;letter-spacing:.2em;margin-bottom:14px}
.card h3{color:var(--bone);font-size:21px}
.card p{color:var(--bone2);font-size:18px;margin:0}
.q{font-family:var(--serif);font-style:italic;font-size:clamp(24px,3vw,40px);line-height:1.3;color:var(--bone);text-align:center;max-width:26ch;margin:0 auto}
.q small{display:block;font-family:var(--mono);font-style:normal;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-top:26px}
.band{position:relative;background-size:cover;background-position:center}
.band:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(5,15,32,.88),rgba(5,15,32,.78))}
.band>*{position:relative}
.band.tall{min-height:520px;display:grid;align-items:center}
.list{list-style:none;padding:0;margin:0}
.list li{padding:18px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:110px 1fr;gap:20px;align-items:baseline}
.list li:last-child{border-bottom:1px solid var(--line)}
.list .n{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--gold)}
.list b{font-family:var(--disp);font-weight:500;font-size:18px;display:block;margin-bottom:4px}
.list span{color:var(--bone2);font-size:18px}
.not-is{display:grid;grid-template-columns:1fr 1fr;gap:40px}
@media(max-width:700px){.not-is{grid-template-columns:1fr}}
.not-is ul{list-style:none;padding:0;margin:0}
.not-is li{padding:12px 0;border-bottom:1px solid var(--line);color:var(--bone2);font-size:19px}
.not-is h3.no{color:var(--mute)}
.mov{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:900px){.mov{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.mov{grid-template-columns:1fr}}
.mov a{display:block;background:var(--navy2);border:1px solid var(--line);padding:30px 26px;color:var(--bone);min-height:300px;transition:.25s;border-radius:2px}
.mov a:hover{border-color:var(--gold2);transform:translateY(-3px)}
.mov .rn{font-family:var(--disp);color:var(--gold);letter-spacing:.2em;font-size:13px}
.mov h3{color:var(--bone);font-size:26px;margin:14px 0 6px}
.mov .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:16px}
.mov p{color:var(--bone2);font-size:17px;margin:0 0 14px}
.mov em{font-size:16px;color:var(--bone)}
.phone{width:min(320px,80vw);aspect-ratio:9/16;border-radius:26px;overflow:hidden;border:1px solid var(--line);margin:0 auto;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.phone video{width:100%;height:100%;object-fit:cover;background:#000}

/* form */
form{display:grid;gap:18px;max-width:640px}
label{display:grid;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--bone2)}
input,textarea,select{font-family:var(--serif);font-size:19px;color:var(--bone);background:var(--navy2);border:1px solid var(--line);padding:14px 16px;border-radius:2px;width:100%}
input:focus,textarea:focus{outline:none;border-color:var(--gold2)}
textarea{min-height:120px;resize:vertical}
.note{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--mute);line-height:1.7}

footer{padding:60px 0 40px;border-top:1px solid var(--line);color:var(--bone2)}
footer .f{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}
footer .f small{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase}
footer img{width:56px}
.fade{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s ease}
.fade.in{opacity:1;transform:none}
