/* ============================================
   IAHLB Design System - dernek3
   Vanilla CSS Â· No Tailwind
   ============================================ */

/* ---------- Custom Properties ---------- */
:root {
  /* Brand palette */
  --clr-primary-50:  #e6f0f0;
  --clr-primary-100: #c2dada;
  --clr-primary-200: #99c0c1;
  --clr-primary-300: #6ca4a5;
  --clr-primary-400: #498b8d;
  --clr-primary-500: #1B5E5B;
  --clr-primary-600: #164e4b;
  --clr-primary-700: #12403e;
  --clr-primary-800: #0e302e;
  --clr-primary-900: #0a2120;

  --clr-accent:      #D4A346;
  --clr-accent-light:#EBD5A8;

  --clr-sand-50:  #FDFCFA;
  --clr-sand-100: #F9F7F3;
  --clr-sand-200: #EDE8E0;
  --clr-sand-300: #D5CDC4;

  --clr-dark:     #0A1C35;
  --clr-body:     #3D4F4F;
  --clr-muted:    #6B7F7F;
  --clr-light:    #ffffff;

  /* Typography */
  --ff-sans:  'Inter', system-ui, sans-serif;
  --ff-serif: 'Playfair Display', Georgia, serif;

  --fs-xs:   .75rem;
  --fs-sm:   .875rem;
  --fs-base: 1rem;
  --fs-lg:   1.125rem;
  --fs-xl:   1.25rem;
  --fs-2xl:  1.5rem;
  --fs-3xl:  1.875rem;
  --fs-4xl:  2.25rem;
  --fs-5xl:  3rem;
  --fs-6xl:  3.75rem;
  --fs-7xl:  4.5rem;

  /* Spacing */
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;

  /* Misc */
  --radius-sm: .5rem;
  --radius-md: .75rem;
  --radius-lg: 1rem;
  --radius-xl: 1.5rem;
  --radius-2xl: 2rem;
  --radius-full: 9999px;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.06);
  --shadow-md: 0 4px 12px rgba(0,0,0,.08);
  --shadow-lg: 0 10px 30px rgba(0,0,0,.1);
  --shadow-xl: 0 20px 50px rgba(0,0,0,.12);
  --transition: .3s cubic-bezier(.4,0,.2,1);

  --max-w: 1200px;
  --nav-h: 100px;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--ff-sans);color:var(--clr-body);background:var(--clr-sand-50);line-height:1.7;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button{font:inherit;cursor:pointer;border:none;background:none}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6{font-family:var(--ff-serif);color:var(--clr-dark);line-height:1.25;font-weight:600}

/* Standardized ampersand class */
.ampersand {
  font-family: var(--ff-sans) !important;
  font-style: normal !important;
  font-weight: normal !important;
  display: inline-block;
  padding: 0 0.04em;
}


/* ---------- Utility ---------- */
.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 var(--space-6)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.text-center{text-align:center}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:500;font-size:var(--fs-sm);padding:.75rem 1.75rem;border-radius:var(--radius-full);transition:var(--transition);letter-spacing:.01em}
.btn-primary{background:var(--clr-primary-500);color:#fff;box-shadow:0 4px 14px rgba(45,122,104,.3)}
.btn-primary:hover{background:var(--clr-primary-600);transform:translateY(-2px);box-shadow:0 6px 20px rgba(45,122,104,.4)}
.btn-outline{border:1.5px solid var(--clr-sand-300);color:var(--clr-dark);background:#fff}
.btn-outline:hover{border-color:var(--clr-primary-500);color:var(--clr-primary-600);background:var(--clr-primary-50)}
.btn-accent{background:var(--clr-accent);color:var(--clr-dark);font-weight:600}
.btn-accent:hover{background:#b8933d}

/* ---------- Badge ---------- */
.badge{display:inline-block;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.badge-primary{background:var(--clr-primary-50);color:var(--clr-primary-600);border:1px solid var(--clr-primary-100)}
.badge-accent{background:rgba(201,169,110,.15);color:#8B6914}

/* ---------- Section ---------- */
.section{padding:var(--space-24) 0}
.section-label{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--clr-primary-500);font-family:var(--ff-sans);margin-bottom:var(--space-3)}
.section-title{font-size:var(--fs-4xl);margin-bottom:var(--space-4)}
.section-desc{font-size:var(--fs-lg);color:var(--clr-muted);max-width:620px;font-weight:300;line-height:1.8}

/* ---------- Navigation ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);transition:var(--transition)}
.nav-glass{background:rgba(253,252,250,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(213,205,196,.25)}
.nav-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:100%}
.nav-logo{justify-self:start;display:flex;align-items:center;gap:var(--space-2)}
.nav-logo svg{width:42px;height:42px;color:var(--clr-primary-500)}
.nav-logo span{font-family:var(--ff-serif);font-size:var(--fs-2xl);font-weight:700;color:var(--clr-dark);letter-spacing:.04em}
.nav-links{justify-self:center;width:600px;display:flex;align-items:stretch;gap:0;border:1.5px solid var(--clr-sand-300);border-radius:var(--radius-lg);overflow:hidden;background:#fff;box-shadow:var(--shadow-sm)}
.nav-links a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;font-size:var(--fs-base);font-weight:500;color:var(--clr-muted);padding:.85rem .5rem;margin:0;transition:var(--transition);border-right:1px solid var(--clr-sand-200);position:relative;word-break:break-word}
.nav-links a:last-child{border-right:none}
.nav-links a i{font-size:1.8rem;color:var(--clr-primary-400);transition:var(--transition)}
.nav-links a:hover,.nav-links a.active{color:var(--clr-primary-600);background:var(--clr-primary-50)}
.nav-links a:hover i,.nav-links a.active i{color:var(--clr-primary-600);transform:scale(1.15)}
.nav-actions{justify-self:end;display:flex;align-items:center;gap:var(--space-4)}
.nav-actions .btn{width:180px;justify-content:center;text-align:center;padding:.75rem 1rem}
.nav-divider{width:1px;height:20px;background:var(--clr-sand-300)}

/* Language selector */
.lang-selector{position:relative}
.lang-btn{display:flex;align-items:center;gap:var(--space-1);font-size:var(--fs-sm);font-weight:500;color:var(--clr-muted);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:var(--transition)}
.lang-btn:hover{color:var(--clr-primary-600);background:var(--clr-primary-50)}
.lang-dropdown{position:absolute;right:0;top:calc(100% + 8px);width:200px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--clr-sand-200);opacity:0;visibility:hidden;transform:translateY(8px);transition:var(--transition);padding:var(--space-2);z-index:200}
.lang-selector:hover .lang-dropdown,.lang-selector:focus-within .lang-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.lang-dropdown a{display:block;padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);border-radius:var(--radius-sm);transition:var(--transition);color:var(--clr-body)}
.lang-dropdown a:hover{background:var(--clr-primary-50);color:var(--clr-primary-600)}

/* Mobile menu */
.mobile-toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:var(--transition)}
.mobile-toggle:hover{background:var(--clr-sand-200)}
.mobile-toggle svg{width:24px;height:24px;color:var(--clr-dark)}
.mobile-menu{display:none;position:fixed;inset:0;z-index:99;background:rgba(253,252,250,.98);backdrop-filter:blur(20px);padding:calc(var(--nav-h) + var(--space-8)) var(--space-6) var(--space-8);flex-direction:column;gap:var(--space-6);opacity:0;transform:translateY(-10px);transition:var(--transition)}
.mobile-menu.open{display:flex;opacity:1;transform:translateY(0)}
.mobile-menu a{font-size:var(--fs-2xl);font-family:var(--ff-serif);color:var(--clr-dark);font-weight:600;padding:var(--space-3) 0;border-bottom:1px solid var(--clr-sand-200);transition:var(--transition)}
.mobile-menu a:hover{color:var(--clr-primary-500)}

/* ---------- Hero ---------- */
.hero{position:relative;padding:var(--space-12) 0 var(--space-20);min-height:75vh;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(253,252,250,.65) 0%,rgba(253,252,250,.45) 50%,rgba(240,245,244,.35) 100%)}
.hero-content{position:relative;z-index:1;max-width:720px}
.hero h1{font-size:var(--fs-5xl);line-height:1.1;margin-bottom:var(--space-6);font-family:'Playfair Display', serif;font-style:italic;font-weight:500;letter-spacing:1px}
.hero h1 em{color:var(--clr-primary-500)}
.hero p{font-size:var(--fs-xl);color:var(--clr-primary-900);font-weight:600;line-height:1.8;margin-bottom:var(--space-10);max-width:560px}
.hero-cta{display:flex;gap:var(--space-4);flex-wrap:wrap}
.hero-decoration{position:absolute;right:-60px;top:50%;transform:translateY(-50%);width:420px;height:420px;border-radius:50%;background:linear-gradient(135deg,var(--clr-primary-100),var(--clr-accent-light));opacity:.3;filter:blur(80px);z-index:0}

