:root {
  color-scheme:dark;
  --ink:#03060c;
  --navy:#08111f;
  --surface:#0c1624;
  --paper:#f4f7fa;
  --muted:#abb7c9;
  --line:#263243;
  --accent:#60a5fa;
  --action:#1758cf;
  --accent-hover:#1047b6;
  --ice:#b6d9e6;
  --green:#80d4a3;
  --display:'Space Grotesk',sans-serif;
  --body:'Inter',sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
  --space:clamp(72px,8vw,128px);
  --wrap:1280px;
  --radius:4px;
  --safe-bottom:env(safe-area-inset-bottom,0px)
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:35px
}
body {
  margin:0;
  background:var(--ink);
  color:var(--paper);
  font:400 16px/1.65 var(--body);
  -webkit-font-smoothing:antialiased
}
button,input,select {
  font:inherit
}
button,a,input,select,summary {
  touch-action:manipulation
}
button {
  cursor:pointer
}
a {
  color:inherit;
  text-decoration:none
}
img,video {
  max-width:100%;
  display:block
}
img {
  height:auto
}
figure,p,h1,h2,h3 {
  margin:0
}
button {
  color:inherit
}
strong,b {
  font-weight:600
}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,video:focus-visible {
  outline:2px solid var(--ice);
  outline-offset:5px
}
::selection {
  background:#194f9e;
  color:#fff
}
[hidden] {
  display:none!important
}
.wrap {
  width:min(calc(100% - 112px),var(--wrap));
  margin-inline:auto
}
.section {
  padding-block:var(--space)
}
.eyebrow,.small-label {
  font-size:11px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  line-height:1.6
}
.eyebrow {
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--ice);
  margin-bottom:28px
}
.section-number {
  color:#6c859c;
  margin-right:6px
}
.short-line {
  width:26px;
  height:1px;
  background:var(--accent)
}
.small-label {
  color:var(--muted)
}
h1,h2,h3 {
  font-family:var(--display);
  font-weight:500;
  line-height:1.1;
  letter-spacing:-.048em
}
h2 {
  font-size:clamp(36px,4vw,58px)
}
h3 {
  font-size:24px;
  letter-spacing:-.025em
}
em {
  font-style:normal;
  color:var(--ice)
}
.muted {
  color:var(--muted)
}
.body-copy {
  font-size:17px;
  line-height:1.8;
  color:#c3cdd9;
  max-width:520px
}
.body-copy+.body-copy {
  margin-top:20px
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  min-height:58px;
  background:var(--action);
  padding:16px 24px;
  border:1px solid transparent;
  border-radius:var(--radius);
  color:#fff;
  font-weight:600;
  line-height:1.4;
  transition:background .2s,transform .2s
}
.button:hover {
  background:var(--accent-hover);
  transform:translateY(-2px)
}
.button:active {
  transform:translateY(0)
}
.button span[aria-hidden] {
  font-size:24px;
  font-weight:400
}
.button-small {
  font-size:13px;
  min-height:44px;
  padding:10px 18px;
  gap:20px
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:28px;
  padding:12px 0;
  border:0;
  border-bottom:1px solid #56667a;
  background:transparent;
  font-weight:500;
  font-size:15px;
  line-height:1.5;
  transition:color .2s,border-color .2s
}
.text-link:hover {
  color:var(--ice);
  border-color:var(--ice)
}
.text-link span {
  font-size:23px
}
.status-dot {
  display:inline-block;
  width:6px;
  height:6px;
  border-radius:50%;
  background:currentColor;
  flex:none
}
.preview-notice {
  padding:8px 20px;
  background:#132431;
  text-align:center;
  color:#bfdeeb;
  font-size:11px;
  letter-spacing:.04em;
  line-height:1.5;
  position:relative;
  z-index:10
}
.preview-notice .status-dot {
  margin-right:6px
}
.skip-link {
  position:fixed;
  z-index:200;
  top:-90px;
  left:20px;
  background:#fff;
  color:#000;
  padding:16px
}
.skip-link:focus {
  top:12px
}
.site-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  padding-block:24px;
  position:relative;
  z-index:5;
  border-bottom:1px solid #ffffff16
}
.brand {
  display:flex;
  align-items:center;
  gap:12px;
  flex-shrink:0
}
.brand img {
  object-fit:contain;
  border-radius:50%;
  width:56px;
  height:56px
}
.brand>span {
  font-size:10px;
  line-height:1.6;
  letter-spacing:.19em
}
.brand b {
  display:block;
  font-size:13px;
  letter-spacing:.18em
}
.site-header nav {
  display:flex;
  gap:28px;
  font-size:13px;
  color:#bdc8d7
}
.site-header nav a:hover {
  color:#fff
}
.header-actions {
  display:flex;
  align-items:center;
  gap:20px
}
.motion-toggle,.plain-button {
  background:none;
  border:0;
  color:var(--muted);
  padding:6px;
  font-size:11px;
  line-height:1.5
}
.motion-toggle span {
  padding-left:5px
}
.hero {
  position:relative;
  isolation:isolate;
  margin-top:-106px;
  padding-top:142px;
  min-height:930px;
  overflow:clip
}
.earth-scene {
  position:absolute;
  inset:40px 0 0;
  z-index:-3;
  pointer-events:none;
  overflow:hidden
}
.earth-scene img {
  height:100%;
  width:100%;
  object-fit:cover;
  object-position:50% 54%;
  opacity:.72;
  transform:translate3d(var(--scene-x,0px),var(--scene-y,0px),0) scale(1.045);
  transition:transform 1.2s var(--ease)
}
.earth-scene:after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#03060ce6 0%,#03060cbd 31%,#03060c10 68%),linear-gradient(0deg,var(--ink),transparent 35%,#03060c60 88%)
}
.hero-grid {
  display:grid;
  grid-template-columns:1.12fr 1fr;
  position:relative;
  gap:0;
  align-items:center;
  min-height:670px
}
.hero-copy {
  position:relative;
  z-index:2;
  max-width:655px;
  padding-block:20px 50px
}
.hero-copy>.eyebrow {
  margin-bottom:24px;
  font-size:10px;
  gap:10px
}
.date-inline {
  padding-left:12px;
  border-left:1px solid #7391a96b;
  color:#d8e4ee;
  white-space:nowrap
}
h1 {
  font-size:clamp(56px,5.2vw,78px);
  line-height:1.035;
  letter-spacing:-.055em
}
h1 em {
  color:var(--paper)
}
.hero-lead {
  font-size:20px;
  margin-top:25px;
  color:#f4f7fa
}
.hero-description {
  font-size:15px;
  line-height:1.75;
  max-width:465px;
  margin-top:10px;
  color:#c2cedc
}
.availability {
  max-width:405px;
  margin:28px 0 22px;
  padding-top:18px;
  border-top:1px solid #68819855
}
.availability-line {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  font-size:12px;
  line-height:1.5
}
.availability-line>b {
  font-size:14px
}
.availability-line strong {
  color:#c2dcff;
  font-size:12px
}
.availability-line .status-dot {
  color:var(--accent);
  margin-right:6px
}
.sales-track {
  height:3px;
  background:#50647755;
  margin-top:14px
}
.sales-fill {
  display:block;
  height:100%;
  width:var(--sold-percent,100%);
  background:var(--accent)
}
.hero-cta {
  min-width:325px
}
.cta-note {
  font-size:11px;
  line-height:1.7;
  margin-top:14px;
  color:#b7c4d4
}
.hero-person {
  align-self:end;
  position:relative;
  width:130%;
  margin-left:-20%;
  pointer-events:none;
  z-index:1
}
.hero-person img {
  width:100%;
  height:auto;
  max-width:none;
  mask-image:linear-gradient(#000 65%,transparent 99%)
}
.hero-person figcaption {
  position:absolute;
  right:14%;
  bottom:10%;
  font-size:9px;
  letter-spacing:.17em;
  color:#d8e5ec;
  display:grid;
  gap:6px;
  padding-left:25px
}
.hero-person figcaption b {
  font-size:18px;
  letter-spacing:0;
  font-family:var(--display)
}
.crosshair {
  position:absolute;
  left:0;
  top:5px;
  color:var(--accent);
  font:26px var(--display)
}
.hero-foot {
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid #8398ad38;
  padding-top:22px;
  font-size:11px;
  letter-spacing:.05em;
  color:#c7d1de
}
.hero-foot a {
  display:flex;
  gap:30px
}
.scene-caption {
  font-size:9px;
  letter-spacing:.015em;
  color:#90a3b6;
  text-align:right;
  max-width:1280px;
  margin:14px auto 0;
  padding:0 56px 22px
}
.section-intro {
  margin-bottom:45px
}
.crew-layout {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:85px;
  align-items:center
}
.crew-list {
  padding:0;
  margin:32px 0 24px;
  list-style:none;
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:30px
}
.crew-list li {
  display:grid;
  grid-template-columns:22px 1fr;
  gap:0 9px;
  padding:17px 0;
  border-top:1px solid var(--line);
  align-items:center
}
.crew-index {
  grid-row:span 2;
  font:10px ui-monospace,monospace;
  color:#6d8198
}
.crew-list strong {
  font:500 20px/1.3 var(--display)
}
.confirmed {
  font-size:10px;
  color:var(--green);
  letter-spacing:.025em
}
.confirmed:before {
  content:'✓';
  margin-right:5px
}
.crew-art {
  max-width:530px
}
.crew-art img {
  width:100%;
  border-radius:2px
}
.crew-art figcaption,figure>figcaption {
  color:#98a8bb;
  font-size:11px;
  line-height:1.7;
  margin-top:12px
}
.host {
  background:var(--navy);
  position:relative;
  overflow:clip
}
.host-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:95px;
  align-items:center
}
.host-photo {
  position:relative
}
.host-photo img {
  width:100%;
  height:550px;
  object-fit:cover;
  object-position:51% center;
  mask-image:linear-gradient(#000 82%,transparent)
}
.host-photo figcaption {
  display:flex;
  flex-direction:column;
  position:absolute;
  left:24px;
  bottom:22px;
  letter-spacing:.14em;
  font-size:13px;
  color:#f4f7fa
}
.host-photo figcaption span {
  font-size:9px;
  margin-top:4px;
  color:var(--muted)
}
.host-copy .body-copy {
  margin-top:26px
}
.host-copy .text-link {
  margin-top:20px
}
.interference {
  position:absolute;
  bottom:-10px;
  left:0;
  right:0;
  height:100px;
  pointer-events:none;
  opacity:.24;
  mask-image:linear-gradient(90deg,transparent,#000,transparent)
}
.interference svg {
  width:100%;
  height:100%;
  fill:none;
  stroke:#8fbcd0;
  stroke-width:.6
}
.interference path {
  stroke-dasharray:1100 150;
  animation:waveDrift 25s linear infinite
}
@keyframes waveDrift {
  to {
    stroke-dashoffset:-1250
  }
}
.split-heading {
  display:grid;
  grid-template-columns:1.1fr .7fr;
  gap:85px;
  align-items:end;
  margin-bottom:45px
}
.ksc-photo {
  position:relative;
  overflow:hidden
}
.ksc-photo img {
  width:100%;
  height:570px;
  object-fit:cover;
  object-position:center 44%;
  transition:transform 1.2s var(--ease)
}
.ksc-photo:hover img {
  transform:scale(1.018)
}
.ksc-photo figcaption {
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:0;
  padding:22px 25px;
  position:absolute;
  inset:auto 0 0;
  color:#e4ecf3;
  background:linear-gradient(transparent,#03060cbf);
  font-size:11px
}
.ksc-photo figcaption span:first-child {
  font-weight:600;
  letter-spacing:.15em
}
.experience-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:40px;
  margin-top:28px;
  font-size:12px;
  line-height:1.8
}
.experience-bottom .text-link {
  flex-shrink:0
}
.stay {
  background:#0b131d
}
.stay .small-label {
  margin-top:24px
}
.stay-gallery {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px
}
.gallery-item {
  padding:0;
  border:0;
  background:var(--ink);
  position:relative;
  overflow:hidden;
  border-radius:2px;
  text-align:left
}
.gallery-item img {
  width:100%;
  height:100%;
  object-fit:cover;
  aspect-ratio:3/2;
  transition:transform .7s var(--ease)
}
.gallery-item:hover img {
  transform:scale(1.035)
}
.gallery-item-0 {
  grid-column:span 2;
  grid-row:span 2
}
.gallery-item-0 img {
  aspect-ratio:auto
}
.gallery-item span {
  position:absolute;
  inset:auto 0 0;
  padding:30px 15px 12px;
  background:linear-gradient(transparent,#03060cc7);
  font-size:10px;
  line-height:1.5;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:6px
}
.gallery-item b {
  font-size:20px
}
.gallery-item-7 {
  grid-column:span 2;
  max-height:215px
}
.stay-facts {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin:32px 0 58px;
  border-block:1px solid var(--line)
}
.stay-facts div {
  padding:22px 25px 22px 0
}
.stay-facts b {
  display:block;
  font:500 19px var(--display);
  margin-bottom:8px
}
.stay-facts span {
  font-size:12px;
  color:var(--muted)
}
.lodging-details {
  max-width:840px;
  margin-bottom:35px
}
.lodging-details>p {
  margin:12px 0 22px;
  font-size:14px
}
.stay-detail {
  border-bottom:1px solid var(--line)
}
.stay-detail summary {
  list-style:none;
  cursor:pointer;
  padding:18px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  font-size:14px
}
.stay-detail summary::-webkit-details-marker {
  display:none
}
.stay-detail summary span {
  font-size:22px;
  color:var(--ice)
}
.stay-detail[open] summary span {
  transform:rotate(45deg)
}
.detail-copy {
  padding:10px 20px 25px 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.9
}
.detail-copy p {
  margin-bottom:15px
}
.detail-copy h4 {
  font-family:var(--display);
  font-size:17px;
  color:#f4f7fa;
  margin-block:22px 10px
}
.detail-copy strong {
  color:#d5e0ec
}
.detail-copy ul {
  padding-left:20px;
  margin-block:10px 20px
}
.records-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25px
}
.records-grid figure>img {
  aspect-ratio:16/9;
  object-fit:cover;
  width:100%
}
.records-grid figcaption {
  line-height:1.7;
  font-size:11px
}
.video-shell {
  position:relative;
  aspect-ratio:16/9;
  background:#101928
}
.video-shell video {
  width:100%;
  height:100%;
  object-fit:contain
}
.play-video {
  position:absolute;
  inset:0;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  gap:12px;
  border:0;
  background:#03060c48;
  color:#fff;
  letter-spacing:.1em;
  font-size:10px
}
.play-video span {
  display:flex;
  justify-content:center;
  align-items:center;
  width:60px;
  height:60px;
  border:1px solid #ffffffab;
  border-radius:50%;
  font-size:34px;
  background:#03060c50
}
.registration {
  background:var(--navy);
  border-block:1px solid var(--line)
}
.registration-grid {
  display:grid;
  grid-template-columns:.85fr 1.1fr;
  gap:100px;
  align-items:start
}
.registration-copy .body-copy {
  margin-top:28px;
  font-size:16px
}
.registration-copy .availability {
  margin:30px 0
}
.registration-note {
  font-size:13px;
  line-height:1.8;
  margin-top:22px;
  color:var(--muted);
  max-width:400px
}
.form-test-note {
  font-size:11px;
  color:var(--ice);
  max-width:360px;
  margin-top:30px
}
.form-test-note .status-dot {
  margin-right:5px
}
.form-panel {
  background:#101d2d;
  padding:34px;
  border:1px solid #2c3d51;
  border-radius:6px;
  min-width:0
}
.country-toggle {
  display:flex;
  gap:6px;
  border-bottom:1px solid #354459;
  margin-bottom:28px
}
.country-btn {
  width:50%;
  padding:14px 12px;
  background:none;
  border:0;
  border-bottom:2px solid transparent;
  text-align:left;
  font-size:14px;
  color:var(--muted);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px
}
.country-btn.active {
  color:#f4f7fa;
  border-color:var(--accent)
}
.country-btn span {
  visibility:hidden
}
.country-btn.active span {
  visibility:visible
}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px
}
.form-group {
  display:flex;
  flex-direction:column;
  min-width:0
}
.full-width {
  grid-column:1/-1
}
.form-group label {
  font-size:12px;
  color:#d8e1ec;
  margin-bottom:8px
}
.form-group input,.form-group select,.test-tools select {
  background:#08111f;
  color:#f4f7fa;
  border:1px solid #46596d;
  border-radius:3px;
  padding:13px 12px;
  min-height:50px;
  width:100%;
  font-size:16px;
  min-width:0;
  transition:border-color .2s
}
.form-group input::placeholder {
  color:#96a6ba;
  font-size:13px
}
.form-group input:focus,.form-group select:focus {
  border-color:var(--ice)
}
.form-group input[readonly] {
  color:var(--muted);
  background:#0b1726
}
.form-group input[aria-invalid=true] {
  border-color:#9ec5ff
}
.cpf-info,.cep-info {
  font-size:11px;
  line-height:1.6;
  min-height:18px;
  margin-top:4px
}
.success {
  color:var(--green)
}
.error {
  color:#b9d6ff
}
.loading {
  color:var(--ice)
}
.form-consent {
  margin:22px 0
}
.checkbox-label {
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:12px;
  line-height:1.7;
  color:#c1cedd;
  cursor:pointer
}
.checkbox-label input {
  accent-color:var(--accent);
  width:18px;
  height:18px;
  flex-shrink:0;
  margin:3px 0 0
}
.checkmark {
  display:none
}
.form-submit .btn {
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
  min-height:58px;
  font-weight:600;
  background:var(--action);
  border:0;
  border-radius:3px;
  padding:15px;
  font-size:14px;
  line-height:1.5;
  white-space:normal
}
.form-submit .btn:hover {
  background:var(--accent-hover)
}
.form-submit .btn:disabled {
  cursor:wait;
  opacity:.7
}
.form-note {
  font-size:11px;
  color:var(--muted);
  text-align:center;
  margin-top:12px
}
.form-message {
  font-size:13px;
  line-height:1.8;
  padding:16px;
  border-left:2px solid currentColor;
  background:#08111f;
  margin-top:20px;
  overflow-wrap:anywhere
}
.test-tools {
  margin-top:24px;
  border-top:1px solid var(--line);
  padding-top:15px;
  color:var(--muted);
  font-size:11px
}
.test-tools summary {
  cursor:pointer;
  padding:4px 0
}
.test-tools p {
  margin:12px 0
}
.test-tools label {
  display:block;
  margin-bottom:6px
}
.test-tools select {
  font-size:13px
}
.test-tools pre {
  font:10px/1.6 ui-monospace,monospace;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  max-height:320px;
  overflow:auto;
  padding:12px;
  background:#03060c
}
.test-tools .text-link {
  font-size:11px
}
.site-footer {
  padding-block:65px 25px
}
.footer-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
  padding-bottom:45px;
  border-bottom:1px solid var(--line)
}
.footer-top>p {
  font-size:13px;
  line-height:1.8;
  color:var(--muted)
}
.partners {
  display:flex;
  gap:90px;
  padding-block:40px
}
.partner-row {
  display:flex;
  gap:30px;
  align-items:center;
  margin-top:16px
}
.partner-row img {
  object-fit:contain
}
.partner-row img[alt="365 Assessoria de Viagens"] {
  border-radius:50%
}
.footer-bottom {
  border-top:1px solid var(--line);
  padding-top:22px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:10px;
  align-items:center;
  color:var(--muted)
}
.mobile-cta {
  display:none
}
.lightbox {
  width:calc(100% - 50px);
  max-width:1250px;
  max-height:96dvh;
  background:#07101c;
  border:1px solid #35485e;
  padding:22px;
  border-radius:4px;
  color:var(--paper)
}
.lightbox::backdrop {
  background:#01040bed;
  backdrop-filter:blur(8px)
}
.lightbox img {
  height:min(72dvh,760px);
  width:100%;
  object-fit:contain
}
.lightbox-top,.lightbox-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px
}
.lightbox-top {
  padding-bottom:18px;
  font-size:11px;
  letter-spacing:.08em
}
.lightbox-top p span {
  color:var(--muted);
  padding-left:18px
}
.lightbox button {
  background:#111f30;
  border:1px solid #405368;
  border-radius:3px;
  padding:10px 15px;
  font-size:12px;
  min-height:44px
}
.lightbox-bottom {
  padding-top:18px;
  font-size:12px;
  color:var(--muted)
}
.noscript-note {
  padding:20px;
  background:#162638
}
.motion-paused .interference path {
  animation-play-state:paused
}
.motion-paused .earth-scene img {
  transform:none!important
}
.motion-paused * {
  scroll-behavior:auto!important
}
.motion-paused .ksc-photo:hover img {
  transform:none
}
.motion-paused .gallery-item:hover img {
  transform:none
}
@media(min-width:1600px) {
  .hero {
    min-height:1000px
  }
  .hero-grid {
    min-height:730px
  }
  .hero-copy {
    max-width:700px
  }
  h1 {
    font-size:88px
  }
  .hero-person {
    width:145%;
    margin-left:-25%
  }
  .hero-description {
    font-size:17px;
    max-width:475px
  }
}
@media(max-width:1150px) {
  .wrap {
    width:calc(100% - 64px)
  }
  .site-header nav {
    gap:18px
  }
  .header-actions {
    gap:10px
  }
  .motion-toggle {
    font-size:10px
  }
  .brand>span {
    display:none
  }
  .hero-grid {
    grid-template-columns:1.1fr 1fr
  }
  .hero-person {
    width:145%;
    margin-left:-25%
  }
  h1 {
    font-size:64px
  }
  .hero {
    min-height:910px
  }
  .host-grid,.crew-layout {
    gap:45px
  }
  .registration-grid {
    gap:45px
  }
  .form-panel {
    padding:24px
  }
  .split-heading {
    gap:50px
  }
  .host-photo img {
    height:500px
  }
}
@media(max-width:900px) {
  .site-header nav {
    display:none
  }
  .hero {
    padding-top:135px;
    min-height:870px
  }
  .hero-description {
    max-width:420px
  }
  h1 {
    font-size:58px
  }
  .hero-copy {
    max-width:480px
  }
  .hero-grid {
    grid-template-columns:1.3fr .7fr
  }
  .hero-person {
    width:235%;
    margin-left:-120%
  }
  .hero-person figcaption {
    display:none
  }
  .hero-foot {
    font-size:10px
  }
  .host-grid {
    gap:35px
  }
  .host-photo img {
    height:480px
  }
  .split-heading {
    grid-template-columns:1fr 1fr;
    gap:30px
  }
  .registration-grid {
    gap:32px;
    grid-template-columns:.8fr 1fr
  }
  .form-grid {
    grid-template-columns:1fr
  }
  .full-width {
    grid-column:auto
  }
  .footer-top {
    flex-wrap:wrap
  }
  .footer-top .text-link {
    font-size:13px
  }
}
@media(max-width:760px) {
  :root {
    --space:72px
  }
  .wrap {
    width:calc(100% - 40px)
  }
  .preview-notice {
    font-size:10px;
    padding:8px 12px
  }
  .site-header {
    padding-block:16px
  }
  .brand>span {
    display:block;
    font-size:8px
  }
  .brand b {
    font-size:10px
  }
  .brand img {
    width:44px;
    height:44px
  }
  .header-actions>.button {
    display:none
  }
  .motion-toggle {
    font-size:10px;
    max-width:105px
  }
  .hero {
    margin-top:-78px;
    padding-top:112px;
    min-height:auto
  }
  .hero-grid {
    display:block;
    min-height:0
  }
  .hero-copy {
    max-width:none;
    padding-block:15px 32px
  }
  .hero-copy>.eyebrow {
    font-size:9px;
    flex-wrap:wrap;
    gap:8px;
    line-height:1.8;
    margin-bottom:24px;
    max-width:100%
  }
  .date-inline {
    font-size:9px
  }
  .hero h1 {
    font-size:clamp(34px,7.8vw,52px);
    max-width:75%;
    line-height:1.08;
    letter-spacing:-.05em;
    position:relative;
    z-index:3
  }
  .desktop-break {
    display:none
  }
  .hero-person {
    position:absolute;
    right:-20px;
    top:100px;
    width:48%;
    margin:0;
    z-index:1
  }
  .hero-person img {
    mask-image:linear-gradient(#000 65%,transparent 99%)
  }
  .hero-person figcaption {
    display:none
  }
  .hero-lead {
    font-size:17px;
    margin-top:23px;
    max-width:85%;
    position:relative;
    z-index:2
  }
  .hero-description {
    font-size:14px;
    line-height:1.8;
    max-width:95%;
    margin-top:12px
  }
  .hero .availability {
    margin:23px 0 19px;
    max-width:none
  }
  .availability-line {
    font-size:11px
  }
  .availability-line strong {
    font-size:11px
  }
  .hero-cta {
    width:100%;
    min-width:0;
    font-size:15px;
    min-height:56px
  }
  .cta-note {
    font-size:10px;
    line-height:1.7
  }
  .earth-scene {
    inset:80px 0 0
  }
  .earth-scene img {
    object-position:58% center;
    opacity:.55
  }
  .earth-scene:after {
    background:linear-gradient(90deg,#03060ccf,transparent),linear-gradient(0deg,#03060c,transparent 50%,#03060c60)
  }
  .hero-foot {
    display:grid;
    grid-template-columns:1fr auto;
    font-size:9px;
    gap:8px;
    padding-top:18px
  }
  .hero-foot>a {
    grid-column:1/-1;
    justify-content:space-between;
    margin-top:7px;
    padding-block:5px
  }
  .scene-caption {
    padding:12px 20px 0;
    font-size:8px;
    text-align:left;
    margin:0
  }
  h2 {
    font-size:clamp(34px,6.6vw,46px);
    line-height:1.14
  }
  .eyebrow {
    font-size:10px;
    margin-bottom:20px
  }
  .crew-layout {
    grid-template-columns:1fr;
    gap:30px
  }
  .section-intro {
    margin-bottom:25px
  }
  .body-copy {
    font-size:16px
  }
  .crew-list {
    column-gap:22px;
    margin:25px 0 15px
  }
  .crew-list strong {
    font-size:20px
  }
  .crew-art {
    max-width:100%;
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
    align-items:center;
    border-top:1px solid var(--line);
    padding-top:25px
  }
  .crew-art figcaption {
    margin:0;
    font-size:10px;
    max-width:240px
  }
  .crew-art img {
    width:100%
  }
  .host-grid {
    grid-template-columns:1fr;
    gap:30px
  }
  .host-photo img {
    height:auto;
    max-height:420px;
    object-position:center 35%;
    aspect-ratio:1.2;
    object-fit:cover
  }
  .host-photo figcaption {
    bottom:12px;
    left:15px
  }
  .host-copy .body-copy {
    margin-top:20px
  }
  .host-copy .text-link {
    margin-top:15px
  }
  .host .interference {
    height:55px;
    bottom:-10px
  }
  .split-heading {
    grid-template-columns:1fr;
    gap:22px;
    margin-bottom:30px
  }
  .split-heading>.body-copy {
    max-width:520px
  }
  .ksc-photo {
    margin-inline:-20px
  }
  .ksc-photo img {
    height:390px;
    object-position:50% center
  }
  .ksc-photo figcaption {
    flex-direction:column;
    gap:4px;
    padding:45px 20px 18px
  }
  .experience-bottom {
    flex-direction:column;
    align-items:flex-start;
    gap:20px;
    font-size:12px
  }
  .text-link {
    font-size:14px
  }
  .stay-gallery {
    grid-template-columns:1fr 1fr;
    gap:8px
  }
  .gallery-item-0 {
    grid-column:span 2;
    grid-row:auto
  }
  .gallery-item-0 img {
    aspect-ratio:3/2
  }
  .gallery-item-7 {
    grid-column:auto;
    max-height:none
  }
  .gallery-item span {
    font-size:9px;
    padding:20px 10px 9px
  }
  .gallery-item b {
    font-size:17px
  }
  .stay-facts {
    grid-template-columns:1fr;
    margin:25px 0 38px
  }
  .stay-facts div {
    padding:18px 0;
    border-bottom:1px solid var(--line)
  }
  .stay-facts div:last-child {
    border:0
  }
  .stay-facts b {
    font-size:18px
  }
  .stay-facts span {
    font-size:12px
  }
  .lodging-details h3 {
    font-size:23px
  }
  .stay-detail summary {
    font-size:13px
  }
  .detail-copy {
    padding-right:0;
    font-size:14px
  }
  .records-grid {
    grid-template-columns:1fr;
    gap:32px
  }
  .registration-grid {
    grid-template-columns:1fr;
    gap:35px
  }
  .registration-copy .availability {
    max-width:none
  }
  .registration-note {
    max-width:none
  }
  .form-test-note {
    max-width:none;
    margin-top:20px
  }
  .form-panel {
    padding:24px 20px;
    border-radius:4px
  }
  .form-grid {
    grid-template-columns:1fr 1fr;
    gap:16px
  }
  .full-width {
    grid-column:1/-1
  }
  .form-group label {
    font-size:12px
  }
  .form-group input::placeholder {
    font-size:12px
  }
  .form-submit .btn {
    font-size:14px
  }
  .site-footer {
    padding-bottom:115px;
    padding-top:45px
  }
  .footer-top {
    align-items:flex-start;
    gap:24px;
    padding-bottom:30px
  }
  .footer-top>.brand>span {
    display:block
  }
  .footer-top>p {
    font-size:11px
  }
  .footer-top>.text-link {
    width:100%;
    justify-content:space-between
  }
  .partners {
    gap:35px;
    justify-content:space-between;
    flex-wrap:wrap;
    padding-block:30px
  }
  .partners .small-label {
    font-size:9px
  }
  .partner-row {
    gap:17px
  }
  .partner-row img[alt="Space Today"] {
    width:120px;
    height:68px
  }
  .partner-row img[alt="Space Today Tour"] {
    width:45px;
    height:45px
  }
  .partner-row img[alt="365 Assessoria de Viagens"] {
    width:54px;
    height:54px
  }
  .partner-row img[alt="Patrimach"] {
    width:105px;
    height:32px
  }
  .footer-bottom {
    flex-wrap:wrap;
    gap:12px;
    font-size:9px
  }
  .mobile-cta:not([hidden]) {
    display:flex;
    position:fixed;
    z-index:40;
    inset:auto 0 0;
    justify-content:space-between;
    align-items:center;
    padding:12px 20px calc(12px + var(--safe-bottom));
    gap:15px;
    background:#091322f5;
    border-top:1px solid #33465e
  }
  .mobile-cta>div {
    font-size:10px;
    line-height:1.5;
    color:var(--muted)
  }
  .mobile-cta strong {
    display:block;
    font-size:13px;
    color:#fff
  }
  .mobile-cta .button {
    padding:12px 15px;
    min-height:48px;
    font-size:12px;
    gap:18px
  }
  .lightbox {
    width:calc(100% - 20px);
    padding:14px;
    max-height:96dvh
  }
  .lightbox-top {
    font-size:9px;
    gap:8px
  }
  .lightbox-top p span {
    padding-left:7px
  }
  .lightbox button {
    font-size:11px;
    padding:9px 12px
  }
  .lightbox img {
    height:auto;
    max-height:66dvh;
    aspect-ratio:3/2
  }
  .lightbox-bottom {
    flex-wrap:wrap;
    gap:12px
  }
  .lightbox-bottom p {
    order:3;
    width:100%;
    text-align:center;
    font-size:11px
  }
}
@media(max-width:430px) {
  .form-grid {
    grid-template-columns:1fr
  }
  .full-width {
    grid-column:auto
  }
  .hero-person {
    width:49%;
    top:115px;
    right:-18px
  }
  .hero h1 {
    max-width:73%;
    font-size:36px
  }
  .hero-description {
    max-width:100%
  }
  .hero-lead {
    font-size:16px;
    max-width:100%
  }
  .availability-line strong {
    font-size:10px
  }
  .hero-foot {
    font-size:8px
  }
  .scene-caption {
    font-size:8px
  }
  .crew-art {
    grid-template-columns:115px 1fr
  }
  .crew-art img {
    width:100%
  }
  .crew-list strong {
    font-size:18px
  }
  .crew-index {
    font-size:9px
  }
  .crew-list li {
    grid-template-columns:18px 1fr;
    gap:0 5px
  }
  .form-panel {
    padding:22px 17px
  }
  .stay .small-label {
    font-size:9px
  }
  .partners {
    gap:28px
  }
  .partner-row {
    gap:20px
  }
  .footer-bottom .plain-button {
    padding-left:0
  }
  .header-actions {
    gap:0
  }
}
@media(max-width:360px) {
  .wrap {
    width:calc(100% - 32px)
  }
  .hero h1 {
    font-size:34px;
    max-width:79%
  }
  .hero-person {
    width:48%;
    right:-16px;
    top:143px;
    opacity:.8
  }
  .hero-copy>.eyebrow {
    font-size:8px;
    gap:7px
  }
  .date-inline {
    font-size:8px;
    padding-left:8px
  }
  .short-line {
    width:14px
  }
  .hero-lead {
    font-size:15px
  }
  .hero-description {
    font-size:13px
  }
  .hero-foot {
    grid-template-columns:1fr
  }
  .hero-foot>a {
    grid-column:auto
  }
  .hero-foot span {
    font-size:10px
  }
  .crew-list {
    column-gap:14px
  }
  .crew-list strong {
    font-size:17px
  }
  .confirmed {
    font-size:9px
  }
  .button {
    gap:12px
  }
  .preview-notice {
    font-size:9px
  }
  .registration .wrap {
    width:calc(100% - 28px)
  }
  .form-panel {
    padding:20px 15px
  }
  .mobile-cta:not([hidden]) {
    padding-inline:15px;
    gap:10px
  }
  .mobile-cta .button {
    font-size:11px;
    gap:12px
  }
  .mobile-cta strong {
    font-size:12px
  }
  .ksc-photo {
    margin-inline:-16px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important
  }
  .earth-scene img {
    transform:none!important
  }
  .gallery-item:hover img,.ksc-photo:hover img,.button:hover {
    transform:none
  }
}
/* Estados de interação independentes dos efeitos decorativos. */
[hidden] {
  display:none!important
}
.dialog-open {
  overflow:hidden
}
.form-panel {
  scroll-margin-top:24px
}
.country-btn:disabled {
  opacity:.65;
  cursor:wait
}
.lightbox-top #lbCounter {
  display:inline-block;
  min-width:34px
}
html:has(.motion-paused) {
  scroll-behavior:auto
}
@media(max-width:760px) {
  html {
    scroll-padding-bottom:100px
  }
  a,button,input,select,summary {
    scroll-margin-bottom:105px
  }
}
@media(min-width:761px) and (max-width:900px) {
  .hero-person {
    width:155%;
    margin-left:0;
    align-self:center;
    margin-top:165px
  }
  .hero-copy {
    max-width:430px
  }
  .hero-description {
    max-width:400px
  }
  .hero-lead {
    font-size:20px;
    max-width:420px
  }
}

/* Moldura de vidro da arte existente, sem modificar a imagem ou os rostos. */
.crew-art { position:relative; isolation:isolate; }
.crew-art::before {
  content:""; position:absolute; z-index:-1; inset:5% 0 15%; pointer-events:none;
  background:radial-gradient(ellipse at 20% 15%,#327ad845,transparent 62%),radial-gradient(ellipse at 85% 90%,#8bd8f82e,transparent 60%);
  filter:blur(28px);
}
.crew-glass {
  position:relative; padding:18px; border-radius:30px;
  border:1px solid #c8e5ff66;
  background:linear-gradient(140deg,#d4efff38 0%,#c1e0ff0d 35%,#244c7540 64%,#daefff2b 100%);
  box-shadow:inset 0 1px 1px #f4fbff70,inset 0 -2px 6px #6da6dd24,0 22px 65px #0007;
  backdrop-filter:blur(18px) saturate(145%); -webkit-backdrop-filter:blur(18px) saturate(145%);
}
.crew-glass::before {
  content:""; position:absolute; inset:6px; border:1px solid #d9efff26;
  border-radius:25px; pointer-events:none;
}
.crew-glass::after {
  content:""; position:absolute; top:0; left:14%; right:30%; height:1px;
  background:linear-gradient(90deg,transparent,#f6fcff,transparent); pointer-events:none;
}
.crew-art .crew-glass img { width:100%; height:auto; border-radius:15px; }
.crew-art figcaption { padding:3px 15px 0; color:#aebfd1; }
@media(max-width:760px) {
  .crew-art { display:block; border:0; padding-top:10px; max-width:490px; margin-inline:auto; }
  .crew-glass { padding:13px; border-radius:25px; }
  .crew-glass::before { border-radius:21px; inset:5px; }
  .crew-art .crew-glass img { border-radius:13px; }
  .crew-art figcaption { max-width:none; margin-top:14px; padding-inline:10px; font-size:10px; }
}
@supports not (backdrop-filter:blur(1px)) { .crew-glass { background:linear-gradient(140deg,#243b57,#102137 65%,#1b334c); } }

/* Benefício comercial entre o destino e a hospedagem. */
.annual-benefit { padding-bottom:var(--space); }
.annual-box {
  display:grid; grid-template-columns:1.08fr 1fr; gap:26px; align-items:center;
  padding:clamp(28px,4vw,56px); position:relative; isolation:isolate;
  border:1px solid #568ac357; border-radius:26px; overflow:hidden;
  background:radial-gradient(ellipse at 100% 0,#164d7a4d,transparent 60%),linear-gradient(125deg,#101f33,#07111e 70%);
  box-shadow:inset 0 1px 0 #cce8ff17,0 20px 70px #0003;
}
.annual-box::before {
  content:""; position:absolute; pointer-events:none; top:0; left:7%; width:56%; height:1px;
  background:linear-gradient(90deg,transparent,#b6d9e6a8,transparent);
}
.annual-copy { position:relative; z-index:1; min-width:0; }
.annual-copy .eyebrow { font-size:10px; letter-spacing:.15em; color:#b8d7ff; margin-bottom:28px; }
.annual-spark { font-size:25px; font-weight:400; }
.annual-copy h2 { font-size:clamp(34px,3.5vw,49px); line-height:1.12; }
.annual-intro { color:var(--paper); font-size:19px; margin-top:26px; }
.annual-copy .body-copy { font-size:15px; line-height:1.85; margin-top:12px; }
.annual-copy .body-copy strong { color:#e4effa; }
.annual-cta { margin-top:29px; font-size:13px; gap:20px; padding-inline:20px; }
.annual-terms { max-width:360px; font-size:11px; line-height:1.8; color:#a6b9cf; margin-top:15px; }
.annual-visual { align-self:center; min-width:0; text-align:center; }
.annual-year { display:flex; align-items:center; justify-content:center; gap:15px; position:relative; z-index:1; margin-bottom:22px; }
.annual-year>strong { font:500 clamp(76px,8vw,116px)/1 var(--display); letter-spacing:-.07em; color:#c1ddff; }
.annual-year>div { display:flex; flex-direction:column; text-align:left; padding-top:8px; }
.annual-year b { font:500 31px/1.2 var(--display); color:#f4f7fa; letter-spacing:.05em; }
.annual-year span { margin-top:8px; font-size:8px; letter-spacing:.14em; color:#a9c6e5; }
.annual-visual>img { display:block; width:100%; height:auto; margin-bottom:20px; border:1px solid #89b8ef47; border-radius:16px; box-shadow:0 14px 36px #0004; }
.annual-pass-label { display:inline-flex; align-items:center; gap:9px; color:#d7eaff; font-size:9px; letter-spacing:.12em; border-top:1px solid #56799a5c; padding-top:16px; }
.annual-pass-dot { width:5px; height:5px; background:#8bbcff; border-radius:50%; }
.annual-visual figcaption { font-size:9px; margin-top:9px; color:#a6b9cf; }
@media(max-width:1050px) and (min-width:901px) {
  .annual-box { gap:10px; padding:34px; }
  .annual-copy h2 { font-size:36px; }
  .annual-cta { font-size:12px; padding-inline:14px; gap:12px; }
}
@media(max-width:900px) {
  .annual-box { grid-template-columns:1fr; gap:36px; padding:38px; }
  .annual-copy h2 { font-size:clamp(34px,6vw,46px); }
  .annual-copy .body-copy { max-width:600px; }
  .annual-visual { max-width:500px; width:100%; margin-inline:auto; }
}
@media(max-width:760px) {
  .annual-box { padding:29px 23px; border-radius:20px; gap:32px; }
  .annual-copy .eyebrow { font-size:9px; letter-spacing:.12em; margin-bottom:22px; gap:8px; }
  .annual-copy h2 { font-size:34px; }
  .annual-intro { font-size:18px; margin-top:22px; }
  .annual-copy .body-copy { font-size:14px; }
  .annual-cta { width:100%; font-size:12px; padding:14px; gap:12px; margin-top:24px; }
  .annual-terms { font-size:10px; }
  .annual-year>strong { font-size:86px; }
  .annual-year b { font-size:26px; }
  .annual-year span { font-size:7px; }
  .annual-pass-label { font-size:8px; letter-spacing:.09em; }
}
@media(max-width:360px) {
  .annual-box { padding:26px 18px; }
  .annual-copy h2 { font-size:30px; }
  .annual-copy .eyebrow { font-size:8px; }
  .annual-cta { font-size:11px; }
}

/* Anúncio da Missão 1 esgotada e convite para o cadastro da Missão 2. */
.mission-popup {
  width:min(680px,calc(100% - 32px)); max-height:calc(100dvh - 32px);
  margin:auto; padding:42px 42px 32px; overflow:auto; overscroll-behavior:contain;
  border:1px solid #a4d0ff70; border-radius:28px; color:#fff;
  background:radial-gradient(ellipse at 90% 0,#4e9cff66,transparent 58%),linear-gradient(145deg,#1768e5,#0c49b1 56%,#092a71);
  box-shadow:0 30px 110px #0009,inset 0 1px 0 #d0eaff55;
  text-align:center;
}
.mission-popup::backdrop { background:#010816cc; backdrop-filter:blur(7px); }
.mission-popup-close {
  position:absolute; right:12px; top:12px; width:44px; height:44px;
  display:grid; place-items:center; border:0; border-radius:50%;
  background:#061d583d; color:#fff; font:300 32px/1 var(--body);
}
.mission-popup-close:hover { background:#041c597d; }
.mission-popup-content { position:relative; }
.mission-popup-kicker { margin:8px 0 19px; font-size:10px; font-weight:600; letter-spacing:.14em; color:#d2e6ff; }
.mission-popup-kicker>span { margin-right:6px; }
.mission-popup h2 { margin:0; font-family:var(--display); letter-spacing:-.065em; line-height:.9; }
.mission-popup-percent { display:block; font-size:clamp(96px,15vw,156px); font-weight:700; }
.mission-popup-sold { display:block; margin-top:8px; font-size:clamp(35px,5vw,52px); font-weight:500; letter-spacing:-.04em; }
.mission-popup-invite { margin:27px 0 0; font-size:20px; line-height:1.4; color:#e0ecff; }
.mission-popup-invite strong { display:block; margin-top:6px; font:500 clamp(24px,4vw,32px)/1.18 var(--display); color:#fff; }
.mission-popup-invite strong>span { display:block; margin-top:3px; font-size:clamp(36px,5vw,46px); }
.mission-popup-cta { display:flex; justify-content:center; width:min(100%,390px); margin:27px auto 0; padding:17px 24px; background:#fff; color:#0b3890; border:1px solid #fff; font-size:16px; }
.mission-popup-cta:hover { background:#e5f0ff; color:#07266c; border-color:#e5f0ff; }
.mission-popup-note { margin-top:15px; font-size:11px; line-height:1.7; color:#d7e7ff; }
.mission-popup a:focus-visible,.mission-popup button:focus-visible { outline:3px solid #fff; outline-offset:4px; }
.form-mission-label { margin-bottom:21px; font:600 11px/1.6 var(--body); letter-spacing:.08em; color:#b8d7ff; }
@media(max-width:600px) {
  .mission-popup { padding:46px 22px 28px; border-radius:23px; }
  .mission-popup-kicker { font-size:9px; letter-spacing:.09em; margin-top:3px; margin-bottom:22px; }
  .mission-popup-percent { font-size:clamp(88px,25vw,120px); }
  .mission-popup-sold { font-size:37px; }
  .mission-popup-invite { font-size:17px; margin-top:25px; }
  .mission-popup-invite strong { font-size:26px; }
  .mission-popup-invite strong>span { font-size:38px; }
  .mission-popup-cta { font-size:14px; padding:16px; gap:17px; }
  .mission-popup-note { font-size:10px; }
}
@media(max-width:360px) {
  .mission-popup { padding-inline:17px; }
  .mission-popup-kicker { font-size:8px; }
  .mission-popup-invite strong { font-size:23px; }
  .mission-popup-invite strong>span { font-size:34px; }
  .form-mission-label { font-size:10px; }
}

.registration-whatsapp { margin-top:18px; font-size:14px; }
