/* ============================================================
   ALBRAND CONSULTANCY — Shared Stylesheet  |  style.css
   ============================================================ */

:root {
  --blue-deep:  #001f3d;
  --blue-navy:  #003060;
  --blue-mid:   #00437f;
  --blue-brand: #00437f;
  --blue-pale:  #cce0f0;
  --blue-tint:  #e6f0f9;
  --white:      #ffffff;
  --grey-50:    #f8f9fa;
  --grey-100:   #f1f3f6;
  --grey-200:   #e8eaef;
  --grey-300:   #d1d5db;
  --grey-500:   #6b7280;
  --grey-700:   #374151;
  --grey-900:   #111827;
  --gold:       #f7941e;
  --accent:     #d4de23;
  --tr:         all 0.35s cubic-bezier(0.4,0,0.2,1);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:16px; }
body { font-family:'Manrope',sans-serif; color:var(--grey-900); background:var(--white); overflow-x:hidden; -webkit-font-smoothing:antialiased; }
.container { max-width:1200px; margin:0 auto; padding:0 40px; }
@media(max-width:768px){ .container{ padding:0 24px; } }
section { scroll-margin-top:80px; }

/* ── Typography helpers ── */
.tag-label { display:inline-block; font-size:0.7rem; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--blue-brand); margin-bottom:16px; }
.section-headline { font-family:'Cormorant Garamond',serif; font-size:clamp(2.2rem,4vw,3.4rem); font-weight:300; line-height:1.18; color:var(--blue-deep); margin-bottom:20px; letter-spacing:-0.01em; }
.section-sub { font-size:0.97rem; line-height:1.75; color:var(--grey-500); font-weight:300; }
.section-header { max-width:600px; margin-bottom:72px; }

/* ── Buttons ── */
.btn { display:inline-flex; align-items:center; gap:8px; padding:14px 32px; font-family:'Manrope',sans-serif; font-size:0.82rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; text-decoration:none; border-radius:2px; cursor:pointer; border:none; transition:var(--tr); }
.btn-primary { background:var(--blue-brand); color:var(--white); }
.btn-primary:hover { background:var(--blue-navy); transform:translateY(-1px); box-shadow:0 8px 24px rgba(0,67,127,0.35); }
.btn-outline { background:transparent; color:var(--white); border:1px solid rgba(255,255,255,0.5); }
.btn-outline:hover { background:rgba(255,255,255,0.1); border-color:var(--white); }
.btn-outline-dark { background:transparent; color:var(--blue-brand); border:1.5px solid var(--blue-brand); }
.btn-outline-dark:hover { background:var(--blue-brand); color:var(--white); transform:translateY(-1px); }
.btn-white { background:var(--white); color:var(--blue-brand); font-family:'Manrope',sans-serif; font-size:0.82rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; }
.btn-white:hover { background:var(--grey-100); transform:translateY(-1px); box-shadow:0 8px 24px rgba(0,0,0,0.2); }

/* ── Fade-in ── */
.fade-in { opacity:0; transform:translateY(28px); transition:opacity 0.75s ease, transform 0.75s ease; }
.fade-in.visible { opacity:1; transform:translateY(0); }
.fade-in-delay-1 { transition-delay:0.1s; }
.fade-in-delay-2 { transition-delay:0.2s; }
.fade-in-delay-3 { transition-delay:0.3s; }
.fade-in-delay-4 { transition-delay:0.4s; }
.fade-in-delay-5 { transition-delay:0.5s; }

