:root{
  --bg:#0b0b0c;
  --surface:#141416;
  --surface2:#1b1b1e;
  --line:rgba(255,255,255,.09);
  --text:#f4f4f5;
  --muted:#9b9ba3;
  --accent:#e4002b;
  --accent-soft:rgba(228,0,43,.12);
  --ok:#63d68a;
  --warn:#e8b34a;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Segoe UI',Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;display:block;}
button,input,select,textarea{font:inherit;color:inherit;}
.container{max-width:1120px;margin:0 auto;padding:0 24px;}
header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:3px solid var(--accent);}
.nav{display:flex;align-items:center;justify-content:space-between;height:82px;gap:24px;}
.brand{display:flex;align-items:center;flex:none;}
.brand img{height:46px;width:auto;}
.nav-links{display:flex;gap:24px;font-size:.78rem;letter-spacing:.6px;color:#3a3a40;text-transform:uppercase;}
.nav-links a{position:relative;padding:4px 0;white-space:nowrap;}
.nav-links a:hover{color:#0b0b0c;}
.nav-links a:hover::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--accent);}
.nav-links a.active{color:#0b0b0c;}
.nav-links a.active::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--accent);}
.hero{padding:96px 0 72px;border-bottom:1px solid var(--line);}
.tag{display:inline-block;padding:7px 16px;border:1px solid var(--line);border-left:3px solid var(--accent);color:var(--muted);font-size:.72rem;letter-spacing:2.5px;margin-bottom:28px;text-transform:uppercase;}
.hero h1{font-size:2.7rem;font-weight:800;line-height:1.12;letter-spacing:-.5px;max-width:940px;}
.hero h1 em{font-style:normal;color:var(--accent);}
.hero p{max-width:760px;margin:24px 0 34px;color:var(--muted);font-size:1.05rem;}
.btn{display:inline-block;padding:14px 28px;font-weight:700;font-size:.8rem;letter-spacing:1px;text-transform:uppercase;border:1px solid transparent;transition:.2s;cursor:pointer;background:none;}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{background:#ff1a3d;}
.btn-outline{border-color:var(--line);color:var(--text);}
.btn-outline:hover{border-color:var(--accent);color:var(--accent);}
.btn + .btn{margin-left:12px;}
.btn:disabled{opacity:.55;cursor:not-allowed;}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:46px;}
.metric{background:var(--surface);padding:24px;}
.metric .value{font-size:1.7rem;font-weight:800;color:var(--accent);letter-spacing:-.3px;line-height:1.2;}
.metric .label{font-size:.78rem;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);margin-top:8px;}
section{padding:78px 0;border-bottom:1px solid var(--line);}
.section-title{font-size:1.7rem;font-weight:800;letter-spacing:.4px;margin-bottom:10px;}
.section-title::after{content:'';display:block;width:48px;height:3px;background:var(--accent);margin-top:14px;}
.section-sub{color:var(--muted);margin:20px 0 40px;font-size:.95rem;max-width:780px;}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);}
.card{background:var(--surface);padding:28px 26px;transition:background .25s;}
.card:hover{background:var(--surface2);}
.card h3{font-size:1.02rem;margin-bottom:10px;letter-spacing:.2px;}
.card p{font-size:.9rem;color:var(--muted);}
.card-list{list-style:none;margin-top:14px;display:grid;gap:6px;}
.card-list li{font-size:.84rem;color:var(--muted);}
.card-list li::before{content:'—';color:var(--accent);margin-right:8px;}
.concepts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.concept{background:var(--surface);padding:28px;display:flex;flex-direction:column;min-height:220px;transition:background .25s;}
.concept:hover{background:var(--surface2);}
.concept .num{font-size:.72rem;font-weight:800;letter-spacing:2px;color:var(--accent);margin-bottom:14px;}
.concept h3{font-size:1.15rem;margin-bottom:8px;}
.concept .en{font-size:.7rem;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);margin-bottom:14px;}
.concept p{font-size:.88rem;color:var(--muted);flex:1;}
.concept .meta{font-size:.74rem;letter-spacing:.6px;text-transform:uppercase;color:var(--accent);margin-top:18px;}
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.price-card{border:1px solid var(--line);background:var(--surface);padding:30px 26px;display:flex;flex-direction:column;position:relative;}
.price-card.featured{border-top:3px solid var(--accent);background:var(--surface2);}
.price-card .package{font-size:1.12rem;font-weight:800;margin-bottom:4px;}
.price-card .package-en{font-size:.7rem;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);margin-bottom:18px;}
.price-card .amount{font-size:1.8rem;font-weight:800;color:var(--accent);line-height:1.2;}
.price-card .amount small{font-size:.8rem;color:var(--muted);font-weight:400;}
.price-card .desc{font-size:.86rem;color:var(--muted);margin:12px 0 18px;}
.price-card ul{list-style:none;display:grid;gap:7px;margin-bottom:24px;flex:1;}
.price-card li{font-size:.82rem;color:var(--muted);}
.price-card li::before{content:'[+]';color:var(--accent);margin-right:8px;font-size:.72rem;font-weight:700;}
.price-card .btn{width:100%;text-align:center;}
.ads{display:grid;grid-template-columns:1.4fr .8fr;gap:0;border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--surface);margin-top:24px;}
.ads .ads-copy{padding:30px 28px;}
.ads h3{font-size:1.15rem;margin-bottom:10px;}
.ads p{font-size:.9rem;color:var(--muted);max-width:620px;}
.ads .ads-price{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:28px;border-left:1px solid var(--line);text-align:center;}
.ads .ads-price .big{font-size:1.4rem;font-weight:800;color:var(--accent);}
.ads .ads-price .note{font-size:.76rem;color:var(--muted);margin-top:6px;}
.configurator{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start;}
.panel{border:1px solid var(--line);background:var(--surface);}
.panel-head{padding:24px 26px;border-bottom:1px solid var(--line);}
.panel-head h3{font-size:1.18rem;}
.panel-head p{font-size:.84rem;color:var(--muted);margin-top:6px;}
.panel-body{padding:26px;}
.steps{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:18px;flex-wrap:wrap;}
.step-tab{flex:1;min-width:110px;background:var(--surface);padding:12px 14px;font-size:.72rem;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);border:0;cursor:pointer;text-align:left;}
.step-tab .n{display:block;font-size:.86rem;font-weight:800;color:var(--accent);margin-bottom:2px;}
.step-tab.active{background:var(--surface2);color:var(--text);box-shadow:inset 0 -2px 0 var(--accent);}
.step-tab.done{color:var(--ok);}
.step{display:none;}
.step.active{display:block;}
.step h4{font-size:1.05rem;margin-bottom:6px;}
.step .hint{font-size:.84rem;color:var(--muted);margin-bottom:20px;}
.field{margin-bottom:18px;}
.field > label,.field-label{display:block;font-size:.76rem;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.input,textarea.input,select.input{width:100%;background:var(--bg);border:1px solid var(--line);padding:13px 14px;outline:none;transition:border-color .2s;border-radius:0;}
.input:focus{border-color:var(--accent);}
textarea.input{resize:vertical;min-height:110px;}
.options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.option{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);padding:13px 14px;cursor:pointer;background:var(--bg);transition:border-color .2s,background .2s;}
.option:hover{border-color:rgba(228,0,43,.55);}
.option input{margin-top:3px;accent-color:var(--accent);flex:none;}
.option .opt-main{font-size:.9rem;font-weight:600;line-height:1.35;}
.option .opt-sub{display:block;font-size:.76rem;color:var(--muted);font-weight:400;margin-top:3px;}
.option:has(input:checked){border-color:var(--accent);background:var(--accent-soft);}
.package-grid{display:grid;gap:10px;margin-bottom:22px;}
.package{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);padding:15px 16px;background:var(--bg);cursor:pointer;transition:border-color .2s,background .2s;}
.package:has(input:checked){border-color:var(--accent);background:var(--accent-soft);}
.package input{margin-top:4px;accent-color:var(--accent);flex:none;}
.package .p-main{font-size:.96rem;font-weight:700;}
.package .p-sub{display:block;font-size:.78rem;color:var(--muted);font-weight:400;margin-top:3px;}
.package .p-price{margin-left:auto;font-size:.9rem;font-weight:800;color:var(--accent);white-space:nowrap;}
.checks{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.check{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);padding:13px 14px;background:var(--bg);cursor:pointer;transition:border-color .2s,background .2s;}
.check:has(input:checked){border-color:var(--accent);background:var(--accent-soft);}
.check input{margin-top:3px;accent-color:var(--accent);flex:none;}
.check .c-main{font-size:.86rem;font-weight:600;line-height:1.35;}
.check .c-price{display:block;font-size:.75rem;color:var(--muted);font-weight:400;margin-top:3px;}
.check.included .c-price{color:var(--ok);}
.check input:disabled{opacity:.75;}
.subhead{font-size:.76rem;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin:24px 0 12px;}
.subhead:first-child{margin-top:0;}
.upload-grid{display:grid;gap:14px;}
.upload{border:1px dashed rgba(255,255,255,.18);background:var(--bg);padding:16px;transition:border-color .2s;}
.upload:focus-within{border-color:var(--accent);}
.upload .u-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;}
.upload .u-title{font-size:.9rem;font-weight:700;}
.upload .u-note{font-size:.74rem;color:var(--muted);}
.upload .u-input{margin-top:10px;font-size:.8rem;color:var(--muted);width:100%;}
.upload .u-input::file-selector-button{background:var(--surface2);border:1px solid var(--line);color:var(--text);padding:8px 12px;margin-right:10px;cursor:pointer;text-transform:uppercase;font-size:.72rem;letter-spacing:.6px;}
.upload .u-list{margin-top:8px;display:grid;gap:4px;}
.upload .u-file{font-size:.75rem;color:var(--muted);}
.upload .u-file::before{content:'[+]';color:var(--ok);margin-right:6px;font-size:.68rem;font-weight:700;}
.summary{border:1px solid var(--line);background:var(--surface);position:sticky;top:104px;}
.summary-head{padding:20px 22px;border-bottom:1px solid var(--line);}
.summary-head h3{font-size:1rem;}
.summary-body{padding:20px 22px;display:grid;gap:12px;}
.sum-row{display:flex;justify-content:space-between;gap:14px;font-size:.83rem;color:var(--muted);}
.sum-row span:last-child{color:var(--text);text-align:right;}
.sum-row.total{border-top:1px solid var(--line);padding-top:14px;font-size:.9rem;color:var(--text);}
.sum-row.total span:last-child{color:var(--accent);font-weight:800;font-size:1.25rem;}
.summary-foot{padding:0 22px 22px;}
.summary-foot .btn{width:100%;text-align:center;}
.calc-note{font-size:.74rem;color:var(--muted);margin-top:10px;}
.step-actions{display:flex;justify-content:space-between;gap:12px;margin-top:26px;border-top:1px solid var(--line);padding-top:20px;}
.step-actions .btn + .btn{margin-left:0;}
.progress{margin-top:18px;}
.progress .bar{height:8px;background:var(--surface2);border:1px solid var(--line);overflow:hidden;}
.progress .fill{height:100%;width:0;background:var(--accent);transition:width .2s;}
.progress .status{font-size:.78rem;color:var(--muted);margin-top:8px;}
.message{display:none;margin-top:16px;padding:14px 16px;border:1px solid var(--line);border-left:3px solid var(--warn);background:var(--surface);font-size:.86rem;color:var(--text);}
.message.show{display:block;}
.message.ok{border-left-color:var(--ok);}
.message.error{border-left-color:var(--accent);}
.calendar-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:28px;align-items:start;}
.calendar-side{border:1px solid var(--line);background:var(--surface);padding:24px;}
.calendar-side h3{font-size:1.05rem;margin-bottom:6px;}
.calendar-side p{font-size:.84rem;color:var(--muted);margin-bottom:16px;}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin-top:16px;}
.slot{border:1px solid var(--line);background:var(--bg);padding:11px 8px;font-size:.86rem;font-weight:700;cursor:pointer;color:var(--text);transition:border-color .2s,background .2s;}
.slot:hover{border-color:var(--accent);}
.slot.selected{background:var(--accent);border-color:var(--accent);color:#fff;}
.slot:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through;}
.calendar-main{border:1px solid var(--line);background:var(--surface);padding:24px;}
.calendar-main h3{font-size:1.05rem;margin-bottom:6px;}
.calendar-main p{font-size:.84rem;color:var(--muted);margin-bottom:18px;}
.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.booking-fields .field{margin-bottom:0;}
.booking-fields .field.full{grid-column:1/-1;}
.small{font-size:.8rem;color:var(--muted);}
.mono{font-family:Consolas,'Courier New',monospace;}
footer{padding:36px 0;}
.foot{display:flex;flex-wrap:wrap;gap:16px 30px;justify-content:space-between;align-items:center;color:var(--muted);font-size:.82rem;}
.foot .foot-brand{display:flex;align-items:center;gap:10px;color:var(--text);font-weight:700;letter-spacing:2px;font-size:.85rem;}
.foot .foot-brand .mark{width:22px;height:22px;border:2px solid var(--accent);border-radius:50%;flex:none;}
@media (max-width:980px){
  .nav-links{display:none;}
  .hero{padding:70px 0 56px;}
  .hero h1{font-size:2rem;}
  .metrics{grid-template-columns:1fr;}
  .concepts{grid-template-columns:repeat(2,1fr);}
  .pricing{grid-template-columns:1fr;}
  .configurator{grid-template-columns:1fr;}
  .summary{position:static;}
  .ads{grid-template-columns:1fr;}
  .ads .ads-price{border-left:0;border-top:1px solid var(--line);}
  .calendar-layout{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .btn + .btn{margin-left:0;margin-top:12px;}
  section{padding:56px 0;}
  .concepts{grid-template-columns:1fr;}
  .options,.checks{grid-template-columns:1fr;}
  .booking-fields{grid-template-columns:1fr;}
  .panel-body{padding:20px;}
  .step-tab{min-width:100%;}
  .foot{flex-direction:column;align-items:flex-start;}
}
