      :root {
          /* AMCOB blue palette + gold */
          --sage: #4E6BB8;
          --sage-dk: #3E5AA3;
          --sage-dkr: #2D3C69;
          --sage-nav: #2D3C69;
          --sage-deep: #16223F;
          --teal: #4E6BB8;
          --teal-lt: #8AA3E0;
          --teal-hover: #3E5AA3;
          --gold: #D9AE33;
          --gold-lt: #EBC85E;
          --gold-deep: #B8901F;
          --white: #FFFFFF;
          --bg: #101A33;
          --bg-2: #182444;
          --bg-3: #213056;
          --ink: #EFF2FA;
          --ink-soft: rgba(239, 242, 250, .66);
          --ink-faint: rgba(239, 242, 250, .42);
          --line: rgba(255, 255, 255, .1);
          --line-2: rgba(255, 255, 255, .18);
          /* gradients */
          --grad-green: linear-gradient(135deg, var(--teal), var(--sage-dkr));
          --grad-gold: linear-gradient(135deg, var(--gold-lt), var(--gold-deep));
          --grad-glow: radial-gradient(circle, rgba(138, 163, 224, .35), transparent 70%);
          --serif: 'Playfair Display', Georgia, serif;
          --sans: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
          --maxw: 1080px;
          --ease: cubic-bezier(.16, 1, .3, 1);
      }

      * {
          box-sizing: border-box;
          margin: 0;
          padding: 0
      }

      html {
          scroll-behavior: smooth
      }

      body {
          font-family: var(--sans);
          background: var(--bg);
          color: var(--ink);
          line-height: 1.65;
          -webkit-font-smoothing: antialiased;
          overflow-x: hidden;
          background-image:
              radial-gradient(60% 40% at 100% 0%, rgba(78, 107, 184, .14), transparent 60%),
              radial-gradient(50% 40% at 0% 30%, rgba(217, 174, 51, .07), transparent 60%);
          background-attachment: fixed
      }

      img {
          max-width: 100%;
          display: block
      }

      a {
          text-decoration: none;
          color: inherit
      }

      .wrap {
          max-width: var(--maxw);
          margin: 0 auto;
          padding: 0 clamp(18px, 4vw, 32px)
      }

      h1,
      h2,
      h3,
      h4 {
          font-family: var(--serif);
          font-weight: 700;
          line-height: 1.05;
          letter-spacing: -.015em
      }

      ::selection {
          background: var(--gold);
          color: var(--sage-deep)
      }

      .hero {
          position: relative;
          min-height: 100vh;
          display: flex;
          flex-direction: column;
          justify-content: center;
          overflow: hidden;
          padding-top: 0;
      }

      .hero-bg {
          position: absolute;
          inset: 0;
          z-index: 0
      }

      .hero-bg img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          opacity: .72
      }

      .hero-bg::after {
          content: "";
          position: absolute;
          inset: 0;
          background:
              linear-gradient(90deg, rgba(16, 26, 51, .92) 0%, rgba(16, 26, 51, .5) 44%, rgba(16, 26, 51, .1) 100%),
              linear-gradient(180deg, transparent 50%, var(--bg) 100%)
      }

      .orb {
          position: absolute;
          z-index: 1;
          border-radius: 50%;
          filter: blur(80px);
          opacity: .55
      }

      .orb.a {
          width: 520px;
          height: 520px;
          background: var(--grad-glow);
          top: -120px;
          right: -60px;
          animation: float 12s ease-in-out infinite
      }

      .orb.b {
          width: 360px;
          height: 360px;
          background: radial-gradient(circle, rgba(217, 174, 51, .4), transparent 70%);
          bottom: 40px;
          left: -80px;
          animation: float 15s ease-in-out infinite reverse
      }

      @keyframes float {

          0%,
          100% {
              transform: translate(0, 0)
          }

          50% {
              transform: translate(30px, -30px)
          }
      }

      .hero-inner {
          position: relative;
          z-index: 3;
          padding-top: 80px
      }

      .hero .eyebrow {
          margin-bottom: 28px
      }

      .hero h1 {
          font-size: clamp(3rem, 7vw, 5.4rem);
          font-weight: 800;
          letter-spacing: -.03em;
          line-height: 1.1999;
      }

      .hero h1 .line {
          display: block;
          overflow: hidden
      }

      .hero h1 .line span {
          display: inline-block;
          transform: translateY(110%);
          transition: transform 1s var(--ease)
      }

      .hero h1 .line span.ital {
          padding: 0 6px 0 0;
          font-style: italic;
          font-weight: 500;
          background: var(--grad-gold);
          -webkit-background-clip: text;
          background-clip: text;
          color: transparent
      }

      .hero.ready h1 .line span {
          transform: translateY(0)
      }

      .hero.ready h1 .line:nth-child(2) span {
          transition-delay: .12s
      }

      .hero.ready h1 .line:nth-child(3) span {
          transition-delay: .24s
      }

      .hero-sub {
          display: flex;
          justify-content: space-between;
          align-items: flex-end;
          gap: 40px;
          margin-top: 42px;
          flex-wrap: wrap
      }

      .hero-sub p {
          max-width: 840px;
          color: var(--ink-soft);
          font-size: 1.12rem;
          font-weight: 300
      }

      .hero-cta {
          display: flex;
          gap: 14px;
          flex-wrap: wrap
      }

      .statbar {
          position: relative;
          z-index: 3;
          border-top: 1px solid var(--line);
          margin-top: 44px;
          background: linear-gradient(180deg, transparent, rgba(33, 48, 86, .4))
      }

      .statbar-in {
          display: grid;
          grid-template-columns: repeat(4, 1fr)
      }

      .stat {
          padding: 32px 0;
          border-right: 1px solid var(--line);
          transition: .4s;
          display: flex;
          flex-direction: column;
          align-items: center;
          gap: 6px;
          font-variant: lining-nums;
      }

      .stat:last-child {
          border-right: none
      }

      .stat:hover {
          background: rgba(138, 163, 224, .06)
      }

      .stat b {
          font-family: var(--serif);
          font-size: clamp(2.2rem, 4vw, 3.2rem);
          font-weight: 800;
          color: #fff;
          line-height: 1;
          display: block
      }

      .stat span {
          font-size: .76rem;
          letter-spacing: .16em;
          text-transform: uppercase;
          color: var(--ink-faint);
          margin-top: 10px;
          display: block
      }

      /* marquee */
      .marquee-band {
          border-block: 1px solid var(--line);
          padding: 20px 0;
          overflow: hidden;
          background: linear-gradient(90deg, var(--bg-2), var(--bg-3), var(--bg-2))
      }

      .marquee {
          display: flex;
          gap: 50px;
          white-space: nowrap;
          width: max-content;
          animation: mq 26s linear infinite;
          align-items: center
      }

      .marquee span {
          font-family: var(--serif);
          font-size: 1.5rem;
          font-style: italic;
          color: var(--ink-soft)
      }

      .marquee i.dot {
          width: 7px;
          height: 7px;
          border-radius: 50%;
          background: var(--gold);
          opacity: .8;
          display: inline-block
      }

      @keyframes mq {
          to {
              transform: translateX(-50%)
          }
      }

      /* sections */
      .pad {
          padding: clamp(28px, 3.6vw, 50px) 0
      }

      .sec-head {
          max-width: none;
          margin-bottom: 32px
      }

      .sec-head.center {
          margin: 0 auto 34px;
          text-align: center
      }

      .sec-head h2 {
          font-size: clamp(1.65rem, 3.4vw, 2.5rem);
          font-weight: 800;
          margin: 16px 0 14px;
          letter-spacing: -.02em;
          white-space: nowrap
      }

      @media(max-width:760px) {
          .sec-head h2 {
              white-space: normal
          }
      }

      .sec-head h2 .ital {
          font-style: italic;
          font-weight: 500;
          background: var(--grad-gold);
          -webkit-background-clip: text;
          background-clip: text;
          color: transparent
      }

      .sec-head p {
          color: var(--ink-soft);
          font-size: 1.08rem;
          font-weight: 300
      }

      /* expeditions — full-width slider */
      .exp-top {
          display: flex;
          justify-content: space-between;
          align-items: flex-end;
          gap: 24px;
          flex-wrap: wrap;
          margin-bottom: 24px
      }

      .slider-nav {
          display: flex;
          align-items: center;
          gap: 12px
      }

      .nav-btn {
          width: 48px;
          height: 48px;
          border-radius: 50%;
          border: 1.5px solid var(--line-2);
          background: transparent;
          color: var(--ink);
          display: grid;
          place-items: center;
          cursor: pointer;
          transition: .35s var(--ease)
      }

      .nav-btn:hover {
          background: var(--grad-gold);
          color: var(--sage-deep);
          border-color: transparent;
          transform: translateY(-2px) scale(1.05)
      }

      .nav-btn svg {
          width: 19px;
          height: 19px
      }

      .slider {
          position: relative;
          overflow: hidden;
          border-radius: 22px;
          background: var(--bg-3);
          box-shadow: 0 30px 70px -30px rgba(0, 0, 0, .6)
      }

      .slides {
          display: flex;
          transition: transform .7s var(--ease);
          will-change: transform;
          touch-action: pan-y
      }

      .slide {
          flex: 0 0 100%;
          position: relative;
          height: clamp(280px, 36vw, 400px)
      }

      .slide img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          pointer-events: none
      }

      .slide::after {
          content: "";
          position: absolute;
          inset: 0;
          background:
              linear-gradient(90deg, rgba(16, 26, 51, .92) 0%, rgba(16, 26, 51, .35) 46%, transparent 72%),
              linear-gradient(180deg, transparent 46%, rgba(16, 26, 51, .7))
      }

      .slide-meta {
          position: absolute;
          left: clamp(24px, 4vw, 54px);
          bottom: clamp(22px, 3.5vw, 42px);
          right: 24px;
          z-index: 2;
          max-width: 540px
      }

      .slide-meta .n {
          font-size: .72rem;
          letter-spacing: .22em;
          color: var(--gold-lt);
          text-transform: uppercase
      }

      .slide-meta h3 {
          color: #fff;
          font-size: clamp(1.5rem, 3vw, 2.3rem);
          margin: 10px 0 8px;
          line-height: 1.1
      }

      .slide-meta p {
          color: var(--ink-soft);
          font-size: 1rem;
          max-width: 460px;
          font-weight: 300
      }

      .slide-count {
          position: absolute;
          top: 22px;
          right: 24px;
          z-index: 2;
          font-family: var(--serif);
          font-size: .95rem;
          color: #fff;
          background: rgba(16, 26, 51, .45);
          backdrop-filter: blur(6px);
          padding: 7px 15px;
          border-radius: 100px;
          border: 1px solid var(--line)
      }

      .slide-count b {
          color: var(--gold-lt)
      }

      .dots {
          display: flex;
          gap: 9px;
          justify-content: center;
          margin-top: 20px
      }

      .dot {
          width: 8px;
          height: 8px;
          border-radius: 50%;
          background: var(--line-2);
          cursor: pointer;
          transition: .35s var(--ease);
          border: none;
          padding: 0
      }

      .dot.active {
          background: var(--grad-gold);
          width: 26px;
          border-radius: 100px
      }

      /* upcoming — schedule / agenda calendar */
      .events-wrap {
          display: grid;
          grid-template-columns: .82fr 1.55fr;
          gap: 34px;
          align-items: start
      }

      .events-intro {
          position: sticky;
          top: 110px
      }

      .events-intro h2 {
          font-size: clamp(2rem, 4vw, 3.2rem);
          font-weight: 800;
          margin: 18px 0 16px
      }

      .events-intro h2 .ital {
          font-style: italic;
          font-weight: 500;
          background: var(--grad-gold);
          -webkit-background-clip: text;
          background-clip: text;
          color: transparent
      }

      .events-intro p {
          color: var(--ink-soft);
          font-weight: 300;
          margin-bottom: 24px
      }

      .legend {
          display: flex;
          flex-wrap: wrap;
          gap: 12px 24px;
          margin-top: 12px
      }

      #upcoming .sec-head {
          max-width: none;
          margin-bottom: 22px
      }

      #upcoming .sec-head p {
          margin-bottom: 0
      }

      .legend .lg {
          display: flex;
          align-items: center;
          gap: 10px;
          font-size: .85rem;
          color: var(--ink-soft)
      }

      .legend .lg .d {
          width: 10px;
          height: 10px;
          border-radius: 50%;
          flex: none
      }

      .legend .open .d {
          background: var(--gold)
      }

      .legend .soon .d {
          background: var(--teal-lt)
      }

      .legend .wait .d {
          background: var(--ink-faint)
      }

      /* schedule frame */
      .sched {
          background: var(--bg-2);
          border: 1px solid var(--line-2);
          border-radius: 22px;
          overflow: hidden;
          box-shadow: 0 34px 80px -44px rgba(0, 0, 0, .7)
      }

      .sched-bar {
          display: flex;
          align-items: center;
          justify-content: space-between;
          padding: 16px 20px;
          border-bottom: 1px solid var(--line);
          background: linear-gradient(90deg, rgba(217, 174, 51, .1), transparent)
      }

      .sched-bar .t {
          display: flex;
          align-items: center;
          gap: 10px;
          font-weight: 700;
          color: #fff;
          font-size: .98rem
      }

      .sched-bar .t svg {
          width: 19px;
          height: 19px;
          color: var(--gold-lt)
      }

      .sched-bar .c {
          font-size: .72rem;
          color: var(--ink-faint);
          letter-spacing: .14em;
          text-transform: uppercase
      }

      .events-list {
          display: flex;
          flex-direction: column;
          gap: 10px;
          max-height: 456px;
          overflow-y: auto;
          padding: 10px;
          scrollbar-width: thin;
          scrollbar-color: var(--teal) transparent
      }

      .events-list::-webkit-scrollbar {
          width: 7px
      }

      .events-list::-webkit-scrollbar-thumb {
          background: linear-gradient(var(--gold), var(--teal));
          border-radius: 100px;
          border: 2px solid var(--bg-2)
      }

      .events-list::-webkit-scrollbar-track {
          background: transparent
      }

      .year-head {
          flex: none;
          position: sticky;
          top: -10px;
          z-index: 4;
          display: flex;
          align-items: center;
          gap: 12px;
          font-family: var(--serif);
          font-weight: 700;
          font-size: 1rem;
          letter-spacing: .12em;
          color: var(--gold-lt);
          padding: 8px 4px 6px;
          background: var(--bg-2)
      }

      .year-head::after {
          content: "";
          flex: 1;
          height: 1px;
          background: var(--line)
      }

      .event {
          position: relative;
          display: grid;
          grid-template-columns: 60px 132px 1fr auto;
          gap: 18px;
          align-items: start;
          background: var(--bg-3);
          border: 1px solid var(--line);
          border-radius: 15px;
          padding: 16px;
          cursor: pointer;
          transition: .45s var(--ease);
          overflow: hidden;
          flex: none
      }

      .event .ev-go {
          align-self: center
      }

      .event::before {
          content: "";
          position: absolute;
          left: 0;
          top: 0;
          bottom: 0;
          width: 0;
          background: var(--grad-green);
          transition: width .45s var(--ease);
          z-index: 0
      }

      .event>* {
          position: relative;
          z-index: 1
      }

      .event:hover {
          transform: translateX(5px);
          border-color: transparent;
          box-shadow: 0 24px 50px -26px rgba(0, 0, 0, .7)
      }

      .event:hover::before {
          width: 5px
      }

      .event.feature {
          background: linear-gradient(135deg, rgba(217, 174, 51, .18), var(--bg-3) 55%);
          border-color: rgba(217, 174, 51, .42)
      }

      /* tear-off calendar tile */
      .cal {
          width: 60px;
          border-radius: 11px;
          overflow: hidden;
          flex: none;
          background: #fff;
          transition: .45s var(--ease);
          box-shadow: 0 8px 18px -8px rgba(0, 0, 0, .6)
      }

      .event:hover .cal {
          transform: translateY(-3px) scale(1.05)
      }

      .cal .top {
          background: var(--grad-gold);
          color: var(--sage-deep);
          font-weight: 800;
          font-size: .64rem;
          letter-spacing: .14em;
          text-transform: uppercase;
          text-align: center;
          padding: 4px 2px
      }

      .cal .mid {
          background: #fff;
          color: var(--sage-deep);
          text-align: center;
          padding: 5px 2px 6px
      }

      /* image slot */
      .ev-img {
          width: 100%;
          height: 94px;
          border-radius: 10px;
          overflow: hidden;
          flex: none;
          position: relative;
          background: var(--bg-2);
          border: 1px solid var(--line)
      }

      .ev-img img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          transition: transform .7s var(--ease)
      }

      .event:hover .ev-img img {
          transform: scale(1.1)
      }

      .ev-img::after {
          content: "";
          position: absolute;
          inset: 0;
          background: linear-gradient(180deg, transparent 45%, rgba(13, 21, 41, .4))
      }

      .ev-img .ph {
          position: absolute;
          inset: 0;
          display: grid;
          place-items: center;
          color: var(--ink-faint)
      }

      .ev-img .ph svg {
          width: 26px;
          height: 26px
      }

      .ev-info .r {
          display: flex;
          align-items: center;
          gap: 10px;
          flex-wrap: wrap
      }

      .ev-info h3 {
          color: #fff;
          font-size: 1.15rem
      }

      .ev-info .meta {
          color: var(--ink-soft);
          font-size: .84rem;
          margin-top: 5px;
          display: flex;
          flex-direction: column;
          gap: 3px
      }

      .ev-info .meta span {
          display: flex;
          align-items: center;
          gap: 6px
      }

      .ev-info .meta svg {
          width: 13px;
          height: 13px;
          color: var(--teal-lt);
          flex: none
      }

      .ev-info .dates {
          color: var(--gold-lt);
          font-size: .8rem;
          margin-top: 6px;
          font-weight: 700;
          letter-spacing: .02em
      }

      .ev-desc {
          color: var(--ink-soft);
          font-size: .86rem;
          font-weight: 300;
          line-height: 1.5;
          margin-top: 8px;
          max-width: 560px
      }

      .pill {
          font-size: .62rem;
          letter-spacing: .12em;
          text-transform: uppercase;
          font-weight: 700;
          padding: 4px 10px;
          border-radius: 100px;
          white-space: nowrap
      }

      .pill.open {
          background: rgba(217, 174, 51, .2);
          color: var(--gold-lt);
          border: 1px solid rgba(217, 174, 51, .4)
      }

      .pill.soon {
          background: rgba(138, 163, 224, .16);
          color: var(--teal-lt);
          border: 1px solid rgba(138, 163, 224, .35)
      }

      .pill.wait {
          background: rgba(255, 255, 255, .06);
          color: var(--ink-faint);
          border: 1px solid var(--line)
      }

      .ev-go {
          width: 42px;
          height: 42px;
          border-radius: 50%;
          border: 1.5px solid var(--line-2);
          display: grid;
          place-items: center;
          color: var(--ink);
          transition: .4s var(--ease);
          flex: none
      }

      .event:hover .ev-go {
          background: var(--grad-gold);
          border-color: transparent;
          color: var(--sage-deep);
          transform: rotate(-45deg)
      }

      .ev-go svg {
          width: 17px;
          height: 17px
      }

      /* exclusivity — colorful animated cards */
      .excl-grid {
          display: grid;
          grid-template-columns: repeat(3, 1fr);
          gap: 18px;
          align-items: stretch
      }

      .ex-card {
          position: relative;
          border: 1px solid var(--line);
          border-top: 3px solid var(--teal);
          border-radius: 18px;
          padding: 24px 22px;
          overflow: hidden;
          transition: .5s var(--ease);
          background: linear-gradient(165deg, rgba(78, 107, 184, .16), rgba(255, 255, 255, .015))
      }

      .ex-card:nth-child(2) {
          border-top-color: var(--gold);
          border-color: rgba(217, 174, 51, .3);
          background: linear-gradient(165deg, rgba(217, 174, 51, .22), rgba(184, 144, 31, .05) 60%, rgba(255, 255, 255, .02))
      }

      .ex-card:nth-child(3) {
          border-top-color: var(--teal-lt);
          background: linear-gradient(165deg, rgba(138, 163, 224, .18), rgba(255, 255, 255, .015))
      }

      .ex-card::before {
          content: "";
          position: absolute;
          top: -45px;
          right: -45px;
          width: 150px;
          height: 150px;
          border-radius: 50%;
          background: radial-gradient(circle, rgba(255, 255, 255, .14), transparent 70%);
          opacity: .45;
          transition: .6s var(--ease)
      }

      .ex-card:hover {
          transform: translateY(-8px);
          box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .65)
      }

      .ex-card:hover::before {
          opacity: .9;
          transform: scale(1.35)
      }

      .ex-ico {
          width: 52px;
          height: 52px;
          border-radius: 14px;
          display: grid;
          place-items: center;
          margin-bottom: 15px;
          color: #fff;
          position: relative;
          transition: .5s var(--ease);
          z-index: 1;
          box-shadow: 0 12px 24px -12px rgba(0, 0, 0, .6)
      }

      .ex-card:nth-child(1) .ex-ico {
          background: linear-gradient(135deg, #6E88D0, #2D3C69)
      }

      .ex-card:nth-child(2) .ex-ico {
          background: var(--grad-gold);
          color: var(--sage-deep)
      }

      .ex-card:nth-child(3) .ex-ico {
          background: linear-gradient(135deg, #8AA3E0, #3E5AA3)
      }

      .ex-card:hover .ex-ico {
          transform: rotate(-8deg) scale(1.09)
      }

      .ex-ico svg {
          width: 25px;
          height: 25px
      }

      .ex-card h3 {
          font-size: 1.3rem;
          color: #fff;
          margin-bottom: 13px;
          position: relative;
          z-index: 1
      }

      .ex-list {
          list-style: none;
          display: flex;
          flex-direction: column;
          gap: 9px;
          position: relative;
          z-index: 1
      }

      .ex-list li {
          display: flex;
          gap: 10px;
          color: var(--ink-soft);
          font-size: .9rem;
          line-height: 1.45;
          transition: .4s
      }

      .ex-card:hover .ex-list li {
          transform: translateX(4px);
          color: var(--ink)
      }

      .ex-list li svg {
          width: 16px;
          height: 16px;
          flex: none;
          margin-top: 3px;
          color: var(--teal-lt)
      }

      .ex-card:nth-child(2) .ex-list li svg {
          color: var(--gold-lt)
      }

      .ex-card:nth-child(3) .ex-list li svg {
          color: var(--teal-lt)
      }

      .ex-fee {
          position: relative;
          z-index: 1
      }

      .ex-fee .big {
          font-family: var(--serif);
          font-size: 2.35rem;
          font-weight: 800;
          background: var(--grad-gold);
          -webkit-background-clip: text;
          background-clip: text;
          color: transparent;
          line-height: 1
      }

      .ex-fee .sub {
          color: var(--ink-soft);
          font-size: .84rem;
          margin: 5px 0 13px
      }

      .ex-fee .row {
          display: flex;
          flex-direction: column;
          gap: 8px
      }

      .ex-fee .row .p {
          display: flex;
          justify-content: space-between;
          align-items: center;
          background: rgba(0, 0, 0, .18);
          border: 1px solid rgba(255, 255, 255, .08);
          border-radius: 11px;
          padding: 10px 13px;
          font-size: .86rem;
          color: var(--ink-soft);
          transition: .4s
      }

      .ex-card:hover .ex-fee .row .p {
          background: rgba(0, 0, 0, .26)
      }

      .ex-fee .row .p b {
          color: #fff;
          font-family: var(--serif);
          font-size: 1.05rem
      }

      .ex-fee .note {
          font-size: .76rem;
          color: var(--ink-faint);
          margin-top: 11px;
          border-top: 1px solid rgba(255, 255, 255, .1);
          padding-top: 10px
      }

      .excl-cta {
          text-align: center;
          margin-top: 26px
      }

      /* apply */
      .apply-grid {
          display: grid;
          grid-template-columns: .9fr 1.1fr;
          gap: 56px;
          align-items: center
      }

      .apply-left h2 {
          font-size: clamp(2.2rem, 4.4vw, 3.4rem);
          font-weight: 800;
          margin: 18px 0 20px
      }

      .apply-left h2 .ital {
          font-style: italic;
          font-weight: 500;
          background: var(--grad-gold);
          -webkit-background-clip: text;
          background-clip: text;
          color: transparent
      }

      .apply-left p {
          color: var(--ink-soft);
          margin-bottom: 28px;
          font-weight: 300;
          font-size: 1.06rem
      }

      .perks {
          list-style: none;
          display: flex;
          flex-direction: column;
          gap: 15px
      }

      .perks li {
          display: flex;
          gap: 14px;
          align-items: center;
          color: var(--ink);
          transition: .4s
      }

      .perks li:hover {
          transform: translateX(5px)
      }

      .perks .c {
          width: 28px;
          height: 28px;
          border-radius: 50%;
          background: var(--grad-green);
          display: grid;
          place-items: center;
          flex: none
      }

      .perks .c svg {
          width: 15px;
          height: 15px;
          color: #fff
      }

      .form-card {
          background: linear-gradient(160deg, var(--bg-2), var(--bg-3));
          border: 1px solid var(--line-2);
          border-radius: 24px;
          padding: clamp(26px, 3.5vw, 42px);
          box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .7)
      }

      .form-card h3 {
          color: #fff;
          font-size: 1.6rem;
          margin-bottom: 6px
      }

      .form-card .fc-sub {
          color: var(--ink-soft);
          font-size: .9rem;
          margin-bottom: 26px
      }

      .field {
          margin-bottom: 16px
      }

      .field label {
          display: block;
          font-size: .74rem;
          font-weight: 700;
          letter-spacing: .08em;
          text-transform: uppercase;
          color: var(--ink-faint);
          margin-bottom: 8px
      }

      .field input,
      .field select,
      .field textarea {
          width: 100%;
          padding: 14px 16px;
          border: 1.5px solid var(--line);
          border-radius: 12px;
          font-family: var(--sans);
          font-size: .95rem;
          color: var(--ink);
          background: rgba(255, 255, 255, .03);
          transition: .25s;
          cursor: text
      }

      .field input::placeholder,
      .field textarea::placeholder {
          color: var(--ink-faint)
      }

      .field select option {
          background: var(--bg-2);
          color: var(--ink)
      }

      .field input:focus,
      .field select:focus,
      .field textarea:focus {
          outline: none;
          border-color: var(--gold);
          background: rgba(255, 255, 255, .05);
          box-shadow: 0 0 0 4px rgba(217, 174, 51, .13)
      }

      .field textarea {
          resize: vertical;
          min-height: 88px
      }

      .field.row {
          display: grid;
          grid-template-columns: 1fr 1fr;
          gap: 16px;
          margin-bottom: 0
      }

      .field.row>div {
          margin-bottom: 16px
      }

      .form-ok {
          display: none;
          background: rgba(78, 107, 184, .2);
          border: 1px solid var(--teal);
          color: var(--teal-lt);
          padding: 14px;
          border-radius: 12px;
          font-size: .9rem;
          text-align: center;
          margin-bottom: 16px
      }

      .form-note {
          font-size: .78rem;
          color: var(--ink-faint);
          margin-top: 8px;
          text-align: center
      }

      /* testimonials — full-width slider */
      /* .tfull {
          width: 100vw;
          position: relative;
          left: 50%;
          transform: translateX(-50%);
          padding: 0 clamp(18px, 4vw, 40px)
      }

      .tslider {
          position: relative;
          overflow: hidden;
          border-radius: 26px;
          max-width: 1320px;
          margin: 0 auto;
          background: linear-gradient(150deg, var(--bg-2), var(--bg-3));
          border: 1px solid var(--line-2);
          box-shadow: 0 40px 90px -50px rgba(0, 0, 0, .8)
      }

      .tslider::before {
          content: "";
          position: absolute;
          top: -90px;
          right: -70px;
          width: 380px;
          height: 380px;
          border-radius: 50%;
          background: radial-gradient(circle, rgba(217, 174, 51, .16), transparent 70%);
          pointer-events: none
      }

      .tslider::after {
          content: "";
          position: absolute;
          bottom: -90px;
          left: -70px;
          width: 340px;
          height: 340px;
          border-radius: 50%;
          background: radial-gradient(circle, rgba(138, 163, 224, .14), transparent 70%);
          pointer-events: none
      }

      .tslides {
          display: flex;
          transition: transform .7s var(--ease);
          will-change: transform;
          touch-action: pan-y
      }

      .tslide {
          flex: 0 0 100%;
          padding: clamp(40px, 6vw, 72px) clamp(28px, 10vw, 130px);
          text-align: center;
          display: flex;
          flex-direction: column;
          align-items: center;
          position: relative;
          z-index: 1
      }

      .tslide .bigq {
          font-family: var(--serif);
          font-size: 4.4rem;
          line-height: .7;
          background: var(--grad-gold);
          -webkit-background-clip: text;
          background-clip: text;
          color: transparent;
          margin-bottom: 14px
      }

      .tslide .stars {
          color: var(--gold);
          letter-spacing: 5px;
          font-size: 1.15rem;
          margin-bottom: 24px
      }

      .tslide p {
          font-family: var(--serif);
          font-style: italic;
          font-size: clamp(1.25rem, 2.5vw, 2rem);
          color: #fff;
          font-weight: 500;
          line-height: 1.42;
          max-width: 840px;
          margin-bottom: 32px
      }

      .tslide .who {
          display: flex;
          align-items: center;
          gap: 14px;
          justify-content: center
      }

      .avatar {
          width: 54px;
          height: 54px;
          border-radius: 50%;
          flex: none;
          display: grid;
          place-items: center;
          color: #fff;
          font-family: var(--serif);
          font-weight: 800;
          font-size: 1.25rem;
          background: var(--grad-green)
      }

      .tslide .who .txt {
          text-align: left
      }

      .tslide .who b {
          display: block;
          color: #fff;
          font-size: 1.02rem
      }

      .tslide .who span {
          color: var(--ink-soft);
          font-size: .85rem
      }

      .tnav {
          position: absolute;
          top: 50%;
          left: 0;
          right: 0;
          transform: translateY(-50%);
          display: flex;
          justify-content: space-between;
          padding: 0 clamp(10px, 2vw, 24px);
          pointer-events: none;
          z-index: 3
      }

      .tnav .nav-btn {
          pointer-events: auto;
          background: rgba(13, 21, 41, .5);
          backdrop-filter: blur(6px)
      }

      .tdots {
          display: flex;
          gap: 9px;
          justify-content: center;
          margin-top: 24px
      }
 */
      /* contact */
      .contact-grid {
          display: grid;
          grid-template-columns: 1fr 1fr;
          gap: 56px;
          align-items: center
      }

      .contact-left h2 {
          font-size: clamp(2.2rem, 4.4vw, 3.4rem);
          font-weight: 800;
          margin: 18px 0 20px
      }

      .contact-left h2 .ital {
          font-style: italic;
          font-weight: 500;
          background: var(--grad-gold);
          -webkit-background-clip: text;
          background-clip: text;
          color: transparent
      }

      .contact-left p {
          color: var(--ink-soft);
          margin-bottom: 28px;
          font-weight: 300;
          font-size: 1.06rem
      }

      .methods {
          list-style: none;
          display: flex;
          flex-direction: column;
          gap: 16px
      }

      .methods li {
          display: flex;
          gap: 15px;
          align-items: center;
          transition: .4s
      }

      .methods li:hover {
          transform: translateX(5px)
      }

      .methods .ci {
          width: 48px;
          height: 48px;
          border-radius: 13px;
          background: var(--bg-3);
          border: 1px solid var(--line);
          display: grid;
          place-items: center;
          flex: none;
          transition: .4s
      }

      .methods li:hover .ci {
          background: var(--grad-green);
          border-color: transparent
      }

      .methods .ci svg {
          width: 20px;
          height: 20px;
          color: var(--teal-lt);
          transition: .4s
      }

      .methods li:hover .ci svg {
          color: #fff
      }

      .methods b {
          display: block;
          font-size: .7rem;
          letter-spacing: .18em;
          text-transform: uppercase;
          color: var(--ink-faint)
      }

      .methods span {
          color: #fff
      }

      /* light contact section — adds white/cream contrast */
      #contact {
          background: linear-gradient(180deg, #F7F4EC, #ECE7D8) !important;
      }

      #contact .eyebrow {
          color: var(--gold-deep)
      }

      #contact .eyebrow::before {
          background: linear-gradient(135deg, var(--gold-deep), #946f12)
      }

      #contact .contact-left h2 {
          color: var(--sage-nav)
      }

      #contact .contact-left h2 .ital {
          background: linear-gradient(135deg, #B8901F, #8a6a11);
          -webkit-background-clip: text;
          background-clip: text;
          color: transparent
      }

      #contact .contact-left p {
          color: #55607A
      }

      #contact .methods .ci {
          background: #fff;
          border-color: #e3dcc9;
          box-shadow: 0 8px 18px -12px rgba(30, 42, 77, .35)
      }

      #contact .methods .ci svg {
          color: var(--teal-hover)
      }

      #contact .methods li:hover .ci {
          background: var(--grad-green);
          border-color: transparent
      }

      #contact .methods li:hover .ci svg {
          color: #fff
      }

      #contact .methods b {
          color: #868FA6
      }

      #contact .methods span {
          color: var(--sage-deep)
      }

      #contact .form-card {
          background: #fff;
          border-color: #e7e0cf;
          box-shadow: 0 34px 74px -44px rgba(30, 42, 77, .4)
      }

      #contact .form-card h3 {
          color: var(--sage-nav)
      }

      #contact .form-card .fc-sub {
          color: #6c766f
      }

      #contact .field label {
          color: #828c84
      }

      #contact .field input,
      #contact .field textarea {
          background: #faf8f1;
          border-color: #e4ddca;
          color: #2a332e
      }

      #contact .field input::placeholder,
      #contact .field textarea::placeholder {
          color: #a2aaa1
      }

      #contact .field input:focus,
      #contact .field textarea:focus {
          border-color: var(--gold);
          background: #fff;
          box-shadow: 0 0 0 4px rgba(217, 174, 51, .15)
      }

      #contact .form-ok {
          background: rgba(78, 107, 184, .14);
          border-color: var(--teal);
          color: var(--teal-hover)
      }


      /* footer */
      /* footer {
      border-top: 1px solid var(--line);
      padding: 64px 0 32px;
      background: linear-gradient(180deg, var(--bg-2), var(--bg))
    }

    .foot-grid {
      display: grid;
      grid-template-columns: 1.7fr 1fr 1fr 1fr;
      gap: 40px;
      padding-bottom: 40px;
      border-bottom: 1px solid var(--line)
    }

    .foot-about {
      color: var(--ink-soft);
      font-size: .92rem;
      line-height: 1.7;
      max-width: 320px;
      margin-top: 16px
    }

    .foot-col h4 {
      font-family: var(--sans);
      font-weight: 700;
      font-size: .76rem;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: #fff;
      margin-bottom: 18px
    }

    .foot-col ul {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 11px
    }

    .foot-col a {
      color: var(--ink-soft);
      font-size: .92rem;
      transition: .25s
    }

    .foot-col a:hover {
      color: var(--gold-lt);
      padding-left: 4px
    }

    .foot-social {
      display: flex;
      gap: 12px;
      margin-top: 20px
    }

    .foot-social a {
      width: 40px;
      height: 40px;
      border-radius: 11px;
      background: var(--bg-3);
      border: 1px solid var(--line);
      display: grid;
      place-items: center;
      transition: .4s
    }

    .foot-social a:hover {
      background: var(--grad-gold);
      color: var(--sage-deep);
      transform: translateY(-3px) rotate(-6deg)
    }

    .foot-social svg {
      width: 17px;
      height: 17px
    }

    .foot-bottom {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding-top: 24px;
      font-size: .85rem;
      color: var(--ink-faint);
      flex-wrap: wrap;
      gap: 12px
    } */

      /* footer */
      footer {
          border-top: 1px solid var(--line);
          background: var(--bg-2);
          padding: 28px 0;
          color: var(--ink-faint);
          font-size: .85rem
      }

      .foot {
          display: flex;
          justify-content: space-between;
          align-items: center;
          gap: 12px;
          flex-wrap: wrap
      }

      /* reveal */
      .reveal {
          opacity: 0;
          transform: translateY(40px);
          transition: opacity 1s var(--ease), transform 1s var(--ease)
      }

      .reveal.in {
          opacity: 1;
          transform: none
      }

      .d1 {
          transition-delay: .08s
      }

      .d2 {
          transition-delay: .16s
      }

      .d3 {
          transition-delay: .24s
      }

      .d4 {
          transition-delay: .32s
      }

      @media(max-width:1080px) {
          .nav-links {
              gap: 24px
          }

          .apply-grid,
          .contact-grid {
              gap: 40px
          }
      }

      @media(max-width:900px){
        .event {
            display: flex !important;
            flex-direction: column;
        }
        .event .ev-go {
            align-self: start !important;
        }
        .ev-img {
            width: 100%;
            height: 164px !important;
        }
  .nav-links{display:none}.burger{display:flex}
  .excl-grid{grid-template-columns:1fr}
  .apply-grid,.contact-grid,.events-wrap{grid-template-columns:1fr}
  .events-intro{position:static}
  .events-list{max-height:none;overflow:visible;padding-right:0}
  .testi-grid{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
  .statbar-in{grid-template-columns:1fr 1fr}
  .stat:nth-child(2){border-right:none}
  .stat:nth-child(1),.stat:nth-child(2){border-bottom:1px solid var(--line)}

  .nav{position:relative}
  .btn.btn-gold.hide{display:none}
  .nav-links{display:flex;position:fixed;top:0;right:0;height:100vh;width:min(78vw,320px);
    background:var(--bg-2);border-left:1px solid var(--line-2);flex-direction:column;gap:0;
    padding:100px 32px 32px;z-index:160;transform:translateX(100%);opacity:0;visibility:hidden;
    transition:transform .45s var(--ease),opacity .3s,visibility 0s .45s;box-shadow:-24px 0 60px -20px rgba(0,0,0,.6)}
  .nav-links.open{transform:translateX(0);opacity:1;visibility:visible;transition:transform .45s var(--ease),opacity .3s,visibility 0s}
  .nav-links a{font-size:1.05rem;padding:16px 0;border-bottom:1px solid var(--line);width:100%;display:block}
  .nav-links::after{content:"";position:fixed;top:0;left:0;right:min(78vw,320px);height:100vh;background:rgba(8,12,24,.6);z-index:-1;opacity:0;pointer-events:none;transition:opacity .4s}
  .nav-links.open::after{opacity:1;pointer-events:auto}
  .nav-mobile-apply{display:block!important;margin-top:22px}
  .burger{z-index:170;position:relative}
  .burger span{transition:transform .3s var(--ease),opacity .3s var(--ease)}
  .burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .burger.open span:nth-child(2){opacity:0}
  .burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

.nav-mobile-apply{display:none}
      @media(max-width:640px) {
        .hero-cta {
            flex-direction: column;
        }
          .hero {
              min-height: auto
          }

          .hero-inner {
              padding-top: 118px;
              padding-bottom: 22px
          }

          .hero-sub {
              margin-top: 30px;
              gap: 24px
          }

          .testi-grid,
          .foot-grid,
          .field.row {
              grid-template-columns: 1fr
          }

          .statbar-in {
              grid-template-columns: 1fr
          }

          .stat {
              border-right: none !important;
              border-bottom: 1px solid var(--line);
              padding: 22px 0
          }

          .stat:last-child {
              border-bottom: none
          }

          .hero-cta {
              width: 100%
          }

          .hero-cta .btn {
              flex: 1;
              justify-content: center
          }

          .event {
              grid-template-columns: 52px 88px 1fr;
              gap: 12px;
              padding: 10px
          }

          .event .ev-go {
              display: none
          }

          .ev-img {
              height: 66px
          }

          .cal .mid .day {
              font-size: 1.3rem
          }
      }

      @media(max-width:380px) {
          .hero h1 {
              font-size: 2.6rem
          }

          .btn {
              padding: 14px 22px;
              font-size: .86rem
          }

          .btn-lg {
              padding: 16px 26px
          }
      }

      /* *,
        *::before,
        *::after {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        :root {
            --sage: #5A7668;
            --sage-dk: #4E6B5D;
            --sage-dkr: #435F52;
            --sage-nav: #3D5549;
            --btn-teal: #5B8A78;
            --btn-hover: #4A7263;
            --white: #FFFFFF;
            --card-title: #4A6A5A;
            --text-body: #555F58;
            --text-muted: rgba(255, 255, 255, 0.65);
            --text-white: rgba(255, 255, 255, 0.88);
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            font-family: 'Lato', sans-serif;
            background: var(--sage);
            color: var(--white);
            overflow-x: hidden;
        } */

      /* ::-webkit-scrollbar {
            width: 5px;
        }

        ::-webkit-scrollbar-track {
            background: var(--sage-dk);
        }

        ::-webkit-scrollbar-thumb {
            background: rgba(255, 255, 255, 0.25);
            border-radius: 3px;
        } */

      /* NAV */
      /* nav {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 1000;
            height: 60px;
            padding: 0 40px;
            background: var(--sage-nav);
            display: flex;
            align-items: center;
            justify-content: space-between;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
        }

        .nav-brand {
            font-family: 'Playfair Display', serif;
            font-size: 19px;
            font-weight: 700;
            color: var(--white);
            text-decoration: none;
            letter-spacing: 0.3px;
        }
        .logoImg {
            width: 100%;
            max-width: 300px;
        }

        .nav-links {
            display: flex;
            gap: 28px;
            list-style: none;
        }

        .nav-links a {
            font-size: 13px;
            font-weight: 400;
            color: rgba(255, 255, 255, 0.82);
            text-decoration: none;
            transition: color .2s;
        }

        .nav-links a:hover {
            color: var(--white);
        }

        .nav-apply {
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 0.5px;
            padding: 8px 20px;
            background: var(--btn-teal);
            color: var(--white);
            border: none;
            border-radius: 5px;
            cursor: pointer;
            text-decoration: none;
            transition: background .2s;
            white-space: nowrap;
        }

        .nav-apply:hover {
            background: var(--btn-hover);
        }

        .hamburger {
            display: none;
            flex-direction: column;
            gap: 5px;
            cursor: pointer;
            padding: 4px;
        }

        .hamburger span {
            display: block;
            width: 22px;
            height: 1.5px;
            background: var(--white);
        }

        .mob-nav {
            position: fixed;
            inset: 0;
            z-index: 999;
            background: rgba(61, 85, 73, 0.97);
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            pointer-events: none;
            transition: opacity .3s;
        }

        .mob-nav.open {
            opacity: 1;
            pointer-events: all;
        }

        .mob-nav ul {
            list-style: none;
            text-align: center;
        }

        .mob-nav ul li {
            margin: 14px 0;
        }

        .mob-nav ul a {
            font-family: 'Playfair Display', serif;
            font-size: 28px;
            font-weight: 400;
            color: var(--white);
            text-decoration: none;
        }

        .mob-close {
            position: absolute;
            top: 20px;
            right: 28px;
            font-size: 26px;
            color: var(--white);
            cursor: pointer;
            background: none;
            border: none;
        } */


      .progress {
          position: fixed;
          top: 0;
          left: 0;
          height: 3px;
          width: 0;
          background: linear-gradient(90deg, var(--gold), var(--teal-lt));
          z-index: 200
      }

      .eyebrow {
          font-family: var(--sans);
          font-weight: 700;
          font-size: .72rem;
          letter-spacing: .32em;
          text-transform: uppercase;
          color: var(--gold);
          display: inline-flex;
          align-items: center;
          gap: 12px
      }

      .eyebrow::before {
          content: "";
          width: 34px;
          height: 1.5px;
          background: var(--grad-gold)
      }

      .eyebrow.center {
          justify-content: center
      }

      .eyebrow.center::before {
          display: none
      }

      /* buttons */
      .btn {
          display: inline-flex;
          align-items: center;
          gap: 10px;
          font-family: var(--sans);
          font-weight: 700;
          font-size: .92rem;
          letter-spacing: .02em;
          padding: 16px 32px;
          border-radius: 100px;
          border: 1.5px solid transparent;
          cursor: pointer;
          transition: all .4s var(--ease);
          position: relative;
          white-space: nowrap;
          overflow: hidden
      }

      .btn svg {
          width: 16px;
          height: 16px;
          transition: transform .4s var(--ease);
          position: relative;
          z-index: 1
      }

      .btn span {
          position: relative;
          z-index: 1
      }

      .btn:hover svg {
          transform: translateX(5px)
      }

      .btn-gold {
          background: var(--grad-gold);
          color: var(--sage-deep);
          background-size: 160% 160%;
          background-position: 0% 50%
      }

      .btn-gold:hover {
          background-position: 100% 50%;
          transform: translateY(-3px);
          box-shadow: 0 18px 40px -14px rgba(217, 174, 51, .7)
      }

      .btn-ghost {
          background: transparent;
          color: var(--ink);
          border-color: var(--line-2)
      }

      .btn-ghost::before {
          content: "";
          position: absolute;
          inset: 0;
          background: var(--grad-green);
          opacity: 0;
          transition: .4s
      }

      .btn-ghost:hover {
          border-color: transparent;
          color: #fff;
          transform: translateY(-3px)
      }

      .btn-ghost:hover::before {
          opacity: 1
      }

      .btn-lg {
          padding: 19px 40px;
          font-size: 1rem
      }



      /* SECTIONS */
      /* section {
            padding: 72px 0;
        }

        .container {
            max-width: 1060px;
            margin: 0 auto;
            padding: 0 40px;
        }

        .eyebrow {
            font-family: 'Lato', sans-serif;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 3.5px;
            text-transform: uppercase;
            color: var(--text-muted);
            text-align: center;
            display: block;
            margin-bottom: 12px;
        }

        .sec-title {
            font-family: 'Playfair Display', serif;
            font-size: clamp(28px, 3.8vw, 46px);
            font-weight: 700;
            line-height: 1.15;
            color: var(--white);
            text-align: center;
            margin-bottom: 16px;
        }

        .sec-desc {
            font-size: 14.5px;
            font-weight: 400;
            line-height: 1.85;
            color: var(--text-muted);
            text-align: center;
            max-width: 680px;
            margin: 0 auto;
        } */

      /* HERO */
      /* #home {
            min-height: 100vh;
            background: var(--sage);
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            padding: 100px 40px 72px;
            position: relative;
            overflow: hidden;
        }

        .hero-img-bg {
            position: absolute;
            inset: 0;
            background: url('assets/images/heroBanner.webp') center/cover no-repeat;
        }

        .hero-inner {
            position: relative;
            z-index: 1;
            max-width: 800px;
            background: #3d5549cc;
            padding: 20px;
            border-radius: 15px;
        }

        .hero-tag {
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.6);
            margin-bottom: 18px;
            display: block;
        }

        .hero-title {
            font-family: 'Playfair Display', serif;
            font-size: clamp(44px, 6.5vw, 82px);
            font-weight: 700;
            line-height: 1.05;
            color: var(--white);
            margin-bottom: 14px;
        }

        .hero-sub {
            font-family: 'Playfair Display', serif;
            font-size: clamp(16px, 2vw, 21px);
            font-weight: 400;
            font-style: italic;
            color: rgba(255, 255, 255, 0.78);
            margin-bottom: 18px;
            line-height: 1.55;
        }

        .hero-desc {
            font-size: 15px;
            font-weight: 400;
            line-height: 1.88;
            color: rgba(255, 255, 255, 0.68);
            max-width: 600px;
            margin: 0 auto 40px;
        }

        .hero-btns {
            display: flex;
            gap: 14px;
            justify-content: center;
            flex-wrap: wrap;
        }

        .btn-solid {
            font-size: 13px;
            font-weight: 700;
            letter-spacing: 0.5px;
            padding: 13px 30px;
            background: var(--btn-teal);
            color: var(--white);
            border: none;
            border-radius: 5px;
            cursor: pointer;
            text-decoration: none;
            transition: background .2s;
            display: inline-block;
        }

        .btn-solid:hover {
            background: var(--btn-hover);
        }

        .btn-ghost {
            font-size: 13px;
            font-weight: 700;
            letter-spacing: 0.5px;
            padding: 13px 30px;
            background: transparent;
            color: var(--white);
            border: 1.5px solid rgba(255, 255, 255, 0.4);
            border-radius: 5px;
            cursor: pointer;
            text-decoration: none;
            transition: all .2s;
            display: inline-block;
        }

        .btn-ghost:hover {
            border-color: var(--white);
            background: rgba(255, 255, 255, 0.08);
        } */

      /* PAST EXPEDITIONS */
      /* expeditions — full-width slider */
      .exp-top {
          display: flex;
          justify-content: space-between;
          align-items: flex-end;
          gap: 24px;
          flex-wrap: wrap;
          margin-bottom: 24px
      }

      .slider-nav {
          display: flex;
          align-items: center;
          gap: 12px
      }

      .nav-btn {
          width: 48px;
          height: 48px;
          border-radius: 50%;
          border: 1.5px solid var(--line-2);
          background: transparent;
          color: var(--ink);
          display: grid;
          place-items: center;
          cursor: pointer;
          transition: .35s var(--ease)
      }

      .nav-btn:hover {
          background: var(--grad-gold);
          color: var(--sage-deep);
          border-color: transparent;
          transform: translateY(-2px) scale(1.05)
      }

      .nav-btn svg {
          width: 19px;
          height: 19px
      }

      .slider {
          position: relative;
          overflow: hidden;
          border-radius: 22px;
          background: var(--bg-3);
          box-shadow: 0 30px 70px -30px rgba(0, 0, 0, .6)
      }

      .slides {
          display: flex;
          transition: transform .7s var(--ease);
          will-change: transform;
          touch-action: pan-y
      }

      .slide {
          flex: 0 0 100%;
          position: relative;
          height: clamp(280px, 36vw, 400px)
      }

      .slide img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          pointer-events: none
      }

      .slide::after {
          content: "";
          position: absolute;
          inset: 0;
          background:
              linear-gradient(90deg, rgba(16, 26, 51, .92) 0%, rgba(16, 26, 51, .35) 46%, transparent 72%),
              linear-gradient(180deg, transparent 46%, rgba(16, 26, 51, .7))
      }

      .slide-meta {
          position: absolute;
          left: clamp(24px, 4vw, 54px);
          bottom: clamp(22px, 3.5vw, 42px);
          right: 24px;
          z-index: 2;
          max-width: 540px
      }

      .slide-meta .n {
          font-size: .72rem;
          letter-spacing: .22em;
          color: var(--gold-lt);
          text-transform: uppercase
      }

      .slide-meta h3 {
          color: #fff;
          font-size: clamp(1.5rem, 3vw, 2.3rem);
          margin: 10px 0 8px;
          line-height: 1.1
      }

      .slide-meta p {
          color: var(--ink-soft);
          font-size: 1rem;
          max-width: 460px;
          font-weight: 300
      }

      .slide-count {
          position: absolute;
          top: 22px;
          right: 24px;
          z-index: 2;
          font-family: var(--serif);
          font-size: .95rem;
          color: #fff;
          background: rgba(16, 26, 51, .45);
          backdrop-filter: blur(6px);
          padding: 7px 15px;
          border-radius: 100px;
          border: 1px solid var(--line)
      }

      .slide-count b {
          color: var(--gold-lt)
      }

      .dots {
          display: flex;
          gap: 9px;
          justify-content: center;
          margin-top: 20px
      }

      .dot {
          width: 8px;
          height: 8px;
          border-radius: 50%;
          background: var(--line-2);
          cursor: pointer;
          transition: .35s var(--ease);
          border: none;
          padding: 0
      }

      .dot.active {
          background: var(--grad-gold);
          width: 26px;
          border-radius: 100px
      }

      /* full-width expeditions scroller (tall image cards) */
      .xscroll-wrap {
          position: relative;
          margin-top: 30px
      }

      .xscroll {
          display: flex;
          gap: 16px;
          overflow-x: auto;
          scroll-snap-type: x mandatory;
          padding: 4px clamp(18px, 4vw, 44px) 8px;
          scrollbar-width: none;
          cursor: grab
      }

      .xscroll::-webkit-scrollbar {
          display: none
      }

      .xscroll.grabbing {
          cursor: grabbing
      }

      .xcard {
          position: relative;
          flex: 0 0 clamp(230px, 25vw, 310px);
          height: clamp(330px, 32vw, 430px);
          border-radius: 18px;
          overflow: hidden;
          scroll-snap-align: start;
          background: var(--bg-3)
      }

      .xcard img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          transition: transform .8s var(--ease)
      }

      .xcard:hover img {
          transform: scale(1.06)
      }

      .xcard::after {
          content: "";
          position: absolute;
          inset: 0;
          background: linear-gradient(180deg, transparent 40%, rgba(16, 26, 51, .92))
      }

      .xcap {
          position: absolute;
          left: 20px;
          right: 18px;
          bottom: 20px;
          z-index: 2
      }

      .xcap .xloc {
          font-size: .7rem;
          letter-spacing: .16em;
          text-transform: uppercase;
          color: var(--gold-lt);
          font-weight: 700
      }

      .xcap h3 {
          color: #fff;
          font-size: 1.25rem;
          margin: 6px 0 4px;
          line-height: 1.15
      }

      .xcap p {
          color: rgba(255, 255, 255, .82);
          font-size: .86rem;
          line-height: 1.45;
          font-weight: 300
      }

      /* shared circular carousel arrows */
      .caro-arrow {
          position: absolute;
          top: 50%;
          transform: translateY(-50%);
          z-index: 6;
          width: 46px;
          height: 46px;
          border-radius: 50%;
          border: none;
          display: grid;
          place-items: center;
          cursor: pointer;
          color: var(--sage-deep);
          background: var(--grad-gold);
          box-shadow: 0 12px 26px -8px rgba(0, 0, 0, .6);
          transition: transform .3s, filter .3s
      }

      .caro-arrow:hover {
          transform: translateY(-50%) scale(1.09);
          filter: brightness(1.05)
      }

      .caro-arrow svg {
          width: 20px;
          height: 20px
      }

      .caro-arrow.prev {
          left: clamp(4px, 1.2vw, 16px)
      }

      .caro-arrow.next {
          right: clamp(4px, 1.2vw, 16px)
      }

      .tcarousel-wrap {
          position: relative
      }

      @media(max-width:600px) {
          .caro-arrow {
              width: 38px;
              height: 38px
          }

          .caro-arrow svg {
              width: 17px;
              height: 17px
          }
      }

      /* uncropped expedition cards (image full, caption below) */
      .xcard {
          flex: 0 0 clamp(250px, 27vw, 340px) !important;
          height: auto !important;
          display: flex;
          flex-direction: column;
          background: var(--bg-2)
      }

      .xcard::after {
          display: none !important
      }

      .xcard-img {
          width: 100%;
          aspect-ratio: 4/3;
          background: var(--bg-3);
          display: grid;
          place-items: center;
          overflow: hidden
      }

      .xcard-img img {
          width: 100%;
          height: 100%;
          object-fit: cover !important
      }

      .xcap {
          position: static !important;
          left: auto;
          right: auto;
          bottom: auto;
          padding: 16px 18px 20px
      }

      .xcap h3 {
          color: #fff
      }

      .xcap p {
          color: var(--ink-soft)
      }

      /* EXCLUSIVITY */
      #breakthrough {
          background: var(--sage);
          padding: 72px 0;
      }

      .bt-sub {
          font-family: 'Playfair Display', serif;
          font-size: clamp(15px, 1.8vw, 18px);
          font-weight: 400;
          font-style: italic;
          color: rgba(255, 255, 255, 0.75);
          max-width: 620px;
          margin: 0 auto 44px;
          text-align: center;
          line-height: 1.65;
      }

      .bt-cards {
          display: grid;
          grid-template-columns: 1fr 1fr 1fr;
          gap: 16px;
      }

      .bt-card {
          background: var(--white);
          border-radius: 14px;
          padding: 30px 26px;
          box-shadow: 0 2px 16px rgba(0, 0, 0, 0.10);
      }

      .bt-card h3 {
          font-family: 'Playfair Display', serif;
          font-size: 19px;
          font-weight: 600;
          color: var(--card-title);
          margin-bottom: 12px;
          line-height: 1.3;
      }

      .bt-card p {
          font-size: 13px;
          font-weight: 400;
          line-height: 1.75;
          color: var(--text-body);
          margin-bottom: 10px;
      }

      .chk-list {
          list-style: none;
          margin-top: 6px;
      }

      .chk-list li {
          font-size: 13px;
          font-weight: 400;
          color: var(--text-body);
          padding: 6px 0;
          display: flex;
          align-items: flex-start;
          gap: 9px;
          line-height: 1.55;
          border-bottom: 1px solid rgba(0, 0, 0, 0.05);
      }

      .chk-list li:last-child {
          border-bottom: none;
      }

      .chk-ico {
          flex-shrink: 0;
          color: var(--btn-teal);
          font-size: 12px;
          font-weight: 700;
          margin-top: 2px;
      }

      .member-note {
          font-size: 13px;
          font-weight: 700;
          color: var(--card-title);
          margin-top: 14px;
          line-height: 1.5;
      }

      .bt-cta {
          text-align: center;
          margin-top: 40px;
      }

      /* upcoming — schedule / agenda calendar */
