:root{
  /* Clean Warm Beige & Pure White Base (Zero Pink) */
  --palette-cream:#FAF7F2;     /* Off-White Cream Base */
  --palette-beige:#F3ECE2;     /* Warm Soft Sand Beige */
  --palette-sand:#E5D7C5;      /* Subtle Natural Sand Divider */

  /* System Mapping */
  --cream:#FAF7F2;
  --linen:#E5D7C5;
  --sand:#C59B6C;              /* Muted Bronze Sand Accent */
  --walnut:#2C2623;            /* Deep Warm Espresso Charcoal */
  --taupe:#524B46;             /* Warm Slate Body Text */
  --white:#FFFFFF;
  --font-head:'Cormorant Garamond',serif;
  --font-body:'Inter',sans-serif;
  --transition:0.4s ease;
}
/* SERVICE CARD IMAGES */
.service-img-wrap{width:100%;height:180px;overflow:hidden;border-radius:.8rem;margin-bottom:1.2rem;}
.service-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.service-card:hover .service-img-wrap img{transform:scale(1.05);}
/* WHOM CARD PHOTOS */
.whom-photo{width:90px;height:90px;border-radius:50%;overflow:hidden;margin:0 auto 1rem;border:3px solid var(--linen);}
.whom-photo img{width:100%;height:100%;object-fit:cover;}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:95px;}
section{scroll-margin-top:95px;}
body{background-color:#FAF7F2;background-image:linear-gradient(180deg,#FAF7F2 0%,#F5ECE2 30%,#FAF7F2 65%,#F3ECE2 100%);color:var(--walnut);font-family:var(--font-body);line-height:1.7;overflow-x:hidden;}
html::before{display:none;}
a{text-decoration:none;color:inherit;}

/* NAV */
nav{position:fixed;top:0;width:100%;z-index:100;padding:1.2rem 5%;display:flex;justify-content:space-between;align-items:center;background:transparent;border-bottom:none;transition:background var(--transition), padding var(--transition), box-shadow var(--transition);}
nav.scrolled{background:rgba(250,247,242,0.96);box-shadow:0 4px 20px rgba(44,38,35,.04);padding:.8rem 5%;border-bottom:1px solid rgba(229,215,197,0.3);}
.nav-logo-link{display:flex;align-items:center;padding:2px 0;}
.nav-logo-img{height:48px;width:auto;max-width:210px;object-fit:contain;transition:transform var(--transition);}
.nav-logo-link:hover .nav-logo-img{transform:scale(1.02);}
.footer-logo-link{display:inline-block;margin-bottom:.8rem;}
.footer-logo-img{height:52px;width:auto;max-width:220px;object-fit:contain;}
.nav-logo{font-family:var(--font-head);font-size:1.4rem;font-weight:700;color:var(--walnut);}
.nav-links{display:flex;gap:2rem;list-style:none;align-items:center;}
.nav-links a{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--taupe);transition:color var(--transition);}
.nav-links a:hover{color:var(--walnut);}
.nav-cta{background:#FCD5CE;color:#2C2623!important;font-weight:600;padding:.5rem 1.2rem;border-radius:2rem;transition:all var(--transition);}
.nav-cta:hover{background:#f8c3ba;color:#2C2623!important;}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;}
.hamburger span{width:24px;height:2px;background:var(--walnut);}

/* HERO */
#hero {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  align-items: center;
  padding: 0 5%;
  padding-top: 100px;
  padding-bottom: 40px;
  gap: 3rem;
}
.hero-text {
  margin-top: -3.5rem;
}
.hero-text .label{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sand);margin-bottom:1rem;font-weight:600;}
.hero-text h1{font-family:var(--font-head);font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.15;color:var(--walnut);background:linear-gradient(135deg,#2C2623 0%,#4A3E38 60%,#6E5B51 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:1.2rem;font-weight:700;}
.hero-text h1 em{background:linear-gradient(135deg,#C59B6C 0%,#A67B48 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-style:italic;}
.hero-text p{color:var(--taupe);font-size:1.02rem;max-width:44ch;margin-bottom:2rem;line-height:1.75;}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap;}
.btn-primary{background:#FCD5CE;color:#2C2623;font-weight:600;padding:.85rem 2rem;border-radius:2rem;font-size:.85rem;letter-spacing:.06em;transition:all var(--transition);}
.btn-primary:hover{background:#f8c3ba;color:#2C2623;}
.btn-outline{border:1.5px solid var(--walnut);color:var(--walnut);padding:.85rem 2rem;border-radius:2rem;font-size:.85rem;letter-spacing:.06em;transition:all var(--transition);}
.btn-outline:hover{background:#FCD5CE;color:#2C2623;border-color:#FCD5CE;}

/* === CREATIVE HERO PORTRAIT BLEND SYSTEM === */
.hero-image {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.hero-img-wrapper {
  position: relative;
  width: 100%;
  max-width: 500px;
  height: 550px;
  border-radius: 2.5rem;
  background: linear-gradient(145deg, #FCD5CE 0%, #F5ECE2 45%, #E5D7C5 100%);
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(252, 213, 206, 0.45), 0 10px 25px rgba(44, 38, 35, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.85);
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.hero-bg-glow {
  position: absolute;
  top: 8%;
  left: 50%;
  transform: translateX(-50%);
  width: 360px;
  height: 360px;
  background: radial-gradient(circle, rgba(252, 213, 206, 0.95) 0%, rgba(248, 195, 186, 0.4) 60%, transparent 100%);
  filter: blur(40px);
  border-radius: 50%;
  pointer-events: none;
}

.hero-portrait-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom center;
  filter: drop-shadow(0 15px 30px rgba(44, 38, 35, 0.16));
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  z-index: 2;
  transform: scale(1.05);
}

.hero-img-wrapper:hover .hero-portrait-img {
  transform: scale(1.08) translateY(-4px);
}

/* === HERO CREDENTIAL CARD — SLEEK LUXURY FROSTED CHIP === */
.hero-badge {
  position: absolute;
  bottom: 1.5rem;
  left: -4.5rem;
  width: 245px;
  padding: 0.9rem 1.05rem;
  border-radius: 1.25rem;
  background: rgba(252, 213, 206, 0.76);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 16px 36px rgba(248, 195, 186, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.8);
  color: #2C2623;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  animation: badgeFloat 5s ease-in-out infinite;
  z-index: 10;
}

.hero-badge:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 22px 45px rgba(248, 195, 186, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.95);
  border-color: #F8C3BA;
}

@keyframes badgeFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

.hero-badge-header {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.4rem;
}

.hero-badge-pulse {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #C59B6C;
  box-shadow: 0 0 0 3px rgba(197, 155, 108, 0.25);
  animation: pulseGlow 2s infinite;
}

@keyframes pulseGlow {
  0%, 100% { box-shadow: 0 0 0 3px rgba(197, 155, 108, 0.25); }
  50% { box-shadow: 0 0 0 7px rgba(197, 155, 108, 0); }
}

.hero-badge-status {
  font-size: 0.6rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sand);
  font-weight: 700;
}

.hero-badge-name {
  font-family: var(--font-head);
  font-size: 1.05rem;
  color: #2C2623;
  font-weight: 700;
  line-height: 1.15;
}

.hero-badge-sub {
  font-size: 0.7rem;
  color: #524B46;
  margin-top: 0.1rem;
}

.hero-badge-divider {
  height: 1px;
  background: linear-gradient(90deg, rgba(44, 38, 35, 0.12), transparent);
  margin: 0.55rem 0;
}

.hero-badge-items {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.hb-item {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.hb-icon-svg {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #2C2623;
  flex-shrink: 0;
}

.hb-text strong {
  display: block;
  font-size: 0.72rem;
  color: #2C2623;
  font-weight: 600;
  line-height: 1.2;
}

.hb-text small {
  display: block;
  font-size: 0.62rem;
  color: #6E655F;
}

.hero-badge-footer {
  margin-top: 0.55rem;
  padding-top: 0.45rem;
  border-top: 1px solid rgba(44, 38, 35, 0.08);
}

.cricket-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.9);
  color: #2C2623;
  font-size: 0.7rem;
  font-weight: 600;
  padding: 0.3rem 0.75rem;
  border-radius: 2rem;
  letter-spacing: 0.04em;
}

/* SECTION BASE */
section{padding:6rem 5%;}
.section-label{font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--sand);margin-bottom:.8rem;font-weight:600;}
.section-title{font-family:var(--font-head);font-size:clamp(2rem,4vw,3rem);color:var(--walnut);background:linear-gradient(135deg,#2C2623 0%,#4A3E38 60%,#6E5B51 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1.2;margin-bottom:1.5rem;}
.section-sub{color:var(--taupe);max-width:60ch;line-height:1.8;margin-bottom:3rem;}

/* WHY */
#why{background:transparent;}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;}
.why-quote{font-family:var(--font-head);font-size:1.6rem;color:var(--walnut);border-left:3px solid var(--sand);padding-left:1.5rem;margin:2rem 0;line-height:1.5;font-style:italic;}
.why-quote cite{font-size:.9rem;color:var(--taupe);font-style:normal;display:block;margin-top:.5rem;}
.why-right p{color:var(--taupe);line-height:1.9;margin-bottom:1.2rem;}
.bala-quote{background:rgba(255,255,255,0.85);color:var(--walnut);border:1px solid var(--linen);padding:2rem;border-radius:1rem;margin-top:2rem;font-family:var(--font-head);font-size:1.15rem;font-style:italic;}
.bala-quote cite{font-size:.85rem;color:var(--sand);font-style:normal;display:block;margin-top:.8rem;}

/* SERVICES */
#services{background:transparent;padding-top:2rem;}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;}
.service-card{background:rgba(255,255,255,0.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:1.2rem;padding:2rem;border:1px solid var(--linen);transition:all var(--transition);cursor:pointer;position:relative;overflow:hidden;}
.service-card::before{content:'';position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--sand);transform:scaleX(0);transition:transform var(--transition);}
.service-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(44,38,35,.08);}
.service-card:hover::before{transform:scaleX(1);}

.service-card h3{font-family:var(--font-head);font-size:1.3rem;color:var(--walnut);margin-bottom:.7rem;}
.service-card p{color:var(--taupe);font-size:.9rem;line-height:1.7;}
.service-cta{display:inline-block;margin-top:1.2rem;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sand);font-weight:600;}
.service-cta:hover{color:var(--walnut);}

/* WHOM */
#whom{background:transparent;padding-top:2rem;}
.whom-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.5rem;margin-top:3rem;}
.whom-card{background:rgba(255,255,255,0.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:1.2rem;padding:2rem 1rem;text-align:center;transition:all var(--transition);}
.whom-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(44,38,35,.08);}

.whom-card h4{font-family:var(--font-head);font-size:1.1rem;color:var(--walnut);}
.whom-card p{font-size:.8rem;color:var(--taupe);margin-top:.3rem;}

/* JOURNEY */
#journey{background:transparent;}
.journey-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;}
.journey-text p{color:var(--taupe);line-height:1.9;margin-bottom:1.2rem;}
.timeline{display:flex;flex-direction:column;gap:1.5rem;}
.tl-item{display:flex;gap:1rem;}
.tl-dot{width:12px;height:12px;border-radius:50%;background:var(--sand);margin-top:.4rem;flex-shrink:0;}
.tl-content h4{font-family:var(--font-head);font-size:1rem;color:var(--walnut);font-weight:700;}
.tl-content p{font-size:.85rem;color:var(--taupe);}

/* CREDENTIALS */
#credentials{background:transparent;}
.creds-degrees{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:4rem;}
.degree-card{background:rgba(255,255,255,0.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:1rem;padding:1.5rem;border:1px solid var(--linen);}
.degree-card .uni{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sand);font-weight:600;}
.degree-card h4{font-family:var(--font-head);font-size:1.2rem;color:var(--walnut);margin:.4rem 0;}
.degree-card p{font-size:.82rem;color:var(--taupe);}
.cert-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;}
.cert-gallery img{width:100%;border-radius:.8rem;border:1px solid var(--linen);transition:transform var(--transition);}
.cert-gallery img:hover{transform:scale(1.03);}
.cert-label{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--taupe);margin-bottom:1.5rem;}

/* TESTIMONIALS */
#testimonials{background:transparent;}
.testimonial-carousel{position:relative;max-width:850px;margin:0 auto;}
.testimonial-card-wrap{display:flex;align-items:center;gap:1.5rem;position:relative;}
.t-nav-btn{width:46px;height:46px;border-radius:50%;border:1px solid var(--linen);background:rgba(255,255,255,0.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--walnut);font-size:1.2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition);flex-shrink:0;box-shadow:0 6px 18px rgba(44,38,35,.06);}
.t-nav-btn:hover{background:var(--walnut);color:var(--cream);border-color:var(--walnut);transform:scale(1.08);}
.t-slide{display:none;text-align:center;}
.t-slide.active{display:block;}
.t-quote{font-family:var(--font-head);font-size:1.4rem;color:var(--walnut);line-height:1.6;font-style:italic;margin-bottom:1.5rem;}
.t-author{font-size:.85rem;color:var(--taupe);}
.t-author strong{color:var(--walnut);}
.t-dots{display:flex;justify-content:center;gap:.5rem;margin-top:2rem;}
.t-dot{width:8px;height:8px;border-radius:50%;background:var(--linen);cursor:pointer;transition:background var(--transition);}
.t-dot.active{background:var(--sand);}