/* ---------- Stats Bar ---------- */
.stats-bar{background:var(--clr-primary-700);color:#fff;padding:var(--space-12) 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-8);text-align:center}
.stat-item h3{font-size:var(--fs-5xl);font-weight:700;color:var(--clr-accent);margin-bottom:var(--space-2);font-family:var(--ff-sans)}
.stat-item p{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.7);font-weight:500}

/* ---------- Cards ---------- */
.card{background:#fff;border-radius:var(--radius-xl);border:1px solid var(--clr-sand-200);overflow:hidden;transition:var(--transition)}
.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.card-body{padding:var(--space-8)}
.card-img{width:100%;height:220px;object-fit:cover}
.card-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-5);transition:var(--transition)}
.card:hover .card-icon{transform:scale(1.1)}
.card-icon svg{width:24px;height:24px}
.card-icon.green{background:var(--clr-primary-50);color:var(--clr-primary-500)}
.card-icon.gold{background:rgba(201,169,110,.12);color:var(--clr-accent)}
.card h4{font-size:var(--fs-xl);margin-bottom:var(--space-2)}
.card p{font-size:var(--fs-sm);color:var(--clr-muted);font-weight:300;line-height:1.7}
.card-link{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);font-weight:600;color:var(--clr-primary-500);margin-top:var(--space-4);transition:var(--transition)}
.card-link:hover{gap:var(--space-3);color:var(--clr-primary-700)}
.card-progress{height:3px;background:var(--clr-sand-200);border-radius:var(--radius-full);overflow:hidden;margin-top:var(--space-6)}
.card-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--clr-primary-400),var(--clr-accent));transition:.6s ease}
.card:hover .card-progress span{width:100%}

/* ---------- Quote Section ---------- */
.quote-section{background:var(--clr-dark);color:#fff;padding:var(--space-24) 0;position:relative;overflow:hidden}
.quote-section::before{display:none;}
.quote-section blockquote{font-family:var(--ff-serif);font-size:var(--fs-4xl);font-weight:400;font-style:italic;line-height:1.5;max-width:800px;margin:0 auto;text-align:center}
.quote-section cite{display:block;margin-top:var(--space-6);font-style:normal;font-family:var(--ff-sans);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.1em;color:var(--clr-accent)}

/* ---------- About Grid ---------- */
.about-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:var(--space-10);align-items:center}
.about-img{border-radius:var(--radius-2xl);overflow:hidden;position:relative;height:550px}
.about-img img{width:100%;height:100%;object-fit:cover}
.about-img::after{content:'';position:absolute;inset:0;border-radius:var(--radius-2xl);box-shadow:inset 0 0 60px rgba(0,0,0,.08)}
.values-list{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-6)}
.value-item{display:flex;gap:var(--space-4);align-items:flex-start}
.value-icon{flex-shrink:0;width:44px;height:44px;border-radius:var(--radius-md);background:var(--clr-primary-50);color:var(--clr-primary-500);display:flex;align-items:center;justify-content:center}
.value-icon svg{width:22px;height:22px}
.value-item h5{font-size:var(--fs-lg);font-family:var(--ff-sans);font-weight:600;margin-bottom:var(--space-1)}
.value-item p{font-size:var(--fs-sm);color:var(--clr-muted);font-weight:300}

/* ---------- Programs Grid ---------- */
.programs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}

/* ---------- News Grid ---------- */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8)}
.news-card .card-meta{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}
.news-card .card-meta span{font-size:var(--fs-xs);color:var(--clr-muted)}

