/* EPIC campaign visual direction: saturated sea blues, sunlight, energetic CTAs.
   Hapê's navy/blue brand remains the editorial anchor. */
:root{--navy:#093c67;--navy-deep:#062f51;--ink:#1a3b52;--muted:#5a7788;--sand:#eef9fd;--cream:#fff;--sky:#158bd0;--accent:#00a8dd}
body{background:#fff}
.btn{background:linear-gradient(135deg,#0069d8,#079bdf);border-radius:999px;box-shadow:0 10px 24px rgba(0,104,203,.21);letter-spacing:.015em;font-weight:800}
.btn:hover{background:linear-gradient(135deg,#0059bc,#008bc7);box-shadow:0 14px 27px rgba(0,104,203,.27)}
.btn-light{background:#fff;color:#0066b7;box-shadow:0 16px 35px rgba(1,56,107,.25)}
.btn-light:hover{background:#eaf9ff;color:#00519c}
.btn-link{border-color:#55b2dd;color:#0579b6}
.btn-link:hover{color:#005c9e}
.site-header{background:linear-gradient(180deg,rgba(0,89,173,.46),rgba(0,69,141,.08));border-bottom-color:rgba(255,255,255,.3)}
.nav-right .btn{border:1px solid rgba(255,255,255,.9);background:rgba(0,99,188,.33);box-shadow:none}
.nav-right .btn:hover{background:rgba(0,114,208,.62)}
.brand-word span{color:#c3f2ff}
.brand-label{color:#e0f5ff}

.hero{min-height:870px;background:#22a4e5}
.hero-image{background-image:url('assets/epic-hero-ceu-final.jpg');background-position:center 85%;filter:saturate(1.06)}
.hero-image:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 790px 420px at 4% 20%,rgba(0,60,154,.76) 0%,rgba(0,106,201,.51) 46%,rgba(0,137,217,.14) 78%,transparent 100%)}
.hero-shade{display:none}
.hero-facade-mobile{display:none}
.hero-layout{padding-top:107px;padding-bottom:73px;gap:5%;grid-template-columns:minmax(0,1fr) 390px;align-items:start}
.project-signature{display:flex;align-items:center;gap:10px;color:#fff;margin-bottom:12px;text-shadow:0 2px 12px rgba(0,44,90,.45)}
.project-signature img{display:block;width:306px;max-width:100%;height:auto;filter:drop-shadow(0 2px 8px rgba(0,58,115,.24))}
.project-icon{font-size:29px;line-height:1;transform:skewX(-14deg);letter-spacing:-.3em;padding-right:9px}
.project-name{font-size:30px;font-weight:500;line-height:1;letter-spacing:.3em}
.project-sub{font-size:9px;font-weight:700;letter-spacing:.22em;line-height:1.2}
.hero-overline{font-size:11px;letter-spacing:.19em;color:#fff;margin-bottom:13px;text-shadow:0 2px 12px rgba(0,43,88,.4)}
.hero-overline:before{width:29px;background:#9aeaff}
.hero h1.serif{font-family:Inter,Arial,sans-serif;font-weight:800;letter-spacing:-.06em;font-size:clamp(44px,4.3vw,60px);line-height:1.06;max-width:700px;margin-bottom:17px;text-wrap:pretty;text-shadow:0 3px 15px rgba(0,54,108,.5)}
.hero h1 em{font-family:inherit;font-weight:800;font-style:normal;color:#bcefff;letter-spacing:inherit}
.hero h1 .title-line{display:block}
.hero-desc{font-size:15px;color:#fff;line-height:1.55;max-width:510px;margin-bottom:17px;text-shadow:0 2px 10px rgba(0,52,108,.5)}
.hero-offer{display:flex;align-items:center;flex-wrap:wrap;gap:8px;width:max-content;max-width:100%;background:linear-gradient(100deg,#0376d4,#049de0);color:#fff;padding:12px 16px;border-radius:8px;font-size:11px;font-weight:600;box-shadow:0 11px 23px rgba(0,57,126,.28);margin:0 0 22px}
.hero-offer strong{font-size:15px;font-weight:800;white-space:nowrap}
.offer-separator{opacity:.8;margin:0 3px}
.hero-highlights{display:none}
.hero-highlights div{border-left:2px solid #9fe7fb;padding-left:12px}
.hero-highlights strong{font-size:13px;color:#fff}
.hero-highlights span{font-size:9px;color:#d1f1fa}
.hero-watermark{color:#fff;text-shadow:0 1px 7px #075289}

.quiz-card{background:#fff;border-radius:18px;border-top:6px solid #009ae7;box-shadow:0 26px 80px rgba(0,57,112,.28);padding:28px 28px 24px}
.quiz-label{color:#0078c6;font-size:11px;letter-spacing:.11em}
.quiz-counter{color:#6798b7}
.progress-outer{height:5px;border-radius:9px;background:#d7edf8;margin:18px 0 29px}
.progress-inner{border-radius:9px;background:linear-gradient(90deg,#006dcc,#00b3e4)}
.quiz-card h2{font-family:Inter,Arial,sans-serif;font-size:25px;font-weight:800;line-height:1.18;letter-spacing:-.045em;color:#064876}
.quiz-sub{color:#66869a;font-size:12px}
.choice{border:1px solid #d0e6f1;border-radius:9px;color:#194a6c;padding:13px 12px;background:#fbfdff}
.choice:hover,.choice:focus-visible{background:#e8f8ff;border-color:#008bd5}
.choice-dot{border-color:#89bada}
.choice-dot:after{background:#0089d4}
.lead-fields input{border-color:#c7e3ef;border-radius:7px}
.check-consent input{accent-color:#007ccc}
.quiz-submit{box-shadow:0 8px 24px rgba(0,122,206,.23)}

.trust-strip{background:#eaf8ff;border-bottom:1px solid #ccebf7}
.trust-num{color:#006cb4}
.trust-text{color:#47798e}
.trust-item+.trust-item{border-color:#c5e1ec}

.destination-scene{position:relative;min-height:540px;display:flex;align-items:center;overflow:hidden;color:#fff;background:#0478b8}
.destination-backdrop{position:absolute;inset:0;background:url('assets/vista-praia-c.jpg') center 53%/cover;filter:saturate(1.35) contrast(1.05)}
.destination-gradient{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,72,142,.93) 0%,rgba(0,114,192,.79) 37%,rgba(0,115,181,.23) 79%,rgba(0,95,150,.07))}
.destination-content{position:relative;padding-top:100px;padding-bottom:100px;width:100%}
.destination-content .eyebrow{color:#baf0ff}
.destination-content h2{font-family:Inter,Arial,sans-serif;font-size:clamp(35px,4.5vw,65px);line-height:1.08;font-weight:800;letter-spacing:-.06em;max-width:770px;margin:17px 0 22px;text-shadow:0 2px 20px rgba(0,50,106,.1)}
.destination-content h2 em{font-style:normal;color:#b9f3ff}
.destination-content p{font-size:16px;line-height:1.75;color:#f1fbff;max-width:580px;margin:0 0 27px}
.destination-tags{display:flex;gap:9px;flex-wrap:wrap}
.destination-tags span{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.45);border-radius:100px;padding:10px 16px;font-size:11px;font-weight:700;backdrop-filter:blur(3px)}

.section-title{color:#063d67}
.intro-photo img{border-radius:18px;filter:saturate(1.23) contrast(1.03)}
.intro-photo:after{border-color:#46b7df}
.photo-caption{background:#fff;border-radius:7px;color:#0577b3}
.point-index{color:#0088c8;border-color:#87cce5;background:#eefaff}
.point h3{color:#114b70}
.gallery-section{background:#eaf8ff}
.gallery-image{border-radius:14px}
.gallery-image img{filter:saturate(1.18)}
.gallery-image:after{background:linear-gradient(transparent,rgba(0,74,137,.65))}
.gallery-caption{font-size:14px}
.lifestyle{background:linear-gradient(128deg,#00549d,#058bd3);color:#fff}
.lifestyle:before{color:rgba(255,255,255,.055)}
.lifestyle .body-lg{color:#e2f7ff}
.lifestyle-item span{color:#cae9f9}
.lifestyle-item{border-color:rgba(255,255,255,.38)}
.lifestyle-image img{border-radius:16px;filter:saturate(1.2)}
.decision-card{border-color:#c8e6f2;border-radius:16px;background:linear-gradient(#fff,#f8fdff);transition:transform .2s,box-shadow .2s}
.decision-card:hover{transform:translateY(-3px);box-shadow:0 14px 35px rgba(0,115,184,.09)}
.decision-icon{border-color:#9ed6e9;background:#ebfaff;color:#008ac8}
.decision-card h3{color:#075681}
.cta-band{background:linear-gradient(115deg,#006cce,#00a0d8);color:white;position:relative;overflow:hidden}
.cta-band:after{content:'';position:absolute;right:-130px;top:-220px;width:600px;height:600px;border:1px solid rgba(255,255,255,.19);border-radius:50%;pointer-events:none}
.cta-band .eyebrow,.cta-band h2,.cta-band p{color:white!important}
.cta-band p{opacity:.9}
.cta-band .btn{background:white;color:#006cb6;box-shadow:0 12px 30px rgba(0,60,125,.2)}
.cta-band .btn:hover{background:#eafaff}
.location-section{background:#f2fbff}
.local-list div{border-color:#29a9d7}
.location-img img{border-radius:18px;filter:saturate(1.25)}
.location-tag{border-radius:8px;color:#036ba7}
.faq-list summary{color:#075280}
.faq-list summary:after{color:#0298d9}
.end-section{background:#0062ae}
.end-section:before{background:linear-gradient(100deg,rgba(0,63,137,.86),rgba(0,118,181,.68)),url('assets/fachada-praia.jpg') center/cover;opacity:1}
.end-section .section-title{color:#fff}
.end-section .btn{background:#fff;color:#036eaf}
.end-section .btn:hover{background:#dff8ff}
.sticky-mobile .btn{background:linear-gradient(135deg,#006bd3,#00a8dc)}

/* Conversion-first fixed navigation: the lead form is one tap away at every scroll position. */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.site-header .nav-right .btn{font-size:13px;font-weight:800;letter-spacing:-.01em;padding:15px 20px}
.site-header .nav-right .btn:focus-visible{outline:3px solid #00a8dd;outline-offset:3px}
.quiz-card{scroll-margin-top:108px}
.sticky-mobile{display:none!important}

/* Official Hapê brand files from the company's own website. */
.site-header{background:rgba(255,255,255,.98);color:#114b80;border-bottom:1px solid #d0e7f6;box-shadow:0 3px 18px rgba(0,60,126,.07)}
.brand-official img{display:block;width:230px;height:auto;max-height:71px;object-fit:contain}
.nav-right .nav-text{color:#1a5c8d;font-weight:700}
.nav-right .nav-text:hover{color:#008bcf}
.nav-right .btn{background:linear-gradient(135deg,#006bcf,#008fdb);color:#fff;border:0;box-shadow:0 8px 18px rgba(0,105,195,.2)}
.nav-right .btn:hover{background:linear-gradient(135deg,#0054b1,#0082c4)}
.footer-official{display:inline-flex;align-items:center;gap:13px;color:#fff}
.footer-official img{width:29px;height:auto;object-fit:contain}
.footer-official span{font-weight:700;font-size:23px;letter-spacing:-.04em}

@media(max-width:1100px){
  .hero{min-height:850px}
  .hero h1.serif{font-size:49px}
  .hero-layout{grid-template-columns:minmax(0,1fr) 370px;gap:3%}
  .hero-offer{font-size:10px}
  .hero-offer strong{font-size:13px}
}
@media(max-width:820px){
  .hero{min-height:0}
  .hero-layout{padding-top:125px;padding-bottom:55px}
  .hero-image{background-position:center top}
  .hero h1.serif{font-size:clamp(43px,7.4vw,65px);max-width:680px}
  .hero-offer{max-width:600px}
  .quiz-card{max-width:600px}
  .destination-scene{min-height:420px}
  .destination-content{padding-top:76px;padding-bottom:76px}
  .destination-gradient{background:linear-gradient(90deg,rgba(0,70,136,.92),rgba(0,103,176,.53))}
}
@media(max-width:560px){
  .site-header{background:rgba(255,255,255,.98)}
  .brand-official img{width:125px;max-height:48px}
  .site-header .nav{height:68px;gap:8px}
  .site-header .nav-right{gap:0}
  .site-header .nav-right .btn{display:inline-flex;font-size:10.5px;line-height:1.22;white-space:normal;text-align:center;max-width:205px;padding:10px 9px;gap:5px;border-radius:7px}
  .quiz-card{scroll-margin-top:80px}
  .hero{background:#eaf7fe}
  .hero-image{inset:0 0 auto;height:900px;background-size:auto 900px;background-position:center top}
  .hero-image:after{background:linear-gradient(180deg,rgba(0,65,158,.77) 0%,rgba(0,100,190,.58) 29%,rgba(0,143,215,.25) 45%,rgba(0,160,224,0) 60%)}
  .hero-layout{padding-top:112px;padding-bottom:40px}
  .hero-facade-mobile{display:block;height:385px;margin:0 -19px 24px;background:transparent}
  .quiz-card{position:relative;z-index:2}
  .project-signature{margin-bottom:16px}
  .project-signature img{width:255px}
  .project-name{font-size:25px}
  .project-icon{font-size:22px}
  .project-sub{font-size:8px}
  .hero-overline{font-size:10px;letter-spacing:.12em;margin-bottom:15px}
  .hero h1.serif{font-size:41px;line-height:1.08;letter-spacing:-.055em;margin-bottom:16px}
  .hero-desc{font-size:13px;line-height:1.5;margin-bottom:17px;max-width:340px}
  .hero-offer{gap:5px;padding:11px 13px;font-size:10px;margin-bottom:18px}
  .hero-offer strong{font-size:13px}
  .hero-highlights{display:none}
  .hero-highlights div{padding-left:8px}
  .hero-highlights strong{font-size:10px}
  .hero-highlights span{font-size:8px}
  .quiz-card{padding:23px 19px;border-radius:15px}
  .quiz-card h2{font-size:24px}
  .destination-scene{min-height:0}
  .destination-backdrop{background-position:60% center}
  .destination-gradient{background:linear-gradient(90deg,rgba(0,74,146,.91),rgba(0,96,166,.71))}
  .destination-content{padding-top:68px;padding-bottom:70px}
  .destination-content h2{font-size:37px}
  .destination-content p{font-size:13px}
  .destination-tags span{font-size:10px;padding:9px 12px}
  .trust-grid{grid-template-columns:repeat(2,1fr)}
  .trust-item:nth-child(3) .trust-num{font-size:27px}
  .cta-band:after{right:-430px}
  .lifestyle-image img,.intro-photo img{border-radius:12px}
}
