/* Responsive ajustes: evita elementos cortados e rolagem lateral. */
*,*::before,*::after{min-width:0}
html,body{width:100%;max-width:100%;overflow-x:clip}
img{max-width:100%;height:auto}
main,section,header,footer{max-width:100%}
.hero-content,.planning-copy,.trip-copy,.experience-card,.faq-list,.ebook>div{min-width:0}
.button{max-width:100%;white-space:normal;text-align:center;line-height:1.4}
.mobile-cta{display:none!important}

@media(max-width:850px){
  .site-header{padding-inline:4%;gap:10px}
  .brand img{width:100px}
  .main-nav{gap:10px}
  .main-nav a{font-size:8px;letter-spacing:.07em}
  .site-header>.button{padding:11px 13px;font-size:8px;letter-spacing:.07em}
  .experience-card{padding-inline:21px}
  .trip-grid{gap:14px}
  .trip-copy{padding-inline:17px}
}

@media(max-width:760px){
  .site-header{height:68px;padding-inline:16px;display:grid;grid-template-columns:minmax(0,1fr) 40px 42px;gap:10px}
  .brand{display:block;width:max-content;max-width:100%}
  .brand img{display:block;width:90px;height:56px}
  .menu-toggle{display:block;width:40px;height:40px;line-height:1;padding:0}
  .main-nav{display:none;position:absolute;top:68px;left:0;right:0;width:100%;padding:18px 22px 22px;gap:0;background:#faf7f0;box-shadow:0 12px 22px #20190f1c;flex-direction:column;align-items:stretch}
  .main-nav.open{display:flex}
  .main-nav a{display:block;padding:11px 0;font-size:11px;border-bottom:1px solid #e8dfd3}
  .site-header>.button{width:42px;height:42px;padding:0;margin:0;justify-self:end;font-size:0;border-radius:50%;flex:none}
  
  .hero{height:auto;min-height:0;min-height:680px;align-items:flex-end}
  .hero-photo{background-position:62% top;background-size:auto 66%,cover}
  .hero-content{width:100%;max-width:540px;margin:0;padding:300px 24px 34px}
  .hero h1{font-size:clamp(42px,12vw,52px);line-height:1.02}
  .hero .script{font-size:clamp(22px,6.2vw,27px)}
  .hero-content>p:not(.eyebrow):not(.script){font-size:13px;line-height:1.65}
  .hero-content>.button{width:100%;padding-inline:14px}
  .hero-down{width:auto;max-width:100%;line-height:1.5}
  .postmark{top:9%;right:6%;font-size:17px}
  .section{padding:56px 22px}
  .section-title{margin-bottom:28px}
  .intro{gap:25px}
  .intro h2,.planning h2,.ebook h2,.section-title h2,.final-cta h2{font-size:clamp(34px,9vw,42px);line-height:1.08}
  .benefits{gap:10px}
  .benefits div{min-height:clamp(120px,38vw,150px);padding:12px}
  .benefits small{font-size:10px}
  .experience-grid,.trip-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  .experience-card,.experience-card:last-child,.trip-card,.trip-card:last-child{grid-column:auto;max-width:none;width:100%;justify-self:stretch}
  .experience-card{padding:25px 22px;min-height:0}
  .experience-card h3{font-size:29px}
  .experience-card .eyebrow{min-height:0;margin-top:12px}
  .tags{margin:4px 0 16px}
  .planning{grid-template-columns:minmax(0,1fr)}
  .planning-photo{width:100%;min-height:0;height:clamp(230px,65vw,330px);background-position:73% center}
  .planning-copy{padding:36px 22px 42px}
  .planning ul{grid-template-columns:minmax(0,1fr);padding-left:17px;gap:8px}
  .planning-copy>.button{width:100%}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 12px;margin:30px 0}
  .steps article{padding:0 3px}
  .steps p{font-size:10px}
  .process>.button{width:max-content;max-width:100%}
  .ebook{grid-template-columns:minmax(0,1fr);padding:46px 22px;gap:30px}
  .book-art{width:min(100%,270px);height:330px}
  .ebook .button{width:100%}
  .trip-image{height:clamp(180px,57vw,240px)}
  .trip-copy{padding:19px 18px 22px}
  .trip-copy h3{font-size:22px;overflow-wrap:anywhere}
  .faq-list details{padding:15px 2px}
  .faq-list summary{font-size:14px;line-height:1.45;overflow-wrap:anywhere}
  .faq-list details p{line-height:1.65}
  .faq>.button{width:100%}
  .final-cta{padding:60px 23px;background-position:68% center}
  .final-cta>.button{width:100%}
  footer{padding:20px 20px 24px;gap:8px;flex-wrap:wrap;text-align:center}
  footer img{width:110px;height:62px}
  footer p{width:100%;line-height:1.5}
}

@media(max-width:380px){
  .site-header{padding-inline:12px;grid-template-columns:minmax(0,1fr) 36px 40px;gap:7px}
  .brand img{width:82px}
  .menu-toggle{width:36px}
  .site-header>.button{width:40px;height:40px}
  .hero-content{padding-inline:19px}
  .postmark{font-size:15px;right:5%}
  .section{padding-inline:18px}
  .benefits div{min-height:112px}
  .experience-card{padding-inline:18px}
  .planning-copy{padding-inline:18px}
  .ebook{padding-inline:18px}
  .faq{padding-inline:18px}
  .final-cta{padding-inline:19px}
}

.hero-blog-link{display:flex;align-items:center;gap:12px;width:min(100%,365px);margin-top:15px;padding:12px 15px;background:rgba(252,250,245,.88);border:1px solid rgba(167,93,61,.22);box-shadow:0 7px 22px rgba(57,41,26,.09);backdrop-filter:blur(5px);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.hero-blog-link:hover{transform:translateY(-3px);box-shadow:0 11px 27px rgba(57,41,26,.15);border-color:rgba(167,93,61,.55)}
.blog-spark{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:#fff;background:var(--rust);font-size:17px;animation:blogSpark 3s ease-in-out infinite}
.blog-teaser-copy{display:flex;flex-direction:column;min-width:0;line-height:1.35}
.blog-teaser-copy small{font:700 8px var(--sans);letter-spacing:.16em;color:#7b6959}
.blog-teaser-copy strong{font:600 18px var(--serif);color:#3b342e}
.blog-teaser-copy em{font:normal 10px/1.4 var(--sans);color:#655d54}
.blog-arrow{margin-left:auto;flex:none;color:var(--rust);font-size:20px;transition:transform .2s ease}
.hero-blog-link:hover .blog-arrow{transform:translate(3px,-3px)}
@keyframes blogSpark{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(12deg) scale(1.08)}}
@media(max-width:760px){.hero-blog-link{margin-top:13px;width:100%;max-width:100%;padding:10px 12px}.blog-teaser-copy strong{font-size:17px}.blog-teaser-copy em{font-size:9px}}
@media(prefers-reduced-motion:reduce){.blog-spark{animation:none}.hero-blog-link,.blog-arrow{transition:none}}

/* Recorte de papel de diário de viagem, alinhado à esquerda na HERO. */
.hero-blog-link{position:relative;isolation:isolate;overflow:visible;margin-left:0;margin-right:auto;padding:17px 18px 15px 16px;background:repeating-linear-gradient(0deg,#f2e8d6 0,#f2e8d6 5px,#f4ead9 6px,#f2e8d6 8px);border:0;clip-path:polygon(0 3%,8% 1%,16% 3%,24% 0,32% 2%,41% 0,50% 3%,59% 1%,68% 3%,77% 0,86% 2%,94% 0,100% 3%,98.5% 17%,100% 30%,98.5% 44%,100% 58%,98.5% 72%,100% 85%,98% 98%,89% 96%,80% 100%,71% 97%,62% 100%,52% 97%,43% 100%,33% 97%,24% 100%,14% 97%,5% 100%,0 97%,1.5% 83%,0 70%,1.5% 56%,0 42%,1.5% 28%,0 15%);filter:drop-shadow(0 8px 7px rgba(52,38,25,.19));transform:rotate(-.6deg)}
.hero-blog-link::before{content:"";position:absolute;z-index:1;top:0;left:48%;width:54px;height:16px;background:rgba(196,166,119,.46);clip-path:polygon(0 8%,100% 0,96% 88%,2% 100%);transform:rotate(2deg)}
.blog-spark,.blog-teaser-copy,.blog-arrow{position:relative;z-index:2}
.hero-blog-link:hover{transform:rotate(0) translateY(-3px);filter:drop-shadow(0 12px 9px rgba(52,38,25,.22));border-color:transparent}
.blog-teaser-copy small{letter-spacing:.19em;color:#81674e}
.blog-teaser-copy strong{font-size:19px;color:#44362b}
.blog-spark{background:#a75d3d}
.blog-arrow{color:#875137}
@media(max-width:760px){.hero-blog-link{width:100%;max-width:365px;margin-left:0;margin-right:auto;padding:15px 16px 13px 14px}}

/* Hero video: muted autoplay loop with readable text overlay. */
.hero{isolation:isolate}
.hero-video{position:absolute;inset:0;z-index:-2;display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%;background:#ead4b8}
.hero-photo{z-index:-1;background:linear-gradient(90deg,rgba(247,242,233,.97) 0%,rgba(247,242,233,.87) 32%,rgba(247,242,233,.18) 64%,rgba(247,242,233,0) 80%);pointer-events:none}
.hero-content,.postmark{z-index:2}
@media(max-width:760px){.hero-video{object-position:62% center}.hero-photo{background:linear-gradient(0deg,rgba(247,242,233,1) 0%,rgba(247,242,233,.96) 33%,rgba(247,242,233,.38) 57%,rgba(247,242,233,0) 76%)}}
.hero-blog-link{position:absolute;left:auto;right:5%;top:auto;bottom:12%;z-index:4;width:clamp(300px,27vw,365px);margin:0}
@media(max-width:850px) and (min-width:761px){.hero-blog-link{right:4%;bottom:8%;width:300px}}
@media(max-width:760px){.hero-blog-link{position:relative;inset:auto;width:min(100% - 38px,365px);max-width:365px;margin:0 19px 20px auto}}