/* CONTACT */
#contact{background:transparent;color:var(--walnut);}
#contact .section-title{color:var(--walnut);}
#contact .section-sub{color:var(--taupe);}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;}
.contact-cta-box{background:rgba(255,255,255,0.85);border-radius:1.5rem;padding:2.5rem;border:1px solid var(--linen);}
.contact-cta-box h3{font-family:var(--font-head);font-size:1.5rem;color:var(--walnut);margin-bottom:.5rem;}
.contact-cta-box p{font-size:.9rem;color:var(--taupe);margin-bottom:1.5rem;}
.btn-sand{background:#FCD5CE;color:#2C2623;padding:.85rem 2rem;border-radius:2rem;font-size:.85rem;font-weight:600;display:inline-block;transition:all var(--transition);}
.btn-sand:hover{background:#f8c3ba;color:#2C2623;}
.contact-form{display:flex;flex-direction:column;gap:1rem;}
.contact-form input,.contact-form textarea,.contact-form select{background:rgba(255,255,255,0.9);border:1px solid var(--linen);border-radius:.6rem;padding:.85rem 1rem;color:var(--walnut);font-family:var(--font-body);font-size:.9rem;outline:none;transition:border var(--transition);}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--sand);}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--taupe);}
.contact-form select option{background:var(--white);color:var(--walnut);}
.contact-form textarea{resize:vertical;min-height:100px;}
.contact-form button{background:#FCD5CE;color:#2C2623;border:none;padding:.9rem;border-radius:2rem;font-size:.9rem;font-weight:700;cursor:pointer;transition:all var(--transition);}
.contact-form button:hover{background:#f8c3ba;color:#2C2623;}

/* === CREATIVE CALENDAR BOOKING CARD === */
.booking-card-wrapper {
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.95) 0%, rgba(252, 213, 206, 0.25) 100%);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-radius: 1.8rem;
  padding: 1.25rem 1.4rem 1.4rem;
  box-shadow: 0 24px 60px rgba(252, 213, 206, 0.45), 0 10px 25px rgba(44, 38, 35, 0.05);
  border: 1px solid rgba(252, 213, 206, 0.85);
  transition: all 0.4s ease;
}

