
:root{
  --rust:#b94d13;--rust2:#d66a29;--sand:#eee0cf;--cream:#fbf8f2;
  --ink:#201914;--muted:#6e655d;--dark:#17100b;--white:#fff;
  --line:rgba(32,25,20,.12);--shadow:0 24px 70px rgba(50,28,12,.13);
  --serif:"Cormorant Garamond",Georgia,serif;--sans:Inter,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.65;overflow-x:hidden;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
a{text-decoration:none;color:inherit} img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}.container{width:min(1240px,91vw);margin:auto}
section{scroll-margin-top:80px}.serif{font-family:var(--serif)}
.eyebrow{display:flex;align-items:center;gap:10px;color:var(--rust);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.eyebrow:before{content:"";width:36px;height:1px;background:currentColor}
h1,h2,h3,h4{font-family:var(--serif);line-height:.98;font-weight:600}
h2{font-size:clamp(48px,6vw,80px);letter-spacing:-.04em}
.lead{font-size:17px;color:var(--muted);max-width:720px;margin-top:20px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 22px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;transition:.25s;border:1px solid transparent}
.btn-primary{background:var(--rust);color:#fff}.btn-primary:hover{background:var(--rust2);transform:translateY(-2px)}
.btn-outline{border-color:rgba(255,255,255,.5);color:#fff;background:rgba(255,255,255,.08);backdrop-filter:blur(10px)}
.btn-outline:hover{background:#fff;color:var(--ink)}
.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{transform:translateY(-2px);background:#38261b}

/* NAVIGATION */
.navbar{height:80px;position:fixed;z-index:1000;top:0;left:0;right:0;color:#fff;transition:.3s}
.navbar.scrolled{background:rgba(23,16,11,.94);backdrop-filter:blur(14px);box-shadow:0 8px 35px rgba(0,0,0,.18)}
.nav-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}
.logo img{width:118px;filter:brightness(0) invert(1)}
.nav-links{display:flex;align-items:center;gap:24px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.nav-links>a,.nav-item>button{opacity:.9}.nav-links>a:hover,.nav-item:hover>button{opacity:1;color:#f3a473}
.nav-item{position:relative}
.nav-item>button{border:0;background:none;color:#fff;cursor:pointer;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:9px 0}
.nav-item>button:after{content:"⌄";font-size:13px;margin-left:6px}
.submenu{position:absolute;top:100%;left:-16px;min-width:220px;padding:10px;background:rgba(23,16,11,.97);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.1);border-radius:15px;box-shadow:0 18px 40px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}
.nav-item:hover .submenu,.nav-item.open .submenu{opacity:1;visibility:visible;transform:none}
.submenu a{display:block;padding:11px 13px;color:#fff;border-radius:9px;font-size:10px;letter-spacing:.08em}
.submenu a:hover{background:rgba(255,255,255,.08);color:#f3a473}
.nav-book{padding:11px 17px;border:1px solid rgba(255,255,255,.45);border-radius:999px}
.nav-toggle{display:none;border:0;background:none;color:#fff;font-size:28px;cursor:pointer}

/* HERO */
.hero{height:100svh;min-height:720px;position:relative;isolation:isolate;display:flex;align-items:center;color:#fff;overflow:hidden;background:#28170d}
.hero-carousel{position:absolute;inset:0;z-index:0;overflow:hidden;background:#28170d}
.hero-slide{position:absolute;inset:0;background-image:var(--desktop);background-size:cover;background-repeat:no-repeat;background-position:center;opacity:0;transform:scale(1.045);transition:opacity 1.2s ease,transform 6s ease}
.hero-slide.active{opacity:1;transform:scale(1)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,10,5,.78),rgba(20,10,5,.38) 55%,rgba(20,10,5,.20)),linear-gradient(0deg,rgba(15,8,4,.62),transparent 52%)}
.hero-content{padding-top:70px;max-width:900px;position:relative;z-index:3}
.hero .eyebrow{color:#f5b383}.hero .eyebrow:before{background:#f5b383}
.hero h1{font-size:clamp(58px,7.5vw,98px);letter-spacing:-.055em;margin-top:20px}
.hero-copy{max-width:650px;font-size:18px;color:rgba(255,255,255,.87);margin:27px 0 34px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-bottom{position:absolute;left:0;right:0;bottom:28px;z-index:4}
.hero-bottom-inner{display:flex;align-items:center;justify-content:space-between;color:rgba(255,255,255,.72);font-size:10px;text-transform:uppercase;letter-spacing:.14em}
.scroll{display:flex;gap:10px;align-items:center}.scroll i{display:block;width:42px;height:1px;background:#fff}
.hero-controls{position:absolute;right:4%;bottom:28px;z-index:5;display:flex;align-items:center;gap:14px}
.hero-arrow{width:40px;height:40px;border:1px solid rgba(255,255,255,.42);border-radius:50%;background:rgba(0,0,0,.18);color:#fff;font-size:25px;line-height:1;cursor:pointer;backdrop-filter:blur(8px);transition:.2s}
.hero-arrow:hover{background:#fff;color:#201914}
.hero-dots{display:flex;gap:7px;align-items:center}.dot{width:7px;height:7px;padding:0;border:1px solid rgba(255,255,255,.75);border-radius:50%;background:transparent;cursor:pointer;transition:.25s}
.dot.active{width:26px;border-radius:999px;background:#fff}

/* QUICK BAR */
.quickbar{background:#fff;box-shadow:0 10px 35px rgba(0,0,0,.08);position:relative;z-index:5}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.quick{padding:25px 24px;border-right:1px solid var(--line);display:flex;gap:14px;align-items:center}
.quick:last-child{border:0}.quick-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--sand);color:var(--rust);font-weight:900}
.quick b{display:block;font-family:var(--serif);font-size:23px;line-height:1}.quick span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}

/* ABOUT / INTRO */
.intro{padding:115px 0 95px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.intro-art{height:610px;border-radius:0 130px 0 130px;position:relative;overflow:hidden;background:url("provisional/unique/img-091-generic.svg") center/cover;box-shadow:var(--shadow)}
.intro-art:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(30,16,8,.48),transparent 55%)}
.art-card{position:absolute;z-index:2;bottom:25px;left:25px;background:rgba(255,252,246,.95);padding:20px 22px;border-radius:18px;max-width:280px;box-shadow:0 15px 40px rgba(0,0,0,.16)}
.art-card b{font-family:var(--serif);font-size:30px;line-height:1;display:block}.art-card span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
.intro-copy h2{margin-top:18px}.intro-copy p{color:var(--muted);margin-top:20px}
.check-list{margin-top:27px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.check{font-size:12px;font-weight:700;display:flex;gap:10px}.check span{color:var(--rust);font-weight:900}
.stats{display:flex;gap:45px;margin-top:35px;padding-top:25px;border-top:1px solid var(--line)}
.stat b{font-family:var(--serif);font-size:38px;display:block}.stat span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}

/* POPULAR DESTINATIONS */
.popular{background:var(--sand);padding:110px 0}.section-top{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:45px}.section-top .lead{margin-bottom:4px}
.popular-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.popular-card{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 12px 40px rgba(46,26,12,.08);transition:.3s}
.popular-card:hover{transform:translateY(-7px);box-shadow:0 24px 55px rgba(46,26,12,.15)}
.popular-media{height:410px;position:relative;overflow:hidden;background:#ddd}
.popular-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s}
.popular-media img.active{opacity:1}
.popular-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,8,4,.75),transparent 55%);z-index:2}
.popular-title{position:absolute;left:22px;right:22px;bottom:20px;color:#fff;z-index:3}
.popular-title span{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#f4b080}.popular-title h3{font-size:42px;margin-top:4px}
.media-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:35px;height:35px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(0,0,0,.18);color:#fff;cursor:pointer}
.media-arrow.prev{left:12px}.media-arrow.next{right:12px}.media-dots{position:absolute;z-index:4;right:18px;bottom:22px;display:flex;gap:5px}.media-dots button{width:6px;height:6px;border:1px solid #fff;border-radius:50%;background:transparent;padding:0}.media-dots button.active{background:#fff}
.popular-body{padding:20px 22px 22px}.popular-body p{font-size:12px;color:var(--muted);margin-bottom:15px}.popular-link{color:var(--rust);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}

/* DESTINATIONS / EXPERIENCE CAROUSEL */
.destinations{background:#211812;color:#fff;padding:110px 0}.destinations .lead{color:rgba(255,255,255,.65)}
.experience-carousel{margin-top:45px;position:relative;border-radius:24px;overflow:hidden;height:560px;background:#120c08}
.exp-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s}.exp-slide.active{opacity:1}
.exp-slide img{width:100%;height:100%;object-fit:cover}.exp-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,7,4,.78),transparent 55%)}
.exp-caption{position:absolute;z-index:3;left:35px;bottom:30px;max-width:650px}.exp-caption span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#f4b080}.exp-caption h3{font-size:48px;margin-top:6px}.exp-caption p{font-size:13px;color:rgba(255,255,255,.72);margin-top:8px}
.exp-controls{position:absolute;z-index:4;right:25px;bottom:25px;display:flex;gap:8px}.exp-controls button{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(0,0,0,.2);color:#fff;cursor:pointer}
.exp-dots{position:absolute;z-index:4;left:35px;bottom:34px;display:flex;gap:6px}.exp-dots button{width:7px;height:7px;border-radius:50%;border:1px solid #fff;background:transparent;padding:0}.exp-dots button.active{width:25px;border-radius:99px;background:#fff}

/* REVIEWS / FAQ / CONTACT */
.reviews{padding:110px 0;background:#fff}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:45px}
.review{border:1px solid var(--line);padding:30px;border-radius:20px}.stars{color:#d48a28;letter-spacing:.15em;font-size:13px}
.review p{font-family:var(--serif);font-size:25px;line-height:1.1;margin:20px 0}.review small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.faq{padding:110px 0;background:var(--sand)}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq-list{border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;list-style:none;font-family:var(--serif);font-size:27px;font-weight:600;display:flex;justify-content:space-between;gap:20px}
summary::-webkit-details-marker{display:none}summary:after{content:"+";font-family:var(--sans);font-size:18px;color:var(--rust)}details[open] summary:after{content:"−"}details p{font-size:13px;color:var(--muted);padding:12px 35px 0 0}
.contact{padding:110px 0;background:#17100b;color:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact .lead{color:rgba(255,255,255,.65)}
.contact-info{margin-top:35px;display:grid;gap:18px}.contact-info small{display:block;color:#9e9186;text-transform:uppercase;letter-spacing:.13em;font-size:9px}.contact-info a,.contact-info div{font-size:18px}
.form{background:#fff;color:var(--ink);padding:30px;border-radius:27px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}
.field label{font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:#6a615a}.field input,.field textarea,.field select{width:100%;border:1px solid #e1d9d0;background:#fbf8f4;border-radius:11px;padding:12px 13px;outline:none}
.field textarea{min-height:110px;resize:vertical}.form .btn{width:100%;border:0;margin-top:14px;cursor:pointer}.form-note{text-align:center;color:#81776e;font-size:9px;margin-top:9px}
footer{background:#0e0906;color:#82766d;padding:26px 0;font-size:10px}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-brand{font-family:var(--serif);font-size:26px;color:#fff}
.whatsapp{position:fixed;z-index:900;right:20px;bottom:20px;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#fff;font-size:25px;font-weight:900;box-shadow:0 12px 35px rgba(0,0,0,.28);transition:.25s}.whatsapp:hover{transform:translateY(-4px) scale(1.03)}.whatsapp b{position:absolute;right:68px;white-space:nowrap;background:#17100b;color:#fff;border-radius:999px;padding:7px 11px;font-size:10px;letter-spacing:.04em;opacity:0;transform:translateX(6px);transition:.2s;pointer-events:none}.whatsapp:hover b{opacity:1;transform:translateX(0)}

/* INNER PAGES */
.page-hero{min-height:520px;padding:150px 0 90px;display:flex;align-items:end;color:#fff;background:#211812;position:relative;overflow:hidden}
.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,10,5,.82),rgba(20,10,5,.38)),url("provisional/unique/img-090-student.svg") center/cover;z-index:0}
.page-hero .container{position:relative;z-index:1}.page-hero h1{font-size:clamp(58px,8vw,100px);margin-top:18px}
.page-content{padding:100px 0}.prose{max-width:980px}.prose h2{margin:0 0 18px}.prose h3{font-size:42px;margin:55px 0 12px}.prose p{font-size:16px;color:var(--muted);margin:0 0 20px}.prose .highlight{font-family:var(--serif);font-size:34px;line-height:1.05;color:var(--ink);margin:28px 0}
.page-split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.page-photo{min-height:560px;border-radius:0 120px;background:center/cover;box-shadow:var(--shadow)}
.student-photo{background-image:url("provisional/unique/img-089-student.svg")}
.tour-placeholder{padding:100px 0;background:var(--cream)}.tour-placeholder .box{background:#fff;border-radius:28px;padding:55px;box-shadow:var(--shadow)}
.tour-placeholder .box p{color:var(--muted);margin:15px 0 25px}.tour-meta{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.tour-meta span{padding:8px 12px;border-radius:999px;background:var(--sand);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--rust)}

/* RESPONSIVE */
@media(max-width:1000px){
  .nav-links{display:none;position:absolute;top:80px;left:0;right:0;padding:22px 4%;background:rgba(23,16,11,.98);flex-direction:column;align-items:flex-start;gap:14px}
  .nav-links.open{display:flex}.nav-toggle{display:block}
  .nav-item{width:100%}.nav-item>button{padding:7px 0}.submenu{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;padding:3px 0 0 15px}
  .nav-item.open .submenu{display:block}.submenu a{padding:8px 0}
  .intro-grid,.page-split,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:45px}
  .popular-grid{grid-template-columns:1fr 1fr}.review-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr 1fr}
  .quick:nth-child(2){border-right:0}.quick:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media(max-width:650px){
  .container{width:calc(100% - 32px)}.navbar{height:68px}.logo img{width:92px}.nav-links{top:68px;padding:20px 16px}
  .hero{min-height:620px}.hero-content{padding-top:35px}.hero h1{font-size:clamp(48px,13vw,68px);line-height:.93}
  .hero-copy{font-size:14px;line-height:1.55;margin:19px 0 24px}.hero-actions{display:grid;grid-template-columns:1fr;gap:9px;max-width:300px}.hero-actions .btn{width:100%;min-height:47px}
  .hero-controls{right:16px;bottom:52px;gap:5px}.hero-controls button{width:32px;height:32px;font-size:12px}.hero-dots{gap:5px}.hero-dots button{width:6px;height:6px}
  .hero-bottom{bottom:16px}.hero-bottom-inner{font-size:8px}.hero-bottom-inner>div:last-child{display:none}
  .quick{min-height:88px;padding:14px 10px;gap:9px}.quick-icon{width:31px;height:31px;min-width:31px;font-size:11px}.quick b{font-size:16px}.quick span{font-size:8px}
  .intro,.popular,.destinations,.reviews,.faq,.contact,.page-content,.tour-placeholder{padding:68px 0}
  .intro-art,.page-photo{height:400px;min-height:400px;border-radius:0 65px}.art-card{left:15px;bottom:15px;padding:15px 16px;max-width:235px}.art-card b{font-size:24px}
  h2{font-size:clamp(43px,13vw,58px)}.lead{font-size:14px;line-height:1.55}.check-list{grid-template-columns:1fr}.stats{gap:18px;flex-wrap:wrap}.stat b{font-size:31px}
  .section-top{display:block;margin-bottom:30px}.section-top .btn{width:100%;margin-top:18px}
  .popular-grid{grid-template-columns:1fr;gap:15px}.popular-media{height:390px}.popular-title h3{font-size:38px}
  .experience-carousel{height:420px;margin-top:30px}.exp-caption{left:20px;bottom:25px}.exp-caption h3{font-size:37px}.exp-caption p{font-size:11px;max-width:80%}.exp-dots{left:20px;bottom:18px}.exp-controls{right:18px;bottom:13px}
  .form{padding:20px 16px;border-radius:22px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-inner{flex-direction:column;align-items:flex-start;padding-bottom:70px}
  .page-hero{min-height:470px;padding:115px 0 64px;overflow:hidden}.page-hero h1{font-size:clamp(42px,10.5vw,56px)!important;line-height:.94!important;letter-spacing:-.045em!important;max-width:100%!important;width:100%!important;overflow-wrap:normal!important;word-break:normal!important;margin-top:14px!important}.page-hero .container{width:calc(100% - 32px);max-width:100%;overflow:hidden}.page-hero .page-kicker{font-size:10px;letter-spacing:.16em}.page-hero .page-copy{font-size:14px;line-height:1.55;max-width:100%}.prose h3{font-size:35px}.prose p{font-size:14px}.prose .highlight{font-size:29px}
  .tour-placeholder .box{padding:28px 22px}.whatsapp{right:14px;bottom:14px;width:56px;height:56px}.whatsapp b{display:none}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.hero-slide,.popular-media img,.exp-slide{transition:none}}

@media(max-width:650px){.hero-slide{background-image:var(--mobile)}}

/* CONTACT + SOCIAL */
.social-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.social-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 16px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.06);color:#fff;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:.25s}
.social-link:hover{background:#fff;color:var(--ink);transform:translateY(-2px)}
.social-icon{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:11px}
.whatsapp-cta{margin-top:28px;display:inline-flex}
.contact-page-hero:before{background:linear-gradient(90deg,rgba(20,10,5,.82),rgba(20,10,5,.32)),url("provisional/photos/contact-hero.jpg") center/cover}
.student-page-hero:before{background:linear-gradient(90deg,rgba(20,10,5,.82),rgba(20,10,5,.32)),url("provisional/unique/img-088-student.svg") center/cover}
.contact-photo{background-image:linear-gradient(90deg,rgba(8,8,8,.18),rgba(8,8,8,.08)),url("provisional/unique/img-087-student.svg");background-position:center;background-size:cover}
@media(max-width:650px){
  .social-link{padding:10px 13px;font-size:9px}
  .social-links{gap:8px}
}

/* Header social links */
.nav-inner{position:relative}
.header-socials{display:flex;align-items:center;gap:7px;margin-left:auto;margin-right:0}
.header-socials a{width:31px;height:31px;border:1px solid rgba(255,255,255,.24);border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.05);text-decoration:none;transition:.2s}
.header-socials a:hover{background:#fff;color:var(--ink);border-color:#fff;transform:translateY(-2px)}
.header-socials span{font-size:10px;font-weight:800;line-height:1}
.nav-links{margin-left:18px}

/* Proper WhatsApp floating button */
.whatsapp{
  position:fixed;z-index:900;right:22px;bottom:22px;
  width:auto;height:54px;min-width:54px;padding:0 17px 0 13px;
  border-radius:999px;display:flex;align-items:center;justify-content:center;gap:9px;
  background:#25D366;color:#fff;font-size:12px;font-weight:800;
  box-shadow:0 10px 28px rgba(0,0,0,.25);
  transition:.25s;text-decoration:none;
}
.whatsapp:hover{transform:translateY(-3px);background:#20bd5a}
.whatsapp .wa-icon{width:29px;height:29px;display:grid;place-items:center;flex:0 0 29px}
.whatsapp .wa-icon svg{width:29px;height:29px;display:block}
.whatsapp b{position:static;opacity:1;transform:none;background:transparent;padding:0;color:#fff;font-size:12px;letter-spacing:.02em;pointer-events:auto}
@media(max-width:1000px){
  .header-socials{margin-left:auto;margin-right:12px}
  .nav-links{margin-left:0}
}
@media(max-width:650px){
  .header-socials{gap:5px;margin-right:8px}
  .header-socials a{width:28px;height:28px}
  .header-socials span{font-size:9px}
  .whatsapp{right:14px;bottom:14px;height:52px;min-width:52px;padding:0 15px 0 12px}
  .whatsapp b{display:block}
}


/* =========================================================
   TOUR CATALOG — MODERN / CLEAN CARD REDESIGN
   Content is intentionally untouched; this section changes
   presentation only.
   ========================================================= */
.tour-catalog{
  padding:82px 0 96px !important;
  background:#f7f5f0 !important;
}
.tour-catalog .catalog-intro{
  max-width:820px !important;
  margin:0 auto 54px !important;
}
.tour-catalog .catalog-intro h2{
  margin-bottom:12px !important;
}
.tour-catalog .catalog-intro .lead{
  max-width:720px !important;
  font-size:14px !important;
  line-height:1.75 !important;
}

/* Remove the large photographic duration banners without removing
   their labels/counts. */
.tour-catalog .duration-section{
  margin:0 0 58px !important;
}
.tour-catalog .duration-title,
.tour-catalog .duration-title.tour-duration-photo{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  min-height:0 !important;
  padding:0 0 14px !important;
  margin:0 0 20px !important;
  border:0 !important;
  border-bottom:1px solid #ddd7ce !important;
  border-radius:0 !important;
  background-image:none !important;
  background:none !important;
  box-shadow:none !important;
  color:#1d241f !important;
}
.tour-catalog .duration-title h2{
  margin:0 !important;
  font-family:var(--sans) !important;
  font-size:17px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:-.01em !important;
  color:#163d36 !important;
}
.tour-catalog .duration-title span{
  color:#8a8178 !important;
  font-size:9px !important;
  line-height:1 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

/* Four clean cards across on desktop. */
.tour-catalog .catalog-grid,
.tour-catalog .tour-cards,
.tour-catalog .tg-tour-grid,
.tour-catalog .cas-tour-grid,
.tour-catalog .fes-tour-grid,
.tour-catalog .stu-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:20px !important;
  width:100% !important;
  align-items:stretch !important;
}
.tour-catalog .catalog-grid>.duration-section{
  grid-column:1/-1 !important;
}

/* Card: quiet, compact, photo-led. */
.tour-catalog .tour-card,
.tour-catalog .tg-card,
.tour-catalog .cas-card,
.tour-catalog .fes-card,
.tour-catalog .stu-card{
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
  height:100% !important;
  margin:0 !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid #e4dfd7 !important;
  border-radius:14px !important;
  box-shadow:0 5px 18px rgba(34,29,23,.055) !important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease !important;
}
.tour-catalog .tour-card:hover,
.tour-catalog .tg-card:hover,
.tour-catalog .cas-card:hover,
.tour-catalog .fes-card:hover,
.tour-catalog .stu-card:hover{
  transform:translateY(-4px) !important;
  border-color:#d6cec3 !important;
  box-shadow:0 14px 30px rgba(34,29,23,.10) !important;
}
.tour-catalog .tour-card img,
.tour-catalog .tg-card img,
.tour-catalog .cas-card img,
.tour-catalog .fes-card img,
.tour-catalog .stu-card img{
  width:100% !important;
  height:164px !important;
  min-height:164px !important;
  object-fit:cover !important;
  display:block !important;
}
.tour-catalog .tour-card-body,
.tour-catalog .tg-card-body,
.tour-catalog .cas-card-body,
.tour-catalog .fes-card-body,
.tour-catalog .stu-body{
  display:flex !important;
  flex:1 !important;
  flex-direction:column !important;
  padding:15px 16px 16px !important;
}

/* Days + tour type are the first visual cue. */
.tour-catalog .tour-meta,
.tour-catalog .tg-meta,
.tour-catalog .cas-meta,
.tour-catalog .fes-meta,
.tour-catalog .stu-meta{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  flex-wrap:wrap !important;
  margin:0 0 9px !important;
}
.tour-catalog .tour-meta span,
.tour-catalog .tg-meta span,
.tour-catalog .cas-meta span,
.tour-catalog .fes-meta span,
.tour-catalog .stu-meta span{
  padding:5px 8px !important;
  border-radius:999px !important;
  background:#f4efe8 !important;
  color:#b24d18 !important;
  font-size:8px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}
.tour-catalog .tour-card h3,
.tour-catalog .tour-card-body h3,
.tour-catalog .tg-card-body h3,
.tour-catalog .cas-card-body h3,
.tour-catalog .fes-card-body h3,
.tour-catalog .stu-body h3{
  margin:0 0 8px !important;
  color:#123e36 !important;
  font-family:var(--sans) !important;
  font-size:16px !important;
  line-height:1.28 !important;
  font-weight:800 !important;
  letter-spacing:-.015em !important;
}
/* Route remains in the source unchanged, but is kept out of the
   compact card face so the layout stays calm. */
.tour-catalog .tour-card-route,
.tour-catalog .tg-route,
.tour-catalog .cas-route,
.tour-catalog .fes-route{
  display:none !important;
}
.tour-catalog .tour-card p:not(.tour-card-route),
.tour-catalog .tg-card-body p,
.tour-catalog .cas-card-body p,
.tour-catalog .fes-card-body p,
.tour-catalog .stu-body p{
  margin:0 !important;
  color:#766e66 !important;
  font-size:10.5px !important;
  line-height:1.55 !important;
}

/* CTA sits quietly at the bottom of every card. */
.tour-catalog .tour-card .btn,
.tour-catalog .tg-card .btn,
.tour-catalog .cas-card .btn,
.tour-catalog .fes-card .btn,
.tour-catalog .stu-card .btn{
  align-self:flex-start !important;
  margin-top:auto !important;
  padding:9px 0 0 !important;
  border:0 !important;
  background:transparent !important;
  color:#b94d13 !important;
  box-shadow:none !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
  text-decoration:none !important;
}
.tour-catalog .tour-card .btn:hover,
.tour-catalog .tg-card .btn:hover,
.tour-catalog .cas-card .btn:hover,
.tour-catalog .fes-card .btn:hover,
.tour-catalog .stu-card .btn:hover{
  color:#163d36 !important;
  transform:none !important;
}

@media(max-width:1100px){
  .tour-catalog .catalog-grid,
  .tour-catalog .tour-cards,
  .tour-catalog .tg-tour-grid,
  .tour-catalog .cas-tour-grid,
  .tour-catalog .fes-tour-grid,
  .tour-catalog .stu-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media(max-width:780px){
  .tour-catalog{
    padding:64px 0 78px !important;
  }
  .tour-catalog .catalog-intro{
    margin-bottom:42px !important;
  }
  .tour-catalog .catalog-grid,
  .tour-catalog .tour-cards,
  .tour-catalog .tg-tour-grid,
  .tour-catalog .cas-tour-grid,
  .tour-catalog .fes-tour-grid,
  .tour-catalog .stu-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px !important;
  }
  .tour-catalog .duration-section{
    margin-bottom:46px !important;
  }
}
@media(max-width:520px){
  .tour-catalog .duration-title{
    align-items:flex-end !important;
    padding-bottom:11px !important;
    margin-bottom:16px !important;
  }
  .tour-catalog .duration-title h2{
    font-size:15px !important;
  }
  .tour-catalog .catalog-grid,
  .tour-catalog .tour-cards,
  .tour-catalog .tg-tour-grid,
  .tour-catalog .cas-tour-grid,
  .tour-catalog .fes-tour-grid,
  .tour-catalog .stu-grid{
    grid-template-columns:1fr !important;
  }
  .tour-catalog .tour-card img,
  .tour-catalog .tg-card img,
  .tour-catalog .cas-card img,
  .tour-catalog .fes-card img,
  .tour-catalog .stu-card img{
    height:190px !important;
    min-height:190px !important;
  }
}

/* ===== MODERN TOUR CATALOG REDESIGN ===== */
.tour-catalog > .container,
.fes-catalog > .container,
.tg-catalog > .container,
.cas-catalog > .container,
.stu-catalog > .container{
  display:block!important;
}

.tour-catalog .catalog-intro,
.fes-catalog .catalog-intro,
.tg-catalog .catalog-intro,
.cas-catalog .catalog-intro,
.stu-catalog .stu-intro{
  max-width:820px!important;
  margin:0 auto 44px!important;
  text-align:center!important;
}

.tour-catalog .duration-section,
.fes-catalog .duration-section,
.tg-catalog .duration-section,
.cas-catalog .duration-section{
  width:100%!important;
  margin:0 0 54px!important;
}

/* Duration headings: clean, no giant background photo */
.tour-catalog .duration-title,
.fes-catalog .duration-title,
.tg-catalog .duration-title,
.cas-catalog .duration-title{
  min-height:0!important;
  height:auto!important;
  margin:0 0 20px!important;
  padding:0 2px 14px!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:20px!important;
  background:none!important;
  border:0!important;
  border-bottom:1px solid rgba(22,57,48,.12)!important;
}
.tour-catalog .duration-title::before,
.fes-catalog .duration-title::before,
.tg-catalog .duration-title::before,
.cas-catalog .duration-title::before{
  display:none!important;
}
.tour-catalog .duration-title h2,
.fes-catalog .duration-title h2,
.tg-catalog .duration-title h2,
.cas-catalog .duration-title h2{
  margin:0!important;
  font-size:30px!important;
  line-height:1.08!important;
  color:#163930!important;
  letter-spacing:-.02em!important;
}
.tour-catalog .duration-title h2::before,
.fes-catalog .duration-title h2::before,
.tg-catalog .duration-title h2::before,
.cas-catalog .duration-title h2::before{
  content:'◫';
  display:inline-block;
  margin-right:10px;
  font-size:.72em;
  vertical-align:middle;
  opacity:.82;
}
.tour-catalog .duration-title span,
.fes-catalog .duration-title span,
.tg-catalog .duration-title span,
.cas-catalog .duration-title span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:32px!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  background:#f3efe8!important;
  color:#163930!important;
  font-size:10px!important;
  line-height:1!important;
  text-transform:uppercase!important;
  letter-spacing:.12em!important;
  white-space:nowrap!important;
}

/* Four balanced cards, same proportions everywhere */
.tour-catalog .tour-cards,
.fes-catalog .fes-tour-grid,
.tg-catalog .tg-tour-grid,
.cas-catalog .cas-tour-grid,
.stu-catalog .stu-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:24px!important;
}

.tour-catalog .tour-card,
.fes-catalog .fes-card,
.tg-catalog .tg-card,
.cas-catalog .cas-card,
.stu-catalog .stu-card{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:0!important;
  border:1px solid #e8e2d9!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 8px 28px rgba(25,35,30,.07)!important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease!important;
}
.tour-catalog .tour-card:hover,
.fes-catalog .fes-card:hover,
.tg-catalog .tg-card:hover,
.cas-catalog .cas-card:hover,
.stu-catalog .stu-card:hover{
  transform:translateY(-5px)!important;
  box-shadow:0 18px 40px rgba(25,35,30,.12)!important;
  border-color:#dcd4ca!important;
}

.tour-catalog .tour-card img,
.fes-catalog .fes-card img,
.tg-catalog .tg-card img,
.cas-catalog .cas-card img,
.stu-catalog .stu-card img{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1.155 / 1!important;
  object-fit:cover!important;
  display:block!important;
  background:#ddd5ca!important;
}

.tour-catalog .tour-card-body,
.fes-catalog .fes-card-body,
.tg-catalog .tg-card-body,
.cas-catalog .cas-card-body,
.stu-catalog .stu-body{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  flex:1!important;
  padding:20px 18px 18px!important;
}

.tour-catalog .tour-meta,
.fes-catalog .fes-meta,
.tg-catalog .tg-meta,
.cas-catalog .cas-meta,
.stu-catalog .stu-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin:0 0 14px!important;
}
.tour-catalog .tour-meta span,
.fes-catalog .fes-meta span,
.tg-catalog .tg-meta span,
.cas-catalog .cas-meta span,
.stu-catalog .stu-meta span{
  display:inline-flex!important;
  align-items:center!important;
  padding:7px 10px!important;
  background:#f5f1eb!important;
  color:#183b32!important;
  border-radius:999px!important;
  font-size:9px!important;
  line-height:1!important;
  text-transform:uppercase!important;
  letter-spacing:.1em!important;
}

.tour-catalog .tour-card-body h3,
.fes-catalog .fes-card-body h3,
.tg-catalog .tg-card-body h3,
.cas-catalog .cas-card-body h3,
.stu-catalog .stu-body h3{
  margin:0 0 10px!important;
  color:#163930!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:20px!important;
  line-height:1.2!important;
  letter-spacing:-.015em!important;
}

/* Keep all existing route/detail content; only style it */
.tour-catalog .tour-card-route,
.fes-catalog .fes-route,
.tg-catalog .tg-route,
.cas-catalog .cas-route{
  display:block!important;
  margin:0 0 8px!important;
  color:#746b62!important;
  font-size:11px!important;
  line-height:1.45!important;
}
.tour-catalog .tour-card-body p:not(.tour-card-route),
.fes-catalog .fes-card-body p:not(.fes-route),
.tg-catalog .tg-card-body p:not(.tg-route),
.cas-catalog .cas-card-body p:not(.cas-route),
.stu-catalog .stu-body p{
  color:#5f5a54!important;
  font-size:12px!important;
  line-height:1.55!important;
  margin:0!important;
}

.tour-catalog .tour-card .btn,
.fes-catalog .fes-card .btn,
.tg-catalog .tg-card .btn,
.cas-catalog .cas-card .btn,
.stu-catalog .stu-card .btn{
  align-self:flex-start!important;
  margin-top:auto!important;
  padding:10px 14px!important;
  border-radius:999px!important;
  background:#f06423!important;
  color:#fff!important;
  border:0!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
}
.tour-catalog .tour-card .btn:hover,
.fes-catalog .fes-card .btn:hover,
.tg-catalog .tg-card .btn:hover,
.cas-catalog .cas-card .btn:hover,
.stu-catalog .stu-card .btn:hover{
  background:#d95217!important;
  color:#fff!important;
}

/* Student trips use the same visual language */
.stu-catalog .stu-grid{
  margin-top:0!important;
}
.stu-catalog .stu-card img{
  height:220px!important;
  min-height:220px!important;
}

@media(max-width:1150px){
  .tour-catalog .tour-cards,
  .fes-catalog .fes-tour-grid,
  .tg-catalog .tg-tour-grid,
  .cas-catalog .cas-tour-grid,
  .stu-catalog .stu-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:820px){
  .tour-catalog .duration-title,
  .fes-catalog .duration-title,
  .tg-catalog .duration-title,
  .cas-catalog .duration-title{align-items:center!important}
  .tour-catalog .duration-title h2,
  .fes-catalog .duration-title h2,
  .tg-catalog .duration-title h2,
  .cas-catalog .duration-title h2{font-size:26px!important}
  .tour-catalog .tour-cards,
  .fes-catalog .fes-tour-grid,
  .tg-catalog .tg-tour-grid,
  .cas-catalog .cas-tour-grid,
  .stu-catalog .stu-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
}
@media(max-width:560px){
  .tour-catalog .duration-title,
  .fes-catalog .duration-title,
  .tg-catalog .duration-title,
  .cas-catalog .duration-title{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:10px!important;padding-bottom:12px!important}
  .tour-catalog .duration-title h2,
  .fes-catalog .duration-title h2,
  .tg-catalog .duration-title h2,
  .cas-catalog .duration-title h2{font-size:24px!important}
  .tour-catalog .tour-cards,
  .fes-catalog .fes-tour-grid,
  .tg-catalog .tg-tour-grid,
  .cas-catalog .cas-tour-grid,
  .stu-catalog .stu-grid{grid-template-columns:1fr!important}
  .tour-catalog .tour-card img,
  .fes-catalog .fes-card img,
  .tg-catalog .tg-card img,
  .cas-catalog .cas-card img,
  .stu-catalog .stu-card img{height:auto!important;min-height:0!important;aspect-ratio:1.155 / 1!important}
}

/* ===== STUDENT TRIPS CATALOG MATCH ===== */
.student-redesign .student-wrap{max-width:1200px;margin:0 auto;padding:90px 24px}
.student-redesign .student-heading{text-align:center;max-width:820px;margin:0 auto 50px}
.student-redesign .student-section-banner{background:none!important;height:auto!important;min-height:0!important;margin:0 0 20px!important;padding:0 2px 14px!important;border-bottom:1px solid rgba(22,57,48,.12)!important;display:flex!important;align-items:flex-end!important;justify-content:space-between!important}
.student-redesign .student-section-banner::before{display:none!important}
.student-redesign .student-section-banner h2{margin:0!important;color:#163930!important;font-family:Georgia,'Times New Roman',serif!important;font-size:30px!important}
.student-redesign .student-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important}
.student-redesign .student-card{display:flex!important;flex-direction:column!important;min-width:0!important;border-radius:16px!important;border:1px solid #e8e2d9!important;background:#fff!important;overflow:hidden!important;box-shadow:0 8px 28px rgba(25,35,30,.07)!important;transition:.25s ease!important}
.student-redesign .student-card:hover{transform:translateY(-5px)!important;box-shadow:0 18px 40px rgba(25,35,30,.12)!important}
.student-redesign .student-photo{height:220px!important;min-height:220px!important;overflow:hidden!important}
.student-redesign .student-photo img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.student-redesign .student-card-body{padding:20px 18px 18px!important;display:flex!important;flex-direction:column!important;flex:1!important}
.student-redesign .student-kicker{display:inline-flex!important;align-self:flex-start!important;background:#f5f1eb!important;color:#183b32!important;border-radius:999px!important;padding:7px 10px!important;font-size:9px!important;line-height:1!important;text-transform:uppercase!important;letter-spacing:.1em!important;margin-bottom:14px!important}
.student-redesign .student-card-body h3{font-family:Georgia,'Times New Roman',serif!important;color:#163930!important;font-size:20px!important;line-height:1.2!important;margin:0 0 10px!important}
.student-redesign .student-card-body p{color:#5f5a54!important;font-size:12px!important;line-height:1.55!important;margin:0!important}
.student-redesign .student-link{align-self:flex-start!important;margin-top:auto!important;padding:10px 14px!important;border-radius:999px!important;background:#f06423!important;color:#fff!important;font-size:10px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.06em!important;text-decoration:none!important}
.student-redesign .student-link:hover{background:#d95217!important;color:#fff!important}
@media(max-width:900px){.student-redesign .student-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){.student-redesign .student-wrap{padding:65px 18px}.student-redesign .student-grid{grid-template-columns:1fr!important}.student-redesign .student-photo{height:200px!important;min-height:200px!important}}

/* ===== FINAL POLISH: TANGIER CATALOG + QUIETER CTA ===== */
/* Tangier has one tour per duration; flatten the duration wrappers so
   every tour shares one balanced grid, like the approved preview. */
.tg-catalog .catalog-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:24px!important;
  align-items:stretch!important;
}
.tg-catalog .duration-section{
  display:contents!important;
}
.tg-catalog .duration-title{
  display:none!important;
}
.tg-catalog .tour-cards{
  display:contents!important;
}
.tg-catalog .tg-card{
  width:100%!important;
  min-width:0!important;
  height:100%!important;
}

/* Keep CTAs visually separated from descriptions. */
.tour-catalog .tour-card .btn,
.fes-catalog .fes-card .btn,
.tg-catalog .tg-card .btn,
.cas-catalog .cas-card .btn,
.stu-catalog .stu-card .btn{
  margin-top:18px!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#ef6423!important;
  border:0!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}
.tour-catalog .tour-card .btn:hover,
.fes-catalog .fes-card .btn:hover,
.tg-catalog .tg-card .btn:hover,
.cas-catalog .cas-card .btn:hover,
.stu-catalog .stu-card .btn:hover{
  color:#163930!important;
  background:transparent!important;
  transform:translateX(2px)!important;
}

/* Slightly calmer typography and spacing in all tour cards. */
.tour-catalog .tour-card-body,
.fes-catalog .fes-card-body,
.tg-catalog .tg-card-body,
.cas-catalog .cas-card-body,
.stu-catalog .stu-body{
  padding:18px 18px 19px!important;
}
.tour-catalog .tour-card-body h3,
.fes-catalog .fes-card-body h3,
.tg-catalog .tg-card-body h3,
.cas-catalog .cas-card-body h3,
.stu-catalog .stu-body h3{
  font-size:19px!important;
  line-height:1.22!important;
  margin-bottom:9px!important;
}
.tour-catalog .tour-card img,
.fes-catalog .fes-card img,
.tg-catalog .tg-card img,
.cas-catalog .cas-card img,
.stu-catalog .stu-card img{
  height:192px!important;
  min-height:192px!important;
}

@media(max-width:1150px){
  .tg-catalog .catalog-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:820px){
  .tg-catalog .catalog-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;
  }
}
@media(max-width:560px){
  .tg-catalog .catalog-grid{
    grid-template-columns:1fr!important;
  }
  .tour-catalog .tour-card img,
  .fes-catalog .fes-card img,
  .tg-catalog .tg-card img,
  .cas-catalog .cas-card img,
  .stu-catalog .stu-card img{
    height:200px!important;
    min-height:200px!important;
  }
}

/* HOME — region hub, student feature and travel gallery */
.region-hub{background:#211812;color:#fff;padding:110px 0 100px}
.region-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:42px}
.region-heading .lead{color:rgba(255,255,255,.68);max-width:650px}
.region-note{display:flex;align-items:center;gap:12px;padding:13px 16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);border-radius:16px;min-width:220px}
.region-note>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f4eee7;color:#b94d13;font-size:17px}
.region-note b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#fff}
.region-note small{display:block;margin-top:3px;color:rgba(255,255,255,.55);font-size:10px}
.region-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.region-card{display:flex;flex-direction:column;min-width:0;background:#fff;color:var(--ink);border-radius:20px;overflow:hidden;text-decoration:none;box-shadow:0 14px 38px rgba(0,0,0,.16);transition:transform .25s ease,box-shadow .25s ease}
.region-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(0,0,0,.22)}
.region-media{height:235px;position:relative;overflow:hidden;background:#ddd}
.region-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.region-card:hover .region-media img{transform:scale(1.04)}
.region-icon{position:absolute;right:15px;top:15px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);color:#173a31;font-size:17px;box-shadow:0 5px 15px rgba(0,0,0,.12)}
.region-body{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1}
.region-kicker{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#b94d13;font-weight:800;margin-bottom:8px}
.region-body h3{font-family:var(--serif);font-size:30px;line-height:1.02;color:#173a31;margin:0 0 10px}
.region-body p{font-size:12px;line-height:1.6;color:#6d665f;margin:0 0 20px}
.region-link{margin-top:auto;color:#b94d13;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.region-link b{font-size:15px;margin-left:5px}

.student-feature{padding:82px 0;background:#f7f2eb}
.student-feature-card{position:relative;min-height:460px;border-radius:28px;overflow:hidden;background:#173a31;color:#fff;text-decoration:none;box-shadow:0 18px 50px rgba(50,30,15,.12)}
.student-feature-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,24,20,.9) 0%,rgba(10,24,20,.72) 42%,rgba(10,24,20,.22) 78%,rgba(10,24,20,.06) 100%);z-index:1}
.student-feature-copy{position:relative;z-index:3;min-height:460px;max-width:620px;padding:58px 60px 55px;display:flex;flex-direction:column;justify-content:center}
.student-feature-copy .eyebrow{color:#f1a16f}
.student-feature-copy h2{font-size:68px;line-height:.95;margin:12px 0 10px;color:#fff}
.student-tagline{font-family:var(--serif);font-style:italic;font-size:30px;color:#f1a16f;margin-bottom:15px}
.student-feature-copy p{max-width:480px;color:rgba(255,255,255,.84);font-size:14px;line-height:1.75;margin:0 0 28px}
.student-feature-btn{align-self:flex-start;padding:14px 20px;border-radius:999px;background:#fff;color:#173a31;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.student-feature-btn b{margin-left:8px;font-size:14px}
.student-feature-photo{position:absolute;inset:0;overflow:hidden}
.student-feature-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.student-feature-card:hover .student-feature-photo img{transform:scale(1.03)}

.travel-gallery{padding:100px 0;background:#fff}
.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}
.gallery-heading .lead{max-width:650px}
.gallery-all{border:1px solid #b94d13;color:#b94d13;padding:12px 17px;border-radius:12px;text-decoration:none;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.gallery-all b{font-size:14px;margin-left:7px}
.gallery-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));grid-auto-rows:190px;gap:10px}
.gallery-item{border:0;padding:0;margin:0;overflow:hidden;border-radius:16px;background:#eee;cursor:pointer;position:relative}
.gallery-item img{width:100%;height: 100%;object-fit:cover;display:block;transition:transform .45s ease,filter .45s ease}
.gallery-item:hover img{transform:scale(1.04);filter:saturate(1.05)}
.gallery-tall{grid-row:span 2}
.gallery-wide{grid-column:span 2}
.gallery-lightbox{position:fixed;inset:0;z-index:2000;background:rgba(12,8,5,.94);display:none;align-items:flex-start;justify-content:center;padding:30px;overflow:auto;cursor:zoom-out}
.gallery-lightbox.open{display:flex}
.gallery-lightbox img{width:auto;height: 100%;max-width:none;max-height: 100%;object-fit:contain;border-radius:12px;box-shadow:0 25px 80px rgba(0,0,0,.45);cursor:default;flex:0 0 auto}
.gallery-close{position:absolute;right:25px;top:20px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.2);color:#fff;font-size:28px;cursor:pointer}

@media(max-width:1100px){
  .region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .student-feature-copy{padding:40px}
  .student-feature-copy h2{font-size:54px}
}
@media(max-width:780px){
  .region-heading,.gallery-heading{align-items:flex-start;flex-direction:column}
  .region-note{width:100%;max-width:300px}
  .region-grid{grid-template-columns:1fr 1fr}
  .student-feature-copy{min-height:420px}
  .student-feature-photo{min-height:300px;order:-1}
  .gallery-grid{grid-template-columns:repeat(3, minmax(0, 1fr));grid-auto-rows:180px}
  .gallery-wide{grid-column:span 1}
  .gallery-tall{grid-row:span 2}
}
@media(max-width:560px){
  .region-grid{grid-template-columns:1fr}
  .region-media{height:220px}
  .student-feature-copy{padding:34px 25px}
  .student-feature-copy h2{font-size:48px}
  .student-tagline{font-size:23px}
  .student-feature-photo{min-height:240px}
  .gallery-grid{grid-template-columns:repeat(3, minmax(0, 1fr));grid-auto-rows:210px}
  .gallery-tall{grid-row:span 1}
}


/* FINAL POLISH — keep the approved structure, refine only spacing, contact, reviews and CTA details. */
.student-feature-photo img{content-visibility:auto}
.student-feature-photo:before{display:none!important;content:none!important;background:none!important}

/* FAQ — more compact without hiding any questions. */
.faq{padding:78px 0!important}
.faq-grid{gap:52px!important}
.faq-list{max-width:760px;margin-left:auto}
details{padding:15px 0!important}
summary{font-size:21px!important;line-height:1.2!important}
details p{font-size:12px!important;line-height:1.65!important;padding:9px 32px 0 0!important}

/* Contact — modern dark panel with cleaner proportions. */
.contact{padding:82px 0!important;background:radial-gradient(circle at 85% 20%,rgba(185,77,19,.18),transparent 30%),linear-gradient(135deg,#17100b,#21140d)!important}
.contact-grid{gap:48px!important;align-items:start!important}
.contact-info{grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:28px!important}
.contact-info>div{padding:14px 15px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035);border-radius:14px}
.contact-info a,.contact-info div{font-size:14px!important}
.contact-info small{font-size:8px!important;margin-bottom:3px}
.form{padding:24px!important;border-radius:22px!important;box-shadow:0 24px 60px rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.08)}
.field input,.field textarea,.field select{border-radius:10px!important;padding:11px 12px!important}
.field textarea{min-height:90px!important}

/* TripAdvisor / guest feedback — modern editorial cards. */
.reviews{padding:82px 0!important;background:#fff!important}
.reviews-top{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:34px}
.reviews-top .lead{max-width:650px}
.tripadvisor-cta{display:flex;align-items:center;gap:12px;min-width:255px;padding:13px 15px;border:1px solid #e1d9d0;border-radius:16px;background:#fbf8f3;color:#173a31;transition:.25s}
.tripadvisor-cta:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(50,30,15,.1);border-color:#c9bfb4}
.ta-mark{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#173a31;color:#fff;font-size:11px;font-weight:900;letter-spacing:.05em}
.tripadvisor-cta b{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.tripadvisor-cta small{display:block;color:#786f68;font-size:9px;margin-top:2px}
.tripadvisor-cta strong{margin-left:auto;color:#b94d13;font-size:18px}
.review-grid{gap:16px!important;margin-top:0!important}
.review{padding:22px!important;border-radius:18px!important;background:#fbf8f3!important;border-color:#e5ddd4!important;box-shadow:0 10px 30px rgba(50,30,15,.05)}
.review-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.review-source{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#9a8d83;font-weight:800}
.review p{font-size:21px!important;line-height:1.15!important;margin:17px 0!important}
.review small{font-size:8px!important}

/* Compact, fixed-size WhatsApp CTA on every catalog card. */
.card-cta-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid rgba(32,25,20,.09)}
.card-cta-row .btn,.card-cta-row a{flex:0 0 auto!important;width:auto!important;min-width:0!important;max-width:max-content!important;white-space:nowrap!important}
.card-whatsapp{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;width:auto!important;min-width:0!important;padding:8px 11px!important;border-radius:999px!important;background:#25D366!important;color:#fff!important;border:0!important;font-family:var(--sans)!important;font-size:8px!important;font-weight:900!important;letter-spacing:.055em!important;text-transform:uppercase!important;text-decoration:none!important;line-height:1!important;box-shadow:none!important}
.card-whatsapp:hover{background:#1fbd5b!important;transform:translateY(-1px)!important;color:#fff!important}
.card-whatsapp svg{width:12px;height:12px;display:block;fill:currentColor}
.tour-catalog .tour-card-body,.fes-catalog .fes-card-body,.tg-catalog .tg-card-body,.cas-catalog .cas-card-body,.stu-catalog .stu-body,.student-redesign .student-card-body{display:flex!important;flex-direction:column!important}
.student-redesign .student-card-body .student-link{margin-top:0!important}
.student-redesign .card-cta-row{margin-top:auto!important}

@media(max-width:900px){
  .reviews-top{align-items:flex-start;flex-direction:column}
  .tripadvisor-cta{min-width:0;width:100%;max-width:360px}
  .contact-grid{gap:32px!important}
}
@media(max-width:620px){
  .faq{padding:62px 0!important}
  .faq-grid{gap:34px!important}
  summary{font-size:19px!important}
  .contact{padding:65px 0!important}
  .contact-info{grid-template-columns:1fr!important}
  .form{padding:19px!important}
  .card-cta-row{align-items:flex-start;flex-direction:column}
  .card-whatsapp{align-self:flex-start}
}

/* ===== GLOBAL BRAND SYSTEM — FINAL ===== */
:root{--brand-green:#173d34;--brand-green-deep:#102d28;--brand-cream:#f5f1ea;--brand-orange:#b94d13;--brand-sand:#e9e2d8}
.navbar .nav-inner{min-height:68px!important}
.navbar .logo{width:88px!important;height:64px!important;display:flex!important;align-items:center!important;overflow:visible!important}
.navbar .logo img{width:78px!important;height:auto!important;max-height:58px!important;object-fit:contain!important;filter:none!important;background:transparent!important}
.header-socials{gap:7px!important;margin-left:auto!important;margin-right:18px!important}
.header-socials a{width:31px!important;height:31px!important}
.site-footer{position:relative!important;overflow:hidden!important;background:linear-gradient(135deg,#102d28 0%,#173d34 58%,#0f2925 100%)!important;color:#f5f1ea!important;padding:58px 0 20px!important;border-top:1px solid rgba(240,138,75,.35)!important}
.site-footer:before{content:"MOROCCO";position:absolute;right:-50px;bottom:-55px;font-family:'Cormorant Garamond',serif;font-size:180px;line-height:1;color:rgba(255,255,255,.025);font-weight:700;pointer-events:none}
.footer-glow{position:absolute;width:380px;height:380px;border-radius:50%;right:-180px;top:-180px;background:rgba(240,138,75,.10);filter:blur(12px);pointer-events:none}
.footer-main{position:relative;z-index:1;display:grid!important;grid-template-columns:1.45fr .75fr .9fr 1fr!important;gap:42px!important;align-items:start!important}
.footer-brand-logo{display:block!important;width:105px!important;margin:0 0 12px!important}
.footer-brand-logo img{display:block!important;width:105px!important;height:auto!important;object-fit:contain!important;filter:none!important}
.footer-kicker,.footer-label{font-family:Inter,sans-serif!important;font-size:9px!important;letter-spacing:.18em!important;text-transform:uppercase!important;font-weight:800!important;color:#f08a4b!important}
.footer-brand p{max-width:300px!important;margin:12px 0 0!important;color:rgba(245,241,234,.68)!important;font-size:12px!important;line-height:1.75!important}
.footer-socials{display:flex!important;gap:8px!important;margin-top:17px!important}
.footer-socials a{width:32px!important;height:32px!important;border:1px solid rgba(240,138,75,.55)!important;border-radius:50%!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;color:#f5f1ea!important;text-decoration:none!important;font:700 11px/1 Inter,sans-serif!important;background:rgba(255,255,255,.03)!important;margin:0!important;padding:0!important;transition:.2s!important}
.footer-socials a:hover{background:#f08a4b!important;color:#102d28!important;transform:translateY(-2px)!important}
.footer-column{display:flex!important;flex-direction:column!important;gap:9px!important}
.footer-column .footer-label{margin-bottom:6px!important}
.footer-column a{color:rgba(245,241,234,.72)!important;text-decoration:none!important;font:500 12px/1.4 Inter,sans-serif!important;margin:0!important;display:block!important;transition:.2s!important}
.footer-column a:hover{color:#f08a4b!important;transform:translateX(2px)!important}
.footer-quote{border-left:1px solid rgba(240,138,75,.35)!important;padding-left:24px!important}
.footer-quote span{display:block;font:800 9px/1 Inter,sans-serif;letter-spacing:.16em;color:#f08a4b}
.footer-quote strong{display:block;font:600 30px/.95 'Cormorant Garamond',serif;color:#fff;margin-top:6px}
.footer-quote p{font:400 12px/1.7 Inter,sans-serif;color:rgba(245,241,234,.62);margin:12px 0 0;max-width:230px}
.footer-bottom{position:relative;z-index:1;display:flex!important;justify-content:space-between!important;gap:20px!important;border-top:1px solid rgba(255,255,255,.10)!important;margin-top:42px!important;padding-top:17px!important;color:rgba(245,241,234,.42)!important;font:400 9px/1.5 Inter,sans-serif!important}
/* About: same visual language, smaller editorial typography */
.about-hero h1{font-size:clamp(52px,6.5vw,82px)!important;line-height:.92!important;max-width:760px!important}
.about-copy h2,.about-story h2,.about-values h2{font-size:clamp(38px,4.2vw,58px)!important}
.about-values{background:var(--brand-green)!important}
.about-values h2{color:#fff!important}
@media(max-width:1000px){.footer-main{grid-template-columns:1fr 1fr!important}.footer-quote{border-left:0!important;padding-left:0!important}}
@media(max-width:600px){.navbar .logo{width:72px!important;height:58px!important}.navbar .logo img{width:64px!important;max-height:50px!important}.header-socials{margin-right:7px!important}.site-footer{padding:45px 0 18px!important}.footer-main{grid-template-columns:1fr!important;gap:28px!important}.footer-quote{border-left:0!important;border-top:1px solid rgba(240,138,75,.25)!important;padding:20px 0 0!important}.footer-bottom{flex-direction:column!important;margin-top:28px!important}.about-hero h1{font-size:clamp(44px,13vw,66px)!important}.about-copy h2,.about-story h2,.about-values h2{font-size:clamp(36px,10vw,50px)!important}}

/* ===== FINAL CORRECTION: BLACK GRADIENT + CONSISTENT BRAND ===== */
.navbar .logo{width:72px!important;height:58px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important}
.navbar .logo img{width:64px!important;max-width:64px!important;max-height:50px!important;height:auto!important;object-fit:contain!important}

/* Same footer on every page: black gradient, never green */
.site-footer,
footer.site-footer{
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 82% 8%, rgba(255,255,255,.085), transparent 28%),
    radial-gradient(circle at 12% 100%, rgba(185,77,19,.12), transparent 32%),
    linear-gradient(120deg,#050505 0%,#0b0b0b 38%,#191919 68%,#050505 100%)!important;
  color:#f5f1ea!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
  padding:52px 0 18px!important;
}
.site-footer:before{content:"MOROCCO"!important;position:absolute!important;right:-50px!important;bottom:-55px!important;font-family:'Cormorant Garamond',serif!important;font-size:170px!important;line-height:1!important;color:rgba(255,255,255,.022)!important;font-weight:700!important;pointer-events:none!important;background:none!important}
.site-footer .footer-glow{position:absolute!important;width:420px!important;height:420px!important;border-radius:50%!important;right:-210px!important;top:-220px!important;background:rgba(255,255,255,.055)!important;filter:blur(20px)!important;pointer-events:none!important}
.site-footer .footer-main,.site-footer .footer-bottom{position:relative!important;z-index:2!important}
.site-footer .footer-brand-logo,.site-footer .footer-brand-logo img{width:76px!important;max-width:76px!important;height:auto!important}
.site-footer .footer-label,.site-footer .footer-kicker{color:#f08a4b!important}
.site-footer .footer-column a,.site-footer .footer-brand p,.site-footer .footer-quote p{color:rgba(245,241,234,.70)!important}
.site-footer .footer-column a:hover{color:#fff!important}
.site-footer .footer-socials a{background:rgba(255,255,255,.035)!important;border-color:rgba(255,255,255,.22)!important;color:#fff!important}
.site-footer .footer-bottom{border-top-color:rgba(255,255,255,.12)!important;color:rgba(245,241,234,.42)!important}

/* About: photographic commitment section, not a flat color block */
.about-values{
  position:relative!important;
  overflow:hidden!important;
  background-color:#090909!important;
  background-image:
    linear-gradient(90deg,rgba(5,5,5,.84),rgba(5,5,5,.58) 55%,rgba(5,5,5,.48)),
    url('provisional/unique/img-085-coast.svg')!important;
  background-size:cover!important;
  background-position:center!important;
  color:#fff!important;
}
.about-values:before{content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.48))!important;pointer-events:none!important}
.about-values>.container{position:relative!important;z-index:2!important}
.about-values h2{color:#fff!important}
.about-values-intro{color:rgba(255,255,255,.78)!important}

/* Smaller editorial About title */
.about-hero h1{font-size:clamp(48px,6vw,70px)!important;line-height:.94!important;max-width:760px!important}

@media(max-width:700px){
  .navbar .logo{width:66px!important;height:54px!important}
  .navbar .logo img{width:58px!important;max-width:58px!important;max-height:46px!important}
  .site-footer{padding:42px 0 18px!important}
  .site-footer .footer-brand-logo,.site-footer .footer-brand-logo img{width:68px!important;max-width:68px!important}
  .about-hero h1{font-size:clamp(42px,11vw,58px)!important}
}

/* FINAL DESTINATION MARQUEE */
.destination-ticker{width:100%;margin:0;background:linear-gradient(90deg,#080808,#1a1714,#080808);color:#f5f1ea;border-top:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.10);overflow:hidden}
.destination-ticker .ticker-marquee{display:flex;width:max-content;animation:destinationMarquee 42s linear infinite;will-change:transform}
.destination-ticker:hover .ticker-marquee{animation-play-state:paused}
.destination-ticker .ticker-item{display:flex;align-items:center;gap:22px;padding:14px 24px;font:700 11px/1 Inter,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}
.destination-ticker .camel{font-size:16px;letter-spacing:0;line-height:1;filter:saturate(.9)}
@keyframes destinationMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:700px){.destination-ticker .ticker-item{gap:16px;padding:12px 18px;font-size:9px}.destination-ticker .camel{font-size:13px}}

/* ===== FINAL WEB + MOBILE OPTIMIZATION ===== */
:root{--content-max:1240px}
html,body{max-width:100%;overflow-x:hidden}
img{height:auto}
.container{width:min(var(--content-max),calc(100% - 48px))}
.nav-inner{min-width:0}
.nav-links{white-space:nowrap}

/* Better desktop rhythm */
@media(min-width:1200px){
  .container{width:min(1280px,calc(100% - 72px))}
  .navbar{height:78px}
  .hero-content{max-width:820px}
  .popular-grid{gap:24px}
  .tour-catalog .tour-cards,.fes-catalog .fes-tour-grid,.tg-catalog .tg-tour-grid,.cas-catalog .cas-tour-grid,.stu-catalog .stu-grid{gap:24px!important}
}

/* Tablet */
@media(max-width:1000px){
  .container{width:calc(100% - 40px)}
  .navbar{height:72px;background:linear-gradient(90deg,rgba(5,5,5,.92),rgba(22,22,22,.88))}
  .nav-links{top:72px;max-height:calc(100vh - 72px);overflow:auto}
  .hero{height:auto;min-height:700px}
  .hero-content{padding-top:110px;padding-bottom:110px}
  .intro-grid,.page-split,.faq-grid,.contact-grid{gap:38px}
  .about-layout,.about-story-grid{grid-template-columns:1fr!important;gap:44px!important}
  .about-photo-stack{min-height:520px!important;max-width:720px!important;width:100%!important}
  .site-footer .footer-main{grid-template-columns:1fr 1fr!important;gap:34px!important}
}

/* Phones */
@media(max-width:650px){
  body{font-size:15px;line-height:1.6}
  .container{width:calc(100% - 28px)}
  .navbar{height:64px!important;background:linear-gradient(90deg,rgba(5,5,5,.96),rgba(24,24,24,.94))!important}
  .navbar .logo{width:58px!important;height:48px!important}
  .navbar .logo img{width:52px!important;max-width:52px!important;max-height:44px!important}
  .nav-toggle{font-size:24px;line-height:1}
  .nav-links{top:64px!important;padding:18px 18px 24px!important;gap:10px!important}
  .nav-links>a,.nav-item>button{font-size:10px!important;width:100%;text-align:left}
  .nav-book{display:inline-flex!important;width:auto!important;padding:10px 15px!important}
  .header-socials{display:none!important}

  .hero{min-height:650px!important;height:auto!important}
  .hero-content{padding-top:105px!important;padding-bottom:120px!important}
  .hero h1{font-size:clamp(44px,12vw,60px)!important;line-height:.94!important}
  .hero-copy{font-size:15px!important;max-width:94%}
  .hero-actions{max-width:none!important;grid-template-columns:1fr!important}
  .hero-actions .btn{width:100%!important}
  .hero-controls{bottom:58px!important}

  h2{font-size:clamp(38px,11vw,52px)!important}
  .eyebrow{font-size:9px;letter-spacing:.14em}
  .lead{font-size:14px!important}
  .intro,.popular,.destinations,.reviews,.faq,.contact,.page-content,.tour-placeholder{padding:58px 0!important}
  .quick-grid{grid-template-columns:1fr 1fr}
  .quick{padding:13px 9px!important}
  .popular-media{height:310px!important}
  .experience-carousel{height:390px!important}

  /* About */
  .about-hero{padding:105px 0 60px!important;min-height:520px;display:flex;align-items:flex-end}
  .about-hero h1{font-size:clamp(43px,12vw,58px)!important;line-height:.94!important;margin-bottom:18px!important}
  .about-hero p{font-size:15px!important;line-height:1.6!important}
  .about-layout,.about-story-grid{grid-template-columns:1fr!important;gap:32px!important}
  .about-copy h2,.about-story h2,.about-values h2{font-size:clamp(36px,10vw,48px)!important}
  .about-photo-stack{min-height:410px!important}
  .about-photo-main{position:relative!important;width:88%!important;height:330px!important;margin-left:auto!important}
  .about-photo-small{width:48%!important;height:165px!important;border-width:6px!important}
  .about-photo-label{right:5%!important;bottom:18px!important;padding:12px 14px!important;font-size:9px!important}
  .about-values{padding:62px 0!important}

  /* Catalog cards */
  .tour-catalog .tour-cards,.fes-catalog .fes-tour-grid,.tg-catalog .tg-tour-grid,.cas-catalog .cas-tour-grid,.stu-catalog .stu-grid,.student-redesign .student-grid{grid-template-columns:1fr!important;gap:18px!important}
  .tour-catalog .tour-card,.fes-catalog .fes-card,.tg-catalog .tg-card,.cas-catalog .cas-card,.stu-catalog .stu-card{max-width:100%!important;width:100%!important}
  .tour-catalog .tour-card img,.fes-catalog .fes-card img,.tg-catalog .tg-card img,.cas-catalog .cas-card img,.stu-catalog .stu-card img{height:220px!important;aspect-ratio:auto!important;object-fit:cover!important}
  .tour-catalog .tour-card-body,.fes-catalog .fes-card-body,.tg-catalog .tg-card-body,.cas-catalog .cas-card-body,.stu-catalog .stu-card-body{padding:20px!important}
  .card-cta-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;flex-wrap:nowrap!important}
  .card-whatsapp{flex:0 0 auto!important;white-space:nowrap!important;min-width:0!important;padding:10px 12px!important}
  .card-whatsapp span{font-size:10px!important}

  /* FAQ/contact/reviews */
  .faq-grid,.contact-grid{gap:28px!important}
  .faq{padding:58px 0!important}
  .faq-item button,.faq-question{font-size:15px!important;padding:17px 0!important}
  .contact{padding:62px 0!important}
  .contact .form{padding:20px 16px!important}
  .review-card{padding:22px!important}

  /* Gallery */
  .gallery-hero h1{font-size:clamp(42px,12vw,58px)!important;line-height:.95!important}
  .full-gallery-grid{gap:12px!important}

  /* Footer */
  .site-footer{padding:38px 0 18px!important}
  .site-footer .footer-main{grid-template-columns:1fr!important;gap:25px!important}
  .site-footer .footer-brand-logo,.site-footer .footer-brand-logo img{width:64px!important;max-width:64px!important}
  .footer-quote{padding-top:18px!important}
  .footer-quote strong{font-size:27px!important}
  .footer-bottom{gap:8px!important;margin-top:24px!important}

  .destination-ticker .ticker-item{padding:10px 14px!important;font-size:9px!important;gap:13px!important}
  .destination-ticker .camel{font-size:13px!important}
  .whatsapp{right:12px!important;bottom:12px!important}
}

@media(max-width:380px){
  .container{width:calc(100% - 22px)}
  .hero h1{font-size:42px!important}
  .quick-grid{grid-template-columns:1fr}
  .quick{border-right:0!important;border-bottom:1px solid var(--line)!important}
  .card-cta-row{align-items:stretch!important;flex-direction:column!important}
  .card-whatsapp,.card-cta-row .btn,.card-cta-row .student-link{width:100%!important;justify-content:center!important}
}

/* =========================================================
   TOUR DETAIL + MOBILE CTA POLISH — FINAL
   Keeps the approved structure; presentation only.
   ========================================================= */
.tour-detail-hero .tour-action{
  gap:14px!important;
  align-items:center!important;
}
.tour-detail-hero .tour-action .btn{
  border-radius:999px!important;
  min-height:48px!important;
  padding:13px 20px!important;
}

/* Elegant inclusions / exclusions cards */
.tour-lists{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:24px!important;
  margin-top:64px!important;
}
.list-box{
  position:relative!important;
  overflow:hidden!important;
  background:linear-gradient(145deg,#fffdf9 0%,#f5f0e8 100%)!important;
  border:1px solid rgba(35,27,21,.10)!important;
  border-radius:24px!important;
  padding:34px 34px 30px!important;
  box-shadow:0 16px 38px rgba(35,27,21,.07)!important;
}
.list-box:before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:100%!important;
  height:4px!important;
  background:linear-gradient(90deg,#b94d13,#e39a63,transparent)!important;
}
.list-box:after{
  content:""!important;
  position:absolute!important;
  width:150px!important;
  height:150px!important;
  right:-75px!important;
  top:-75px!important;
  border-radius:50%!important;
  background:rgba(185,77,19,.055)!important;
  pointer-events:none!important;
}
.list-box h3{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin:0 0 22px!important;
  font-size:27px!important;
  line-height:1.1!important;
  color:#173d34!important;
}
.list-box:first-child h3:before{
  content:"✓"!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 34px!important;
  width:34px!important;
  height:34px!important;
  border-radius:50%!important;
  background:#173d34!important;
  color:#fff!important;
  font:800 15px/1 Inter,sans-serif!important;
}
.list-box:last-child h3:before{
  content:"−"!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 34px!important;
  width:34px!important;
  height:34px!important;
  border-radius:50%!important;
  background:#b94d13!important;
  color:#fff!important;
  font:800 17px/1 Inter,sans-serif!important;
}
.list-box ul{
  position:relative!important;
  z-index:1!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.list-box li{
  position:relative!important;
  margin:0!important;
  padding:11px 0 11px 25px!important;
  color:#625a53!important;
  font-size:14px!important;
  line-height:1.55!important;
  border-bottom:1px solid rgba(35,27,21,.075)!important;
}
.list-box li:last-child{border-bottom:0!important}
.list-box li:before{
  content:""!important;
  position:absolute!important;
  left:2px!important;
  top:18px!important;
  width:7px!important;
  height:7px!important;
  border-radius:50%!important;
  background:#b94d13!important;
}
.list-box:first-child li:before{background:#173d34!important}

.reserve-strip{
  border-radius:24px!important;
  box-shadow:0 16px 38px rgba(25,18,12,.10)!important;
  background:linear-gradient(135deg,#17110d 0%,#2a201a 60%,#17110d 100%)!important;
  border:1px solid rgba(255,255,255,.08)!important;
}
.reserve-strip .btn-whatsapp{
  border-radius:999px!important;
  padding:13px 20px!important;
  white-space:nowrap!important;
}

/* Catalog card actions: comfortable separation on phones, compact CTA sizes. */
@media(max-width:620px){
  .card-cta-row{
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:16px!important;
    padding-top:16px!important;
  }
  .card-cta-row .btn,
  .card-cta-row .student-link,
  .card-whatsapp{
    width:auto!important;
    max-width:max-content!important;
    min-width:0!important;
    flex:0 0 auto!important;
  }
  .card-cta-row .btn{padding:10px 0!important}
  .card-whatsapp{padding:10px 14px!important}
}
@media(max-width:380px){
  .card-cta-row{gap:18px!important}
  .card-cta-row .btn,
  .card-cta-row .student-link,
  .card-whatsapp{width:auto!important}
}

/* Tour-detail mobile layout */
@media(max-width:760px){
  .tour-detail-hero{min-height:570px!important;padding:125px 0 48px!important}
  .tour-detail-hero h1{font-size:clamp(38px,10vw,54px)!important;line-height:.98!important}
  .tour-route{font-size:13px!important;line-height:1.6!important}
  .tour-action{margin-top:22px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:12px!important}
  .tour-action .btn{width:auto!important;max-width:100%!important;text-align:center!important}
  .tour-content{padding:62px 0!important}
  .tour-intro{margin-bottom:34px!important}
  .tour-intro h2{font-size:clamp(34px,9vw,46px)!important;line-height:1!important}
  .itinerary-day{border-radius:20px!important;overflow:hidden!important}
  .day-content{padding:24px!important}
  .day-content h3{font-size:24px!important;line-height:1.08!important}
  .tour-lists{
    grid-template-columns:1fr!important;
    gap:18px!important;
    margin-top:44px!important;
  }
  .list-box{padding:27px 22px 23px!important;border-radius:20px!important}
  .list-box h3{font-size:23px!important;margin-bottom:16px!important}
  .list-box li{font-size:13px!important;padding:10px 0 10px 22px!important}
  .list-box li:before{top:16px!important}
  .reserve-strip{margin-top:46px!important;padding:28px 22px!important;border-radius:20px!important}
  .reserve-strip .btn{width:auto!important;max-width:100%!important;white-space:normal!important}
}

/* =========================================================
   FINAL TOUR DETAIL LIST DESIGN — approved compact layout
   Keeps all content accessible while reducing visual weight.
   ========================================================= */
.tour-lists,
.fes-lists,
.cas-lists{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:22px!important;
  margin-top:48px!important;
  align-items:start!important;
}
.tour-lists > .list-box,
.fes-lists > .fes-list,
.cas-lists > .cas-list{
  position:relative!important;
  overflow:hidden!important;
  background:linear-gradient(145deg,#fffdf9 0%,#f7f2ea 100%)!important;
  border:1px solid rgba(35,27,21,.10)!important;
  border-radius:20px!important;
  padding:25px 25px 20px!important;
  box-shadow:0 10px 28px rgba(35,27,21,.055)!important;
}
.tour-lists > .list-box:before,
.fes-lists > .fes-list:before,
.cas-lists > .cas-list:before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:100%!important;
  height:3px!important;
  background:linear-gradient(90deg,#b94d13,#e39a63,transparent)!important;
}
.tour-lists > .list-box:after,
.fes-lists > .fes-list:after,
.cas-lists > .cas-list:after{
  content:""!important;
  position:absolute!important;
  width:110px!important;
  height:110px!important;
  right:-55px!important;
  top:-55px!important;
  border-radius:50%!important;
  background:rgba(185,77,19,.045)!important;
  pointer-events:none!important;
}
.tour-lists .list-box h3,
.fes-lists .fes-list h3,
.cas-lists .cas-list h3{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0 0 14px!important;
  font-size:22px!important;
  line-height:1.15!important;
  letter-spacing:-.01em!important;
  color:#173d34!important;
}
.tour-lists .list-box h3:before,
.fes-lists .fes-list h3:before,
.cas-lists .cas-list h3:before{
  display:grid!important;
  place-items:center!important;
  flex:0 0 30px!important;
  width:30px!important;
  height:30px!important;
  border-radius:50%!important;
  font:800 13px/1 Inter,sans-serif!important;
}
.tour-lists .list-box:first-child h3:before,
.fes-lists .fes-list:first-child h3:before,
.cas-lists .cas-list:first-child h3:before{
  content:"✓"!important;
  background:#173d34!important;
  color:#fff!important;
}
.tour-lists .list-box:last-child h3:before,
.fes-lists .fes-list:last-child h3:before,
.cas-lists .cas-list:last-child h3:before{
  content:"×"!important;
  background:#b94d13!important;
  color:#fff!important;
  font-size:16px!important;
}
.tour-lists .list-box ul,
.fes-lists .fes-list ul,
.cas-lists .cas-list ul{
  position:relative!important;
  z-index:2!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.tour-lists .list-box li,
.fes-lists .fes-list li,
.cas-lists .cas-list li{
  position:relative!important;
  margin:0!important;
  padding:8px 0 8px 22px!important;
  color:#5f5953!important;
  font-size:13px!important;
  line-height:1.45!important;
  border-bottom:1px solid rgba(35,27,21,.075)!important;
}
.tour-lists .list-box li:last-child,
.fes-lists .fes-list li:last-child,
.cas-lists .cas-list li:last-child{border-bottom:0!important}
.tour-lists .list-box li:before,
.fes-lists .fes-list li:before,
.cas-lists .cas-list li:before{
  content:"✓"!important;
  position:absolute!important;
  left:0!important;
  top:9px!important;
  width:14px!important;
  height:14px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #173d34!important;
  border-radius:50%!important;
  background:transparent!important;
  color:#173d34!important;
  font:700 8px/1 Inter,sans-serif!important;
}
.tour-lists .list-box:last-child li:before,
.fes-lists .fes-list:last-child li:before,
.cas-lists .cas-list:last-child li:before{
  content:"×"!important;
  border-color:#c96a2d!important;
  color:#c96a2d!important;
}
.compact-list-toggle{
  position:relative!important;
  z-index:3!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  margin-top:11px!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  color:#b94d13!important;
  font:700 12px/1.2 Inter,sans-serif!important;
  cursor:pointer!important;
}
.compact-list-toggle:hover{text-decoration:underline!important}
.tour-lists .is-collapsed li:nth-child(n+9),
.fes-lists .is-collapsed li:nth-child(n+9),
.cas-lists .is-collapsed li:nth-child(n+9){display:none!important}

@media(max-width:760px){
  .tour-lists,
  .fes-lists,
  .cas-lists{
    grid-template-columns:1fr!important;
    gap:16px!important;
    margin-top:34px!important;
  }
  .tour-lists > .list-box,
  .fes-lists > .fes-list,
  .cas-lists > .cas-list{
    padding:22px 19px 18px!important;
    border-radius:18px!important;
  }
  .tour-lists .list-box h3,
  .fes-lists .fes-list h3,
  .cas-lists .cas-list h3{
    font-size:20px!important;
    margin-bottom:12px!important;
  }
  .tour-lists .list-box h3:before,
  .fes-lists .fes-list h3:before,
  .cas-lists .cas-list h3:before{
    flex-basis:28px!important;
    width:28px!important;
    height:28px!important;
  }
  .tour-lists .list-box li,
  .fes-lists .fes-list li,
  .cas-lists .cas-list li{
    padding:8px 0 8px 21px!important;
    font-size:13px!important;
  }
}

/* FINAL MOBILE TOUR CARD LAYOUT — approved reference */
@media (max-width: 620px){
  .tour-catalog .tour-card,
  .fes-catalog .fes-card,
  .tg-catalog .tg-card,
  .cas-catalog .cas-card,
  .stu-catalog .stu-card,
  .student-redesign .student-card{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    border-radius:22px!important;
    background:#fff!important;
    box-shadow:0 10px 30px rgba(35,27,21,.08)!important;
  }
  .tour-catalog .tour-card img,
  .fes-catalog .fes-card img,
  .tg-catalog .tg-card img,
  .cas-catalog .cas-card img,
  .stu-catalog .stu-card img,
  .student-redesign .student-card img{
    width:100%!important;
    height:255px!important;
    min-height:255px!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
    display:block!important;
  }
  .tour-catalog .tour-card-body,
  .fes-catalog .fes-card-body,
  .tg-catalog .tg-card-body,
  .cas-catalog .cas-card-body,
  .stu-catalog .stu-body,
  .student-redesign .student-card-body{
    display:flex!important;
    flex-direction:column!important;
    flex:1 1 auto!important;
    padding:20px 22px 22px!important;
    min-width:0!important;
  }
  .tour-catalog .tour-card h3,
  .tour-catalog .tour-card-body h3,
  .fes-catalog .fes-card h3,
  .tg-catalog .tg-card h3,
  .cas-catalog .cas-card h3,
  .stu-catalog .stu-card h3,
  .student-redesign .student-card h3{
    font-size:28px!important;
    line-height:1.02!important;
    letter-spacing:-.025em!important;
    margin:10px 0 12px!important;
  }
  .tour-catalog .tour-card-body p:not(.tour-card-route),
  .fes-catalog .fes-card-body p:not(.fes-route),
  .tg-catalog .tg-card-body p:not(.tg-route),
  .cas-catalog .cas-card-body p:not(.cas-route),
  .stu-catalog .stu-body p:not(.stu-route),
  .student-redesign .student-card-body p{
    font-size:14px!important;
    line-height:1.55!important;
    margin:0!important;
  }
  .card-cta-row{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:nowrap!important;
    gap:18px!important;
    width:100%!important;
    margin-top:auto!important;
    padding-top:18px!important;
    border-top:1px solid rgba(32,25,20,.10)!important;
  }
  .card-cta-row .btn,
  .card-cta-row .student-link,
  .card-whatsapp{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    white-space:nowrap!important;
  }
  .card-cta-row .btn{
    padding:9px 0!important;
    margin:0!important;
    font-size:12px!important;
    letter-spacing:.055em!important;
  }
  .card-whatsapp{
    padding:11px 16px!important;
    border-radius:999px!important;
    font-size:10px!important;
    letter-spacing:.055em!important;
  }
  .card-whatsapp svg{width:14px!important;height:14px!important;flex:0 0 14px!important}
}
@media (max-width: 390px){
  .tour-catalog .tour-card img,
  .fes-catalog .fes-card img,
  .tg-catalog .tg-card img,
  .cas-catalog .cas-card img,
  .stu-catalog .stu-card img,
  .student-redesign .student-card img{height:230px!important;min-height:230px!important}
  .tour-catalog .tour-card-body,
  .fes-catalog .fes-card-body,
  .tg-catalog .tg-card-body,
  .cas-catalog .cas-card-body,
  .stu-catalog .stu-body,
  .student-redesign .student-card-body{padding:18px 18px 20px!important}
  .tour-catalog .tour-card h3,
  .tour-catalog .tour-card-body h3,
  .fes-catalog .fes-card h3,
  .tg-catalog .tg-card h3,
  .cas-catalog .cas-card h3,
  .stu-catalog .stu-card h3,
  .student-redesign .student-card h3{font-size:25px!important}
  .card-cta-row{gap:12px!important}
  .card-whatsapp{padding:10px 13px!important}
  .card-cta-row .btn{font-size:11px!important}
}

/* FINAL CONSISTENCY PATCH — footer, floating WhatsApp and mobile tour titles */
.site-footer, footer.site-footer {
  background: linear-gradient(115deg,#050505 0%,#111111 42%,#242424 72%,#080808 100%) !important;
  color:#f5f1ea !important;
  border-top:1px solid rgba(255,255,255,.10) !important;
}
.site-footer .footer-main{position:relative!important;z-index:2!important;display:grid!important;grid-template-columns:1.45fr .75fr .9fr 1fr!important;gap:42px!important;align-items:start!important}
.site-footer .footer-brand-logo,.site-footer .footer-brand-logo img{display:block!important;width:78px!important;max-width:78px!important;height:auto!important;object-fit:contain!important;background:transparent!important;filter:none!important}
.site-footer .footer-socials{display:flex!important;align-items:center!important;gap:9px!important;margin-top:17px!important}
.site-footer .footer-socials a{width:34px!important;height:34px!important;min-width:34px!important;padding:0!important;margin:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:50%!important;background:rgba(255,255,255,.035)!important;color:#fff!important;font-size:0!important;text-decoration:none!important}
.site-footer .footer-socials a svg{width:17px!important;height:17px!important;display:block!important;fill:currentColor!important}
.site-footer .footer-socials a:hover{background:#f08a4b!important;border-color:#f08a4b!important;color:#080808!important}
@media (max-width:700px){
  .site-footer .footer-main{grid-template-columns:1fr!important;gap:25px!important}
  .site-footer .footer-brand-logo,.site-footer .footer-brand-logo img{width:70px!important;max-width:70px!important}
  .site-footer .footer-socials a{width:32px!important;height:32px!important;min-width:32px!important}
}
/* Keep the floating WhatsApp pill only on Home, About and Contact. */
@media (max-width:700px){
  .tour-catalog .tour-card h3,.tour-catalog .tour-card-body h3,.fes-catalog .fes-card h3,.tg-catalog .tg-card h3,.cas-catalog .cas-card h3,.stu-catalog .stu-card h3,.student-redesign .student-card h3{
    font-size:21px!important;line-height:1.12!important;letter-spacing:-.01em!important;overflow-wrap:anywhere!important;
  }
  .tour-catalog .tour-card-body p:not(.tour-card-route),.fes-catalog .fes-card-body p,.tg-catalog .tg-card-body p,.cas-catalog .cas-card-body p,.stu-catalog .stu-card-body p{font-size:13px!important;line-height:1.55!important}
}

html.no-floating-wa .whatsapp{display:none!important}


/* FINAL REGION HERO TYPOGRAPHY — unified across Tangier, Marrakech, Fes and Casablanca */
.page-hero h1,
.page-hero .container > h1 {
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-weight: 600 !important;
  font-style: normal !important;
  text-transform: uppercase !important;
  letter-spacing: -0.035em !important;
  line-height: .9 !important;
  font-synthesis: none !important;
}
@media (max-width: 700px){
  .page-hero h1,
  .page-hero .container > h1 {
    font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
    font-weight: 600 !important;
    font-size: clamp(42px, 11.5vw, 58px) !important;
    line-height: .92 !important;
    letter-spacing: -0.035em !important;
    max-width: 100% !important;
    overflow-wrap: break-word !important;
  }
}

/* FINAL FLOATING WHATSAPP — HOME / ABOUT / CONTACT ONLY */
.whatsapp{
  width:auto!important;
  min-width:162px!important;
  height:68px!important;
  padding:0 22px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:11px!important;
  border-radius:999px!important;
  background:#25D366!important;
  color:#fff!important;
  right:20px!important;
  bottom:20px!important;
  box-shadow:0 12px 30px rgba(0,0,0,.22)!important;
  font-size:16px!important;
  line-height:1!important;
  text-decoration:none!important;
}
.whatsapp .wa-icon{width:27px!important;height:27px!important;display:grid!important;place-items:center!important;flex:0 0 27px!important}
.whatsapp .wa-icon svg{width:27px!important;height:27px!important;display:block!important}
.whatsapp .wa-icon svg path:first-child{stroke:#fff!important;fill:none!important}
.whatsapp .wa-icon svg path:nth-child(2){fill:#fff!important;stroke:none!important}
.whatsapp b{position:static!important;opacity:1!important;transform:none!important;background:transparent!important;padding:0!important;color:#fff!important;font-size:16px!important;font-weight:800!important;letter-spacing:0!important;white-space:nowrap!important}
.whatsapp:hover{transform:translateY(-2px)!important;background:#25D366!important}
html.no-floating-wa .whatsapp{display:none!important}
@media(max-width:700px){
  .whatsapp{right:18px!important;bottom:18px!important;min-width:162px!important;height:68px!important;padding:0 20px!important}
}

/* Keep About's dark sections black rather than green while preserving photography. */
.about-page .about-hero,
.about-page .about-values{background-color:#080808!important}
.about-page .about-hero:before{background:linear-gradient(90deg,rgba(0,0,0,.90),rgba(0,0,0,.48)),url('provisional/photos/about-hero.jpg') center/cover!important}
.about-page .about-values{background-image:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.62)),url('provisional/photos/about-main.jpg')!important;background-size:cover!important;background-position:center!important}

/* Image containers retain their layout without the temporary photo numbers. */
.photo-slot-wrap{position:relative;display:inline-block;max-width:100%}
.photo-slot-wrap > img{display:block;max-width:100%}

/* F005 / F277 real image overrides */
.student-feature-photo{z-index:0;background:#d9c3a4}
.student-feature-photo img{position:relative;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.student-feature-photo:before{display:none!important;content:none!important;background:none!important}
.student-feature-card:after{z-index:1;background:linear-gradient(90deg,rgba(10,24,20,.72) 0%,rgba(10,24,20,.48) 38%,rgba(10,24,20,.16) 75%,rgba(10,24,20,.04) 100%)}
.page-hero-photo-slot{background:#211812 !important}
.page-hero-photo-slot:before{display:none !important}
.page-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;z-index:0}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,10,5,.72),rgba(20,10,5,.28));z-index:1;pointer-events:none}
.page-hero-photo-slot .container,.page-hero-photo-slot .photo-banner-number{position:relative;z-index:2}
@media(max-width:650px){.student-feature-photo img{object-fit:cover;object-position:center}.page-hero-photo{object-fit:cover}}


/* FIX ABOUT F014/F015 PHOTO SLOT WRAPPERS */
.about-photo-stack .photo-slot-wrap[data-photo-slot="F014"]{
  position:absolute !important;
  right:0 !important;
  top:0 !important;
  width:78% !important;
  height:470px !important;
  display:block !important;
  max-width:none !important;
  z-index:2 !important;
}
.about-photo-stack .photo-slot-wrap[data-photo-slot="F015"]{
  position:absolute !important;
  left:0 !important;
  bottom:0 !important;
  width:46% !important;
  height:250px !important;
  display:block !important;
  max-width:none !important;
  z-index:3 !important;
}
.about-photo-stack .photo-slot-wrap[data-photo-slot="F014"] > img.about-photo-main,
.about-photo-stack .photo-slot-wrap[data-photo-slot="F015"] > img.about-photo-small{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
}
@media(max-width:600px){
  .about-photo-stack .photo-slot-wrap[data-photo-slot="F014"]{width:88% !important;height:330px !important;}
  .about-photo-stack .photo-slot-wrap[data-photo-slot="F015"]{width:48% !important;height:180px !important;}
}


/* STUDENT ITINERARY PHOTO SLOTS — fixed card frame + full-size click viewer */
.stu-day > div:first-child{min-width:0;overflow:hidden;}
.stu-day .photo-slot-wrap{display:block!important;width:100%!important;height:100%!important;max-width:none!important;overflow:hidden!important;cursor:zoom-in!important;}
.stu-day .photo-slot-wrap > img{display:block!important;width:100%!important;height:100%!important;min-height:285px!important;object-fit:cover!important;object-position:center!important;}
.photo-slot-viewer{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;background:rgba(8,6,4,.94);cursor:zoom-out;}
.photo-slot-viewer.open{display:flex;}
.photo-slot-viewer img{display:block;width:auto!important;height:auto!important;max-width:96vw!important;max-height:92vh!important;object-fit:contain!important;border-radius:8px;box-shadow:0 24px 90px rgba(0,0,0,.55);cursor:default;}
.photo-slot-viewer .photo-slot-viewer-close{position:absolute;top:18px;right:22px;width:44px;height:44px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(0,0,0,.35);color:#fff;font:400 30px/40px Arial,sans-serif;cursor:pointer;}
@media(max-width:650px){.stu-day .photo-slot-wrap > img{min-height:220px!important;height:220px!important}.photo-slot-viewer{padding:12px}.photo-slot-viewer img{max-width:96vw!important;max-height:90vh!important}}

/* FINAL THUMBNAIL PROPORTION — match F030 reference */
.tour-catalog .tour-card img,
.fes-catalog .fes-card img,
.tg-catalog .tg-card img,
.cas-catalog .cas-card img,
.stu-catalog .stu-card img{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1.155 / 1!important;
  object-fit:cover!important;
  display:block!important;
}

.student-redesign .student-photo{
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1.155 / 1!important;
  overflow:hidden!important;
}

/* FINAL HERO/BANNER READABILITY — BLACK GRADIENT OVER PHOTOS */
.page-hero:before,
.contact-page-hero:before,
.student-page-hero:before,
.about-hero:before,
.tour-detail-hero:before,
.detail-hero:before,
.stu-hero:before,
.cas-detail-hero:before,
.fes-detail-hero:before{
  background:
    linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.50) 45%, rgba(0,0,0,.24) 72%, rgba(0,0,0,.18) 100%),
    linear-gradient(0deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.30) 45%, rgba(0,0,0,.08) 100%),
    var(--hero-photo, url("provisional/unique/img-090-student.svg")) center/cover;
}

/* Keep the existing banner photo when the element already supplies it. */
.contact-page-hero:before{
  background:
    linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.50) 45%, rgba(0,0,0,.24) 72%, rgba(0,0,0,.18) 100%),
    linear-gradient(0deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.30) 45%, rgba(0,0,0,.08) 100%),
    url("provisional/photos/contact-hero.jpg") center/cover;
}
.student-page-hero:before{
  background:
    linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.50) 45%, rgba(0,0,0,.24) 72%, rgba(0,0,0,.18) 100%),
    linear-gradient(0deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.30) 45%, rgba(0,0,0,.08) 100%),
    url("provisional/unique/img-088-student.svg") center/cover;
}

/* Tour detail banners: preserve each inline background image, only strengthen the overlay. */
.tour-detail-hero:before,
.detail-hero:before,
.cas-detail-hero:before,
.fes-detail-hero:before,
.stu-hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.48) 48%, rgba(0,0,0,.20) 100%),
    linear-gradient(0deg, rgba(0,0,0,.76) 0%, rgba(0,0,0,.28) 48%, rgba(0,0,0,.08) 100%);
}
.tour-detail-hero .container,
.detail-hero .container,
.cas-detail-hero .container,
.fes-detail-hero .container,
.stu-hero .container{position:relative;z-index:1}

@media(max-width:650px){
  .page-hero:before,
  .contact-page-hero:before,
  .student-page-hero:before,
  .about-hero:before,
  .tour-detail-hero:before,
  .detail-hero:before,
  .stu-hero:before,
  .cas-detail-hero:before,
  .fes-detail-hero:before{
    background:
      linear-gradient(90deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.58) 60%, rgba(0,0,0,.30) 100%),
      linear-gradient(0deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.34) 52%, rgba(0,0,0,.10) 100%),
      var(--hero-photo, url("provisional/unique/img-090-student.svg")) center/cover;
  }
}

/* STUDENT ITINERARY — fixed thumbnail frame, natural image in click viewer */
.stu-day > div:first-child{min-width:0;}
.stu-day .photo-slot-wrap{
  display:block!important;
  width:100%!important;
  aspect-ratio:1.155 / 1!important;
  height:auto!important;
  max-width:none!important;
  overflow:hidden!important;
  cursor:zoom-in!important;
}
.stu-day .photo-slot-wrap > img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  aspect-ratio:1.155 / 1!important;
  object-fit:cover!important;
  object-position:center!important;
}
.photo-slot-viewer img{
  width:auto!important;
  height:auto!important;
  max-width:96vw!important;
  max-height:92vh!important;
  object-fit:contain!important;
}
@media(max-width:650px){
  .stu-day .photo-slot-wrap{aspect-ratio:1.155 / 1!important;height:auto!important;}
  .stu-day .photo-slot-wrap > img{height:100%!important;min-height:0!important;}
}

/* =========================================================
   FINAL GLOBAL CONSISTENCY — TOURS / STUDENT TRIPS / CONTACT
   One shared header, card CTA language and detail-page styling.
   ========================================================= */

/* Shared header: identical typography and a subtle dark glass layer so
   navigation remains readable on every hero, including Contact. */
.navbar{
  background:rgba(5,5,5,.28)!important;
  color:#fff!important;
}
.navbar .nav-links,
.navbar .nav-links > a,
.navbar .nav-item > button,
.navbar .nav-book{
  font-family:Inter,Arial,sans-serif!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
  color:#fff!important;
  line-height:1!important;
}
.navbar .nav-links > a,
.navbar .nav-item > button{opacity:.92!important}
.navbar .nav-links > a:hover,
.navbar .nav-item:hover > button,
.navbar .nav-links > a:focus-visible,
.navbar .nav-item > button:focus-visible{
  color:#f3a473!important;
  opacity:1!important;
}
.navbar.scrolled{
  background:rgba(10,8,6,.94)!important;
}
.navbar .nav-book{
  color:#fff!important;
  border:1px solid rgba(255,255,255,.42)!important;
  background:transparent!important;
}
.navbar .nav-book:hover{color:#fff!important;border-color:#fff!important;background:rgba(255,255,255,.08)!important}

/* Student catalog cards use the exact same CTA treatment as Tours:
   no orange rectangle, just the clean orange text link. */
.student-redesign .student-link{
  align-self:flex-start!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  margin-top:auto!important;
  padding:10px 0 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#ef6423!important;
  font-family:Inter,Arial,sans-serif!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
.student-redesign .student-link b{
  font-size:13px!important;
  line-height:1!important;
  margin:0!important;
  font-weight:800!important;
}
.student-redesign .student-link:hover,
.student-redesign .student-link:focus-visible{
  color:#163930!important;
  background:transparent!important;
  transform:translateX(2px)!important;
}

/* Student detail pages mirror the Tour detail pages. */
.stu-detail{padding:90px 0!important;background:#f8f5ef!important}
.stu-intro{max-width:850px!important;margin-bottom:55px!important}
.stu-itinerary{display:grid!important;gap:26px!important}
.stu-day{
  display:grid!important;
  grid-template-columns:330px 1fr!important;
  background:#fff!important;
  border:1px solid #e3dbd1!important;
  box-shadow:0 10px 30px rgba(30,20,10,.05)!important;
}
.stu-day > div:first-child{min-width:0!important}
.stu-day .photo-slot-wrap{
  display:block!important;
  width:100%!important;
  aspect-ratio:1.155 / 1!important;
  height:auto!important;
  overflow:hidden!important;
  cursor:zoom-in!important;
}
.stu-day .photo-slot-wrap > img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  aspect-ratio:1.155 / 1!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
}
.stu-day-body{padding:34px!important}
.stu-day-body h3{font-size:28px!important;line-height:1.15!important;margin:5px 0 14px!important}
.stu-day-body p{font-size:14px!important;line-height:1.85!important;color:#6d645b!important}
.stu-overnight{
  display:inline-block!important;
  margin-top:10px!important;
  padding:9px 12px!important;
  background:#f3eee7!important;
  font-size:10px!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  color:#65594e!important;
}
.stu-lists{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:25px!important;
  margin-top:70px!important;
}
.stu-list{
  background:#fff!important;
  border:1px solid #e3dbd1!important;
  padding:32px!important;
}
.stu-list h3{margin-top:0!important}
.stu-list li{
  margin:9px 0!important;
  color:#6d645b!important;
  font-size:13px!important;
  line-height:1.55!important;
}
.stu-reserve{
  margin-top:70px!important;
  background:#1d1a17!important;
  color:#fff!important;
  padding:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:25px!important;
}
.stu-reserve h2{margin:0 0 8px!important}
.stu-reserve p{margin:0!important;color:rgba(255,255,255,.65)!important}
.stu-reserve .btn{margin-top:0!important}
.stu-reserve .btn-whatsapp{background:#25D366!important;color:#fff!important}
.stu-reserve .btn-whatsapp:hover{background:#20bd5a!important;color:#fff!important}

/* Same hero typography for Tour and Student Trip detail pages. */
.tour-detail-hero h1,
.stu-hero h1{
  font-family:var(--serif)!important;
  font-weight:700!important;
  letter-spacing:-.02em!important;
}
.tour-detail-hero .eyebrow,
.stu-hero .eyebrow{font-family:Inter,Arial,sans-serif!important;font-weight:800!important}
.tour-detail-hero .tour-route,
.stu-hero .stu-route{font-family:Inter,Arial,sans-serif!important;font-weight:400!important}

/* The shared lightbox must always show the source image without cropping. */
.photo-slot-viewer{
  position:fixed!important;
  inset:0!important;
  z-index:3000!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  background:rgba(8,6,4,.94)!important;
}
.photo-slot-viewer.open{display:flex!important}
.photo-slot-viewer img{
  width:auto!important;
  height:auto!important;
  max-width:96vw!important;
  max-height:92vh!important;
  object-fit:contain!important;
  border-radius:10px!important;
  box-shadow:0 25px 80px rgba(0,0,0,.45)!important;
}
.photo-slot-viewer-close{
  position:absolute!important;
  top:18px!important;
  right:22px!important;
  width:44px!important;
  height:44px!important;
  border-radius:50%!important;
  border:1px solid rgba(255,255,255,.35)!important;
  background:rgba(0,0,0,.25)!important;
  color:#fff!important;
  font:400 28px/1 Arial,sans-serif!important;
  cursor:pointer!important;
}

@media(max-width:760px){
  .stu-day{grid-template-columns:1fr!important}
  .stu-day .photo-slot-wrap{aspect-ratio:1.155 / 1!important}
  .stu-day-body{padding:26px!important}
  .stu-lists{grid-template-columns:1fr!important;gap:18px!important;margin-top:55px!important}
  .stu-reserve{display:block!important;padding:32px!important;margin-top:55px!important}
  .stu-reserve .btn{margin-top:20px!important}
}


/* FINAL GALLERY PRESENTATION */
.gallery-grid,
.photo-gallery,
.gallery,
.gallery-masonry {
  width: 100%;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.gallery-item,
.gallery-card,
.gallery-grid > a,
.gallery-grid > div {
  min-width: 0;
}

.gallery-item img,
.gallery-card img,
.gallery-grid img {
  width: 100%;
  height: 300px;
  display: block;
  object-fit: cover;
  object-position: center;
  border-radius: 14px;
  cursor: zoom-in;
  image-rendering: auto;
  transition: transform .25s ease, filter .25s ease;
}

.gallery-item:hover img,
.gallery-card:hover img,
.gallery-grid > a:hover img,
.gallery-grid > div:hover img {
  transform: scale(1.025);
}

.gallery-lightbox {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  display: none;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  background: rgba(8, 7, 5, .94) !important;
  overflow: auto !important;
  cursor: zoom-out;
}

.gallery-lightbox.is-open,
.gallery-lightbox.active,
.gallery-lightbox[aria-hidden="false"] {
  display: flex !important;
}

.gallery-lightbox img {
  width: auto !important;
  height: auto !important;
  max-width: 94vw !important;
  max-height: 92vh !important;
  object-fit: contain !important;
  border-radius: 10px !important;
  box-shadow: 0 24px 80px rgba(0,0,0,.55) !important;
  cursor: default !important;
  image-rendering: auto !important;
}

@media (max-width: 900px) {
  .gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
  .gallery-item img,
  .gallery-card img,
  .gallery-grid img {
    height: 260px;
  }
}

@media (max-width: 600px) {
  .gallery-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .gallery-item img,
  .gallery-card img,
  .gallery-grid img {
    height: 280px;
  }
  .gallery-lightbox {
    padding: 12px !important;
  }
  .gallery-lightbox img {
    max-width: 96vw !important;
    max-height: 90vh !important;
  }
}


/* ===== FINAL 12-PHOTO GALLERY ===== */
.full-gallery-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:260px!important;
  gap:18px!important;
  align-items:stretch!important;
}
.full-gallery-item{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:260px!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:16px!important;
  background:#eee!important;
  cursor:zoom-in!important;
}
.full-gallery-item.tall,
.full-gallery-item.wide{
  grid-row:span 1!important;
  grid-column:span 1!important;
}
.full-gallery-item .photo-slot-wrap{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  overflow:hidden!important;
}
.full-gallery-item .photo-slot-wrap > img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:center!important;
  image-rendering:auto!important;
  transform:none!important;
}
.full-gallery-item:hover .photo-slot-wrap > img{
  transform:scale(1.025)!important;
}
.full-gallery-caption{
  position:absolute!important;
  left:14px!important;
  right:14px!important;
  bottom:12px!important;
  z-index:3!important;
  color:#fff!important;
  text-align:left!important;
  text-shadow:0 2px 12px rgba(0,0,0,.65)!important;
}
.full-gallery-item:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  pointer-events:none!important;
  background:linear-gradient(to top,rgba(0,0,0,.52),rgba(0,0,0,0) 48%)!important;
}
.gallery-lightbox{
  position:fixed!important;
  inset:0!important;
  z-index:99999!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  background:rgba(5,5,5,.95)!important;
  overflow:auto!important;
}
.gallery-lightbox.open{display:flex!important}
.gallery-lightbox img{
  width:auto!important;
  height:auto!important;
  max-width:94vw!important;
  max-height:92vh!important;
  object-fit:contain!important;
  image-rendering:auto!important;
  border-radius:10px!important;
}
.gallery-close{
  z-index:100000!important;
}
@media(max-width:900px){
  .full-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:230px!important}
  .full-gallery-item{height:230px!important}
}
@media(max-width:600px){
  .full-gallery-grid{grid-template-columns:1fr!important;grid-auto-rows:280px!important}
  .full-gallery-item{height:280px!important}
}


/* BANNER ONLY: direct image, no background-photo dependency. */
.page-hero,.tour-detail-hero,.detail-hero,.cas-detail-hero,.fes-detail-hero{position:relative!important;overflow:hidden!important;background-image:none!important;background-color:#17120e!important;}
.page-hero>.page-hero-image,.tour-detail-hero>.page-hero-image,.detail-hero>.page-hero-image,.cas-detail-hero>.page-hero-image,.fes-detail-hero>.page-hero-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;display:block!important;object-fit:cover!important;z-index:0!important;}
.page-hero:after,.tour-detail-hero:after,.detail-hero:after,.cas-detail-hero:after,.fes-detail-hero:after{content:""!important;position:absolute!important;inset:0!important;z-index:1!important;background:linear-gradient(90deg,rgba(8,6,4,.78),rgba(8,6,4,.20))!important;pointer-events:none!important;}
.page-hero>.container,.tour-detail-hero>.container,.detail-hero>.container,.cas-detail-hero>.container,.fes-detail-hero>.container,.page-hero>.photo-banner-number,.tour-detail-hero>.photo-banner-number,.detail-hero>.photo-banner-number,.cas-detail-hero>.photo-banner-number,.fes-detail-hero>.photo-banner-number{position:relative!important;z-index:2!important;}