/* ---------- CTA Section ---------- */
.cta-section{background:linear-gradient(135deg,var(--clr-primary-600),var(--clr-primary-800));padding:var(--space-20) 0;position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:50%;background:rgba(201,169,110,.1)}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8)}
.cta-inner h2{font-size:var(--fs-4xl);color:#fff;max-width:500px}
.cta-inner p{color:rgba(255,255,255,.8);max-width:500px;margin-top:var(--space-3);font-weight:300}

/* ---------- Membership Form ---------- */
.membership-card{background:var(--clr-dark);border-radius:var(--radius-2xl);overflow:hidden;display:grid;grid-template-columns:1fr 1fr;box-shadow:var(--shadow-xl)}
.membership-benefits{padding:var(--space-16);color:#fff}
.membership-benefits h3{font-size:var(--fs-3xl);color:#fff;margin-bottom:var(--space-4)}
.membership-benefits p{color:rgba(255,255,255,.7);font-weight:300;margin-bottom:var(--space-10)}
.benefit-item{display:flex;gap:var(--space-3);align-items:flex-start;margin-bottom:var(--space-6)}
.benefit-check{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--clr-primary-600);display:flex;align-items:center;justify-content:center;margin-top:2px}
.benefit-check svg{width:14px;height:14px;color:#fff}
.benefit-item h5{font-size:var(--fs-base);font-family:var(--ff-sans);font-weight:600;color:#fff;margin-bottom:2px}
.benefit-item p{font-size:var(--fs-sm);color:rgba(255,255,255,.5)}
.membership-form{display:block;}
.membership-form form{width:100%}
.form-tabs{display:flex;gap:var(--space-4);border-bottom:1px solid var(--clr-sand-300);padding-bottom:var(--space-2);margin-bottom:var(--space-8)}
.form-tab{font-weight:500;color:var(--clr-muted);padding-bottom:var(--space-2);border-bottom:2px solid transparent;transition:var(--transition);font-size:var(--fs-sm)}
.form-tab.active{color:var(--clr-primary-600);border-color:var(--clr-primary-600)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-5)}
.form-group{margin-bottom:var(--space-5)}
.form-group label{display:block;font-size:var(--fs-sm);font-weight:500;color:var(--clr-dark);margin-bottom:var(--space-2)}
.form-group input,.form-group select{width:100%;padding:.7rem 1rem;border:1.5px solid var(--clr-sand-300);border-radius:var(--radius-md);font-size:var(--fs-sm);transition:var(--transition);background:#fff;color:var(--clr-dark)}
.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--clr-primary-400);box-shadow:0 0 0 3px rgba(45,122,104,.1)}
.form-submit{width:100%;padding:.85rem;border-radius:var(--radius-md);background:var(--clr-primary-500);color:#fff;font-weight:600;font-size:var(--fs-base);transition:var(--transition);margin-top:var(--space-2)}
.form-submit:hover{background:var(--clr-primary-600);box-shadow:var(--shadow-md)}
.form-note{text-align:center;font-size:var(--fs-xs);color:var(--clr-muted);margin-top:var(--space-4)}

/* ---------- Footer ---------- */
.footer{background:var(--clr-dark);color:rgba(255,255,255,.7);padding:var(--space-20) 0 var(--space-10);border-top:4px solid var(--clr-primary-500)}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:var(--space-12);margin-bottom:var(--space-16)}
.footer-brand p{font-size:var(--fs-sm);font-weight:300;line-height:1.8;margin-top:var(--space-4);margin-bottom:var(--space-6)}
.footer-social{display:flex;gap:var(--space-3)}
.footer-social a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:var(--transition)}
.footer-social a:hover{background:var(--clr-primary-500);color:#fff}
.footer-social a svg{width:20px;height:20px}
.footer h4{color:#fff;font-family:var(--ff-sans);font-size:var(--fs-base);font-weight:600;margin-bottom:var(--space-6)}
.footer ul li{margin-bottom:var(--space-3)}
.footer ul a{font-size:var(--fs-sm);font-weight:300;transition:var(--transition)}
.footer ul a:hover{color:#fff}
.footer-newsletter input{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);padding:.65rem 1rem;font-size:var(--fs-sm);color:#fff;margin-bottom:var(--space-3);transition:var(--transition)}
.footer-newsletter input::placeholder{color:rgba(255,255,255,.35)}
.footer-newsletter input:focus{outline:none;border-color:var(--clr-primary-400)}
.footer-newsletter button{width:100%;padding:.65rem;border-radius:var(--radius-md);background:var(--clr-primary-500);color:#fff;font-size:var(--fs-sm);font-weight:500;transition:var(--transition)}
.footer-newsletter button:hover{background:var(--clr-primary-400)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:var(--space-8);display:flex;justify-content:space-between;align-items:center;font-size:0.9rem;font-weight:400;color:rgba(255,255,255,.65)}
.footer-bottom-links{display:flex;gap:var(--space-6)}
.footer-bottom-links a:hover{color:#fff}

/* ---------- Search Overlay ---------- */
#search-overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 12vh;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
#search-overlay.active {
  opacity: 1;
  visibility: visible;
}
.search-overlay-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10, 28, 53, 0.6);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.search-overlay-content {
  position: relative;
  z-index: 1;
  width: 90%;
  max-width: 620px;
  background: #fff;
  border-radius: var(--radius-xl);
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.25);
  overflow: hidden;
  transform: translateY(-20px) scale(0.97);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
#search-overlay.active .search-overlay-content {
  transform: translateY(0) scale(1);
}
.search-overlay-header {
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--clr-sand-200);
}
.search-input-wrapper {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.search-input-wrapper > i {
  font-size: 1.3rem;
  color: var(--clr-primary-500);
  flex-shrink: 0;
}
.search-input-wrapper input {
  flex: 1;
  border: none;
  outline: none;
  font-size: 1.1rem;
  font-family: var(--ff-sans);
  color: var(--clr-dark);
  background: transparent;
}
.search-input-wrapper input::placeholder {
  color: var(--clr-muted);
  font-weight: 300;
}
.search-input-wrapper kbd {
  font-family: var(--ff-sans);
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--clr-muted);
  background: var(--clr-sand-100);
  border: 1px solid var(--clr-sand-200);
  border-radius: 4px;
  padding: 2px 8px;
  flex-shrink: 0;
}
.search-results {
  max-height: 400px;
  overflow-y: auto;
  padding: 0.5rem;
}
.search-result-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.85rem 1rem;
  border-radius: var(--radius-md);
  transition: all 0.2s ease;
  text-decoration: none;
  color: var(--clr-dark);
}
.search-result-item:hover {
  background: var(--clr-primary-50);
}
.search-result-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--clr-primary-50);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--clr-primary-500);
  font-size: 1.15rem;
  transition: all 0.2s ease;
}
.search-result-item:hover .search-result-icon {
  background: var(--clr-primary-500);
  color: #fff;
}
.search-result-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.search-result-title {
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--clr-dark);
}
.search-result-desc {
  font-size: 0.8rem;
  color: var(--clr-muted);
  font-weight: 300;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.search-result-arrow {
  color: var(--clr-sand-300);
  font-size: 1rem;
  flex-shrink: 0;
  transition: all 0.2s ease;
}
.search-result-item:hover .search-result-arrow {
  color: var(--clr-primary-500);
  transform: translateX(3px);
}
.search-no-results {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  padding: 3rem 1rem;
  color: var(--clr-muted);
}
.search-no-results i {
  font-size: 2rem;
  opacity: 0.4;
}
.search-no-results p {
  font-size: 0.95rem;
  font-weight: 400;
}

/* ---------- Scroll Reveal ---------- */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.reveal.active{opacity:1;transform:translateY(0)}

/* ---------- Responsive ---------- */
@media(max-width:1024px){
  .programs-grid{grid-template-columns:repeat(2,1fr)}
  .about-grid{grid-template-columns:1.2fr 1fr;gap:var(--space-8);align-items:center}
  .about-img{height:450px}
  .membership-card{grid-template-columns:1fr}
  .cta-inner{flex-direction:column;text-align:center;align-items:center}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
  .hero h1{font-size:var(--fs-5xl)}
}
@media(max-width:768px){
  .nav-links,.nav-actions .lang-selector,.nav-actions .nav-divider,.nav-actions .btn{display:none}
  .nav-actions a[href="#login"]{display:none}
  .mobile-toggle{display:flex}
  .hero{min-height:auto;padding-top:calc(var(--nav-h) + var(--space-12));padding-bottom:var(--space-16)}
  .hero h1{font-size:var(--fs-4xl)}
  .hero p{font-size:var(--fs-base)}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-6)}
  .programs-grid,.news-grid{grid-template-columns:1fr}
  .about-grid{grid-template-columns:1fr;gap:var(--space-8)}
  .about-img{height:auto;aspect-ratio:3/2}
  .section{padding:var(--space-16) 0}
  .section-title{font-size:var(--fs-3xl)}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:var(--space-4);text-align:center}
  .membership-card{grid-template-columns:1fr}
}
@media(max-width:480px){
  .hero h1{font-size:var(--fs-3xl)}
  .hero-cta{flex-direction:column}
  .hero-cta .btn{width:100%;justify-content:center}
}