.events-wrap{display:grid;grid-template-columns:.82fr 1.55fr;gap:34px;align-items:start}
.events-intro{position:sticky;top:110px}
.events-intro h2{font-size:clamp(2rem,4vw,3.2rem);font-weight:800;margin:18px 0 16px}
.events-intro h2 .ital{font-style:italic;font-weight:500;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.events-intro p{color:var(--ink-soft);font-weight:300;margin-bottom:24px}
.legend{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:12px}
#upcoming .sec-head{max-width:none;margin-bottom:22px}
#upcoming .sec-head p{margin-bottom:0}
.legend .lg{display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--ink-soft)}
.legend .lg .d{width:10px;height:10px;border-radius:50%;flex:none}
.legend .open .d{background:var(--gold)}
.legend .soon .d{background:var(--teal-lt)}
.legend .wait .d{background:var(--ink-faint)}
/* schedule frame */
.sched{background:var(--bg-2);border:1px solid var(--line-2);border-radius:22px;overflow:hidden;box-shadow:0 34px 80px -44px rgba(0,0,0,.7)}
.sched-bar{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(217,174,51,.1),transparent)}
.sched-bar .t{display:flex;align-items:center;gap:10px;font-weight:700;color:#fff;font-size:.98rem}
.sched-bar .t svg{width:19px;height:19px;color:var(--gold-lt)}
.sched-bar .c{font-size:.72rem;color:var(--ink-faint);letter-spacing:.14em;text-transform:uppercase}
.events-list{display:flex;flex-direction:column;gap:10px;max-height:456px;overflow-y:auto;padding:10px;scrollbar-width:thin;scrollbar-color:var(--teal) transparent}
.events-list::-webkit-scrollbar{width:7px}
.events-list::-webkit-scrollbar-thumb{background:linear-gradient(var(--gold),var(--teal));border-radius:100px;border:2px solid var(--bg-2)}
.events-list::-webkit-scrollbar-track{background:transparent}
.year-head{flex:none;position:sticky;top:-10px;z-index:4;display:flex;align-items:center;gap:12px;
  font-family:var(--serif);font-weight:700;font-size:1rem;letter-spacing:.12em;color:var(--gold-lt);
  padding:8px 4px 6px;background:var(--bg-2)}
.year-head::after{content:"";flex:1;height:1px;background:var(--line)}
.event{position:relative;display:grid;grid-template-columns:60px 132px 1fr auto;gap:18px;align-items:start;
  background:var(--bg-3);border:1px solid var(--line);border-radius:15px;padding:16px;cursor:pointer;
  transition:.45s var(--ease);overflow:hidden;flex:none}
.event .ev-go{align-self:center}
#viewPast .event:hover .ev-go {
    transform: rotate(0deg) !important;
}
.event::before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:var(--grad-green);transition:width .45s var(--ease);z-index:0}
.event>*{position:relative;z-index:1}
.event:hover{transform:translateX(5px);border-color:transparent;box-shadow:0 24px 50px -26px rgba(0,0,0,.7)}
.event:hover::before{width:5px}
.event.feature{background:linear-gradient(135deg,rgba(217,174,51,.18),var(--bg-3) 55%);border-color:rgba(217,174,51,.42)}
/* tear-off calendar tile */
.cal{width:60px;border-radius:11px;overflow:hidden;flex:none;background:#fff;transition:.45s var(--ease);
  box-shadow:0 8px 18px -8px rgba(0,0,0,.6)}
