/*
Theme Name: Intervista Hospitality
Theme URI: https://intervistahospitality.com
Description: Elegant Purpose-Driven Hospitality Consultancy Theme
Author: Intervista Group
Version: 3.0.1
*/
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Jost:wght@300;400;500;600&family=Lato:wght@300;400;700;900&display=swap');

:root {
  --teal:#0D7377; --teal-dark:#0a5c5f; --teal-light:#14a8ad;
  --gold:#C9A84C; --gold-light:#e8c96a;
  --navy:#0f1f2e; --warm:#faf8f5;
  --g100:#f4f4f0; --g300:#d0d0d0; --g600:#666; --g800:#222;
  --fh:"Cormorant Garamond",Georgia,serif;
  --fb:"Jost",sans-serif;
  --sh:0 2px 8px rgba(0,0,0,.08);
  --sm:0 8px 30px rgba(0,0,0,.12);
  --sl:0 20px 60px rgba(0,0,0,.18);
  --tr:all .4s cubic-bezier(.25,.8,.25,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;}
body{font-family:var(--fb);color:var(--g800);background:#fff;line-height:1.75;overflow-x:hidden;}
img{max-width:100%;height:auto;display:block;}
a{text-decoration:none;color:inherit;transition:var(--tr);}
ul{list-style:none;}
h1,h2,h3,h4,h5{font-family:var(--fh);line-height:1.2;font-weight:500;word-wrap:break-word;}
h1{font-size:clamp(2.2rem,8vw,5.5rem);}
h2{font-size:clamp(1.8rem,5vw,3.5rem);}
h3{font-size:clamp(1.4rem,2.5vw,2rem);}
h4{font-size:1.3rem;} h5{font-size:1.1rem;}
p{margin-bottom:1rem;}
.container{max-width:1320px;margin:0 auto;padding:0 2rem;}
.section{padding:100px 0;}

/* HEADER */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;transition:var(--tr);}
.site-header.scrolled{background:rgba(255,255,255,.97);backdrop-filter:blur(20px);box-shadow:var(--sh);}
.header-inner{max-width:1320px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:80px;}
.logo-light{display:block;} .logo-dark{display:none;}
.site-header.scrolled .logo-light{display:none;} .site-header.scrolled .logo-dark{display:block;}
.site-logo img{height:50px;width:auto;}
.primary-nav{display:flex;align-items:center;gap:2.5rem;}
.nav-link{font-family:'Lato',sans-serif;font-size:12.5px;font-weight:400;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.9);padding:.4rem 0;border-bottom:2px solid transparent;transition:var(--tr);}
.nav-link:hover{color:#fff;border-bottom-color:var(--gold);}
.site-header.scrolled .nav-link{color:var(--g800);}
.site-header.scrolled .nav-link:hover{color:var(--teal);border-bottom-color:var(--teal);}
.nav-dropdown { position: relative; padding: 1rem 0; cursor: pointer; }
.nav-dropdown::after { content: ""; position: absolute; top: 100%; left: 0; right: 0; height: 15px; }
.dropdown-menu { position: absolute; top: calc(100% + 5px); left: 0; background: #fff; min-width: 260px; padding: 1rem 0; border-radius: 8px; box-shadow: var(--sl); opacity: 0; visibility: hidden; transform: translateY(10px); transition: var(--tr); z-index: 1002; display: flex; flex-direction: column; }
.nav-dropdown:hover .dropdown-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.dropdown-menu a { font-family: 'Lato', sans-serif; color: var(--g600); font-size: 12px; font-weight: 400; letter-spacing: 1px; text-transform: uppercase; padding: .5rem 1.5rem; transition: var(--tr); }
.dropdown-menu a:hover { color: var(--teal); background: rgba(13,115,119,.05); padding-left: 1.8rem; }
.nav-cta{background:var(--gold);color:var(--navy)!important;padding:.55rem 1.4rem!important;border-radius:4px;border-bottom:none!important;font-weight:600!important;letter-spacing:.5px;}
.nav-cta:hover{background:var(--gold-light);box-shadow:0 4px 15px rgba(201,168,76,.4);}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem;z-index:1001;}
.hamburger span{width:26px;height:2px;background:#fff;transition:var(--tr);display:block;}
.site-header.scrolled .hamburger span{background:var(--g800);}
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.site-header.scrolled .hamburger.open span { background: #fff; }
@media(max-width:900px){
  .header-inner, .container { padding: 0 1.25rem; }
  .primary-nav{display:none;position:absolute;top:80px;left:0;right:0;height:calc(100vh - 80px);background:var(--navy);flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;overflow-y:auto;}
  .primary-nav.open{display:flex;} .nav-link{color:#fff;font-size:1.3rem;text-align:center;display:block;}
  .hamburger{display:flex;}
  .nav-dropdown { width:auto; text-align:center; padding:0; display:flex; flex-direction:column; align-items:center; }
  .nav-dropdown > .nav-link { display:flex; align-items:center; justify-content:center; gap:6px; }
  .nav-dropdown:hover:not(.active) .dropdown-menu { opacity:0; visibility:hidden; } /* disable hover on mobile, but not when active */
  .dropdown-menu { position:static; box-shadow:none; background:rgba(255,255,255,0.08); display:none; opacity:1; visibility:visible; transform:none; min-width:220px; padding:0.5rem 0; margin-top:0.5rem; border-radius:8px; }
  .nav-dropdown.active .dropdown-menu { display:flex; opacity:1; visibility:visible; }
  .dropdown-menu a { color:rgba(255,255,255,0.8); padding:0.65rem 1.5rem; text-align:center; font-size:1.15rem; }
  .dropdown-menu a:hover { color:#fff; background:rgba(255,255,255,0.08); padding-left:1.5rem; }
}

/* BUTTONS */
.btn{display:inline-block;padding:.85rem 2.2rem;font-family:var(--fb);font-size:.8rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;border-radius:4px;transition:var(--tr);cursor:pointer;border:2px solid transparent;}
.btn-gold{background:var(--gold);color:var(--navy);border-color:var(--gold);}
.btn-gold:hover{background:var(--gold-light);border-color:var(--gold-light);transform:translateY(-3px);box-shadow:0 8px 25px rgba(201,168,76,.4);}
.btn-white{background:transparent;color:#fff;border-color:rgba(255,255,255,.7);}
.btn-white:hover{background:#fff;color:var(--navy);}
.btn-teal{background:var(--teal);color:#fff;border-color:var(--teal);}
.btn-teal:hover{background:var(--teal-dark);transform:translateY(-2px);}
.btn-teal-outline{background:transparent;color:var(--teal);border-color:var(--teal);}
.btn-teal-outline:hover{background:var(--teal);color:#fff;}

/* HERO */
.hero{position:relative;height:100vh;min-height:700px;display:flex;align-items:center;overflow:hidden;}
.hero-bg{position:absolute;inset:0;z-index:0;}
.hero-bg img{width:100%;height:100%;object-fit:cover;}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(15,31,46,.88) 0%,rgba(13,115,119,.35) 100%);}
.hero-content{position:relative;z-index:2;padding-top:80px;}
.hero-label{font-size:.72rem;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--gold-light);display:block;margin-bottom:1.5rem;}
.hero h1{color:#fff;margin-bottom:1.5rem;font-weight:400;}
.hero h1 em{font-style:italic;color:var(--gold-light);}
.hero-desc{font-size:1.1rem;color:rgba(255,255,255,.82);max-width:580px;margin-bottom:2.5rem;line-height:1.85;}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;}
.scroll-indicator{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.5rem;}
.scroll-indicator span{font-size:.68rem;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.5);}
.scroll-line{width:1px;height:50px;background:rgba(255,255,255,.25);position:relative;overflow:hidden;}
.scroll-line::after{content:"";position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--gold);animation:scrollAnim 1.8s infinite ease;}
@keyframes scrollAnim{0%{top:-100%;}100%{top:200%;}}

/* STATS BAR */
.stats-bar{background:var(--navy);}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid rgba(255,255,255,.07);}
.stat-item{padding:2.5rem 2rem;border-right:1px solid rgba(255,255,255,.07);text-align:center;}
.stat-num{font-family:var(--fh);font-size:3rem;color:var(--gold);line-height:1;margin-bottom:.4rem;font-weight:400;}
.stat-lbl{font-size:.72rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.45);}
@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr);} .stat-item{padding:2rem 1rem;}}

