:root{
  --navy:#0E1A3A;--navy-2:#18295A;--gold:#F2B33D;--red:#C8202F;--paper:#F7F3EC;--ink:#151B2C;
  --soft:#555C6E;--on-dark:#F4EFE4;--on-dark-soft:#B5BACB;
  --gut:clamp(16px,5vw,72px);--max:1240px;
  --edge:max(var(--gut),calc((100% - var(--max))/2 + var(--gut)));
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 "Public Sans",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:"Zilla Slab",Georgia,serif;font-weight:700;line-height:1.05;letter-spacing:-.01em;text-wrap:balance}
h2{font-size:clamp(2rem,4.4vw,3.25rem)}
h3{font-size:1.6rem}
.sprite{position:absolute}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

/* brand */
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--on-dark)}
.mark{width:52px;height:30px;color:var(--gold);flex:none}
.brand span{font:700 1.4rem/1 "Zilla Slab",serif}
.brand small{display:block;font:500 .7rem/1 "Public Sans",sans-serif;letter-spacing:.08em;color:var(--gold);margin-bottom:4px}

/* header */
.top{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;gap:32px;padding:14px var(--edge);background:linear-gradient(rgb(14 26 58/.92),rgb(14 26 58/.78));backdrop-filter:blur(8px);color:var(--on-dark)}
.top nav{display:flex;gap:28px;margin-left:auto}
.top nav a{text-decoration:none;font-size:.95rem;color:var(--on-dark-soft)}
.top nav a:hover{color:var(--on-dark)}

/* buttons */
.btn{display:inline-flex;align-items:center;background:var(--gold);color:var(--navy);padding:14px 24px;border-radius:4px;font-weight:600;text-decoration:none;transition:background .15s}
.btn:hover{background:#FFC65C}
.btn-sm{padding:9px 16px;font-size:.92rem}
.btn-line{background:transparent;color:var(--on-dark);box-shadow:inset 0 0 0 1.5px rgb(244 239 228/.6)}
.btn-line:hover{background:rgb(244 239 228/.12)}
.btn-ghost{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--navy)}
.btn-ghost:hover{background:var(--navy);color:var(--on-dark)}
.actions{display:flex;flex-wrap:wrap;gap:12px}

/* hero */
.hero{position:relative;min-height:100svh;display:grid;align-items:end;padding:140px var(--edge) clamp(56px,9vh,104px);color:var(--on-dark);overflow:hidden;background:var(--navy) url(images/hero-poster.webp) center/cover}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgb(8 12 26/.92) 0,rgb(8 12 26/.6) 40%,transparent 70%),linear-gradient(0deg,rgb(8 12 26/.8),transparent 40%)}
.hero-in{position:relative;z-index:1}
.since{color:var(--gold);font-weight:500;margin-bottom:18px}
h1{font-size:clamp(2.9rem,7vw,6rem);max-width:11ch;margin-bottom:24px}
.lead{font-size:1.2rem;color:var(--on-dark-soft);max-width:46ch;margin-bottom:34px}

/* a casa */
.casa{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,112px);align-items:center;max-width:var(--max);margin:auto;padding:clamp(80px,12vw,152px) var(--gut)}
.casa-photos{position:relative;padding:0 12% 18% 0}
.casa-photos img{border-radius:4px;object-fit:cover}
.casa-photos img:first-child{aspect-ratio:4/5;width:100%}
.casa-photos img:last-child{position:absolute;right:0;bottom:0;width:58%;aspect-ratio:1;border:8px solid var(--paper)}
.casa-text .years{font:500 1.05rem "Public Sans",sans-serif;color:var(--red);margin-bottom:12px;display:flex;align-items:baseline;gap:10px}
.years b{font:700 3.5rem/1 "Zilla Slab",serif}
.casa-text h2{margin-bottom:22px;max-width:16ch}
.casa-text>p{color:var(--soft);max-width:52ch}
blockquote{margin-top:36px;padding-left:22px;border-left:4px solid var(--gold)}
blockquote p{font:italic 500 1.9rem/1.2 "Zilla Slab",serif;color:var(--navy)}
blockquote footer{margin-top:6px;color:var(--soft);font-size:.95rem}

