/* ============================================
   CY CONSULTANCY CENTRE — GLOBAL STYLES
   ============================================ */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --n:#0F1C2E;
  --n2:#1B2D45;
  --r:#E63946;
  --r2:#C1121F;
  --g:#F4A261;
  --t:#2EC4B6;
  --bg:#fff;
  --bgf:#F7F8FA;
  --tx:#16213E;
  --tx2:#4A5568;
  --tx3:#94A3B8;
}
html{scroll-behavior:auto !important}
body{font-family:'Montserrat',sans-serif;color:var(--tx);overflow-x:hidden}
h1,h2,h3,h4{font-family:'Playfair Display',serif}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}

/* ANIMATIONS */
.anim{opacity:0;transform:translateY(40px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.anim.show{opacity:1;transform:none}
.anim-l{opacity:0;transform:translateX(-50px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.anim-l.show{opacity:1;transform:none}
.anim-r{opacity:0;transform:translateX(50px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.anim-r.show{opacity:1;transform:none}
.anim-s{opacity:0;transform:scale(.9);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.anim-s.show{opacity:1;transform:none}

/* SCROLL PROGRESS */
#prog{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--r),var(--g));z-index:9999;width:0;transition:width .1s}

/* TOPBAR */
.topbar{background:var(--n);color:rgba(255,255,255,.7);font-size:11px;padding:8px 0}
.topbar-in{max-width:1260px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px}
.topbar a{color:var(--g);font-weight:600}
.topbar i{margin-right:4px;color:var(--g);font-size:9px}

/* NAV */
.nav{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.04);transition:box-shadow .3s}
.nav.scrolled{box-shadow:0 4px 30px rgba(0,0,0,.06)}
.nav-in{max-width:1260px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:68px}
.nav-logo{display:flex;align-items:center;gap:10px}
.nav-logo img{height:44px}
.nav-logo-t{font-family:'Playfair Display',serif;font-size:15px;font-weight:700;color:var(--n);line-height:1.1}
.nav-logo-s{font-size:8.5px;color:var(--tx3);text-transform:uppercase;letter-spacing:2.5px;font-weight:700}
.nav-menu{display:flex;gap:4px;list-style:none;align-items:center}
.nav-menu a{padding:8px 14px;font-size:12px;font-weight:600;color:var(--tx2);border-radius:8px;transition:all .2s}
.nav-menu a:hover,.nav-menu a.active{color:var(--n);background:rgba(0,0,0,.02)}
.nav-cta{background:var(--r)!important;color:#fff!important;padding:10px 22px!important;border-radius:50px!important;font-weight:700!important;box-shadow:0 4px 16px rgba(230,57,70,.2)}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(230,57,70,.3)}
.mob-btn{display:none;background:rgba(0,0,0,.05);border:1.5px solid rgba(0,0,0,.08);border-radius:10px;cursor:pointer;font-size:18px;color:var(--n);width:42px;height:42px;align-items:center;justify-content:center;z-index:10000;position:relative}
.mob-menu{display:flex;flex-direction:column;background:#fff;position:fixed;top:0;left:0;right:0;z-index:9999;padding:104px 0 24px;box-shadow:0 8px 40px rgba(0,0,0,.15);transform:translateY(-110%);transition:transform .4s cubic-bezier(.16,1,.3,1);pointer-events:none;overflow-y:auto;max-height:100vh}
.mob-menu a{display:block!important;padding:16px 28px!important;font-size:15px!important;font-weight:700!important;color:var(--n)!important;border-bottom:1px solid rgba(0,0,0,.05)!important;transition:all .2s!important;text-decoration:none!important;}
.mob-menu a:hover{background:var(--bgf);color:var(--n)}

/* SECTION HEADER */
.sh{text-align:center;margin-bottom:40px}
.sh .tag{display:inline-block;color:var(--r);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:3px;margin-bottom:8px;position:relative;padding:0 16px}
.sh .tag::before,.sh .tag::after{content:'';position:absolute;top:50%;width:30px;height:1.5px;background:var(--r);opacity:.3}
.sh .tag::before{right:100%;margin-right:-14px}
.sh .tag::after{left:100%;margin-left:-14px}
.sh h2{font-size:clamp(24px,3vw,36px);color:var(--n);margin-bottom:8px}
.sh p{color:var(--tx2);font-size:14px;max-width:520px;margin:0 auto;line-height:1.7}

/* SECTIONS */
.sec{padding:72px 24px}

/* BUTTON */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:50px;font-size:13px;font-weight:700;font-family:'Montserrat',sans-serif;border:none;cursor:pointer;transition:all .3s}
.btn-g{background:linear-gradient(135deg,var(--g),#E9965A);color:var(--n);box-shadow:0 8px 30px rgba(244,162,97,.25)}
.btn-g:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(244,162,97,.35)}
.btn-r{background:linear-gradient(135deg,var(--r),var(--r2));color:#fff;box-shadow:0 8px 24px rgba(230,57,70,.2)}
.btn-r:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(230,57,70,.3)}
.btn-w{background:#25D366;color:#fff;box-shadow:0 8px 24px rgba(37,211,102,.2)}
.btn-w:hover{transform:translateY(-3px)}
.btn-o{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.3)}
.btn-o:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.5)}

/* MARQUEE */
.marquee{overflow:hidden;background:var(--n);padding:14px 0;white-space:nowrap}
.marquee-track{display:flex;animation:mqScroll 25s linear infinite;gap:50px}
.marquee-item{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.4);font-size:12px;font-weight:600;flex-shrink:0}
.marquee-item i{color:var(--g);font-size:6px}
@keyframes mqScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* PAGE HERO (inner pages) */
.page-hero{background:linear-gradient(140deg,#080D18,var(--n),var(--n2));padding:80px 24px;text-align:center;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;opacity:.03;background-image:radial-gradient(circle at 1px 1px,white 1px,transparent 0);background-size:40px 40px}
.page-hero h1{color:#fff;font-size:clamp(28px,4vw,46px);margin-bottom:10px;position:relative;z-index:1}
.page-hero p{color:rgba(255,255,255,.55);font-size:14px;max-width:500px;margin:0 auto;position:relative;z-index:1}
.breadcrumb{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:14px;position:relative;z-index:1}
.breadcrumb a,.breadcrumb span{font-size:11px;color:rgba(255,255,255,.4);font-weight:600}
.breadcrumb a:hover{color:var(--g)}
.breadcrumb i{font-size:8px;color:rgba(255,255,255,.3)}

/* CTA SECTION */
.cta-sec{padding:65px 24px;text-align:center;background:linear-gradient(135deg,var(--r),var(--r2))}
.cta-sec h2{color:#fff;font-size:clamp(22px,2.8vw,32px);margin-bottom:10px}
.cta-sec p{color:rgba(255,255,255,.8);font-size:14px;margin-bottom:24px}

/* FOOTER */
.footer{background:#080E1A;color:rgba(255,255,255,.35);padding:60px 24px 24px}
.footer-in{max-width:1260px;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:40px}
.f-brand img{height:40px;border-radius:6px;margin-bottom:12px}
.f-brand h3{font-family:'Playfair Display',serif;font-size:18px;color:#fff;margin-bottom:8px}
.f-brand p{font-size:12px;line-height:1.7;max-width:260px}
.f-col h4{font-size:11px;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:16px}
.f-col ul{list-style:none}
.f-col ul li{margin-bottom:8px}
.f-col ul li a{font-size:12px;color:rgba(255,255,255,.4);transition:color .2s}
.f-col ul li a:hover{color:var(--g)}
.f-social{display:flex;gap:10px;margin-top:16px}
.f-social a{width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.4);font-size:13px;transition:all .2s}
.f-social a:hover{background:var(--r);color:#fff}
.footer hr{border:none;height:1px;background:rgba(255,255,255,.05);margin-bottom:20px}
.f-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.f-copy{font-size:10px}
.f-bottom-links{display:flex;gap:16px}
.f-bottom-links a{font-size:10px;color:rgba(255,255,255,.3);transition:color .2s}
.f-bottom-links a:hover{color:var(--g)}

/* WA FLOAT */
.wa-float{position:fixed;bottom:22px;right:22px;z-index:999;width:54px;height:54px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(37,211,102,.35);transition:all .3s;animation:ftFloat 3s ease-in-out infinite}
.wa-float:hover{transform:scale(1.12) !important}
.wa-float i{color:#fff;font-size:26px}
@keyframes ftFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* FORM STYLES */
.fg{margin-bottom:12px}
.fg label{display:block;font-size:9.5px;font-weight:700;color:var(--n);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}
.fg input,.fg select,.fg textarea{width:100%;padding:11px 14px;border-radius:10px;border:1.5px solid rgba(0,0,0,.08);font-size:13px;font-family:'Montserrat',sans-serif;background:var(--bgf);transition:all .3s;outline:none}
.fg textarea{resize:vertical;min-height:100px}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--r);box-shadow:0 0 0 4px rgba(230,57,70,.05);background:#fff}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.btn-submit{width:100%;padding:14px;border:none;border-radius:50px;background:linear-gradient(135deg,var(--r),var(--r2));color:#fff;font-size:13px;font-weight:700;cursor:pointer;font-family:'Montserrat',sans-serif;box-shadow:0 6px 24px rgba(230,57,70,.2);transition:all .3s;margin-top:8px}
.btn-submit:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(230,57,70,.3)}

/* RESPONSIVE */
@media(max-width:968px){
  .footer-grid{grid-template-columns:1fr 1fr}
  .mob-btn{display:block}
  .nav-menu{display:none !important}
  .fr{grid-template-columns:1fr}
}
@media(max-width:600px){
  .footer-grid{grid-template-columns:1fr}
  .f-bottom{flex-direction:column;text-align:center}
}

/* ════════════════════════════════════════════════
   ADVANCED ANIMATIONS — Reference sites
   Jeton + Tore Bentsen + David Langarica
   ════════════════════════════════════════════════ */

/* Tore Bentsen: Jagged/rough clip-path image borders */
.about-img img, .dest-img img, .team-img {
  clip-path: polygon(0% 98%, 3% 100%, 12% 100%, 16% 99%, 22% 99%,
    29% 100%, 37% 98%, 48% 98%, 56% 100%, 69% 98%, 75% 100%,
    84% 99%, 92% 99%, 98% 99%, 100% 94%, 100% 88%, 99% 85%,
    100% 78%, 99% 73%, 100% 67%, 98% 61%, 99% 54%, 98% 46%,
    99% 37%, 97% 29%, 100% 18%, 99% 5%, 95% 0%, 86% 1%,
    79% 0%, 68% 0%, 64% 4%, 58% 0%, 51% 1%, 46% 3%,
    37% 1%, 29% 0%, 17% 1%, 13% 0%, 6% 0%, 1% 0%,
    0% 4%, 0% 13%, 1% 20%, 1% 27%, 0% 33%, 0% 44%,
    1% 53%, 0% 63%, 1% 69%, 0% 79%, 2% 83%, 0% 90%);
  transition: clip-path .6s cubic-bezier(.16,1,.3,1);
}
.about-img:hover img {
  clip-path: polygon(0 0,100% 0,100% 100%,0 100%);
}

/* David Langarica: line expand on section titles */
.sh h2::after {
  content: '';
  display: block;
  height: 3px;
  background: linear-gradient(90deg, var(--r), var(--g), transparent);
  width: 0;
  transition: width 1s cubic-bezier(.16,1,.3,1);
  margin-top: 8px;
  border-radius: 2px;
}
.sh h2.show::after, .show .sh h2::after { width: 60px; }

/* David Langarica: text line underline sweep on hover */
.nav-menu a { position: relative; }
.nav-menu a::after {
  content: '';
  position: absolute;
  bottom: 2px; left: 0;
  width: 100%; height: 2px;
  background: var(--r);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .3s cubic-bezier(.2,0,0,1);
  border-radius: 2px;
}
.nav-menu a:hover::after, .nav-menu a.active::after {
  transform: scaleX(1);
  transform-origin: left;
}

/* Jeton: card lift with shadow glow */
.svc:hover, .why-card:hover, .dest-card:hover, .uni-card:hover {
  box-shadow: 0 24px 64px rgba(230,57,70,.15), 0 8px 24px rgba(0,0,0,.08);
}

/* David Langarica: About text line reveal animation */
.about-text p {
  overflow: hidden;
}
.about-text.show p {
  animation: lineReveal .8s cubic-bezier(.16,1,.3,1) both;
}
@keyframes lineReveal {
  from { transform: translateY(100%); opacity: 0; }
  to { transform: none; opacity: 1; }
}

/* Tore Bentsen: Section number badge */
.sec-num {
  font-family: 'Playfair Display', serif;
  font-size: 120px;
  color: rgba(0,0,0,.03);
  position: absolute;
  top: -20px;
  right: 24px;
  line-height: 1;
  pointer-events: none;
  user-select: none;
  font-weight: 700;
}

/* Jeton: Gradient border button effect */
.btn-gradient-border {
  position: relative;
  background: var(--n);
  color: #fff;
}
.btn-gradient-border::before {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  background: linear-gradient(135deg, var(--r), var(--g), var(--t));
  z-index: -1;
  opacity: 0;
  transition: opacity .3s;
}
.btn-gradient-border:hover::before { opacity: 1; }

/* David Langarica: Sparkle text effect on numbers */
.h-stat-n, .stat-num {
  position: relative;
  display: inline-block;
}
.h-stat-n::after, .stat-num::after {
  content: '✦';
  position: absolute;
  top: -8px;
  right: -12px;
  font-size: 10px;
  color: var(--g);
  animation: sparkle 3s ease-in-out infinite;
}
@keyframes sparkle {
  0%, 100% { transform: scale(1) rotate(0deg); opacity: .7; }
  50% { transform: scale(1.4) rotate(20deg); opacity: 1; }
}

/* Tore Bentsen: Mix blend mode on floating tags */
.float-tag { mix-blend-mode: normal; }

/* David Langarica: Horizontal scroll indicator */
.scroll-indicator {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  font-size: 10px;
  color: rgba(255,255,255,.4);
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  z-index: 10;
  animation: fadeInOut 3s 2s ease both;
}
.scroll-indicator .scroll-line {
  width: 1px;
  height: 40px;
  background: linear-gradient(180deg, transparent, rgba(255,255,255,.4));
  animation: scrollLine 2s ease-in-out infinite;
}
@keyframes scrollLine {
  0% { transform: scaleY(0); transform-origin: top; }
  50% { transform: scaleY(1); transform-origin: top; }
  51% { transform-origin: bottom; }
  100% { transform: scaleY(0); transform-origin: bottom; }
}
@keyframes fadeInOut {
  0% { opacity: 0; }
  20%, 80% { opacity: 1; }
  100% { opacity: 0; }
}

/* Jeton: Footer link hover underline sweep */
.footer-link-hover {
  position: relative;
  display: inline-block;
}
.footer-link-hover::after {
  content: '';
  position: absolute;
  bottom: -2px; left: 0;
  width: 100%; height: 1px;
  background: var(--g);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .3s cubic-bezier(.2,0,0,1);
}
.footer-link-hover:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

/* ── GALLERY HOVER ZOOM (Tore Bentsen) ── */
.g-item { transition: transform .4s cubic-bezier(.16,1,.3,1); }
.g-item:hover { transform: scale(1.04) translateY(-4px); }

/* ── HERO CARD GLASS REFRACTION (Jeton) ── */
.hero-card {
  background: rgba(255,255,255,.04);
  backdrop-filter: blur(20px) saturate(150%);
  -webkit-backdrop-filter: blur(20px) saturate(150%);
}

/* ── MARQUEE PAUSE ON HOVER ── */
.marquee:hover .marquee-track { animation-play-state: paused; }

/* ── SERVICE CARD SHINE (Jeton) ── */
.svc::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, transparent 40%, rgba(255,255,255,.06) 50%, transparent 60%);
  transform: translateX(-100%);
  transition: transform .6s cubic-bezier(.16,1,.3,1);
  border-radius: 18px;
  z-index: 2;
}
.svc:hover::after { transform: translateX(100%); }

/* ── PAGE TRANSITION FADE (David Langarica) ── */
body {
  animation: bodyFadeIn .5s ease both;
}
@keyframes bodyFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}


/* ═══════════════════════════════════════════════════
   DAVID LANGARICA ANIMATIONS — CSS side
   ═══════════════════════════════════════════════════ */

/* work items: reveal on scroll */
.work-item.show {
  opacity: 1 !important;
  transform: none !important;
}

/* sh section header show */
.sh.show h2::after, .sh.in h2::after {
  width: 60px;
}
.sh h2::after {
  content: '';
  display: block;
  height: 2px;
  background: linear-gradient(90deg, var(--r), var(--g), transparent);
  width: 0;
  transition: width 1.1s cubic-bezier(.16,1,.3,1) .3s;
  margin-top: 8px;
  border-radius: 2px;
}

/* blur-reveal .in state (David name animation) */
.blur-reveal.in {
  opacity: 1 !important;
  filter: blur(0) !important;
  transform: none !important;
}
.blur-reveal:nth-child(2) { transition-delay: .15s !important; }

/* line-reveal .in state */
.line-reveal-wrap.in p {
  opacity: 1 !important;
  transform: none !important;
}

/* section-line .in */
.section-line.in { width: 100%; }

/* nav line-sweep */
.nav-menu a {
  position: relative;
}
.nav-menu a::after {
  content: '';
  position: absolute;
  bottom: 0px; left: 0;
  width: 100%; height: 1.5px;
  background: var(--r);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .3s cubic-bezier(.2,0,0,1);
  border-radius: 2px;
}
.nav-menu a:hover::after, .nav-menu a.active::after {
  transform: scaleX(1);
  transform-origin: left;
}

/* Remove old duplicate scroll-behavior */
.anim-blur { opacity:0; filter:blur(12px); transform:translateY(24px); transition: opacity .8s ease, filter .8s ease, transform .8s cubic-bezier(.16,1,.3,1); }
.anim-blur.show { opacity:1; filter:blur(0); transform:none; }

/* footer btn-r */
.btn-r { background:linear-gradient(135deg,var(--r),var(--r2)); color:#fff; box-shadow:0 8px 24px rgba(230,57,70,.2); }
.btn-r:hover { transform:translateY(-3px); box-shadow:0 14px 40px rgba(230,57,70,.3); }

/* Remove all traces of page-loader */
#page-loader { display: none !important; }

/* ═══ FINAL OVERRIDES ═══ */
html, body { scroll-behavior: auto !important; }

/* Scroll top show class */
#scroll-top { transition: opacity .3s ease, transform .3s ease, background .2s; }
#scroll-top.show { opacity:1!important; transform:none!important; pointer-events:auto!important; }

/* Hero content vertical centering fix */
.hero { padding-top: 100px !important; padding-bottom: 80px !important; }

/* Hero bg slides need to fill */
.hero-bg-slide {
  background-repeat: no-repeat;
  background-attachment: fixed;
}

/* Work items show state */
.work-item.show, .work-item.in {
  opacity: 1 !important;
  transform: none !important;
}

/* sh.show triggers h2 line */
.sh.show h2::after, .sh.in h2::after { width: 60px; }

/* blur-reveal show */
.blur-reveal.show, .blur-reveal.in {
  opacity: 1 !important;
  filter: blur(0) !important;
  transform: none !important;
}

/* line-reveal show */
.line-reveal-wrap.show p, .line-reveal-wrap.in p {
  opacity: 1 !important;
  transform: none !important;
}

/* Section line show */  
.section-line.show, .section-line.in { width: 100% !important; }

/* Remove page-loader permanently */
#page-loader { display: none !important; visibility: hidden !important; }

/* ═══════════════════════════════════════════════════
   PAGE HERO WITH BACKGROUND IMAGE OVERLAY
   ═══════════════════════════════════════════════════ */
.page-hero {
  position: relative;
}
.page-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(140deg,
    rgba(5,9,15,.82) 0%,
    rgba(15,28,46,.75) 50%,
    rgba(5,9,15,.7) 100%);
  z-index: 0;
}
.page-hero h1,
.page-hero p,
.page-hero .breadcrumb {
  position: relative;
  z-index: 1;
}

/* ═══════════════════════════════════════════════════
   SERVICES PAGE — finder card with real images
   ═══════════════════════════════════════════════════ */
.finder-icon {
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}
.finder-icon img {
  width: 56px;
  height: 56px;
  object-fit: contain;
  transition: transform .4s cubic-bezier(.16,1,.3,1);
}
.finder-card:hover .finder-icon img {
  transform: scale(1.15) rotate(-3deg);
}

/* ═══════════════════════════════════════════════════
   GALLERY — use local images
   ═══════════════════════════════════════════════════ */
.g-item img {
  transition: transform .6s cubic-bezier(.16,1,.3,1);
}
.g-item:hover img {
  transform: scale(1.08);
}

/* ═══════════════════════════════════════════════════
   FOOTER BANNER — use local footer-bg or office
   ═══════════════════════════════════════════════════ */
.footer-banner img {
  transition: transform 8s ease;
}
.footer:hover .footer-banner img {
  transform: scale(1.03);
}

/* ═══════════════════════════════════════════════════
   BLOG — local image cards
   ═══════════════════════════════════════════════════ */
.blog-img img {
  width: 100%;
  height: 100%;
  min-height: 200px;
  object-fit: cover;
  transition: transform .6s cubic-bezier(.16,1,.3,1);
}
.blog-card:hover .blog-img img {
  transform: scale(1.07);
}

/* ═══════════════════════════════════════════════════
   ABOUT PAGE — CEO photo clip path (Tore Bentsen)
   ═══════════════════════════════════════════════════ */
.ceo-wrap {
  clip-path: polygon(
    0% 2%, 3% 0%, 12% 0%, 16% 1%, 22% 1%,
    29% 0%, 37% 2%, 48% 2%, 56% 0%, 69% 2%,
    75% 0%, 84% 1%, 92% 1%, 98% 1%, 100% 6%,
    100% 12%, 99% 15%, 100% 22%, 99% 27%,
    100% 33%, 98% 39%, 99% 46%, 98% 54%,
    99% 63%, 97% 71%, 100% 82%, 99% 95%,
    95% 100%, 86% 99%, 79% 100%, 68% 100%,
    64% 96%, 58% 100%, 51% 99%, 46% 97%,
    37% 99%, 29% 100%, 17% 99%, 13% 100%,
    6% 100%, 1% 100%, 0% 96%, 0% 87%,
    1% 80%, 1% 73%, 0% 67%, 0% 56%,
    1% 47%, 0% 37%, 1% 31%, 0% 21%, 2% 13%
  );
  transition: clip-path .6s cubic-bezier(.16,1,.3,1);
}
.ceo-wrap:hover {
  clip-path: polygon(0 0,100% 0,100% 100%,0 100%);
}


/* ══════════════════════════════════════════════
   FOOTER REDESIGN — Fix logo size & layout
══════════════════════════════════════════════ */
.footer-logo {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
  text-decoration: none;
}
.footer-logo img {
  height: 52px !important;
  width: auto !important;
  border-radius: 10px;
  object-fit: contain;
  flex-shrink: 0;
}
.footer-logo span {
  font-family: 'Playfair Display', serif;
  font-size: 18px;
  color: #fff;
  font-weight: 700;
  line-height: 1.2;
}
.footer-logo .footer-logo-sub {
  font-family: 'Montserrat', sans-serif;
  font-size: 9px;
  color: rgba(255,255,255,.4);
  text-transform: uppercase;
  letter-spacing: 2px;
  display: block;
  margin-top: 3px;
}

/* ══════════════════════════════════════════════
   DESTINATION CARDS — with real flag images
══════════════════════════════════════════════ */
.dest-item-img {
  position: relative;
  overflow: hidden;
}
.dest-item-img img.dest-flag-img {
  width: 100%;
  height: 130px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .6s cubic-bezier(.16,1,.3,1);
  filter: brightness(.85);
}
.dest-item:hover .dest-flag-img {
  transform: scale(1.08);
  filter: brightness(.95);
}
.dest-flag-emoji {
  position: absolute;
  bottom: 10px;
  left: 14px;
  font-size: 28px;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.5));
}
.dest-item-img .dest-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(15,28,46,.6) 0%, transparent 60%);
}

/* ══════════════════════════════════════════════
   ABOUT PAGE — CEO full portrait
══════════════════════════════════════════════ */
.ceo-wrap {
  height: 520px;
  border-radius: 20px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 28px 72px rgba(0,0,0,.18);
}
.ceo-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
  transition: transform .8s cubic-bezier(.16,1,.3,1);
}
.ceo-wrap:hover img { transform: scale(1.04); }
.ceo-overlay {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 28px;
  background: linear-gradient(0deg, rgba(15,28,46,.92) 0%, transparent 100%);
}
.ceo-overlay h4 {
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 800;
  color: #fff;
  margin-bottom: 4px;
}
.ceo-overlay p { font-size: 12px; color: rgba(255,255,255,.55); }

/* ══════════════════════════════════════════════
   GALLERY — proper sizes
══════════════════════════════════════════════ */
.g-item {
  width: 220px;
  height: 220px;
}
.g-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ══════════════════════════════════════════════
   ABOUT IMAGE — office photo better sizing
══════════════════════════════════════════════ */
.about-img-wrap img {
  height: 400px !important;
  object-fit: cover;
  object-position: center;
}

/* ══════════════════════════════════════════════
   BLOG IMAGES — proper sizing
══════════════════════════════════════════════ */
.blog-card .blog-img {
  min-height: 200px;
  overflow: hidden;
}
.blog-card .blog-img img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}
@media(max-width:968px) {
  .blog-card .blog-img img { height: 180px; }
}

/* ══════════════════════════════════════════════
   UNIVERSITY LOGO CARDS — better sizes
══════════════════════════════════════════════ */
.uni-logo-img {
  height: 130px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.uni-logo-img img {
  max-height: 80px;
  max-width: 170px;
  object-fit: contain;
}

/* ══════════════════════════════════════════════
   SMOOTH SCROLL & ANIMATIONS — extra polish
══════════════════════════════════════════════ */
@keyframes floatUp {
  0%   { opacity:0; transform:translateY(30px); }
  100% { opacity:1; transform:none; }
}
.anim.show, .anim-l.show, .anim-r.show, .anim-s.show {
  animation: floatUp .7s cubic-bezier(.16,1,.3,1) both;
}


/* ══════════════════════════════════════════════
   IMAGE LOADING — fade in smoothly
══════════════════════════════════════════════ */
img {
  opacity: 0;
  transition: opacity .4s ease;
}
img.loaded, img[src] {
  opacity: 1;
}
/* Fix: make sure images show immediately if JS is slow */
img { opacity: 1; }

/* ══════════════════════════════════════════════
   DESTINATION CARDS — hover reveal animation
══════════════════════════════════════════════ */
.dest-item {
  overflow: hidden;
}
.dest-item-body {
  position: relative;
  z-index: 1;
}
.dest-item-img {
  overflow: hidden;
  position: relative;
  height: 130px;
}

/* ══════════════════════════════════════════════
   FOOTER — compact, proper sizing
══════════════════════════════════════════════ */
.footer-body {
  padding: 44px 24px 0;
  max-width: 1260px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 48px;
}
@media(max-width:968px) {
  .footer-body { grid-template-columns: 1fr; gap: 28px; }
}

/* ══════════════════════════════════════════════
   ABOUT PAGE — grid fix
══════════════════════════════════════════════ */
.about-hero-grid {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 52px;
  align-items: start;
}
@media(max-width:968px) {
  .about-hero-grid { grid-template-columns: 1fr; }
}

/* ── FORM STYLES ── */
.cy-form .fg { margin-bottom: 14px; }
.cy-form label { display:block; font-size:11px; font-weight:700; color:var(--tx2); margin-bottom:5px; text-transform:uppercase; letter-spacing:.3px; }
.cy-form input,.cy-form select,.cy-form textarea {
  width:100%; padding:12px 14px; border:1.5px solid rgba(0,0,0,.07);
  border-radius:12px; font-size:13px; font-family:'Montserrat',sans-serif;
  background:#fff; transition:border .2s, box-shadow .2s; outline:none; color:var(--tx);
}
.cy-form input:focus,.cy-form select:focus,.cy-form textarea:focus {
  border-color:var(--r); box-shadow:0 0 0 3px rgba(230,57,70,.07);
}
.cy-form .fr { display:flex; gap:12px; }
.cy-form .fr .fg { flex:1; margin-bottom:14px; }
.btn-submit {
  width:100%; padding:15px; background:linear-gradient(135deg,var(--r),var(--r2));
  color:#fff; border:none; border-radius:14px; font-size:14px; font-weight:700;
  font-family:'Montserrat',sans-serif; cursor:pointer; margin-top:6px;
  display:flex; align-items:center; justify-content:center; gap:8px;
  transition:all .3s; box-shadow:0 8px 24px rgba(230,57,70,.2);
}
.btn-submit:hover { transform:translateY(-2px); box-shadow:0 14px 40px rgba(230,57,70,.3); }

/* ── WHATSAPP FLOAT ── */
.wa-float {
  position:fixed; bottom:24px; right:22px; z-index:997;
  width:52px; height:52px; border-radius:50%;
  background:#25D366; color:#fff; font-size:26px;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 20px rgba(37,211,102,.35);
  transition:all .3s; animation:waPulse 3s ease-in-out infinite;
}
.wa-float:hover { transform:scale(1.1); box-shadow:0 10px 28px rgba(37,211,102,.45); }
@keyframes waPulse {
  0%,100% { box-shadow:0 6px 20px rgba(37,211,102,.35); }
  50% { box-shadow:0 6px 32px rgba(37,211,102,.6); }
}

/* ── MOBILE NAV BUTTON ── */
@media(max-width:968px) {
  .nav-menu { display:none !important; }
  .mob-btn { display:block !important; }
  .mob-menu { position:fixed; top:68px; left:0; right:0; z-index:999; }
}

.mob-menu.open{transform:translateY(0)!important;pointer-events:auto!important;}

@media(max-width:968px){.mob-btn{display:flex!important;}.nav-menu{display:none!important;}}

.mob-btn.is-open{background:var(--r)!important;color:#fff!important;border-color:var(--r)!important;}
.mob-menu a.active-link{color:var(--r)!important;background:rgba(230,57,70,.04)!important;}
.mob-menu a:last-child{margin:16px 20px 0;background:var(--r)!important;color:#fff!important;border-radius:14px!important;border:none!important;text-align:center;justify-content:center;}