/* ---------- Custom Header ---------- */
.custom-header {
    width: 100%;
    position: relative;
    z-index: 1000;
}
.header-top {
    background: var(--clr-primary-700);
    color: #fff;
    font-size: 13px;
    padding: 8px 0;
    border-bottom: 1px solid var(--clr-accent);
}
.top-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.top-contact {
    display: flex;
    gap: 24px;
    align-items: center;
}
.top-contact a, .top-contact span {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    text-decoration: none;
    font-family: var(--ff-sans);
    font-weight: 500;
}
.top-actions {
    display: flex;
    align-items: center;
    gap: 15px;
}
.top-social {
    display: flex;
    gap: 12px;
}
.top-social a {
    color: #fff;
    font-size: 18px;
    transition: var(--transition);
}
.top-social a:hover {
    opacity: 0.8;
}
.custom-lang {
    border: 1px solid rgba(255,255,255,0.4);
    border-radius: 4px;
    position: relative;
}
.custom-lang .lang-btn {
    color: #fff;
    padding: 4px 12px;
    font-size: 13px;
}
.custom-lang .lang-dropdown {
    position: absolute;
    right: 0;
    top: 100%;
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    color: #333;
    padding: 5px;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    min-width: 120px;
    z-index: 1001;
}
.custom-lang:hover .lang-dropdown {
    opacity: 1;
    visibility: visible;
}
.lang-dropdown a {
    display: block;
    padding: 8px 12px;
    color: #333;
    font-size: 13px;
    text-decoration: none;
}
.lang-dropdown a:hover {
    background: #f0f5f4;
    color: #0d5f6e;
}
.search-btn, .quick-access-btn {
    color: #fff;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 500;
}

.header-middle {
    background: var(--clr-primary-500);
    padding: 15px 0;
    border-bottom: 1px solid var(--clr-accent);
}
.middle-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.middle-logo {
    display: flex;
    align-items: center;
    flex: 1;
}
.logo-circle {
    display: flex;
    align-items: center;
    justify-content: center;
}
.middle-title {
    text-align: center;
    color: #fff;
    flex: 2;
}
.middle-title h1 {
    font-family: var(--ff-serif);
    font-size: 26px;
    font-weight: 600;
    margin-bottom: 5px;
    color: #fff;
    letter-spacing: 0.5px;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.2);
}
.middle-title .subtitle {
    font-family: 'Playfair Display', serif;
    font-style: italic;
    font-size: 24px;
    color: #fff;
    font-weight: 400;
}
.middle-map {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex: 1;
}

.header-bottom {
    background: #fff;
    border-bottom: 2px solid var(--clr-accent);
}
.bottom-inner {
    display: flex;
    justify-content: center;
    padding: 0;
}
.main-menu {
    display: flex;
    width: 100%;
}
.menu-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 12px 3px;
    color: var(--clr-primary-700);
    font-size: 11px;
    font-weight: 600;
    font-family: var(--ff-sans);
    border-right: 1px solid var(--clr-accent);
    transition: var(--transition);
    text-align: center;
    text-transform: uppercase;
    position: relative;
    cursor: pointer;
    text-decoration: none;
}
.menu-item:first-child {
    border-left: 1px solid var(--clr-accent);
}
.menu-item > i {
    font-size: 22px;
    margin-bottom: 5px;
    color: var(--clr-primary-500);
    transition: var(--transition);
}
.menu-item:hover {
    background: var(--clr-primary-50);
    color: var(--clr-primary-800);
}
.menu-item:hover > i {
    transform: translateY(-3px);
}
.member-session-label {
    display: block;
    margin-top: 4px;
    padding: 2px 7px;
    border-radius: 999px;
    background: rgba(212, 163, 70, 0.14);
    color: var(--clr-primary-700);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: none;
    letter-spacing: 0;
    white-space: nowrap;
}
.menu-item.member-session-active {
    background: var(--clr-primary-50);
}
.member-session-panel {
    margin: 0 0 1.25rem;
    padding: 1rem 1.2rem;
    border: 1px solid rgba(212, 163, 70, 0.55);
    border-radius: var(--radius-md);
    background: #fffaf0;
    color: var(--clr-primary-900);
    box-shadow: 0 8px 24px rgba(10, 33, 32, 0.08);
}
.member-session-panel strong {
    color: var(--clr-primary-900);
}
.member-session-panel button {
    border: 1px solid rgba(18, 64, 62, 0.18);
    background: #fff;
    color: var(--clr-primary-800);
    border-radius: 999px;
    padding: .45rem .85rem;
    cursor: pointer;
    font-weight: 700;
    white-space: nowrap;
}
.member-session-panel button:hover {
    background: var(--clr-primary-50);
    border-color: rgba(18, 64, 62, 0.35);
}

/* ---- Dropdown submenu ---- */
.menu-dropdown {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(8px);
    min-width: 210px;
    background: #fff;
    border: 1px solid var(--clr-sand-200);
    border-top: 3px solid var(--clr-accent);
    border-radius: 0 0 8px 8px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
    z-index: 200;
    padding: 6px 0;
}
.menu-item:hover > .menu-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}
.menu-dropdown a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    font-size: 13px;
    font-weight: 500;
    color: var(--clr-body);
    text-transform: none;
    transition: var(--transition);
    white-space: nowrap;
    text-decoration: none;
    position: relative;
    z-index: 2;
    pointer-events: auto;
}
.menu-dropdown a i {
    font-size: 16px;
    margin-bottom: 0;
    color: var(--clr-primary-400);
}
.menu-dropdown a:hover {
    background: var(--clr-primary-50);
    color: var(--clr-primary-700);
    padding-left: 22px;
}
.menu-dropdown a:hover i {
    color: var(--clr-primary-600);
    transform: none;
}

