:root{
  --brand-brown:#6F4E37;
  --brand-brown-dark:#4A3222;
  --brand-orange:#E8823D;
  --brand-orange-dark:#CE6A28;
  --cream:#FFF8F0;
  --cream-2:#FBEFE0;
  --ink:#2B2118;
  --ink-soft:#5C5044;
  --border:#EADFCF;
  --radius:16px;
  --shadow:0 10px 30px rgba(111,78,55,.12);
  --shadow-sm:0 4px 14px rgba(111,78,55,.08);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; font-family:'Inter',system-ui,-apple-system,sans-serif;
  color:var(--ink); background:var(--cream); line-height:1.65;
}
h1,h2,h3,h4{font-family:'Poppins',sans-serif; color:var(--brand-brown-dark); line-height:1.25; margin:0 0 .5em;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.container{max-width:1180px; margin:0 auto; padding:0 24px;}
.container.narrow{max-width:820px;}
.section{padding:64px 0; position:relative; z-index:1;}
.section-title{font-size:2rem; text-align:center; margin-bottom:.3em;}
.section-sub{text-align:center; color:var(--ink-soft); max-width:560px; margin:0 auto 40px;}

/* Buttons */
.btn{display:inline-flex; align-items:center; gap:8px; padding:13px 28px; border-radius:999px; font-weight:600; font-size:.95rem; transition:.2s; cursor:pointer; border:2px solid transparent;}
.btn-primary{background:var(--brand-orange); color:#fff; box-shadow:0 8px 20px rgba(232,130,61,.35);}
.btn-primary:hover{background:var(--brand-orange-dark); transform:translateY(-2px);}
.btn-outline{border-color:var(--brand-brown); color:var(--brand-brown);}
.btn-outline:hover{background:var(--brand-brown); color:#fff;}

/* Header */
.site-header{position:sticky; top:0; z-index:100; background:rgba(255,248,240,.94); backdrop-filter:blur(8px); border-bottom:1px solid var(--border);}
.header-inner{display:flex; align-items:center; justify-content:space-between; height:78px;}
.brand{display:flex; align-items:center; gap:12px;}
.brand-logo{height:46px; width:auto;}
.brand-mark{width:46px; height:46px; border-radius:12px; background:linear-gradient(135deg,var(--brand-orange),var(--brand-brown)); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Poppins',sans-serif; font-weight:800; font-size:1.4rem;}
.brand-text{display:flex; flex-direction:column; line-height:1.15;}
.brand-text strong{font-family:'Poppins',sans-serif; color:var(--brand-brown-dark); letter-spacing:1px; font-size:1.05rem;}
.brand-text small{color:var(--ink-soft); font-size:.72rem;}
.main-nav{display:flex; gap:28px;}
.main-nav a{font-weight:600; font-size:.94rem; color:var(--ink); position:relative; padding:6px 0;}
.main-nav a:hover{color:var(--brand-orange);}
.header-actions{display:flex; align-items:center; gap:16px;}
.btn-call-mini{display:flex; align-items:center; gap:8px; background:var(--brand-brown); color:#fff; padding:10px 18px; border-radius:999px; font-weight:600; font-size:.88rem;}
.btn-call-mini:hover{background:var(--brand-brown-dark);}
.hamburger{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px;}
.hamburger span{width:24px; height:2.5px; background:var(--brand-brown-dark); border-radius:2px;}

/* Flash messages */
.flash-wrap{margin-top:20px; display:flex; flex-direction:column; gap:10px;}
.flash{padding:14px 18px; border-radius:10px; font-weight:500;}
.flash-success{background:#E4F7E9; color:#1F7A3E;}
.flash-danger{background:#FCE8E8; color:#B23B3B;}
.flash-info{background:#E7F1FB; color:#265E9C;}
.flash-warning{background:#FEF3DC; color:#8A620C;}

/* Hero */
.hero{padding:70px 0 40px; overflow:hidden;}
.hero-inner{display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:center;}
.eyebrow{display:inline-block; background:var(--cream-2); color:var(--brand-orange-dark); padding:6px 16px; border-radius:999px; font-size:.78rem; font-weight:700; letter-spacing:.5px; margin-bottom:18px;}
.hero-text h1{font-size:2.7rem; margin-bottom:.4em;}
.hero-text h1 span{color:var(--brand-orange);}
.hero-text p{color:var(--ink-soft); font-size:1.08rem; max-width:520px;}
.hero-cta{display:flex; gap:16px; margin:28px 0; flex-wrap:wrap;}
.hero-badges{display:flex; gap:24px; flex-wrap:wrap; margin-top:20px;}
.badge-item{display:flex; flex-direction:column;}
.badge-item strong{color:var(--brand-brown-dark); font-family:'Poppins',sans-serif; font-size:1rem;}
.badge-item span{color:var(--ink-soft); font-size:.82rem;}
.hero-visual{position:relative; display:flex; justify-content:center;}
.hero-blob{position:absolute; width:340px; height:340px; background:radial-gradient(circle,var(--brand-orange) 0%, transparent 70%); opacity:.18; border-radius:50%; filter:blur(10px);}
.hero-cup{width:240px; height:auto; position:relative; filter:drop-shadow(0 20px 30px rgba(111,78,55,.25));}

/* Cards / grids */
.grid{display:grid; gap:26px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.card{background:#fff; border-radius:var(--radius); padding:26px; box-shadow:var(--shadow-sm); border:1px solid var(--border); transition:.25s; display:flex; flex-direction:column;}
.card:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
.card img{border-radius:12px; margin-bottom:16px; height:170px; width:100%; object-fit:cover;}
.card h3{font-size:1.15rem; margin-bottom:.35em;}
.card p{color:var(--ink-soft); font-size:.94rem; margin:0;}
.card-icon{font-size:2.4rem; margin-bottom:10px;}
.center-cta{text-align:center; margin-top:36px;}

/* About strip */
.about-strip{background:var(--cream-2);}
.about-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:50px; align-items:center;}
.check-list{list-style:none; padding:0; margin:20px 0 28px;}
.check-list li{padding:10px 0 10px 32px; position:relative; color:var(--ink-soft); border-bottom:1px dashed var(--border);}
.check-list li::before{content:"✓"; position:absolute; left:0; top:8px; width:22px; height:22px; background:var(--brand-orange); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.75rem;}
.stats-box{display:grid; gap:18px;}
.stat{background:#fff; border-radius:14px; padding:22px; box-shadow:var(--shadow-sm); text-align:center;}
.stat strong{display:block; font-family:'Poppins',sans-serif; color:var(--brand-orange-dark); font-size:1.3rem;}
.stat span{color:var(--ink-soft); font-size:.85rem;}

/* Video */
.video-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:26px;}
.video-embed{position:relative; padding-top:56.25%; border-radius:14px; overflow:hidden; box-shadow:var(--shadow-sm);}
.video-embed iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}

/* Gallery */
.gallery-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:16px;}
.gallery-item{border-radius:12px; overflow:hidden; box-shadow:var(--shadow-sm); aspect-ratio:1/1;}
.gallery-item img{width:100%; height:100%; object-fit:cover; transition:.3s;}
.gallery-item:hover img{transform:scale(1.08);}

/* Testimonials */
.testimonials-section{background:var(--cream-2);}
.stars{color:#F5A623; font-size:1.1rem; margin-bottom:10px;}
.testimonial-card p{font-style:italic; flex:1;}
.testimonial-author{display:flex; align-items:center; gap:12px; margin-top:16px;}
.testimonial-author img{width:44px; height:44px; border-radius:50%; object-fit:cover;}
.testimonial-author strong{display:block; font-size:.92rem;}
.testimonial-author span{color:var(--ink-soft); font-size:.8rem;}

/* Blog */
.blog-card .post-date{color:var(--ink-soft); font-size:.78rem; margin-top:10px;}
.tag-pill{display:inline-block; background:var(--cream-2); color:var(--brand-orange-dark); padding:2px 10px; border-radius:999px; font-size:.75rem; margin-left:4px;}
.post-meta{color:var(--ink-soft); font-size:.9rem;}
.detail-cover{width:100%; border-radius:var(--radius); margin-bottom:30px; max-height:420px; object-fit:cover;}
.rich-content{font-size:1.02rem; color:var(--ink);}
.rich-content h2,.rich-content h3{margin-top:1.4em;}
.rich-content img{border-radius:12px; margin:16px 0;}
.rich-content a{color:var(--brand-orange-dark); text-decoration:underline;}
.pagination{display:flex; gap:16px; justify-content:center; align-items:center; margin-top:40px; font-weight:600;}
.pagination a{color:var(--brand-orange-dark);}

/* Page hero */
.page-hero{background:linear-gradient(135deg,var(--brand-brown) 0%,var(--brand-brown-dark) 100%); color:#fff; padding:60px 0;}
.page-hero h1{color:#fff; margin-bottom:.2em;}
.page-hero p{color:#F1E3D3; margin:0;}

/* FAQ */
.accordion-item{background:#fff; border:1px solid var(--border); border-radius:12px; margin-bottom:12px; padding:6px 22px; box-shadow:var(--shadow-sm);}
.accordion-item summary{cursor:pointer; font-weight:600; padding:16px 0; font-family:'Poppins',sans-serif; color:var(--brand-brown-dark); list-style:none;}
.accordion-item summary::-webkit-details-marker{display:none;}
.accordion-item summary::after{content:"+"; float:right; font-size:1.3rem; color:var(--brand-orange);}
.accordion-item[open] summary::after{content:"−";}
.accordion-body{padding-bottom:18px; color:var(--ink-soft);}

/* Contact */
.contact-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:40px;}
.contact-info{display:grid; gap:16px; align-content:start;}
.info-card{background:#fff; border:1px solid var(--border); border-radius:14px; padding:20px 22px; box-shadow:var(--shadow-sm);}
.info-card h3{font-size:1rem; margin-bottom:.3em;}
.contact-map iframe{border-radius:var(--radius); box-shadow:var(--shadow-sm);}

/* Map CTA */
.map-cta{background:var(--cream-2); position:relative; z-index:1;}
.map-cta-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:stretch;}
.map-embed-box{background:#fff; border-radius:var(--radius); box-shadow:var(--shadow-sm); overflow:hidden; min-height:280px;}
.map-embed-box iframe{display:block; width:100%; height:100%; min-height:280px; border-radius:var(--radius);}

/* Footer */
.site-footer{background:var(--brand-brown-dark); color:#EFE3D6; padding-top:56px;}
.footer-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1.1fr; gap:32px; padding-bottom:40px;}
.footer-col h4{color:#fff; font-size:1rem; margin-bottom:14px;}
.footer-col a{display:block; color:#D9C7B3; margin-bottom:8px; font-size:.92rem;}
.footer-col a:hover{color:var(--brand-orange);}
.footer-col p{color:#D9C7B3; font-size:.9rem; margin:0 0 8px;}
.footer-legal{margin-top:14px; font-size:.8rem; opacity:.8;}
.footer-map iframe{border-radius:10px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1); padding:18px 0; text-align:center; font-size:.82rem; color:#C7B39D;}

/* Floating buttons */
.float-actions{position:fixed; bottom:26px; right:22px; display:flex; flex-direction:column; gap:14px; z-index:200;}
.float-btn{width:58px; height:58px; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 25px rgba(0,0,0,.25); position:relative; transition:.2s;}
.float-btn:hover{transform:scale(1.08);}
.float-whatsapp{background:#25D366;}
.float-call{background:var(--brand-orange);}
.float-tooltip{position:absolute; right:70px; background:var(--ink); color:#fff; padding:6px 12px; border-radius:8px; font-size:.8rem; white-space:nowrap; opacity:0; pointer-events:none; transition:.2s;}
.float-btn:hover .float-tooltip{opacity:1;}

/* Responsive */
@media (max-width:960px){
  .hero-inner,.about-grid,.contact-grid,.map-cta-grid{grid-template-columns:1fr;}
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .hero-visual{order:-1;}
}
@media (max-width:720px){
  .main-nav{position:fixed; top:78px; left:0; right:0; background:#fff; flex-direction:column; padding:20px 24px; gap:6px; box-shadow:var(--shadow); transform:translateY(-150%); opacity:0; transition:.25s; border-bottom:1px solid var(--border);}
  .main-nav.open{transform:translateY(0); opacity:1;}
  .main-nav a{padding:12px 0; border-bottom:1px solid var(--border);}
  .hamburger{display:flex;}
  .btn-call-mini span{display:none;}
  .grid-3{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .hero-text h1{font-size:2.1rem;}
  .float-actions{bottom:16px; right:14px;}
  .float-btn{width:52px; height:52px;}
}