/* ABOUT */
.about-wrap{display:grid;grid-template-columns:1fr 1fr;min-height:600px;}
@media(max-width:900px){.about-wrap{grid-template-columns:1fr;}}
.about-img{position:relative;overflow:hidden;min-height:500px;}
.about-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease;}
.about-img:hover img{transform:scale(1.04);}
.about-badge{position:absolute;bottom:2rem;right:2rem;background:var(--gold);color:var(--navy);padding:1.5rem 2rem;text-align:center;}
.about-badge .big{font-family:var(--fh);font-size:2.5rem;font-weight:600;display:block;line-height:1;}
.about-badge .sm{font-size:.7rem;letter-spacing:2px;text-transform:uppercase;}
.about-body{padding:80px 70px;display:flex;flex-direction:column;justify-content:center;background:var(--warm);}
@media(max-width:900px){.about-body{padding:60px 2rem;}}
.label{font-size:.72rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:1rem;}
.about-body p{color:var(--g600);line-height:1.9;}
.highlights{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin:2rem 0;}
.hl{border-left:3px solid var(--gold);padding:.75rem 1rem;}
.hl h5{font-family:var(--fh);font-size:1.05rem;color:var(--teal);margin-bottom:.2rem;}
.hl p{font-size:.85rem;color:var(--g600);margin:0;}