@media(max-width:1024px){
    .middle-title h1 { font-size: 20px; }
    .middle-title .subtitle { font-size: 18px; }
    .top-contact { gap: 10px; font-size: 12px; }
    .menu-item { font-size: 10px; padding: 10px 2px; }
    .menu-item > i { font-size: 18px; }
}
.mobile-lang-item { display: none; }
.mobile-menu-btn { display: none; }
@media(max-width:768px){
    /* Fix mobile menu stacking context blur and click block bug */
    .custom-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 10000 !important;
    }

    /* Sponsors page premium responsive grids */
    .sponsors-tier-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
    }
    .sponsors-logo-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0.75rem !important;
    }

    /* ---------- Global Mobile Spacing & Large Legible Typography ---------- */
    :root {
        --space-24: 2.25rem !important; /* Balanced dikey space */
        --space-20: 1.85rem !important;
        --space-16: 1.5rem !important;
        --space-12: 1.25rem !important;
        --space-10: 1rem !important;
        --space-8: 0.85rem !important;
        --space-6: 0.75rem !important;
        --space-5: 0.6rem !important;
        --space-4: 0.5rem !important;
        
        --fs-6xl: 2.5rem !important;
        --fs-5xl: 2.1rem !important;
        --fs-4xl: 1.65rem !important;
        --fs-3xl: 1.45rem !important;
        --fs-2xl: 1.25rem !important;
        --fs-xl: 1.15rem !important;
        --fs-lg: 1.05rem !important;
        --fs-base: 1rem !important; /* 16px highly readable base text! */
    }

    /* Lock body scroll when mobile menu is active */
    body.mobile-menu-locked {
        overflow: hidden !important;
    }

    /* ---------- Premium Compact Mobile Header ---------- */
    .header-top { 
        display: none !important; 
    }
    
    .header-middle {
        position: sticky !important;
        top: 0 !important;
        z-index: 1000 !important;
        box-shadow: var(--shadow-md) !important;
        padding: 6px 0 !important;
    }
    
    .middle-inner { 
        display: flex !important;
        flex-direction: row !important; 
        gap: 10px !important; 
        position: relative !important; 
        justify-content: flex-start !important; 
        align-items: center !important;
        padding: 2px 12px !important; 
        height: auto !important;
    }
    
    .middle-logo {
        flex: 0 0 auto !important;
        display: flex !important;
        align-items: center !important;
    }
    .middle-logo img { 
        height: 44px !important;
        width: auto !important;
        padding: 1px !important;
    }
    
    /* Elegant dynamic logo branding next to the seal */
    .middle-title h1,
    .middle-title .subtitle { 
        display: none !important; 
    }
    .middle-title {
        flex: 1 1 auto !important;
        text-align: left !important;
        padding-right: 42px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        margin: 0 !important;
    }
    .middle-title::before {
        content: 'HOLISTIC LIBRARIANSHIP' !important;
        font-family: var(--ff-sans) !important;
        font-size: 7.5px !important;
        font-weight: 600 !important;
        color: var(--clr-accent) !important;
        letter-spacing: 0.5px !important;
        line-height: 1 !important;
        margin-bottom: 2px !important;
        display: block !important;
    }
    .middle-title::after {
        content: 'IAHLB' !important;
        font-family: var(--ff-serif) !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        color: #fff !important;
        letter-spacing: 0.5px !important;
        line-height: 1 !important;
        display: block !important;
    }
    
    .middle-map { 
        display: none !important; 
    }
    
    /* Compact Drawer Menu */
    .header-bottom { 
        display: block !important; 
        width: 80% !important; 
        max-width: 280px !important;
        position: fixed !important; 
        top: 0 !important; 
        right: -100% !important; 
        height: 100vh !important;
        background: linear-gradient(135deg, var(--clr-primary-800) 0%, var(--clr-primary-900) 100%) !important; 
        box-shadow: -5px 0 25px rgba(10, 28, 53, 0.4) !important;
        z-index: 9999 !important; 
        overflow-y: auto !important;
        padding: 70px 15px 30px !important;
        transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
        border-bottom: none !important;
    }
    .header-bottom.active { 
        right: 0 !important; 
    }

    .mobile-menu-overlay {
        position: fixed !important;
        inset: 0 !important;
        background: rgba(10, 28, 53, 0.4) !important;
        backdrop-filter: blur(4px) !important;
        -webkit-backdrop-filter: blur(4px) !important;
        z-index: 9998 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: opacity 0.4s ease, visibility 0.4s ease !important;
    }
    .mobile-menu-overlay.active {
        opacity: 1 !important;
        visibility: visible !important;
    }
    
    .mobile-menu-btn { 
        display: flex !important; 
        position: absolute !important; 
        right: 12px !important; 
        top: 50% !important; 
        transform: translateY(-50%) !important; 
        background: rgba(255, 255, 255, 0.1) !important; 
        border: 1px solid rgba(255, 255, 255, 0.2) !important; 
        border-radius: 50% !important;
        width: 36px !important;
        height: 36px !important;
        align-items: center !important; 
        justify-content: center !important; 
        font-size: 20px !important; 
        color: #fff !important; 
        cursor: pointer !important; 
        z-index: 10000 !important;
        transition: all 0.3s ease !important;
    }
    
    .main-menu { 
        flex-direction: column !important; 
        gap: 6px !important;
        padding: 0 !important; 
        margin: 0 !important; 
    }
    .menu-item { 
        flex: none !important; 
        width: 100% !important; 
        text-align: left !important; 
        padding: 10px 14px !important; 
        justify-content: flex-start !important; 
        gap: 12px !important;
        align-items: center !important;
        border-radius: var(--radius-md) !important;
        border: 1px solid rgba(255, 255, 255, 0.05) !important;
        background: rgba(255, 255, 255, 0.02) !important;
        color: rgba(255, 255, 255, 0.9) !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        letter-spacing: 0.5px !important;
        text-transform: uppercase !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        transition: all 0.3s ease !important;
    }
    .menu-item:first-child {
        border-left: 1px solid rgba(255, 255, 255, 0.05) !important;
    }
    .menu-item:hover, .menu-item.active {
        background: rgba(212, 163, 70, 0.12) !important;
        border-color: var(--clr-accent) !important;
        color: var(--clr-accent-light) !important;
    }
    .menu-item > i { 
        margin-right: 10px !important; 
        font-size: 16px !important; 
        color: var(--clr-accent) !important;
        margin-bottom: 0 !important;
    }
    .menu-item > span { 
        font-size: 12px !important; 
    }
    
    .submenu-chevron {
        font-size: 12px !important;
        color: rgba(255, 255, 255, 0.4) !important;
        margin-left: auto !important;
    }
    .menu-item.submenu-active .submenu-chevron {
        transform: rotate(180deg) !important;
        color: var(--clr-accent) !important;
    }
    
    .mobile-lang-item { 
        display: flex !important; 
        background: rgba(10, 33, 32, 0.4) !important; 
        border-color: rgba(212, 163, 70, 0.2) !important;
    }
    
    .menu-dropdown { 
        position: static !important;
        transform: none !important;
        min-width: 100% !important;
        width: 100% !important;
        flex: 0 0 100% !important;
        border: none !important;
        border-left: 2px solid var(--clr-accent) !important; 
        background: rgba(255, 255, 255, 0.04) !important;
        box-shadow: none !important;
        border-radius: var(--radius-sm) !important;
        display: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        transition: none !important;
    }
    .menu-item.submenu-active > .menu-dropdown { 
        display: flex !important; 
        flex-direction: column !important;
        height: auto !important;
        padding: 6px 0 6px 12px !important;
        margin-top: 10px !important;
    }
    .menu-dropdown a { 
        padding: 10px 16px !important; 
        font-size: 12px !important;
        color: rgba(255, 255, 255, 0.85) !important;
        font-weight: 500 !important;
        text-transform: none !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        transition: all 0.3s ease !important;
        white-space: normal !important;
    }
    .menu-dropdown a i {
        font-size: 14px !important;
        color: var(--clr-accent-light) !important;
    }
    .menu-dropdown a:hover {
        background: rgba(255, 255, 255, 0.04) !important;
        color: var(--clr-accent-light) !important;
        padding-left: 20px !important;
    }
    
    /* ---------- Premium Horizontal Scrolling News Grid ---------- */
    /* Renders cards side-by-side in a horizontal scroll, saving massive space while keeping cards spacious and legible! */
    .news-grid, #home-news-grid {
        display: flex !important;
        flex-direction: row !important;
        overflow-x: auto !important;
        scroll-snap-type: x mandatory !important;
        gap: 1.25rem !important;
        padding: 5px 2px 15px !important;
        scrollbar-width: none !important; /* Hide scrollbar for Firefox */
        -webkit-overflow-scrolling: touch !important;
    }
    .news-grid::-webkit-scrollbar, #home-news-grid::-webkit-scrollbar {
        display: none !important; /* Hide scrollbar for Chrome/Safari */
    }
    .news-img-card {
        flex: 0 0 80% !important; /* 80% screen width displays cards side-by-side cleanly! */
        scroll-snap-align: start !important;
        text-decoration: none !important;
    }
    .news-img-card > div {
        height: 250px !important; /* Highly spacious card */
        padding: 1.5rem !important;
        border-radius: var(--radius-xl) !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-end !important;
    }
    .news-img-card h3 {
        font-size: 1.05rem !important; /* Large, legible card titles */
        line-height: 1.45 !important;
        margin-bottom: 1.25rem !important;
        color: #fff !important;
        font-weight: 700 !important;
    }
    .news-img-card span {
        font-size: 0.8rem !important;
        padding: 0.35rem 1rem !important;
    }

    /* ---------- Hero Banner Layout Compression ---------- */
    .hero {
        min-height: auto !important;
        height: 240px !important; /* Compact banner height */
        padding: 0 !important;
    }
    .hero-slide {
        height: 100% !important;
    }
    .hero-slide .hero-bg img {
        height: 100% !important;
        object-fit: cover !important;
    }
    .hero-slide div[style*="position: absolute"],
    .hero-subtitle-container {
        top: 6% !important;
        right: 8% !important;
        left: auto !important;
        transform: none !important;
        text-align: right !important;
        width: auto !important;
        position: absolute !important;
        z-index: 10 !important;
    }
    .hero-slide h1[data-i18n="header.subtitle"],
    .hero-subtitle-container h1,
    .hero-slide h1 {
        font-size: 0.82rem !important; /* Elegant compact size for corner fit */
        white-space: nowrap !important;
        line-height: 1.2 !important;
        text-shadow: 1px 1px 4px rgba(10, 33, 32, 0.95), 0 0 8px rgba(10, 33, 32, 0.6) !important;
        margin: 0 !important;
        display: inline-block !important;
    }
    .hero-slider-arrow {
        display: flex !important;
        width: 32px !important;
        height: 32px !important;
        font-size: 1.1rem !important;
        border-width: 1px !important;
        box-shadow: 0 2px 8px rgba(10,33,32,0.3) !important;
    }
    .hero-prev {
        left: 8px !important;
    }
    .hero-next {
        right: 8px !important;
    }

    /* ---------- About Section Beautiful Vertical Stack ---------- */
    /* Stacks vertically on mobile so the gorgeous photo displays large and full-width, eliminating empty margins! */
    .about-grid {
        display: flex !important;
        flex-direction: column !important; /* Clean vertical stack */
        gap: 1.5rem !important;
        align-items: stretch !important;
    }
    .about-img {
        width: 100% !important;
        height: 240px !important; /* Large, premium banner image */
        aspect-ratio: auto !important;
        border-radius: var(--radius-xl) !important;
        margin-bottom: 0.5rem !important;
        box-shadow: var(--shadow-md) !important;
    }
    .about-grid h2 {
        font-size: var(--fs-4xl) !important; /* Large readable title */
        margin-bottom: var(--space-4) !important;
        text-align: center !important;
    }
    .about-grid p.section-desc {
        font-size: 0.95rem !important; /* Highly legible paragraph size */
        line-height: 1.65 !important;
        color: var(--clr-body) !important;
        text-align: justify !important;
    }
    .values-list {
        display: flex !important;
        flex-direction: column !important;
        gap: 1rem !important;
        margin-top: var(--space-6) !important;
    }
    .value-item {
        display: flex !important;
        gap: 1rem !important;
        align-items: flex-start !important;
    }
    .value-icon {
        flex-shrink: 0 !important;
        width: 40px !important;
        height: 40px !important;
        border-radius: var(--radius-md) !important;
        background: var(--clr-primary-50) !important;
        color: var(--clr-primary-500) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    .value-icon i {
        font-size: 1.2rem !important;
    }
    .value-item h5 {
        font-size: 1rem !important;
        font-weight: 600 !important;
        margin-bottom: 0.25rem !important;
    }
    .value-item p {
        font-size: 0.875rem !important;
        line-height: 1.5 !important;
        color: var(--clr-muted) !important;
    }

    /* ---------- Vision & Mission Beautiful Vertical Stack ---------- */
    /* Stacks vertically on mobile so cards get full horizontal width, reducing text lines and looking incredibly neat! */
    .vision-mission-grid {
        display: flex !important;
        flex-direction: column !important; /* Elegant vertical stack */
        gap: 1.5rem !important;
    }
    .vision-mission-grid > div {
        height: auto !important;
        width: 100% !important;
    }
    .vision-mission-grid > div > div {
        padding: 1.5rem !important; /* Spacious, comfortable padding */
        height: auto !important;
        display: flex !important;
        flex-direction: column !important;
        border-radius: var(--radius-xl) !important;
    }
    .vision-mission-grid h3 {
        font-size: 1.2rem !important;
        margin-bottom: 0.75rem !important;
    }
    .vision-mission-grid p {
        font-size: 0.95rem !important; /* Highly legible */
        line-height: 1.6 !important;
    }
    .vision-mission-grid ul {
        font-size: 0.875rem !important;
        line-height: 1.5 !important;
        margin-top: 0.5rem !important;
    }
    .vision-mission-grid li {
        margin-bottom: 0.5rem !important;
        gap: 0.5rem !important;
        align-items: flex-start !important;
    }
    .vision-mission-grid li i {
        font-size: 1.1rem !important;
        margin-top: 2px !important;
    }

    /* ---------- Spacings & Margins Adjustments ---------- */
    .section {
        padding: 2.5rem 0 !important;
    }
    /* Intro Container Box */
    .section div[style*="padding: 2.5rem 3rem"],
    .section div[style*="padding:2.5rem 3rem"] {
        padding: 2rem 1.75rem !important;
        border-radius: var(--radius-xl) !important;
    }
    .section div[style*="padding: 2.5rem 3rem"] p,
    .section div[style*="padding:2.5rem 3rem"] p {
        font-size: 0.95rem !important; /* Large, highly readable text */
        line-height: 1.8 !important;
    }
    .section div[style*="padding: 2.5rem 3rem"] strong,
    .section div[style*="padding:2.5rem 3rem"] strong {
        font-size: 1.2rem !important;
        margin-bottom: 1rem !important;
    }

    /* ---------- About Tabs ---------- */
    #about-tabs {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0.35rem !important;
    }
    .about-tab {
        padding: 0.5rem 1rem !important;
        font-size: 0.85rem !important;
    }
    .about-tab-content {
        padding: 1.25rem !important;
    }

    /* ---------- Membership Layout ---------- */
    .membership-card {
        grid-template-columns: 1fr !important;
    }
    .membership-info, .membership-form-container {
        padding: 1.25rem !important;
    }
    .form-group-row {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    /* ---------- Global Grid Layout Normalizer & Banners ---------- */
    /* Dynamically captures and normalizes ANY inline-styled 2-column or 3-column grids across all 20+ pages. */
    /* Forces them to stack vertically, places images at the top using :has() while keeping numbered lists in sequence! */
    div[style*="grid-template-columns:1fr 1fr"],
    div[style*="grid-template-columns: 1fr 1fr"],
    div[style*="grid-template-columns: 1fr  1fr"],
    div[style*="grid-template-columns:2fr 1fr"],
    div[style*="grid-template-columns: 2fr 1fr"],
    div[style*="grid-template-columns:1fr 2fr"],
    div[style*="grid-template-columns: 1fr 2fr"],
    div[style*="grid-template-columns:repeat(3,1fr)"],
    div[style*="grid-template-columns:repeat(3, 1fr)"],
    div[style*="grid-template-columns: repeat(3, 1fr)"],
    div[style*="grid-template-columns: repeat(3,1fr)"],
    div[style*="grid-template-columns:repeat(2,1fr)"],
    div[style*="grid-template-columns:repeat(2, 1fr)"],
    div[style*="grid-template-columns: repeat(2, 1fr)"],
    div[style*="grid-template-columns: repeat(2,1fr)"] {
        display: flex !important;
        flex-direction: column !important;
        gap: 1.5rem !important;
    }
    div[style*="grid-template-columns:"] > div {
        width: 100% !important;
    }
    /* Moves the last child to the top ONLY if it is an image column (like split layouts), preserving 1-2-3 list orders! */
    div[style*="grid-template-columns:"] > div:last-child:has(img),
    div[style*="grid-template-columns:"] > div:last-child:has([style*="background-image"]) {
        order: -1 !important;
        margin-bottom: 0.5rem !important;
    }
    /* Center headings inside collapsed sections for elegant alignment */
    div[style*="grid-template-columns:"] h2.section-title,
    div[style*="grid-template-columns:"] h2 {
        text-align: center !important;
    }
    /* Style any child images inside these collapsed grids into premium widescreen banners */
    div[style*="grid-template-columns:"] div[style*="border-radius:var(--radius-xl)"] img,
    div[style*="grid-template-columns:"] img {
        width: 100% !important;
        height: 240px !important;
        object-fit: cover !important;
        border-radius: var(--radius-xl) !important;
    }

    /* Contact page mobile layout and gap override */
    .contact-grid,
    div[style*="gap:4rem"],
    div[style*="gap: 4rem"] {
        display: flex !important;
        flex-direction: column !important;
        gap: 1.5rem !important;
    }
}

