/* ============================================================
   THE ASCEND PROGRAMME — Brand Styles
   Navy #2E2A5C · Orange #F9703E · Gold #FDBB3F
   Headings: Playfair Display · Body: Inter
============================================================ */
:root{
  --navy:#2e2a5c; --navy-2:#221e47; --navy-3:#453e83;
  --orange:#f9703e; --orange-2:#e2582a;
  --gold:#fdbb3f; --gold-2:#eea824;
  --cream:#fbf3e4; --bg:#fafafc; --ink:#2b2b3a; --muted:#65657c; --line:#e7e7ef;
  --shadow:0 12px 32px rgba(34,30,71,.09); --radius:16px;
}
html{scroll-behavior:smooth}
[id]{scroll-margin-top:96px}
body{font-family:'Inter',sans-serif;color:var(--ink);background:var(--bg);overflow-x:hidden}
h1,h2,h3,h4,h5{font-family:'Playfair Display',serif;color:var(--navy);font-weight:700}
p{line-height:1.75}
a{text-decoration:none}
img{object-fit:cover}
.text-navy{color:var(--navy)!important}
.text-orange{color:var(--orange-2)!important}
.text-gold{color:var(--gold-2)!important}
.bg-cream{background:var(--cream)!important}
.section{padding:4.5rem 0}
.section-lg{padding:5.5rem 0}

