.tour-page { overflow: clip; }
.tour-back-link { color: rgba(255,255,255,.84); font: 500 .9rem 'Outfit',sans-serif; text-decoration: none; transition: color var(--transition); }
.tour-back-link:hover { color: var(--accent); }
.tour-header-cta { border: 0; cursor: pointer; background: rgba(255,255,255,.95); color: var(--text-dark); }
.site-header.is-scrolled .tour-header-cta { background: var(--accent); color: #fff; }
.tour-hero { min-height: 100svh; position: relative; display: grid; align-items: end; isolation: isolate; color:#fff; overflow:hidden; }
.tour-hero-image { position:absolute; inset:-6%; z-index:-2; background: center/cover no-repeat; transform: scale(1.04); will-change: transform; }
.tour-hero-overlay { position:absolute; inset:0; z-index:-1; background:linear-gradient(100deg,rgba(12,12,12,.75),rgba(12,12,12,.34) 62%,rgba(12,12,12,.48)),linear-gradient(0deg,rgba(12,12,12,.55),transparent 45%); }
.tour-hero-content { width:100%; padding-top:170px; padding-bottom:clamp(100px,13vh,160px); }
.tour-hero-copy { max-width:780px; }
.tour-hero-dates { font-size:.78rem; text-transform:uppercase; letter-spacing:.16em; font-weight:600; color:#ffd4b9; margin:0 0 20px; animation: tour-rise .8s .1s both; }
.tour-hero-title { max-width:760px; margin:0; font:700 clamp(3rem,7vw,6.8rem)/.98 'Outfit',sans-serif; letter-spacing:-.055em; animation:tour-rise 1s .18s both; }
.tour-hero-subtitle { max-width:580px; margin:28px 0 0; font-size:clamp(1rem,1.5vw,1.24rem); line-height:1.65; color:rgba(255,255,255,.83); animation:tour-rise .9s .32s both; }
.tour-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin-top:40px; animation:tour-rise .8s .45s both; }
.tour-hero-question { padding:12px 0; border:0; border-bottom:1px solid rgba(255,255,255,.7); color:#fff; background:transparent; cursor:pointer; font:600 1rem 'Outfit',sans-serif; transition:color var(--transition),border-color var(--transition); }
.tour-hero-question:hover { color:var(--accent); border-color:var(--accent); }
.tour-hero-question span { margin-left:8px; font-size:1.25em; }
.tour-hero-program { padding:12px 0; color:#fff; font:600 1rem 'Outfit',sans-serif; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.7); transition:color var(--transition),border-color var(--transition); }.tour-hero-program:hover { color:var(--accent); border-color:var(--accent); }.tour-hero-program span { margin-left:8px; }
.tour-hero-scroll { position:absolute; bottom:30px; right:clamp(20px,5vw,70px); display:flex; align-items:center; gap:12px; color:rgba(255,255,255,.62); font-size:.65rem; letter-spacing:.13em; text-transform:uppercase; }
.tour-hero-scroll i { width:40px; height:1px; background:currentColor; animation: scroll-width 2s ease-in-out infinite; }
.tour-section { padding:clamp(76px,10vw,144px) 0; }
.tour-section-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:clamp(34px,5vw,68px); }
.tour-section-heading .section-title { margin:0; }
.tour-section-heading .section-subtitle { margin:0; }
.tour-features-section { background:var(--bg-section); }
.tour-intro-section { background:var(--bg-warm); }.tour-intro { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr); gap:clamp(35px,7vw,100px); align-items:center; max-width:1120px; margin:auto; }.tour-intro .section-title { margin:0 0 28px; }.tour-intro-list { margin:0; padding:0; list-style:none; border-top:1px solid #e4ded7; }.tour-intro-list li { display:grid; grid-template-columns:52px 1fr; align-items:center; gap:16px; padding:16px 0; border-bottom:1px solid #e4ded7; color:var(--text-dark); font:500 clamp(.95rem,1.5vw,1.08rem)/1.35 'Outfit',sans-serif; }.tour-intro-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--accent); color:#fff; font-size:1rem; }.tour-intro-media { aspect-ratio:4/5; overflow:hidden; border-radius:var(--radius-lg); background:var(--bg-section); }.tour-intro-media img { width:100%; height:100%; object-fit:cover; }.tour-why-section { background:var(--text-dark); }.tour-why-section .section-title { color:#fff; }.tour-why-section .section-subtitle { color:rgba(255,255,255,.62); }.tour-why-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.2); }.tour-why-grid article { min-height:250px; padding:32px clamp(20px,3vw,45px) 10px; border-right:1px solid rgba(255,255,255,.2); }.tour-why-grid article:first-child { padding-left:0; }.tour-why-grid article:last-child { border:0; }.tour-why-grid span { color:var(--accent); font:600 .75rem 'Outfit',sans-serif; letter-spacing:.12em; }.tour-why-grid h3 { margin:52px 0 12px; color:#fff; font-size:1.35rem; }.tour-why-grid p { max-width:280px; margin:0; color:rgba(255,255,255,.6); line-height:1.65; }.tour-program-section { background:var(--bg-section); }.tour-program { display:flex; align-items:end; justify-content:space-between; gap:40px; padding:clamp(36px,7vw,86px); border-radius:var(--radius-xl); background:var(--accent); color:#fff; }.tour-program .section-label { color:rgba(255,255,255,.72); }.tour-program h2 { margin:0 0 18px; font:600 clamp(2.1rem,4vw,4rem)/1 'Outfit',sans-serif; letter-spacing:-.05em; }.tour-program p { max-width:570px; margin:0; color:rgba(255,255,255,.84); line-height:1.65; }.tour-program .btn-white { flex-shrink:0; }
.tour-features-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.tour-feature-card { position:relative; aspect-ratio:1; overflow:hidden; padding:0; border:0; border-radius:0; background:#1a1a1a; color:#fff; text-align:left; cursor:pointer; transition:transform var(--transition),box-shadow var(--transition); }
.tour-feature-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.tour-feature-card:hover { transform:translateY(-7px); box-shadow:var(--shadow-lg); }
.tour-feature-card:hover img { transform:scale(1.07); }
.tour-feature-title { position:absolute; inset:0 0 auto; z-index:1; padding:17px 18px 34px; background:linear-gradient(180deg,rgba(0,0,0,.62),transparent); font:600 clamp(.95rem,1.4vw,1.18rem)/1.2 'Outfit',sans-serif; text-shadow:0 1px 10px rgba(0,0,0,.45); }
.tour-learning-section { background:var(--text-dark); color:#fff; }
.tour-learning { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(45px,9vw,150px); }
.tour-learning .section-title { color:#fff; margin:0 0 24px; }.tour-learning-intro>p { max-width:445px; color:rgba(255,255,255,.62); line-height:1.75; }.tour-learning-list { border-top:1px solid rgba(255,255,255,.18); }.tour-learning-list article { display:grid; grid-template-columns:56px 1fr 1.2fr; gap:20px; padding:25px 0; border-bottom:1px solid rgba(255,255,255,.18); }.tour-learning-list span { color:var(--accent); font:600 .78rem 'Outfit',sans-serif; }.tour-learning-list h3 { margin:0; font-size:1.12rem; }.tour-learning-list p { margin:0; color:rgba(255,255,255,.55); line-height:1.55; font-size:.92rem; }
.tour-price-section { background:var(--bg-warm); }.tour-price-card { min-height:480px; display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.8fr); overflow:hidden; border-radius:var(--radius-xl); background:#fff; box-shadow:var(--shadow-md); }.tour-price-content { padding:clamp(32px,6vw,78px); display:flex; flex-direction:column; align-items:flex-start; }.tour-price-eyebrow { color:var(--accent); font:.73rem/1 'Outfit',sans-serif; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }.tour-price-value { margin:12px 0 30px; color:var(--text-dark); font:700 clamp(3.2rem,7vw,6.5rem)/.92 'Outfit',sans-serif; letter-spacing:-.07em; }.tour-price-details { display:grid; grid-template-columns:1fr 1fr; gap:25px; max-width:600px; margin-bottom:36px; }.tour-price-details p { color:var(--text-muted); font-size:.92rem; line-height:1.65; margin:0; }.tour-price-actions { display:flex; flex-wrap:wrap; align-items:center; gap:19px; }.tour-price-actions>a { color:var(--text-dark); font:600 .88rem 'Outfit',sans-serif; text-decoration:none; border-bottom:1px solid var(--accent); }.tour-price-media { position:relative; overflow:hidden; }.tour-price-media:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#fff0,rgba(0,0,0,.1)); }.tour-price-media img { width:100%; height:100%; object-fit:cover; }
.tour-promo-section { padding-top:0; }.tour-promo { position:relative; display:grid; grid-template-columns:.7fr 1.1fr 1fr auto; align-items:end; gap:30px; padding:clamp(32px,4vw,58px); overflow:hidden; border-radius:var(--radius-lg); background:var(--accent); color:#fff; }.tour-promo:after { content:''; position:absolute; width:270px; height:270px; right:-70px; top:-130px; border:1px solid rgba(255,255,255,.26); border-radius:50%; box-shadow:0 0 0 50px rgba(255,255,255,.06),0 0 0 100px rgba(255,255,255,.04); }.tour-promo>* { position:relative; z-index:1; }.tour-promo .section-label { color:rgba(255,255,255,.7); }.tour-promo h2 { margin:0; font:600 clamp(1.6rem,3vw,2.7rem)/1.1 'Outfit',sans-serif; letter-spacing:-.03em; }.tour-promo p { margin:0; color:rgba(255,255,255,.8); line-height:1.65; }.tour-promo-star { font-size:2rem; }.tour-promo-link { border:0; padding:0; color:#fff; background:transparent; border-bottom:1px solid rgba(255,255,255,.8); font:600 .95rem 'Outfit',sans-serif; white-space:nowrap; cursor:pointer; }
.tour-gallery-section { background:var(--bg-section); }.tour-gallery-heading { max-width:630px; margin:0 auto clamp(36px,6vw,72px); text-align:center; }.tour-gallery-heading .section-title { margin:0 0 16px; }.tour-gallery-heading .section-subtitle { margin:0 auto; }.tour-gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(14px,2vw,28px); align-items:start; }.tour-gallery-item { position:relative; overflow:hidden; padding:0; border:0; border-radius:0; background:#1a1a1a; cursor:pointer; }.tour-gallery-item:nth-child(3n+1) { margin-top:7vw; }.tour-gallery-item:nth-child(3n+2) { aspect-ratio:4/5; }.tour-gallery-item:nth-child(3n+3) { aspect-ratio:1; }.tour-gallery-item img { width:100%; height:100%; min-height:100%; object-fit:cover; transition:transform .6s ease; }.tour-gallery-item span { position:absolute; inset:auto 16px 15px; z-index:1; color:#fff; font:.78rem 'Outfit',sans-serif; text-align:left; opacity:0; transform:translateY(7px); transition:opacity var(--transition),transform var(--transition); }.tour-gallery-item:after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.5),transparent 50%); opacity:0; transition:opacity var(--transition); }.tour-gallery-item:hover img { transform:scale(1.06); }.tour-gallery-item:hover:after,.tour-gallery-item:hover span { opacity:1; }.tour-gallery-item:hover span { transform:translateY(0); }
.tour-participants { display:grid; grid-template-columns:1fr 1fr; gap:10vw; padding:clamp(34px,6vw,70px); border:1px solid #e5e0db; border-radius:var(--radius-lg); }.tour-participants .section-title { margin:0; }.tour-participants-points { display:grid; gap:20px; }.tour-participants-points p { display:grid; grid-template-columns:38px 1fr; gap:15px; margin:0; padding-bottom:20px; border-bottom:1px solid #ebe8e4; color:var(--text-muted); line-height:1.55; }.tour-participants-points b { color:var(--accent); font:.75rem 'Outfit',sans-serif; }
.tour-reviews-section { background:var(--bg-section); }.tour-reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.tour-reviews-grid blockquote { display:flex; flex-direction:column; justify-content:space-between; min-height:280px; margin:0; padding:32px; border-radius:var(--radius-md); background:#fff; box-shadow:var(--shadow-sm); transition:transform var(--transition),box-shadow var(--transition); }.tour-reviews-grid blockquote:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); }.tour-reviews-grid blockquote p { margin:0; font:500 1.1rem/1.55 'Outfit',sans-serif; }.tour-reviews-grid cite { margin-top:35px; color:var(--text-dark); font-style:normal; font-weight:600; }.tour-reviews-grid cite span { display:block; margin-top:4px; color:var(--text-muted); font-size:.78rem; font-weight:400; }
.tour-final-cta { padding:clamp(76px,11vw,160px) 0; background:var(--text-dark); }.tour-final-inner { position:relative; overflow:hidden; padding:clamp(40px,7vw,92px); border-radius:var(--radius-xl); background:var(--accent); color:#fff; text-align:center; }.tour-final-inner:before,.tour-final-inner:after { content:''; position:absolute; border:1px solid rgba(255,255,255,.24); border-radius:50%; }.tour-final-inner:before { width:500px; height:500px; left:-340px; top:-220px; }.tour-final-inner:after { width:340px; height:340px; right:-220px; bottom:-210px; }.tour-final-inner>* { position:relative; z-index:1; }.tour-final-inner>span { font:.72rem 'Outfit',sans-serif; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:rgba(255,255,255,.7); }.tour-final-inner h2 { margin:16px 0; font:700 clamp(2.4rem,5vw,4.8rem)/.98 'Outfit',sans-serif; letter-spacing:-.05em; }.tour-final-inner p { max-width:490px; margin:0 auto 34px; line-height:1.65; color:rgba(255,255,255,.82); }.tour-final-actions { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:20px; }.tour-final-actions>a { color:#fff; font:600 .95rem 'Outfit',sans-serif; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.7); }
.tour-modal { position:fixed; inset:0; z-index:200; display:grid; place-items:center; padding:20px; visibility:hidden; opacity:0; transition:opacity .28s ease,visibility .28s ease; }.tour-modal.is-open { visibility:visible; opacity:1; }.tour-modal-backdrop { position:absolute; inset:0; background:rgba(19,18,17,.62); backdrop-filter:blur(9px); }.tour-modal-dialog { position:relative; z-index:1; width:min(100%,580px); max-height:min(88svh,820px); overflow:auto; border-radius:var(--radius-lg); background:#fff; box-shadow:var(--shadow-lg); transform:translateY(18px) scale(.98); transition:transform .3s cubic-bezier(.2,.8,.2,1); }.tour-modal.is-open .tour-modal-dialog { transform:translateY(0) scale(1); }.tour-modal-close { position:absolute; top:14px; right:14px; z-index:2; width:38px; height:38px; border:0; border-radius:50%; background:rgba(255,255,255,.94); color:var(--text-dark); font-size:1.8rem; line-height:1; cursor:pointer; }.tour-application-dialog { padding:clamp(30px,5vw,52px); }.tour-modal-heading h2 { margin:0 0 10px; font:700 clamp(1.8rem,3vw,2.35rem) 'Outfit',sans-serif; letter-spacing:-.04em; }.tour-modal-heading p { color:var(--text-muted); line-height:1.6; margin:0 0 28px; }.tour-application-form { display:grid; gap:18px; }.tour-application-form label { display:grid; gap:8px; color:var(--text-dark); font:600 .88rem 'Outfit',sans-serif; }.tour-application-form input,.tour-application-form select { width:100%; height:54px; padding:0 16px; outline:0; border:1px solid #ddd7d0; border-radius:12px; background:#fff; color:var(--text-dark); font:400 1rem 'Inter',sans-serif; transition:border-color var(--transition),box-shadow var(--transition); }.tour-application-form input:focus,.tour-application-form select:focus { border-color:var(--accent); box-shadow:0 0 0 4px rgba(255,102,0,.12); }.tour-application-form .btn-primary { justify-content:center; margin-top:8px; }.tour-application-form small,.form-error { margin:0; color:#c23a14; font-size:.8rem; }.form-error { padding:11px 13px; margin:0 0 16px; border-radius:10px; background:#fff0eb; }.tour-image-dialog { width:min(100%,900px); background:#111; color:#fff; }.tour-image-dialog img { display:block; width:100%; max-height:70svh; object-fit:contain; }.tour-image-modal-copy { padding:20px 24px 24px; }.tour-image-modal-copy h2 { margin:0 0 7px; font:600 1.25rem 'Outfit',sans-serif; }.tour-image-modal-copy p { margin:0; color:rgba(255,255,255,.68); line-height:1.55; }
body.tour-modal-open { overflow:hidden; }
.tour-success-message { padding:18px 6px; text-align:center; }.tour-success-message>span { display:grid; place-items:center; width:58px; height:58px; margin:0 auto 20px; border-radius:50%; background:var(--accent-light); color:var(--accent); font-size:1.8rem; font-weight:700; }.tour-success-message h2 { margin:0 0 10px; font:700 2rem 'Outfit',sans-serif; letter-spacing:-.04em; }.tour-success-message p { margin:0; color:var(--text-muted); }
.tour-feature-dialog { min-height:min(560px,82svh); display:grid; place-items:center; overflow:hidden; background:#161616; color:#fff; }.tour-feature-modal-image { position:absolute; inset:-35px; background:center/cover no-repeat; filter:blur(22px); opacity:.58; transform:scale(1.1); }.tour-feature-modal-shade { position:absolute; inset:0; background:rgba(12,12,12,.6); }.tour-feature-modal-copy { position:relative; z-index:1; max-width:620px; padding:clamp(38px,7vw,76px); text-align:center; }.tour-feature-modal-copy h2 { margin:0 0 20px; font:600 clamp(2rem,4vw,3.5rem)/1 'Outfit',sans-serif; letter-spacing:-.05em; }.tour-feature-modal-copy p { margin:0; color:rgba(255,255,255,.84); line-height:1.75; white-space:pre-line; }
@keyframes tour-rise { from { opacity:0; transform:translateY(32px); } to { opacity:1; transform:none; } } @keyframes scroll-width { 50% { transform:scaleX(.5); transform-origin:right; } }
@media (max-width:800px) { .tour-back-link { display:none; }.tour-feature-card,.tour-feature-card:nth-child(n) { grid-column:span 6; min-height:270px; }.tour-learning,.tour-participants { grid-template-columns:1fr; gap:42px; }.tour-price-card { grid-template-columns:1fr; }.tour-price-media { min-height:280px; grid-row:1; }.tour-promo { grid-template-columns:1fr; align-items:start; }.tour-promo-star { display:none; }.tour-reviews-grid { grid-template-columns:1fr; }.tour-gallery-grid { grid-auto-rows:135px; }.tour-gallery-item { grid-column:span 6; }.tour-gallery-item:nth-child(5n+1) { grid-column:span 12; }.tour-gallery-item:nth-child(5n+3) { grid-row:span 1; } }
@media (max-width:520px) { .tour-header-cta { padding:9px 14px; font-size:.78rem; }.tour-hero-actions .btn-primary { width:100%; justify-content:center; }.tour-hero-content { padding-bottom:120px; }.tour-section-heading { display:block; }.tour-section-heading .section-subtitle { margin-top:18px; }.tour-feature-card,.tour-feature-card:nth-child(n) { grid-column:span 12; min-height:250px; }.tour-learning-list article { grid-template-columns:36px 1fr; }.tour-learning-list p { grid-column:2; }.tour-price-details { grid-template-columns:1fr; gap:13px; }.tour-price-content { padding:32px 25px 38px; }.tour-promo { border-radius:var(--radius-md); }.tour-gallery-item,.tour-gallery-item:nth-child(n) { grid-column:span 12; grid-row:span 1; }.tour-gallery-grid { grid-auto-rows:210px; }.tour-modal { padding:12px; }.tour-application-dialog { padding:34px 22px 25px; }.tour-final-inner { border-radius:var(--radius-lg); } }
@media (prefers-reduced-motion:reduce) { .tour-hero-dates,.tour-hero-title,.tour-hero-subtitle,.tour-hero-actions { animation:none; } }
@media (max-width:900px) { .tour-features-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.tour-feature-card,.tour-feature-card:nth-child(n) { grid-column:auto; min-height:0; }.tour-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:auto; }.tour-gallery-item,.tour-gallery-item:nth-child(n) { grid-column:auto; grid-row:auto; }.tour-gallery-item:nth-child(3n+1) { margin-top:0; }.tour-gallery-item:nth-child(3n+2),.tour-gallery-item:nth-child(3n+3) { aspect-ratio:4/5; } }
@media (max-width:560px) { .tour-features-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.tour-feature-title { padding:12px 11px 28px; font-size:.84rem; }.tour-gallery-grid { grid-template-columns:1fr; gap:13px; }.tour-gallery-item:nth-child(n) { aspect-ratio:4/5; margin-top:0; }.tour-feature-dialog { min-height:420px; }.tour-feature-modal-copy { padding:48px 28px; }.tour-feature-modal-copy h2 { font-size:2rem; } }
@media (max-width:760px) { .tour-intro { grid-template-columns:1fr; }.tour-intro-media { max-width:470px; width:100%; margin:auto; }.tour-why-grid { grid-template-columns:1fr; }.tour-why-grid article,.tour-why-grid article:first-child { min-height:0; padding:25px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.2); }.tour-why-grid h3 { margin:20px 0 9px; }.tour-program { display:grid; align-items:start; padding:38px 28px; border-radius:var(--radius-lg); }.tour-program .btn-white { justify-content:center; }.tour-hero-actions { gap:14px 20px; } }
