:root{
  --green-950:#071b14;
  --green-900:#0b2c20;
  --green-800:#0d4b34;
  --green-700:#116342;
  --green-500:#2d8b57;
  --green-200:#b9d8c4;
  --cream:#f4efe2;
  --paper:#fbf8f0;
  --ink:#132019;
  --gold:#c9a55a;
  --line:rgba(19,32,25,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Libre Franklin",Arial,sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.site-header{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(20px,4vw,64px);transition:.3s;background:linear-gradient(to bottom,rgba(3,15,10,.7),transparent)}
.site-header.scrolled{background:rgba(7,27,20,.96);backdrop-filter:blur(10px);padding-top:10px;padding-bottom:10px;box-shadow:0 8px 30px rgba(0,0,0,.14)}
.brand img{width:138px;height:56px;object-fit:contain;object-position:left center}
.main-nav{display:flex;align-items:center;gap:28px;color:white;font-size:.95rem;font-weight:700}
.main-nav a{opacity:.88}.main-nav a:hover{opacity:1}
.nav-cta{border:1px solid rgba(255,255,255,.7);padding:9px 15px;border-radius:999px}
.menu-toggle{display:none;background:transparent;color:white;border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:8px 14px;font:inherit}
.hero{min-height:100svh;position:relative;display:grid;place-items:center;background:url('assets/live-2.jpg') center 35%/cover no-repeat;color:white;overflow:hidden}
.hero:after{content:"";position:absolute;inset:auto -10% -120px;height:220px;background:var(--paper);transform:rotate(-3deg);transform-origin:center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,19,13,.86) 0%,rgba(4,19,13,.68) 44%,rgba(4,19,13,.32) 100%),linear-gradient(to top,rgba(4,19,13,.5),transparent 45%)}
.hero-inner{position:relative;z-index:2;width:min(1140px,calc(100% - 40px));padding-top:70px}
.hero-logo{width:min(420px,70vw);margin-bottom:18px}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;font-weight:800;color:#dbeade;margin:0 0 20px}
.hero h1,.section h2,.cta-card h2{font-family:"Uncial Antiqua",Georgia,serif;font-weight:400;line-height:1.12}
.hero h1{font-size:clamp(2.3rem,5vw,5rem);max-width:900px;margin:0 0 22px}
.hero-copy{font-size:clamp(1rem,1.7vw,1.28rem);max-width:720px;color:#eef5f0;margin-bottom:32px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;font-weight:800;transition:.2s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--cream);color:var(--green-950)}
.btn-ghost{border:1px solid rgba(255,255,255,.7);color:white;background:rgba(255,255,255,.06)}
.scroll-cue{position:absolute;z-index:3;bottom:56px;right:clamp(24px,5vw,72px);font-size:2rem;color:white;animation:bounce 1.8s infinite}
@keyframes bounce{50%{transform:translateY(8px)}}
.section{width:min(1160px,calc(100% - 40px));margin:auto;padding:110px 0}
.section-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:800;color:var(--green-700);margin-bottom:22px}
.split{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(40px,8vw,100px)}
.split h2,.section-heading-row h2{font-size:clamp(2.2rem,4vw,4.1rem);margin:0;color:var(--green-900)}
.lead-copy{font-size:1.08rem}.lead-copy p:first-child{margin-top:4px}
.band-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-top:70px;border:1px solid var(--line)}
.band-grid article{background:var(--paper);padding:28px 24px;min-height:145px}
.band-grid span{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--green-700);font-weight:800}
.band-grid h3{font-size:1.25rem;margin:14px 0 0}
.photo-strip{display:grid;grid-template-columns:1.08fr .92fr 1.08fr;gap:10px;background:var(--green-950);padding:10px}
.photo-strip figure{margin:0;height:420px;overflow:hidden}.photo-strip img{width:100%;height:100%;object-fit:cover}.photo-strip figure:nth-child(2) img{object-position:center 28%}
.occasions{padding-top:120px}.split-top{align-items:start}.small-note{max-width:460px;color:#526359;margin-top:24px}
.occasion-list{border-top:1px solid var(--line)}
.occasion-list article{display:grid;grid-template-columns:55px 1fr;gap:20px;padding:26px 0;border-bottom:1px solid var(--line)}
.number{font-family:"Uncial Antiqua",serif;color:var(--green-700);font-size:1.05rem}.occasion-list h3{margin:0 0 5px;font-size:1.22rem}.occasion-list p{margin:0;color:#536359}
.feature-photo{position:relative;height:min(72vw,760px);min-height:500px;overflow:hidden;background:var(--green-950)}
.feature-photo img{width:100%;height:100%;object-fit:cover;object-position:center 36%;filter:saturate(.86) contrast(1.02)}
.feature-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,27,20,.65),transparent 58%)}
.feature-quote{position:absolute;z-index:2;left:clamp(20px,6vw,90px);bottom:60px;max-width:780px;color:white;font-family:"Uncial Antiqua",serif;font-size:clamp(1.8rem,4vw,4rem);line-height:1.15}
.video-section{padding-bottom:130px}.section-heading-row{display:grid;grid-template-columns:1fr .65fr;align-items:end;gap:40px;margin-bottom:48px}.section-heading-row p{margin:0 0 10px;color:#536359}
.video-grid{display:grid;grid-template-columns:.7fr .7fr 1.4fr;gap:16px;align-items:stretch}.video-card{background:var(--green-950);border-radius:18px;overflow:hidden;box-shadow:0 20px 50px rgba(8,35,24,.12)}.video-card iframe{border:0;width:100%;height:100%;display:block}.video-card.portrait{aspect-ratio:9/16}.video-card.landscape{aspect-ratio:16/10;align-self:center}
.cta-section{background:var(--green-900);padding:90px 20px;color:white;position:relative;overflow:hidden}.cta-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 90% 20%,rgba(201,165,90,.16),transparent 33%),radial-gradient(circle at 10% 100%,rgba(45,139,87,.3),transparent 35%)}
.cta-card{position:relative;width:min(1080px,100%);margin:auto}.cta-card h2{font-size:clamp(2.3rem,4.8vw,4.5rem);max-width:900px;margin:0 0 20px}.cta-card>div:first-child>p:last-child{max-width:760px;color:#d6e4db;font-size:1.05rem}.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin:34px 0}.btn-light{background:white;color:var(--green-950)}.btn-whatsapp{background:#2b7f55;color:white;border:1px solid rgba(255,255,255,.35)}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.2);margin-top:50px}.contact-grid a{padding:22px;background:rgba(7,27,20,.28)}.contact-grid strong,.contact-grid span{display:block}.contact-grid span{color:#d7e8dc;margin-top:5px;font-size:.92rem}
footer{background:#04110c;color:#d9e7de;text-align:center;padding:46px 20px}footer img{width:140px;margin:0 auto 24px}.socials{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;font-weight:700;font-size:.92rem}footer p{font-size:.8rem;color:#849a8d;margin:24px 0 0}
@media(max-width:900px){
  .main-nav{position:absolute;top:72px;right:18px;left:18px;display:none;flex-direction:column;align-items:stretch;background:var(--green-950);padding:18px;border-radius:16px;box-shadow:0 20px 40px rgba(0,0,0,.25)}
  .main-nav.open{display:flex}.menu-toggle{display:block}.brand img{width:116px;height:46px}
  .split,.section-heading-row{grid-template-columns:1fr}.band-grid{grid-template-columns:1fr 1fr}.photo-strip{grid-template-columns:1fr 1fr}.photo-strip figure{height:340px}.photo-strip figure:last-child{grid-column:1/-1;height:420px}
  .video-grid{grid-template-columns:1fr 1fr}.video-card.landscape{grid-column:1/-1}.contact-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .section{width:min(100% - 30px,1160px);padding:82px 0}.hero{background-position:58% center}.hero-inner{width:calc(100% - 30px);padding-top:90px}.hero-logo{width:280px}.hero h1{font-size:2.55rem}.scroll-cue{display:none}
  .band-grid{grid-template-columns:1fr}.band-grid article{min-height:0}.photo-strip{grid-template-columns:1fr;padding:6px}.photo-strip figure,.photo-strip figure:last-child{grid-column:auto;height:300px}.feature-photo{height:560px}.feature-photo img{object-position:48% center}.video-grid{grid-template-columns:1fr}.video-card.landscape{grid-column:auto;aspect-ratio:16/9}.video-card.portrait{aspect-ratio:9/14}.contact-actions .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.site-header{transition:none}.scroll-cue{animation:none}}

/* Fix CTA visibility over the angled hero edge */
.hero .btn-ghost{
  background:rgba(7,27,20,.78);
  border-color:rgba(255,255,255,.92);
  color:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.16);
}
.hero .btn-ghost:hover{background:var(--green-800)}