/* SERVICES */
.services-hd{text-align:center;margin-bottom:4rem;}
.services-hd h2{color:var(--navy);margin:.5rem 0 1rem;}
.services-hd p{color:var(--g600);max-width:580px;margin:0 auto;}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--g300);}
@media(max-width:900px){.services-grid{grid-template-columns:1fr;}}
.svc-card{background:#fff;padding:3rem 2.5rem;position:relative;transition:var(--tr);overflow:hidden;}
.svc-card::after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--teal),var(--gold));transform:scaleX(0);transform-origin:left;transition:var(--tr);}
.svc-card:hover::after{transform:scaleX(1);}
.svc-card:hover{box-shadow:var(--sm);transform:translateY(-4px);}
.svc-icon{width:54px;height:54px;background:linear-gradient(135deg,var(--teal),var(--teal-light));border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;font-size:1.4rem;}
.svc-card h4{font-family:var(--fh);color:var(--navy);margin-bottom:.75rem;font-size:1.25rem;}
.svc-card p{color:var(--g600);font-size:.9rem;line-height:1.8;margin:0;}
.svc-num{position:absolute;top:1.5rem;right:2rem;font-family:var(--fh);font-size:4rem;font-weight:600;color:rgba(13,115,119,.05);line-height:1;}

/* PROJECTS */
.projects-sec{background:var(--navy);padding:100px 0;}
.proj-hd{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem;}
@media(max-width:768px){.proj-hd{flex-direction:column;align-items:flex-start;gap:1rem;}}
.proj-hd h2{color:#fff;}
.proj-hd p{color:rgba(255,255,255,.55);max-width:380px;}
.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
@media(max-width:900px){.projects-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.projects-grid{grid-template-columns:1fr;}}
.proj-card{position:relative;border-radius:8px;overflow:hidden;background:var(--g800);}
.proj-card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .7s ease;display:block;}
.proj-card:hover img{transform:scale(1.07);}
.proj-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,31,46,.95) 0%,transparent 60%);padding:1.5rem;display:flex;flex-direction:column;justify-content:flex-end;}
.proj-cat{font-size:.68rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--gold-light);margin-bottom:.4rem;}
.proj-name{font-family:var(--fh);font-size:1.25rem;color:#fff;margin-bottom:.2rem;}
.proj-loc{font-size:.8rem;color:rgba(255,255,255,.55);}
.proj-arrow{display:inline-flex;align-items:center;gap:.4rem;color:var(--gold-light);font-size:.75rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-top:.75rem;opacity:0;transform:translateY(8px);transition:var(--tr);}
.proj-card:hover .proj-arrow{opacity:1;transform:translateY(0);}
.proj-cta{text-align:center;margin-top:3rem;}

/* WHY US */
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
@media(max-width:900px){.why-grid{grid-template-columns:1fr;gap:3rem;}}
.why-features{display:flex;flex-direction:column;gap:2rem;}
.why-feat{display:flex;gap:1.5rem;align-items:flex-start;}
.why-icon{width:50px;height:50px;background:linear-gradient(135deg,var(--teal),var(--teal-light));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;}
.why-feat h4{font-family:var(--fh);color:var(--navy);margin-bottom:.4rem;}
.why-feat p{color:var(--g600);font-size:.9rem;margin:0;line-height:1.8;}
.why-img-wrap{position:relative;padding-bottom:2rem;padding-left:2rem;}
.why-img-wrap img{width:100%;border-radius:8px;box-shadow:var(--sl);}
.why-box{position:absolute;bottom:0;left:0;background:var(--teal);color:#fff;padding:2rem;border-radius:8px;}
.why-box .big{font-family:var(--fh);font-size:2.5rem;display:block;line-height:1;}
.why-box .sm{font-size:.7rem;letter-spacing:2px;text-transform:uppercase;opacity:.75;}

/* CTA BAND */
.cta-band{padding:120px 0;background:linear-gradient(135deg,var(--navy),var(--teal-dark));text-align:center;position:relative;overflow:hidden;}
.cta-band::before{content:"";position:absolute;top:-50%;right:-10%;width:600px;height:600px;border-radius:50%;background:rgba(201,168,76,.07);}
.cta-band h2{color:#fff;margin-bottom:1rem;position:relative;}
.cta-band p{color:rgba(255,255,255,.7);max-width:580px;margin:0 auto 2.5rem;font-size:1.05rem;}
.cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;position:relative;}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:5rem;align-items:start;}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:3rem;}}
.contact-info h2{color:var(--navy);margin-bottom:1rem;}
.contact-info>p{color:var(--g600);}
.offices{margin-top:2rem;display:flex;flex-direction:column;gap:1.25rem;}
.office{border-left:3px solid var(--gold);padding:.75rem 1.25rem;}
.office h5{font-family:var(--fh);color:var(--teal);font-size:1rem;margin-bottom:.25rem;}
.office p,.office a{font-size:.875rem;color:var(--g600);line-height:1.7;margin:0;}
.contact-form{background:var(--warm);border-radius:12px;padding:3rem;}
.form-group{margin-bottom:1.5rem;}
.form-group label{display:block;font-size:.72rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--g600);margin-bottom:.5rem;}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:.85rem 1.2rem;border:1.5px solid var(--g300);border-radius:6px;font-family:var(--fb);font-size:.95rem;color:var(--g800);background:#fff;transition:var(--tr);}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(13,115,119,.1);}
.form-group textarea{resize:vertical;min-height:130px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
@media(max-width:600px){.form-row{grid-template-columns:1fr;}}

/* FOOTER */
.site-footer{background:var(--navy);color:rgba(255,255,255,.6);padding:80px 0 0;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:4rem;}
@media(max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr;gap:2rem;}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr;}}
.footer-brand img{height:50px;margin-bottom:1.5rem;}
.footer-brand p{font-size:.875rem;line-height:1.8;color:rgba(255,255,255,.45);max-width:280px;}
.footer-social{display:flex;gap:.6rem;margin-top:1.5rem;}
.footer-social a{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);font-size:.9rem;transition:var(--tr);}
.footer-social a:hover{background:var(--gold);border-color:var(--gold);color:var(--navy);}
.footer-widget h5{color:#fff;font-family:var(--fh);font-size:1.1rem;margin-bottom:1.25rem;}
.footer-widget li{margin-bottom:.65rem;}
.footer-widget li a{font-size:.875rem;color:rgba(255,255,255,.45);}
.footer-widget li a:hover{color:var(--gold-light);}
.footer-contact li{display:flex;gap:.75rem;margin-bottom:.9rem;align-items:flex-start;font-size:.875rem;}
.footer-contact li .ic{color:var(--gold);flex-shrink:0;margin-top:.2rem;}
.footer-contact li a{color:rgba(255,255,255,.45);}
.footer-contact li a:hover{color:var(--gold-light);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding:1.5rem 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;}
.footer-bottom p,.footer-bottom a{font-size:.78rem;color:rgba(255,255,255,.3);}
.footer-bottom a:hover{color:var(--gold-light);}

/* PAGE HERO */
.page-hero{padding:180px 0 100px;background:linear-gradient(135deg,var(--navy),var(--teal-dark));text-align:center;overflow:hidden;position:relative;}
.page-hero h1{color:#fff;margin-bottom:1rem;}
.page-hero p{color:rgba(255,255,255,.7);font-size:1.1rem;}
.breadcrumb{display:flex;gap:.5rem;align-items:center;justify-content:center;margin-top:1.25rem;font-size:.82rem;color:rgba(255,255,255,.45);}
.breadcrumb a{color:var(--gold-light);}

/* ANIMATIONS */
.fade-up{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease;}
.fade-up.visible{opacity:1;transform:translateY(0);}
.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity .8s ease,transform .8s ease;}
.reveal-left.visible{opacity:1;transform:translateX(0);}
.reveal-right{opacity:0;transform:translateX(40px);transition:opacity .8s ease,transform .8s ease;}
.reveal-right.visible{opacity:1;transform:translateX(0);}
.delay-1{transition-delay:.15s!important;}
.delay-2{transition-delay:.3s!important;}
.delay-3{transition-delay:.45s!important;}
.delay-4{transition-delay:.6s!important;}

/* ABOUT PAGE */
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;}
.team-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:var(--sh);transition:var(--tr);}
.team-card:hover{transform:translateY(-6px);box-shadow:var(--sm);}
.team-card img{width:100%;height:300px;object-fit:cover;}
.team-card-body{padding:2rem;}
.team-card-body h4{font-family:var(--fh);color:var(--navy);margin-bottom:.25rem;}
.team-role{font-size:.8rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--teal);margin-bottom:.75rem;}
.team-card-body p{font-size:.875rem;color:var(--g600);line-height:1.7;margin:0;}

