@charset "UTF-8";

/* ==========================================================================
   01. DESIGN TOKENS
   ========================================================================== */
:root {

  /* --- Colour Palette --- */
  --clr-primary:          #ee660d;
  --clr-primary-dark:     #A46E2D;
  --clr-gold:             #C9A84C;
  --clr-gold-light:       #E8C97A;
  --clr-bg-warm:          #FAFAFA;
  --clr-bg-gold-light:    #F4E8D1;
  --clr-bg-gold-gradient: linear-gradient(145deg, #F9F2E4 0%, #EAD9B8 100%);
  --clr-dark:             #28231e;
  --clr-muted:            #706B64;
  --clr-white:            #FFFFFF;
  --clr-card-shadow:      rgba(43, 41, 39, 0.06);
  --clr-border:           rgba(0, 0, 0, 0.08);

  /* Semantic colour aliases */
  --text-dark:            var(--clr-dark);
  --text-muted:           var(--clr-muted);
  --text-hero:            #FFFFFF;
  --text-on-dark:         rgba(255, 255, 255, 0.80);
  --bg-dark:              #28231e;
  --accent:               var(--clr-primary);
  --gold:                 var(--clr-gold);
  --gold-light:           var(--clr-gold-light);
  --white:                var(--clr-white);
  --section-bg:           var(--clr-white);

  /* --- Typography --- */
  --font-display:   'Fraunces', Georgia, serif;
  --font-body:      'Google Sans', system-ui, -apple-system, sans-serif;

  /* Font Weights */
  --fw-light:       300;
  --fw-regular:     400;
  --fw-medium:      500;
  --fw-semibold:    600;
  --fw-bold:        700;

  /* Type Scale — fluid via clamp(), no media query overrides needed */
  --fs-2xs:   clamp(0.65rem,  1vw,   0.75rem);
  --fs-xs:    clamp(0.75rem,  1.2vw, 0.85rem);
  --fs-sm:    clamp(0.80rem,  1.4vw, 0.90rem);
  --fs-base:  clamp(0.90rem,  1.6vw, 1.00rem);
  --fs-md:    clamp(1.00rem,  1.8vw, 1.125rem);
  --fs-lg:    clamp(1.125rem, 2vw,   1.375rem);
  --fs-xl:    clamp(1.375rem, 2.5vw, 1.75rem);
  --fs-2xl:   clamp(1.75rem,  3.5vw, 2.25rem);
  --fs-3xl:   clamp(2.00rem,  4.5vw, 3.00rem);

  /* Line Heights */
  --lh-tight:    1.15;
  --lh-snug:     1.35;
  --lh-normal:   1.60;
  --lh-relaxed:  1.75;

  /* Letter Spacing */
  --ls-tight:   -0.01em;
  --ls-normal:   0;
  --ls-wide:     0.04em;
  --ls-wider:    0.08em;

  /* --- Buttons --- */
  --btn-primary-bg:           var(--clr-primary);
  --btn-primary-bg-hover:     var(--clr-primary-dark);
  --btn-primary-text:         #FFFFFF;
  --btn-secondary-bg:         transparent;
  --btn-secondary-border:     var(--clr-primary);
  --btn-secondary-text:       var(--clr-primary);
  --btn-secondary-bg-hover:   var(--clr-primary);
  --btn-secondary-text-hover: #FFFFFF;
  --btn-dark-bg:              var(--clr-dark);
  --btn-dark-bg-hover:        #1a1917;
  --btn-dark-text:            #FFFFFF;
  --btn-ghost-text:           var(--clr-dark);
  --btn-ghost-text-hover:     var(--clr-primary);
  --btn-radius:               8px;
  --btn-radius-pill:          100px;
  --btn-padding-y:            0.6rem;
  --btn-padding-x:            1.5rem;
  --btn-font-size:            var(--fs-base);
  --btn-font-weight:          var(--fw-medium);
  --btn-line-height:          1.5;
  --btn-letter-spacing:       var(--ls-wide);
  --btn-sm-padding-y:         0.4rem;
  --btn-sm-padding-x:         1rem;
  --btn-sm-font-size:         var(--fs-sm);
  --btn-lg-padding-y:         0.8rem;
  --btn-lg-padding-x:         2rem;
  --btn-lg-font-size:         var(--fs-md);
  --btn-transition:           background-color 0.2s ease, border-color 0.2s ease,
                              color 0.2s ease, box-shadow 0.2s ease;

  /* --- Portrait (Hero) --- */
  --portrait-size:    300px;
  --portrait-size-md: 260px;
  --portrait-size-sm: 220px;

  /* --- Transitions --- */
  --transition-smooth: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* ==========================================================================
   02. BASE RESET & BODY
   ========================================================================== */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  outline: transparent;
  /*border: 1px solid red;*/
}

html {
  scroll-behavior: smooth;
}

body {
  font-family:            var(--font-body);
  font-size:              var(--fs-base);
  font-weight:            var(--fw-regular);
  line-height:            var(--lh-normal);
  color:                  var(--text-dark);
  background-color:       var(--clr-white);
  overflow-x:             hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

section {
  padding: 120px 0;
}

/* ==========================================================================
   03. TYPOGRAPHY SYSTEM
   ========================================================================== */

/* --- Headings --- */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-tight);
  color:       var(--text-dark);
  margin-top:  0;
}

h1 { font-size: var(--fs-3xl); }
h2 { font-size: var(--fs-2xl); }
h3 { font-size: var(--fs-xl);  }
h4 { font-size: var(--fs-lg);  }
h5 { font-size: var(--fs-md);  }
h6 { font-size: var(--fs-base); font-weight: var(--fw-medium); }

/* --- Paragraph & Links --- */
p {
  font-size:   var(--fs-base);
  line-height: var(--lh-normal);
  margin-top:  0;
}

a {
  font-family:      inherit;
  font-size:        inherit;
  color:            var(--clr-dark);
  border-bottom:    1px solid transparent;
  text-decoration:  none;
}