.booking-card-wrapper:hover {
  box-shadow: 0 30px 70px rgba(252, 213, 206, 0.6), 0 12px 30px rgba(44, 38, 35, 0.08);
  border-color: #F8C3BA;
}

.booking-card-header {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 0.9rem;
}

.booking-live-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(252, 213, 206, 0.7);
  border: 1px solid rgba(248, 195, 186, 0.95);
  padding: 0.4rem 1.1rem;
  border-radius: 2rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #2C2623;
  text-transform: uppercase;
}

.live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #2E7D32;
  box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.25);
  animation: livePulse 1.8s infinite;
}

@keyframes livePulse {
  0%, 100% { box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.25); }
  50% { box-shadow: 0 0 0 7px rgba(46, 125, 50, 0); }
}

#gcal-booking-container {
  width: 100%;
  border-radius: 1.2rem;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(44, 38, 35, 0.06);
  border: 1px solid rgba(44, 38, 35, 0.06);
  background: #ffffff;
}

.booking-perks-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.6rem;
  margin-top: 1rem;
  padding-top: 0.8rem;
  border-top: 1px solid rgba(44, 38, 35, 0.08);
}

.b-perk {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  background: rgba(255, 255, 255, 0.85);
  padding: 0.55rem 0.4rem;
  border-radius: 0.8rem;
  border: 1px solid rgba(255, 255, 255, 0.95);
  font-size: 0.72rem;
  font-weight: 600;
  color: #2C2623;
  text-align: center;
}