/* PROJECTS PAGE */
.filter-bar{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:3rem;}
.filter-btn{padding:.5rem 1.5rem;border:1.5px solid var(--g300);border-radius:50px;background:none;font-family:var(--fb);font-size:.8rem;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--g600);cursor:pointer;transition:var(--tr);}
.filter-btn.active,.filter-btn:hover{background:var(--teal);border-color:var(--teal);color:#fff;}
.all-projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;}
@media(max-width:900px){.all-projects-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.all-projects-grid{grid-template-columns:1fr;}}
.apt-card{border-radius:10px;overflow:hidden;box-shadow:var(--sh);background:#fff;transition:var(--tr);}
.apt-card:hover{transform:translateY(-6px);box-shadow:var(--sm);}
.apt-card img{width:100%;height:240px;object-fit:cover;transition:transform .6s ease;}
.apt-card:hover img{transform:scale(1.06);}
.apt-body{padding:1.5rem;}
.apt-cat{font-size:.68rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--teal);margin-bottom:.5rem;}
.apt-body h4{font-family:var(--fh);color:var(--navy);margin-bottom:.4rem;font-size:1.2rem;}
.apt-loc{font-size:.82rem;color:var(--g600);}

/* SERVICES PAGE */
.svc-page-grid{display:grid;grid-template-columns:1fr;gap:5rem;}
.svc-item{display:grid;grid-template-columns:1fr 2fr;gap:4rem;align-items:center;}
.svc-item.reverse{direction:rtl;} .svc-item.reverse>*{direction:ltr;}
@media(max-width:768px){.svc-item{grid-template-columns:1fr;} .svc-item.reverse{direction:ltr;}}
.svc-item img{width:100%;border-radius:10px;box-shadow:var(--sm);}
.svc-item-num{font-family:var(--fh);font-size:5rem;font-weight:600;color:rgba(13,115,119,.1);line-height:1;margin-bottom:.5rem;}
.svc-item h3{color:var(--navy);margin-bottom:1rem;}
.svc-item p{color:var(--g600);line-height:1.9;}
.svc-item ul{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem;}
.svc-item ul li{font-size:.9rem;color:var(--g600);padding-left:1.25rem;position:relative;}
.svc-item ul li::before{content:"Ã¢â€ â€™";position:absolute;left:0;color:var(--teal);}