a:hover {
  border-bottom-color: var(--accent);
  color:               var(--accent);
}

small { font-size: var(--fs-sm); }

/* --- Content Role Classes --- */
.text-hero            { font-family: var(--font-display); font-size: var(--fs-3xl); font-weight: var(--fw-semibold); line-height: var(--lh-tight); letter-spacing: var(--ls-tight);}
.text-section-title   { font-family: var(--font-display); font-size: var(--fs-2xl); font-weight: var(--fw-semibold); line-height: var(--lh-snug);}
.text-section-title-s { font-family: var(--font-display); font-size: var(--fs-xl);  font-weight: var(--fw-semibold); line-height: var(--lh-snug);}
.text-subsection      { font-family: var(--font-display); font-size: var(--fs-lg);  font-weight: var(--fw-medium);   line-height: var(--lh-snug);}
.text-card-title      { font-family: var(--font-display); font-size: var(--fs-lg);  font-weight: var(--fw-medium);   line-height: var(--lh-snug);}
.text-lead            { font-family: var(--font-body);    font-size: var(--fs-md);  font-weight: var(--fw-regular);  line-height: var(--lh-relaxed);}
.text-body            { font-family: var(--font-body);    font-size: var(--fs-base);font-weight: var(--fw-regular);  line-height: var(--lh-normal);}
.text-article         { font-family: var(--font-body);    font-size: var(--fs-md);  font-weight: var(--fw-regular);  line-height: var(--lh-relaxed);}
.text-blog-title      { font-family: var(--font-body);    font-size: var(--fs-base);font-weight: var(--fw-medium);   line-height: var(--lh-snug);}
.text-faq-title       { font-family: var(--font-body);    font-size: var(--fs-base);font-weight: var(--fw-medium);   line-height: var(--lh-snug);}
.text-meta            { font-family: var(--font-body);    font-size: var(--fs-sm);  font-weight: var(--fw-regular);  line-height: var(--lh-normal);}
.text-footer          { font-family: var(--font-body);    font-size: var(--fs-sm);  font-weight: var(--fw-regular);  line-height: var(--lh-normal);}
.text-fine            { font-family: var(--font-body);    font-size: var(--fs-xs);  font-weight: var(--fw-regular);  line-height: var(--lh-normal);}
.text-eyebrow         { font-family: var(--font-body);    font-size: var(--fs-xs);  font-weight: var(--fw-bold);     line-height: var(--lh-normal); letter-spacing: 2px; text-transform: uppercase;}

/* --- Weight Utilities --- */
.fw-light    { font-weight: var(--fw-light);   }
.fw-regular  { font-weight: var(--fw-regular); }
.fw-medium   { font-weight: var(--fw-medium);  }
.fw-semibold { font-weight: var(--fw-semibold);}
.fw-bold     { font-weight: var(--fw-bold);    }

/* ==========================================================================
   04. BUTTON SYSTEM
   ========================================================================== */

/* --- Base --- */
.btn {
  font-family:     var(--font-body);
  font-size:       var(--btn-font-size);
  font-weight:     var(--btn-font-weight);
  line-height:     var(--btn-line-height);
  letter-spacing:  var(--btn-letter-spacing);
  padding:         var(--btn-padding-y) var(--btn-padding-x);
  border-radius:   var(--btn-radius);
  border-width:    1px;
  border-style:    solid;
  display:         inline-block;
  text-decoration: none;
  cursor:          pointer;
  transition:      var(--btn-transition);
  white-space:     nowrap;
}

.btn:focus-visible {
  outline:        2px solid var(--btn-primary-bg);
  outline-offset: 3px;
}

/* --- Variants --- */
.btn-main,
.btn-primary {
  background-color: var(--btn-primary-bg);
  border-color:     var(--btn-primary-bg);
  color:            var(--btn-primary-text);
}

.btn-main:hover,
.btn-primary:hover {
  background-color: var(--btn-primary-bg-hover);
  border-color:     var(--btn-primary-bg-hover);
  color:            var(--btn-primary-text);
}

.btn-secondary-outline {
  background-color: var(--btn-secondary-bg);
  border-color:     var(--btn-secondary-border);
  color:            var(--btn-secondary-text);
}

.btn-secondary-outline:hover {
  background-color: var(--btn-secondary-bg-hover);
  border-color:     var(--btn-secondary-bg-hover);
  color:            var(--btn-secondary-text-hover);
}

.btn-dark-main {
  background-color: var(--btn-dark-bg);
  border-color:     var(--btn-dark-bg);
  color:            var(--btn-dark-text);
}

.btn-dark-main:hover {
  background-color: var(--btn-dark-bg-hover);
  border-color:     var(--btn-dark-bg-hover);
  color:            var(--btn-dark-text);
}

/* Mission CTA — pill style used in section-mission */
.btn-mission-cta {
  background-color: var(--clr-primary);
  border:           2px solid transparent;
  border-radius:    var(--btn-radius-pill);
  color:            var(--clr-white);
  padding:          12px 35px;
  font-weight:      var(--fw-semibold);
  font-size:        var(--fs-base);
  letter-spacing:   0.5px;
  box-shadow:       0 6px 20px rgba(197, 139, 67, 0.25);
  transition:       var(--transition-smooth);
}

.btn-mission-cta:hover {
  background-color: transparent;
  border-color:     var(--clr-primary);
  color:            var(--clr-primary);
  transform:        translateY(-2px);
  box-shadow:       0 10px 25px rgba(197, 139, 67, 0.15);
}

/* Ghost / text link */
.btn-link,
.btn-ghost,
.btn-custom-link {
  background-color: transparent;
  border-color:     transparent;
  color:            var(--clr-primary);
  padding-left:     0;
  padding-right:    0;
  font-weight:      var(--fw-bold);
  font-size:        var(--fs-base);
  letter-spacing:   var(--ls-normal);
  text-decoration:  none;
  display:          inline-flex;
  align-items:      center;
  gap:              8px;
  transition:       var(--transition-smooth);
}