/* MEMBERSHIP CARD STYLES */
.membership-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    background: #fff;
    border-radius: var(--br-lg);
    box-shadow: var(--shadow-xl);
    overflow: hidden;
}

@media (max-width: 991px) {
    .membership-card {
        grid-template-columns: 1fr;
    }
}

.membership-info {
    background: linear-gradient(135deg, var(--clr-primary-700), var(--clr-primary-900));
    color: #fff;
    padding: 3rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.membership-info h3 {
    color: #fff;
    font-size: 2rem;
    margin-bottom: 1rem;
    font-family: var(--font-heading);
}

.membership-info p {
    color: rgba(255,255,255,0.8);
    margin-bottom: 2rem;
}

.benefit-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.benefit-list li {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.benefit-icon {
    width: 48px;
    height: 48px;
    background: rgba(255,255,255,0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: var(--clr-accent);
    flex-shrink: 0;
}

.benefit-list h5 {
    color: #fff;
    font-size: 1.1rem;
    margin-bottom: 0.25rem;
}

.benefit-list p {
    margin-bottom: 0;
    font-size: 0.9rem;
    color: rgba(255,255,255,0.7);
}

.membership-form-container {
    padding: 3rem;
    background: var(--clr-sand-50);
}

.form-tabs {
    display: flex;
    margin-bottom: 2rem;
    border-bottom: 1px solid var(--clr-neutral-200);
}

.form-tab {
    padding: 1rem 1.5rem;
    background: none;
    border: none;
    font-weight: 600;
    color: var(--clr-neutral-500);
    cursor: pointer;
    position: relative;
    transition: color 0.3s;
}

.form-tab:hover {
    color: var(--clr-primary-500);
}

.form-tab.active {
    color: var(--clr-primary-700);
}

.form-tab.active::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--clr-primary-600);
}

.form-group-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
}