/* CONTACT PAGE EXTRAS */
.contact-map{width:100%;height:350px;border-radius:10px;overflow:hidden;margin-top:2rem;}
.contact-map iframe{width:100%;height:100%;border:0;}

/* ABOUT PAGE OFFICES */
.offices-grid { display: flex; justify-content: center; gap: 3rem; flex-wrap: wrap; margin: 0 auto; max-width: 1000px; }
.offices-grid > div { flex: 1; min-width: 320px; max-width: 450px; }
@media (max-width: 900px) { .offices-grid { flex-direction: column; align-items: center; } .offices-grid > div { width: 100%; } }

/* Ã¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢Â
   TURNKEY MANAGEMENT PAGE Ã¢â‚¬â€ PREMIUM
Ã¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢Â */

/* SLIM PAGE BAR (replaces full hero) */
.tk-page-bar {
  background: linear-gradient(135deg, var(--navy) 0%, #0d3d40 100%);
  padding: 100px 0 28px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.tk-page-bar-inner {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}
.tk-page-label {
  display: block;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--gold-light);
  margin-bottom: .4rem;
}
.tk-page-title {
  font-family: var(--fh);
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 400;
  color: #fff;
  margin: 0;
  line-height: 1.15;
}
.tk-page-bar .breadcrumb {
  justify-content: flex-end;
  margin: 0;
}

/* INTRO HIGHLIGHT */
.tk-intro-highlight {
  padding: 40px 0 10px;
  background: #fff;
}
.tk-intro-highlight-inner {
  max-width: 1050px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  padding: 2.2rem 3.5rem;
  background: var(--warm);
  border-radius: 12px;
  border-left: 5px solid var(--gold);
  box-shadow: 0 4px 20px rgba(0,0,0,.04);
}
.tk-intro-quote {
  position: absolute;
  top: -16px;
  left: 35px;
  font-size: 2.2rem;
  color: var(--teal);
  background: #fff;
  padding: 0 12px;
  border-radius: 5px;
}
.tk-intro-highlight p {
  font-family: var(--fh);
  font-size: clamp(1.05rem, 1.4vw, 1.25rem);
  color: var(--navy);
  line-height: 1.85;
  margin: 0;
  font-weight: 500;
  font-style: italic;
}
@media (max-width: 600px) {
  .tk-intro-highlight-inner { padding: 2rem 1.5rem; border-left: 3px solid var(--gold); }
  .tk-intro-quote { left: 15px; font-size: 1.6rem; }
}

/* COMPACT 2-COL SERVICE GRID */
.tk-services-compact {
  padding: 40px 0 36px;
  background: #fff;
}
.tk-svc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .8rem;
}
@media (max-width: 860px) { .tk-svc-grid { grid-template-columns: 1fr; } }