/* Buttons */
.btn{border-radius:.65rem;font-weight:600;padding:.72rem 1.5rem;transition:.25s}
.btn-brand{background:var(--orange);color:#fff;border:1.5px solid var(--orange)}
.btn-brand:hover{background:var(--orange-2);border-color:var(--orange-2);color:#fff;transform:translateY(-2px)}
.btn-outline-brand{border:1.5px solid var(--orange);color:var(--orange-2)}
.btn-outline-brand:hover{background:var(--orange);border-color:var(--orange);color:#fff}
.btn-navy{background:var(--navy);color:#fff;border:1.5px solid var(--navy)}
.btn-navy:hover{background:var(--navy-3);border-color:var(--navy-3);color:#fff}
.btn-outline-navy{border:1.5px solid var(--navy);color:var(--navy)}
.btn-outline-navy:hover{background:var(--navy);color:#fff}
.btn-white{background:#fff;color:var(--orange-2)}
.btn-white:hover{background:var(--cream);color:var(--orange-2)}

/* Navbar */
.site-nav{padding:.85rem 0;transition:.3s;box-shadow:0 1px 0 var(--line)}
.site-nav.scrolled{box-shadow:0 10px 28px rgba(34,30,71,.1)}
.site-nav .nav-link{color:var(--ink);font-weight:500;font-size:.95rem;padding:.55rem .85rem!important;border-radius:.5rem}
.site-nav .nav-link:hover,.site-nav .nav-link.active{color:var(--orange-2)}
.dropdown-menu{border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:.5rem;margin-top:.6rem!important}
.dropdown-item{border-radius:.5rem;font-size:.92rem;padding:.55rem .9rem}
.dropdown-item:hover{background:var(--cream);color:var(--orange-2)}
.dropdown-item i{width:20px;color:var(--orange-2)}
@media(min-width:992px){.dropdown:hover>.dropdown-menu{display:block}}
.brand-mark{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--gold),var(--orange));color:#fff;display:grid;place-items:center;font-size:1.05rem;box-shadow:0 6px 14px rgba(249,112,62,.35)}
.brand-text{font-family:'Playfair Display',serif;font-weight:800;color:var(--navy);font-size:1.3rem;line-height:1;letter-spacing:.05em}
.brand-text small{display:block;font-family:'Inter',sans-serif;font-size:.56rem;font-weight:700;letter-spacing:.3em;color:var(--gold-2);text-transform:uppercase;margin-top:3px}

/* Shared typography helpers */
.eyebrow{display:inline-flex;align-items:center;gap:.55rem;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700;color:var(--orange-2);margin-bottom:.9rem}
.eyebrow::before{content:"";width:26px;height:2px;background:linear-gradient(90deg,var(--orange),var(--gold))}
.lead-2{color:var(--muted);font-size:1.05rem}
.divider-gold{width:64px;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--orange),var(--gold))}
.fancy-quote{font-family:'Playfair Display',serif;font-style:italic;font-weight:600;color:var(--gold-2);font-size:1.3rem;line-height:1.6}

/* Cards & icons */
.card-p{background:#fff;border:1px solid var(--line);border-radius:var(--radius);transition:transform .25s,box-shadow .25s;height:100%}
.card-p:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.card-p .card-body{padding:1.8rem}
.icon-badge{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;font-size:1.3rem;margin-bottom:1.1rem;background:rgba(249,112,62,.12);color:var(--orange-2)}
.icon-badge.navy{background:rgba(46,42,92,.08);color:var(--navy)}
.icon-badge.gold{background:rgba(253,187,63,.22);color:var(--gold-2)}
.num-badge{width:44px;height:44px;border-radius:12px;background:var(--navy);color:var(--gold);display:grid;place-items:center;font-family:'Playfair Display',serif;font-weight:700;font-size:1.1rem}
.link-more{font-weight:600;color:var(--orange-2);font-size:.92rem}
.link-more i{transition:.2s}
.link-more:hover{color:var(--orange-2)}
.link-more:hover i{transform:translateX(4px)}
.chip{display:inline-block;padding:.42rem .95rem;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--navy);font-size:.85rem;font-weight:500;margin:.22rem}
.checklist{list-style:none;padding:0;margin:0}
.checklist li{position:relative;padding-left:1.9rem;margin-bottom:.7rem;line-height:1.6}
.checklist li::before{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;left:0;top:.12em;color:var(--orange);font-size:.85rem}
.mini-list{list-style:none;padding:0;margin:0}
.mini-list li{position:relative;padding-left:1.25rem;margin-bottom:.45rem;line-height:1.55;font-size:.94rem}
.mini-list li::before{content:"\f105";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;left:0;color:var(--orange)}
.callout{background:var(--cream);border-left:4px solid var(--gold);border-radius:12px;padding:1.6rem 1.8rem}
.soon-badge{font-size:.62rem;background:var(--gold);color:#3a2c05;border-radius:99px;padding:.18rem .6rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;vertical-align:middle}

/* Images */
.img-rounded{border-radius:20px;box-shadow:var(--shadow);width:100%}
.r43{aspect-ratio:4/3}
.r32{aspect-ratio:3/2}

/* Home hero */
.hero{position:relative;padding:6.5rem 0 5.5rem;background:
 radial-gradient(700px 420px at 92% 8%,rgba(253,187,63,.16),transparent 60%),
 radial-gradient(600px 420px at 2% 95%,rgba(249,112,62,.1),transparent 60%),var(--bg)}
.hero h1{font-size:clamp(2.5rem,5vw,3.9rem);line-height:1.1}
.hero-img{position:relative;z-index:0}
.hero-img img{border-radius:24px;box-shadow:var(--shadow);width:100%;aspect-ratio:.95}
.hero-img::after{content:"";position:absolute;right:-16px;bottom:-16px;width:58%;height:58%;background:linear-gradient(135deg,var(--gold),var(--orange));border-radius:24px;z-index:-1}
.float-card{position:absolute;left:-26px;bottom:26px;background:#fff;border-radius:14px;box-shadow:var(--shadow);padding:.9rem 1.15rem;display:flex;gap:.8rem;align-items:center}
.float-card .icon-badge{margin:0;width:44px;height:44px;font-size:1.05rem}
@media(max-width:575.98px){.float-card{left:12px}}
.stat h3{font-size:2.3rem;margin:0}
.stat span{color:var(--muted);font-size:.9rem}

/* Inner page hero */
.page-hero{position:relative;background:linear-gradient(135deg,var(--navy-2),var(--navy) 55%,var(--navy-3));color:#fff;padding:6rem 0 4.2rem;overflow:hidden}
.page-hero h1{color:#fff}
.page-hero .lead{color:#d8d7ea}
.page-hero .kicker{color:var(--gold);letter-spacing:.24em;text-transform:uppercase;font-weight:700;font-size:.75rem}
.page-hero::before{content:"";position:absolute;top:-120px;right:-80px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(253,187,63,.25),transparent 65%)}
.page-hero::after{content:"";position:absolute;bottom:-150px;left:-60px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(249,112,62,.22),transparent 65%)}
.page-hero .container{position:relative;z-index:1}
.breadcrumb{--bs-breadcrumb-divider-color:#8f8bb5;margin-bottom:.9rem;font-size:.9rem}
.breadcrumb a{color:var(--gold)}
.breadcrumb-item.active{color:#cfcde4}

/* Bands */
.band-navy{background:var(--navy)}
.ghost-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:1.6rem;height:100%;color:#cfcde4}
.ghost-card h5{color:#fff}
.ghost-card .icon-badge{background:rgba(253,187,63,.16);color:var(--gold)}
.quote-band{background:var(--navy);border-radius:24px;padding:3.5rem 2.5rem;text-align:center;position:relative;overflow:hidden}
.quote-band::before{content:"";position:absolute;top:-80px;right:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(253,187,63,.18),transparent 65%)}
.quote-band .fa-quote-left{color:var(--gold);font-size:1.8rem;margin-bottom:1.1rem}
.quote-band p{font-family:'Playfair Display',serif;font-style:italic;font-weight:600;font-size:clamp(1.2rem,2.3vw,1.65rem);color:var(--gold);max-width:820px;margin:0 auto;line-height:1.6}
.cta-band{background:linear-gradient(120deg,var(--orange),var(--gold));border-radius:24px;padding:3.4rem 2rem;color:#fff}
.cta-band h2{color:#fff}
.cta-band p{color:#fff4e8}

/* Pillar banner / steps / table */
.step{text-align:center;padding:1rem}
.step .step-num{width:56px;height:56px;border-radius:50%;background:var(--navy);color:var(--gold);font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:700;display:grid;place-items:center;margin:0 auto 1rem}
.table-brand{border:1px solid var(--line);background:#fff}
.table-brand thead th{background:var(--navy);color:#fff;border-color:rgba(255,255,255,.15);font-size:.88rem;vertical-align:middle}
.table-brand tbody th{color:var(--navy);background:var(--cream);width:160px;font-size:.9rem}
.table-brand td{font-size:.92rem;line-height:1.65;color:var(--ink)}
.table-brand tbody tr:nth-child(even) td{background:#f5f4fb}

/* Testimonials / events / gallery */
.testimonial{background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:14px;padding:1.7rem;height:100%}
.testimonial .fa-quote-left{color:var(--gold)}
.event-when{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-2)}
.gallery-item{border-radius:14px;overflow:hidden;display:block}
.gallery-item img{width:100%;aspect-ratio:4/3;transition:transform .4s}
.gallery-item:hover img{transform:scale(1.07)}

/* Accordion & forms */
.accordion-item{border:1px solid var(--line);border-radius:12px!important;margin-bottom:.75rem;overflow:hidden}
.accordion-button{font-weight:600;color:var(--navy)}
.accordion-button:not(.collapsed){background:var(--cream);color:var(--orange-2);box-shadow:none}
.accordion-button:focus{box-shadow:none}
.form-control,.form-select{border-radius:10px;border-color:var(--line);padding:.75rem 1rem}
.form-control:focus,.form-select:focus{border-color:var(--orange);box-shadow:0 0 0 .2rem rgba(249,112,62,.15)}

/* Footer */
.site-footer{background:var(--navy-2);color:#b9b7cf;padding:4.2rem 0 0}
.site-footer h6{color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700;margin-bottom:1.1rem}
.site-footer a{color:#c9c7dd;font-size:.92rem}
.site-footer a:hover{color:var(--gold)}
.site-footer .brand-text{color:#fff}
.footer-line{border-top:1px solid rgba(255,255,255,.09)}
.social-btn{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.07);color:#fff!important;transition:.25s}
.social-btn:hover{background:var(--orange);transform:translateY(-2px)}
.tagline{font-family:'Playfair Display',serif;font-style:italic;font-weight:600;color:var(--gold);font-size:1.05rem}