.event:hover .cal{transform:translateY(-3px) scale(1.05)}
.cal .top{background:var(--grad-gold);color:var(--sage-deep);font-weight:800;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;text-align:center;padding:4px 2px}
.cal .mid{background:#fff;color:var(--sage-deep);text-align:center;padding:5px 2px 6px}
.cal .mid .day{display:block;font-variant: lining-nums;font-family:var(--serif);font-size:1.25rem;font-weight:800;line-height:1 }
.cal .mid .dow{font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:#7C86A0}
/* image slot */
.ev-img{width:100%;height:94px;border-radius:10px;overflow:hidden;flex:none;position:relative;background:var(--bg-2);border:1px solid var(--line)}
.ev-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.event:hover .ev-img img{transform:scale(1.1)}
.ev-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(13,21,41,.4))}
.ev-img .ph{position:absolute;inset:0;display:grid;place-items:center;color:var(--ink-faint)}
.ev-img .ph svg{width:26px;height:26px}
.ev-info .r{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ev-info h3{color:#fff;font-size:1.15rem}
.ev-info .meta{color:var(--ink-soft);font-size:.84rem;margin-top:5px;display:flex;flex-direction:column;gap:3px}
.ev-info .meta span{display:flex;align-items:center;gap:6px}
.ev-info .meta svg{width:13px;height:13px;color:var(--teal-lt);flex:none}
.ev-info .dates{color:var(--gold-lt);font-size:.8rem;margin-top:6px;font-weight:700;letter-spacing:.02em}
.ev-desc{color:var(--ink-soft);font-size:.86rem;font-weight:300;line-height:1.5;margin-top:8px;max-width:560px}
.pill{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;padding:4px 10px;border-radius:100px;white-space:nowrap}
.pill.open{background:rgba(217,174,51,.2);color:var(--gold-lt);border:1px solid rgba(217,174,51,.4)}
.pill.soon{background:rgba(138,163,224,.16);color:var(--teal-lt);border:1px solid rgba(138,163,224,.35)}
.pill.wait{background:rgba(255,255,255,.06);color:var(--ink-faint);border:1px solid var(--line)}
.ev-go{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--line-2);display:grid;place-items:center;color:var(--ink);transition:.4s var(--ease);flex:none}
.event:hover .ev-go{background:var(--grad-gold);border-color:transparent;color:var(--sage-deep);transform:rotate(-45deg)}
.ev-go svg{width:17px;height:17px}

/* upcoming / past pill toggle (used inside #upcoming) */
.pill-toggle{display:flex;gap:5px;width:max-content;margin:0 auto 30px;background:var(--bg-2);border:1px solid var(--line-2);border-radius:100px;padding:5px}
.pill-toggle .pt{font-family:var(--sans);font-weight:700;font-size:.92rem;letter-spacing:.02em;padding:11px 36px;border-radius:100px;border:none;background:transparent;color:var(--ink-soft);cursor:pointer;transition:.3s}
.pill-toggle .pt:hover{color:#fff}
.pill-toggle .pt.active{background:var(--grad-gold);color:var(--sage-deep);box-shadow:0 8px 20px -8px rgba(217,174,51,.6)}
@media(max-width:600px){.pill-toggle .pt{padding:10px 26px;font-size:.86rem}}

/* past tours list (Past tab of Upcoming section) */
.past-list{display:flex;flex-direction:column;gap:12px;max-width:820px;margin:0 auto}
.past-row{display:flex;align-items:center;gap:18px;background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:15px 20px;transition:.35s var(--ease)}
.past-row:hover{border-color:rgba(217,174,51,.35);transform:translateX(4px)}
.past-cal{width:62px;flex:none;text-align:center;background:var(--grad-green);border-radius:10px;padding:8px 4px;color:#fff}
.past-cal span{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-lt);font-weight:700;display:block}
.past-cal b{font-family:var(--serif);font-size:1.05rem}

      /* UPCOMING TOURS */
      /* #tours {
          background: var(--sage-dk);
          padding: 72px 0;
      }

      .tours-list {
          display: flex;
          flex-direction: column;
          gap: 18px;
          margin-top: 44px;
      }

      .tour-card {
          background: var(--white);
          border-radius: 14px;
          padding: 30px 32px;
          display: grid;
          grid-template-columns: 1fr 380px;
          gap: 32px;
          align-items: center;
          box-shadow: 0 2px 16px rgba(0, 0, 0, 0.10);
          transition: box-shadow .3s;
      }

      .tour-card:hover {
          box-shadow: 0 6px 28px rgba(0, 0, 0, 0.15);
      }

      .tour-title {
          font-family: 'Playfair Display', serif;
          font-size: clamp(18px, 2vw, 22px);
          font-weight: 600;
          color: var(--card-title);
          margin-bottom: 10px;
          line-height: 1.35;
      }

      .tour-dates {
          font-size: 13.5px;
          font-weight: 400;
          color: var(--text-body);
          margin-bottom: 22px;
          line-height: 1.7;
      }

      .tour-dates strong {
          font-weight: 700;
          color: #333;
      }

      .btn-teal {
          font-size: 13px;
          font-weight: 700;
          padding: 11px 24px;
          background: var(--btn-teal);
          color: var(--white);
          border: none;
          border-radius: 5px;
          cursor: pointer;
          text-decoration: none;
          display: inline-block;
          transition: background .2s;
      }

      .btn-teal:hover {
          background: var(--btn-hover);
      }

      .tour-img-wrap {
          border-radius: 10px;
          overflow: hidden;
          height: 200px;
      }

      .tour-img-wrap img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          display: block;
      }

      .tour-car-wrap {
          border-radius: 10px;
          overflow: hidden;
          height: 200px;
          position: relative;
      }

      .tour-car-wrap .car-track .car-slide {
          min-width: 100%;
          padding: 0;
      }

      .tour-car-wrap .car-slide img {
          height: 200px;
          border-radius: 0;
      }

      .tour-car-wrap .car-prev {
          left: 8px;
      }

      .tour-car-wrap .car-next {
          right: 8px;
      } */

      /* FORM */
      #join {
          background: var(--sage);
          padding: 72px 0;
      }

      .join-grid {
          display: grid;
          grid-template-columns: 1fr 1fr;
          gap: 56px;
          align-items: start;
      }

      .join-left .sec-title,
      .join-left .eyebrow,
      .join-left .sec-desc {
          text-align: left;
          margin-left: 0;
      }

      .join-left .sec-desc {
          margin: 0 0 22px;
      }

      .fee-box {
          margin-top: 24px;
          padding: 20px 24px;
          background: rgb(255, 255, 255);
          border-radius: 10px;
          border: 1px solid rgba(255, 255, 255, 0.2);
      }

      .fee-box h4 {
          font-family: 'Playfair Display', serif;
          font-size: 17px;
          font-weight: 600;
          color: #333;
          margin-bottom: 10px;
      }

      .fee-box p {
          font-size: 13px;
          font-weight: 400;
          line-height: 1.75;
          color: #333;
          margin-bottom: 6px;
      }

      .fee-box strong {
          font-size: 13px;

          line-height: 1.75;
          color: #333;
      }

      .fee-note {
          font-size: 13px;
          font-weight: 700;
          color: rgba(255, 255, 255, 0.9);
          margin-top: 10px;
      }

      .form-card {
          background: var(--white);
          border-radius: 14px;
          padding: 36px;
          box-shadow: 0 4px 28px rgba(0, 0, 0, 0.13);
      }

      .form-card h3 {
          font-family: 'Playfair Display', serif;
          font-size: 21px;
          font-weight: 600;
          color: var(--card-title);
          margin-bottom: 22px;
      }

      .f-row {
          margin-bottom: 14px;
      }

      .f-label {
          font-size: 11px;
          font-weight: 700;
          letter-spacing: 0.3px;
          color: #777;
          display: block;
          margin-bottom: 5px;
          text-transform: uppercase;
      }

      .f-input,
      .f-select,
      .f-textarea {
          width: 100%;
          padding: 10px 13px;
          background: #F5F5F5;
          border: 1.5px solid #E4E4E4;
          color: #333;
          font-family: 'Lato', sans-serif;
          font-size: 13px;
          outline: none;
          border-radius: 5px;
          transition: border-color .2s;
          appearance: none;
      }

      .f-input:focus,
      .f-select:focus,
      .f-textarea:focus {
          border-color: var(--btn-teal);
          background: #fff;
      }

      .f-input::placeholder,
      .f-textarea::placeholder {
          color: #BABABA;
      }

      .f-textarea {
          resize: vertical;
          min-height: 76px;
      }

      .sel-wrap {
          position: relative;
      }

      .sel-wrap::after {
          content: '▾';
          position: absolute;
          right: 12px;
          top: 50%;
          transform: translateY(-50%);
          color: var(--btn-teal);
          pointer-events: none;
          font-size: 14px;
      }

      .f-submit {
          width: 100%;
          padding: 13px;
          background: var(--btn-teal);
          color: var(--white);
          border: none;
          border-radius: 5px;
          cursor: pointer;
          font-family: 'Lato', sans-serif;
          font-size: 13px;
          font-weight: 700;
          letter-spacing: 0.5px;
          transition: background .2s;
          margin-top: 4px;
      }

      .f-submit:hover {
          background: var(--btn-hover);
      }

      .f-error {
          font-size: 11px;
          color: #e05555;
          margin-top: 4px;
          display: block;
      }

      .form-alert {
          padding: 14px 18px;
          border-radius: 8px;
          font-size: 13px;
          font-weight: 600;
          margin-bottom: 16px;
      }

      .form-alert-success {
          background: #d4edda;
          color: #155724;
      }

      .form-alert-error {
          background: #f8d7da;
          color: #721c24;
      }

      .form-success-msg {
          display: none;
          text-align: center;
          padding: 40px 20px;
      }

      .form-success-msg .s-icon {
          font-size: 42px;
          margin-bottom: 14px;
      }

      .form-success-msg p {
          font-family: 'Playfair Display', serif;
          font-size: 21px;
          font-weight: 400;
          color: var(--card-title);
          line-height: 1.55;
      }

      /* testimonials carousel (revamped to reference) */
.tcarousel-wrap{padding:0 clamp(18px,4vw,40px)}
.tslides{display:flex!important;gap:22px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 2px 10px;transition:none!important;transform:none!important;scrollbar-width:none;cursor:grab;will-change:auto}
.tslides::-webkit-scrollbar{display:none}
.tslides.grabbing{cursor:grabbing}
.tslide{flex:0 0 clamp(290px,44%,500px)!important;scroll-snap-align:start;transform:none!important}
.tcard{background:var(--bg-2);border:1px solid var(--line);border-radius:14px;overflow:hidden;height:100%;display:flex;flex-direction:column}
.tcard-head{display:flex;justify-content:space-between;gap:18px;padding:24px 24px 20px;background:rgba(255,255,255,.04)}
.tcard-info{min-width:0}
.tname{display:inline-block;font-family:var(--sans);font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-lt);font-size:1rem;text-decoration:none;transition:.25s}
.tname:hover{color:var(--gold);text-decoration:underline}
.tdesig{color:var(--ink-soft);font-size:.95rem;margin-top:16px}
.tbiz{color:#fff;font-weight:700;font-size:.95rem;margin-top:3px}
.tphoto{width:96px;height:116px;flex:none;border-radius:6px;overflow:hidden;background:#eceff5;display:grid;place-items:center;box-shadow:0 6px 16px -8px rgba(0,0,0,.5)}
.tphoto img{width:100%;height:100%;object-fit:cover}
.tphoto .ini{font-family:var(--serif);font-weight:800;font-size:1.9rem;color:#2D3C69}
.tquote{padding:18px 24px 26px;color:var(--ink);font-size:1rem;line-height:1.62;font-weight:300;flex:1}
.tdots{display:flex!important;gap:8px;justify-content:center;margin-top:26px;flex-wrap:wrap}
.tdot{width:34px;height:3px;border-radius:2px;background:var(--line-2);border:none;cursor:pointer;padding:0;transition:.3s}
.tdot.active{background:var(--gold)}
@media(max-width:600px){.tslide{flex-basis:84%!important}}

/* shared circular carousel arrows (used by testimonials' prev/next buttons) */
.caro-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:46px;height:46px;border-radius:50%;border:none;display:grid;place-items:center;cursor:pointer;color:var(--sage-deep);background:var(--grad-gold);box-shadow:0 12px 26px -8px rgba(0,0,0,.6);transition:transform .3s,filter .3s}
.caro-arrow:hover{transform:translateY(-50%) scale(1.09);filter:brightness(1.05)}
.caro-arrow svg{width:20px;height:20px}
.caro-arrow.prev{left:clamp(4px,1.2vw,16px)}
.caro-arrow.next{right:clamp(4px,1.2vw,16px)}
.tcarousel-wrap{position:relative}
@media(max-width:600px){.caro-arrow{width:38px;height:38px}.caro-arrow svg{width:17px;height:17px}}

      /* TESTIMONIALS */
      /* #testimonial {
          background: var(--sage-dk);
          padding: 72px 0;
      }

      .t-grid {
          display: grid;
          grid-template-columns: repeat(3, 1fr);
          gap: 16px;
          margin-top: 44px;
      }

      .t-card {
          background: var(--white);
          border-radius: 14px;
          padding: 26px;
          box-shadow: 0 2px 16px rgba(0, 0, 0, 0.10);
      }

      .t-stars {
          color: #D4A92A;
          font-size: 13px;
          letter-spacing: 1px;
          margin-bottom: 12px;
      }

      .t-quote {
          font-size: 13px;
          font-weight: 400;
          line-height: 1.75;
          color: #555;
          margin-bottom: 18px;
          display: -webkit-box;
          -webkit-line-clamp: 5;
          -webkit-box-orient: vertical;
          overflow: hidden;
      }

      .t-person {
          display: flex;
          align-items: center;
          gap: 11px;
          padding-top: 14px;
          border-top: 1px solid rgba(0, 0, 0, 0.07);
      }

      .t-av {
          width: 40px;
          height: 40px;
          border-radius: 50%;
          background: var(--sage);
          display: flex;
          align-items: center;
          justify-content: center;
          font-family: 'Playfair Display', serif;
          font-size: 14px;
          font-weight: 700;
          color: var(--white);
          flex-shrink: 0;
      }

      .t-name {
          font-weight: 700;
          font-size: 13px;
          color: #2D3E38;
          margin-bottom: 2px;
      }

      .t-role {
          font-size: 11px;
          color: #888;
      } */

      /* CONTACT */
      #contact {
          background: var(--sage-dkr);
          padding: 72px 0;
      }

      .contact-inner {
          max-width: 580px;
          margin: 0 auto;
          padding: 0 40px;
      }

      /* FOOTER */
      /* footer {
            background: var(--sage-nav);
            border-top: 1px solid rgba(255, 255, 255, 0.10);
            padding: 36px 40px;
        }

        .footer-in {
            max-width: 1060px;
            margin: 0 auto;
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 20px;
        }

        .f-brand {
            font-family: 'Playfair Display', serif;
            font-size: 19px;
            font-weight: 700;
            color: var(--white);
        }

        .f-nav {
            display: flex;
            flex-wrap: wrap;
            gap: 18px;
            list-style: none;
        }

        .f-nav a {
            font-size: 12px;
            font-weight: 400;
            color: rgba(255, 255, 255, 0.45);
            text-decoration: none;
            transition: color .2s;
        }

        .f-nav a:hover {
            color: var(--white);
        }

        .f-copy {
            font-size: 12px;
            color: rgba(255, 255, 255, 0.28);
        }

        .fade-up {
            opacity: 0;
            transform: translateY(18px);
            transition: opacity .6s ease, transform .6s ease;
        }

        .fade-up.vis {
            opacity: 1;
            transform: translateY(0);
        }

        .fade-up.vis h3 {
            margin: 0px 0px 20px 0;
            font-family: 'Playfair Display', serif;
            font-size: 19px;
            font-weight: 600;
            color: #333;
            line-height: 1.3;
        }

        #business .fade-up.vis h3 {
              margin: 0px 0px 20px 0;
            font-family: 'Playfair Display', serif;
            font-size: 19px;
            font-weight: 600;
            color: #fff;
            line-height: 1.3;
        }

        .fade-up:nth-child(2) {
            transition-delay: .08s;
        }

        .fade-up:nth-child(3) {
            transition-delay: .16s;
        }

        .fade-up:nth-child(4) {
            transition-delay: .24s;
        }

        @media(max-width:1024px) {
            nav {
                padding: 0 24px;
            }

            .nav-links,
            .nav-apply {
                display: none;
            }

            .hamburger {
                display: flex;
            }

            section {
                padding: 56px 0;
            }

            .container {
                padding: 0 24px;
            }

            .exp-grid {
                grid-template-columns: 1fr;
                gap: 36px;
            }

            .bt-cards {
                grid-template-columns: 1fr;
            }

            .tour-card {
                grid-template-columns: 1fr;
                gap: 20px;
            }

            .tour-img-wrap,
            .tour-car-wrap {
                height: 220px;
                width: 100%;
            }

            .t-grid {
                grid-template-columns: 1fr 1fr;
            }

            .join-grid {
                grid-template-columns: 1fr;
                gap: 32px;
            }

            footer {
                padding: 28px 24px;
            }
        }

        @media(max-width:640px) {
            #home {
                padding: 88px 24px 56px;
            }

            .t-grid {
                grid-template-columns: 1fr;
            }

            .contact-inner {
                padding: 0 24px;
            }

            footer {
                padding: 24px 20px;
            }

            .footer-in {
                flex-direction: column;
                align-items: flex-start;
            }
        } */
/* ===== NAV / HEADER (moved from header.blade.php inline styles) ===== */
header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 150;
  transition: .45s var(--ease)
}
.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 0;
  transition: .45s var(--ease)
}
.brand {
  display: flex;
  align-items: center;
  gap: 13px;
  font-family: var(--serif);
  font-weight: 800;
  font-size: 1.4rem;
  color: #fff
}
.brand .mark {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  flex: none;
  background: var(--grad-gold);
  color: var(--sage-deep);
  font-family: var(--sans);
  font-weight: 900;
  font-size: 1.2rem;
  box-shadow: 0 8px 20px -8px rgba(217,174,51,.6)
}
.brand small {
  display: block;
  font-family: var(--sans);
  font-weight: 400;
  font-size: .6rem;
  letter-spacing: .34em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin-top: -1px
}
.brand .logo {
  height: 42px;
  width: auto;
  display: block;
  transition: height .4s var(--ease)
}
header.scrolled .brand .logo { height: 34px }
.foot-brand .logo { height: 50px }
header .nav-links {
  display: flex;
  gap: 32px;
  list-style: none
}
header .nav-links a {
  font-size: .9rem;
  font-weight: 500;
  color: var(--ink-soft);
  position: relative;
  transition: .3s
}
header .nav-links a:hover { color: #fff }
header .nav-links a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 0;
  height: 2px;
  background: var(--grad-gold);
  transition: .35s var(--ease)
}
header .nav-links a:hover::after { width: 100% }
header.scrolled {
  background: rgba(16,26,51,.82);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--line)
}
header.scrolled .nav { padding: 15px 0 }
.burger {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  z-index: 170;
  position: relative
}
.burger span {
  width: 24px;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  transition: transform .3s var(--ease), opacity .3s var(--ease)
}
.burger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg) }
.burger.open span:nth-child(2) { opacity: 0 }
.burger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg) }
.mob-overlay {
  position: fixed;
  inset: 0;
  background: rgba(8,12,24,.6);
  z-index: 160;
  opacity: 0;
  visibility: hidden;
  transition: opacity .35s, visibility 0s .35s
}
.mob-overlay.open {
  opacity: 1;
  visibility: visible;
  transition: opacity .35s, visibility 0s
}
.mob-nav {
  position: fixed;
  top: 0;
  right: 0;
  height: 100vh;
  width: min(80vw,340px);
  background: var(--bg-2);
  border-left: 1px solid var(--line-2);
  z-index: 165;
  display: flex;
  flex-direction: column;
  padding: 24px 28px 32px;
  transform: translateX(100%);
  transition: transform .45s var(--ease);
  box-shadow: -24px 0 60px -20px rgba(0,0,0,.6);
  overflow-y: auto
}
.mob-nav.open { transform: translateX(0) }
.mob-nav-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 28px
}
.mob-nav-top .brand {
  font-weight: 800;
  color: #fff;
  text-decoration: none;
  font-size: 1.05rem
}
.mob-close {
  background: none;
  border: 1.5px solid var(--line-2);
  border-radius: 50%;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  color: var(--ink);
  cursor: pointer
}
.mob-close svg { width: 18px; height: 18px }
.mob-links {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 28px
}
.mob-links a {
  display: block;
  padding: 16px 4px;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1px solid var(--line);
  transition: .25s
}
.mob-links a:hover, .mob-links a:active { color: var(--gold-lt); padding-left: 8px }
.mob-apply { width: 100%; justify-content: center; margin-top: auto }
@media(max-width:900px) {
  header .nav-links, .btn.btn-gold.hide { display: none }
  .burger { display: flex }
}
@media(min-width:901px) {
  .mob-nav, .mob-overlay { display: none }
}

      /* ── jQuery Validate — invalid field state ── */
      .field input.field-invalid,
      .field select.field-invalid,
      .field textarea.field-invalid {
          border-color: #e05555;
          box-shadow: 0 0 0 3px rgba(224, 85, 85, .12);
      }