.b-perk-icon {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(252, 213, 206, 0.6);
  border: 1px solid rgba(248, 195, 186, 0.8);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* FOOTER */
footer{background:transparent;border-top:none;color:var(--taupe);padding:3rem 5%;display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;}
.footer-brand .nav-logo{color:var(--walnut);margin-bottom:.8rem;}
footer p,.footer-links li{font-size:.82rem;line-height:1.8;}
.footer-links{list-style:none;}
.footer-links a:hover{color:var(--sand);}
.footer-bottom{background:transparent;border-top:none;text-align:center;padding:1.2rem;font-size:.75rem;color:var(--taupe);}

/* ANIMATIONS */
.fade-up{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease;}
.fade-up.visible{opacity:1;transform:none;}

/* RESPONSIVE */
@media(max-width:900px){
  #hero,#why .why-grid,#journey .journey-grid,#contact .contact-grid{grid-template-columns:1fr;}
  .hero-badge{left:1rem;}
  .nav-links{display:none;flex-direction:column;position:fixed;top:0;right:0;height:100vh;width:70%;background:var(--cream);padding:5rem 2rem;gap:2rem;z-index:200;transition:transform var(--transition);}
  .nav-links.open{display:flex;}
  .hamburger{display:flex;}
  footer{grid-template-columns:1fr;}
}

/* ===== FLIP CARDS (Services) ===== */
.flip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.flip-card{height:340px;perspective:1000px;cursor:pointer;}
.flip-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.4,0,.2,1);}
.flip-card:hover .flip-inner{transform:rotateY(180deg);}
.flip-front,.flip-back{position:absolute;inset:0;border-radius:1.2rem;backface-visibility:hidden;-webkit-backface-visibility:hidden;}
.flip-front{background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;overflow:hidden;}
.flip-front-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(44,38,35,.85) 0%,rgba(44,38,35,.2) 60%,transparent 100%);border-radius:1.2rem;}
.flip-front .flip-tag{position:relative;z-index:1;font-size:.7rem;letter-spacing:.2em;color:var(--sand);text-transform:uppercase;margin-bottom:.5rem;}
.flip-front h3{position:relative;z-index:1;font-family:var(--font-head);font-size:1.5rem;color:var(--white);line-height:1.2;}
.flip-back{background:var(--walnut);display:flex;flex-direction:column;justify-content:center;padding:2rem;transform:rotateY(180deg);border-radius:1.2rem;}
.flip-back h3{font-family:var(--font-head);font-size:1.4rem;color:var(--white);margin-bottom:.8rem;}
.flip-back p{color:rgba(255,255,255,.9);font-size:.88rem;line-height:1.7;margin-bottom:1.2rem;}
.flip-cta{display:inline-block;background:var(--sand);color:var(--walnut);padding:.55rem 1.4rem;border-radius:2rem;font-size:.8rem;font-weight:600;letter-spacing:.06em;transition:background var(--transition);}
.flip-cta:hover{background:var(--cream);}
@media(max-width:900px){.flip-grid{grid-template-columns:1fr 1fr;}.flip-card{height:300px;}}
@media(max-width:580px){.flip-grid{grid-template-columns:1fr;}}

/* ===== MIND MAP (Who I Work With) ===== */
.mindmap-wrapper{position:relative;width:100%;max-width:960px;margin:0 auto;height:620px;}
.mindmap-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.mm-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:110px;height:110px;background:var(--sand);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--cream);font-family:var(--font-head);font-size:1rem;font-weight:700;text-align:center;z-index:5;box-shadow:0 0 0 8px rgba(197,155,108,.2),0 0 0 16px rgba(197,155,108,.08);animation:pulse 3s ease-in-out infinite;}
.mm-center-sub{font-size:.65rem;font-weight:400;color:var(--sand);letter-spacing:.05em;}
@keyframes pulse{0%,100%{box-shadow:0 0 0 8px rgba(197,155,108,.2),0 0 0 16px rgba(197,155,108,.08);}50%{box-shadow:0 0 0 12px rgba(197,155,108,.25),0 0 0 24px rgba(197,155,108,.1);}}
.mm-node{position:absolute;width:140px;text-align:center;transform:translate(-50%,-50%);z-index:4;transition:transform var(--transition);}
.mm-node:hover{transform:translate(-50%,-50%) scale(1.07);}
.mm-img{width:76px;height:76px;border-radius:50%;overflow:hidden;margin:0 auto .6rem;border:3px solid var(--sand);box-shadow:0 4px 16px rgba(44,38,35,.18);}
.mm-img img{width:100%;height:100%;object-fit:cover;}
.mm-node h4{font-family:var(--font-head);font-size:.95rem;color:var(--walnut);line-height:1.2;margin-bottom:.2rem;}
.mm-node p{font-size:.72rem;color:var(--taupe);line-height:1.4;}
@media(max-width:768px){
  .mindmap-wrapper{height:auto;}
  .mindmap-svg{display:none;}
  .mm-center{display:none;}
  .mm-node{position:static;transform:none;width:100%;margin-bottom:1.5rem;}
  .mm-node:hover{transform:none;}
  .mindmap-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
}

/* ============================
   WHY  DARK DRAMATIC REDESIGN
   ============================ */
