:root{
  --bg:#0f1420; --bg2:#151c2b; --card:#1a2233; --line:#27314a;
  --gold:#c9ad72; --gold-hi:#e2c88c; --blue:#5b8fd8;
  --text:#eaeef5; --muted:#a3aec0;
  --display:'Montserrat','Segoe UI',sans-serif;
  --body:'Satoshi','Segoe UI',sans-serif;
  --r:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{background:var(--bg);color:var(--text);font:400 1rem/1.6 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
.wrap{width:min(1160px,100% - 40px);margin-inline:auto}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--gold);color:var(--bg);padding:8px 12px;z-index:99}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(15,20,32,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;gap:24px;height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:600 .95rem var(--display);letter-spacing:.02em}
.brand img{border-radius:8px}
.brand b{color:var(--gold);font-weight:800}
.nav nav{margin-left:auto;display:flex;gap:26px}
.nav nav a{text-decoration:none;font-size:.9rem;color:var(--muted);font-weight:500}
.nav nav a:hover{color:var(--text)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:10px;font:700 .95rem var(--display);letter-spacing:.02em;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .15s,background .2s,border-color .2s}
.btn:hover{transform:translateY(-1px)}
.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.btn-gold{background:var(--gold);color:#121824}
.btn-gold:hover{background:var(--gold-hi)}
.btn-ghost{border-color:var(--gold);color:var(--gold)}
.btn-ghost:hover{background:rgba(201,173,114,.1)}
.btn-sm{padding:9px 18px;font-size:.85rem}

/* hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(60% 70% at 72% 45%,rgba(56,90,150,.35),transparent 70%),var(--bg)}
.hero-in{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:40px;min-height:min(78vh,720px);padding-block:64px}
.eyebrow{font:700 .78rem var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
h1{font:900 clamp(2.4rem,5.2vw,4.3rem)/1.04 var(--display);letter-spacing:-.01em}
h1 span{color:var(--gold);display:block}
.lede{margin-top:22px;font-size:1.1rem;color:var(--muted);max-width:52ch}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.fine{font-size:.85rem;color:var(--muted);margin-top:14px}
.hero-art img{width:100%;max-width:560px;margin-inline:auto;filter:drop-shadow(0 20px 60px rgba(91,143,216,.25))}

/* sections */
.section{padding-block:clamp(64px,9vw,112px)}
.alt{background:var(--bg2);border-block:1px solid var(--line)}
.head{max-width:620px;margin-bottom:40px}
h2{font:800 clamp(1.7rem,3vw,2.3rem)/1.15 var(--display)}
.sub{color:var(--muted);margin-top:12px}
.note{color:var(--muted);font-size:.9rem;margin-top:26px}
.two{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}
.two .head .btn{margin-top:24px}

/* packages */
.pkgs{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pkg{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px 22px}
.pkg h3{font:800 1.15rem var(--display)}
.price{font:900 2.1rem var(--display);color:var(--text);margin-top:14px;line-height:1.1}
.price small{font:600 .8rem var(--body);color:var(--muted)}
.save{font-size:.85rem;color:var(--blue);margin-top:6px}
.pkg ul{list-style:none;margin:20px 0 24px;display:grid;gap:10px;flex:1;align-content:start}
.pkg li{padding-left:26px;position:relative;font-size:.95rem}
.pkg li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:8px;border-left:2.5px solid var(--gold);border-bottom:2.5px solid var(--gold);transform:rotate(-45deg)}
.pkg-feature{border:1.5px solid var(--gold);background:linear-gradient(180deg,rgba(201,173,114,.10),var(--card) 45%)}
.tag{position:absolute;top:-12px;left:22px;background:var(--gold);color:#121824;font:800 .7rem var(--display);letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:6px}

/* royal treatment */
.pkg-royal{position:relative;display:grid;grid-template-columns:1.5fr 1fr;gap:32px;align-items:center;margin-top:30px;padding:36px 32px 30px;border-radius:var(--r);border:2px solid var(--gold);background:radial-gradient(80% 120% at 100% 0%,rgba(91,143,216,.22),transparent 60%),linear-gradient(135deg,rgba(201,173,114,.16),var(--card) 55%);box-shadow:0 20px 60px rgba(201,173,114,.12)}
.pkg-royal h3{font:900 1.7rem var(--display);color:var(--gold-hi)}
.royal-desc{color:var(--muted);margin:10px 0 16px;max-width:60ch}
.royal-desc b{color:var(--text)}
.pkg-royal ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
.pkg-royal li{padding-left:26px;position:relative;font-size:.95rem}
.pkg-royal li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:8px;border-left:2.5px solid var(--gold);border-bottom:2.5px solid var(--gold);transform:rotate(-45deg)}
.royal-right{text-align:center;border-left:1px solid var(--line);padding-left:32px}
.royal-right .price{font-size:2.8rem;margin-top:0}
.royal-right .btn{margin-top:18px;width:100%}
.royal-right .fine{font-size:.8rem}

/* menu */
.menu{list-style:none;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:8px 24px}
.menu li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px dashed var(--line)}
.menu li:last-child{border-bottom:0}
.menu span{font-weight:700}
.menu em{display:block;font-style:normal;font-weight:400;font-size:.88rem;color:var(--muted)}
.menu b{font:800 1.1rem var(--display);color:var(--gold);white-space:nowrap}