/* ── Event CTA: Register / Registration not open yet ── */
.ev-cta {
    align-self: center;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--sans);
    font-weight: 700;
    font-size: .7rem;
    letter-spacing: .07em;
    text-transform: uppercase;
    padding: 9px 14px;
    border-radius: 100px;
    flex: none;
    transition: background .35s var(--ease), color .35s, border-color .35s, transform .35s var(--ease);
}
.ev-cta svg {
    width: 13px;
    height: 13px;
    flex: none;
}
.ev-cta--open {
    background: rgba(217,174,51,.12);
    border: 1.5px solid rgba(217,174,51,.35);
    color: var(--gold-lt);
    white-space: nowrap;
}
.event:hover .ev-cta--open {
    background: var(--grad-gold);
    border-color: transparent;
    color: var(--sage-deep);
}
.ev-cta--closed {
    background: rgba(255,255,255,.04);
    border: 1.5px solid rgba(255,255,255,.1);
    color: var(--ink-faint);
    white-space: nowrap;
    cursor: default;
    opacity: .7;
}

/* ── Non-open event card — suppress all hover effects ── */
.event--closed {
    cursor: default;
}
.event--closed:hover {
    transform: none !important;
    border-color: var(--line) !important;
    box-shadow: none !important;
}
.event--closed::before {
    display: none !important;
}
.event--closed:hover .cal {
    transform: none !important;
}
.event--closed:hover .ev-img img {
    transform: none !important;
}