.btn-link:hover,
.btn-ghost:hover,
.btn-custom-link:hover {
  color:            var(--clr-primary-dark);
  background-color: transparent;
  border-color:     transparent;
}

.btn-custom-link i {
  transition: transform 0.2s ease;
}

.btn-custom-link:hover i {
  transform: translateX(4px);
}

/* --- Sizes --- */
.btn-sm   { padding: var(--btn-sm-padding-y) var(--btn-sm-padding-x); font-size: var(--btn-sm-font-size); }
.btn-lg   { padding: var(--btn-lg-padding-y) var(--btn-lg-padding-x); font-size: var(--btn-lg-font-size); }
.btn-pill { border-radius: var(--btn-radius-pill); }
.btn-block { width: 100%; display: block; text-align: center; }

.bg-gold-gradient {
  background: var(--clr-bg-gold-gradient);
}

.bg-warm {
  background: var(--clr-bg-warm);
}

.clr-primary {
  color: var(--clr-primary);
}

.clr-white {
  color: var(--clr-white);
}

.clr-gray {
  color: var(--clr-muted);
}

.clr-gold {
  color: var(--clr-gold);
}

.clr-gold-light {
  color: var(--clr-gold-light);
}

/* ==========================================================================
   05. GLOBAL COMPONENTS
   ========================================================================== */

/* Label/eyebrow above headings */


/* ==========================================================================
   06. NAVIGATION
   ========================================================================== */
.navbar {
  background:  var(--clr-white);
  box-shadow:  0 2px 4px rgba(33, 51, 67, 0.12);
  height:      90px;
  padding:     0;
  position:    fixed;
  top:         0;
  right:       0;
  left:        0;
  z-index:     1030;
}

.navbar-brand {
  padding: 0;
  display: block;
  width:   200px;
  height:  68px;
}

.navbar-brand:hover {
  border-bottom-color: transparent;
}

.navbar-brand img {
  width: 100%;
  height: 100%;
}

.navbar .navbar-nav a {
  transition: none;
}

.navbar .navbar-nav .nav-link {
  margin:      0;
  padding:     0 20px;
  font-size:   var(--fs-base);
  font-weight: var(--fw-medium);
  line-height: 90px;
  position:    relative;
}

.navbar .navbar-nav .nav-link.current,
.navbar .navbar-nav .nav-link:hover {
  color: var(--clr-primary);
}

.navbar .navbar-nav .dropdown-item:focus,
.navbar .navbar-nav .dropdown-item:hover {
  background-color: #eaf0f6;
  color:            var(--clr-dark);
}

.navbar .dropdown-header {
  color:         #33475b;
  margin-bottom: 5px;
  padding:       0;
}

.navbar .dropdown-menu {
  margin: 0;
}

.navbar .dropdown-menu .dropdown-item {
  padding:       4px 8px;
  font-size:     var(--fs-sm);
  font-weight:   var(--fw-regular);
  margin-bottom: 2px;
  border-radius: 4px;
}

.navbar .dropdown-menu li:last-child .dropdown-item {
  border-bottom: none;
}

.navbar .dropdown-toggle::after {
  vertical-align: middle;
}

.navbar .navbar-nav .nav-link.contact-btn {
  background-color: var(--btn-primary-bg);
  border:           1px solid var(--btn-primary-bg);
  border-radius:    var(--btn-radius);
  color:            var(--btn-primary-text);
  font-weight:      var(--btn-font-weight);
  font-size:        var(--fs-2xs);
  line-height:      34px;
  margin:           27px 0 0 20px;
  padding:          0 15px;
  transition:       var(--btn-transition);
}

.navbar .navbar-nav .nav-link.contact-btn:hover {
  background-color: var(--btn-primary-bg-hover);
  border-color:     var(--btn-primary-bg-hover);
  color:            var(--btn-primary-text);
}

@media (min-width: 1200px) {
  .navbar .nav-item .dropdown-menu {
    display:    block;
    opacity:    0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    margin-top: -16px;
    padding:    5px;
    border-radius: 4px;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  }

  .navbar .nav-item:hover .nav-link {
    color: var(--clr-primary);
  }

  .navbar .nav-item:hover .dropdown-menu {
    opacity:    1;
    visibility: visible;
    top:        100%;
    transform:  rotateX(0deg);
  }
}