/* ============================================================  HEADER  */
#header { position:fixed; top:0; left:0; right:0; z-index:1000; transition:background 0.45s ease, box-shadow 0.45s ease; }
#header.transparent { background:transparent; }
#header.scrolled,#header.solid { background:rgba(255,255,255,0.97); backdrop-filter:blur(14px); box-shadow:0 1px 0 var(--grey-200); }
.header-inner { display:flex; align-items:center; justify-content:space-between; height:80px; transition:height 0.4s ease; }
#header.scrolled .header-inner,#header.solid .header-inner { height:68px; }
.logo-wrap { display:flex; align-items:center; text-decoration:none; position:relative; height:61px; }
.logo-wrap .logo-light,.logo-wrap .logo-dark { height:61px; width:auto; object-fit:contain; position:absolute; top:0; left:0; transition:opacity 0.45s ease; }
.logo-wrap .logo-dark { opacity:0; }
.logo-wrap .logo-light { opacity:1; }
#header.scrolled .logo-wrap .logo-light,#header.solid .logo-wrap .logo-light { opacity:0; }
#header.scrolled .logo-wrap .logo-dark,#header.solid .logo-wrap .logo-dark { opacity:1; }
.logo-fallback { font-family:'Cormorant Garamond',serif; font-size:1.45rem; font-weight:500; letter-spacing:0.04em; display:none; transition:color 0.45s ease; color:var(--white); }
#header.scrolled .logo-fallback,#header.solid .logo-fallback { color:var(--blue-deep); }
nav { display:flex; align-items:center; gap:36px; }
nav a { font-size:0.78rem; font-weight:600; letter-spacing:0.10em; text-transform:uppercase; text-decoration:none; color:rgba(255,255,255,0.88); position:relative; transition:color 0.3s ease; }
nav a::after { content:''; position:absolute; bottom:-3px; left:0; width:0; height:1px; background:var(--gold); transition:width 0.3s ease; }
nav a:hover::after,nav a.active::after { width:100%; }
nav a:hover { color:var(--white); }
#header.scrolled nav a,#header.solid nav a { color:var(--grey-700); }
#header.scrolled nav a:hover,#header.solid nav a:hover { color:var(--blue-brand); }
#header.scrolled nav a::after,#header.solid nav a::after { background:var(--blue-brand); }
.nav-cta { padding:10px 24px !important; background:var(--blue-brand); color:var(--white) !important; border-radius:2px; }
.nav-cta:hover { background:var(--blue-mid) !important; }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; background:none; border:none; }
.hamburger span { display:block; width:24px; height:1.5px; background:var(--white); transition:var(--tr); }
#header.scrolled .hamburger span,#header.solid .hamburger span { background:var(--blue-deep); }
.hamburger.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }
.mobile-nav { display:none; position:fixed; inset:0; background:var(--blue-deep); z-index:999; flex-direction:column; align-items:center; justify-content:center; gap:40px; opacity:0; transition:opacity 0.3s ease; }
.mobile-nav.open { display:flex; opacity:1; }
.mobile-nav a { font-family:'Cormorant Garamond',serif; font-size:2.4rem; font-weight:300; color:var(--white); text-decoration:none; letter-spacing:0.04em; transition:color 0.3s; }
.mobile-nav a:hover { color:var(--gold); }
.mobile-nav-close { position:absolute; top:28px; right:28px; background:none; border:none; color:var(--white); font-size:2rem; cursor:pointer; font-family:'Cormorant Garamond',serif; font-weight:300; }
@media(max-width:900px){ nav{ display:none; } .hamburger{ display:flex; } }

/* ============================================================  PAGE HERO BANNER (inner pages)  */
.page-hero { position:relative; padding:180px 0 100px; overflow:hidden; background:linear-gradient(110deg,var(--blue-deep) 0%,var(--blue-navy) 60%,var(--blue-mid) 100%); }
.page-hero::before { content:''; position:absolute; inset:0; background:url('https://images.pexels.com/photos/3184291/pexels-photo-3184291.jpeg?auto=compress&cs=tinysrgb&w=1600&h=800&fit=crop') center/cover no-repeat; opacity:0.10; }
.page-hero-ring { position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,0.07); pointer-events:none; }
.page-hero-ring.r1 { width:420px; height:420px; top:-80px; right:-80px; }
.page-hero-ring.r2 { width:220px; height:220px; bottom:20px; left:8%; }
.page-hero-ring.r3 { width:100px; height:100px; top:40%; left:44%; }
.page-hero-content { position:relative; z-index:2; }
.page-hero-tag { display:inline-block; font-size:0.68rem; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); margin-bottom:20px; }
.page-hero-line { width:60px; height:2px; background:var(--gold); margin-bottom:28px; }
.page-hero h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(2.8rem,5vw,4.5rem); font-weight:300; line-height:1.1; color:var(--white); margin-bottom:24px; letter-spacing:-0.01em; }
.page-hero h1 em { font-style:italic; color:rgba(255,255,255,0.6); }
.page-hero p { font-size:1rem; font-weight:300; line-height:1.8; color:rgba(255,255,255,0.68); max-width:600px; }