#why{padding:0;background:transparent;}
.why-drama{background:transparent;padding:6rem 5%;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;}
.why-drama-left .section-label{color:var(--sand);}
.why-drama-left h2{font-family:var(--font-head);font-size:clamp(2.2rem,4vw,3.6rem);color:var(--walnut);line-height:1.2;margin-top:.8rem;}
.why-drama-left h2 em{color:var(--sand);font-style:italic;}
.struggle-list{display:flex;flex-direction:column;gap:0;}
.struggle-item{display:flex;gap:1.4rem;align-items:flex-start;padding:1.4rem 0;border-bottom:1px solid rgba(229,215,197,.8);transition:background var(--transition);}
.struggle-item:last-child{border:none;}
.s-num{font-family:var(--font-head);font-size:2.2rem;color:var(--sand);opacity:.45;flex-shrink:0;line-height:1;min-width:2.5rem;}
.s-body h4{color:var(--walnut);font-size:.95rem;font-weight:600;margin-bottom:.25rem;letter-spacing:.02em;}
.s-body p{color:var(--taupe);font-size:.82rem;line-height:1.65;}
.why-big-quote{background:transparent;padding:0;text-align:center;}
.why-big-quote blockquote{font-family:var(--font-head);font-size:clamp(1.8rem,3.5vw,2.8rem);color:var(--walnut);max-width:820px;margin:0 auto;line-height:1.4;font-style:italic;}
.why-big-quote cite{display:block;font-family:var(--font-body);font-size:.8rem;color:var(--taupe);margin-top:1.2rem;font-style:normal;letter-spacing:.15em;text-transform:uppercase;}
.why-body-grid{background:transparent;padding:2rem 5% 1rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;}
.why-body-grid p{color:var(--taupe);line-height:1.9;margin-bottom:1.1rem;font-size:.95rem;}
.bala-pullquote{background:rgba(255,255,255,0.9);border:1.5px solid var(--linen);padding:2.2rem 2rem;border-radius:1rem;font-family:var(--font-head);font-size:1.18rem;color:var(--walnut);font-style:italic;line-height:1.6;}
.bala-pullquote cite{font-size:.8rem;color:var(--sand);font-style:normal;display:block;margin-top:.8rem;font-family:var(--font-body);}

/* ============================
   SERVICES  TAB ACCORDION
   ============================ */
.services-tab-wrap{display:grid;grid-template-columns:240px 1fr;gap:1.5rem;margin-top:2rem;align-items:start;max-width:1050px;margin-left:auto;margin-right:auto;}
.stab-nav{display:flex;flex-direction:column;gap:.4rem;position:sticky;top:100px;}
.stab-btn{background:none;border:none;text-align:left;padding:.75rem 1.1rem;border-radius:.7rem;cursor:pointer;font-family:var(--font-body);font-size:.85rem;color:var(--taupe);transition:all var(--transition);display:flex;align-items:center;gap:.7rem;width:100%;}
.stab-btn:hover{background:var(--linen);color:var(--walnut);}
.stab-btn.active{background:#FCD5CE;color:#2C2623;font-weight:600;}
.stab-num{font-family:var(--font-head);font-size:1.15rem;color:var(--sand);font-weight:700;flex-shrink:0;}
.stab-btn.active .stab-num{color:#6E3F37;}
.stab-pane{display:none;border-radius:1.2rem;overflow:hidden;background:rgba(255,255,255,0.92);border:1px solid var(--linen);box-shadow:0 8px 24px rgba(44,38,35,0.04);}
.stab-pane.active{display:grid;grid-template-columns:42% 58%;align-items:stretch;min-height:410px;}
.stab-img{position:relative;width:100%;height:100%;min-height:100%;overflow:hidden;}
.stab-img img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .7s ease;}
.stab-pane:hover .stab-img img{transform:scale(1.04);}
.stab-text{padding:1.6rem 1.6rem;display:flex;flex-direction:column;justify-content:center;}
.stab-text h3{font-family:var(--font-head);font-size:1.55rem;color:var(--walnut);margin-bottom:.3rem;line-height:1.25;}
.stab-text p{color:var(--taupe);line-height:1.6;font-size:.85rem;margin-bottom:.8rem;}
.stab-cta{display:inline-block;background:#FCD5CE;color:#2C2623;font-weight:600;padding:.55rem 1.3rem;border-radius:2rem;font-size:.78rem;letter-spacing:.05em;align-self:flex-start;transition:all var(--transition);}
.stab-cta:hover{background:#F8C3BA;color:#2C2623;}
.stab-pane .stab-tag{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sand);margin-bottom:.3rem;font-weight:600;}
.service-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin:.3rem 0 .7rem;}
.feature-tag{background:rgba(197,155,108,0.12);color:var(--walnut);font-size:.72rem;font-weight:600;padding:.2rem .6rem;border-radius:1rem;border:1px solid rgba(197,155,108,0.25);letter-spacing:.01em;transition:all var(--transition);}
.feature-tag:hover{background:var(--sand);color:var(--white);border-color:var(--sand);}

/* ============================
   WHO I WORK WITH — 3D FLIP CARDS
   ============================ */
.tilt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.5rem;perspective:1200px;}
.flip-card{height:390px;border-radius:1.4rem;cursor:pointer;perspective:1200px;}
.flip-card-inner{position:relative;width:100%;height:100%;transition:transform 0.7s cubic-bezier(0.4,0,0.2,1);transform-style:preserve-3d;border-radius:1.4rem;box-shadow:0 10px 28px rgba(44,38,35,0.08);}
.flip-card:hover .flip-card-inner, .flip-card.is-flipped .flip-card-inner{transform:rotateY(180deg);}

.flip-card-front, .flip-card-back{position:absolute;inset:0;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:1.4rem;overflow:hidden;}

/* FRONT FACE */
.flip-card-front{background:var(--walnut);}
.flip-card-front img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease;}
.flip-card-front .tilt-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(35,28,26,0.92) 0%,rgba(35,28,26,0.55) 55%,rgba(35,28,26,0.1) 100%);padding:1.6rem;display:flex;flex-direction:column;justify-content:flex-end;}
.tilt-num{font-family:var(--font-head);font-size:.85rem;letter-spacing:.15em;color:var(--sand);font-weight:700;margin-bottom:.2rem;}
.tilt-accent{width:32px;height:2px;background:var(--sand);margin-bottom:.6rem;}
.flip-card-front h4{font-family:var(--font-head);font-size:1.55rem;color:var(--cream);line-height:1.2;margin-bottom:.3rem;}
.tilt-tagline{color:var(--sand);font-size:.86rem;font-style:italic;font-weight:500;margin-bottom:.8rem;line-height:1.35;}

