@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--green:#1f3327;--green2:#314b39;--cream:#f5f1e8;--gold:#b68b4b;--text:#273128;--muted:#6e776f}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:78px}body{font-family:"DM Sans",sans-serif;color:var(--text);background:#fff}a{text-decoration:none;color:inherit}
.topo{height:78px;position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:rgba(18,29,22,.9);backdrop-filter:blur(12px);color:#fff}.logo{font:600 25px "Playfair Display",serif}.logo span{font-style:italic;color:#d4b278}.nav{display:flex;gap:28px;font-size:14px}.nav a{opacity:.9}.nav a:hover{color:#e0bf83}.menu-btn{display:none;background:none;border:0;color:white;font-size:28px;cursor:pointer;padding:8px;border-radius:6px}.menu-btn:focus-visible,.nav a:focus-visible,.btn:focus-visible{outline:3px solid #e0bd7e;outline-offset:4px}
.hero{height:100vh;min-height:680px;position:relative;color:#fff;display:flex;align-items:center;padding:100px 7% 0;overflow:hidden}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,22,14,.78),rgba(10,22,14,.2)),url("05-vista-aerea.webp") center/cover;transform:scale(1.02)}.hero-content{position:relative;z-index:2;max-width:760px}.eyebrow{font-size:12px;letter-spacing:3px;font-weight:700;color:#e0bd7e}.hero h1{font:600 clamp(48px,7vw,90px)/1.02 "Playfair Display",serif;margin:18px 0}.hero h1 em{color:#e0bd7e}.hero-text{font-size:20px;max-width:540px;line-height:1.6;color:#f1eee6}.hero-buttons{display:flex;gap:14px;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;border-radius:5px;font-weight:700;font-size:14px;transition:.25s}.btn-primary{background:#b78b4b;color:white}.btn-primary:hover{background:#9c733b;transform:translateY(-2px)}.btn-light{background:#fff;color:#243328}.btn-dark{background:var(--green);color:#fff}.hero-bottom{position:absolute;z-index:3;bottom:0;left:7%;right:7%;display:flex;gap:0;border-top:1px solid rgba(255,255,255,.25);padding:20px 0}.hero-bottom div{padding:0 40px;border-right:1px solid rgba(255,255,255,.2)}.hero-bottom div:last-child{border-right:0}.hero-bottom div:first-child{padding-left:0}.hero-bottom strong,.hero-bottom span{display:block}.hero-bottom strong{font:600 27px "Playfair Display",serif}.hero-bottom span{font-size:12px;opacity:.8;margin-top:3px}
.section{padding:105px 7%}.intro{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center;background:var(--cream)}.intro-image img{width:100%;height:560px;object-fit:cover;border-radius:4px}.eyebrow.dark{color:var(--gold)}h2{font:600 clamp(38px,4vw,58px)/1.08 "Playfair Display",serif;margin:14px 0 25px}.intro-text p{font-size:17px;line-height:1.8;color:var(--muted);margin-bottom:14px}.text-link{display:inline-block;margin-top:20px;font-weight:700;color:var(--green);border-bottom:1px solid var(--gold);padding-bottom:5px}
.numbers{background:var(--green);color:#fff;display:grid;grid-template-columns:repeat(4,1fr);padding:55px 7%;text-align:center}.numbers div{border-right:1px solid rgba(255,255,255,.15);min-height:72px;display:flex;flex-direction:column;justify-content:center}.numbers div:last-child{border:0}.numbers strong{display:block;font:600 43px "Playfair Display",serif;color:#dfbd80}.numbers span{font-size:13px;opacity:.75}
.section-title{text-align:center;max-width:700px;margin:0 auto 50px}.section-title>p:last-child{color:var(--muted);line-height:1.6}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:#f7f6f1;padding:32px 25px;min-height:210px;border:1px solid #e9e5dc;border-radius:5px;transition:.25s}.card:hover{transform:translateY(-5px);box-shadow:0 15px 35px rgba(30,45,34,.08)}.icon{font-size:32px;margin-bottom:18px}.card h3{font:600 22px "Playfair Display",serif;margin-bottom:9px}.card p,.event p{font-size:14px;line-height:1.6;color:var(--muted)}
.feature-photo{height:600px;position:relative;overflow:hidden}.feature-photo img{width:100%;height:100%;object-fit:cover}.feature-overlay{position:absolute;inset:auto 7% 70px;max-width:650px;color:#fff;text-shadow:0 2px 20px #000}.feature-overlay h2{font-size:62px}
.event-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.event{background:#fff;border:1px solid #e8e5dd;padding-bottom:25px}.event img{width:100%;height:260px;object-fit:cover}.event h3{font:600 25px "Playfair Display",serif;margin:20px 20px 8px}.event p{margin:0 20px}
.gallery{background:var(--cream)}.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:250px 250px;gap:14px}.gallery-grid img{width:100%;height:100%;object-fit:cover;cursor:pointer;transition:.3s}.gallery-grid img:first-child{grid-row:span 2}.gallery-grid img:hover{filter:brightness(.85);transform:scale(.99)}.center{text-align:center;margin-top:35px}
.cta{padding:80px 7%;background:#17261d;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{max-width:700px}.cta>div>p:last-child{color:#bdc5be;line-height:1.6}
footer{background:#101912;color:#b8c0b9;padding:50px 7% 25px;display:grid;grid-template-columns:1fr 1fr;gap:35px}.footer-links{display:flex;justify-content:flex-end;gap:25px;font-size:14px}.copy{grid-column:1/-1;border-top:1px solid #27342c;padding-top:20px;font-size:12px;color:#727d74}
.modal[aria-hidden="true"]{pointer-events:none}.modal{position:fixed;inset:0;background:rgba(5,10,7,.94);z-index:100;display:none;align-items:center;justify-content:center;padding:25px}.modal.show{display:flex}.modal img{max-width:92vw;max-height:88vh;object-fit:contain}.modal button{position:absolute;right:25px;top:15px;background:none;border:0;color:#fff;font-size:48px;cursor:pointer}
@media(max-width:900px){.nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--green);padding:25px;flex-direction:column;gap:18px}.nav.open{display:flex}.menu-btn{display:block}.intro{grid-template-columns:1fr;gap:40px}.intro-image img{height:420px}.cards,.event-grid{grid-template-columns:repeat(2,1fr)}.feature-overlay h2{font-size:48px}}
@media(max-width:600px){.topo{padding:0 20px}.logo{font-size:22px}.hero{min-height:720px;padding:110px 22px 0}.hero h1{font-size:51px}.hero-text{font-size:17px}.hero-bottom{left:22px;right:22px}.hero-bottom div{padding:0 15px;flex:1}.hero-bottom strong{font-size:21px}.hero-bottom span{font-size:10px}.section{padding:70px 20px}.intro-image img{height:300px}.numbers{grid-template-columns:repeat(2,1fr);gap:25px;padding:40px 20px}.numbers div{border:0}.cards,.event-grid{grid-template-columns:1fr}.feature-photo{height:480px}.feature-overlay{left:20px;right:20px;bottom:45px}.feature-overlay h2{font-size:42px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:180px 180px 180px}.gallery-grid img:first-child{grid-row:span 1}.gallery-grid img:nth-child(3){grid-column:span 2}.cta{padding:60px 20px;display:block}.cta .btn{margin-top:25px}.footer-links{justify-content:flex-start;flex-wrap:wrap}footer{grid-template-columns:1fr;padding:40px 20px}.copy{grid-column:auto}}

.booking{background:#fff}
.booking-form{max-width:850px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:18px;background:var(--cream);padding:35px;border-radius:8px;border:1px solid #e5dfd2}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
.field label{font-size:13px;font-weight:700;color:var(--green)}
.field input,.field select,.field textarea{font:inherit;border:1px solid #d8d2c7;border-radius:5px;padding:13px 14px;background:#fff;color:var(--text);outline:none}
.field textarea{resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(182,139,75,.12)}
.booking-form .btn{border:0;cursor:pointer}

@media(max-width:600px){.booking-form{grid-template-columns:1fr;padding:22px}.field.full{grid-column:auto}}

.location{background:var(--cream)}
.location-box{max-width:1050px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:stretch}
.location-info{background:#fff;border:1px solid #e8e3d8;border-radius:8px;padding:38px;display:flex;gap:22px;align-items:flex-start}
.location-icon{font-size:36px;line-height:1}
.location-info h3{font:600 27px "Playfair Display",serif;margin:0 0 10px}
.location-info p{color:var(--muted);line-height:1.6;margin:5px 0}.location-info .plus-code{font-size:13px}.map-placeholder{cursor:pointer;transition:.25s}.map-placeholder:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(30,45,34,.10)}.map-placeholder:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.location-info .btn{display:inline-flex;margin-top:20px}
.map-placeholder{position:relative;min-height:250px;border-radius:8px;background:linear-gradient(135deg,#dfe7df,#b8c9bb);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--green);overflow:hidden;border:1px solid #d0d9d0}
.map-placeholder span{font-size:44px}.map-placeholder strong{font:600 27px "Playfair Display",serif;margin-top:8px}.map-placeholder small{margin-top:6px;color:#536358}
@media(max-width:900px){.location-box{grid-template-columns:1fr}}
@media(max-width:600px){.location-info{padding:25px;flex-direction:column}.map-placeholder{min-height:220px}}


/* Ajustes finais de usabilidade e responsividade */
.btn{min-height:48px}
img{max-width:100%}
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:80;background:#1f9d55;color:#fff;padding:13px 18px;border-radius:999px;font-weight:800;font-size:14px;box-shadow:0 10px 28px rgba(0,0,0,.22);transition:.2s}
.whatsapp-float:hover{transform:translateY(-2px);filter:brightness(.95)}
@media(max-width:600px){
  .topo{height:68px}.nav{top:68px}
  html{scroll-padding-top:72px}
  .hero{height:auto;min-height:760px;padding-top:120px;padding-bottom:145px}
  .hero h1{font-size:clamp(43px,12vw,58px)}
  .hero-buttons{flex-direction:column;align-items:stretch}
  .hero-buttons .btn{width:100%}
  .hero-bottom{bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:18px 0}
  .hero-bottom div{padding:0!important;border:0!important}
  .numbers{gap:12px;padding:34px 20px}.numbers div{min-height:70px}
  .location-info .btn{width:100%;text-align:center}
  .map-placeholder{min-height:200px}
  .booking-form .btn{width:100%}
  .whatsapp-float{right:14px;bottom:14px;padding:12px 15px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
