
/* ===== Premium upgrade layer ===== */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700;800&family=Poppins:wght@400;500;600;700;800&display=swap');

body{font-family:'Poppins',Verdana,sans-serif}
.hero-text h1,.section-head h2,.promo h3,.page-hero h1,.faq-teaser h2,.dop-head h2,.testi-head h2,.about-hero h1{
  font-family:'Playfair Display',serif;
}

/* Preloader */
#preloader{position:fixed;inset:0;background:var(--bg);z-index:9999;display:flex;align-items:center;justify-content:center;transition:opacity .5s ease,visibility .5s ease}
#preloader.hide{opacity:0;visibility:hidden;pointer-events:none}
#preloader .spinner{width:56px;height:56px;border:4px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Scroll progress bar */
#scroll-progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--orange),var(--green));z-index:9998;width:0%;transition:width .1s linear}

/* Back to top */
#backToTop{position:fixed;bottom:26px;right:26px;width:46px;height:46px;border-radius:50%;background:var(--green-dark);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translateY(10px);transition:.3s;z-index:500;cursor:pointer;border:none;font-size:1.1rem}
#backToTop.show{opacity:1;visibility:visible;transform:translateY(0)}
#backToTop:hover{background:var(--green)}

/* Scroll reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.in-view{opacity:1;transform:translateY(0)}
.reveal.delay-1.in-view{transition-delay:.12s}
.reveal.delay-2.in-view{transition-delay:.24s}
.reveal.delay-3.in-view{transition-delay:.36s}

/* Tilt */
.tilt{transition:transform .25s ease}

/* Hero polish */
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 85% 20%,rgba(232,166,59,.16),transparent 55%),linear-gradient(120deg,var(--green-light) 50%,#fff 100%);padding:78px 0}
.hero::before{content:'';position:absolute;top:-80px;right:-80px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(181,52,42,.10),transparent 70%)}
.hero-text .badge-sale{box-shadow:0 6px 18px rgba(232,166,59,.35)}
.hero-text h1{font-size:3rem;letter-spacing:-.01em}
.btn{box-shadow:0 10px 24px rgba(138,38,32,.28);letter-spacing:.01em}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(138,38,32,.34)}

.hero-visual{position:relative;flex:1;min-width:280px}
.hero-card{background:#fff;border-radius:24px;box-shadow:0 24px 60px rgba(138,38,32,.16);padding:30px;position:relative;z-index:2}
.hero-card .hv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.hero-card .hv-item{text-align:center;padding:14px 6px;border-radius:14px;background:var(--green-light)}
.hero-card .hv-item span{display:block;font-size:2rem;margin-bottom:6px}
.hero-card .hv-item small{font-size:.72rem;color:var(--muted);font-weight:600}
.hero-badge-float{position:absolute;top:-18px;right:-18px;background:var(--orange);color:#fff;font-weight:800;padding:14px 18px;border-radius:16px;box-shadow:0 10px 24px rgba(232,166,59,.4);font-size:.85rem;text-align:center;line-height:1.2;z-index:3}

/* Counters */
.counters{background:linear-gradient(135deg,var(--green-dark),var(--green));padding:44px 0}
.counters .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
@media(max-width:800px){.counters .wrap{grid-template-columns:repeat(2,1fr)}}
.counter-item .num{font-family:'Playfair Display',serif;font-size:2.4rem;font-weight:800;color:#fff}
.counter-item small{color:#f5e2dd;font-size:.85rem;font-weight:600;letter-spacing:.02em}

/* DOP heritage banner */
.dop-banner{background:var(--ink);color:#fff;padding:60px 0;position:relative;overflow:hidden}
.dop-banner::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 15% 30%,rgba(181,52,42,.25),transparent 55%),radial-gradient(circle at 85% 75%,rgba(232,166,59,.18),transparent 50%)}
.dop-banner .wrap{position:relative;z-index:1}
.dop-head{text-align:center;max-width:640px;margin:0 auto 36px}
.dop-head h2{font-size:2rem;margin-bottom:10px;color:#fff}
.dop-head p{color:#cbb9b3}
.dop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:800px){.dop-grid{grid-template-columns:repeat(2,1fr)}}
.dop-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:24px 16px;text-align:center;backdrop-filter:blur(4px)}
.dop-card i{font-size:1.8rem;color:var(--orange);margin-bottom:10px;display:block}
.dop-card h4{font-size:.95rem;margin-bottom:6px;color:#fff}
.dop-card p{font-size:.78rem;color:#cbb9b3}

/* Testimonials carousel */
.testi-head{text-align:center;margin-bottom:30px}
.carousel{position:relative;max-width:760px;margin:0 auto;min-height:200px}
.carousel-track{position:relative}
.carousel-slide{display:none;text-align:center;padding:0 20px}
.carousel-slide.active{display:block;animation:fadeIn .5s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.carousel-slide .stars{color:var(--orange);margin-bottom:14px;font-size:1rem}
.carousel-slide p{font-size:1.15rem;font-style:italic;color:var(--ink);margin-bottom:16px;line-height:1.7}
.carousel-slide .author{font-weight:700;color:var(--green-dark)}
.carousel-slide .author small{display:block;font-weight:500;color:var(--muted);font-size:.8rem;margin-top:2px}
.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:24px}
.carousel-dots span{width:9px;height:9px;border-radius:50%;background:var(--line);cursor:pointer;transition:.2s}
.carousel-dots span.active{background:var(--green);width:22px;border-radius:5px}

/* Section eyebrow */
.eyebrow{display:inline-block;color:var(--orange);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;margin-bottom:8px}

/* Geo-restriction modal */
#geoModal{position:fixed;inset:0;background:rgba(20,10,8,.6);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(2px)}
.geo-modal-box{background:#fff;border-radius:20px;max-width:440px;width:100%;padding:36px 30px;text-align:center;box-shadow:0 30px 70px rgba(0,0,0,.3)}
.geo-modal-icon{width:64px;height:64px;border-radius:50%;background:var(--green-light);color:var(--green-dark);font-size:1.6rem;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.geo-modal-box h3{font-family:'Playfair Display',serif;color:var(--green-dark);font-size:1.35rem;margin-bottom:12px}
.geo-modal-box p{color:var(--muted);font-size:.92rem;line-height:1.6;margin-bottom:22px}
