:root{
 --bg:#0b0b0f;
 --bg-soft:#10151d;
 --panel:rgba(255,255,255,.04);
 --panel-2:rgba(255,255,255,.03);
 --text:#f3f5f7;
 --muted:#aeb8c2;
 --line:rgba(255,255,255,.10);
 --accent:#d6a24a;
 --accent2:#f0c36a;
 --gold:#d6a24a;
 --gold-soft:#f0c36a;
 --blue:#7fb4e8;
 --shadow:0 24px 60px rgba(0,0,0,.28);
 --container:1280px;
}

*,
*::before,
*::after{
 box-sizing:border-box;
}

html{
 scroll-behavior:smooth;
}

body{
 margin:0;
 background:
   radial-gradient(circle at top center, rgba(214,162,74,.10), transparent 35%),
   linear-gradient(180deg, #091019 0%, #0b0b0f 100%);
 color:var(--text);
 font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
 line-height:1.6;
}

main{
 display:block;
}

img{
 max-width:100%;
 height:auto;
}

a{
 color:inherit;
 text-decoration:none;
}

button,
input,
select,
textarea{
 font:inherit;
}

.container{
 width:min(var(--container), calc(100% - 40px));
 margin:0 auto;
}

.topbar{
 position:sticky;
 top:0;
 z-index:50;
 background:rgba(10,14,19,.9);
 backdrop-filter:blur(10px);
 border-bottom:1px solid var(--line);
}

.topbar-inner{
 min-height:84px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:18px;
 position:relative;
}

.brand{
 display:flex;
 align-items:center;
 gap:14px;
 min-width:0;
}

.brand img{
 width:56px;
 height:56px;
 object-fit:contain;
 flex:0 0 auto;
}

.brand-title{
 margin:0;
 font-size:22px;
 font-weight:800;
 line-height:1;
 letter-spacing:.02em;
 color:var(--text);
}

.brand-sub{
 margin:6px 0 0;
 font-size:13px;
 color:var(--muted);
}

.nav-wrap{
 display:flex;
 align-items:center;
 gap:10px;
}

.lang-switch{
 display:inline-flex;
 align-items:center;
 gap:6px;
 padding:5px;
 border-radius:999px;
 background:rgba(255,255,255,.04);
 border:1px solid var(--line);
}

.lang-switch a,
.lang-switch button{
 border:0;
 background:transparent;
 color:var(--muted);
 font-weight:800;
 min-width:42px;
 height:34px;
 border-radius:999px;
 cursor:pointer;
 display:inline-flex;
 align-items:center;
 justify-content:center;
}

.lang-switch a.active,
.lang-switch button.active{
 background:linear-gradient(135deg,var(--accent),var(--accent2));
 color:#111;
}

.nav{
 display:flex;
 align-items:center;
 gap:6px;
}

.nav a{
 padding:10px 14px;
 border-radius:999px;
 color:var(--muted);
 font-weight:700;
 font-size:14px;
}

.nav a.active,
.nav a:hover{
 background:rgba(255,255,255,.05);
 color:var(--text);
}

.btn{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-height:52px;
 padding:0 22px;
 border-radius:999px;
 font-weight:800;
 font-size:15px;
 border:none;
 cursor:pointer;
}

.btn-primary{
 background:linear-gradient(135deg,var(--accent),var(--accent2));
 color:#111;
 box-shadow:0 10px 30px rgba(201,169,107,.16);
}

.btn-secondary{
 border:1px solid var(--line);
 background:rgba(255,255,255,.03);
 color:var(--text);
}

.menu-toggle{
 display:none;
 border:1px solid var(--line);
 background:rgba(255,255,255,.04);
 color:#fff;
 width:44px;
 height:44px;
 border-radius:14px;
 cursor:pointer;
}

.hero,
.hero-simple{
 position:relative;
}

.hero::before,
.hero-simple::before{
 content:'';
 position:absolute;
 inset:0;
 background:linear-gradient(135deg,rgba(0,0,0,.35),rgba(0,0,0,0) 55%);
 pointer-events:none;
}

.hero{
 padding:42px 0 24px;
}

.hero-grid{
 display:grid;
 grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
 gap:24px;
 align-items:stretch;
}

.hero-grid > *{
 min-width:0;
}

.card{
 background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.03));
 border:1px solid rgba(201,169,107,.12);
 border-radius:28px;
 box-shadow:var(--shadow);
}

.hero-copy{
 padding:34px;
 min-width:0;
 min-height:620px;
 display:flex;
 flex-direction:column;
 justify-content:center;
}