.tk-svc-card {
  display: flex;
  align-items: stretch;
  border-radius: 10px;
  overflow: hidden;
  background: var(--warm);
  box-shadow: 0 2px 12px rgba(0,0,0,.05);
  transition: transform .35s ease, box-shadow .35s ease;
  border-left: 4px solid var(--teal);
}
.tk-svc-card--alt { border-left-color: var(--gold); }
.tk-svc-card:hover {
  transform: translateX(5px);
  box-shadow: 0 6px 28px rgba(0,0,0,.09);
}
.tk-svc-num {
  font-family: var(--fh);
  font-size: 2rem;
  font-weight: 600;
  color: rgba(0,0,0,.08);
  padding: 1rem .9rem;
  min-width: 62px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.025);
  flex-shrink: 0;
  border-right: 1px solid rgba(0,0,0,.05);
  transition: color .35s ease;
  line-height: 1;
}
.tk-svc-card:hover .tk-svc-num        { color: var(--teal); }
.tk-svc-card--alt:hover .tk-svc-num   { color: var(--gold); }
.tk-svc-content {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: .9rem 1.25rem;
  flex: 1;
}
.tk-svc-icon {
  font-size: 1.3rem;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--teal), var(--teal-light));
  border-radius: 9px;
  line-height: 1;
}
.tk-svc-card--alt .tk-svc-icon {
  background: linear-gradient(135deg, var(--gold), var(--gold-light));
}
.tk-svc-content h3 {
  font-family: var(--fh);
  font-size: clamp(.95rem, 1.2vw, 1.1rem);
  color: var(--navy);
  margin-bottom: .25rem;
  font-weight: 500;
}
.tk-svc-content p {
  color: var(--g600);
  font-size: .82rem;
  line-height: 1.7;
  margin: 0;
}
.tk-svc-content ul {
  margin: .8rem 0 0;
  padding-left: 1.25rem;
  color: var(--g600);
  font-size: .8rem;
  line-height: 1.6;
}
.tk-svc-content ul li {
  margin-bottom: .4rem;
}
@media (max-width: 600px) {
  .tk-svc-content { flex-direction: column; gap: .6rem; padding: .8rem 1rem; }
  .tk-svc-num { font-size: 1.5rem; min-width: 48px; padding: .8rem .6rem; }
}

/* PARTNER LOGOS Ã¢â‚¬â€ LIGHT SINGLE ROW */
.tk-partners {
  padding: 70px 0 80px;
  background: #fff;
  position: relative;
  overflow: hidden;
}
.tk-partners-hd {
  text-align: center;
  margin-bottom: 3rem;
}
.tk-partners-label {
  display: inline-block;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--teal);
  margin-bottom: .75rem;
}
.tk-partners-hd h2 {
  color: var(--navy);
  font-size: clamp(1.6rem, 3.5vw, 2.6rem);
  margin-bottom: .5rem;
}
.tk-partners-hd p {
  color: var(--g600);
  font-size: .9rem;
  max-width: 480px;
  margin: 0 auto;
}