/* BACK FACE */
.flip-card-back{background:linear-gradient(135deg, #FCD5CE 0%, #F8C3BA 100%);color:#2C2623;transform:rotateY(180deg);padding:1.8rem;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #F8C3BA;box-shadow:0 12px 32px rgba(252,213,206,0.3);}
.back-header{border-bottom:1px solid rgba(44,38,35,0.12);padding-bottom:.8rem;}
.back-num{font-family:var(--font-head);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:#854E44;font-weight:700;display:block;margin-bottom:.2rem;}
.back-title{font-family:var(--font-head);font-size:1.4rem;color:#2C2623;margin-bottom:.2rem;line-height:1.25;}
.back-tagline{font-size:.82rem;color:#6E3F37;font-style:italic;margin:0;}

.back-body{flex:1;display:flex;flex-direction:column;justify-content:center;margin:.8rem 0;}
.back-focus-label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#4A3532;margin-bottom:.6rem;font-weight:600;}
.back-tags{display:flex;flex-wrap:wrap;gap:.4rem;}
.back-pill{background:rgba(255,255,255,0.75);backdrop-filter:blur(4px);color:#2C2623;font-size:.75rem;padding:.28rem .7rem;border-radius:1rem;border:1px solid rgba(255,255,255,0.9);font-weight:600;transition:all var(--transition);}
.back-pill:hover{background:#2C2623;color:#FCD5CE;border-color:#2C2623;}

.back-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.6rem;border-top:1px solid rgba(44,38,35,0.12);}
.back-btn{background:none;border:none;color:#5E322A;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:.3rem;}
.back-btn:hover{color:#2C2623;}

/* RESPONSIVE */
@media(max-width:1000px){.services-tab-wrap{grid-template-columns:1fr;}.stab-nav{flex-direction:row;flex-wrap:wrap;position:static;}.stab-pane.active{grid-template-columns:1fr;min-height:auto;}.stab-img{height:260px;min-height:260px;}.stab-img img{position:relative;}.tilt-grid{grid-template-columns:1fr 1fr;}.why-drama,.why-body-grid{grid-template-columns:1fr;}}
@media(max-width:580px){.tilt-grid{grid-template-columns:1fr;}.flip-card{height:350px;}}

/* ============================
   JOURNEY � CINEMATIC REDESIGN
   ============================ */
#journey{padding:0;background:transparent;}

/* --- Hero Strip --- */
.journey-hero{position:relative;height:70vh;min-height:480px;background-image:url('https://images.unsplash.com/photo-1540747913346-19e32dc3e97e?w=1400&q=85&auto=format&fit=crop');background-size:cover;background-position:center top;display:flex;align-items:center;}
.journey-hero-overlay{position:absolute;inset:0;background:linear-gradient(120deg,rgba(250,247,242,0.9) 0%,rgba(250,247,242,0.65) 60%,rgba(250,247,242,0.35) 100%);}
.journey-hero-content{position:relative;z-index:2;padding:0 5%;max-width:680px;}
.journey-hero-content .section-label{color:var(--sand);}
.journey-hero-content h2{font-family:var(--font-head);font-size:clamp(3rem,6vw,5.5rem);color:var(--walnut);line-height:1.1;margin:.6rem 0 1.5rem;}
.journey-hero-content h2 em{color:var(--sand);font-style:italic;}
.journey-hero-quote{font-family:var(--font-head);font-size:1.1rem;color:var(--taupe);font-style:italic;border-left:3px solid var(--sand);padding-left:1.2rem;line-height:1.6;max-width:520px;}
.journey-hero-quote cite{font-size:.8rem;color:var(--sand);font-style:normal;display:block;margin-top:.6rem;font-family:var(--font-body);}

/* --- Story Strip --- */
.journey-story{background:transparent;padding:5rem 5%;}
.journey-story-inner{max-width:820px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;}
.journey-story-inner p{color:var(--taupe);line-height:1.9;font-size:.96rem;}
.journey-story-inner p strong{color:var(--walnut);}
.journey-story-inner p:first-child::first-letter{font-family:var(--font-head);font-size:3.5rem;float:left;line-height:.85;margin-right:.12em;color:var(--sand);}

/* --- Animated Timeline --- */
.journey-timeline-wrap{padding:6rem 5%;position:relative;background:transparent;}
.jtl-intro{text-align:center;margin-bottom:4rem;}
.jtl-intro h3{font-family:var(--font-head);font-size:clamp(1.8rem,3vw,2.8rem);color:var(--walnut);}
.jtl-intro p{color:var(--taupe);font-size:.9rem;margin-top:.5rem;}

/* Spine */
.jtl-spine{position:absolute;left:50%;top:260px;bottom:80px;width:2px;background:linear-gradient(to bottom,var(--sand),transparent);transform:translateX(-50%);opacity:.3;}

/* Items */
.jtl-item{display:grid;grid-template-columns:1fr 60px 1fr;align-items:start;gap:0;margin-bottom:3rem;opacity:0;transition:opacity .8s cubic-bezier(0.16, 1, 0.3, 1),transform .8s cubic-bezier(0.16, 1, 0.3, 1);will-change:opacity,transform;}
.jtl-item.left{transform:translateX(-48px) translateY(20px) scale(0.97);}
.jtl-item.right{transform:translateX(48px) translateY(20px) scale(0.97);}
.jtl-item.visible{opacity:1;transform:translateX(0) translateY(0) scale(1);}
.jtl-card-left,.jtl-card-right{background:transparent;}
.jtl-card{background:rgba(255,255,255,0.85);border-radius:1rem;padding:1.5rem 1.8rem;border:1px solid var(--linen);position:relative;transition:transform var(--transition),box-shadow var(--transition);}
.jtl-card:hover{box-shadow:0 12px 32px rgba(44,38,35,.08);transform:translateY(-4px);}
.jtl-card::before{content:'';position:absolute;top:50%;width:24px;height:1px;background:var(--sand);opacity:.5;}
.jtl-item.left .jtl-card::before{right:-24px;}
.jtl-item.right .jtl-card::before{left:-24px;}
.jtl-year{display:inline-block;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sand);font-weight:600;margin-bottom:.4rem;}
.jtl-card h4{font-family:var(--font-head);font-size:1.15rem;color:var(--walnut);margin-bottom:.3rem;}
.jtl-card p{font-size:.82rem;color:var(--taupe);line-height:1.6;}
.jtl-card .jtl-tag{display:inline-block;background:var(--linen);color:var(--sand);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .6rem;border-radius:2rem;margin-top:.6rem;}

/* Dot */
.jtl-dot-wrap{display:flex;align-items:flex-start;justify-content:center;padding-top:1.4rem;}
.jtl-dot{width:14px;height:14px;border-radius:50%;background:var(--sand);position:relative;flex-shrink:0;transform:scale(0.3);opacity:0.3;transition:transform .6s cubic-bezier(0.16, 1, 0.3, 1),opacity .6s ease,box-shadow .6s ease;}
.jtl-dot::after{content:'';position:absolute;inset:-5px;border-radius:50%;border:1.5px solid var(--sand);opacity:0;transition:opacity .4s;}
.jtl-item.visible .jtl-dot{transform:scale(1.1);opacity:1;box-shadow:0 0 14px rgba(197,155,108,0.5);}
.jtl-item.visible .jtl-dot::after{opacity:.5;}
.jtl-item.left .jtl-card-left{display:flex;justify-content:flex-end;}
.jtl-item.left .jtl-card-right{visibility:hidden;}
.jtl-item.right .jtl-card-right{display:flex;justify-content:flex-start;}
.jtl-item.right .jtl-card-left{visibility:hidden;}
.jtl-item.left .jtl-card,.jtl-item.right .jtl-card{width:calc(100% - 1rem);}

@media(max-width:768px){
  .jtl-spine{display:none;}
  .jtl-item{grid-template-columns:16px 1fr;gap:1rem;}
  .jtl-dot-wrap{padding-top:1.5rem;}
  .jtl-item.left .jtl-card-left,.jtl-item.right .jtl-card-left,.jtl-item.right .jtl-card-right{display:block;visibility:visible;width:100%;}
  .jtl-item.left .jtl-card-right,.jtl-item.right .jtl-card-right:not(.jtl-item.right .jtl-card-right){display:none;}
  .jtl-item.left .jtl-card::before,.jtl-item.right .jtl-card::before{display:none;}
  .journey-story-inner{grid-template-columns:1fr;}
  .journey-hero{height:55vh;}
}

/* ============================
   CREDENTIALS � DARK COMPACT
   ============================ */
#credentials{background:transparent;padding:5rem 5%;}
#credentials .section-label{color:var(--sand);}
#credentials .section-title{color:var(--walnut);}

.creds-header{text-align:center;margin-bottom:3.5rem;}

.creds-layout{display:grid;grid-template-columns:1fr 1px 1fr;gap:3rem;align-items:start;}
.creds-divider{background:rgba(184,67,97,.2);align-self:stretch;}

.creds-col-title{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--sand);margin-bottom:1.5rem;font-family:var(--font-body);}

.creds-degree-item{padding:1.1rem 0;border-bottom:1px solid rgba(184,67,97,.15);}
.creds-degree-item:last-child{border:none;}
.creds-degree-item .c-uni{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sand);font-weight:600;margin-bottom:.3rem;}
.creds-degree-item h4{font-family:var(--font-head);font-size:1.15rem;color:var(--walnut);line-height:1.2;margin-bottom:.2rem;}
.creds-degree-item p{font-size:.78rem;color:var(--taupe);line-height:1.5;}
.creds-degree-item .c-status{display:inline-block;margin-top:.4rem;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;padding:.18rem .55rem;border-radius:2rem;background:rgba(201,168,124,.15);color:var(--sand);border:1px solid rgba(201,168,124,.25);}

/* Marquee strip */
.creds-marquee-wrap{margin-top:3rem;padding-top:2.5rem;border-top:1px solid rgba(255,255,255,.08);overflow:hidden;}
.creds-marquee{display:flex;gap:0;animation:marquee 28s linear infinite;width:max-content;}
.creds-marquee:hover{animation-play-state:paused;}
.creds-badge{display:inline-flex;align-items:center;gap:.5rem;color:var(--walnut);font-weight:600;font-size:.82rem;padding:0 2rem;flex-shrink:0;white-space:nowrap;}
.creds-badge::before{content:'\2736';color:var(--sand);font-size:.7rem;}
@keyframes marquee{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

.cert-img-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-top:2.5rem;}
.cert-img-strip img{width:100%;border-radius:.5rem;filter:grayscale(30%) sepia(10%);opacity:.85;transition:all var(--transition);border:1px solid rgba(255,255,255,.08);}
.cert-img-strip img:hover{opacity:1;filter:none;transform:scale(1.03);}

@media(max-width:768px){.creds-layout{grid-template-columns:1fr;}.creds-divider{display:none;}.cert-img-strip{grid-template-columns:1fr 1fr;}}

/* ============================
   PERFORMANCE & LIGHTNING LOAD
   ============================ */
section:not(#hero) {
  content-visibility: auto;
  contain-intrinsic-size: 1px 600px;
}

/* ============================
   ULTRA MOBILE RESPONSIVE SYSTEM
   ============================ */

/* Global Mobile Fixes */
html, body {
  max-width: 100vw;
  overflow-x: hidden;
}

@media (max-width: 900px) {
  /* Navigation */
  #navbar {
    padding: 0.8rem 5%;
  }
  .hamburger {
    display: flex;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    z-index: 1001;
  }
  .hamburger span {
    width: 25px;
    height: 2px;
    background: var(--walnut);
    transition: all 0.3s ease;
  }
  .nav-links {
    position: fixed;
    top: 0;
    right: -100%;
    width: 82%;
    max-width: 320px;
    height: 100vh;
    background: var(--cream);
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    box-shadow: -10px 0 30px rgba(0,0,0,0.15);
    transition: right 0.4s ease;
    z-index: 1000;
  }
  .nav-links.open {
    right: 0;
  }
  .nav-links a {
    font-size: 1.1rem;
  }

  /* Hero Section Mobile */
  #hero {
    grid-template-columns: 1fr;
    gap: 2.2rem;
    padding: 5.5rem 5% 3rem;
    text-align: center;
  }
  .hero-text {
    margin-top: 0;
  }
  .hero-text .label {
    font-size: 0.7rem;
    margin-bottom: 0.8rem;
  }
  .hero-text h1 {
    font-size: clamp(2rem, 8vw, 2.8rem);
    line-height: 1.18;
    margin-bottom: 1rem;
  }
  .hero-text p {
    font-size: 0.95rem;
    margin: 0 auto 1.5rem;
  }
  .hero-btns {
    justify-content: center;
    gap: 0.8rem;
  }
  .hero-img-wrapper {
    height: 380px;
    width: 100%;
    max-width: 360px;
    margin: 0 auto;
    border-radius: 1.8rem;
  }
  .hero-portrait-img {
    height: 100%;
    object-position: center 10%;
  }
  .hero-badge {
    position: relative;
    bottom: auto;
    left: 0 !important;
    right: 0 !important;
    width: 100%;
    max-width: 360px;
    margin: 1.2rem auto 0;
    box-shadow: 0 12px 32px rgba(248, 195, 186, 0.35);
    transform: none !important;
  }

  /* Why Section Mobile */
  .why-grid, .why-struggle-grid, .why-body-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .why-quote {
    font-size: 1.3rem;
    padding-left: 1rem;
  }

  /* Services Mobile */
  .services-tab-wrap {
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }
  .stab-nav {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 0.5rem;
    padding-bottom: 0.8rem;
    -webkit-overflow-scrolling: touch;
  }
  .stab-btn {
    white-space: nowrap;
    scroll-snap-align: start;
    padding: 0.6rem 1rem;
    font-size: 0.8rem;
    flex-shrink: 0;
  }
  .stab-pane {
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }

  /* Who I Work With Flip Cards Mobile */
  .tilt-grid {
    grid-template-columns: 1fr;
    gap: 1.4rem;
  }
  .flip-card {
    height: 380px;
  }

  /* Journey Timeline Mobile */
  .journey-hero {
    height: auto;
    padding: 3.5rem 1.2rem;
    text-align: center;
  }
  .journey-hero-content h2 {
    font-size: 2.1rem;
  }
  .journey-timeline-wrap {
    padding: 2rem 0.8rem;
  }
  .jtl-spine {
    left: 18px;
  }
  .jtl-item {
    grid-template-columns: 36px 1fr !important;
    gap: 0.8rem;
    margin-bottom: 2rem;
  }
  .jtl-card-left, .jtl-card-right {
    grid-column: 2 !important;
  }
  .jtl-dot-wrap {
    grid-column: 1 !important;
    justify-content: flex-start;
    padding-left: 10px;
  }
  .jtl-card {
    padding: 1.2rem;
    width: 100% !important;
  }

  /* Credentials Mobile */
  .creds-layout {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .creds-divider {
    display: none;
  }
  .cert-img-strip {
    grid-template-columns: 1fr 1fr;
    gap: 0.6rem;
  }

  /* Contact & Live Calendar Booking Mobile */
  #contact {
    padding: 4rem 4%;
  }
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 2.2rem;
  }
  .booking-card-wrapper {
    padding: 1rem 0.8rem 1.2rem;
    border-radius: 1.4rem;
  }
  .booking-live-pill {
    font-size: 0.6rem;
    padding: 0.35rem 0.75rem;
    white-space: normal;
    text-align: center;
  }
  #gcal-booking-container iframe {
    height: 600px !important;
  }
  .booking-perks-strip {
    grid-template-columns: 1fr;
    gap: 0.4rem;
  }
  .b-perk {
    font-size: 0.78rem;
    padding: 0.5rem;
  }
  .contact-form input, .contact-form select, .contact-form textarea {
    font-size: 16px !important; /* Prevents iOS auto-zoom on focus */
  }
}

@media (max-width: 480px) {
  section {
    padding: 4rem 4%;
  }
  .hero-text h1 {
    font-size: 1.95rem;
  }
  .section-title {
    font-size: 1.8rem;
  }
  .btn-primary, .btn-outline, .btn-sand {
    width: 100%;
    text-align: center;
  }
  .hero-img-wrapper {
    height: 340px;
  }
}

/* =========================================
   SAFE & CLEAN SCROLL ANIMATIONS
   ========================================= */
.fade-up {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
.fade-up.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Timeline scroll transitions */
.jtl-item {
  opacity: 0;
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
.jtl-item.left {
  transform: translateX(-45px) translateY(20px);
}
.jtl-item.right {
  transform: translateX(45px) translateY(20px);
}
.jtl-item.visible {
  opacity: 1;
  transform: translate(0, 0);
}