@media (max-width: 1199.98px) {
  .navbar>.container-fluid {
    padding-left:  0;
    padding-right: 0;
  }

  .navbar-brand {
    margin: 11px 0 11px 20px;
  }

  .navbar .navbar-nav {
    background-color: var(--clr-white);
    height:           calc(100vh - 90px);
  }

  .navbar .navbar-nav .nav-item {
    border-top: 1px solid #d8d8d8;
    padding:    10px 20px;
  }

  .navbar .navbar-nav li:last-child.nav-item {
    background-color: var(--clr-primary);
    border-top:       none;
  }

  .navbar .navbar-nav li:last-child.nav-item .nav-link {
    background-color: transparent;
    color:            var(--clr-white);
  }

  .navbar .navbar-nav li:last-child.nav-item .nav-link i {
    float:        left;
    transform:    rotate(0deg);
    margin-right: 6px;
  }

  .navbar .nav-item .nav-link i {
    float:     right;
    transform: rotate(-90deg);
    transition: transform 0.3s ease;
  }

  .navbar .nav-item .nav-link.show i {
    transform: rotate(0deg);
  }

  .navbar .navbar-nav .nav-link {
    margin:      0;
    padding:     0;
    line-height: inherit;
    border-bottom: 0;
  }

  .navbar .navbar-nav .nav-link:hover {
    border-bottom: 0;
  }

  .navbar .dropdown-menu {
    background-color: #eaf0f6;
    border-color:     transparent;
    padding:          5px;
    margin:           15px 0 10px;
  }

  .navbar-toggler:focus {
    box-shadow: none;
  }

  /* Hamburger */
  .hamburger {
    display:             inline-block;
    cursor:              pointer;
    transition-property: opacity, filter;
    transition-duration: 0.15s;
    transition-timing-function: linear;
    font:                inherit;
    color:               inherit;
    text-transform:      none;
    background-color:    transparent;
    border:              0;
    margin:              0 20px 0 0;
    padding:             0;
    overflow:            visible;
    line-height:         90px;
  }

  .hamburger.is-active .hamburger-inner,
  .hamburger.is-active .hamburger-inner::before,
  .hamburger.is-active .hamburger-inner::after {
    background-color: var(--clr-dark);
  }

  .hamburger-box {
    width:    26px;
    height:   18px;
    display:  inline-block;
    position: relative;
  }

  .hamburger-inner {
    display:    block;
    top:        50%;
    margin-top: -2px;
  }

  .hamburger-inner,
  .hamburger-inner::before,
  .hamburger-inner::after {
    width:                     26px;
    height:                    2px;
    background-color:          var(--clr-dark);
    border-radius:             0;
    position:                  absolute;
    transition-property:       transform;
    transition-duration:       0.15s;
    transition-timing-function: ease;
  }

  .hamburger-inner::before,
  .hamburger-inner::after {
    content: "";
    display: block;
  }

  .hamburger-inner::before { top: -10px; }
  .hamburger-inner::after  { bottom: -10px; }

  /* Spring variant */
  .hamburger--spring .hamburger-inner {
    top:        5px;
    transition: background-color 0s 0.13s linear;
  }

  .hamburger--spring .hamburger-inner::before {
    top: 8px;
    transition:
      top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1),
      transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  .hamburger--spring .hamburger-inner::after {
    top: 16px;
    transition:
      top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1),
      transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  .hamburger--spring.is-active .hamburger-inner {
    transition-delay:    0.22s;
    background-color:    transparent !important;
  }

  .hamburger--spring.is-active .hamburger-inner::before {
    top: 0;
    transition:
      top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333),
      transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 10px, 0) rotate(45deg);
  }

  .hamburger--spring.is-active .hamburger-inner::after {
    top: 0;
    transition:
      top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333),
      transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 10px, 0) rotate(-45deg);
  }
}

/* ==========================================================================
   07. BOOTSTRAP ICONS
   ========================================================================== */
@font-face {
  font-display: block;
  font-family:  "bootstrap-icons";
  src:
    url("../icons/bootstrap-icons.woff2") format("woff2"),
    url("../icons/bootstrap-icons.woff")  format("woff");
}

.bi::before,
[class^="bi-"]::before,
[class*=" bi-"]::before {
  display:                inline-block;
  font-family:            bootstrap-icons !important;
  font-style:             normal;
  font-weight:            normal !important;
  font-variant:           normal;
  text-transform:         none;
  line-height:            1;
  vertical-align:         -0.125em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Icon definitions */
.bi-activity::before              { content: "\F66B"; }
.bi-arrow-right-circle-fill::before { content: "\F133"; }
.bi-book::before                  { content: "\F194"; }
.bi-bullseye::before              { content: "\F1DE"; }
.bi-calendar-date::before         { content: "\F1E4"; }
.bi-chat-square-text-fill::before { content: "\f263"; }
.bi-check-circle-fill::before     { content: "\F26A"; }
.bi-chevron-compact-right::before { content: "\F27B"; }
.bi-chevron-left::before          { content: "\F284"; }
.bi-chevron-right::before         { content: "\F285"; }
.bi-chevron-down::before          { content: "\F282"; }
.bi-circle-fill::before           { content: "\F287"; }
.bi-credit-card::before           { content: "\F2DC"; }
.bi-currency-rupee::before        { content: "\F7EC"; }
.bi-dash::before                  { content: "\F2EA"; }
.bi-envelope-fill::before         { content: "\F32C"; }
.bi-eye::before                   { content: "\F341"; }
.bi-facebook::before              { content: "\F344"; }
.bi-file-earmark-text::before     { content: "\F38B"; }
.bi-file-earmark-text-fill::before { content: "\F38A"; }
.bi-file-text::before             { content: "\F3B9"; }
.bi-flower1::before               { content: "\F3CD"; }
.bi-gem::before                   { content: "\F3E6"; }
.bi-geo-alt-fill::before          { content: "\f3e7"; }
.bi-hand-thumbs-down-fill::before { content: "\F404"; }
.bi-hand-thumbs-up-fill::before   { content: "\F406"; }
.bi-heart-pulse::before           { content: "\F76F"; }
.bi-house-fill::before            { content: "\F424"; }
.bi-instagram::before             { content: "\F437"; }
.bi-lock-fill::before             { content: "\F47A"; }
.bi-person-check::before          { content: "\F4D6"; }
.bi-play-circle::before           { content: "\F4F3"; }
.bi-plus-circle::before           { content: "\F4FA"; }
.bi-plus-circle-fill::before      { content: "\F4F9"; }
.bi-question-circle-fill::before  { content: "\F504"; }
.bi-record-circle::before         { content: "\F518"; }
.bi-record-circle-fill::before    { content: "\F517"; }
.bi-shield-shaded::before         { content: "\F53B"; }
.bi-star-fill::before             { content: "\F586"; }
.bi-sun::before                   { content: "\F5A2"; }
.bi-telephone-fill::before        { content: "\F5B4"; }
.bi-trophy::before                { content: "\F5E7"; }
.bi-trophy-fill::before           { content: "\F5E6"; }
.bi-youtube::before               { content: "\F62B"; }
.bi-arrow-right-short::before     { content: "\F135"; }
.bi-compass::before               { content: "\F2D1"; }
.bi-cloud-sun::before             { content: "\F2BE"; }
.bi-stars::before                 { content: "\F589"; }
.bi-graph-up-arrow::before        { content: "\F673"; }
.bi-diagram-3::before             { content: "\F2EE"; }
.bi-chat-dots::before             { content: "\F24A"; }
.bi-people-fill::before           { content: "\F4CF"; }

/* ==========================================================================
   08. HERO SECTION
   ========================================================================== */
.hero {
  position:       relative;
  width:          100%;
  overflow:       visible;
  background:     #0a0a0a;
  margin-top:     90px;
  padding-top:    0;
  padding-bottom: calc(var(--portrait-size) * 0.5);
}

/*.hero__media {
  position: relative;
  width:    100%;
  z-index:  0;
  line-height: 0;
}*/

.hero__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
}