/* ============================================================  HOMEPAGE HERO  */
#hero { position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden; cursor:none; }
.hero-bg { position:absolute; inset:-6%; background-image:url('https://images.pexels.com/photos/3184291/pexels-photo-3184291.jpeg?auto=compress&cs=tinysrgb&w=1920&h=1200&fit=crop'); background-size:cover; background-position:center; animation:heroZoom 18s ease-in-out infinite alternate; will-change:transform; }
@keyframes heroZoom { 0%{ transform:scale(1) translate(0,0); } 100%{ transform:scale(1.07) translate(-1%,-1%); } }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(110deg,rgba(6,14,32,0.90) 0%,rgba(10,22,55,0.78) 48%,rgba(8,18,42,0.60) 100%); pointer-events:none; }
.hero-overlay::after { content:''; position:absolute; inset:0; background:linear-gradient(to bottom,transparent 65%,rgba(6,14,32,0.55) 100%); }
.hero-shapes { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.geo { position:absolute; border-radius:50%; will-change:transform; }
.geo-1 { width:520px; height:520px; top:-80px; right:-60px; background:radial-gradient(circle,rgba(0,67,127,0.22) 0%,transparent 70%); animation:geoFloat1 14s ease-in-out infinite; }
.geo-2 { width:380px; height:380px; bottom:60px; left:-80px; background:radial-gradient(circle,rgba(247,148,30,0.12) 0%,transparent 70%); animation:geoFloat2 18s ease-in-out infinite; }
.geo-3 { width:240px; height:240px; top:38%; left:55%; background:radial-gradient(circle,rgba(212,222,35,0.13) 0%,transparent 70%); animation:geoFloat3 22s ease-in-out infinite; }
.geo-ring { position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,0.10); will-change:transform; }
.geo-ring-1 { width:280px; height:280px; top:15%; right:14%; animation:geoFloat2 16s ease-in-out infinite; }
.geo-ring-2 { width:160px; height:160px; bottom:22%; right:28%; animation:geoFloat1 20s ease-in-out infinite reverse; }
.geo-ring-3 { width:90px; height:90px; top:60%; left:12%; animation:geoFloat3 12s ease-in-out infinite; }
.geo-rect { position:absolute; will-change:transform; }
.geo-rect-1 { width:1px; height:160px; top:20%; left:44%; background:linear-gradient(to bottom,transparent,rgba(255,255,255,0.18),transparent); animation:geoFloat1 15s ease-in-out infinite; }
.geo-rect-2 { width:100px; height:1px; bottom:32%; right:20%; background:linear-gradient(to right,transparent,rgba(247,148,30,0.4),transparent); animation:geoFloat3 17s ease-in-out infinite; }
.geo-dot { position:absolute; border-radius:50%; will-change:transform; }
.geo-dot-1 { width:6px; height:6px; top:28%; right:22%; background:rgba(212,222,35,0.7); animation:geoFloat2 11s ease-in-out infinite; }
.geo-dot-2 { width:4px; height:4px; bottom:28%; left:30%; background:rgba(247,148,30,0.6); animation:geoFloat1 13s ease-in-out infinite; }
@keyframes geoFloat1 { 0%,100%{ transform:translateY(0) translateX(0); } 50%{ transform:translateY(-22px) translateX(10px); } }
@keyframes geoFloat2 { 0%,100%{ transform:translateY(0) translateX(0); } 50%{ transform:translateY(18px) translateX(-14px); } }
@keyframes geoFloat3 { 0%,100%{ transform:translateY(0) rotate(0deg); } 50%{ transform:translateY(-14px) rotate(8deg); } }
.hero-content { position:relative; z-index:3; max-width:760px; padding-top:100px; }
.hero-headline { font-family:'Cormorant Garamond',serif; font-size:clamp(3rem,6vw,5.2rem); font-weight:300; line-height:1.08; color:var(--white); margin-bottom:28px; opacity:0; animation:fadeUp 0.9s ease 0.4s forwards; letter-spacing:-0.01em; }
.hero-headline em { font-style:italic; color:rgba(255,255,255,0.65); }
.hero-sub { font-size:1.02rem; font-weight:300; line-height:1.75; color:rgba(255,255,255,0.70); margin-bottom:44px; max-width:580px; opacity:0; animation:fadeUp 0.9s ease 0.6s forwards; }
.hero-actions { display:flex; gap:16px; flex-wrap:wrap; opacity:0; animation:fadeUp 0.9s ease 0.8s forwards; }
.scroll-indicator { position:absolute; bottom:40px; left:50%; transform:translateX(-50%); z-index:3; display:flex; flex-direction:column; align-items:center; gap:8px; opacity:0; animation:fadeIn 1s ease 1.4s forwards; }
.scroll-indicator span { font-size:0.68rem; letter-spacing:0.18em; text-transform:uppercase; color:rgba(255,255,255,0.45); }
.scroll-line { width:1px; height:48px; background:linear-gradient(to bottom,rgba(255,255,255,0.5),transparent); animation:scrollPulse 2s ease infinite; }
.hero-cursor { position:fixed; width:12px; height:12px; border-radius:50%; background:rgba(255,255,255,0.8); pointer-events:none; z-index:9999; transform:translate(-50%,-50%); transition:transform 0.1s ease; mix-blend-mode:difference; display:none; }
.hero-cursor.active { display:block; }
.hero-cursor-ring { position:fixed; width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,0.4); pointer-events:none; z-index:9998; transform:translate(-50%,-50%); display:none; }
.hero-cursor-ring.active { display:block; }
@keyframes fadeUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }
@keyframes scrollPulse { 0%,100%{opacity:0.5} 50%{opacity:1} }

