:root{--dark:#121015;--cream:#f8f3eb;--gold:#e6c47e;--ink:#261c28;--purple:#24182e;--serif:Georgia,serif;--body:Arial,sans-serif}*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--dark);color:var(--cream);font:16px/1.55 var(--body)}img,video{display:block;max-width:100%}a{color:inherit}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #b87535;outline-offset:4px}
.skip{position:absolute;left:12px;top:-100px;background:var(--cream);color:var(--ink);padding:8px;z-index:3}
.skip:focus{top:12px}
.wrap{width:min(1200px,90%);margin:auto}header{border-bottom:1px solid #ffffff20}
.nav,footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:82px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:24px var(--serif);white-space:nowrap}
.brand img{border-radius:50%;border:1px solid #e6c47e55}
.brand small{display:block;margin-top:4px;letter-spacing:.19em;color:var(--gold);font:9px var(--body);letter-spacing:.17em}nav{display:flex;gap:clamp(12px,3vw,34px)}nav a,footer a{text-decoration:none;font-size:.9rem}nav a:hover,footer a:hover{text-decoration:underline}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 22px;border-radius:3px;background:var(--gold);color:#24191b;text-decoration:none;font-weight:bold;font-size:.9rem}
.btn:hover{background:#f5dca5}
.compact{min-height:42px;padding:8px 15px}
.hero{background:radial-gradient(ellipse at 70% 80%,#2c2036 0%,var(--dark) 63%);padding:52px 0}
.hero-grid{display:grid;grid-template-columns:1fr .86fr;gap:7%;align-items:center}
.eyebrow{font-size:.73rem;letter-spacing:.17em;font-weight:bold;color:var(--gold);margin:0 0 18px}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04;margin:0}h1{font-size:clamp(3rem,6.8vw,6.25rem);letter-spacing:-.06em}h2{font-size:clamp(2.4rem,5.6vw,4.8rem);letter-spacing:-.05em}h3{font-size:clamp(1.65rem,2.6vw,2.4rem)}em{color:var(--gold);font-weight:400}
.lede{color:#e3d7de;font-size:1.08rem;max-width:43ch;margin:22px 0 26px}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px}
.secondary{display:inline-block;text-underline-offset:5px;font-size:.92rem}
.hero-photo,figure{margin:0}
.hero-photo{position:relative;padding:10px;border:1px solid #e6c47e66;border-radius:48% 48% 3px 3px / 39% 39% 3px 3px;overflow:hidden}
.hero-photo img{width:100%;height:clamp(365px,41vw,540px);object-fit:cover;object-position:50% 25%;border-radius:inherit}
.hero-photo figcaption{position:absolute;bottom:10px;left:10px;right:10px;padding:24px 15px 10px;display:flex;justify-content:space-between;background:linear-gradient(transparent,#120f17df);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}
.highlights{background:#1d1622;border-block:1px solid #e6c47e35;color:var(--gold)}
.highlights .wrap{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;gap:12px;padding:18px 0;font:clamp(.9rem,1.8vw,1.3rem) var(--serif)}
.section{padding:clamp(56px,8vw,110px) 0}
.light{background:var(--cream);color:var(--ink)}
.light :is(em,.eyebrow){color:#835519}
.cards,.videos,.gallery{display:grid;gap:18px;margin-top:34px}
.cards{grid-template-columns:repeat(3,1fr)}
.card{border:1px solid #cfbda8}
.card img{width:100%;height:clamp(200px,25vw,320px);object-fit:cover;object-position:center 28%}
.card>div{padding:24px}
.card p{margin:10px 0 14px}
.card a{font-weight:bold;text-underline-offset:4px}
.purple{background:var(--purple)}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:8%;align-items:center}
.features{list-style:none;margin:0;padding:0}
.features li{border-bottom:1px solid #e6c47e50;padding:10px 0}
.features li::before{content:"✦";color:var(--gold);margin-right:12px}
.videos{grid-template-columns:1fr 1fr}
.videos video{width:100%;aspect-ratio:16/9;background:#0c0910;object-fit:contain}
.videos figcaption{color:var(--gold);margin-top:8px;font-size:.85rem}
.gallery{grid-template-columns:repeat(4,1fr);margin-bottom:24px}
.photo{position:relative}
.photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%}
.photo span{position:absolute;bottom:8px;right:8px;background:var(--cream);color:var(--ink);padding:3px 8px}
.contact{background:#1b131e}address{font-style:normal;border-left:1px solid #e6c47e66;padding-left:25px}address a{display:block;margin-top:9px;text-underline-offset:4px}footer{border-top:1px solid #ffffff24}footer span{font-family:var(--serif)}dialog{padding:0;border:0;background:#151117;color:white;max-width:92vw;max-height:92vh}dialog::backdrop{background:#000d}dialog img{max-height:86vh;width:auto}dialog button{position:absolute;right:6px;top:6px;background:#151117;color:white;border:1px solid white;border-radius:50%;width:42px;height:42px;cursor:pointer}
.menu{color:inherit;border:1px solid #e6c47e66;background:transparent;padding:8px 14px;border-radius:3px}
@media(max-width:800px){.nav{flex-wrap:wrap;min-height:72px;padding:8px 0}
.header-cta{display:none}nav{width:100%;flex-wrap:wrap;padding-bottom:8px}nav[hidden]{display:none}
.hero-grid{gap:28px}
.hero-photo img{height:390px}
.cards{gap:12px}
.card>div{padding:15px}}
@media(max-width:620px){.hero{padding:34px 0}
.hero-grid,.split,.cards,.videos{grid-template-columns:1fr;gap:26px}
.hero-photo{max-width:430px}
.hero-photo img{height:365px}
.highlights .wrap,.gallery{grid-template-columns:1fr 1fr}
.card img{height:255px}footer .wrap{flex-wrap:wrap;padding:16px 0}
.intro h1{max-width:10ch}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Galeria e tour do espaço */
.hero-photo img {
  object-position: center 25%;
}

.card {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.card img {
  aspect-ratio: 5 / 4;
  height: auto;
  object-position: center 31%;
}

.card > div {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
}

.card a {
  margin-top: auto;
}

.tour {
  margin-top: clamp(48px, 7vw, 94px);
  padding-top: 30px;
  border-top: 1px solid #e6c47e50;
}

.tour .videos {
  margin-top: 24px;
}

.video-card {
  min-width: 0;
  overflow: hidden;
  background: #18101f;
  border: 1px solid #e6c47e44;
  border-radius: 6px;
}

.video-screen {
  position: relative;
  background: #0c0910;
}

.video-screen video {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.video-screen.has-cover video {
  object-fit: cover;
}

.video-play {
  position: absolute;
  inset: 0;
  width: 100%;
  border: 0;
  background: linear-gradient(transparent 30%, #15111788);
  cursor: pointer;
}

.video-play span {
  display: grid;
  place-items: center;
  width: 64px;
  aspect-ratio: 1;
  margin: auto;
  padding-left: 3px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--ink);
  font-size: 23px;
  box-shadow: 0 8px 28px #0005;
}

.video-play:hover span {
  background: #f5dca5;
}

.video-play:focus-visible {
  outline-offset: -5px;
}

.video-card figcaption {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 20px;
  color: var(--muted, #e3d7de);
}

.video-card figcaption strong {
  color: var(--cream);
  font: 25px var(--serif);
}

.gallery-intro {
  max-width: 58ch;
  margin: 14px 0 0;
}

.gallery {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.photo {
  isolation: isolate;
  overflow: hidden;
  border-radius: 4px;
}

.photo img {
  aspect-ratio: 5 / 4;
  object-position: var(--focus, center);
  transition: transform 250ms ease;
}

.photo:hover img {
  transform: scale(1.035);
}

.photo .photo-caption {
  position: absolute;
  inset: auto 0 0;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 26px 13px 12px;
  background: linear-gradient(transparent, #150e18ee);
  color: var(--cream);
  font-size: clamp(.8rem, 1.6vw, 1rem);
}

.photo .photo-caption span {
  position: static;
  padding: 0;
  background: transparent;
  color: inherit;
}

.lightbox {
  max-width: min(92vw, 900px);
  max-height: 92dvh;
  overflow: auto;
}

.lightbox-frame {
  position: relative;
}

.lightbox img {
  max-height: calc(92dvh - 60px);
  width: auto;
  min-width: min(240px, 80vw);
  margin-inline: auto;
  object-fit: contain;
}

.lightbox-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 6px 10px;
}

.lightbox-controls button {
  position: static;
}

@media (max-width: 620px) {
  .gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .photo img {
    aspect-ratio: 4 / 5;
  }

  .hero-photo img {
    height: clamp(280px, 100vw, 410px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .photo img { transition: none; }
}