/* ── Slider drag: prevent text & image selection ── */
.xscroll,
.tslides {
    user-select: none;
    -webkit-user-select: none;
}
.xscroll img,
.tslides img {
    pointer-events: none;
    -webkit-user-drag: none;
}

/* ── Responsive: mirror ev-go responsive rules for ev-cta ── */
@media(max-width:900px) {
    .event .ev-cta {
        align-self: start;
    }
}
@media(max-width:640px) {
    .event .ev-cta {
        display: none;
    }
}

/* ══════════════════════════════════════════════════════════
   SWIPER INTEGRATION
   Replaces custom drag-scroll on expeditions + testimonials.
   Card design (.xcard, .tcard etc.) is unchanged.
   ══════════════════════════════════════════════════════════ */

/* ── Expeditions Swiper ── */
.xswiper {
    overflow: hidden;
    padding-top: 4px;
    padding-bottom: 8px;
}
/* Each slide sizes itself via .xcard's CSS width */
.xswiper .swiper-slide {
    width: clamp(250px, 27vw, 340px);
    height: auto;
}
/* .xcard already handles its own width/height — just ensure it fills the slide */
.xswiper .xcard {
    width: 100%;
    flex: none;
}
.xcard .glightbox {
    display: block;
    cursor: zoom-in;
}
.xcard .glightbox:hover img {
    transform: scale(1.04);
}

/* ── Testimonials Swiper ── */
.tswiper {
    overflow: hidden;
    padding-bottom: 4px;
}
.tswiper .swiper-wrapper {
    align-items: stretch;
}
/* .swiper-slide and .tslide are the same element */
.tswiper .swiper-slide {
    width: clamp(290px, 44%, 500px);
    height: auto;
    display: flex;
    flex-direction: column;
}
/* Card fills the full slide height; flex:1 is more reliable than height:100% when parent is height:auto */
.tswiper .tcard {
    flex: 1;
}
@media(max-width:600px) {
    .tswiper .swiper-slide {
        width: 84%;
    }
}

/* ── Shared: disabled nav arrow (Swiper adds this class at boundaries) ── */
.caro-arrow.swiper-button-disabled {
    opacity: 0.35;
    pointer-events: none;
    filter: grayscale(0.4);
}

/* ── Remove legacy user-select rules (Swiper handles drag internally) ── */
/* The old .xscroll / .tslides selectors no longer exist in DOM, so the
   rules below are harmless but kept for reference. Swiper already prevents
   text selection during drag via its own pointer-event handling. */