/* ============================================================  ABOUT  */
#about,.about-section { padding:120px 0; }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.about-content p { font-size:0.97rem; line-height:1.85; color:var(--grey-700); margin-bottom:20px; font-weight:300; }
.about-stats { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:48px; padding-top:40px; border-top:1px solid var(--grey-200); }
.stat-number { font-family:'Cormorant Garamond',serif; font-size:3rem; font-weight:300; color:var(--blue-brand); line-height:1; margin-bottom:6px; }
.stat-label { font-size:0.78rem; font-weight:600; letter-spacing:0.10em; text-transform:uppercase; color:var(--grey-500); }
.about-image-wrap { position:relative; }
.about-image-wrap::before { content:''; position:absolute; top:-20px; right:-20px; width:80%; height:80%; background:var(--blue-tint); border:1px solid var(--blue-pale); z-index:0; }
.about-image-wrap img { position:relative; z-index:1; width:100%; aspect-ratio:4/5; object-fit:cover; display:block; }
@media(max-width:900px){ .about-grid{grid-template-columns:1fr;gap:48px;} .about-image-wrap{order:-1;} .about-image-wrap::before{display:none;} }

/* ============================================================  SERVICES  */
#services,.services-section { padding:120px 0; background:var(--grey-50); position:relative; overflow:hidden; }
#services::before,.services-section::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(to right,transparent,var(--grey-300),transparent); }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--grey-200); }
.service-card { background:var(--white); padding:44px 36px; position:relative; overflow:hidden; transition:var(--tr); cursor:default; }
.service-card::after { content:''; position:absolute; bottom:0; left:0; width:0; height:3px; background:var(--blue-brand); transition:width 0.4s ease; }
.service-card:hover::after { width:100%; }
.service-card:hover { background:var(--blue-deep); }
.service-card:hover .service-number { color:rgba(255,255,255,0.18); }
.service-card:hover .service-title { color:var(--white); }
.service-card:hover .service-desc { color:rgba(255,255,255,0.62); }
.service-card:hover .service-arrow { color:var(--gold); opacity:1; }
.service-number { font-family:'Cormorant Garamond',serif; font-size:3.5rem; font-weight:300; color:var(--grey-200); line-height:1; margin-bottom:20px; transition:var(--tr); letter-spacing:-0.02em; }
.service-title { font-size:1.02rem; font-weight:600; color:var(--blue-deep); margin-bottom:14px; transition:var(--tr); }
.service-desc { font-size:0.87rem; line-height:1.7; color:var(--grey-500); font-weight:300; transition:var(--tr); }
.service-arrow { position:absolute; bottom:28px; right:28px; font-size:1.2rem; color:var(--blue-brand); opacity:0; transition:var(--tr); }
@media(max-width:900px){ .services-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:600px){ .services-grid{grid-template-columns:1fr;} }

