/* ==========================================================================
   asiaminddynamics.com  -  shared stylesheet
   Colour system built from the real current site (screenshots), refined:
   plum (primary) + teal (secondary) + gold (action/CTA), rose retired.
   Every page on the site links to this one file  -  edit here, changes
   apply everywhere.
   ========================================================================== */

:root{
  --plum:#5E1852;
  --plum-dark:#3D0F35;
  --plum-pale:#F4E9F1;
  --teal:#2E97A3;
  --teal-pale:#E4F3F4;
  --gold:#B8860B;
  --gold-light:#E8C878;
  --gold-pale:#F8EFD6;
  --bg:#FAF8F5;
  --surface:#FFFFFF;
  --ink:#1A0E19;
  --ink-soft:#4A3846;
  --muted:#7A6B76;
  --line:#EAE2E7;
  --radius:3px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg); color:var(--ink); font-family:'Inter', sans-serif;
  line-height:1.65; -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:'Fraunces', serif; font-weight:600; color:var(--ink); letter-spacing:-0.01em;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1120px; margin:0 auto; padding:0 32px;}
em{font-style:italic; color:var(--plum);}

/* ---- Full-width announcement banner ---- */
.announce-bar{background:var(--plum-dark); color:#fff;}
.announce-inner{display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap; padding:11px 32px; font-size:13.5px; text-align:center;}
.announce-inner span{color:#EAD9E6;}
.announce-inner a{color:var(--gold-light); font-weight:700; white-space:nowrap; border-bottom:1px solid rgba(232,200,120,0.4);}
.announce-inner a:hover{color:#fff; border-color:#fff;}

.lineage-row{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}

.lineage-strip{display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:14px; padding-top:14px; border-top:1px solid var(--line);}
.lineage-strip img{width:100%; height:90px; object-fit:cover; border-radius:6px; display:block; filter:grayscale(15%); opacity:0.92;}
.lineage-strip p{font-size:11px; color:var(--muted); margin-top:6px; text-align:center; line-height:1.3;}
@media (max-width:600px){ .lineage-strip{grid-template-columns:repeat(2,1fr);} }

/* ---- Top accent bar (teal  -  from the original site) ---- */
.top-accent{height:5px; background:var(--teal);}

/* ---- Lead magnet sign-up box ---- */
.signup-box{background:var(--plum); border-radius:8px; padding:48px; display:grid; grid-template-columns:1fr 1.2fr; gap:40px; align-items:center; color:#fff;}
.signup-box .kicker, .signup-box h2, .signup-box h3{color:#fff;}
.signup-box .kicker{color:var(--gold-light);}
.signup-box p{color:rgba(255,255,255,0.82); font-size:16px; margin-top:12px;}
.signup-form{background:#fff; border-radius:6px; padding:28px; display:flex; flex-direction:column; gap:12px;}
.signup-form input{padding:12px 14px; border:1px solid var(--line); border-radius:var(--radius); font-family:'Inter',sans-serif; font-size:14px; color:var(--ink);}
.signup-form input:focus{outline:2px solid var(--gold); outline-offset:1px;}
.signup-form button{background:var(--gold); color:#fff; border:none; padding:13px; font-size:14px; font-weight:700; border-radius:var(--radius); cursor:pointer; transition:background 0.2s;}
.signup-form button:hover{background:var(--plum-dark);}
.signup-form .fine{font-size:11.5px; color:var(--muted); text-align:center; margin-top:2px;}
@media (max-width:860px){ .signup-box{grid-template-columns:1fr;} }

/* ---- Header / Nav ---- */
header{position:sticky; top:0; z-index:50; background:rgba(250,248,245,0.94); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
.nav-inner{max-width:1280px; margin:0 auto; padding:14px 28px; display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:nowrap;}
.brand{font-family:'Fraunces', serif; font-weight:600; font-size:16.5px; color:var(--plum); white-space:nowrap; flex-shrink:0;}
nav{flex:1; min-width:0;}
nav ul{list-style:none; display:flex; gap:14px; flex-wrap:wrap; justify-content:center;}
nav a{font-size:12.5px; color:var(--ink-soft); font-weight:500; transition:color 0.2s; white-space:nowrap;}
nav a:hover, nav a.active{color:var(--plum);}
.nav-cta{font-size:13px; font-weight:600; color:#fff; background:var(--gold); padding:9px 16px; border-radius:var(--radius); white-space:nowrap; transition:background 0.2s; flex-shrink:0;}
.nav-cta:hover{background:var(--plum);}
@media (max-width:1180px){
  nav ul{gap:11px;}
  nav a{font-size:12px;}
}

/* ---- Page hero ---- */
.page-hero{padding:64px 0 48px; border-bottom:1px solid var(--line);}
.page-hero .kicker{color:var(--gold);}
.page-hero h1{font-size:clamp(30px,4.5vw,46px); line-height:1.12; max-width:760px;}
.page-hero p{font-size:17px; color:var(--ink-soft); max-width:600px; margin-top:16px;}
.coaching-hero-split{display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:center;}
@media (max-width:860px){ .coaching-hero-split{grid-template-columns:1fr;} }

/* ---- Hero (homepage, full) ---- */
/* ---- Full-width split hero: photo one side, text the other ---- */
.hero-split{display:grid; grid-template-columns:1fr 1fr; min-height:560px; width:100%;}
.hero-media{position:relative; overflow:hidden; min-height:340px;}
.hero-media img{width:100%; height:100%; object-fit:cover; object-position:center 22%; position:absolute; inset:0;}
@media (min-width:1400px){ .hero-split{min-height:680px;} }
@media (min-width:1800px){ .hero-split{min-height:820px;} }
.hero-copy{display:flex; flex-direction:column; justify-content:center; padding:64px 56px; max-width:640px;}
.hero-copy .eyebrow{margin-bottom:20px;}
.hero-copy h1{font-size:clamp(32px,3.6vw,50px); line-height:1.12; margin-bottom:20px;}
.hero-copy .hero-sub{font-size:17px; color:var(--ink-soft); margin-bottom:32px;}
@media (max-width:900px){
  .hero-split{grid-template-columns:1fr;}
  .hero-media{min-height:280px; order:-1;}
  .hero-copy{padding:40px 24px; max-width:100%;}
}
.eyebrow{display:inline-block; font-size:12.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold); font-weight:700; margin-bottom:24px;}
.btn-row{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}
.btn-primary{background:var(--gold); color:#fff; padding:14px 30px; font-size:14.5px; font-weight:700; border-radius:var(--radius); transition:all 0.2s; box-shadow:0 6px 16px rgba(184,134,11,0.28); display:inline-block;}
.btn-primary:hover{background:var(--plum); box-shadow:0 6px 16px rgba(94,24,82,0.32); transform:translateY(-1px);}
.btn-secondary{padding:14px 26px; font-size:14.5px; font-weight:600; color:var(--plum); border-bottom:1.5px solid var(--gold);}

/* ---- Trust strip ---- */
.trust-strip{background:var(--plum-pale); padding:28px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.trust-row{display:flex; justify-content:center; gap:48px; flex-wrap:wrap; align-items:center;}
.trust-item{display:flex; align-items:center; gap:10px; font-size:13px; font-weight:600; color:var(--plum-dark);}
.trust-item .dot{width:6px; height:6px; border-radius:50%; background:var(--gold);}

/* ---- Sections ---- */
.section{padding:88px 0;}
.section-tint{background:var(--surface); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.section-plum{background:var(--plum); color:#fff;}
.section-plum h2, .section-plum h3, .section-plum .kicker{color:#fff;}
.section-plum em{color:var(--gold-light);}
.kicker{font-size:12.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold); font-weight:700; margin-bottom:12px;}
.section h2{font-size:clamp(26px,4vw,38px); line-height:1.16; max-width:620px;}
.section-lead{font-size:16.5px; color:var(--ink-soft); max-width:620px; margin-top:16px;}
.section-plum .section-lead{color:rgba(255,255,255,0.82);}
.center{text-align:center; margin-left:auto; margin-right:auto;}

/* ---- Icon badge circles (from Training Services page) ---- */
.icon-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:48px;}
.icon-grid-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:1000px){ .icon-grid-4{grid-template-columns:1fr 1fr;} }

/* ---- Spec table ---- */
.spec-table{width:100%; border-collapse:collapse; margin-top:40px; font-size:15px;}
.spec-table th, .spec-table td{text-align:left; padding:16px 20px; border-bottom:1px solid var(--line);}
.spec-table th{width:220px; color:var(--plum); font-weight:700; background:var(--plum-pale);}
.spec-table td{color:var(--ink-soft);}
.spec-table tr:last-child th, .spec-table tr:last-child td{border-bottom:none;}
@media (max-width:640px){ .spec-table th, .spec-table td{padding:12px 14px; font-size:13.5px;} .spec-table th{width:130px;} }

/* ---- Day-by-day programme timeline ---- */
.day-list{display:flex; flex-direction:column; margin-top:40px;}
.day-row{display:grid; grid-template-columns:230px 1fr; gap:36px; padding:30px 0; border-top:1px solid var(--line);}
.day-row:last-child{border-bottom:1px solid var(--line);}
.day-num{font-family:'Fraunces', serif; font-size:38px; color:var(--gold); font-weight:700; line-height:1;}
.day-title{font-size:16px; font-weight:700; color:var(--ink); margin-top:8px;}
.day-theme{font-size:12.5px; color:var(--muted); margin-top:2px;}
.day-time{font-size:11.5px; color:var(--teal); font-weight:700; letter-spacing:0.03em; margin-top:10px; text-transform:uppercase;}
.day-desc p{font-size:16px; color:var(--ink-soft); margin-bottom:10px; line-height:1.6;}
.day-desc p:last-child{margin-bottom:0;}
@media (max-width:760px){ .day-row{grid-template-columns:1fr;} }
.icon-card{text-align:center; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:36px 24px;}
.icon-circle{width:56px; height:56px; border-radius:50%; background:var(--plum); color:#fff; display:flex; align-items:center; justify-content:center; font-size:22px; margin:0 auto 18px;}
.icon-card h4{font-size:17px; margin-bottom:10px;}
.icon-card p{font-size:15.5px; color:var(--ink-soft); margin-bottom:14px;}
.icon-card a{font-size:13px; font-weight:600; color:var(--gold);}

/* ---- Breakfast callout ---- */
.breakfast-note{display:grid; grid-template-columns:340px 1fr; gap:0; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; margin-top:16px;}
.breakfast-note-img{width:100%; height:100%; min-height:260px; object-fit:cover; display:block;}
.breakfast-note-body{padding:32px 36px; display:flex; flex-direction:column; justify-content:center; border-left:4px solid var(--gold);}
.breakfast-note-icon{font-size:26px; line-height:1; margin-bottom:10px;}
.breakfast-note h4{font-size:18px; margin-bottom:10px; color:var(--ink);}
.breakfast-note p{font-size:15.5px; color:var(--ink-soft); line-height:1.6; margin:0;}
@media (max-width:760px){ .breakfast-note{grid-template-columns:1fr;} .breakfast-note-img{min-height:220px;} .breakfast-note-body{border-left:none; border-top:4px solid var(--gold);} }

/* ---- Certification badge grid (trainer pages / About Us) ---- */
.badge-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:2px; margin-top:32px;}
.badge-grid-5{grid-template-columns:repeat(5,1fr);}
.badge-tile.has-logo{background:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center;}
.badge-tile.has-logo img{width:64px; height:64px; margin-bottom:10px; object-fit:contain;}
.badge-tile.has-logo p{color:var(--ink);}
.badge-tile{background:var(--plum); color:#fff; padding:24px 18px; text-align:center;}
.badge-tile:nth-child(4n+2){background:var(--teal);}
.badge-tile:nth-child(4n+3){background:var(--plum-dark);}
.badge-tile:nth-child(4n){background:var(--gold); color:var(--plum-dark);}
.badge-tile .seal{font-size:22px; margin-bottom:10px;}
.badge-tile p{font-size:12.5px; line-height:1.5;}

/* ---- Timeline (About Us origin story) ---- */
.timeline{position:relative; margin-top:64px; padding-left:2px;}
.timeline::before{content:''; position:absolute; left:120px; top:6px; bottom:6px; width:1px; background:var(--line);}
.tl-item{position:relative; display:grid; grid-template-columns:120px 1fr; gap:32px; padding:32px 0;}
.tl-year{font-family:'Fraunces', serif; font-weight:600; color:var(--gold); font-size:15px; text-align:right; padding-top:2px;}
.tl-dot{position:absolute; left:117px; top:8px; width:8px; height:8px; border-radius:50%; background:var(--bg); border:2px solid var(--plum);}
.tl-item h4{font-size:19px; margin-bottom:8px;}
.tl-item p{font-size:16px; color:var(--ink-soft); max-width:560px;}

/* ---- Card grids ---- */
.card-grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:48px;}
.card-grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:48px;}
.offer-card{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; height:100%;}
.offer-card img{height:170px; width:100%; object-fit:cover; flex-shrink:0;}
.offer-card .body{padding:24px; display:flex; flex-direction:column; flex:1;}
.offer-card h4{font-size:17px; margin-bottom:10px;}
.offer-card p{font-size:15.5px; color:var(--ink-soft); margin-bottom:16px;}
.offer-card .body > a:last-child{margin-top:auto; align-self:flex-start;}
.offer-card .btn-primary{padding:10px 20px; font-size:13px; display:inline-block;}

/* ---- Testimonial cards ---- */
.testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:48px;}
.testi-card{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:26px;}
.testi-card.has-photo{padding:0; overflow:hidden; display:flex; flex-direction:column;}
.testi-card.has-photo img{width:100%; height:180px; object-fit:cover; display:block;}
.testi-card.has-photo .testi-body{padding:22px;}
.testi-card .stars{color:var(--gold); font-size:13px; letter-spacing:2px; margin-bottom:12px;}
.testi-card p{font-size:15.5px; color:var(--ink-soft); margin-bottom:16px;}
.testi-who{font-size:13px; font-weight:600;}
.testi-who span{display:block; font-weight:400; color:var(--muted); font-size:12px;}

/* ---- Trainer split ---- */
.trainer{display:grid; grid-template-columns:240px 1fr; gap:40px; padding:48px 0; border-top:1px solid var(--line);}
.trainer:last-child{border-bottom:1px solid var(--line);}
.trainer img{border-radius:var(--radius); aspect-ratio:1/1; object-fit:cover; width:100%;}
.trainer-role{font-size:12.5px; color:var(--gold); font-weight:700; letter-spacing:0.03em; margin-bottom:6px; text-transform:uppercase;}
.trainer h3{font-size:24px; margin-bottom:12px;}
.trainer p{color:var(--ink-soft); font-size:16px; margin-bottom:12px;}
.trainer .badge-tile p{color:#fff; margin-bottom:0;}
.trainer .badge-tile:nth-child(4n) p{color:var(--plum-dark);}
.trainer .badge-tile.has-logo p{color:var(--ink);}

/* ---- FAQ ---- */
.faq-item{border-top:1px solid var(--line); padding:22px 0;}
.faq-item:last-child{border-bottom:1px solid var(--line);}
.faq-item summary{cursor:pointer; font-family:'Fraunces', serif; font-size:17px; font-weight:600; list-style:none; display:flex; justify-content:space-between; gap:16px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+'; color:var(--gold); font-size:20px; font-family:'Inter';}
.faq-item[open] summary::after{content:'\2013';}
.faq-item p{margin-top:14px; color:var(--ink-soft); font-size:16px; max-width:660px;}

/* ---- Contact ---- */
.contact-methods{display:flex; justify-content:center; gap:48px; flex-wrap:wrap; margin-top:40px;}
.contact-method{max-width:230px;}
.contact-method h5{font-size:15px; margin-bottom:6px;}
.contact-method a, .contact-method span{font-size:14.5px; color:var(--ink-soft); line-height:1.5;}
.contact-method .ic{font-size:24px; margin-bottom:10px;}

/* ---- Floating WhatsApp button ---- */
.whatsapp-float{position:fixed; bottom:22px; right:22px; width:52px; height:52px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 2px 10px rgba(0,0,0,0.18); z-index:40; text-decoration:none; transition:transform 0.15s ease;}
.whatsapp-float:hover{transform:scale(1.06);}
.whatsapp-float svg{width:26px; height:26px;}
@media (max-width:600px){ .whatsapp-float{width:48px; height:48px; bottom:16px; right:16px;} .whatsapp-float svg{width:24px; height:24px;} }

/* ---- Footer ---- */
footer{background:var(--plum-dark); color:#D9C7D5; padding:56px 0 28px;}
.footer-grid{display:grid; grid-template-columns:2fr 1fr 1fr; gap:36px; padding-bottom:32px; border-bottom:1px solid rgba(255,255,255,0.12);}
.footer-grid h5{color:#fff; font-size:12.5px; letter-spacing:0.08em; text-transform:uppercase; margin-bottom:14px;}
.footer-grid ul{list-style:none;}
.footer-grid li{margin-bottom:9px; font-size:13.5px;}
.footer-grid a:hover{color:var(--gold-light);}
.footer-brand{font-family:'Fraunces'; font-size:18px; color:#fff; margin-bottom:12px;}
.footer-grid p{font-size:13.5px; color:#C0A9BC; max-width:320px;}
.footer-bottom{padding-top:20px; font-size:12.5px; color:#A88FA3; text-align:center;}

/* ---- Marquee (photo strip) ---- */
.marquee-wrap{margin-top:48px; overflow:hidden; -webkit-mask-image:linear-gradient(to right,transparent,black 6%,black 94%,transparent); mask-image:linear-gradient(to right,transparent,black 6%,black 94%,transparent);}
.marquee-track{display:flex; gap:14px; width:max-content; animation:scroll 30s linear infinite;}
.marquee-wrap:hover .marquee-track{animation-play-state:paused;}
.marquee-track img{height:200px; width:280px; object-fit:cover; border-radius:var(--radius); flex-shrink:0;}
@keyframes scroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}

@media (max-width:860px){
  nav ul{display:none;}
  .icon-grid, .card-grid-3, .card-grid-4, .testi-grid, .badge-grid, .badge-grid-5, .lineage-row{grid-template-columns:1fr 1fr;}
  .trainer{grid-template-columns:1fr;}
  .trainer img{max-width:200px;}
  .footer-grid{grid-template-columns:1fr;}
  .timeline::before{left:14px;}
  .tl-item{grid-template-columns:1fr; gap:8px; padding-left:32px;}
  .tl-dot{left:11px;}
  .tl-year{text-align:left;}
}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} .marquee-track{animation:none;} }
:focus-visible{outline:2px solid var(--gold); outline-offset:2px;}
