:root{--dark:#092f25;--deep:#07271e;--cream:#f6f5ef;--ink:#18362b;--muted:#667a70;--lime:#badd89;--line:#d9dfd4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:white}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:600;line-height:1.15}h2{font-size:clamp(2rem,3.5vw,3.45rem)}p{line-height:1.7}.wrap{max-width:1190px;padding:0 24px;margin:0 auto}.section{padding:94px 0}.header{height:78px;background:#092c23;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,68px);position:sticky;top:0;z-index:30;color:white;box-shadow:0 2px 12px #0002}.logo{display:flex;gap:9px;align-items:center;font-size:11px;letter-spacing:2px;line-height:1.35;font-weight:700}.logo strong{font-size:15px;letter-spacing:2.3px}.logo-mark{font-size:32px;color:var(--lime)}nav{display:flex;align-items:center;gap:26px}nav a{font-size:12px;font-weight:600;color:#e4eee7}nav a:hover{color:var(--lime)}.header-actions{display:flex;align-items:center;gap:18px}.langs{display:flex;align-items:center;gap:6px;color:#a8bcad}.lang{background:none;color:#a8bcad;border:0;font-size:12px;padding:6px}.lang.active{color:white;font-weight:700}.header-cta{background:#c2e59e;color:#123427;padding:11px 17px;font-size:12px;font-weight:700;border-radius:3px}.menu{display:none;border:0;background:none;color:white;font-size:28px}.hero{background:linear-gradient(90deg,#08271edd,#092b2366),url('assets/opt/rio-trail.webp') center 42%/cover;min-height:670px;position:relative;color:white;display:flex;align-items:center}.hero-inner{max-width:1200px;width:100%;margin:auto;padding:96px 24px}.hero h1{font-size:clamp(3rem,6vw,5.6rem);max-width:750px;margin:19px 0 24px}.hero p{max-width:590px;font-size:17px;color:#e0eade}.eyebrow{font-size:11px;letter-spacing:2.8px;font-weight:700;color:#557960}.eyebrow.light{color:#d0ebbc}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 58px}.btn{border:0;border-radius:3px;display:inline-flex;justify-content:center;align-items:center;padding:15px 23px;font-size:13px;font-weight:700;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-accent{background:var(--lime);color:var(--dark)}.btn-outline{border:1px solid #dbecdf;color:white}.btn-dark{background:var(--dark);color:white}.hero-notes{display:flex;gap:26px;flex-wrap:wrap;font-size:12px;color:#dce9dd}.hero-caption{position:absolute;right:30px;bottom:25px;letter-spacing:2px;font-size:10px;color:#d8e1d6}.intro{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:start}.intro h2{max-width:480px}.intro-grid p{color:#526a5b}.text-link{font-size:13px;font-weight:700;color:#174c39}.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:70px}.benefits>div{background:white;padding:28px 21px;box-shadow:0 2px 11px #0a302510}.benefits span{font-size:30px;color:#46795a}.benefits h3{font-family:'Playfair Display',serif;font-size:19px;margin:20px 0 8px}.benefits p{font-size:13px;color:var(--muted);margin:0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}.section-heading h2{max-width:650px;margin-bottom:0}.section-heading>p{max-width:340px;color:var(--muted);font-size:14px}.filter-row{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:26px}.filter-row button{padding:9px 17px;border:1px solid #d5ded5;background:white;border-radius:30px;color:#2e5140;font-size:12px}.filter-row button.active{background:var(--dark);border-color:var(--dark);color:white}.tour-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.tour-card{border:1px solid #e1e8e0;background:#fff;display:flex;flex-direction:column}.tour-card img{height:225px}.tour-body{padding:22px;display:flex;flex-direction:column;flex:1}.tour-kind{font-size:10px;letter-spacing:1.9px;color:#5a866b;font-weight:700;text-transform:uppercase}.tour-body h3{font-family:'Playfair Display',serif;font-size:23px;margin:10px 0}.tour-body p{color:var(--muted);font-size:13px;line-height:1.65;flex:1}.tour-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:#52705d;margin:9px 0 19px}.card-actions{display:flex;gap:8px}.card-actions button{flex:1;padding:12px 5px;border:1px solid #b8cbc0;background:white;color:var(--dark);font-weight:700;font-size:11px}.card-actions button:last-child{background:var(--dark);color:white}.feature{display:grid;grid-template-columns:1fr 1fr;background:var(--dark);color:white;min-height:485px}.feature-image img{height:100%;min-height:470px}.feature-text{padding:clamp(45px,6vw,100px);align-self:center}.feature-text h2{max-width:520px}.feature-text p:not(.eyebrow){color:#cadbd0;max-width:470px}.feature-text .btn{margin-top:14px}.gallery-section{background:var(--cream)}.photo-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:200px 200px;gap:14px}.photo-grid img{height:100%}.photo-grid img:first-child{grid-row:1/3}.photo-grid img:last-child{grid-column:2/4}.transport-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.transport p:not(.eyebrow){color:#5d7668}.routes{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:12px;color:#335a47;margin:23px 0 31px}.routes span{border-bottom:1px solid #dce4da;padding-bottom:9px}.transport-visual{position:relative}.transport-visual img{height:510px}.transport-overlay{position:absolute;bottom:20px;left:20px;right:20px;background:#092d25dc;padding:24px;color:white}.transport-overlay span{display:block;font-size:10px;letter-spacing:2px;color:#c6e4bc;margin-bottom:8px}.transport-overlay strong{font-family:'Playfair Display';font-size:23px}.about{background:#e9ede4}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-grid p:not(.eyebrow){color:#4c6657}.contact{background:var(--deep);color:white}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px}.contact h2{font-size:clamp(2.5rem,4vw,4rem)}.contact p:not(.eyebrow){color:#c8d8cf}.contact-details{display:flex;flex-direction:column;gap:15px;margin-top:32px;font-size:14px}.contact-details a:hover{text-decoration:underline}.form{background:white;color:var(--dark);padding:32px;display:flex;flex-direction:column;gap:17px}.form h3{font-family:'Playfair Display';font-size:25px;margin:0 0 5px}.form label{display:flex;flex-direction:column;gap:7px;flex:1;font-size:12px;font-weight:700}.form input,.form select,.form textarea{border:1px solid #d6ded7;background:#fafbf8;padding:12px;color:var(--dark);min-width:0;border-radius:2px;width:100%}.form-row{display:flex;gap:13px}.form small{font-size:11px;color:#748378;line-height:1.5}.full{width:100%}footer{background:#061d17;color:white;padding:55px 0 22px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.7fr;gap:60px}.footer-logo{font-weight:700;letter-spacing:1.5px}.footer-grid p{color:#b8cbc0;font-size:13px;max-width:280px;margin-top:19px}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:14px;font-size:12px;color:#b8cbc0}.footer-grid strong{font-size:12px;color:white;margin-bottom:6px}.footer-end{border-top:1px solid #44625655;margin-top:42px;padding-top:21px;color:#aac3b5;font-size:11px}.floating-wa{position:fixed;bottom:24px;right:25px;background:#25d366;color:#07391f;width:54px;height:54px;display:grid;place-items:center;border-radius:50%;font-size:28px;font-weight:bold;box-shadow:0 5px 19px #0004;z-index:32}dialog{border:0;padding:0;width:min(94vw,690px);max-height:90vh;overflow:auto;box-shadow:0 22px 80px #0007;color:var(--ink)}dialog::backdrop{background:#041b15bb}dialog>img{height:265px}.dialog-content{padding:28px 35px 35px}.dialog-content h2{font-size:35px}.dialog-content p{color:var(--muted)}.dialog-facts{font-weight:700;font-size:12px;margin:12px 0 22px}.dialog-content h3{font-size:15px}.dialog-content ul{padding-left:20px;color:#536b5b;font-size:14px;line-height:1.9}.dialog-close{position:absolute;right:14px;top:12px;border:0;border-radius:50%;background:white;font-size:29px;width:38px;height:38px}@media(max-width:1100px){nav{gap:12px}.header-cta{display:none}.tour-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.header{height:70px;padding:0 18px}.menu{display:block}nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--deep);padding:22px;flex-direction:column;align-items:start;gap:18px}nav.open{display:flex}.section{padding:66px 0}.hero{min-height:620px;background-image:linear-gradient(90deg,#08271edd,#092b2366),url('assets/opt/rio-trail-640.webp')}.hero-inner{padding:75px 24px}.hero h1{font-size:clamp(2.7rem,11vw,4.4rem)}.hero-notes{gap:13px}.intro-grid,.transport-grid,.about-grid,.contact-grid,.feature{grid-template-columns:1fr;gap:22px}.benefits{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:35px}.section-heading{display:block}.tour-grid{grid-template-columns:1fr}.tour-card img{height:230px}.feature-image img{min-height:300px;height:320px}.feature-text{padding:45px 24px}.photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:180px 180px}.photo-grid img:first-child{grid-row:1/3}.photo-grid img:last-child{grid-column:auto}.transport-visual img{height:290px}.contact-grid{gap:35px}.footer-grid{grid-template-columns:1fr 1fr;gap:34px}.footer-grid>div:first-child{grid-column:1/3}.form{padding:23px}}@media(max-width:420px){.benefits{grid-template-columns:1fr}.hero-buttons{display:flex;flex-direction:column;align-items:start}.routes{grid-template-columns:1fr}.form-row{flex-direction:column}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}}

/* Unique-image edition: illustrated placeholders never reuse tour photography */
.tour-art{height:225px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:18px;background:radial-gradient(circle at 75% 30%,#568768 0%,transparent 58%),linear-gradient(130deg,#0a382b,#123c32 60%,#406e4b);color:#f4f7e9}.tour-art span{font-size:58px;line-height:1}.tour-art small{font-family:'Playfair Display',Georgia,serif;font-size:18px;max-width:240px}.tour-art-adventure{background:radial-gradient(circle at 75% 28%,#4a8b9c 0%,transparent 58%),linear-gradient(130deg,#072f36,#14535c)}.tour-art-culture{background:radial-gradient(circle at 75% 28%,#99805c 0%,transparent 58%),linear-gradient(130deg,#3e3724,#69563d)}.transport-illustration{background:linear-gradient(145deg,#194936,#4d7865);position:relative;min-height:370px;display:flex;align-items:center;justify-content:center}.transport-symbol{font-size:50px;color:white;text-align:center}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:640px){.photo-grid{grid-template-columns:1fr 1fr}.tour-art{height:205px}}

.founder{background:#f4f7f1}.founder-grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:48px;align-items:center}.founder-photo img{display:block;width:100%;height:360px;object-fit:cover;border-radius:12px}.founder-copy h2{font-family:Playfair Display,serif;font-size:clamp(2rem,4vw,3.5rem);margin:10px 0}.founder-subtitle{font-weight:700;color:#247455}.founder-copy p{line-height:1.75}.founder-quote{font-family:Playfair Display,serif;font-style:italic;color:#216345}@media(max-width:760px){.founder-grid{grid-template-columns:1fr;gap:22px}.founder-photo img{height:240px}}

/* Prevent the date input from overflowing on mobile */
.form, .form label, .form input, .form select, .form textarea {min-width:0;max-width:100%;box-sizing:border-box;}
.form input[type="date"] {width:100%;min-width:0;}

.tour-card h3 a{color:inherit}
.tour-card h3 a:hover{color:#247455}
.tour-media{display:block;overflow:hidden}
.tour-page .header{position:sticky}
.tour-hero{min-height:540px;display:flex;align-items:flex-end;color:#fff;background-size:cover;background-position:center;position:relative}
.tour-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#08271e22,#061d17e6)}
.tour-hero .wrap{position:relative;padding-top:130px;padding-bottom:54px}
.crumbs{display:flex;flex-wrap:wrap;gap:7px;align-items:center;font-size:11px;color:#d6e6da;margin-bottom:16px}
.crumbs a{color:#d6e6da;text-decoration:underline;text-underline-offset:2px}
.tour-hero h1{font-size:clamp(2.1rem,5vw,3.9rem);margin:10px 0 14px;max-width:900px}
.tour-hero-short{max-width:720px;color:#e6efe8;font-size:16px}
.tour-facts{display:flex;gap:9px;flex-wrap:wrap;margin:22px 0 26px}
.tour-facts span{border:1px solid #ffffff44;border-radius:30px;padding:7px 14px;font-size:11px;letter-spacing:.4px;color:#eef6ef;background:#ffffff12}
.tour-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:56px;align-items:start}
.tour-body h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.6rem,2.6vw,2.2rem);margin:38px 0 14px}
.tour-body h2:first-child{margin-top:0}
.tour-body h3{font-size:16px;margin:26px 0 8px}
.tour-body p{color:#4f6859}
.tour-body ul{padding-left:20px;color:#4f6859;line-height:1.9}
.tour-body details{border-top:1px solid #e0e6df;padding:15px 0}
.tour-body summary{font-weight:700;cursor:pointer;color:#18362b}
.tour-body details p{margin:10px 0 0;font-size:14px}
.tour-aside{position:sticky;top:100px;background:#f4f7f1;border:1px solid #e0e6df;padding:26px}
.tour-aside h3{font-family:'Playfair Display',Georgia,serif;font-size:24px;margin:0 0 8px}
.tour-aside p{font-size:13px;color:#5b7264}
.aside-list{list-style:none;padding:0;margin:16px 0 20px;font-size:12px;color:#335a47}
.aside-list li{border-bottom:1px solid #dfe6dc;padding:9px 0;display:flex;justify-content:space-between;gap:10px}
.aside-list strong{color:#18362b}
.tour-aside .btn{margin-bottom:8px}
.tour-aside small{display:block;margin-top:6px;font-size:11px;color:#7b8a80}
.btn-outline-dark{border:1px solid #b8cbc0;color:#18362b;background:transparent}
.related-section{background:var(--cream)}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px}
.related-card{background:#fff;border:1px solid #e1e8e0;display:block}
.related-card img{height:190px}
.related-card div{padding:18px}
.related-card span{font-size:10px;letter-spacing:1.9px;color:#5a866b;font-weight:700;text-transform:uppercase}
.related-card h3{font-family:'Playfair Display',Georgia,serif;font-size:20px;margin:8px 0 0}
.related-card:hover h3{color:#247455}
.cta-band{background:var(--deep);color:#fff;text-align:center}
.cta-band h2{max-width:760px;margin:0 auto 14px}
.cta-band p{color:#c8d8cf;max-width:620px;margin:0 auto 24px}
@media(max-width:900px){.tour-layout{grid-template-columns:1fr;gap:34px}.tour-aside{position:static}.related-grid{grid-template-columns:1fr}}