/* Full services page cards */
.services-full-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2px; background:var(--grey-200); }
.service-card-full { background:var(--white); padding:52px 44px; position:relative; overflow:hidden; transition:var(--tr); border-left:3px solid transparent; }
.service-card-full:hover { border-left-color:var(--gold); box-shadow:0 8px 40px rgba(0,31,61,0.08); transform:translateX(4px); }
.service-card-full .service-number { font-family:'Cormorant Garamond',serif; font-size:3rem; font-weight:300; color:var(--grey-200); line-height:1; margin-bottom:16px; letter-spacing:-0.02em; }
.service-card-full .service-title { font-size:1.15rem; font-weight:600; color:var(--blue-deep); margin-bottom:16px; }
.service-card-full .service-desc { font-size:0.92rem; line-height:1.8; color:var(--grey-500); font-weight:300; margin-bottom:20px; }
.service-card-full .service-bullets { list-style:none; display:flex; flex-direction:column; gap:8px; }
.service-card-full .service-bullets li { font-size:0.85rem; color:var(--grey-700); font-weight:400; padding-left:18px; position:relative; }
.service-card-full .service-bullets li::before { content:'—'; position:absolute; left:0; color:var(--gold); font-weight:700; }
@media(max-width:768px){ .services-full-grid{grid-template-columns:1fr;} }

/* Process steps */
.process-section { padding:120px 0; background:var(--grey-50); }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative; margin-top:60px; }
.process-grid::before { content:''; position:absolute; top:36px; left:12.5%; right:12.5%; height:1px; background:var(--grey-200); z-index:0; }
.process-step { text-align:center; padding:0 24px; position:relative; z-index:1; }
.process-number { width:72px; height:72px; border-radius:50%; background:var(--white); border:1px solid var(--grey-200); display:flex; align-items:center; justify-content:center; margin:0 auto 24px; font-family:'Cormorant Garamond',serif; font-size:1.6rem; font-weight:300; color:var(--blue-brand); transition:var(--tr); }
.process-step:hover .process-number { background:var(--blue-brand); color:var(--white); border-color:var(--blue-brand); }
.process-step h4 { font-size:0.92rem; font-weight:600; color:var(--blue-deep); margin-bottom:10px; }
.process-step p { font-size:0.83rem; line-height:1.7; color:var(--grey-500); font-weight:300; }
@media(max-width:768px){ .process-grid{grid-template-columns:repeat(2,1fr);gap:40px;} .process-grid::before{display:none;} }
@media(max-width:480px){ .process-grid{grid-template-columns:1fr;} }

/* ============================================================  WHY US  */
#why-us,.why-us-section { padding:120px 0; }
.why-us-inner { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }
.why-us-image .img-stack { position:relative; }
.why-us-image .img-main { width:100%; aspect-ratio:3/4; object-fit:cover; display:block; }
.why-us-image .quote-block { position:absolute; bottom:-24px; right:-24px; width:72%; background:var(--blue-deep); padding:32px; z-index:2; }
.quote-block p { font-family:'Cormorant Garamond',serif; font-size:1.25rem; font-weight:300; font-style:italic; color:rgba(255,255,255,0.88); line-height:1.55; margin-bottom:16px; }
.quote-block cite { font-size:0.72rem; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold); font-style:normal; }
.value-points { display:flex; flex-direction:column; }
.value-item { display:flex; gap:28px; align-items:flex-start; padding:32px 0; border-bottom:1px solid var(--grey-200); transition:var(--tr); }
.value-item:first-child { padding-top:0; }
.value-item:last-child { border-bottom:none; }
.value-item:hover .value-icon { background:var(--blue-brand); }
.value-icon { width:48px; height:48px; background:var(--blue-tint); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:var(--tr); }
.value-icon svg { width:20px; height:20px; stroke:var(--blue-brand); transition:stroke 0.3s; }
.value-item:hover .value-icon svg { stroke:var(--white); }
.value-text h4 { font-size:0.97rem; font-weight:600; color:var(--blue-deep); margin-bottom:8px; }
.value-text p { font-size:0.87rem; line-height:1.7; color:var(--grey-500); font-weight:300; }
@media(max-width:900px){ .why-us-inner{grid-template-columns:1fr;gap:60px;} .why-us-image{display:none;} }