@media (max-width: 576px) {
    .form-group-row {
        grid-template-columns: 1fr;
        gap: 0;
    }
}

.form-group {
    margin-bottom: 1.5rem;
}

.form-group label {
    display: block;
    font-weight: 500;
    margin-bottom: 0.5rem;
    color: var(--clr-neutral-700);
    font-size: 0.9rem;
}

.form-control {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid var(--clr-neutral-300);
    border-radius: var(--br-sm);
    font-family: var(--font-body);
    font-size: 1rem;
    transition: border-color 0.3s, box-shadow 0.3s;
}

.form-control:focus {
    outline: none;
    border-color: var(--clr-primary-400);
    box-shadow: 0 0 0 3px rgba(75, 123, 107, 0.1);
}

.form-submit {
    width: 100%;
    padding: 1rem;
    background: var(--clr-accent);
    color: #fff;
    border: none;
    border-radius: var(--br-sm);
    font-weight: 600;
    font-size: 1.1rem;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.2s;
    margin-top: 1rem;
}

.form-submit:hover {
    background: #b39b5e;
    transform: translateY(-2px);
}

.form-note {
    text-align: center;
    font-size: 0.8rem;
    color: var(--clr-neutral-500);
    margin-top: 1rem;
}

/* ---------- News Slider ---------- */
.news-slider-outer {
    max-width: 1000px;
    margin: 0 auto;
    border: 3px solid var(--clr-accent);
    padding: 5px;
    background: #e9eeea;
    box-shadow: var(--shadow-lg);
    border-radius: var(--radius-2xl);
    position: relative;
}

.slider-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 21 / 9;
    overflow: hidden;
    border: 1px solid var(--clr-primary-200);
    border-radius: var(--radius-xl);
}

@media (max-width: 768px) {
    .slider-wrapper {
        aspect-ratio: 16 / 9;
    }
}

.slider-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.8s ease-in-out;
    display: flex;
    flex-direction: column;
}

.slider-slide.active {
    opacity: 1;
    z-index: 1;
}

.slide-img {
    flex-grow: 1;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #fff;
}

.slider-caption {
    background: var(--clr-primary-600);
    color: #fff;
    text-align: center;
    padding: 12px 15px;
    font-size: 1.1rem;
    font-weight: 500;
    font-family: var(--ff-sans);
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.slider-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    padding: 12px 0 8px;
}

.slider-pagination .dot {
    width: 35px;
    height: 12px;
    background-color: var(--clr-primary-200);
    cursor: pointer;
    transition: background-color 0.3s;
    border-radius: var(--br-sm);
}

.slider-pagination .dot:hover {
    background-color: var(--clr-primary-400);
}

.slider-pagination .dot.active {
    background-color: var(--clr-primary-700);
}

.slider-slide {
    text-decoration: none;
    cursor: pointer;
}

.slider-arrow {
    position: absolute;
    top: 55%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    background: rgba(255,255,255,0.75);
    border: none;
    border-radius: 50%;
    color: var(--clr-primary-700);
    font-size: 0.9rem;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
    box-shadow: 0 1px 6px rgba(0,0,0,0.12);
}

.slider-arrow:hover {
    background: #fff;
    color: var(--clr-primary-500);
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 2px 10px rgba(0,0,0,0.18);
}

.slider-prev {
    left: 10px;
}

.slider-next {
    right: 10px;
}
.news-img-card:hover > div {
    transform: translateY(-5px);
    box-shadow: var(--shadow-xl) !important;
}
.news-img-card:hover span {
    background: #fff;
    color: var(--clr-primary-700) !important;
}

/* ---------- Vision & Mission Grid ---------- */
.vision-mission-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}

.column-title {
  font-size: 2.25rem;
  font-weight: 600;
  font-family: var(--ff-serif);
  color: var(--clr-primary-900);
  margin: 0;
  text-align: center;
}

@media(max-width: 768px) {
  .vision-mission-grid {
    grid-template-columns: 1fr;
  }
  .column-title {
    font-size: 1.8rem;
  }
}

/* ---------- Hero Slider ---------- */
.hero-slider-section {
    position: relative;
    overflow: hidden;
}
.hero-slider {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}
.hero-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 1.2s ease-in-out;
    z-index: 1;
}
.hero-slide.active {
    opacity: 1;
    z-index: 2;
}
.hero-slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    background: var(--clr-primary-700); /* Deep Brand Teal */
    border: 2px solid var(--clr-accent); /* Brand Gold Accent */
    border-radius: 50%;
    color: var(--clr-accent); /* Brand Gold Icon */
    font-size: 1.5rem;
    cursor: pointer;
    z-index: 15;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 15px rgba(10,33,32,0.45);
}
.hero-slider-arrow:hover {
    background: var(--clr-accent); /* Brand Gold Hover Background */
    border-color: var(--clr-primary-500);
    color: #fff; /* White Icon on Hover */
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 6px 20px rgba(212,163,70,0.45);
}
.hero-prev {
    left: 20px;
}
.hero-next {
    right: 20px;
}