.hero__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.hero__overlay {
  position: absolute;
  inset:    0;
  background: linear-gradient(
    180deg,
    rgba(10, 10, 10, 0.20) 0%,
    rgba(10, 10, 10, 0.35) 50%,
    rgba(10, 10, 10, 0.45) 100%
  );
}

/*.hero__container {
  position: absolute;
  top:      0;
  left:     0;
  right:    0;
  z-index:  1;
  padding-bottom: clamp(60px, 8vh, 100px);
}*/

.hero__container {
  position: relative;
  z-index: 1;
  padding-top: clamp(60px, 10vh, 120px);
  padding-bottom: clamp(60px, 8vh, 100px);
}

.hero__content {
  color: var(--text-hero);
}

.hero__title {
  font-family:    var(--font-display);
  font-size:      clamp(2.4rem, 5.5vw, 4rem);
  font-weight:    var(--fw-semibold);
  line-height:    var(--lh-tight);
  letter-spacing: 0.01em;
  color:          var(--text-hero);
  margin:         0 0 1rem;
  text-shadow:    0 2px 20px rgba(0, 0, 0, 0.3);
}

.hero__subtitle {
  font-family:    var(--font-body);
  font-size:      clamp(1rem, 2vw, 1.25rem);
  font-weight:    var(--fw-regular);
  letter-spacing: 0.03em;
  color:          rgba(255, 255, 255, 0.88);
  margin:         0;
  line-height:    var(--lh-normal);
}

/* Portrait breakout */
.hero__portrait-wrap {
  position:  absolute;
  bottom:    calc(var(--portrait-size) * -0.5);
  left:      50%;
  transform: translateX(-50%);
  z-index:   10;
  width:     var(--portrait-size);
  height:    var(--portrait-size);
}