.kicker{
 display:inline-flex;
 padding:10px 14px;
 border-radius:999px;
 background:rgba(255,255,255,.05);
 border:1px solid var(--line);
 color:var(--blue);
 font-weight:800;
 font-size:12px;
 letter-spacing:.04em;
 text-transform:uppercase;
}

h1{
 margin:16px 0 0;
 font-size:clamp(38px,5vw,66px);
 line-height:.96;
 letter-spacing:-.05em;
 color:var(--text);
}

.hero-copy h1{
 max-width:12ch;
}

.lead{
 margin:18px 0 0;
 color:#dce7f1;
 font-size:18px;
 line-height:1.72;
}

.hero-copy .lead{
 max-width:58ch;
}

.badges{
 display:flex;
 flex-wrap:wrap;
 gap:10px;
 margin-top:18px;
}

.badge{
 padding:10px 14px;
 border-radius:999px;
 background:rgba(255,255,255,.04);
 border:1px solid var(--line);
 font-weight:700;
 font-size:14px;
 letter-spacing:.04em;
 color:var(--text);
}

.actions{
 display:flex;
 gap:12px;
 flex-wrap:wrap;
 margin-top:22px;
}

.hero-media{
 position:relative;
 overflow:hidden;
 min-height:620px;
 height:620px;
 padding:0;
}

.hero-media-inner{
 position:absolute;
 inset:0;
 overflow:hidden;
 border-radius:inherit;
}

.hero-media img{
 width:100%;
 height:100%;
 display:block;
 object-fit:cover;
 object-position:center center;
}

.hero-overlay{
 position:absolute;
 left:20px;
 bottom:18px;
 padding:10px 14px;
 border-radius:999px;
 background:rgba(8,17,27,.74);
 backdrop-filter:blur(8px);
 border:1px solid var(--line);
 font-weight:700;
 z-index:2;
 color:var(--text);
}

.section{
 padding:26px 0;
}

.section-compact{
 padding-top:12px;
}

.grid-2{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:22px;
}

.grid-3{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:18px;
}

.p24{
 padding:26px;
}

.section h2{
 margin:0 0 10px;
 font-size:clamp(28px,4vw,46px);
 line-height:1;
 letter-spacing:-.045em;
 color:var(--text);
}

.section .card h2 + p{
 max-width:66ch;
}

.section p{
 margin:0;
 color:#d8e2eb;
 line-height:1.8;
}

.stat-grid{
 display:grid;
 grid-template-columns:repeat(4,1fr);
 gap:14px;
}

.stat{
 padding:22px;
 border-radius:20px;
 background:rgba(255,255,255,.04);
 border:1px solid rgba(201,169,107,.12);
 text-align:center;
}

.stat strong{
 display:block;
 color:var(--accent2);
 font-size:30px;
 margin-bottom:8px;
}

.stat span{
 color:var(--muted);
}

.service{
 padding:24px;
 border-radius:22px;
 background:rgba(255,255,255,.04);
 border:1px solid rgba(201,169,107,.12);
}

.service h3{
 margin:12px 0 10px;
 font-size:22px;
 color:var(--text);
}

.service p{
 font-size:15px;
}

.index{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 width:40px;
 height:40px;
 border-radius:999px;
 background:rgba(243,154,59,.14);
 color:var(--accent2);
 font-weight:800;
}

.media-card{
 overflow:hidden;
 border-radius:26px;
 border:1px solid rgba(201,169,107,.12);
 box-shadow:var(--shadow);
}

.media-card img{
 width:100%;
 height:100%;
 object-fit:cover;
 object-position:center center;
 min-height:460px;
}

.list{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:12px;
 padding:0;
 list-style:none;
 margin:18px 0 0;
}

.list li{
 padding:14px 16px;
 border-radius:16px;
 background:rgba(255,255,255,.04);
 border:1px solid var(--line);
 color:var(--text);
}

.video-placeholder{
 min-height:280px;
 display:flex;
 align-items:center;
 justify-content:center;
 text-align:center;
 font-size:22px;
 font-weight:800;
 color:var(--muted);
 padding:30px;
 border:2px dashed rgba(255,255,255,.13);
 border-radius:22px;
}

.form-grid{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:14px;
}

input,
select,
textarea{
 width:100%;
 padding:14px 16px;
 border-radius:14px;
 background:rgba(255,255,255,.04);
 border:1px solid var(--line);
 color:#fff;
 font:inherit;
}

textarea{
 min-height:140px;
 resize:vertical;
}

.notice{
 padding:14px 16px;
 border-radius:16px;
 background:rgba(255,255,255,.05);
 border:1px solid var(--line);
 font-size:14px;
}