/* add-ons */
.bundle{display:flex;justify-content:space-between;align-items:center;gap:24px;background:linear-gradient(90deg,rgba(201,173,114,.12),var(--card));border:1.5px solid var(--gold);border-radius:var(--r);padding:24px 28px;margin-bottom:22px}
.bundle h3{font:800 1.25rem var(--display);margin:4px 0}
.bundle p{color:var(--muted)}
.tag2{font:800 .7rem var(--display)!important;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)!important}
.bundle-price{text-align:right}
.bundle-price b{display:block;font:900 2.2rem var(--display);color:var(--gold);line-height:1}
.bundle-price span{font-size:.85rem;color:var(--blue)}
.addon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}
.addon h3{font:800 1.05rem var(--display);margin-bottom:12px}
.menu-sm{padding:4px 18px}
.menu-sm li{padding:12px 0}
.menu-sm span{font-size:.93rem}
.menu-sm em{font-size:.82rem}
.menu-sm b{font-size:1rem}
.addon-rules{list-style:none;margin-top:16px;display:grid;gap:8px}
.addon-rules li{font-size:.85rem;color:var(--muted);padding-left:14px;position:relative}
.addon-rules li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--blue)}
.addon-rules b{color:var(--text)}

/* partner */
.partner{display:grid;grid-template-columns:1fr 1fr;gap:28px 56px;align-items:center}
.partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;text-align:center}
.pcard .big{font:900 2.6rem var(--display);color:var(--gold);line-height:1}
.pcard p:last-child{margin-top:8px;color:var(--muted)}
.pcard b{color:var(--text)}
.rules{grid-column:1/-1;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.pcard sup{font-size:.45em;vertical-align:super;margin-left:2px}
.star{grid-column:1/-1;font-size:.88rem;color:var(--muted);border:1px dashed var(--line);border-radius:10px;padding:14px 16px}
.star sup{color:var(--gold);font-weight:800;margin-right:2px}
.star a{color:var(--gold);white-space:nowrap}
.rules li{border-top:2px solid var(--blue);padding-top:12px;font-size:.92rem;color:var(--muted)}

/* steps */
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.steps li{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px 22px}
.steps b{font:900 .9rem var(--display);color:var(--blue);letter-spacing:.1em}
.steps h3{font:800 1.1rem var(--display);margin:10px 0 8px}
.steps p{color:var(--muted);font-size:.95rem}

/* work */
.work{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center}
.shot{display:block;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 70px rgba(0,0,0,.45);transition:transform .25s}
.shot:hover{transform:translateY(-3px)}
.checks{list-style:none;margin:22px 0 28px;display:grid;gap:10px}
.checks li{padding-left:28px;position:relative}
.checks li::before{content:"";position:absolute;left:2px;top:.45em;width:14px;height:8px;border-left:2.5px solid var(--gold);border-bottom:2.5px solid var(--gold);transform:rotate(-45deg)}

/* contact */
.contact-line{margin-top:18px;font:800 1.2rem var(--display)}
.contact-line a{text-decoration:none;color:var(--gold);word-break:break-word}
.form{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px;display:grid;gap:16px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form label{display:grid;gap:6px;font-size:.88rem;font-weight:700;color:var(--muted)}
.form input,.form select,.form textarea{font:400 1rem var(--body);color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px 14px;width:100%}
.form textarea{resize:vertical}
.form .btn{justify-self:start}

/* footer */
.foot{border-top:1px solid var(--line);padding-block:40px;background:#0c1019}
.foot-in{display:grid;gap:10px;justify-items:center;text-align:center}
.foot p{color:var(--muted);font-size:.9rem}
.foot a{text-decoration:none}
.disc{font-size:.8rem!important;max-width:70ch}

@media (max-width:1000px){
  .pkgs{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .rules{grid-template-columns:1fr 1fr}
  .addon-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  .nav nav{display:none}
  .nav .btn-sm{margin-left:auto}
  .hero-in{grid-template-columns:1fr;text-align:left;padding-block:40px 56px;min-height:auto}
  .hero-art{order:-1}
  .hero-art img{max-width:340px}
  .two,.work,.partner{grid-template-columns:1fr;gap:32px}
  .addon-grid{grid-template-columns:1fr}
  .pkg-royal{grid-template-columns:1fr;padding:34px 22px 24px}
  .royal-right{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:22px}
  .pkg-royal ul{grid-template-columns:1fr}
  .bundle{flex-direction:column;align-items:flex-start}
  .bundle-price{text-align:left}
}
@media (max-width:560px){
  .pkgs,.steps,.rules,.partner-grid,.form .row{grid-template-columns:1fr}
  .brand span{font-size:.85rem}
  .cta-row .btn{flex:1 1 100%}
  .menu{padding:4px 18px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