/* Ã¢Ëœâ€¦ THE 4-LOGO SINGLE ROW Ã¢Ëœâ€¦ */
.tk-logo-row {
  display: flex;
  gap: 1.5rem;
  justify-content: center;
  align-items: stretch;
  flex-wrap: nowrap;
}
.tk-logo-card {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 2.5rem 1.75rem 1.75rem;
  background: var(--warm);
  border: 1px solid var(--g300);
  border-radius: 16px;
  text-decoration: none;
  transition: all .45s cubic-bezier(.25,.8,.25,1);
  position: relative;
  overflow: hidden;
}
.tk-logo-card::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--teal), var(--gold));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .45s ease;
}
.tk-logo-card:hover::after  { transform: scaleX(1); }
.tk-logo-card:hover {
  border-color: var(--gold);
  transform: translateY(-10px);
  box-shadow: 0 15px 40px rgba(0,0,0,.08);
}
.tk-logo-img-wrap {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .5rem;
  width: 100%;
}
.tk-logo-img-wrap img {
  max-width: 180px;
  max-height: 110px;
  width: auto;
  height: auto;
  object-fit: contain;
  transition: transform .4s ease;
}
/* Specific correction for KMA Heritage Logo which might have too much padding */
.tk-logo-kma img {
  transform: scale(1.35);
}
.tk-logo-card:hover .tk-logo-img-wrap img {
  transform: scale(1.05);
}
.tk-logo-card:hover .tk-logo-kma img {
  transform: scale(1.42);
}
.tk-logo-visit {
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--teal);
  display: flex;
  align-items: center;
  gap: .5rem;
  transition: color .4s ease;
  margin-top: .5rem;
}
.tk-logo-loc {
  font-size: .8rem;
  color: var(--g600);
  text-align: center;
  line-height: 1.4;
  margin-top: 1rem;
  min-height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tk-logo-loc i {
  color: var(--gold);
  margin-right: 4px;
}
.tk-logo-visit .fas {
  font-size: .6rem;
  transform: translateX(0);
  transition: transform .4s ease;
}
.tk-logo-card:hover .tk-logo-visit { color: var(--gold); }
.tk-logo-card:hover .tk-logo-visit .fas { transform: translateX(5px); }
@media (max-width: 900px) {
  .tk-logo-row { flex-wrap: wrap; }
  .tk-logo-card { flex: 1 1 calc(50% - 0.75rem); min-width: 200px; }
}
@media (max-width: 480px) { .tk-logo-card { flex: 1 1 100%; } }

/* Ã¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢Â
   BLOG INDEX & SINGLE POST
Ã¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢Â */

/* Blog Index */
.blog-list-sec {
  padding: 80px 0;
  background: var(--warm);
  min-height: 50vh;
}
.blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 2rem;
}
.blog-card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,.04);
  transition: transform .4s ease, box-shadow .4s ease;
  border: 1px solid var(--g100);
  display: flex;
  flex-direction: column;
}
.blog-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 40px rgba(0,0,0,.08);
}
.blog-card-img {
  display: block;
  position: relative;
  height: 220px;
  overflow: hidden;
}
.blog-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}
.blog-card:hover .blog-card-img img {
  transform: scale(1.05);
}
.blog-date {
  position: absolute;
  top: 15px;
  left: 15px;
  background: var(--teal);
  color: #fff;
  padding: 8px 12px;
  border-radius: 6px;
  text-align: center;
  line-height: 1.2;
}
.blog-date .d { display: block; font-size: 1.4rem; font-weight: 600; font-family: var(--fh); }
.blog-date .m { display: block; font-size: .7rem; text-transform: uppercase; letter-spacing: 1px; }

.blog-card-body {
  padding: 2rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.blog-cat {
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--gold);
  margin-bottom: .8rem;
  font-weight: 600;
}
.blog-cat a { color: inherit; text-decoration: none; }
.blog-title {
  font-family: var(--fh);
  font-size: 1.4rem;
  color: var(--navy);
  margin-bottom: 1rem;
  line-height: 1.3;
}
.blog-title a { color: inherit; text-decoration: none; transition: color .3s; }
.blog-title a:hover { color: var(--teal); }
.blog-excerpt {
  color: var(--g600);
  font-size: .95rem;
  line-height: 1.7;
  margin-bottom: 1.5rem;
  flex: 1;
}
.btn-sm { padding: .5rem 1.2rem; font-size: .8rem; }