.notice.success{
 background:rgba(37,211,102,.1);
 border-color:rgba(37,211,102,.25);
}

.notice.error{
 background:rgba(255,98,98,.12);
 border-color:rgba(255,98,98,.28);
}

.notice a{
 color:var(--gold-soft);
}

.footer{
 margin-top:34px;
 padding:26px 0 36px;
 border-top:1px solid rgba(201,169,107,.12);
 color:var(--muted);
}

.footer-row{
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:16px;
 flex-wrap:wrap;
}

.footer-links,
.socials{
 display:flex;
 gap:14px;
 flex-wrap:wrap;
}

.socials a,
.footer-links a{
 padding:10px 14px;
 border-radius:999px;
 background:rgba(255,255,255,.04);
 border:1px solid var(--line);
 font-size:13px;
 font-weight:800;
}

.cookie-banner{
 position:fixed;
 left:20px;
 right:20px;
 bottom:20px;
 z-index:80;
 display:none;
 background:rgba(9,15,24,.96);
 border:1px solid var(--line);
 border-radius:20px;
 box-shadow:var(--shadow);
}

.cookie-inner{
 padding:18px;
}

.cookie-actions{
 display:flex;
 gap:10px;
 flex-wrap:wrap;
 margin-top:14px;
}

.wa-float{
 position:fixed;
 right:18px;
 bottom:18px;
 z-index:79;
 background:#25d366;
 color:#fff;
 width:58px;
 height:58px;
 border-radius:999px;
 display:flex;
 align-items:center;
 justify-content:center;
 box-shadow:0 16px 32px rgba(37,211,102,.35);
 line-height:0;
}

.wa-float svg{
 width:30px;
 height:30px;
 display:block;
 fill:#fff;
 flex:0 0 auto;
}

.hero-simple{
 padding:34px 0 10px;
}

.hero-simple .card{
 padding:28px;
}

.page-hero-media{
 overflow:hidden;
 border-radius:24px;
 margin-top:18px;
 border:1px solid var(--line);
}

.page-hero-media img{
 width:100%;
 max-height:520px;
 object-fit:cover;
 object-position:center center;
}

.luxury-frame{
 position:relative;
}

.luxury-frame:after{
 content:'';
 position:absolute;
 inset:0;
 border-radius:inherit;
 pointer-events:none;
 box-shadow:inset 0 0 0 1px rgba(201,169,107,.18), inset 0 -120px 120px rgba(0,0,0,.12);
}

.highlight-block{
 max-width:1080px;
}

.premium-disposal{
 background:linear-gradient(180deg,rgba(201,169,107,.1),rgba(255,255,255,.03));
 border:1px solid rgba(201,169,107,.22);
}

.premium-list{
 margin-top:22px;
}

.service-points{
 display:grid;
 grid-template-columns:repeat(2,1fr);
 gap:12px;
 margin-top:20px;
}

.service-points span,
.contact-list li{
 padding:14px 16px;
 border-radius:16px;
 background:rgba(255,255,255,.04);
 border:1px solid var(--line);
 color:var(--text);
}

.service-points.compact span{
 padding:12px 14px;
}

.cta-band{
 text-align:left;
 background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(201,169,107,.05));
}

.contact-layout{
 align-items:start;
}

.contact-side p{
 margin-bottom:16px;
}

.contact-list{
 list-style:none;
 padding:0;
 margin:16px 0 0;
 display:grid;
 gap:12px;
}

.contact-list li{
 display:flex;
 flex-direction:column;
 gap:6px;
}

.contact-list strong{
 font-size:12px;
 letter-spacing:.08em;
 text-transform:uppercase;
 color:var(--accent2);
}

.contact-list a{
 color:#fff;
 word-break:break-word;
}

.privacy-note{
 margin-top:18px;
}

.section-head.center{
 text-align:center;
 max-width:860px;
 margin:0 auto 32px;
}

.section-intro{
 color:var(--muted);
 max-width:760px;
 margin:12px auto 0;
}

.testimonials-section{
 padding-top:20px;
}

.rating-banner{
 display:grid;
 grid-template-columns:180px 1fr auto;
 gap:24px;
 align-items:center;
 margin-bottom:28px;
 background:linear-gradient(180deg,rgba(18,18,18,.96),rgba(11,11,11,.98));
 border:1px solid rgba(201,168,106,.22);
}

.rating-score{
 display:flex;
 flex-direction:column;
 align-items:flex-start;
 gap:4px;
}

.rating-number{
 font-size:52px;
 line-height:1;
 font-weight:700;
 color:var(--gold);
}