/* ============================================================  SECTORS  */
#clients,.clients-section { padding:80px 0; background:var(--blue-deep); }
.clients-label { text-align:center; font-size:0.72rem; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:rgba(255,255,255,0.4); margin-bottom:48px; }
.sectors-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:2px; background:rgba(255,255,255,0.05); }
.sector-item { background:rgba(255,255,255,0.04); padding:36px 24px; text-align:center; transition:var(--tr); }
.sector-item:hover { background:rgba(255,255,255,0.09); }
.sector-icon { width:40px; height:40px; margin:0 auto 14px; opacity:0.5; transition:opacity 0.3s; }
.sector-item:hover .sector-icon { opacity:0.9; }
.sector-name { font-size:0.78rem; font-weight:600; letter-spacing:0.08em; color:rgba(255,255,255,0.65); text-transform:uppercase; transition:color 0.3s; }
.sector-item:hover .sector-name { color:var(--white); }
@media(max-width:900px){ .sectors-grid{grid-template-columns:repeat(3,1fr);} }
@media(max-width:600px){ .sectors-grid{grid-template-columns:repeat(2,1fr);} }

/* ============================================================  CTA BAND  */
.cta-band,#cta-band { padding:100px 0; background:linear-gradient(110deg,var(--blue-mid) 0%,var(--blue-deep) 100%); position:relative; overflow:hidden; }
.cta-band::before,#cta-band::before { content:''; position:absolute; top:-100px; right:-100px; width:500px; height:500px; border-radius:50%; background:rgba(255,255,255,0.04); }
.cta-band-inner { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:48px; }
.cta-band-text h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(2rem,4vw,3rem); font-weight:300; color:var(--white); margin-bottom:12px; }
.cta-band-text p { font-size:0.95rem; font-weight:300; color:rgba(255,255,255,0.72); max-width:500px; line-height:1.7; }
.cta-band-actions { display:flex; gap:16px; flex-wrap:wrap; flex-shrink:0; }
@media(max-width:768px){ .cta-band-inner{flex-direction:column;text-align:center;} .cta-band-actions{justify-content:center;} }

