  :root{
    --plum:#161513;
    --plum-deep:#0A0A09;
    --burgundy:#8A6A23;
    --gold:#D4AF37;
    --gold-soft:#E9D9A8;
    --ivory:#FAF8F3;
    --ink:#1A1815;
    --blush:#EFE3C2;
    --line: rgba(250,248,243,0.14);
    --shadow: 0 30px 60px -20px rgba(0,0,0,0.45);
    --ease: cubic-bezier(.16,.84,.44,1);
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Manrope',sans-serif;
    background:var(--ivory);
    color:var(--ink);
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  ul{list-style:none;}
  button{font-family:inherit;border:none;background:none;cursor:pointer;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 28px;}

  h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:600;line-height:1.05;}
  .eyebrow{
    font-family:'Manrope',sans-serif;
    font-size:12px;
    letter-spacing:0.22em;
    text-transform:uppercase;
    font-weight:700;
    color:var(--burgundy);
    display:inline-flex;
    align-items:center;
    gap:10px;
  }
  .eyebrow::before{
    content:"";
    width:22px;height:1px;background:var(--burgundy);display:inline-block;
  }
  :focus-visible{outline:2px solid var(--burgundy);outline-offset:3px;}
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.001s !important; transition-duration:0.001s !important; scroll-behavior:auto !important;}
  }

  /* ---------- NAV ---------- */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    padding:20px 0;
    transition:background .4s var(--ease), padding .4s var(--ease), box-shadow .4s var(--ease);
  }
  header.solid{
    background:rgba(247,241,232,0.92);
    backdrop-filter:blur(10px);
    padding:14px 0;
    box-shadow:0 8px 30px -18px rgba(0,0,0,0.25);
  }
  nav{display:flex;align-items:center;justify-content:space-between;}
  .brand{
    font-family:'Cormorant Garamond',serif;
    font-size:24px;font-weight:600;letter-spacing:0.04em;
    color:var(--ivory);
    display:flex;align-items:center;gap:10px;
  }
  .brand img{height:40px;width:40px;object-fit:contain;border-radius:50%;background:#fff;padding:3px;}
  header.solid .brand img{background:transparent;padding:0;}
  header.solid .brand{color:var(--plum);}
  .brand span{color:var(--gold);}
  .nav-links{display:flex;gap:34px;align-items:center;}
  .nav-links a{
    font-size:13.5px;font-weight:600;letter-spacing:0.03em;
    color:var(--ivory);opacity:.85;
    position:relative;padding:4px 0;
    transition:opacity .25s;
  }
  header.solid .nav-links a{color:var(--ink);}
  .nav-links a::after{
    content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;
    background:var(--gold);transition:width .3s var(--ease);
  }
  .nav-links a:hover{opacity:1;}
  .nav-links a:hover::after{width:100%;}
  .nav-cta{
    background:linear-gradient(135deg, #F1DE9E 0%, var(--gold) 45%, #B8912B 100%);
    color:var(--plum-deep) !important;
    padding:11px 24px;border-radius:3px;font-weight:700;font-size:12.5px;
    letter-spacing:0.05em;text-transform:uppercase;
    box-shadow:0 10px 20px -10px rgba(212,175,55,0.6), inset 0 1px 0 rgba(255,255,255,0.5);
    transition:transform .3s var(--ease), box-shadow .3s var(--ease);
  }
  .nav-cta:hover{transform:translateY(-2px);box-shadow:0 14px 26px -10px rgba(212,175,55,0.7), inset 0 1px 0 rgba(255,255,255,0.6);}
  .nav-cta::after{display:none;}
  .burger{display:none;flex-direction:column;gap:5px;z-index:110;}
  .burger span{width:24px;height:2px;background:var(--ivory);transition:.3s;}
  header.solid .burger span{background:var(--plum);}

  /* ---------- HERO ---------- */
  .hero{
    position:relative;min-height:100vh;
    background:radial-gradient(120% 100% at 100% 0%, var(--burgundy) 0%, var(--plum) 42%, var(--plum-deep) 100%);
    display:flex;align-items:center;
    padding:150px 0 90px;
    overflow:hidden;
  }
  .hero::before{
    /* signature spotlight arc motif */
    content:"";
    position:absolute; top:-30%; right:-15%;
    width:900px;height:900px;
    background:conic-gradient(from 200deg at 50% 50%, transparent 0deg, rgba(212,175,55,0.28) 40deg, transparent 90deg, transparent 260deg, rgba(0,0,0,0.4) 300deg, transparent 340deg);
    filter:blur(2px);
    animation: rotate-slow 60s linear infinite;
  }
  @keyframes rotate-slow{ to{ transform:rotate(360deg); } }
  .hero-grid{
    position:relative;z-index:2;
    display:grid;grid-template-columns:1.15fr 0.85fr;gap:60px;align-items:center;
  }
  .hero-tag{color:var(--gold-soft);}
  .hero h1{
    color:var(--ivory);
    font-size:clamp(42px,6vw,74px);
    margin:22px 0 24px;
    font-style:normal;
  }
  .hero h1 em{
    font-style:italic;color:var(--gold);font-weight:500;
  }
  .hero p.lead{
    color:rgba(247,241,232,0.78);
    font-size:17px;line-height:1.7;
    max-width:480px;margin-bottom:36px;
  }
  .btn-row{display:flex;gap:16px;flex-wrap:wrap;}
  .btn{
    position:relative;
    display:inline-flex;align-items:center;justify-content:center;gap:9px;
    padding:16px 30px;font-size:13px;font-weight:700;
    letter-spacing:0.06em;text-transform:uppercase;border-radius:3px;
    isolation:isolate;overflow:hidden;
    transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);
  }
  .btn svg{transition:transform .35s var(--ease);}
  .btn:hover svg{transform:translateX(3px);}
  .btn:active{transform:translateY(-1px) scale(.98);}

  /* primary: brushed gold-foil with a light sweep on hover */
  .btn-primary{
    background:linear-gradient(135deg, #F1DE9E 0%, var(--gold) 45%, #B8912B 100%);
    color:var(--plum-deep);
    box-shadow:0 14px 28px -14px rgba(212,175,55,0.65), inset 0 1px 0 rgba(255,255,255,0.5), inset 0 -1px 2px rgba(90,66,10,0.35);
  }
  .btn-primary::before{
    content:"";position:absolute;inset:0;z-index:-1;
    background:linear-gradient(115deg, transparent 20%, rgba(255,255,255,0.65) 42%, transparent 64%);
    transform:translateX(-140%);
  }
  .btn-primary:hover{
    transform:translateY(-3px);
    box-shadow:0 20px 36px -14px rgba(212,175,55,0.75), inset 0 1px 0 rgba(255,255,255,0.6), inset 0 -1px 2px rgba(90,66,10,0.35);
  }
  .btn-primary:hover::before{transform:translateX(140%);transition:transform .85s var(--ease);}

  /* ghost: hairline border that fills with a soft gold wash */
  .btn-ghost{
    border:1px solid rgba(247,241,232,0.4);color:var(--ivory);
    background:rgba(247,241,232,0.03);
    backdrop-filter:blur(2px);
  }
  .btn-ghost::before{
    content:"";position:absolute;inset:0;z-index:-1;
    background:var(--gold);opacity:0;
    transition:opacity .35s var(--ease);
  }
  .btn-ghost:hover{
    border-color:var(--gold);color:var(--plum-deep);
    transform:translateY(-3px);
    box-shadow:0 14px 26px -14px rgba(212,175,55,0.45);
  }
  .btn-ghost:hover::before{opacity:1;}

  .hero-visual{
    position:relative;
    aspect-ratio:3/4;
    border:1px solid rgba(247,241,232,0.18);
    border-radius:2px;
    background:linear-gradient(150deg, rgba(212,175,55,0.14), rgba(10,10,9,0.28));
    display:flex;align-items:center;justify-content:center;
    overflow:hidden;
  }
  .hero-visual img{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
    filter:saturate(0.9) contrast(1.05);
  }
  .hero-visual .photo-overlay{
    position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(26,11,18,0.15) 0%, rgba(26,11,18,0.15) 55%, rgba(26,11,18,0.85) 100%),
               linear-gradient(120deg, rgba(10,10,9,0.35), rgba(212,175,55,0.12));
    z-index:1;
  }
  .hero-visual .ring{
    width:70%;aspect-ratio:1;border-radius:50%;
    border:1px solid var(--gold);opacity:.55;
    position:absolute;
    animation:pulse-ring 5s var(--ease) infinite;
  }
  .hero-visual .ring.r2{width:48%;animation-delay:.6s;opacity:.35;}
  @keyframes pulse-ring{ 0%,100%{transform:scale(1);} 50%{transform:scale(1.06);} }
  .hero-visual .center-text{
    position:relative;z-index:2;text-align:center;color:var(--ivory);
    font-family:'Cormorant Garamond',serif;
  }
  .hero-visual .center-text .num{font-size:54px;color:var(--gold);}
  .hero-visual .center-text .label{
    font-family:'Manrope',sans-serif;font-size:11px;letter-spacing:0.2em;
    text-transform:uppercase;color:rgba(247,241,232,0.7);margin-top:6px;
  }
  .chip-float{
    position:absolute;background:rgba(247,241,232,0.08);
    border:1px solid rgba(247,241,232,0.25);
    padding:8px 16px;border-radius:30px;
    font-size:12px;color:var(--ivory);letter-spacing:0.03em;
    backdrop-filter:blur(6px);
  }
  .chip-float.c1{top:10%;left:6%;}
  .chip-float.c2{bottom:14%;right:8%;}

  /* ---------- MARQUEE ---------- */
  .marquee-wrap{
    background:var(--plum-deep);overflow:hidden;
    padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  }
  .marquee{display:flex;white-space:nowrap;animation:scroll-x 32s linear infinite;}
  .marquee span{
    color:var(--gold-soft);font-size:13px;letter-spacing:0.08em;
    text-transform:uppercase;font-weight:600;padding:0 26px;
    border-right:1px solid rgba(247,241,232,0.2);
  }
  @keyframes scroll-x{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

  /* ---------- SECTION GENERIC ---------- */
  section{padding:110px 0;}
  .section-head{max-width:640px;margin-bottom:64px;}
  .section-head h2{font-size:clamp(32px,4vw,46px);margin-top:18px;color:var(--plum);}
  .section-head p{color:#5b4a52;font-size:16px;line-height:1.7;margin-top:16px;}
  .light-on-dark .section-head h2, .light-on-dark .section-head p{color:var(--ivory);}

  /* pillars */
  .pillars{
    display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
    background:var(--line);
    border:1px solid var(--line);
  }
  .pillar{
    background:var(--plum-deep);padding:38px 32px;
    transition:background .3s;
  }
  .pillar:hover{background:var(--plum);}
  .pillar .icon{
    width:38px;height:38px;margin-bottom:20px;
    border:1px solid var(--gold);border-radius:50%;
    display:flex;align-items:center;justify-content:center;color:var(--gold);
  }
  .pillar h3{color:var(--ivory);font-size:21px;margin-bottom:10px;font-weight:600;}
  .pillar p{color:rgba(247,241,232,0.65);font-size:14.5px;line-height:1.65;}
  .pillars-section{background:var(--plum-deep);}

  /* founder */
  .founder{
    display:grid;grid-template-columns:0.8fr 1.2fr;gap:70px;align-items:center;
  }
  .founder-frame{
    aspect-ratio:4/5;border-radius:2px;position:relative;
    background:linear-gradient(160deg, var(--blush), var(--gold-soft));
    display:flex;align-items:center;justify-content:center;
    border:1px solid var(--line);
    overflow:hidden;
  }
  .founder-frame::before{
    content:"";position:absolute;inset:18px;border:1px solid rgba(20,20,20,0.25);
  }
  .founder-frame .initials{
    font-family:'Cormorant Garamond',serif;font-size:88px;color:rgba(20,20,20,0.55);
  }
  .founder-quote{
    font-family:'Cormorant Garamond',serif;font-style:italic;font-size:26px;
    color:var(--plum);line-height:1.5;margin:20px 0 26px;
  }
  .founder-titles{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 28px;}
  .founder-titles span{
    font-size:11.5px;letter-spacing:0.06em;text-transform:uppercase;font-weight:700;
    padding:7px 14px;border:1px solid var(--burgundy);color:var(--burgundy);border-radius:30px;
  }

  /* courses */
  .courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  .course-card{
    border:1px solid #e6dccb;background:#fff;padding:34px 28px;border-radius:3px;
    transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s;
    display:flex;flex-direction:column;height:100%;
  }
  .course-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:var(--gold);}
  .course-duration{
    font-size:12px;letter-spacing:0.08em;text-transform:uppercase;font-weight:700;color:var(--gold);
    margin-bottom:16px;
  }
  .course-card h3{font-size:24px;color:var(--plum);margin-bottom:10px;}
  .course-card p{font-size:14.5px;color:#5b4a52;line-height:1.6;flex-grow:1;margin-bottom:20px;}
  .course-link{font-size:13px;font-weight:700;color:var(--burgundy);display:inline-flex;align-items:center;gap:6px;}
  .course-link svg{transition:transform .3s;}
  .course-card:hover .course-link svg{transform:translateX(4px);}

  /* stats */
  .stats-section{background:var(--burgundy);}
  .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;gap:20px;}
  .stat .num{
    font-family:'Cormorant Garamond',serif;font-size:56px;color:var(--gold-soft);
  }
  .stat .label{
    margin-top:8px;font-size:13px;letter-spacing:0.05em;text-transform:uppercase;
    color:rgba(247,241,232,0.75);font-weight:600;
  }

  /* testimonials */
  .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  .testi-card{
    background:var(--ivory);border-left:2px solid var(--gold);padding:30px 26px;
  }
  .testi-card p.quote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:19px;color:var(--plum);line-height:1.55;margin-bottom:18px;}
  .testi-name{font-weight:700;font-size:14px;color:var(--ink);}
  .testi-role{font-size:12.5px;color:#8a7680;}

  /* gallery */
  .gallery-grid{
    display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:160px 160px;gap:10px;
  }
  .gallery-grid figure{
    border-radius:2px;position:relative;overflow:hidden;margin:0;
    display:flex;align-items:flex-end;padding:14px;
    font-size:12px;letter-spacing:0.05em;text-transform:uppercase;color:var(--ivory);font-weight:700;
  }
  .gallery-grid figure img{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
    transition:transform .5s var(--ease);
  }
  .gallery-grid figure:hover img{transform:scale(1.06);}
  .gallery-grid figure::before{
    content:"";position:absolute;inset:0;z-index:1;
    background:linear-gradient(180deg, rgba(26,11,18,0) 40%, rgba(26,11,18,0.75) 100%);
  }
  .gallery-grid figure figcaption{position:relative;z-index:2;}
  .g1{grid-row:span 2;}
  .g4{grid-row:span 2;}
  .g5{background:linear-gradient(150deg,#8A6A23,#D4AF37);}
  .g6{background:linear-gradient(150deg,#0A0A09,#E9D9A8);}

  /* CTA */
  .cta-section{
    background:var(--plum-deep);position:relative;text-align:center;overflow:hidden;
  }
  .cta-section::before{
    content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);
    width:700px;height:700px;
    background:radial-gradient(circle, rgba(212,175,55,0.18), transparent 70%);
  }
  .cta-section .wrap{position:relative;z-index:2;}
  .cta-section .eyebrow{color:var(--gold-soft);}
  .cta-section .eyebrow::before{background:var(--gold-soft);}
  .cta-section h2{color:var(--ivory);font-size:clamp(32px,4.5vw,50px);margin:18px 0 20px;}
  .cta-section p{color:rgba(247,241,232,0.72);max-width:520px;margin:0 auto 34px;font-size:16px;}

  /* footer */
  footer{background:var(--plum-deep);color:rgba(247,241,232,0.6);padding:70px 0 26px;border-top:1px solid var(--line);}
  .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:40px;padding-bottom:50px;border-bottom:1px solid var(--line);}
  .footer-brand{font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--ivory);}
  .footer-brand span{color:var(--gold);}
  .footer-grid p.tag{margin-top:14px;font-size:14px;max-width:240px;line-height:1.6;}
  .footer-grid h4{font-size:13px;letter-spacing:0.06em;text-transform:uppercase;color:var(--ivory);margin-bottom:16px;}
  .footer-grid ul li{margin-bottom:10px;font-size:14px;}
  .footer-grid ul li a:hover{color:var(--gold);}
  .footer-bottom{
    display:flex;justify-content:space-between;align-items:center;padding-top:26px;font-size:13px;flex-wrap:wrap;gap:10px;
  }

  /* ---------- PAGE BANNER (inner pages) ---------- */
  .page-banner{
    position:relative;min-height:52vh;
    background:radial-gradient(120% 100% at 100% 0%, var(--burgundy) 0%, var(--plum) 42%, var(--plum-deep) 100%);
    display:flex;align-items:center;
    padding:150px 0 70px;overflow:hidden;
  }
  .page-banner::before{
    content:"";position:absolute; top:-30%; right:-15%;
    width:900px;height:900px;
    background:conic-gradient(from 200deg at 50% 50%, transparent 0deg, rgba(212,175,55,0.28) 40deg, transparent 90deg, transparent 260deg, rgba(0,0,0,0.4) 300deg, transparent 340deg);
    filter:blur(2px);
    animation: rotate-slow 60s linear infinite;
  }
  .page-banner .wrap{position:relative;z-index:2;}
  .page-banner h1{
    color:var(--ivory);font-size:clamp(38px,5.2vw,60px);margin:18px 0 16px;
  }
  .page-banner h1 em{font-style:italic;color:var(--gold);font-weight:500;}
  .page-banner p.lead{color:rgba(247,241,232,0.78);font-size:16.5px;line-height:1.7;max-width:560px;}
  .breadcrumb{
    display:flex;align-items:center;gap:8px;font-size:12.5px;color:rgba(247,241,232,0.55);
    letter-spacing:0.03em;margin-top:24px;
  }
  .breadcrumb a{color:rgba(247,241,232,0.8);}
  .breadcrumb a:hover{color:var(--gold);}

  /* ---------- TIMELINE (founder) ---------- */
  .timeline{border-left:1px solid var(--line);margin-left:8px;}
  .timeline-item{position:relative;padding:0 0 44px 34px;}
  .timeline-item:last-child{padding-bottom:0;}
  .timeline-item::before{
    content:"";position:absolute;left:-6px;top:2px;width:11px;height:11px;border-radius:50%;
    background:var(--gold);box-shadow:0 0 0 4px rgba(212,175,55,0.18);
  }
  .timeline-year{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--gold-soft);margin-bottom:6px;}
  .timeline-item h4{color:var(--ivory);font-size:19px;font-weight:600;margin-bottom:6px;font-family:'Cormorant Garamond',serif;}
  .timeline-item p{color:rgba(247,241,232,0.65);font-size:14.5px;line-height:1.65;max-width:520px;}
  .timeline-dark{background:var(--plum-deep);}

  /* ---------- VALUES / EXPANDED PHILOSOPHY ---------- */
  .value-row{
    display:grid;grid-template-columns:0.5fr 1.5fr;gap:40px;
    padding:38px 0;border-bottom:1px solid #e6dccb;
  }
  .value-row:first-child{padding-top:0;}
  .value-row:last-child{border-bottom:none;}
  .value-row .value-num{font-family:'Cormorant Garamond',serif;font-size:44px;color:var(--gold);}
  .value-row h3{font-size:24px;color:var(--plum);margin-bottom:10px;}
  .value-row p{color:#5b4a52;font-size:15px;line-height:1.75;max-width:560px;}

  /* ---------- FAQ (courses) ---------- */
  .faq-item{border-bottom:1px solid var(--line);padding:26px 0;}
  .faq-item summary{
    cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;
    color:var(--ivory);font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:600;
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{content:"+";color:var(--gold);font-size:22px;transition:transform .3s var(--ease);}
  .faq-item[open] summary::after{transform:rotate(45deg);}
  .faq-item p{color:rgba(247,241,232,0.65);font-size:14.5px;line-height:1.7;margin-top:14px;max-width:640px;}

  /* ---------- PRICING NOTE (courses) ---------- */
  .course-card .course-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}
  .course-card .course-batch{font-size:11.5px;color:#8a7680;letter-spacing:0.04em;}

  /* ---------- STORIES PAGE FILTER + EXTRA ---------- */
  .story-filter{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:44px;}
  .story-filter button{
    padding:9px 18px;border:1px solid var(--burgundy);border-radius:30px;font-size:12.5px;
    font-weight:700;letter-spacing:0.03em;color:var(--burgundy);transition:.25s var(--ease);
  }
  .story-filter button.active,.story-filter button:hover{background:var(--burgundy);color:var(--ivory);}
  .testi-card{transition:transform .3s var(--ease), box-shadow .3s var(--ease);}
  .testi-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
  .testi-card .testi-tag{
    display:inline-block;margin-top:14px;font-size:10.5px;letter-spacing:0.06em;text-transform:uppercase;
    color:var(--gold);font-weight:700;
  }
  .video-card{
    background:var(--plum-deep);border-radius:2px;aspect-ratio:16/10;position:relative;
    display:flex;align-items:center;justify-content:center;overflow:hidden;
  }
  .video-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;}
  .video-card .play{
    position:relative;z-index:2;width:56px;height:56px;border-radius:50%;
    background:var(--gold);display:flex;align-items:center;justify-content:center;color:var(--plum-deep);
    box-shadow:0 0 0 10px rgba(212,175,55,0.15);
  }

  /* ---------- FULL GALLERY GRID ---------- */
  .gallery-full{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:10px;}
  .gallery-full figure{margin:0;border-radius:2px;overflow:hidden;position:relative;display:flex;align-items:flex-end;padding:14px;}
  .gallery-full figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
  .gallery-full figure:hover img{transform:scale(1.06);}
  .gallery-full figure::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg, rgba(26,11,18,0) 40%, rgba(26,11,18,0.75) 100%);}
  .gallery-full figcaption{position:relative;z-index:2;color:var(--ivory);font-size:12px;letter-spacing:0.05em;text-transform:uppercase;font-weight:700;}
  .gallery-full .tall{grid-row:span 2;}
  .gallery-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px;}
  .gallery-tabs button{
    padding:9px 18px;border:1px solid var(--line);border-radius:30px;font-size:12.5px;
    font-weight:700;letter-spacing:0.03em;color:rgba(247,241,232,0.7);transition:.25s var(--ease);
  }
  .gallery-tabs button.active,.gallery-tabs button:hover{background:var(--gold);color:var(--plum-deep);border-color:var(--gold);}

  /* ---------- BOOKING FORM ---------- */
  .booking-layout{display:grid;grid-template-columns:1fr 0.85fr;gap:60px;align-items:start;}
  .booking-form{background:#fff;border:1px solid #e6dccb;border-radius:3px;padding:44px;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
  .form-group{margin-bottom:18px;display:flex;flex-direction:column;gap:8px;}
  .form-group label{font-size:12.5px;font-weight:700;letter-spacing:0.03em;color:var(--plum);text-transform:uppercase;}
  .form-group input,.form-group select,.form-group textarea{
    border:1px solid #d9cdb6;border-radius:3px;padding:13px 15px;font-family:'Manrope',sans-serif;
    font-size:14.5px;color:var(--ink);background:var(--ivory);transition:border-color .25s;
  }
  .form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--gold);}
  .form-group textarea{resize:vertical;min-height:110px;}
  .form-submit{width:100%;justify-content:center;margin-top:6px;}
  .booking-info{display:flex;flex-direction:column;gap:0;}
  .info-card{
    background:var(--plum-deep);border-radius:3px;padding:34px;margin-bottom:20px;
  }
  .info-card h4{color:var(--gold-soft);font-size:12px;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:10px;font-weight:700;}
  .info-card p, .info-card a{color:rgba(247,241,232,0.8);font-size:15px;line-height:1.7;}
  .info-card a:hover{color:var(--gold);}
  .hours-list{display:flex;flex-direction:column;gap:8px;margin-top:6px;}
  .hours-list li{display:flex;justify-content:space-between;font-size:14px;color:rgba(247,241,232,0.75);}
  .hours-list li span:last-child{color:var(--gold-soft);font-weight:600;}
  .form-success{
    display:none;text-align:center;padding:60px 20px;
  }
  .form-success.show{display:block;}
  .form-success .icon{
    width:64px;height:64px;border-radius:50%;background:var(--gold);color:var(--plum-deep);
    display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:28px;
  }

  /* ---------- SUB-NAV (active link) ---------- */
  .nav-links a.active{color:var(--gold) !important;opacity:1;}
  .nav-links a.active::after{width:100%;}

  /* ---------- RESPONSIVE ADDITIONS ---------- */
  @media (max-width:980px){
    .booking-layout{grid-template-columns:1fr;}
    .value-row{grid-template-columns:1fr;gap:10px;}
    .gallery-full{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px;}
    .gallery-full .tall{grid-row:span 1;}
  }
  @media (max-width:720px){
    .form-row{grid-template-columns:1fr;}
    .page-banner{min-height:42vh;padding-top:120px;}
    .booking-form{padding:30px 22px;}
  }

  /* ---------- REVEAL ANIM ---------- */
  .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease), transform .7s var(--ease);}
  .reveal.in{opacity:1;transform:translateY(0);}

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:980px){
    .hero-grid{grid-template-columns:1fr;}
    .hero-visual{max-width:380px;margin:0 auto;}
    .pillars{grid-template-columns:repeat(2,1fr);}
    .founder{grid-template-columns:1fr;}
    .founder-frame{max-width:320px;margin:0 auto;}
    .courses-grid{grid-template-columns:repeat(2,1fr);}
    .stats-grid{grid-template-columns:repeat(2,1fr);row-gap:36px;}
    .testi-grid{grid-template-columns:1fr;}
    .gallery-grid{grid-template-columns:repeat(3,1fr);}
    .footer-grid{grid-template-columns:1fr 1fr;row-gap:36px;}
  }
  @media (max-width:720px){
    .nav-links{
      position:fixed;top:0;right:0;height:100vh;width:78%;max-width:320px;
      background:var(--plum-deep);flex-direction:column;align-items:flex-start;
      padding:110px 34px 40px;gap:26px;
      transform:translateX(100%);transition:transform .4s var(--ease);
      box-shadow:-20px 0 40px rgba(0,0,0,0.3);
    }
    .nav-links.open{transform:translateX(0);}
    .nav-links a{color:var(--ivory) !important;font-size:16px;}
    .nav-cta{margin-top:10px;}
    .burger{display:flex;}
    .hero{padding-top:120px;}
    .btn-row{width:100%;}
    .btn{flex:1;justify-content:center;}
    .pillars{grid-template-columns:1fr;}
    .courses-grid{grid-template-columns:1fr;}
    .gallery-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:140px 140px 140px;}
    .g1,.g4{grid-row:span 1;}
    section{padding:76px 0;}
    .chip-float{display:none;}
  }
