/*tp-video-area section css */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --gold:   #c9a84c;
      --cream:  #f5ede0;
      --dark:   #0f0d0b;
      --overlay-start: rgba(15,13,11,0.18);
      --overlay-end:   rgba(15,13,11,0.72);
    }

    body{

        background: #e8d6b4;
    }

    /* ── layout ── */
    .tp-video-area {
    width: 80%;
    margin: auto;
    margin-top: 100px;
    }

    .container {
      max-width: 100%;
      margin: 0 auto;
      padding: 0 24px;
    }

    .row { display: flex; flex-wrap: wrap; }
    .col-xl-12 { width: 100%; }

    /* ── hero wrap ── */
    .tp-video-wrap {
      position: relative;
      width: 100%;
      height: 60svh;
      /* min-height: 560px; */
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 15px;
    }

    /* dark overlay */
    .tp-video-wrap::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(160deg, #0f0d0b78 0%, var(--overlay-end) 100%);
      z-index: 1;
    }

    /* ── hero image ── */
    .hero-img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      transform: scale(1.06);
      transition: transform 8s ease;
    }

    .tp-video-wrap:hover .hero-img {
      transform: scale(1);
    }

    /* ── text content ── */
    .tp-video-content {
      position: relative;
      z-index: 2;
      text-align: center;
      padding: 0 20px;
      max-width: 720px;
      opacity: 0;
      transform: translateY(28px);
      animation: fadeUp 1s 0.35s cubic-bezier(0.22,1,0.36,1) forwards;
    }

    @keyframes fadeUp {
      to { opacity: 1; transform: translateY(0); }
    }

    /* ── subtitle badge ── */
    .tp-video-subtitle {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: #fff;
      font-family: "Syne", sans-serif !important;
      font-size: 0.78rem;
      font-weight: 500;
      letter-spacing: 0.22em;
      margin-bottom: 22px;
    }

    .tp-video-subtitle svg {
      flex-shrink: 0;
      animation: spinLeaf 6s linear infinite;
      transform-origin: center;
    }

    @keyframes spinLeaf {
      to { transform: rotate(360deg); }
    }

    /* ── title ── */
    .tp-video-title {
      font-family: "Syne", sans-serif  !important;
      font-size: clamp(3rem, 8vw, 7rem);
      font-weight: 400;
      line-height: 1.0;
      color:#fff;
      margin-bottom: 28px;
      letter-spacing: -0.01em;
    }

    .tp-video-title em {
      font-style: normal;
      color: #fff;
    }

    /* ── body text ── */
    .tp-video-content p {
      font-family: "Syne", sans-serif  !important;
      font-size: clamp(0.95rem, 1.6vw, 1.1rem);
      font-weight: 300;
      line-height: 1.8;
      color: #fff;
      max-width: 540px;
      margin: 0 auto;
    }

    /* ── decorative line ── */
    .tp-video-content::before {
      content: '';
      display: block;
      width: 1px;
      height: 60px;
      background: linear-gradient(to bottom, transparent, var(--gold));
      margin: 0 auto 32px;
      opacity: 0;
      animation: fadeUp 1s 0.6s forwards;
    }

    /* ── responsive ── */
    @media (max-width: 768px) {
      .hero-img {
        /* swap handled in JS below */
      }
      .tp-video-title {
        font-size: clamp(2.4rem, 12vw, 4rem);
      }
    }

    /*about-section section css */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --saffron:   #D4831A;
      --gold:      #F2B04A;
      --deep:      #1A0A00;
      --cream:     #FDF6EC;
      --warm-mid:  #7A4010;
      --border:    rgba(212,131,26,.25);
      --radius:    10px;
    }

    

    /* ── SECTION WRAPPER ─────────────────────────────── */
    .about-section {
      padding: 80px 0 100px;
    }

    .container {
      max-width: 1400px;
      margin: 0 auto;
      padding: 0 24px;
    }

    .about-grid {
      display: grid;
      grid-template-columns: 1fr 1.9fr;
      gap: 60px;
      align-items: center;
    }

    /* ── IMAGE COLUMN ────────────────────────────────── */
    .about-img-wrap {
      text-align: center;
      position: relative;
    }

    /* .about-img-wrap::before {
      content: '';
      position: absolute;
      inset: -12px -12px 12px 12px;
      border: 2px solid var(--saffron);
      border-radius: var(--radius);
      z-index: 0;
      opacity: .45;
    } */

    .about-img-wrap img {
      width: 100%;
      max-width: 480px;
      border-radius: var(--radius);
      display: block;
      margin: 0 auto;
      position: relative;
      z-index: 1;
      box-shadow: 0 24px 64px rgba(26,10,0,.18);
      object-fit: cover;
      aspect-ratio: 500/490;
    }

    /* ── ACCORDION COLUMN ────────────────────────────── */
    .accordion { display: flex; flex-direction: column; gap: 0; }

    .accordion-item {
      border-bottom: 1px solid #19191a1a;
      overflow: hidden;
    }

    .accordion-item:first-child { border-top: 1px solid #19191a1a; }

    /* Header / Button */
    .accordion-btn {
      width: 100%;
      background: none;
      border: none;
      cursor: pointer;
      padding: 20px 4px;
      display: flex;
      align-items: center;
      gap: 14px;
      font-family: 'Syne', sans-serif;
      font-size: 1.15rem;
      font-weight: 500;
      color: var(--deep);
      text-align: left;
      transition: color .25s;
      position: relative;
    }

    .accordion-btn:hover { color: var(--saffron); }
    .accordion-btn.active { color: var(--saffron); }

  

    /* Chevron */
    .chevron {
      width: 18px;
      height: 18px;
      border-right: 2px solid #173826;
      border-bottom: 2px solid #173826;
      transform: rotate(45deg);
      transition: transform .3s ease;
      flex-shrink: 0;
      margin-top: -4px;
    }

    .accordion-btn.active .chevron {
      transform: rotate(-135deg);
      margin-top: 4px;
    }

    /* Body */
    .accordion-body {
      max-height: 0;
      overflow: hidden;
      transition: max-height .38s ease, padding .3s ease;
    }

    .accordion-body.open {
      max-height: 400px;
    }

    .accordion-body p {
      padding: 4px 4px 22px 52px;
      font-size: 18px;
      line-height: 1.8;
      color: #5d5d63;
      font-weight: 400;
      font-family: 'Syne', sans-serif !important;
    }

    /* ── DECORATIVE DIVIDER ──────────────────────────── */
    .section-ornament {
      text-align: center;
      margin-bottom: 48px;
      color: var(--saffron);
      font-size: 1.5rem;
      letter-spacing: 8px;
      opacity: .6;
    }

    /* ── RESPONSIVE ──────────────────────────────────── */
    @media (max-width: 900px) {
      .about-grid {
        grid-template-columns: 1fr;
        gap: 40px;
      }
      .about-img-wrap { text-align: center; }
      .about-img-wrap::before { display: none; }
    }

    @media (max-width: 480px) {
      .about-section { padding: 50px 0 70px; }
      .accordion-btn { font-size: 1rem; padding: 16px 4px; }
      .accordion-body p { padding-left: 42px; font-size: .93rem; }
    }

    /*tp-project-2-area section css */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --cream:   #f5f0e8;
      --charcoal:#1a1612;
      --gold:    #c9a84c;
      --warm:    #8b6914;
      --overlay: rgba(20,15,10,.52);
    }

  

    .tp-project-2-area {
      padding: 80px 0 60px;
      position: relative;
      background: #173826;
    }

    .section-header {
      text-align: center;
      margin-bottom: 52px;
    }

    .section-header .eyebrow {
      font-size: 13px;
      letter-spacing: 4px;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 14px;
    }

    .section-header h2 {
      font-family: 'Playfair Display', serif;
      font-size: clamp(2rem, 4vw, 3.2rem);
      font-weight: 600;
      color: var(--cream);
      line-height: 1.15;
    }

    /* ── Track wrapper clips overflow ── */
    .panels-wrapper {
      overflow: hidden;
      position: relative;
    }

    /* ── Scrollable strip ── */
    .panels {
      display: flex;
      gap: 24px;
      padding: 0 24px;
      will-change: transform;
    }

    /* ── Single card — 2 visible at once ── */
    .panel {
      flex: 0 0 calc(50% - 36px);
      position: relative;
      border-radius: 4px;
      overflow: hidden;
    }

    .tp-project-2-thumb {
      position: relative;
      width: 100%;
      padding-top: 62%;
      overflow: hidden;
      height: 500px;
    }

    .tp-project-2-thumb img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform .7s cubic-bezier(.4,0,.2,1);
    }

    .panel:hover .tp-project-2-thumb img { transform: scale(1.06); }

    .tp-project-2-thumb::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(
        to top,
        rgba(10,8,5,.85) 0%,
        var(--overlay) 50%,
        transparent 100%
      );
      transition: opacity .4s;
    }

    .panel:hover .tp-project-2-thumb::after { opacity: .75; }

    .tp-project-2-content {
      position: absolute;
      bottom: 0; left: 0; right: 0;
      padding: 28px 28px 26px;
      z-index: 2;
      transform: translateY(6px);
      opacity: .94;
      transition: transform .4s, opacity .4s;
    }

    .panel:hover .tp-project-2-content {
      transform: translateY(0);
      opacity: 1;
    }

    .tp-project-2-title-sm {
      font-family: 'Syne', sans-serif;
      font-size: 35px;
      font-weight: 600;
      color: #fff;
      line-height: 1.2;
      margin-bottom: 6px;
    }

    .tp-project-2-content span {
      font-size: clamp(.8rem, 1.2vw, .95rem);
      font-style: normal;
      color: #fff;
      letter-spacing: .5px;
      font-family:  'Syne', sans-serif;
    }

    /* .tp-project-2-content::before {
      content: '';
      display: block;
      width: 32px;
      height: 2px;
      background: var(--gold);
      margin-bottom: 12px;
      transition: width .4s;
    } */

    .panel:hover .tp-project-2-content::before { width: 56px; }

    /* ── Nav arrows ── */
    .nav-arrows {
      display: flex;
      justify-content: center;
      gap: 16px;
      margin-top: 36px;
    }

    .nav-btn {
      width: 48px; height: 48px;
      border-radius: 50%;
      border: 1px solid rgba(201,168,76,.4);
      background: transparent;
      color: var(--gold);
      font-size: 20px;
      cursor: pointer;
      display: flex; align-items: center; justify-content: center;
      transition: background .3s, border-color .3s, transform .2s;
    }

    .nav-btn:hover {
      background: var(--gold);
      color: var(--charcoal);
      border-color: var(--gold);
      transform: scale(1.08);
    }

    /* ── Dot indicators ── */
    .dots {
      display: flex;
      justify-content: center;
      gap: 8px;
      margin-top: 20px;
    }

    .dot {
      width: 6px; height: 6px;
      border-radius: 50%;
      background: rgba(201,168,76,.3);
      border: none;
      cursor: pointer;
      padding: 0;
      transition: background .3s, transform .3s;
    }

    .dot.active {
      background: var(--gold);
      transform: scale(1.4);
    }
      @media (max-width: 768px) {
        .tp-video-area {
            width: 100%;
            margin: auto;
            margin-top: 100px;
        }
        .tp-section-title{
          font-size: 48px !important;
        }
      }
      
      @media (max-width: 768px) {
  .panels {
    flex-direction: column;
    gap: 16px;
    padding: 0 16px;
    transform: none !important;
  }
  .tp-project-2-title-sm{
    font-size: 25px !important;
  }

  .panel {
    flex: 0 0 100%;
    width: 100%;
  }

  .tp-project-2-thumb {
    height: 200px;
    padding-top: 0;
  }

  .panel:nth-child(n+5) {
    display: none;
  }

  .nav-arrows,
  .dots {
    display: none;
  }
}