/* na mesa */
.mesa{background:var(--navy);color:var(--on-dark);padding:clamp(80px,11vw,140px) var(--gut)}
.mesa-head,.mesa-grid{max-width:var(--max);margin:auto}
.mesa-head{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:end;margin-bottom:56px}
.mesa-head p{color:var(--on-dark-soft);max-width:42ch}
.mesa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.5vw,32px)}
.mesa-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px 4px 4px;margin-bottom:22px}
.mesa-grid h3{margin-bottom:8px;color:var(--gold)}
.mesa-grid p{color:var(--on-dark-soft)}

/* faixa com foto */
.band{position:relative;display:grid;place-items:center;min-height:clamp(320px,52vw,560px);overflow:hidden;background:var(--navy)}
.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62}
.band p{position:relative;font:italic 500 clamp(2.2rem,6vw,4.75rem)/1.05 "Zilla Slab",serif;color:var(--on-dark);text-align:center;padding:0 var(--gut);text-shadow:0 2px 24px rgb(0 0 0/.5)}

/* eventos */
.eventos{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,112px);align-items:center;max-width:var(--max);margin:auto;padding:clamp(80px,12vw,152px) var(--gut)}
.eventos img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px}
.eventos h2{margin-bottom:20px;max-width:14ch}
.eventos-text>p{color:var(--soft);max-width:48ch}
.eventos ul{list-style:none;margin:28px 0 34px;border-top:1px solid #D9D2C4}
.eventos li{padding:14px 0 14px 34px;border-bottom:1px solid #D9D2C4;position:relative;font-weight:500}
.eventos li::before{content:"";position:absolute;left:0;top:50%;width:18px;height:3px;background:var(--red)}

/* instagram */
.insta{max-width:var(--max);margin:auto;padding:0 var(--gut) clamp(80px,12vw,152px)}
.insta-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;margin-bottom:28px}
.insta-head h2{font-size:clamp(1.6rem,3vw,2.25rem)}
.insta-head a{font-weight:600;color:var(--red)}
.insta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.insta-grid a{overflow:hidden;border-radius:4px}
.insta-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .4s}
.insta-grid a:hover img{transform:scale(1.04)}

/* onde */
.onde{display:grid;grid-template-columns:1.4fr 1fr;background:var(--navy);color:var(--on-dark)}
.onde iframe{width:100%;height:100%;min-height:460px;border:0;display:block}
.onde-info{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:28px;padding:clamp(48px,6vw,96px) var(--gut)}
.onde dl{display:grid;gap:16px}
.onde dt{font-size:.85rem;color:var(--gold);font-weight:600}
.onde dd{color:var(--on-dark);max-width:32ch}
.onde dd a{text-decoration:none}

/* footer */
.foot{display:grid;gap:8px;justify-items:start;padding:56px var(--edge);background:#0A1330;color:var(--on-dark-soft)}
.foot .brand{margin-bottom:12px}
.foot small{margin-top:14px}

.mobile-bar{display:none}

@media(max-width:900px){
  .top nav{display:none}.top .btn{margin-left:auto}
  .casa,.eventos{grid-template-columns:1fr}
  .mesa-head{grid-template-columns:1fr}
  .mesa-grid{grid-template-columns:1fr;gap:48px}
  .mesa-grid img{aspect-ratio:4/3;border-radius:200px 200px 4px 4px}
  .onde{grid-template-columns:1fr}.onde iframe{min-height:320px}
  .insta-grid{grid-template-columns:repeat(2,1fr)}
  .hero::after{background:linear-gradient(0deg,rgb(14 26 58/.97) 0,rgb(14 26 58/.75) 55%,rgb(14 26 58/.3))}
}
@media(max-width:600px){
  .top .btn{display:none}
  .mobile-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;inset:auto 0 0;z-index:20;background:var(--navy);border-top:1px solid var(--navy-2)}
  .mobile-bar a{padding:16px;text-align:center;font-weight:600;color:var(--on-dark);text-decoration:none}
  .mobile-bar .go{background:var(--gold);color:var(--navy)}
  .hero,.foot{padding-bottom:96px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-video{display:none}.insta-grid img{transition:none}}