/* Pagination */
.blog-pagination {
  margin-top: 4rem;
  text-align: center;
}
.blog-pagination .nav-links {
  display: inline-flex;
  gap: .5rem;
}
.blog-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 5px;
  background: #fff;
  color: var(--navy);
  text-decoration: none;
  font-weight: 500;
  border: 1px solid var(--g300);
  transition: all .3s;
}
.blog-pagination .page-numbers:hover,
.blog-pagination .page-numbers.current {
  background: var(--teal);
  color: #fff;
  border-color: var(--teal);
}

/* Single Post */
.single-post-sec {
  padding: 60px 0 100px;
  background: #fff;
}
.single-post-inner {
  max-width: 800px;
  margin: 0 auto;
}
.post-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--g100);
  color: var(--g600);
  font-size: .9rem;
}
.post-meta span { display: flex; align-items: center; gap: .5rem; }
.post-meta i { color: var(--gold); }
.post-meta a { color: inherit; text-decoration: none; }
.post-meta a:hover { color: var(--teal); }

.post-feat-img {
  margin-bottom: 3rem;
  border-radius: 12px;
  overflow: hidden;
}
.post-feat-img img {
  width: 100%;
  height: auto;
  display: block;
}
.post-content {
  font-size: 1.05rem;
  line-height: 1.9;
  color: var(--navy);
}
.post-content h2, .post-content h3 {
  font-family: var(--fh);
  margin: 2rem 0 1rem;
  color: var(--navy);
}
.post-content p { margin-bottom: 1.5rem; }
.post-content img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin: 1.5rem 0;
}
.post-tags {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--g100);
  font-size: .9rem;
}
.post-tags a {
  display: inline-block;
  background: var(--warm);
  padding: .3rem .8rem;
  border-radius: 4px;
  color: var(--teal);
  text-decoration: none;
  margin-right: .5rem;
  margin-bottom: .5rem;
  transition: background .3s;
}
.post-tags a:hover { background: var(--teal); color: #fff; }

/* ═══════════════════════════════════════
   OUR RETREATS PAGE
═══════════════════════════════════════ */

/* DESTINATION TILES — rectangular box cards on dark bg */
.or-dest-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.25rem;
  margin-top: 1rem;
}
@media (max-width: 1100px) { .or-dest-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px)  { .or-dest-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 440px)  { .or-dest-grid { grid-template-columns: 1fr; } }

.or-dest-item {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  text-decoration: none;
}
.or-dest-photo {
  width: 100%;
  padding-bottom: 75%; /* 4:3 Aspect Ratio */
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
}
.or-dest-photo img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  transition: transform .4s cubic-bezier(.25,.8,.25,1);
}
.or-dest-item:hover .or-dest-photo img {
  transform: scale(1.08);
}

.or-dest-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 2rem 1.5rem 1.5rem;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  transition: all .4s cubic-bezier(.25,.8,.25,1);
  position: relative;
  overflow: hidden;
  flex-grow: 1;
}
.or-dest-tile::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--gold), var(--teal-light));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s ease;
}
.or-dest-item:hover .or-dest-tile::after { transform: scaleX(1); }
.or-dest-item:hover .or-dest-tile {
  background: rgba(255,255,255,.14);
  transform: translateY(-6px);
  box-shadow: 0 12px 35px rgba(0,0,0,.3);
  border-color: rgba(201,168,76,.3);
}
.or-dest-marker {
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, var(--gold), var(--gold-light));
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--navy);
  font-size: 1rem;
  margin-bottom: 1.25rem;
  flex-shrink: 0;
  transition: transform .4s ease;
}
.or-dest-item:hover .or-dest-marker {
  transform: scale(1.1);
}
.or-dest-tile h3 {
  font-family: var(--fh);
  font-size: 1.25rem;
  color: #fff;
  margin-bottom: .35rem;
  font-weight: 500;
  line-height: 1.2;
}
.or-dest-tile p {
  font-size: .85rem;
  color: rgba(255,255,255,.55);
  margin: 0 0 1rem;
  line-height: 1.5;
}
.or-dest-link {
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gold-light);
  display: flex;
  align-items: center;
  gap: .4rem;
  margin-top: auto;
  transition: all .3s ease;
}
.or-dest-link .fas {
  font-size: .55rem;
  transition: transform .3s ease;
}
.or-dest-item:hover .or-dest-link {
  color: #fff;
}
.or-dest-item:hover .or-dest-link .fas {
  transform: translateX(4px);
}