.rating-stars{
 letter-spacing:2px;
 color:var(--gold);
 font-size:18px;
}

.rating-copy strong{
 display:block;
 font-size:20px;
 margin-bottom:6px;
}

.rating-copy p{
 margin:0;
 color:var(--muted);
}

.rating-action{
 justify-self:end;
}

.testimonials-grid{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:20px;
}

.testimonial-card,
.testimonial{
 padding:22px;
 background:rgba(255,255,255,.02);
 border:1px solid rgba(201,168,106,.14);
 height:100%;
}

.testimonial-top,
.testimonial-head{
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:12px;
 margin-bottom:14px;
 font-size:14px;
 color:var(--gold);
}

.testimonial-top strong,
.testimonial-head strong{
 font-size:17px;
 color:#fff;
}

.testimonial-card p,
.testimonial p{
 margin:0;
 color:var(--muted);
 line-height:1.75;
}

@media (max-width:1080px){
 .testimonials-grid{
   grid-template-columns:repeat(2,minmax(0,1fr));
 }

 .rating-banner{
   grid-template-columns:160px 1fr;
 }

 .rating-action{
   grid-column:1/-1;
   justify-self:start;
 }
}

@media (max-width:980px){
 .hero-grid,
 .grid-2,
 .grid-3,
 .stat-grid,
 .form-grid{
   grid-template-columns:1fr;
 }

 .hero-copy{
   min-height:auto;
 }

 .hero-media{
   min-height:420px;
   height:420px;
   order:-1;
 }

 .list{
   grid-template-columns:1fr;
 }

 .service-points{
   grid-template-columns:1fr;
 }

 .contact-layout{
   grid-template-columns:1fr;
 }
}

@media (max-width:760px){
 .container{
   width:min(var(--container),calc(100% - 20px));
 }

 .topbar-inner{
   min-height:76px;
   align-items:center;
   gap:10px;
 }

 .brand img{
   width:44px;
   height:44px;
 }

 .brand-title{
   font-size:18px;
 }

 .brand-sub{
   display:none;
 }

 .nav{
   display:none;
   position:absolute;
   top:76px;
   left:10px;
   right:10px;
   flex-direction:column;
   align-items:stretch;
   padding:12px;
   background:rgba(8,17,27,.98);
   border:1px solid var(--line);
   border-radius:18px;
   box-shadow:var(--shadow);
 }

 .topbar.open .nav{
   display:flex;
 }

 .menu-toggle{
   display:block;
 }

 .nav-wrap{
   gap:8px;
 }

 .lang-switch a,
 .lang-switch button{
   min-width:38px;
   height:32px;
 }

 .hero{
   padding-top:18px;
 }

 .hero-grid{
   grid-template-columns:1fr;
 }

 .hero-copy{
   min-height:auto;
   padding:20px;
 }

 .hero-media{
   min-height:320px;
   height:320px;
   border-radius:22px;
 }

 h1{
   font-size:clamp(34px,12vw,48px);
   line-height:1;
 }

 .section h2{
   font-size:clamp(26px,8vw,38px);
 }

 .hero-copy .lead{
   font-size:15px;
   line-height:1.65;
 }

 .lead{
   font-size:16px;
 }

 .hero-overlay{
   left:14px;
   right:14px;
   bottom:14px;
   text-align:center;
   font-size:13px;
 }

 .card,
 .media-card,
 .hero-media{
   border-radius:22px;
 }

 .stat{
   padding:18px;
 }

 .p24{
   padding:20px;
 }

 .actions{
   gap:10px;
 }

 .actions .btn{
   width:100%;
 }

 .footer-row{
   align-items:flex-start;
 }

 .footer-links,
 .socials{
   width:100%;
 }

 .cookie-banner{
   left:12px;
   right:12px;
   bottom:12px;
 }

 .cookie-inner{
   padding:14px;
 }

 .wa-float{
   width:54px;
   height:54px;
   right:16px;
   bottom:16px;
 }

 .wa-float svg{
   width:28px;
   height:28px;
 }

 .testimonial-card,
 .testimonial{
   padding:18px;
 }

 .section-head.center{
   margin-bottom:24px;
 }
}

@media (max-width:720px){
 .testimonials-grid{
   grid-template-columns:1fr;
   gap:16px;
 }

 .rating-banner{
   grid-template-columns:1fr;
   gap:16px;
   padding:20px;
 }

 .rating-number{
   font-size:44px;
 }

 .rating-action{
   justify-self:stretch;
 }

 .rating-action .btn{
   width:100%;
   justify-content:center;
 }
}