/* Make overlay slightly dark to pop the text overlay */
.hero-slide .hero-bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(10,33,32,0.45) 0%, rgba(10,33,32,0.25) 50%, rgba(10,33,32,0.35) 100%);
    z-index: 1;
}

/* YouTube iframes: remove overlay (it blocks playback) and ensure full size */
.hero-bg-youtube {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.hero-bg-youtube::after {
    display: none !important;
}

/* ---------- RTL Library Page Hero Alignment ---------- */
html[dir="rtl"] .header-top,
html[dir="rtl"] .header-top .top-inner,
html[dir="rtl"] .header-top .top-contact,
html[dir="rtl"] .header-top .top-actions,
html[dir="rtl"] .header-top .top-social,
html[dir="rtl"] .header-top .custom-lang {
    direction: ltr;
}

html[dir="rtl"] .header-top {
    text-align: left;
}

html[dir="rtl"] .hero-library-text-block {
    margin-right: auto !important;
    margin-left: 0 !important;
    text-align: right !important;
}

/* ---------- Premium Shimmer & Fade Transitions ---------- */
@keyframes heroShimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}
@keyframes heroFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* ---------- Healing Library Book Cards ---------- */
.book-card {
    background: #fff;
    border-radius: 10px;
    border: 1.5px solid #eaeaea;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 1;
    cursor: pointer;
    transition: border-color var(--transition), box-shadow var(--transition), background-color var(--transition);
    transform: translate3d(0, 0, 0);
    will-change: border-color, box-shadow, background-color;
}

/* Make sure child elements don't steal or interrupt hover pointer events */
.book-card * {
    pointer-events: none;
}

/* Pure CSS Hover - Extremely fast, hardware-accelerated, zero layout shift, beautiful stable green glow */
.book-card:hover {
    border-color: var(--clr-primary-500) !important;
    box-shadow: 0 0 0 2px rgba(27, 94, 91, 0.6), 0 10px 25px rgba(27, 94, 91, 0.3) !important;
    background-color: #fafdfc !important;
}

/* ---------- Çalışma Komisyonları Submenu Styles ---------- */
.menu-sub-item {
    position: relative;
    width: 100%;
    z-index: 1;
}
.menu-dropdown .menu-sub-dropdown {
    display: none !important;
    flex-direction: column !important;
    background: #f0f5f3 !important;
    border-left: 3px solid var(--clr-accent) !important;
    border-right: none !important;
    border-top: none !important;
    border-bottom: none !important;
    padding: 6px 0 !important;
    margin: 6px 0 6px 28px !important;
    border-radius: 0 6px 6px 0 !important;
    box-shadow: inset 0 2px 6px rgba(0,0,0,0.06) !important;
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    min-width: auto !important;
    pointer-events: auto !important;
}
.menu-sub-item.active > .menu-sub-dropdown {
    display: flex !important;
}
/* Desktop: open sub-dropdown on hover as well */
@media (min-width: 1025px) {
    .menu-sub-item {
        position: relative !important;
    }
    .menu-sub-item:hover > .menu-sub-dropdown {
        display: flex !important;
    }
    .menu-sub-item:hover .caret-icon {
        transform: rotate(0deg) !important;
    }
    .menu-dropdown .menu-sub-dropdown {
        position: absolute !important;
        left: 100% !important;
        top: 0 !important;
        margin: 0 !important;
        padding: 6px 0 !important;
        background: #fff !important;
        border: 1px solid var(--clr-sand-200) !important;
        border-left: 1px solid var(--clr-sand-200) !important;
        border-right: 1px solid var(--clr-sand-200) !important;
        border-bottom: 1px solid var(--clr-sand-200) !important;
        border-top: 3px solid var(--clr-accent) !important;
        border-radius: 0 8px 8px 8px !important;
        box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
        min-width: 220px !important;
        z-index: 300 !important;
    }
    /* Invisible hover bridge to facilitate diagonal mouse movement */
    .menu-dropdown .menu-sub-dropdown::before {
        content: '' !important;
        position: absolute !important;
        left: -15px !important;
        top: 0 !important;
        bottom: 0 !important;
        width: 15px !important;
        background: transparent !important;
        z-index: -1 !important;
    }
    .menu-dropdown .menu-sub-dropdown a {
        background: transparent !important;
        border-left: none !important;
        padding: 10px 18px !important;
        color: var(--clr-body) !important;
        font-size: 13px !important;
    }
    .menu-dropdown .menu-sub-dropdown a:hover {
        background: var(--clr-primary-50) !important;
        color: var(--clr-primary-700) !important;
        padding-left: 22px !important;
    }
}
.menu-sub-item .menu-sub-trigger {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    padding: 10px 18px;
    font-size: 13px;
    font-weight: 500;
    color: var(--clr-body);
    transition: var(--transition);
    white-space: nowrap;
    text-decoration: none;
    cursor: pointer;
    background: none;
    border: none;
    width: 100%;
    text-align: left;
}
.menu-sub-item .menu-sub-trigger:hover {
    background: var(--clr-primary-50);
    color: var(--clr-primary-700);
    padding-left: 22px;
}
.menu-sub-item .menu-sub-trigger i:first-child {
    font-size: 16px;
    color: var(--clr-primary-400);
}
.menu-sub-item .menu-sub-trigger:hover i:first-child {
    color: var(--clr-primary-600);
}
.menu-sub-item .caret-icon {
    font-size: 12px;
    color: var(--clr-primary-400);
    transition: transform 0.2s ease;
    margin-left: auto;
}
.menu-dropdown .menu-sub-dropdown a {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 7px 14px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: var(--clr-primary-700) !important;
    transition: var(--transition) !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    background: transparent !important;
    position: relative !important;
    z-index: 3 !important;
    pointer-events: auto !important;
}
.menu-dropdown .menu-sub-dropdown a i {
    font-size: 14px !important;
    color: var(--clr-primary-400) !important;
}
.menu-dropdown .menu-sub-dropdown a:hover {
    background: var(--clr-primary-100) !important;
    color: var(--clr-primary-900) !important;
    padding-left: 18px !important;
}
.menu-dropdown .menu-sub-dropdown a:hover i {
    color: var(--clr-primary-600) !important;
}

@media(max-width:1024px){
    .menu-sub-dropdown {
        position: static !important;
        transform: none !important;
        min-width: 100% !important;
        width: 100% !important;
        border: none !important;
        border-left: 2px solid var(--clr-accent) !important;
        background: rgba(255, 255, 255, 0.04) !important;
        box-shadow: none !important;
        border-radius: var(--radius-sm) !important;
        display: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        padding: 6px 0 6px 12px !important;
    }
    .menu-sub-item.active > .menu-sub-dropdown {
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
    }
    .menu-sub-item .menu-sub-trigger {
        padding: 10px 16px !important;
        font-size: 12px !important;
        color: rgba(255, 255, 255, 0.85) !important;
        background: none !important;
        white-space: normal !important;
    }
    .menu-sub-item .menu-sub-trigger i:first-child {
        font-size: 14px !important;
        color: var(--clr-accent-light) !important;
    }
    .menu-sub-dropdown a {
        padding: 10px 16px !important;
        font-size: 11px !important;
        color: rgba(255, 255, 255, 0.75) !important;
        white-space: normal !important;
    }
    .menu-sub-dropdown a i {
        font-size: 13px !important;
        color: var(--clr-accent-light) !important;
    }
}
@media (max-width: 900px) {
    .audience-image-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 560px) {
    .audience-image-grid {
        grid-template-columns: 1fr !important;
    }
}
