:root{--blue:#182f55;--orange:#e77600;--gold:#dac38f;--cream:#faf6ee;--ink:#26374d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font:16px/1.7 Arial,sans-serif;color:var(--ink);background:white}a{color:inherit}img{max-width:100%;height:auto}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.1;margin:0 0 24px}h1{font-size:clamp(42px,5.1vw,70px);letter-spacing:-1.8px}h2{font-size:clamp(34px,4vw,49px);letter-spacing:-1px}h3{font-size:27px}p{margin:0 0 22px}.wrap{width:min(1180px,88%);margin:auto}.header{background:var(--blue);color:white;border-bottom:1px solid #dac38f40}.header .wrap{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:100px}.logo{width:260px;display:block}.logo img{display:block;width:100%}nav{display:flex;align-items:center;gap:24px;font-size:13px}nav a{text-decoration:none}nav a:hover{color:var(--gold)}.navcontact{border:1px solid var(--gold);padding:9px 15px;border-radius:5px}.menu-toggle{display:none;background:transparent;color:white;border:1px solid var(--gold);padding:9px;border-radius:4px}.hero{background:var(--blue);color:var(--cream);padding:60px 0 65px}.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:35px}.kicker{font-size:11px;letter-spacing:2.2px;text-transform:uppercase;font-weight:bold;color:#705932;margin-bottom:22px}.hero .kicker{color:var(--gold)}h1 em{color:var(--gold);font-weight:400}.hero p{max-width:610px;color:#dde4ef;font-size:17px}.hero-art{width:100%;height:auto;display:block;object-fit:contain}.actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}.btn{display:inline-flex;text-decoration:none;align-items:center;justify-content:center;padding:14px 23px;background:var(--orange);color:var(--blue);border-radius:5px;font-weight:bold;line-height:1.4;font-size:14px}.btn:hover{filter:brightness(1.07)}.btn-outline{background:transparent;color:var(--cream);border:1px solid var(--gold)}.btn-blue{background:var(--blue);color:white}.hero-note{font-size:12px!important;margin-top:20px;color:var(--gold)!important}.strip{background:var(--cream);border-bottom:1px solid #e4d9c6}.strip .wrap{display:flex;justify-content:space-between;gap:24px;padding:22px 0;font-size:13px}.strip span:before{content:'✦';color:var(--orange);margin-right:10px}section{padding:82px 0}.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.about p{color:#566475}.about-heading{border-left:3px solid var(--orange);padding-left:27px}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:45px;border-top:1px solid #e5dbc9;padding-top:30px}.values strong{display:block;margin-bottom:10px;font-size:16px}.values p{font-size:14px;color:#566475}.offers{background:var(--cream)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.section-head h2{margin-bottom:0}.textlink{font-size:14px;color:var(--blue);font-weight:bold;text-underline-offset:5px}.offer-card{display:grid;grid-template-columns:.8fr 1.2fr;background:white;border:1px solid #e5d7bd;border-radius:12px;overflow:hidden}.offer-visual{background:var(--blue);color:var(--gold);padding:40px;display:flex;flex-direction:column;justify-content:center}.offer-visual .dates{font-size:14px;letter-spacing:1px;border-top:1px solid #dac38f60;padding-top:22px}.offer-visual h3{font-size:43px;color:white}.offer-visual p{font-size:16px;margin-bottom:30px}.offer-body{padding:38px 42px}.badge{display:inline-block;background:#faf1e4;color:#7e470e;font-size:11px;padding:5px 12px;border-radius:30px;margin-bottom:18px;font-weight:bold}.offer-body h3{font-size:32px}.offer-body p{color:#566475}.offer-body ul{padding-left:20px;font-size:14px;margin:20px 0 26px}.offer-body li{margin-bottom:7px}.small{font-size:12px;color:#687482;margin-top:16px}.trip-section{background:white}.trip-list{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:36px}.trip-list article{border-top:2px solid var(--gold);padding-top:25px}.trip-list .num{font:13px Arial;color:#98611d;display:block;margin-bottom:22px}.trip-list h3{font-size:26px}.trip-list p{font-size:14px;color:#566475}.tips{background:#f5f7fa}.tips-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}details{border-bottom:1px solid #d6dbe3;padding:20px 0}summary{cursor:pointer;font-weight:bold;font-size:16px}details p{font-size:14px;color:#566475;margin:16px 0 0}.contact{background:var(--blue);color:white}.contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.contact .kicker{color:var(--gold)}.contact p{color:#dce4ef}.contact-box{border:1px solid #dac38f70;border-radius:8px;padding:32px}.contact-box small{color:var(--gold);display:block;margin-bottom:12px}.phone{font:30px Georgia;display:block;text-decoration:none;margin-bottom:23px}.contact-box .btn{width:100%}.insta{display:block;margin-top:18px;font-size:13px}footer{background:var(--blue);color:#d9dfeb;border-top:1px solid #ffffff20;padding:30px 0 85px;font-size:12px}footer .wrap{display:flex;justify-content:space-between;gap:25px}.floating{position:fixed;bottom:18px;right:20px;z-index:10;box-shadow:0 4px 18px #0002;background:white;color:var(--blue);border:1px solid #dac38f;padding:12px 18px}.skip{position:absolute;top:-100px;background:white;color:var(--blue);padding:12px}.skip:focus{top:0;z-index:20}:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.offers-hero{background:white;color:var(--blue);padding:45px 0}.offers-hero .hero-grid{grid-template-columns:1.2fr .8fr}.offers-hero p{color:#566475}.offers-hero .kicker{color:#705932}.offers-hero img{max-height:340px;object-fit:contain}.offers-hero h1 em{color:#9a682b}.breadcrumb{font-size:12px;margin-bottom:25px}.breadcrumb a{text-underline-offset:4px}@media(max-width:800px){.header .wrap{min-height:84px;flex-wrap:wrap;padding:15px 0;gap:15px}.logo{width:210px}.menu-toggle{display:block}nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding-bottom:10px}nav.open{display:flex}nav a{padding:10px 0}.navcontact{padding:10px!important;text-align:center}.hero{padding:38px 0 42px}.hero-grid,.about,.tips-grid,.contact .wrap{grid-template-columns:1fr;gap:30px}.hero-art{max-width:460px;margin:auto}.hero-grid>div:first-child{order:0}.hero p{font-size:16px}h1{font-size:46px}.strip .wrap{flex-wrap:wrap;gap:10px}.strip span{flex:1 1 40%;font-size:12px}section{padding:52px 0}.values{grid-template-columns:1fr;gap:12px}.section-head{align-items:start;flex-direction:column;gap:18px}.offer-card{grid-template-columns:1fr}.offer-visual{padding:30px}.offer-visual h3{font-size:34px}.offer-body{padding:28px}.trip-list{grid-template-columns:1fr 1fr;gap:24px}.offers-hero .hero-grid{grid-template-columns:1fr}.offers-hero img{max-height:270px;margin:auto}.contact-box{padding:24px}footer .wrap{display:block}footer p{margin-bottom:10px}.floating{font-size:12px;bottom:14px;right:14px}.actions .btn{flex:1}.about-heading{padding-left:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Home branca, com o Shoyo como destaque à esquerda. */
.home .header{background:white;color:var(--blue);border-bottom:1px solid #ececec}
.home .header nav a:hover{color:#a95000}.home .menu-toggle{color:var(--blue);border-color:var(--blue)}
.home .hero{background:white;color:var(--blue);padding:36px 0 64px}
.home .hero-grid{grid-template-columns:1.3fr 1fr;gap:12px;min-height:560px}
.home .hero-art{order:-1;width:100%;max-width:none;transform:scale(1.08)}
.home .hero h1{font-size:clamp(42px,4.7vw,65px);letter-spacing:-1.5px}
.home .hero h1 em{color:var(--blue)}
.home .hero p{color:#566475}.home .hero .kicker{color:var(--blue)}
.home .hero-note{color:#566475!important}
.home .btn-outline{color:var(--blue);border-color:var(--blue)}
.home .strip,.home .offers,.home .tips,.home .contact,.home footer{background:white;color:var(--blue)}
.home .strip{border-top:1px solid #ececec;border-bottom:1px solid #ececec}
.home .contact{border-top:1px solid #ececec}
.home .contact p{color:#566475}.home .contact .kicker,.home .contact-box small{color:var(--blue)}
.home .contact-box{border-color:#dedede}.home footer{border-top:1px solid #ececec}
.home .offer-visual{background:white;color:var(--blue);border-right:1px solid #e5d7bd}
.home .offer-visual h3,.home .offer-visual .kicker{color:var(--blue)!important}
.home .offer-visual .dates{border-color:#e5d7bd}.home .offer-visual p{color:#566475}
@media(max-width:800px){.home .hero-grid{grid-template-columns:1fr;gap:25px;min-height:0}.home .hero-art{order:-1;width:min(100%,560px);transform:none}.home .hero-grid>div:first-child{order:0}.home .hero{padding-top:12px}.home .hero h1{font-size:44px}.home .offer-visual{border-right:0;border-bottom:1px solid #e5d7bd}}

.brand-ribbon{background:#182f55;color:white;font-size:12px;font-weight:bold;padding:9px 0}.brand-ribbon .wrap{display:flex;justify-content:center;align-items:center;gap:18px;text-align:center}.brand-ribbon .divider{color:#dac38f}@media(max-width:500px){.brand-ribbon{font-size:11px}.brand-ribbon .wrap{gap:10px}}
/* Alinhamento da marca sobre o Shoyo, na coluna esquerda da home. */
.home .hero>.wrap,.home .header>.wrap{width:96%;max-width:1440px}
.home .hero-grid{grid-template-columns:1.3fr 1fr;gap:32px}
.home .hero-art{transform:translateX(-10%) scale(1.08)}
.home .header>.wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;min-height:116px}
.home .header .logo{justify-self:center;transform:translateX(-8%);width:280px}
.home .header nav{justify-content:flex-start;gap:20px}
@media(max-width:1000px) and (min-width:801px){.home .header nav{gap:11px;font-size:11px}.home .header .logo{width:240px}.home .header .navcontact{padding:8px}}
@media(max-width:800px){.home .header>.wrap{display:flex;width:88%;min-height:100px;position:relative;justify-content:center}.home .header .logo{transform:none;margin:auto;width:240px}.home .header .menu-toggle{position:absolute;right:0;top:33px}.home .header nav{width:100%}.home .hero>.wrap{width:96%}.home .hero-grid{grid-template-columns:1fr;gap:22px}.home .hero-art{transform:translateX(-5%);width:100%;max-width:560px;margin-left:0}.home .hero-grid>div{padding:0 4%}} 

@media(min-width:801px){.home .hero-grid{gap:0;grid-template-columns:1.15fr 1fr}.home .hero-grid>div:first-child{transform:translateX(-55px);max-width:650px}.home .hero-art{transform:translateX(-7%) scale(1.08)}}@media(max-width:800px){.home .hero-grid{gap:8px}}
.home .hero{overflow:visible;padding-bottom:80px}
.home .hero-art{object-fit:contain;height:auto}
@media(min-width:801px){.home .hero-art{transform:translateX(-5%);padding-bottom:18px}.home .hero-grid{min-height:560px}}
.home .hero{padding-bottom:20px}.home .trip-section{padding-top:28px}
.hotel-intro{background:#182f55;color:white;padding:55px 0}.hotel-intro .kicker{color:#dac38f}.hotel-intro p{max-width:620px;color:#e4e9f0}.hotel-catalog{background:white}.hotel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.hotel-card{border:1px solid #e3dacb;border-radius:12px;overflow:hidden}.hotel-cover{background:#f7f2e8;min-height:220px;padding:25px;display:flex;flex-direction:column;justify-content:space-between}.hotel-cover span{color:#a65300;font:14px Arial}.hotel-cover h2{font-size:30px;margin:0;color:#182f55}.hotel-info{padding:20px}.hotel-info h3{font:600 16px/1.4 Arial;margin-bottom:8px}.hotel-info>p{font-size:12px;color:#647083}.hotel-info summary{font-size:13px}.hotel-info .btn{font-size:12px;padding:10px}.hotel-info details p{font-size:13px}@media(max-width:1000px){.hotel-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:550px){.hotel-grid{grid-template-columns:1fr}.hotel-cover{min-height:160px}}
.home .trip-list{grid-template-columns:repeat(3,1fr)}@media(max-width:550px){.home .trip-list{grid-template-columns:1fr}}
.hotel-page-title{padding:45px 0 20px;text-align:center;background:white}.hotel-page-title h1{font-size:clamp(35px,4vw,54px);color:#182f55}.hotel-details{background:#faf6ee;padding:35px 0}.hotel-details .wrap{max-width:980px}.detail-box{background:white;border-radius:12px;border:1px solid #e5dbc8;padding:30px;margin-bottom:22px}.detail-box h2{font-size:29px}.detail-box p{color:#566475;font-size:15px}.quote-section{text-align:center;background:white;padding:55px 0}.quote-section p{max-width:650px;margin:0 auto 25px}.hotel-page-title .breadcrumb{text-align:left}
.hotel-photo-cover{padding:0;min-height:0;display:block;aspect-ratio:3/2;overflow:hidden;background:#f5f7fa}.hotel-photo-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}.hotel-photo-cover:hover img{transform:scale(1.03)}.hotel-gallery{padding:5px 0 32px;background:white}.hotel-gallery .wrap{max-width:980px}.gallery-stage{position:relative;border-radius:12px;overflow:hidden;background:#f5f7fa}.gallery-main{display:block;width:100%;height:500px;object-fit:contain}.gallery-prev,.gallery-next{position:absolute;top:50%;transform:translateY(-50%);border:0;border-radius:50%;background:#182f55;color:white;width:44px;height:44px;font:32px/1 Arial;cursor:pointer;box-shadow:0 2px 8px #0002}.gallery-prev{left:12px}.gallery-next{right:12px}.gallery-thumbs{display:flex;gap:10px;overflow:auto;padding:14px 3px 6px}.gallery-thumb{flex:0 0 118px;padding:3px;border:2px solid transparent;border-radius:6px;background:white;cursor:pointer}.gallery-thumb[aria-pressed=true]{border-color:#e77600}.gallery-thumb img{display:block;width:100%;height:75px;object-fit:cover;border-radius:3px}.photo-credit{font-size:11px;color:#647083;margin:8px 0 0}@media(max-width:600px){.gallery-main{height:300px}.gallery-thumb{flex-basis:90px}.gallery-thumb img{height:60px}.gallery-prev,.gallery-next{width:36px;height:36px}}

.home .trip-list{grid-template-columns:repeat(2,1fr)}.destinations-intro{background:#182f55;color:white;padding:50px 0}.destinations-intro .kicker{color:#dac38f}.destinations-intro p{max-width:710px;color:#e4e9f0}.destination-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.destination-grid article{border:1px solid #e4e8ef;border-top:3px solid #e77600;padding:30px;border-radius:12px;background:white}.destination-grid .kicker{color:#a65300;margin-bottom:18px;display:block}.destination-grid h2{font-size:31px;color:#182f55}.destination-grid p{font-size:15px;color:#647083;margin-bottom:0}.destination-cta{text-align:center;padding:55px 0 0}.destination-cta h2{font-size:36px}.destination-cta p{color:#647083}@media(max-width:600px){.home .trip-list,.destination-grid{grid-template-columns:1fr}.destination-grid article{padding:25px}.destination-grid h2{font-size:29px}}
@media(min-width:801px){.home .hero-art{width:100%;height:600px;object-fit:contain;padding-bottom:0;transform:translateX(-5%)}}@media(max-width:800px){.home .hero-art{width:100%;height:auto;max-height:480px;object-fit:contain;transform:none}}
.home .hero{padding-top:34px;padding-bottom:0}.home .trip-section{padding-top:10px}.memory-banner{background:rgba(24,47,85,.08);border-left:5px solid rgba(231,118,0,.65);border-radius:12px;padding:30px 34px;color:#182f55}.memory-banner p,.memory-banner h2{font:400 clamp(26px,2.7vw,36px)/1.25 Georgia,serif;letter-spacing:-.5px;margin:0}.memory-banner p{margin-bottom:12px}.home .trip-list{margin-top:28px}.home .trip-list article{border-top:2px solid rgba(231,118,0,.5)}@media(min-width:801px){.home .hero-grid{min-height:0}.home .hero-art{height:560px}}@media(max-width:800px){.home .hero{padding-top:24px}.memory-banner{padding:24px 22px}.home .trip-section{padding-top:18px}}
.memory-banner .kicker{font:700 11px/1.7 Arial,sans-serif;letter-spacing:2.2px;text-transform:uppercase;color:#705932;margin:0 0 22px}
/* Logo e mascote compartilham a mesma coluna e o mesmo centro. */
@media(min-width:801px){.home .header>.wrap{grid-template-columns:1.15fr 1fr;gap:0}.home .header .logo{justify-self:stretch;width:100%;transform:translateX(-5%)}.home .header .logo img{width:280px;max-width:80%;margin:0 auto}}@media(min-width:801px) and (max-width:1000px){.home .header .logo img{width:240px}}@media(max-width:800px){.home .header .logo{transform:none}.home .hero-art{margin-left:auto;margin-right:auto;transform:none}}
@media(min-width:801px){.home .hero-grid{min-height:560px}.home .hero-art{height:530px}}@media(max-width:800px){.home .hero-art{max-height:450px}.home .hero{padding-bottom:16px}}
/* O centro da marca usa a mesma coordenada da coluna do mascote. */
@media(min-width:801px){.home .header{position:relative}.home .header .logo{position:absolute;left:calc((100% - min(96vw,1440px))/2 + min(23.1069767424vw,346.604651136px));top:50%;width:280px;transform:translate(-50%,-50%);margin:0}.home .header .logo img{width:100%;max-width:100%;margin:0}.home .header nav{grid-column:2}}@media(min-width:801px) and (max-width:1000px){.home .header .logo{width:240px}}

/* Box claro de grupos com a hierarquia solicitada. */
.group-section{background:#f5f7fa;padding:48px 0 20px}
.group-box{background:#fff;border-radius:22px;padding:40px;display:grid;grid-template-columns:1.8fr 1fr;gap:36px;align-items:center;box-shadow:0 12px 30px #182f5510}
.group-copy h2{font:700 44px/1.2 Arial,sans-serif;color:#182f55;margin:0 0 12px}
.group-copy .group-tagline{font:400 18px/1.5 Georgia,serif;color:#182f55;margin:0 0 20px}
.group-copy p{font-size:14px;color:#647083;max-width:620px}
.group-benefits{padding:0;margin:18px 0 0;list-style:none;display:flex;flex-wrap:nowrap;gap:18px;font-size:12px;color:#182f55}
.group-benefits li:before{content:'•';color:#e77600;margin-right:8px}
.group-action{border-left:1px solid #e8ebef;padding-left:30px;text-align:center}
.group-action h3{font:600 17px/1.5 Arial,sans-serif;margin-bottom:12px;color:#182f55}
.group-action p{font-size:12px;line-height:1.6;max-width:240px;margin:0 auto 20px;color:#647083}
.group-action .btn{border-radius:30px;color:#fff;font-size:12px;background:#e77600;box-shadow:0 5px 12px #e7760025}
@media(max-width:800px){.group-box{grid-template-columns:1fr;padding:28px;gap:24px}.group-action{border-left:0;border-top:1px solid #e8ebef;padding:24px 0 0}.group-copy h2{font-size:36px}.group-copy .group-tagline{font-size:17px}.group-section{padding-top:30px}}

.group-button-mascot{display:flex;align-items:flex-start;justify-content:center;gap:0}
.group-button-mascot .btn{margin-top:24px;white-space:nowrap;padding:14px 17px}
.group-button-mascot img{width:125px;height:125px;object-fit:contain;transform:scaleX(-1);flex-shrink:0}
@media(min-width:801px){.group-box{grid-template-columns:1.6fr 1fr}.group-action{padding-left:20px}}
@media(max-width:400px){.group-button-mascot img{width:100px;height:100px}.group-button-mascot .btn{padding:12px;font-size:11px;margin-top:18px}}

.group-copy{min-width:0}.group-benefits li{white-space:nowrap;flex-shrink:0}
@media(max-width:650px){.group-benefits{gap:12px;overflow-x:auto;padding-bottom:8px}.group-benefits li{font-size:11px}.group-benefits li:before{margin-right:5px}}

.family-section{padding:42px 0 12px;background:#fff}
.family-box{border:1px solid #182f5518;border-top:4px solid #e77600;border-radius:18px;overflow:hidden;background:#fff}
.family-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:16px 16px 0}
.family-photos img{width:100%;height:260px;display:block;object-fit:cover;border-radius:8px}
.family-photo-one{object-position:50% 35%}.family-photo-two{object-position:50% 71%}.family-photo-three{object-position:50% 20%}
.family-story{padding:32px 40px 24px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.family-story h2{font:400 clamp(28px,3vw,40px)/1.2 Georgia,serif;color:#182f55;margin:0}
.family-story p{font:400 15px/1.8 Arial,sans-serif;color:#647083;margin:0}
.family-care{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;margin:0 40px;padding:24px 0 30px;border-top:1px solid #182f5518}
.family-care li{display:flex;gap:12px;align-items:center}.family-icon{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;background:#e7760010;border-radius:50%;color:#e77600}.family-icon svg{width:24px;height:24px}
.family-care strong{display:block;color:#182f55;font-size:13px;line-height:1.5}.family-care small{display:block;color:#647083;font-size:11px;line-height:1.6}
@media(max-width:800px){.family-story{grid-template-columns:1fr;gap:20px;padding:26px 24px}.family-care{grid-template-columns:1fr;margin:0 24px;gap:18px}.family-photos{padding:10px 10px 0;gap:4px}.family-photos img{height:190px}.family-story h2{font-size:30px}}
@media(max-width:450px){.family-photos img{height:160px}.family-photo-one{object-position:50% 43%}}
/* Montagem das três fotos à esquerda, texto à direita. */
.family-box{display:grid;grid-template-columns:1fr 1.12fr;gap:28px 40px;padding:36px}
.family-photos{display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:185px 185px;gap:10px;padding:0;align-self:center}
.family-photos img{width:100%;height:100%;object-fit:cover;border-radius:12px;box-shadow:0 4px 12px #182f5512}
.family-photos .family-photo-one{grid-row:1/3;object-position:50% 45%}
.family-photos .family-photo-two{object-position:50% 75%}
.family-photos .family-photo-three{object-position:50% 20%}
.family-story{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:24px;padding:0}
.family-care{grid-column:1/-1;margin:0;padding:24px 0 0}
@media(max-width:800px){.family-box{grid-template-columns:1fr;padding:24px;gap:28px}.family-photos{width:100%;max-width:480px;margin:0 auto;grid-template-rows:175px 175px}.family-story{padding:0;gap:20px}.family-care{margin:0;grid-template-columns:1fr}}
@media(max-width:450px){.family-box{padding:18px;gap:24px}.family-photos{grid-template-rows:150px 150px;gap:8px}.family-story h2{font-size:28px}}

.agency-intro{background:#fff;padding:24px 0 56px}.agency-intro-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center}
.agency-intro h1{font:400 clamp(36px,4.2vw,56px)/1.12 Georgia,serif;color:#182f55;margin:0 0 24px}.agency-intro .kicker{color:#e77600}.agency-intro p{max-width:600px;color:#647083;font-size:16px;line-height:1.8}.agency-intro .agency-lead{color:#182f55;font-size:19px}.agency-intro .btn{margin-top:14px}
.agency-intro figure{margin:0}.agency-intro figure img{width:100%;height:450px;object-fit:cover;object-position:50% 22%;border-radius:14px;display:block}.agency-intro figcaption{font:italic 15px/1.6 Georgia,serif;color:#647083;margin-top:12px;text-align:center}
.agency-personal{background:#182f5507;padding:48px 0}.agency-personal .wrap{display:grid;grid-template-columns:1fr 1.5fr;gap:70px}.agency-personal h2,.agency-values h2,.agency-support h2{font:400 36px/1.2 Georgia,serif;color:#182f55;margin:0 0 24px}.agency-personal p{font-size:16px;line-height:1.8;color:#647083;margin:0 0 16px}.agency-personal p:last-child{margin-bottom:0}
.agency-values{padding:52px 0}.agency-values .values{margin-top:0}.agency-values .values>div{border-top:3px solid #e77600;padding-top:22px}.agency-values strong{color:#182f55}
.agency-support{padding:0 0 52px}.agency-stages{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.agency-stages article{padding-left:20px;border-left:2px solid #dac38f}.agency-stages h3{font:700 16px/1.5 Arial,sans-serif;color:#182f55;margin:0 0 10px}.agency-stages p{font-size:14px;color:#647083;line-height:1.8;margin:0}
@media(max-width:800px){.agency-intro-grid,.agency-personal .wrap{grid-template-columns:1fr;gap:28px}.agency-intro figure img{height:380px}.agency-intro{padding-bottom:34px}.agency-personal{padding:34px 0}.agency-stages{grid-template-columns:1fr;gap:24px}.agency-values{padding:36px 0}.agency-personal h2,.agency-values h2,.agency-support h2{font-size:30px}}

.agency-intro-grid{align-items:start}
.agency-intro figure img{height:auto;aspect-ratio:489/869;object-fit:contain;object-position:center}
@media(max-width:800px){.agency-intro figure{max-width:420px;width:100%;margin:0 auto}.agency-intro figure img{height:auto}}

.agency-intro figure img{aspect-ratio:1/1;object-fit:cover;object-position:50% 32%;height:auto}
.agency-shoyo{padding:28px 0;background:#182f5506}.agency-shoyo .wrap{display:grid;grid-template-columns:300px 1fr;gap:54px;align-items:center}.agency-shoyo img{width:100%;height:260px;object-fit:contain}.agency-shoyo h2{font:400 36px/1.2 Georgia,serif;color:#182f55;margin:0 0 20px}.agency-shoyo p{max-width:650px;color:#647083;font-size:16px;line-height:1.8}.agency-shoyo .kicker{color:#e77600}
@media(max-width:800px){.agency-shoyo .wrap{grid-template-columns:1fr;gap:16px}.agency-shoyo img{height:210px}.agency-shoyo h2{font-size:30px}.agency-intro figure img{height:auto;aspect-ratio:1/1}}

.agency-shoyo .wrap{grid-template-columns:minmax(280px,380px) 1fr}
.shoyo-video{width:100%;max-width:380px;margin:0 auto}.shoyo-video iframe{display:block;width:100%;height:610px;border:1px solid #182f5518;border-radius:12px;background:white}.shoyo-video>a{display:inline-block;margin-top:12px;font-size:13px}
@media(max-width:800px){.agency-shoyo .wrap{grid-template-columns:1fr;gap:28px}.shoyo-video iframe{height:590px}}

.agency-intro figure img{aspect-ratio:4/5;object-fit:cover;object-position:50% 44%;height:auto}
.shoyo-video video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;border-radius:12px;background:#182f55}

.selection-page .offers-hero .hero-grid{grid-template-columns:1.2fr .8fr;min-height:280px}
.selection-page .offers{padding-top:80px}
.selection-highlight{position:relative}
.selection-shoyo{position:absolute;right:45px;bottom:calc(100% - 15px);width:330px;height:auto;z-index:2;pointer-events:none}
.selection-page .offer-card{position:relative;z-index:1}
@media(max-width:800px){.selection-page .offers-hero .hero-grid{grid-template-columns:1fr;min-height:0}.selection-page .offers{padding-top:180px}.selection-shoyo{width:240px;right:14px;bottom:calc(100% - 11px)}.selection-page .offers>.wrap>.kicker{margin-bottom:32px}}

.selection-page .offers-hero{padding-bottom:0}
.selection-page .offers-hero .hero-grid{position:relative;align-items:center;padding-bottom:36px;min-height:320px}
.selection-page .offers-hero .selection-shoyo{position:absolute;right:35px;bottom:-14px;width:330px;height:auto;max-height:none;margin:0;z-index:2}
.selection-page .offers{padding-top:60px}
@media(max-width:800px){.selection-page .offers-hero .hero-grid{padding-bottom:0;min-height:0;gap:20px}.selection-page .offers-hero .selection-shoyo{position:relative;right:auto;bottom:-10px;width:250px;justify-self:end}.selection-page .offers{padding-top:48px}.selection-page .offers>.wrap>.kicker{margin-bottom:22px}}

.family-photos.family-montage{display:block;padding:0;max-width:100%;width:100%;margin:0}
.family-photos.family-montage img{display:block;width:100%;height:auto;object-fit:contain;border-radius:12px;box-shadow:none}
/* Dicas: prévia curta na home e leitura dedicada na mesma aba. */
.tips-preview .tips-grid{align-items:center}.tip-preview-card{border-left:3px solid #E77600;padding:4px 0 4px 26px}.tip-preview-card h3{font:normal 26px/1.25 Georgia,serif;margin:0 0 14px;color:#182F55}.tip-preview-card p{margin:0 0 20px}.tips-page-intro{padding:42px 0 54px;background:#fff}.tips-page-intro h1{max-width:800px}.tips-page-intro p{max-width:650px;font-size:19px;line-height:1.65}.tips-guides{background:#f5f7fa;padding:48px 0}.tips-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.tip-guide{background:#fff;border-radius:16px;padding:30px;border-top:3px solid #E77600}.tip-guide h2{font:normal 27px/1.3 Georgia,serif;color:#182F55;margin:0 0 18px}.tip-guide p{font-size:17px;line-height:1.75;margin:0}.tips-question{padding:54px 0;background:#fff}.tips-question p{max-width:660px;margin-bottom:24px}@media(max-width:800px){.tips-preview .tips-grid,.tips-guide-grid{grid-template-columns:1fr}.tips-preview{padding:36px 0}.tip-preview-card{padding-left:20px}.tip-preview-card h3{font-size:24px}.tips-page-intro{padding:28px 0 34px}.tips-page-intro h1{font-size:38px}.tips-page-intro p{font-size:17px}.tips-guides{padding:30px 0}.tip-guide{padding:24px}.tip-guide h2{font-size:25px}.tips-question{padding:36px 0}}
/* Abertura das dicas com texto distribuído na largura da página. */
.tips-page-intro p{max-width:none;width:100%;background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
.hotel-choice-guide{grid-column:1/-1;background:#fff;border-radius:20px;overflow:hidden;border:1px solid #182f5512}.hotel-choice-heading{padding:32px 36px 24px}.hotel-choice-heading h2{font:normal 38px/1.18 Georgia,serif;color:#182F55;max-width:960px;margin:12px 0 18px}.hotel-choice-heading p{margin:0;font-size:17px}.hotel-choice-details{border:0;margin:0;padding:0}.hotel-choice-details summary{padding:20px 36px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #182f5512;color:#182F55;font-weight:bold;cursor:pointer;list-style:none}.hotel-choice-details summary::-webkit-details-marker{display:none}.choice-toggle{background:#E77600;color:#fff;display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border-radius:50%}.choice-toggle:after{content:'+'}.hotel-choice-details[open] .choice-toggle:after{content:'−'}.hotel-choice-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;list-style:none;padding:0 36px 36px;margin:0}.hotel-choice-steps li{position:relative;background:#f5f7fa;padding:26px;border-radius:14px}.choice-number{position:absolute;right:20px;top:14px;font:italic bold 38px Georgia,serif;color:#E7760038}.hotel-choice-steps h3{font:bold 18px/1.4 Arial,sans-serif;color:#182F55;position:relative;padding-right:50px;margin:0 0 14px}.hotel-choice-steps p{margin:0;font-size:16px;line-height:1.7}@media(max-width:800px){.hotel-choice-heading{padding:26px 22px 20px}.hotel-choice-heading h2{font-size:30px}.hotel-choice-details summary{padding:18px 22px;font-size:15px}.hotel-choice-steps{grid-template-columns:1fr;padding:0 22px 24px;gap:14px}.hotel-choice-steps li{padding:22px}.hotel-choice-steps h3{font-size:18px}}
.meal-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0 36px 36px}.meal-option{border-radius:14px;padding:24px;border:1px solid #182f5512}.meal-option h3{font:bold 18px/1.4 Arial,sans-serif;color:#182F55;margin:0 0 12px}.meal-option p{font-size:16px;line-height:1.7;margin:0}.meal-full{background:#faf8f4}.meal-all{background:#182f550a}.meal-breakfast{background:#e776000d}.meal-half{background:#dac38f24}@media(max-width:800px){.meal-options{grid-template-columns:1fr;padding:0 22px 24px;gap:14px}.meal-option{padding:22px}}
.packing-guide .hotel-choice-heading{padding:32px 36px}.packing-guide .hotel-choice-heading h2{margin-top:0}.packing-guide .hotel-choice-heading p{line-height:1.75;max-width:none}.packing-guide .hotel-choice-heading p+p{margin-top:18px}@media(max-width:800px){.packing-guide .hotel-choice-heading{padding:26px 22px}}
.packing-guide,.air-block-guide{grid-column:auto}.air-block-guide .hotel-choice-heading{padding:32px 36px}.air-block-guide .hotel-choice-heading h2{margin-top:0}.air-block-guide .hotel-choice-heading p{line-height:1.75;max-width:none}.air-block-guide .hotel-choice-heading p+p{margin-top:18px}@media(max-width:800px){.air-block-guide .hotel-choice-heading{padding:26px 22px}}
/* Dois quadros de mesmo tamanho, com chamada curta e expansão. */
.expandable-tip{display:flex;flex-direction:column;align-self:stretch}.expandable-tip .hotel-choice-heading{flex:1;display:flex;flex-direction:column}.expandable-tip .hotel-choice-heading h2{font-size:32px;min-height:116px;margin:0 0 18px}.expandable-tip .hotel-choice-heading>p{min-height:60px;margin:0}.expandable-tip .hotel-choice-details{margin-top:auto}.tip-expanded-copy{padding:0 36px 30px}.tip-expanded-copy p{font-size:17px;line-height:1.75;margin:0}.tip-expanded-copy p+p{margin-top:18px}@media(max-width:800px){.expandable-tip .hotel-choice-heading h2{font-size:30px;min-height:0}.expandable-tip .hotel-choice-heading>p{min-height:0}.tip-expanded-copy{padding:0 22px 24px}}
.gifts-guide{grid-column:auto}.gifts-guide .hotel-choice-heading{padding:32px 36px}@media(max-width:800px){.gifts-guide .hotel-choice-heading{padding:26px 22px}}
/* Chamadas próximas dos títulos, com a altura igualada pelo quadro. */
.expandable-tip .hotel-choice-heading h2{min-height:0;margin-bottom:12px}.expandable-tip .hotel-choice-heading>p{min-height:0}
.experiences-guide{grid-column:auto}.experiences-guide .hotel-choice-heading{padding:32px 36px}.experience-list{list-style:none;padding:0 36px 30px;margin:0}.experience-list li{padding:18px 0;border-top:1px solid #182f5512}.experience-list h3{font:bold 18px/1.4 Arial,sans-serif;margin:0 0 8px}.experience-list a{color:#182F55;text-decoration:underline;text-decoration-color:#e7760070;text-underline-offset:4px}.experience-list a:hover{color:#E77600}.experience-list p{margin:0;font-size:16px;line-height:1.7}@media(max-width:800px){.experiences-guide .hotel-choice-heading{padding:26px 22px}.experience-list{padding:0 22px 24px}}
/* Aproximar o título da prévia à linha laranja na home. */
.tip-preview-card h3{margin-left:-14px}@media(max-width:800px){.tip-preview-card h3{margin-left:-8px}}
/* Montagem única menor para compactar o quadro da família. */
.family-box{grid-template-columns:.8fr 1.2fr;padding:28px;gap:24px 32px}.family-photos.family-montage{max-width:380px;justify-self:center}.family-photos.family-montage img{height:auto;object-fit:contain}@media(max-width:800px){.family-box{grid-template-columns:1fr;padding:24px;gap:24px}.family-photos.family-montage{max-width:320px;margin:0 auto}}@media(max-width:450px){.family-box{padding:18px;gap:22px}.family-photos.family-montage{max-width:280px}}
/* Alimentação: nomes e explicações em linhas, sem cartões coloridos. */
.meal-reading-list{padding:0 36px 30px}.meal-line{display:grid;grid-template-columns:230px minmax(0,1fr);gap:32px;padding:26px 0;border-top:1px solid #182f551a;align-items:center}.meal-line-label{border-left:3px solid #E77600;padding-left:16px}.meal-line-label span{font:700 10px/1.5 Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;color:#806842}.meal-line-label h3{font:normal 26px/1.2 Georgia,serif;color:#182F55;margin:8px 0 0}.meal-line p{font-size:17px;line-height:1.75;margin:0;max-width:760px}@media(max-width:800px){.meal-reading-list{padding:0 22px 24px}.meal-line{grid-template-columns:1fr;gap:16px;padding:22px 0}.meal-line-label h3{font-size:25px}.meal-line p{font-size:16px}}
.tips-title-row{display:flex;align-items:center;gap:36px}.tips-title-row h1{margin:0}.tips-shoyo{display:block;width:200px;height:auto;object-fit:contain}.tips-page-intro .tips-title-row+p{margin-top:24px}@media(max-width:800px){.tips-title-row{gap:16px;justify-content:space-between}.tips-shoyo{width:120px;flex-shrink:0}.tips-title-row h1{font-size:36px}}

/* Harmonizar os tons quentes das versões oficiais do Shoyo. */
img[src^="/assets/shoyo-dicas"]{filter:saturate(1.197)}
img[src^="/assets/shoyo-grupos"]{filter:saturate(1.153)}
img[src^="/assets/shoyo-apoiado"]{filter:saturate(1.09)}
img[src^="/assets/shoyo-inicio"]{filter:saturate(0.95)}
img[src^="/assets/shoyo-ofertas"]{filter:saturate(0.89)}

/* Logotipos da agência mantêm a cor original do arquivo oficial. */
img[src="/assets/logo-horizontal.png"],img[src="/assets/logo-circular.png"]{filter:none}
.footer-instagram{display:inline-flex;align-items:center;gap:9px}.footer-instagram svg{flex-shrink:0}.instagram-invite{padding:24px 0;background:#182f5505;border-top:1px solid #182f5510;border-bottom:1px solid #182f5510}.instagram-invite>.wrap{display:flex;justify-content:space-between;align-items:center;gap:22px}.instagram-invite .wrap>div{display:flex;gap:14px;align-items:center}.instagram-invite svg{color:#E77600;flex-shrink:0}.instagram-invite p{margin:0;font-size:17px;color:#182F55}.instagram-invite a{white-space:nowrap}@media(max-width:800px){.instagram-invite>.wrap{align-items:flex-start;flex-direction:column;gap:14px}.instagram-invite p{font-size:16px}.instagram-invite a{margin-left:36px}}
.family-instagram{display:inline-flex;align-items:center;gap:12px;color:#182F55;text-decoration:none;font:400 14px/1.6 Arial,sans-serif}.family-instagram svg{color:#E77600;flex-shrink:0}.family-instagram strong{font-weight:700;text-decoration:underline;text-decoration-color:#E7760070;text-underline-offset:4px}.family-instagram:hover strong{color:#E77600}
footer .wrap{flex-wrap:wrap}footer .footer-legal{flex:0 0 100%;width:100%;font-size:12px;line-height:1.8;overflow-wrap:anywhere;margin:12px 0 0;order:3;text-align:center}
.header-instagram{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;color:#E77600;flex-shrink:0;border:1px solid #e7760040;border-radius:50%;order:2}.header-instagram:hover{background:#e7760010}.header nav{order:1}.header .menu-toggle{order:3}.header-instagram:focus-visible{outline:2px solid #E77600;outline-offset:3px}@media(max-width:800px){.header-instagram{margin-left:auto;order:1}.header .menu-toggle{order:2}.header nav{order:3}.home .header-instagram{position:absolute;right:86px;top:50%;transform:translateY(-50%)}.home .header nav{order:3}}
.contact-box .phone{display:flex;gap:12px;align-items:center}.contact-box .phone svg{flex-shrink:0;color:#E77600}.contact-email{display:block;font-size:16px;line-height:1.6;overflow-wrap:anywhere;margin:0 0 24px;color:inherit;text-underline-offset:4px}.tip-preview-card h3{margin-left:-22px}@media(max-width:800px){.tip-preview-card h3{margin-left:-16px}}

.header nav .header-instagram{position:static;transform:none;margin:0;order:0;width:38px;height:38px}.header nav{column-gap:18px}@media(max-width:800px){.header nav .header-instagram{position:static;transform:none;margin:0;align-self:flex-start;order:0}}

.nav-contact-social{display:flex;align-items:center;gap:12px;flex-shrink:0}.header nav .header-instagram{padding:0}@media(max-width:800px){.nav-contact-social{width:100%;margin-top:10px}.nav-contact-social .navcontact{flex:1}.header nav .header-instagram{align-self:center}}
/* Aproxima a chamada da divisória e dá respiro ao texto da direita. */
@media(min-width:801px){.tips-preview .tips-grid>div:first-child{transform:translateX(48px)}}
.tips-preview .tip-preview-card{padding-left:40px}.tips-preview .tip-preview-card h3{margin-left:0}
@media(max-width:800px){.tips-preview .tips-grid>div:first-child{transform:none}.tips-preview .tip-preview-card{padding-left:26px}}
/* Vilarejo Praia: campanha de primeiro lote de 2027. */
.vp-hero{background:#182F55;color:white;padding:48px 0 68px}.vp-hero .kicker{color:#DAC38F}.vp-hero h1{font-size:clamp(40px,4.6vw,65px);max-width:1030px}.vp-hero p{max-width:740px;color:#e6ecf3;font-size:18px}.vp-hero .breadcrumb{color:#e6ecf3}.vp-hero .btn{margin-top:8px}.vp-split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.vp-split h2{font-size:42px}.vp-split figure{margin:0}.vp-split img{display:block;width:100%;height:auto;border-radius:14px}.vp-split figcaption{font-size:11px;color:#687482;margin-top:8px}.vp-benefits{background:#f5f7fa}.vp-benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin-top:35px}.vp-benefit-grid article{border-top:2px solid #E77600;padding-top:20px}.vp-benefit-grid article>span{font-size:28px;color:#E77600}.vp-benefit-grid h3{font:700 18px/1.4 Arial,sans-serif;margin:14px 0 12px}.vp-benefit-grid p{font-size:15px;margin:0}.vp-date-grid,.vp-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px}.vp-date-grid article{border:1px solid #182f5520;border-left:3px solid #E77600;border-radius:10px;padding:28px}.vp-date-grid .kicker,.vp-price .kicker{display:block;margin-bottom:14px}.vp-date-grid h3{font-size:28px;margin-bottom:12px}.vp-date-grid p{margin-bottom:12px}.vp-date-grid a{font-size:14px;font-weight:bold;text-underline-offset:4px}.vp-conditions{background:#f5f7fa}.vp-price-intro{max-width:740px}.vp-price{padding:32px;border:1px solid #182f5518;border-top:3px solid #E77600;border-radius:12px;background:white}.vp-price h3{font-size:30px;margin-bottom:10px}.vp-price>p{font-size:14px}.vp-price small{display:block;font-size:13px;line-height:1.6;max-width:330px}.vp-total{font:700 37px/1.3 Arial,sans-serif;color:#182F55;margin:22px 0 8px}.vp-price .vp-installments{margin:0 0 16px;font-size:16px}.vp-cash{padding-top:16px;border-top:1px solid #182f5518;font-size:17px;margin-bottom:25px}.vp-price .btn{width:100%;color:white;background:#182F55}.vp-availability{font-size:13px;line-height:1.8;margin:28px 0 0;max-width:900px}.vp-last{text-align:center}.vp-last h2{font-size:40px;max-width:750px;margin:0 auto 24px}.vp-last .btn{margin-top:10px}.vp-selection-card{margin-top:30px}
@media(max-width:800px){.vp-hero{padding:30px 0 42px}.vp-hero h1{font-size:42px}.vp-hero h1 br{display:none}.vp-hero p{font-size:16px}.vp-split{grid-template-columns:1fr;gap:28px}.vp-split h2,.vp-last h2{font-size:33px}.vp-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.vp-price{padding:25px}.vp-date-grid article{padding:24px}.vp-date-grid h3,.vp-price h3{font-size:25px}}
@media(max-width:550px){.vp-date-grid,.vp-price-grid{grid-template-columns:1fr;gap:18px}.vp-benefit-grid{grid-template-columns:1fr}.vp-hero h1{font-size:38px}.vp-total{font-size:34px}}
.vilarejo-campaign .vp-experience{padding-bottom:30px}.vilarejo-campaign .vp-split{display:block}.vilarejo-campaign .vp-split>div{max-width:900px}.vp-gallery{padding:15px 0 60px}.vp-gallery .gallery-main{object-fit:contain}.vp-gallery h2{font-size:38px}@media(max-width:800px){.vp-gallery{padding-bottom:35px}.vp-gallery h2{font-size:30px}}
.junina-selection-card{margin-top:30px}
/* Cabeçalho móvel: logo e menu em colunas próprias, sem sobreposição. */
@media(max-width:800px){
 .header>.wrap,.home .header>.wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 12px;width:88%;min-height:0;padding:20px 0;position:relative}
 .header .logo,.home .header .logo{position:static;grid-column:1;grid-row:1;justify-self:start;align-self:center;transform:none;margin:0;width:min(200px,100%);min-width:0;order:0}
 .header .logo img,.home .header .logo img{display:block;width:100%;max-width:100%;margin:0}
 .header .menu-toggle,.home .header .menu-toggle{position:static;grid-column:2;grid-row:1;justify-self:end;align-self:center;transform:none;margin:0;top:auto;right:auto;padding:10px 12px;white-space:nowrap;font-size:13px;line-height:1.4;order:0}
 .header nav,.home .header nav{grid-column:1/-1;grid-row:2;width:100%;min-width:0;flex-basis:auto;margin:0;padding:8px 0 0;order:0}
 .header nav.open,.home .header nav.open{display:flex;gap:0;align-items:stretch}
 .header nav a:not(.header-instagram),.home .header nav a:not(.header-instagram){padding-top:12px;padding-bottom:12px}
 .nav-contact-social{min-width:0;gap:10px}.nav-contact-social .navcontact{min-width:0;white-space:normal}
}