/* ============================================================  CONTACT FORM  */
#contact,.contact-section { padding:120px 0; background:var(--grey-50); }
.contact-wrap { display:grid; grid-template-columns:1fr 1.6fr; gap:80px; align-items:start; }
.contact-intro p { font-size:0.97rem; line-height:1.8; color:var(--grey-500); font-weight:300; margin-bottom:32px; }
.contact-info-item { display:flex; gap:16px; align-items:flex-start; margin-bottom:24px; }
.contact-info-icon { width:44px; height:44px; background:var(--blue-tint); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.contact-info-icon svg { width:18px; height:18px; stroke:var(--blue-brand); }
.contact-info-label { font-size:0.7rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--grey-500); margin-bottom:4px; }
.contact-info-value { font-size:0.92rem; color:var(--blue-deep); }
.contact-info-value a { color:var(--blue-brand); text-decoration:none; }
.contact-info-value a:hover { text-decoration:underline; }
.contact-form-box { background:var(--white); border:1px solid var(--grey-200); padding:52px 48px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.form-group { margin-bottom:22px; }
.form-group label { display:block; font-size:0.7rem; font-weight:700; letter-spacing:0.13em; text-transform:uppercase; color:var(--grey-700); margin-bottom:8px; }
.form-group input,.form-group select,.form-group textarea { width:100%; padding:13px 16px; border:1.5px solid var(--grey-200); border-radius:0; background:var(--white); font-family:'Manrope',sans-serif; font-size:0.9rem; font-weight:300; color:var(--grey-900); transition:border-color 0.3s,box-shadow 0.3s; outline:none; appearance:none; -webkit-appearance:none; }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { border-color:var(--blue-brand); box-shadow:0 0 0 3px rgba(0,67,127,0.08); }
.form-group textarea { resize:vertical; min-height:130px; }
.form-group select { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; padding-right:40px; cursor:pointer; }
.form-submit { width:100%; padding:17px; background:var(--blue-deep); color:var(--white); font-family:'Manrope',sans-serif; font-size:0.82rem; font-weight:700; letter-spacing:0.13em; text-transform:uppercase; border:none; cursor:pointer; transition:var(--tr); }
.form-submit:hover { background:var(--blue-brand); transform:translateY(-1px); box-shadow:0 8px 24px rgba(0,67,127,0.28); }
.form-notification { display:none; margin-top:16px; padding:14px 20px; background:#f0fdf4; border:1px solid #bbf7d0; color:#166534; font-size:0.87rem; font-weight:500; }
@media(max-width:960px){ .contact-wrap{grid-template-columns:1fr;gap:48px;} }
@media(max-width:600px){ .form-row{grid-template-columns:1fr;} .contact-form-box{padding:32px 24px;} }

/* ============================================================  FOOTER  */
#footer { background:var(--blue-deep); padding:72px 0 40px; }
.footer-top { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:60px; padding-bottom:56px; border-bottom:1px solid rgba(255,255,255,0.08); }
.footer-logo-wrap { display:flex; align-items:center; text-decoration:none; margin-bottom:20px; position:relative; height:55px; }
.footer-logo-wrap .logo-light-img { height:55px; width:auto; object-fit:contain; }
.footer-logo-text { font-family:'Cormorant Garamond',serif; font-size:1.35rem; font-weight:400; color:var(--white); letter-spacing:0.04em; display:none; }
.footer-brand p { font-size:0.88rem; line-height:1.75; color:rgba(255,255,255,0.45); font-weight:300; max-width:280px; }
.footer-address { display:flex; align-items:flex-start; gap:10px; margin-top:20px; }
.footer-address address { font-size:0.85rem; line-height:1.7; color:rgba(255,255,255,0.4); font-style:normal; font-weight:300; }
.footer-col h5 { font-size:0.7rem; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:rgba(255,255,255,0.4); margin-bottom:20px; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:12px; }
.footer-col ul li a { font-size:0.88rem; color:rgba(255,255,255,0.6); text-decoration:none; font-weight:300; transition:color 0.3s; }
.footer-col ul li a:hover { color:var(--white); }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; padding-top:32px; gap:20px; flex-wrap:wrap; }
.footer-bottom p { font-size:0.78rem; color:rgba(255,255,255,0.3); font-weight:300; }
.footer-bottom-links { display:flex; gap:24px; }
.footer-bottom-links a { font-size:0.78rem; color:rgba(255,255,255,0.3); text-decoration:none; font-weight:300; transition:color 0.3s; }
.footer-bottom-links a:hover { color:rgba(255,255,255,0.7); }
@media(max-width:768px){ .footer-top{grid-template-columns:1fr;gap:40px;} .footer-bottom{flex-direction:column;text-align:center;} }

/* ============================================================  ABOUT PAGE EXTRAS  */
.values-dark-section { padding:120px 0; background:var(--blue-deep); position:relative; overflow:hidden; }
.values-dark-section::before { content:''; position:absolute; inset:0; background:url('https://images.pexels.com/photos/3184418/pexels-photo-3184418.jpeg?auto=compress&cs=tinysrgb&w=1600&h=800&fit=crop') center/cover no-repeat; opacity:0.05; }
.values-dark-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:rgba(255,255,255,0.05); position:relative; }
.value-dark-card { background:rgba(255,255,255,0.04); padding:48px 36px; transition:var(--tr); }
.value-dark-card:hover { background:rgba(255,255,255,0.08); }
.value-dark-icon { margin-bottom:24px; }
.value-dark-icon svg { width:36px; height:36px; stroke:var(--gold); fill:none; }
.value-dark-card h3 { font-family:'Cormorant Garamond',serif; font-size:1.5rem; font-weight:300; color:var(--white); margin-bottom:14px; }
.value-dark-card p { font-size:0.87rem; line-height:1.75; color:rgba(255,255,255,0.55); font-weight:300; }
@media(max-width:900px){ .values-dark-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:600px){ .values-dark-grid{grid-template-columns:1fr;} }

.mission-section { padding:120px 0; }
.mission-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.mission-image { position:relative; }
.mission-image img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.mission-image::after { content:''; position:absolute; bottom:-20px; left:-20px; width:60%; height:60%; border:2px solid var(--gold); z-index:0; pointer-events:none; }
.mission-image img { position:relative; z-index:1; }
.mission-content p { font-size:0.97rem; line-height:1.85; color:var(--grey-700); margin-bottom:20px; font-weight:300; }
@media(max-width:900px){ .mission-grid{grid-template-columns:1fr;gap:48px;} .mission-image::after{display:none;} }

/* ── About page: ensure all white-background paragraph text is light (300) ── */
.about-section p,
.mission-grid p,
.about-section > .container p,
.mission-grid > div > p { font-size:0.97rem; line-height:1.85; color:var(--grey-700); margin-bottom:20px; font-weight:300; }