/*tp-award-area section css */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --cream:   #f5efe4;
      --warm:    #e8dcc8;
      --spice:   #c0392b;
      --gold:    #b8860b;
      --dark:    #1a120b;
      --muted:   #7a6a55;
      --line:    rgba(184,134,11,0.25);
      --radius:  12px;
      --trans:   0.45s cubic-bezier(0.4, 0, 0.2, 1);
    }

    
    /* ── SECTION ── */
    .tp-award-area {
      padding: 100px 0 100px;
    }

    .container-1630 {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 24px;
    }

    /* ── TITLE ── */
    .tp-award-title-box {
      margin-bottom: 56px;
    }

    .tp-section-title {
      font-family: 'Syne', sans-serif;
      font-size: 100px;
      font-weight: 500;
      letter-spacing: -0.02em;
      color: #173826;
      line-height: 1.1;
      position: relative;
      display: inline-block;
      overflow: hidden;
    }

    /* .tp-section-title::after {
      content: '';
      display: block;
      margin-top: 10px;
      width: 0;
      height: 2px;
      background: var(--gold);
      transition: width 1s ease 0.6s;
    } */

    .tp-section-title.in-view::after {
      width: 100%;
    }

    /* char animation */
    .tp-char-animation .char {
      display: inline-block;
      opacity: 0;
      transform: translateY(60px) rotate(4deg);
      transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.22,1,0.36,1);
    }

    .tp-char-animation.in-view .char {
      opacity: 1;
      transform: translateY(0) rotate(0deg);
    }

    /* ── GRID ── */
    .row { display: flex; flex-wrap: wrap; gap: 0; }

    .col-thumb {
      width: 33.333%;
      padding-right: 40px;
    }

    .col-list {
      width: 66.666%;
    }

    /* ── THUMB PANEL ── */
    .tp-award-list-thumb-wrap {
      position: relative;
      aspect-ratio: 3/4;
      border-radius: var(--radius);
      overflow: hidden;
      background: var(--warm);
      box-shadow: 0 20px 60px rgba(26,18,11,0.15);
    }

    .tp-award-list-thumb-wrap img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: 0;
      transform: scale(1.06);
      transition: opacity var(--trans), transform var(--trans);
      will-change: opacity, transform;
    }

    .tp-award-list-thumb-wrap img.active {
      opacity: 1;
      transform: scale(1);
    }

    /* subtle grain overlay */
    .tp-award-list-thumb-wrap::after {
      content: '';
      position: absolute;
      inset: 0;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E");
      pointer-events: none;
      z-index: 2;
    }

    /* category badge */
    .thumb-badge {
      position: absolute;
      bottom: 20px;
      left: 20px;
      z-index: 3;
      background: rgba(26,18,11,0.72);
      backdrop-filter: blur(8px);
      color: var(--cream);
      font-family: 'Outfit', sans-serif;
      font-size: 0.7rem;
      font-weight: 500;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      padding: 6px 14px;
      border-radius: 100px;
      opacity: 0;
      transform: translateY(8px);
      transition: opacity 0.35s ease, transform 0.35s ease;
    }

    .tp-award-list-thumb-wrap:hover .thumb-badge {
      opacity: 1;
      transform: translateY(0);
    }

    /* ── LIST ── */
    .tp-award-list-wrap {
      display: flex;
      flex-direction: column;
      padding-top: 4px;
    }

    .tp-award-list-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 22px 0;
      border-bottom: 1px solid #eaeaeb;
      cursor: default;
      position: relative;
      overflow: hidden;

      /* fade-bottom entrance */
      opacity: 0;
      transform: translateY(32px);
      transition:
        opacity 0.55s ease,
        transform 0.55s cubic-bezier(0.22,1,0.36,1),
        background var(--trans);
    }

    /* .tp-award-list-item:first-child {
      border-top: 1px solid var(--line);
    } */

    .tp-award-list-item.in-view {
      opacity: 1;
      transform: translateY(0);
    }

    /* hover fill sweep */
    .tp-award-list-item::before {
      content: '';
      position: absolute;
      inset: 0;
      /* background: linear-gradient(90deg, rgba(184,134,11,0.07) 0%, transparent 100%); */
      transform: translateX(-100%);
      transition: transform 0.4s cubic-bezier(0.4,0,0.2,1);
    }

    .tp-award-list-item:hover::before {
      transform: translateX(0);
    }

    .tp-award-list-item.is-active::before {
      transform: translateX(0);
      /* background: linear-gradient(90deg, rgba(192,57,43,0.07) 0%, transparent 100%); */
    }

    /* left – title */
    .tp-award-list-content-left {
      display: flex;
      align-items: center;
      gap: 18px;
      flex: 1;
      min-width: 0;
    }

    .item-number {
      font-family: 'Cormorant Garamond', serif;
      font-size: 0.85rem;
      font-weight: 400;
      color: #e8d6b4;
      opacity: 0.7;
      min-width: 28px;
      text-align: right;
    }

    .tp-award-list-content-left p {
     font-family: 'Syne', sans-serif !important;
      font-size: clamp(1.05rem, 2vw, 1.3rem);
      font-weight: 400;
     color: #173826;
      line-height: 1.25;
      transition: color var(--trans);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .tp-award-list-item:hover .tp-award-list-content-left p,
    .tp-award-list-item.is-active .tp-award-list-content-left p {
      color: #173826;
      font-family: 'Syne', sans-serif !important;
    }

    /* right – category */
    .tp-award-list-content-right {
      flex-shrink: 0;
      margin-left: 20px;
    }

    .tp-award-list-content-right span {
      font-family: 'Syne', sans-serif;
      font-size: 14px;
      font-weight: 500;
      letter-spacing: 0.1em;
      
      color: var(--muted);
      /* background: rgba(122,106,85,0.1); */
      padding: 5px 12px;
      border-radius: 100px;
      transition: background var(--trans), color var(--trans);
      white-space: nowrap;
    }

    .tp-award-list-item:hover .tp-award-list-content-right span,
    .tp-award-list-item.is-active .tp-award-list-content-right span {
      /* background: rgba(192,57,43,0.1); */
      color: #5d5d63;
    }

    /* arrow indicator */
    .item-arrow {
      width: 28px;
      height: 28px;
      border-radius: 50%;
      border: 1px solid var(--line);
      display: flex;
      align-items: center;
      justify-content: center;
      margin-left: 16px;
      flex-shrink: 0;
      transition: border-color var(--trans), background var(--trans), transform var(--trans);
    }

    .item-arrow svg {
      width: 12px;
      height: 12px;
      stroke: var(--muted);
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
      transition: stroke var(--trans), transform var(--trans);
    }

    .tp-award-list-item:hover .item-arrow,
    .tp-award-list-item.is-active .item-arrow {
      border-color: var(--spice);
      background: var(--spice);
      transform: rotate(45deg);
    }

    .tp-award-list-item:hover .item-arrow svg,
    .tp-award-list-item.is-active .item-arrow svg {
      stroke: #fff;
    }

    /* ── RESPONSIVE ── */
    @media (max-width: 900px) {
      .col-thumb { display: none; }
      .col-list  { width: 100%; }
    }

    @media (max-width: 600px) {
      .tp-award-area { padding: 64px 0; }
      .tp-award-title-box { margin-bottom: 36px; }
    }

/*tp-testimonial-area section css */
    @import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;1,400&family=Lato:wght@300;400;700&display=swap');

    * { box-sizing: border-box; margin: 0; padding: 0; }


    .tp-testimonial-area {
      padding: 80px 0 120px;
    }

    .container {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 20px;
    }

    .row {
      display: flex;
      justify-content: center;
    }

    .col-xl-10 {
      width: 83.333%;
    }

    .tp-testimonial-slider-wrapper {
      position: relative;
      padding: 0 70px;
    }

    /* Arrows */
    .tp-testimonial-prev,
    .tp-testimonial-next {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: transparent;
      border: 1.5px solid #3a4a2e;
      border-radius: 50%;
      width: 48px;
      height: 48px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: background 0.25s, color 0.25s;
      color: #3a4a2e;
      z-index: 10;
    }

    .tp-testimonial-prev { left: 0; }
    .tp-testimonial-next { right: 0; }

    .tp-testimonial-prev:hover,
    .tp-testimonial-next:hover {
      background: #3a4a2e;
      color: #ddd8c4;
    }

    .tp-testimonial-prev svg,
    .tp-testimonial-next svg {
      width: 18px;
      height: 18px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    /* Slider viewport */
    .tp-testimonial-slider {
      overflow: hidden;
    }

    .tp-testimonial-track {
      display: flex;
      /* No transition here — set via JS only when needed */
    }

    /* Each slide */
    .tp-testimonial-item {
      min-width: 100%;
      text-align: center;
      padding: 10px 20px;
    }

    .tp-testimonial-item p {
      font-family: 'Syne', sans-serif;
      font-size: clamp(1rem, 2vw, 1.18rem);
      font-weight: 400;
      color: #2c3820;
      line-height: 1.85;
      margin-bottom: 28px;
      font-style: normal;
    }

    .author-line {
      font-family: 'Lato', sans-serif;
      font-size: 0.95rem;
      font-weight: 700;
      color: #2c3820;
      letter-spacing: 0.04em;
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }

    .stars {
      display: inline-flex;
      gap: 3px;
      align-items: center;
    }

    .stars svg {
      width: 17px;
      height: 17px;
    }

    /* Dots */
    .tp-testimonial-dots {
      display: flex;
      justify-content: center;
      gap: 8px;
      margin-top: 36px;
    }

    .tp-testimonial-dots button {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: #3a4a2e44;
      border: none;
      padding: 0;
      cursor: pointer;
      transition: background 0.3s, transform 0.3s;
    }

    .tp-testimonial-dots button.active {
      background: #3a4a2e;
      transform: scale(1.35);
    }

    /* Responsive */
    @media (max-width: 768px) {
      .col-xl-10 { width: 100%; }
      .tp-testimonial-slider-wrapper { padding: 0 50px; }
      .tp-testimonial-prev,
      .tp-testimonial-next { width: 38px; height: 38px; }
    }

    @media (max-width: 430px) {
      .tp-testimonial-slider-wrapper { padding: 0 0px; padding-bottom: 0px; }
      .tp-testimonial-prev {
        left: 0;
        top: unset;
        bottom: 0;
        transform: none;
      }
      .tp-testimonial-next {
        right: 0;
        top: unset;
        bottom: 0;
        transform: none;
      }
      .item-number{
        display: none;
      }
      .tp-award-list-content-left p{
        font-size: 14px !important;
      }
      .tp-award-list-content-right span{
        font-size: 12px !important;
      }
    }

