:root{
  --bg:hsl(36 33% 97%);--fg:hsl(20 10% 15%);--card:#fff;--muted:hsl(20 10% 40%);
  --border:hsl(30 20% 87%);--saffron:hsl(28 90% 52%);--saffron-dark:hsl(24 85% 42%);
  --gold:hsl(42 85% 55%);--gold-light:hsl(42 70% 75%);--cream:hsl(36 33% 97%);
  --secondary:hsl(36 60% 90%);--primary-fg:#fff;--radius:.75rem;
  --shadow-card:0 4px 20px -4px hsl(20 10% 15% / .1);
  --shadow-saffron:0 10px 30px -10px hsl(28 90% 52% / .4);
  --grad-saffron:linear-gradient(135deg,hsl(28 90% 52%),hsl(24 85% 42%));
  --grad-gold:linear-gradient(135deg,hsl(42 85% 55%),hsl(28 90% 52%));
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Poppins',sans-serif;background:var(--bg);color:var(--fg);line-height:1.6}
h1,h2,h3,h4,h5,h6{font-family:'Playfair Display',serif;line-height:1.2}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:1280px;margin:0 auto;padding:0 1rem}
.text-grad{background:var(--grad-saffron);-webkit-background-clip:text;background-clip:text;color:transparent}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:.75rem;font-weight:600;font-size:.9rem;transition:.2s;border:none;cursor:pointer}
.btn-saffron{background:var(--grad-saffron);color:#fff;box-shadow:var(--shadow-saffron)}
.btn-saffron:hover{opacity:.9}
.btn-wa{background:#25D366;color:#fff}
.btn-wa:hover{opacity:.9}
.btn-outline{background:#fff;color:var(--fg);border:1px solid var(--border)}
.btn-outline:hover{background:var(--secondary)}
/* Navbar */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);box-shadow:var(--shadow-card)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:4.5rem}
.nav-logo{font-family:'Playfair Display',serif;font-weight:700;font-size:1.4rem;background:var(--grad-saffron);-webkit-background-clip:text;background-clip:text;color:transparent}
.nav-links{display:flex;gap:.25rem;align-items:center}
.nav-links a{padding:.5rem 1rem;border-radius:.5rem;font-size:.9rem;font-weight:500;transition:.2s}
.nav-links a:hover{background:var(--secondary)}
.nav-links a.active{background:hsl(28 90% 52%);color:#fff}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;font-size:1.5rem;color:var(--fg)}
.mobile-menu{display:none;background:#fff;border-top:1px solid var(--border);padding:1rem 0}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500}
.mobile-menu a:hover{background:var(--secondary)}
@media(max-width:900px){.nav-links{display:none}.nav-toggle{display:block}}
main{padding-top:4.5rem;min-height:100vh}
/* Sections */
section{padding:4rem 0}
.banner img{width:100%;object-fit:cover}
.hero{position:relative;min-height:80vh;display:flex;align-items:center;color:#fff}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(20,15,10,.85),rgba(20,15,10,.4),transparent)}
.hero-content{position:relative;z-index:1;max-width:600px;padding:5rem 0}
.hero h1{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:1rem}
.hero .tag{color:var(--gold-light);font-weight:500;margin-bottom:.5rem}
.hero .loc{display:flex;align-items:center;gap:.5rem;font-size:.9rem;opacity:.85;margin-bottom:1rem}
.hero .phones{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;font-size:.9rem}
.hero .phones a{display:flex;align-items:center;gap:.4rem}
.hero-btns{display:flex;flex-wrap:wrap;gap:.75rem}
/* Grids */
.grid{display:grid;gap:1.5rem}
.g-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.g-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.g-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.section-title{text-align:center;font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:700;margin-bottom:1rem}
.section-sub{text-align:center;color:var(--muted);max-width:640px;margin:0 auto 3rem}
.bg-soft{background:hsl(36 60% 90% / .5)}
.card{background:#fff;border-radius:1rem;overflow:hidden;box-shadow:var(--shadow-card);transition:.3s}
.card:hover{transform:translateY(-4px);box-shadow:0 10px 30px -10px hsl(28 90% 52% / .25)}
.card img{width:100%;aspect-ratio:3/2;object-fit:cover}
.card-body{padding:1.25rem}
.card-body h3{font-size:1.15rem;margin-bottom:.5rem}
.card-body p{font-size:.9rem;color:var(--muted);margin-bottom:1rem}
.card-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.card-actions .btn{padding:.5rem 1rem;font-size:.85rem;border-radius:.5rem}
/* Why */
.feature{background:#fff;padding:1.75rem;border-radius:1rem;text-align:center;box-shadow:var(--shadow-card);transition:.3s}
.feature:hover{transform:translateY(-4px)}
.feature .icon{width:3.5rem;height:3.5rem;border-radius:.75rem;background:var(--grad-saffron);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:1.5rem}
.feature h3{font-size:1.1rem;margin-bottom:.5rem}
.feature p{font-size:.9rem;color:var(--muted)}
/* Two col */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
@media(max-width:800px){.two-col{grid-template-columns:1fr}}
.two-col img{border-radius:1rem;box-shadow:var(--shadow-card);width:100%}
.two-col h2{font-size:clamp(1.6rem,3vw,2.25rem);margin-bottom:1rem}
.two-col p{color:var(--muted);margin-bottom:1rem}
/* CTA */
.cta{background:var(--grad-saffron);color:#fff;text-align:center;padding:3rem 0}
.cta h2{font-size:clamp(1.75rem,3vw,2.25rem);margin-bottom:1rem}
.cta p{margin-bottom:1.5rem;opacity:.95}
.cta-btns{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}
.cta-btns .btn{background:#fff;color:var(--fg);padding:1rem 1.75rem;font-size:1rem;font-weight:700}
.cta-btns .btn-wa-cta{background:#25D366;color:#fff}
/* Carousel */
.carousel{position:relative;border-radius:1rem;overflow:hidden}
.carousel-slides{position:relative;aspect-ratio:4/3}
.carousel-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s}
.carousel-slides img.active{opacity:1}
.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.85);border:none;width:2.25rem;height:2.25rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--fg)}
.carousel-btn.prev{left:.5rem}
.carousel-btn.next{right:.5rem}
.carousel-dots{position:absolute;bottom:.75rem;left:50%;transform:translateX(-50%);display:flex;gap:.4rem}
.carousel-dots button{width:.5rem;height:.5rem;border-radius:50%;border:none;background:rgba(255,255,255,.5);cursor:pointer}
.carousel-dots button.active{background:hsl(28 90% 52%)}
/* Gallery grid */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:3rem}
.gallery-grid img{aspect-ratio:4/3;object-fit:cover;border-radius:1rem;box-shadow:var(--shadow-card);transition:.3s}
.gallery-grid img:hover{transform:translateY(-4px)}
/* Form */
.form-card{background:#fff;border-radius:1rem;padding:2rem;box-shadow:var(--shadow-card)}
.form-card h2{margin-bottom:1.5rem;font-size:1.25rem}
.form-group{margin-bottom:1rem}
.form-group label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.35rem}
.form-group input,.form-group textarea{width:100%;padding:.65rem 1rem;border:1px solid var(--border);border-radius:.5rem;font-size:.9rem;font-family:inherit;background:var(--bg);color:var(--fg)}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:hsl(28 90% 52%);box-shadow:0 0 0 3px hsl(28 90% 52% / .15)}
.form-card button[type=submit]{width:100%;padding:.85rem;justify-content:center;font-size:1rem}
/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}
.contact-info{background:#fff;border-radius:1rem;padding:2rem;box-shadow:var(--shadow-card);margin-bottom:1.5rem}
.contact-info h2{margin-bottom:1.5rem;font-size:1.25rem}
.info-row{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}
.info-row .ico{color:hsl(28 90% 52%);font-size:1.1rem;margin-top:.15rem}
.info-row strong{display:block;margin-bottom:.15rem}
.info-row a,.info-row p{font-size:.9rem;color:var(--muted);display:block}
.info-row a:hover{color:hsl(28 90% 52%)}
.map iframe{width:100%;height:300px;border:0;border-radius:1rem}
/* Footer */
footer{background:var(--fg);color:var(--cream);margin-top:auto}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;padding:3rem 0}
.foot-grid h3,.foot-grid h4{color:var(--gold);margin-bottom:1rem;font-size:1.1rem}
.foot-grid p,.foot-grid a{font-size:.9rem;opacity:.8;display:block;margin-bottom:.5rem}
.foot-grid a:hover{color:var(--gold)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1rem 0;text-align:center;font-size:.8rem;opacity:.6}
/* WhatsApp float */
.wa-float{position:fixed;bottom:1.5rem;right:1.5rem;width:3.5rem;height:3.5rem;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.75rem;box-shadow:0 8px 20px rgba(37,211,102,.4);z-index:40;transition:.2s}
.wa-float:hover{transform:scale(1.1)}
/* Page header */
.page-head{padding:4rem 0 2rem;text-align:center}
.page-head h1{font-size:clamp(2rem,4vw,3.25rem);margin-bottom:.5rem}
.page-head p{color:var(--muted);max-width:640px;margin:0 auto}
/* About list */
.about-list p{margin-bottom:1rem}
.about-list strong{color:var(--fg)}
.badge{display:inline-flex;align-items:center;gap:.4rem;background:var(--grad-saffron);color:#fff;padding:.4rem 1rem;border-radius:9999px;font-size:.85rem;font-weight:600;margin-bottom:1rem}