.hero__portrait-ring {
  width:         100%;
  height:        100%;
  border-radius: 50%;
  padding:       5px;
  background:    linear-gradient(145deg, var(--gold-light), var(--gold), #A07830, var(--gold-light));
  box-shadow:
    0 8px 32px rgba(0, 0, 0, 0.35),
    0 0 0 4px rgba(255, 255, 255, 0.15);
}

.hero__portrait-img {
  width:          100%;
  height:         100%;
  border-radius:  50%;
  object-fit:     cover;
  object-position: center top;
  display:        block;
  border:         4px solid var(--white);
}

/* ==========================================================================
   09. SECTION: SOLUTIONS (Below Hero)
   ========================================================================== */
.section-solutions {
  background:      var(--section-bg);
  padding-top:     calc(var(--portrait-size) * 0.5 + 40px);
  padding-bottom:  60px;
}

.section-solutions__title {
  font-family:    var(--font-body);
  font-size:      clamp(1rem, 2vw, 1.25rem);
  font-weight:    var(--fw-semibold);
  color:          var(--text-dark);
  letter-spacing: 0.01em;
  margin-bottom:  0;
}

/* Solution Icons */
.solution-icon {
  width:          72px;
  height:         72px;
  background:     var(--accent);
  border-radius:  50%;
  display:        flex;
  align-items:    center;
  justify-content: center;
  margin:         0 auto 10px;
  transition:     transform 0.2s ease, box-shadow 0.2s ease;
}

.solution-wrap:hover .solution-icon {
  cursor:     pointer;
  transform:  translateY(-3px);
  box-shadow: 0 8px 20px rgba(197, 139, 67, 0.35);
}

.solution-icon i {
  font-size:   35px;
  line-height: 70px;
  color:       var(--clr-white);
}

.solution-label {
  font-size:        var(--fs-base);
  font-weight:      var(--fw-regular);
  color:            var(--text-dark);
  margin:           0;
  letter-spacing:   0.02em;
  text-decoration:  none;
}

/* ==========================================================================
   10. SECTION: PROGRAMS (Cards)
   ========================================================================== */
.section-programs {
  /*background-color: var(--clr-bg-warm);*/
  background:
  radial-gradient(circle at top left,#fff5ea 0%,transparent 35%),
  radial-gradient(circle at top right,#f5f2ff 0%,transparent 35%),
  var(--clr-bg-warm);
}

.header-wrap {
  margin-bottom: 60px;
}

/*.section-programs .section-title {
  color:         var(--clr-primary);
  margin-bottom: 0.5rem;
}*/

/*.section-programs .section-subtitle {
  font-size:   var(--fs-md);
  font-weight: var(--fw-medium);
  color:       var(--clr-muted);
}*/

/* Program Card */
.regular-card {
  background:    var(--clr-white);
  border-radius: 16px;
  overflow:      hidden;
  box-shadow:    0 10px 30px var(--clr-card-shadow);
  border:        1px solid var(--clr-border);
  height:        100%;
  display:       flex;
  flex-direction: column;
  transition:    var(--transition-smooth);
}

.regular-card:hover {
  transform:  translateY(-8px);
  box-shadow: 0 20px 40px rgba(197, 139, 67, 0.12);
}

.regular-card.card-children:hover {
  box-shadow: 0 20px 40px rgba(197, 139, 67, 0.12);
}

.regular-card.card-adults:hover {
  box-shadow: 0 20px 40px rgba(197, 139, 67, 0.12);
}

.regular-card.card-linked:hover {
  cursor: pointer;
}

/* Card Image */
.card-img-placeholder {
  /*height:           240px;*/
  overflow:         hidden;
  position:         relative;
}

.card-img-fluid {
  width:      100%;
  height:     100%;
  object-fit: cover;
  object-position: center;
  display:    block;
  transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* Card Body */
.card-body-custom {
  padding:        30px;
  display:        flex;
  flex-direction: column;
  flex-grow:      1;
}

.regular-card-title {
  font-family:   var(--font-display);
  font-size:     var(--fs-lg);
  line-height:   var(--lh-snug);
  margin-bottom: 12px;
  color:         var(--text-dark);
}

.regular-card-text {
  font-size:     var(--fs-base);
  color:         var(--clr-muted);
  line-height:   var(--lh-normal);
  margin-bottom: 48px;
  flex-grow:     1;
}

.card-icon-box {
  width: 56px;
  height: 56px;
  background-color: var(--clr-primary);
  color: var(--clr-white);
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  margin-bottom: 24px;
  transition: var(--transition-smooth);
}

.regular-card:hover .card-icon-box i {
  transform: rotate(5deg) scale(1.05);
}

/* Program Card Transparent */
.regular-card.regular-card-tr {
  background:    transparent;
  box-shadow:    none;
  border:        1px solid transparent;
}

.regular-card.regular-card-tr:hover {
  transform:  translateY(-8px);
  box-shadow: 0 20px 40px rgba(197, 139, 67, 0.12);
  border:     1px solid var(--clr-border);
}

.regular-card.no-hover:hover,
.regular-card.no-hover:hover .card-icon-box i {
  transform: none;
  box-shadow: none;
  border-color: transparent;
}

/* Program Card BG Image */
.regular-card.regular-card-bg-img {
  position: relative;
}

.regular-card.regular-card-bg-img .card-body-custom {
  position: absolute;
  left: 0;
  bottom: 0;
}

.regular-card.regular-card-bg-img .card-body-custom h3 {
  color: var(--clr-white);
}

.regular-card.regular-card-bg-img .card-body-custom p {
  color: var(--text-on-dark);
}

/* ==========================================================================
   11. SECTION: BENEFITS
   ========================================================================== */
.section-benefits {
  padding:    120px 0;
  background: var(--clr-bg-gold-gradient);
  position:   relative;
}

.benefit-main-title {
  color:         var(--text-dark);
  margin-bottom: 40px;
}

/* Timeline content blocks */
.timeline-block {
  margin-bottom: 30px;
  border-left:   2px solid rgba(197, 139, 67, 0.3);
  padding-left:  24px;
}

.timeline-title {
  font-family:   var(--font-display);
  font-size:     var(--fs-md);
  font-weight:   var(--fw-bold);
  margin-bottom: 12px;
  color:         var(--text-dark);
}

.timeline-list {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}

.timeline-list li {
  font-size:    var(--fs-base);
  color:        #4A4641;
  margin-bottom: 8px;
  display:      flex;
  align-items:  flex-start;
  gap:          10px;
}

.timeline-list li i {
  color:     var(--clr-primary);
  font-size: var(--fs-base);
  margin-top: 2px;
}

/* Circular video placeholder */
.video-container-wrap {
  display:         flex;
  justify-content: center;
  align-items:     center;
  position:        relative;
  border: 1px solid #e7d08e;
}

.circular-video-placeholder {
  width:         420px;
  height:        420px;
  background:    linear-gradient(45deg, #D4B98E 0%, #C3A370 100%);
  border-radius: 50%;
  display:       flex;
  align-items:   center;
  justify-content: center;
  box-shadow:    0 20px 50px rgba(0, 0, 0, 0.1);
}

.video-play-btn {
  width:          80px;
  height:         80px;
  background:     var(--clr-white);
  border-radius:  50%;
  display:        flex;
  align-items:    center;
  justify-content: center;
  color:          var(--clr-primary);
  font-size:      2rem;
  text-decoration: none;
  box-shadow:     0 8px 25px rgba(0, 0, 0, 0.15);
  transition:     var(--transition-smooth);
  padding-left:   4px;
  z-index:        5;
}

.video-play-btn:hover {
  transform:  scale(1.1);
  color:      var(--clr-primary-dark);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
}

/* ==========================================================================
   12. SECTION: MISSION
   ========================================================================== */
.section-mission {
  padding:          120px 0;
  background-color: var(--clr-white);
}

/*.mission-main-title {
  font-family:   var(--font-display);
  font-size:     var(--fs-2xl);
  margin-bottom: 20px;
}*/

/*.section-mission .sub-head {
  font-size:     var(--fs-md);
  line-height:   var(--lh-relaxed);
  color:         var(--clr-muted);
  margin-bottom: 30px;
}*/

.icon-list {
  list-style:    none;
  padding-left:  0;
  margin-bottom: 40px;
}

.icon-list li {
  font-size:     var(--fs-md);
  line-height:   54px;
  margin-bottom: 24px;
  display:       flex;
  align-items:   flex-start;
  gap:           16px;
  position:      relative;
  padding-left: 80px;
  min-height: 56px;
}

.icon-list li .icon-wrap {
  color:     var(--clr-primary);
  font-size: var(--fs-lg);
}

.icon-list li .icon-wrap {
  width: 56px;
  height: 56px;
  line-height: 54px;
  background-color: var(--clr-primary);
  color: var(--clr-white);
  border-radius: 100%;
  /*display: flex;
  align-items: center;
  justify-content: center;*/
  font-size: 1.5rem;
  margin-bottom: 0;
  transition: var(--transition-smooth);
  position: absolute;
  left: 0;
  top: 0;
  text-align: center;
}

@media (max-width: 767.98px) {
  .icon-list li span {
    line-height: 1.2;
    padding-top: 8px;
  }
}

.list-item li {
  position: relative;
  padding-left: 40px;
  margin-bottom: 24px;
}

.list-icon li i {
  font-size: 24px;
  line-height: 1;
  color: var(--clr-primary);
  position: absolute;
  top: 4px;
  left: 0;
}

/* ==========================================================================
   13. SECTION: MESSAGE (Founder Banner)
   ========================================================================== */
.section-message {
  padding:          0;
  position:         relative;
  background-color: #1F1D1C;
}

.founder-banner-wrap {
  width:                100%;
  padding:              120px 0;
  background-image:     url('../images/about-bg.webp');
  background-size:      cover;
  background-position:  center right;
  background-repeat:    no-repeat;
}

.message-content-box {
  color: #E2E1DF;
}

.message-content-box .salutation {
  font-family:   var(--font-display);
  font-size:     var(--fs-2xl);
  color:         var(--clr-primary);
  margin-bottom: 25px;
}

.message-content-box .body-text {
  font-size:     var(--fs-md);
  line-height:   1.8;
  margin-bottom: 24px;
  font-weight:   var(--fw-light);
}

.message-content-box .body-text strong {
  color:       var(--clr-white);
  font-weight: var(--fw-medium);
}

.message-content-box .body-text em {
  color:       var(--clr-bg-gold-light);
  font-style:  italic;
}

.signature-block {
  margin-top:   45px;
  border-top:   1px solid rgba(255, 255, 255, 0.1);
  padding-top:  25px;
  display:      inline-block;
}

.signature-block .closing {
  font-size:     var(--fs-base);
  font-weight:   var(--fw-light);
  color:         #E2E1DF;
  margin-bottom: 8px;
}

.signature-block .founder-name {
  font-family:   var(--font-display);
  font-size:     var(--fs-xl);
  color:         var(--clr-white);
  margin-bottom: 2px;
}

.signature-block .founder-title {
  font-size:      var(--fs-xs);
  letter-spacing: 1px;
  text-transform: uppercase;
  color:          var(--clr-primary);
}

/* ==========================================================================
   14. FOOTER
   ========================================================================== */
.footer {
  padding:          100px 0 0;
  background-color: var(--bg-dark);
}

.footer .footer-brand {
  display:          block;
  width:            200px;
  padding:          0;
  border-radius:    4px;
  background-color: transparent;
}

.footer p,
.footer a {
  font-family: var(--font-body);
  font-size:   var(--fs-base);
  line-height: 1.8;
  font-weight: var(--fw-light);
  color:       var(--text-on-dark);
}

.footer a {
  border-bottom: 1px solid transparent;
  text-decoration: none;
}

.footer a:hover {
  border-bottom-color: var(--clr-gold);
  color: var(--clr-gold);
}

.footer .footer-menu .footer-menu-title {
  font-family:   var(--font-display);
  font-size:     var(--fs-lg);
  font-weight:   var(--fw-medium);
  line-height:   var(--lh-snug);
  color:         #f4d07a;
}

.footer .footer-menu .footer-menu-list li {
  margin-bottom: 10px;
}

.footer .footer-menu .footer-menu-list li:last-child {
  margin-bottom: 0;
}

.footer .footer-address p {
  margin-bottom: 10px;
}

.footer .list-footer li {
  position:      relative;
  padding-left:  35px;
  margin-bottom: 15px;
}

.footer .list-footer li i {
  position:  absolute;
  top:       -5px;
  left:      0;
  font-size: var(--fs-lg);
}

.footer .footer-social a {
  margin-right:  10px;
}

.footer .footer-social a:hover {
  border-bottom-color: transparent;
}

.footer .footer-social i {
  font-size:   var(--fs-lg);
  margin-left: 2px;
}

.footer .copyright {
  border-top: 1px solid rgba(182, 199, 214, 0.3);
  margin-top: 160px;
  padding:    30px 0;
}

.footer .copyright p,
.footer .copyright a {
  margin-bottom: 0;
  font-size:     var(--fs-sm);
}

.footer .copyright p img {
  border-radius: 100px;
  width:         18px;
  height:        18px;
  margin:        0 0 8px 2px;
}

footer a {
  display:         inline;
  color:           var(--clr-dark);
  text-decoration: underline;
}

/* ==========================================================================
   XX. SHORTS VIDEO GALLERY
   ========================================================================== */
.short-card, .video-card {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(0,0,0,.12);
}

.short-card iframe, .video-card iframe {
  width: 100%;
  aspect-ratio: 9 / 16;
  border: 0;
  display: block;
}

.video-card iframe {
  aspect-ratio: 16 / 9;
}

/* ==========================
   Owl Carousel Navigation
   ========================== */

.shorts-carousel {
  position: relative;
}

.shorts-carousel .owl-nav {
  margin-top: 0;
}

.shorts-carousel .owl-nav button.owl-prev,
.shorts-carousel .owl-nav button.owl-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);

  width: 48px;
  height: 48px;

  border-radius: 50% !important;
  background: #fff !important;
  color: #333 !important;

  box-shadow: 0 4px 15px rgba(0,0,0,.15);
  transition: all .3s ease;
}

.shorts-carousel .owl-nav button.owl-prev {
  left: -24px;
}

.shorts-carousel .owl-nav button.owl-next {
  right: -24px;
}

.shorts-carousel .owl-nav button:hover {
  background: var(--clr-primary) !important;
  color: #fff !important;
}

.shorts-carousel .owl-nav button span {
  display: block;
  font-size: 26px;
  line-height: 42px;
}

.shorts-carousel .owl-nav button i {
  font-size: 18px;
  line-height: 48px;
}

@media (max-width: 767.98px) {
  .shorts-carousel .owl-nav {
    display: none;
  }
}

/* ==========================================================================
XX. INNER PAGES
========================================================================== */
.page-inner .section-page-title .banner {
  background: var(--clr-primary-dark);
  display: flex;
  align-items: center;
  height: 300px;
  margin-top: 90px;
}

.page-inner.page-tema .section-page-title .banner {
  background: url("../images/banner-third-eye-meditation-for-adult.webp") no-repeat center center;
  background-size: cover;
  height: 600px;
}

.page-inner.page-gbdp .section-page-title .banner {
  background: url("../images/banner-genius-brain-development-program.jpeg") no-repeat center center;
  background-size: cover;
  height: 600px;
}

.page-inner.page-dmit .section-page-title .banner {
  background: url("../images/banner-dmit.webp") no-repeat center center;
  height: 600px;
  background-size: cover;
}

@media (max-width: 767.98px) {
  .page-inner.page-tema .section-page-title .banner,
  .page-inner.page-gbdp .section-page-title .banner,
  .page-inner.page-dmit .section-page-title .banner {
    background: var(--clr-primary-dark);
    height: auto;
    padding: 50px 0;
  }
}

.banner-breadcrumb {
  margin: 0 0;
  font-size: 16px;
  line-height: 18px;
  color: var(--clr-white);
}

.banner-breadcrumb a {
  color: var(--clr-white);
  position: relative;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  display: inline-block;
  margin-right: 24px;
}

.banner-breadcrumb a::after {
  content: "";
  position: absolute;
  top: 6px;
  right: -18px;
  color: var(--clr-white);
  border: none;
  border-radius: 100%;
  background-color: var(--clr-white);
  height: 8px;
  width: 8px;

}

.banner-breadcrumb a:hover {
  color: #FFFFFF;
  border-color: #FFFFFF;
}

.page-alone .banner-breadcrumb a {
  margin-right: 0;
}

.page-alone .banner-breadcrumb a::after {
  display: none;
}

.accordion h3.accordion-header {
  font-family: var(--font-body);
}

.accordion .accordion-button {
  font-weight: var(--fw-semibold);
}

/* FAQ */
.accordion, .accordion-item, .accordion-item:first-of-type, .accordion-item:first-of-type>.accordion-header .accordion-button,
.accordion-item:last-of-type, .accordion-item:last-of-type>.accordion-header .accordion-button.collapsed {
  border-radius: 0!important;
  border-color: transparent!important;
}

.accordion-item, .accordion-item:first-of-type, .accordion-item:last-of-type {
  border-top-color: rgba(34, 31, 29, 0.1)!important;
  border-bottom-color: rgba(34, 31, 29, 0.1)!important;
}

.accordion-item {
  background-color: transparent;
  border-color: rgb(63 60 58 / 25%);
}

.accordion-button {
  background-color: transparent;
}

.accordion-item:first-of-type>.accordion-header .accordion-button, .accordion-button:focus {
  box-shadow: none;
}

.accordion-button:not(.collapsed) {
  background-color: transparent;
  box-shadow: none;
}

.accordion-button::after {
  background-image: url("../icons/chevron-compact-down.svg");
}

.accordion-button:not(.collapsed)::after {
  background-image: url("../icons/dash-lg.svg");
  transform: matrix(1, 0, 0, 1, 0, 0);
}

.accordion-numbered {
  counter-reset: accordion;
}

.accordion-numbered .accordion-item {
  counter-increment: accordion;
}

.accordion-numbered .accordion-button::before {
  content: counter(accordion) ". ";
  font-weight: 600;
  margin-right: 0.5rem;
}

.accordion-body {
  background-color: var(--clr-bg-gold-light);
  margin: 0 20px 30px 20px;
  border-radius: 8px;
}

.page-contact iframe {
  width: 100%;
  height: 500px;
  display: block;
  border: 0;
}

/* ==========================================================================
15. RESPONSIVE BREAKPOINTS
========================================================================== */

/* --- Tablet and below --- */
@media (max-width: 1199.98px) {
  .section-cards .section-title,
  .benefit-main-title,
  .mission-main-title {
    font-size: var(--fs-xl);
  }
}

@media (max-width: 991.98px) {
  :root {
    --portrait-size: var(--portrait-size-md);
  }

  .section-cards   { padding: 70px 0; }
  .section-benefits   { padding: 80px 0; }
  .section-mission    { padding: 80px 0; }

  .founder-banner-wrap {
    padding:          80px 0;
    background-image: linear-gradient(to bottom, rgba(20, 19, 18, 0.95) 100%, rgba(20, 19, 18, 0.7) 100%);
  }

  .circular-video-placeholder {
    width:      320px;
    height:     320px;
    margin-top: 20px;
  }

  .mission-graphics-placeholder {
    height:     320px;
    margin-top: 30px;
  }

  .main-hex { width: 200px; height: 220px; }
}

/* --- Mobile --- */
@media (max-width: 767.98px) {
  :root {
    --portrait-size: var(--portrait-size-sm);
  }

  /* Hero — hide video, show poster */
  .hero__video { display: none; }

  .hero__media {
    background-image:    url('../videos/hero-poster.jpg');
    background-size:     cover;
    background-position: center top;
    min-height:          60vw;
  }

  /*.hero__container { position: absolute; }*/

  /* Solutions */
  .solution-icon  { width: 60px; height: 60px; }
  .solution-label { font-size: var(--fs-xs); }

  /* Programs */
  .card-img-placeholder { height: 200px; }

  /* Circular video */
  .circular-video-placeholder { width: 260px; height: 260px; }
  .video-play-btn             { width: 65px; height: 65px; font-size: 1.5rem; }

  /* Founder */
  .message-content-box .salutation { font-size: var(--fs-xl); }

  /* Footer */
  .footer               { padding: 60px 15px 0; }
  .footer .copyright    { margin: 35px -15px 0; padding: 30px 15px 35px; }
  .footer-menu          { margin-bottom: 50px; }
}

/* --- Reduced motion --- */
@media (prefers-reduced-motion: reduce) {
  .hero__video    { display: none; }
  .solution-icon,
  .regular-card,
  .video-play-btn { transition: none; }
}

