:root{
  --bg:#f5f7fb;
  --bg-soft:#eef2f7;
  --surface:#ffffff;
  --surface-2:#f8fafc;
  --ink:#111827;
  --muted:#5b6678;
  --muted-2:#7b8494;
  --line:#dbe2ea;
  --line-strong:#c8d1dc;
  --brand:#123047;
  --brand-2:#0b1f33;
  --brand-3:#1b4965;
  --accent:#c7a56b;
  --accent-2:#e6d2a3;
  --accent-soft:#f7efe0;
  --success:#2f6f4e;
  --danger:#a43a3a;
  --shadow-sm:0 10px 30px rgba(15,23,42,.06);
  --shadow:0 24px 70px rgba(15,23,42,.12);
  --shadow-dark:0 30px 90px rgba(0,0,0,.22);
  --radius:24px;
  --radius-lg:34px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at 12% -8%, rgba(199,165,107,.18), transparent 28rem),
    radial-gradient(circle at 88% 4%, rgba(27,73,101,.13), transparent 30rem),
    linear-gradient(180deg,#fbfcfe 0%, var(--bg) 52%, #ffffff 100%);
  line-height:1.58;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
.container{width:min(var(--max), calc(100% - 40px)); margin-inline:auto}
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.82);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom:1px solid rgba(219,226,234,.72);
}
.nav{
  height:78px; display:flex; align-items:center; justify-content:space-between; gap:24px;
}
.logo{
  display:flex; align-items:center; gap:13px; text-decoration:none; font-weight:860; letter-spacing:-.035em; font-size:1.24rem;
  color:var(--brand-2);
}
.logo-mark{
  position:relative;
  width:40px; height:40px; border-radius:14px;
  background:linear-gradient(145deg,var(--brand-2),var(--brand-3));
  color:#fff; display:grid; place-items:center;
  font-weight:900; letter-spacing:-.06em;
  box-shadow:0 16px 34px rgba(11,31,51,.22), inset 0 1px 0 rgba(255,255,255,.18);
}
.logo-mark::after{
  content:""; position:absolute; right:7px; bottom:7px; width:8px; height:8px; border-radius:50%; background:var(--accent);
  box-shadow:0 0 0 4px rgba(199,165,107,.16);
}
.nav-links{display:flex; align-items:center; gap:22px; font-size:.93rem}
.nav-links a{color:var(--muted); text-decoration:none; font-weight:720; transition:color .18s ease, transform .18s ease}
.nav-links a:hover{color:var(--brand-2); transform:translateY(-1px)}
.lang{display:flex; gap:7px; align-items:center; border-left:1px solid var(--line); padding-left:17px}
.lang a{padding:7px 9px; border-radius:999px; text-decoration:none; color:var(--muted); font-weight:850; line-height:1}
.lang a.active{background:var(--brand-2); color:#fff}
.mobile-toggle{display:none; border:0; background:transparent; font-size:1.65rem; color:var(--brand-2)}
.hero{
  position:relative; overflow:hidden;
  padding:94px 0 72px;
  background:
    radial-gradient(circle at 18% 20%, rgba(199,165,107,.20), transparent 27rem),
    radial-gradient(circle at 78% 10%, rgba(59,130,246,.14), transparent 30rem),
    linear-gradient(135deg,#081827 0%,#0b2035 47%,#123047 100%);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.hero::before{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.85),transparent 88%);
  pointer-events:none;
}
.hero::after{
  content:""; position:absolute; right:-170px; bottom:-260px; width:620px; height:620px; border-radius:50%;
  background:radial-gradient(circle, rgba(199,165,107,.18), transparent 63%);
  pointer-events:none;
}
.hero .container{position:relative; z-index:1}
.hero-grid{display:grid; grid-template-columns:1.16fr .84fr; gap:38px; align-items:center}
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-weight:820; color:#f7e8c7;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  padding:9px 13px; border-radius:999px; font-size:.88rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
h1,h2,h3{line-height:1.04; letter-spacing:-.045em; margin:0; color:inherit}
h1{font-size:clamp(2.75rem,5.6vw,5.75rem); max-width:980px; margin-top:22px; font-weight:880}
.lead{font-size:clamp(1.1rem,1.55vw,1.34rem); color:rgba(255,255,255,.74); max-width:760px; margin:25px 0 0}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin-top:34px}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  min-height:50px; padding:13px 19px; border-radius:999px; text-decoration:none; font-weight:860; border:1px solid transparent;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,#f1dca8,var(--accent)); color:#101827; box-shadow:0 18px 42px rgba(199,165,107,.26)}
.btn-primary:hover{box-shadow:0 22px 54px rgba(199,165,107,.34)}
.btn-secondary{background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.18); color:#fff; backdrop-filter:blur(10px)}
.btn-secondary:hover{background:rgba(255,255,255,.13); border-color:rgba(255,255,255,.28)}
.trust-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:30px}
.pill{
  border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.075); color:rgba(255,255,255,.78);
  border-radius:999px; padding:8px 12px; font-size:.91rem; font-weight:720;
}
.hero-card{
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.075));
  border:1px solid rgba(255,255,255,.16); border-radius:var(--radius-lg); box-shadow:var(--shadow-dark); padding:30px;
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
}
.hero-card h2{font-size:1.65rem; color:#fff}
.hero-card p{color:rgba(255,255,255,.72)}
.check-list{display:grid; gap:13px; padding:0; list-style:none; margin:22px 0 0}
.check-list li{display:flex; gap:11px; align-items:flex-start; color:rgba(255,255,255,.78)}
.check{width:23px;height:23px;border-radius:50%;background:rgba(199,165,107,.18);color:#f2dba3;display:inline-grid;place-items:center;font-weight:900;flex:0 0 auto;border:1px solid rgba(199,165,107,.30)}
section{padding:72px 0}
.section-head{display:flex; justify-content:space-between; align-items:end; gap:28px; margin-bottom:30px}
.section-head h2{font-size:clamp(2rem,3vw,3.05rem); color:var(--brand-2); font-weight:860}
.section-head p{max-width:640px; color:var(--muted); margin:0}
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:20px}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
.card{
  position:relative; overflow:hidden;
  background:rgba(255,255,255,.86); border:1px solid rgba(219,226,234,.88); border-radius:var(--radius); padding:26px;
  box-shadow:var(--shadow-sm); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.card::before{content:""; position:absolute; left:0; top:0; right:0; height:3px; background:linear-gradient(90deg,var(--accent),rgba(199,165,107,0)); opacity:.75}
.card:hover{transform:translateY(-3px); box-shadow:var(--shadow); border-color:var(--line-strong)}
.card h3{font-size:1.25rem; margin-bottom:11px; color:var(--brand-2)}
.card p{color:var(--muted); margin:0}
.card ul{margin:14px 0 0; padding-left:18px; color:var(--muted)}
.highlight{
  position:relative; overflow:hidden;
  background:linear-gradient(135deg,#ffffff 0%,#f8fafc 58%,#f3ead8 100%);
  color:var(--brand-2); border:1px solid rgba(199,165,107,.32); border-radius:var(--radius-lg); padding:40px; box-shadow:var(--shadow);
}
.highlight::after{content:""; position:absolute; right:-80px; top:-80px; width:260px; height:260px; border-radius:50%; background:radial-gradient(circle,rgba(199,165,107,.22),transparent 66%)}
.highlight h2{font-size:clamp(2rem,3vw,3.05rem); max-width:980px; position:relative; z-index:1}
.highlight p{color:var(--muted); max-width:870px; font-size:1.1rem; position:relative; z-index:1}
.price-table{width:100%; border-collapse:separate; border-spacing:0; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow-sm)}
.price-table th,.price-table td{padding:19px 20px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top}
.price-table th{background:#f8fafc; font-size:.79rem; text-transform:uppercase; letter-spacing:.095em; color:var(--muted); font-weight:900}
.price-table tr:last-child td{border-bottom:0}
.price-table tbody tr{transition:background .16s ease}
.price-table tbody tr:hover{background:#fbfcfe}
.price{font-size:1.18rem; font-weight:920; color:var(--brand-2); white-space:nowrap}
.note{font-size:.95rem; color:var(--muted); margin-top:15px}
.steps{counter-reset:step; display:grid; gap:14px}
.step{display:grid; grid-template-columns:58px 1fr; gap:16px; align-items:start; background:rgba(255,255,255,.88); border:1px solid var(--line); border-radius:22px; padding:19px; box-shadow:var(--shadow-sm)}
.step:before{counter-increment:step; content:counter(step); width:44px; height:44px; border-radius:16px; background:linear-gradient(145deg,var(--brand-2),var(--brand-3)); color:#fff; display:grid; place-items:center; font-weight:920; box-shadow:0 12px 28px rgba(11,31,51,.18)}
.step h3{font-size:1.14rem; color:var(--brand-2)}
.step p{margin:.38rem 0 0; color:var(--muted)}
.faq{display:grid; gap:13px}
details{background:rgba(255,255,255,.88); border:1px solid var(--line); border-radius:20px; padding:19px 20px; box-shadow:var(--shadow-sm)}
summary{cursor:pointer; font-weight:860; color:var(--brand-2)}
details p{color:var(--muted); margin:13px 0 0}
.contact-wrap{display:grid; grid-template-columns:.84fr 1.16fr; gap:22px; align-items:start}
.form-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:28px; box-shadow:var(--shadow)}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:15px}
.field{display:grid; gap:7px}
.field.full{grid-column:1/-1}
label{font-weight:820; font-size:.92rem; color:var(--brand-2)}
input,select,textarea{
  width:100%; border:1px solid #ccd6e2; border-radius:15px; padding:12px 13px; font:inherit; background:#fff; color:var(--ink);
  outline:none; transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
input:focus,select:focus,textarea:focus{border-color:var(--brand-3); box-shadow:0 0 0 4px rgba(27,73,101,.10)}
textarea{min-height:132px; resize:vertical}
.radio-group{display:grid; gap:10px}
.radio-option{display:flex; gap:10px; align-items:flex-start; border:1px solid var(--line); border-radius:16px; padding:12px; background:#f8fafc; transition:border-color .16s ease, background .16s ease}
.radio-option:hover{border-color:var(--line-strong); background:#fff}
.radio-option input{width:auto; margin-top:4px}
.consent{display:flex; gap:10px; align-items:flex-start; color:var(--muted); font-size:.95rem}
.consent input{width:auto; margin-top:4px}
.form-hint{font-size:.89rem; color:var(--muted); margin:2px 0 0}
.warning{display:none; color:var(--danger); background:#fff5f5; border:1px solid #efc8c8; border-radius:16px; padding:12px; font-size:.94rem}
.warning.show{display:block}
.hidden-field{position:absolute; left:-9999px; height:0; overflow:hidden}
.site-footer{border-top:1px solid var(--line); padding:36px 0; color:var(--muted); background:rgba(255,255,255,.70)}
.footer-grid{display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap}
.footer-links{display:flex; gap:16px; flex-wrap:wrap}
.footer-links a{text-decoration:none; color:var(--muted); font-weight:740}
.footer-links a:hover{color:var(--brand-2)}
.legal-main{padding:76px 0}
.legal-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:clamp(25px,4vw,54px); box-shadow:var(--shadow)}
.legal-card h1{font-size:clamp(2.15rem,4vw,3.65rem); color:var(--brand-2)}
.legal-card h2{font-size:1.45rem; margin-top:34px; color:var(--brand-2)}
.legal-card p,.legal-card li{color:var(--muted)}
.legal-card a{color:var(--brand-3); font-weight:850}
.success-page{min-height:72vh; display:grid; place-items:center; padding:60px 0}
@media (max-width:980px){
  .hero-grid,.grid-2,.grid-3,.contact-wrap{grid-template-columns:1fr}
  .hero{padding-top:68px}
  .section-head{display:block}
  .section-head p{margin-top:12px}
}
@media (max-width:780px){
  .nav{height:auto; min-height:70px}
  .mobile-toggle{display:block}
  .nav-links{
    display:none; position:absolute; left:18px; right:18px; top:70px; background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow); padding:16px; flex-direction:column; align-items:flex-start;
  }
  .nav-links.open{display:flex}
  .lang{border-left:0; padding-left:0}
  .form-grid{grid-template-columns:1fr}
  .price-table{font-size:.94rem}
  .price-table th,.price-table td{padding:14px}
}
@media (max-width:560px){
  .container{width:min(100% - 24px, var(--max))}
  .hero{padding:50px 0 48px}
  h1{font-size:clamp(2.35rem,12vw,3.35rem)}
  section{padding:52px 0}
  .hero-actions .btn{width:100%}
  .highlight{padding:25px}
  .price-table, .price-table tbody, .price-table tr, .price-table td{display:block}
  .price-table thead{display:none}
  .price-table tr{border-bottom:1px solid var(--line)}
  .price-table tr:last-child{border-bottom:0}
  .price-table td{border-bottom:0; padding:12px 14px}
  .price-table td::before{content:attr(data-label); display:block; color:var(--muted); font-size:.76rem; text-transform:uppercase; letter-spacing:.075em; font-weight:920; margin-bottom:4px}
  .step{grid-template-columns:1fr}
}
