﻿:root{
    --ink:#0d0806;
    --ink-soft:#151009;
    --burgundy:#3d0c14;
    --burgundy-deep:#26060b;
    --gold:#c9a24b;
    --gold-light:#e4c77a;
    --rose:#e8c4c4;
    --ivory:#f6f1e7;
    --ivory-dim:#efe6d4;
    --bronze:#8b6f47;
    --serif:'Cormorant Garamond', 'Playfair Display', serif;
    --sans:'Poppins', sans-serif;
    --script:'Playfair Display', serif;
    --ease:cubic-bezier(.22,.61,.36,1);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--sans);
    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;cursor:pointer;border:none;background:none;color:inherit;}

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
  }

  .eyebrow{
    font-family:var(--sans);
    letter-spacing:.34em;
    text-transform:uppercase;
    font-size:.72rem;
    font-weight:500;
    display:inline-flex;
    align-items:center;
    gap:.7rem;
    color:var(--gold);
  }
  .eyebrow::before{
    content:'';
    width:28px;height:1px;
    background:linear-gradient(90deg,transparent,var(--gold));
  }
  .section-pad{padding:4.5rem 6vw;}
  @media (max-width:768px){ .section-pad{padding:3.2rem 6vw;} }
  .center{max-width:1280px;margin:0 auto;}

  /* ---------- SASH SIGNATURE ---------- */
  .sash{
    position:relative;
    display:inline-block;
    padding:.35rem 1.1rem .35rem 1.4rem;
  }
  .sash::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(115deg,var(--burgundy) 0%,var(--burgundy) 40%,var(--gold) 40%,var(--gold) 44%,var(--burgundy) 44%);
    clip-path:polygon(0 0,100% 0,92% 100%,0% 100%);
    z-index:-1;
  }
  .sash-text{color:var(--ivory);font-family:var(--sans);letter-spacing:.28em;font-size:.68rem;text-transform:uppercase;}

  /* ---------- HEADER ---------- */
  header{
    position:fixed;top:0;left:0;width:100%;z-index:1000;
    display:flex;align-items:center;justify-content:space-between;
    padding:1.4rem 4vw;
    background:transparent;
    transition:background .5s var(--ease),padding .4s var(--ease),box-shadow .4s var(--ease);
  }
  header.scrolled{
    background:rgba(13,8,6,.92);
    backdrop-filter:blur(10px);
    padding:.8rem 4vw;
    box-shadow:0 8px 30px rgba(0,0,0,.3);
  }
  .logo img{height:44px;width:auto;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4));}
  nav.main-nav{display:flex;gap:2.2rem;align-items:center;}
  nav.main-nav a{
    font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;
    color:var(--ivory);position:relative;padding:.4rem 0;font-weight:500;
  }
  nav.main-nav a::after{
    content:'';position:absolute;left:0;bottom:0;width:0%;height:1px;background:var(--gold);
    transition:width .35s var(--ease);
  }
  nav.main-nav a:hover::after,nav.main-nav li.open a::after{width:100%;}
  .has-mega{position:relative;}
  .register-btn{
    padding:.75rem 1.8rem;
    font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
    font-weight:600;color:var(--ink);
    background:linear-gradient(120deg,var(--gold-light),var(--gold) 60%,var(--bronze));
    border-radius:2px;
    box-shadow:0 6px 18px rgba(201,162,75,.35);
    transition:transform .3s var(--ease),box-shadow .3s var(--ease);
  }
  .register-btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(201,162,75,.5);}
  .burger{display:none;flex-direction:column;gap:5px;}
  .burger span{width:24px;height:2px;background:var(--ivory);}

  /* mega menu */
  .mega{
    position:fixed;top:0;left:0;width:100%;
    background:rgba(13,8,6,.98);backdrop-filter:blur(14px);
    padding:8rem 6vw 3.5rem;
    display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;
    opacity:0;visibility:hidden;transform:translateY(-12px);
    transition:opacity .4s var(--ease),transform .4s var(--ease),visibility .4s;
    z-index:900;
  }
  .mega.open{opacity:1;visibility:visible;transform:translateY(0);}
  .mega-card{
    border:1px solid rgba(201,162,75,.25);
    overflow:hidden;position:relative;
    transition:border-color .3s;
  }
  .mega-card:hover{border-color:var(--gold);}
  .mega-card .img{
    height:200px;
    background:linear-gradient(150deg,var(--burgundy),var(--ink) 70%);
    position:relative;overflow:hidden;
  }
  .mega-card .img::after{
    content:attr(data-tag);position:absolute;bottom:.8rem;left:.8rem;
    font-family:var(--script);font-size:1.6rem;color:var(--gold-light);
  }
  .mega-card .body{padding:1.4rem;}
  .mega-card h4{font-family:var(--serif);color:var(--ivory);font-size:1.15rem;font-weight:600;margin-bottom:.3rem;}
  .mega-card p{color:var(--rose);font-size:.85rem;opacity:.8;margin-bottom:1rem;}
  .mega-card .explore{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--gold);padding-bottom:2px;}

  /* ---------- HERO ---------- */
  .hero{
    position:relative;height:100vh;min-height:640px;overflow:hidden;
    display:flex;align-items:flex-end;
    background:var(--ink);
  }
  .hero-slide{
    position:absolute;inset:0;
    opacity:0;transition:opacity 1.4s var(--ease);
    background-size:cover;background-position:center;
  }
  .hero-slide.active{opacity:1;}
  .hero-slide .bg{
    position:absolute;inset:0;
    background:
      radial-gradient(120% 90% at 15% 100%, rgba(61,12,20,.75), transparent 60%),
      linear-gradient(180deg, rgba(13,8,6,.15) 0%, rgba(13,8,6,.55) 55%, rgba(13,8,6,.92) 100%),
      var(--slide-grad);
    animation:kenburns 9s var(--ease) forwards;
  }
  @keyframes kenburns{from{transform:scale(1.08);}to{transform:scale(1);}}
  .hero-content{position:relative;z-index:5;padding:0 6vw 6.5rem;max-width:900px;}
  .hero-slide .eyebrow{margin-bottom:1.2rem;}
  .hero-content h1{
    font-family:var(--serif);color:var(--ivory);
    font-size:clamp(2.6rem,6vw,5.2rem);line-height:1.02;font-weight:700;
    margin-bottom:.6rem;
  }
  .hero-content .season{
    font-family:var(--script);font-style:italic;color:var(--gold-light);font-size:2.1rem;display:block;margin-bottom:1rem;
  }
  .hero-content .tagline{color:var(--ivory-dim);font-size:1.05rem;max-width:520px;margin-bottom:2.2rem;font-weight:300;}
  .hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;}
  .btn-gold{
    padding:.95rem 2.1rem;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;
    background:linear-gradient(120deg,var(--gold-light),var(--gold));color:var(--ink);border-radius:2px;
    transition:transform .3s var(--ease);
  }
  .btn-outline{
    padding:.95rem 2.1rem;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;
    border:1px solid rgba(246,241,231,.5);color:var(--ivory);border-radius:2px;
    transition:all .3s var(--ease);
  }
  .btn-gold:hover,.btn-outline:hover{transform:translateY(-3px);}
  .btn-outline:hover{border-color:var(--gold);color:var(--gold-light);}

  .hero-dots{position:absolute;right:6vw;bottom:2.6rem;z-index:6;display:flex;gap:.6rem;}
  .hero-dots button{width:34px;height:2px;background:rgba(246,241,231,.35);transition:background .3s;}
  .hero-dots button.active{background:var(--gold);}
  .hero-scroll{
    position:absolute;left:6vw;bottom:2.6rem;z-index:6;color:var(--ivory-dim);
    font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;
    display:flex;align-items:center;gap:.6rem;
  }
  .hero-scroll .line{width:1px;height:34px;background:var(--gold);animation:scrollpulse 2s infinite;}
  @keyframes scrollpulse{0%,100%{opacity:.3;}50%{opacity:1;}}

  /* ---------- COUNTERS STRIP ---------- */
  .counters{
    background:var(--burgundy-deep);
    display:grid;grid-template-columns:repeat(5,1fr);
    position:relative;z-index:5;
  }
  .counter-item{
    text-align:center;padding:1.8rem 1rem;border-right:1px solid rgba(201,162,75,.15);
  }
  .counter-item:last-child{border-right:none;}
  .counter-num{font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.6rem);color:var(--gold-light);font-weight:700;}
  .counter-label{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ivory-dim);margin-top:.4rem;}
  @media (max-width:900px){ .counters{grid-template-columns:repeat(2,1fr);} .counter-item{border-bottom:1px solid rgba(201,162,75,.15);} }

  /* ---------- PILLARS ---------- */
  .pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--burgundy);}
  @media (max-width:900px){ .pillars-grid{grid-template-columns:1fr;} }
  .pillar{
    background:var(--ink);position:relative;overflow:hidden;height:520px;
    display:flex;flex-direction:column;justify-content:flex-end;padding:2.6rem;
  }
  .pillar .backdrop{
    position:absolute;inset:0;
    background:var(--pillar-grad);
    transition:transform .7s var(--ease);
  }
  .pillar:hover .backdrop{transform:scale(1.07);}
  .pillar::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(180deg,transparent 30%,rgba(13,8,6,.94) 95%);
  }
  .pillar .inner{position:relative;z-index:2;}
  .pillar .eyebrow{color:var(--rose);}
  .pillar h3{font-family:var(--serif);color:var(--ivory);font-size:1.7rem;margin:.6rem 0 1.4rem;font-weight:600;}
  .pillar .learn{
    font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-light);
    display:inline-flex;align-items:center;gap:.6rem;
    border-bottom:1px solid transparent;transition:border-color .3s;
  }
  .pillar:hover .learn{border-color:var(--gold-light);}

  /* ---------- SECTION HEADS ---------- */
  .section-head{text-align:center;max-width:640px;margin:0 auto 2.4rem;}
  .section-head h2{font-family:var(--serif);font-size:clamp(2rem,3.4vw,3rem);font-weight:700;margin-top:.7rem;color:var(--ink);}
  .section-head p{color:var(--bronze);margin-top:.75rem;font-size:.98rem;line-height:1.6;}
  .light-on-dark .section-head h2{color:var(--ivory);}
  .light-on-dark .section-head p{color:var(--rose);}

  /* ---------- WHY VOGUESTAR (editorial grid) ---------- */
  .why-grid{
    display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--bronze);border-left:1px solid var(--bronze);
  }
  @media (max-width:900px){ .why-grid{grid-template-columns:repeat(2,1fr);} }
  .why-item{
    border-right:1px solid var(--bronze);border-bottom:1px solid var(--bronze);
    padding:1.8rem 1.4rem;min-height:150px;
    display:flex;flex-direction:column;justify-content:space-between;
    transition:background .35s;
  }
  .why-item:hover{background:var(--burgundy);}
  .why-item:hover h4,.why-item:hover .num{color:var(--gold-light);}
  .why-item .num{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:1.1rem;transition:color .35s;}
  .why-item h4{font-family:var(--serif);font-weight:600;font-size:1.15rem;margin-top:1.6rem;transition:color .35s;}

  /* ---------- FOUNDER ---------- */
  .founder{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;background:var(--ivory);}
  @media (max-width:900px){ .founder{grid-template-columns:1fr;} }
  .founder-img{
    min-height:440px;
    background:linear-gradient(160deg,var(--burgundy) 0%,var(--ink) 75%);
    position:relative;
  }
  .founder-img::after{
    content:'Kirti Choudhary';font-family:var(--script);font-size:2.4rem;color:var(--gold-light);
    position:absolute;bottom:2.4rem;left:2.4rem;
  }
  .founder-copy{padding:3.5rem 5vw;display:flex;flex-direction:column;justify-content:center;}
  .founder-copy h2{font-family:var(--serif);font-size:clamp(2rem,3vw,2.8rem);margin:.8rem 0 1.2rem;}
  .founder-copy .role{color:var(--bronze);letter-spacing:.14em;text-transform:uppercase;font-size:.75rem;margin-bottom:.4rem;}
  .founder-block{margin-bottom:1.1rem;}
  .founder-block h5{font-family:var(--serif);font-style:italic;color:var(--burgundy);font-size:1.05rem;margin-bottom:.3rem;}
  .founder-block p{color:#4a3f35;font-size:.92rem;line-height:1.7;}
  .founder-cta{margin-top:.8rem;}

  /* ---------- IMPACT TIMELINE ---------- */
  .impact{background:var(--ink);color:var(--ivory);}
  .timeline{display:flex;justify-content:space-between;position:relative;margin:2.5rem 0 2.5rem;overflow-x:auto;padding-bottom:1rem;gap:1rem;}
  .timeline::before{content:'';position:absolute;top:14px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 8%,var(--gold) 92%,transparent);}
  .tl-item{flex:1;min-width:130px;text-align:center;position:relative;}
  .tl-dot{width:11px;height:11px;border-radius:50%;background:var(--gold);border:3px solid var(--ink);margin:0 auto 1rem;position:relative;z-index:2;box-shadow:0 0 0 1px var(--gold);}
  .tl-year{font-family:var(--serif);font-size:1.4rem;color:var(--gold-light);font-weight:700;}
  .tl-label{font-size:.78rem;color:var(--ivory-dim);margin-top:.3rem;letter-spacing:.05em;}
  .impact-counters{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem;margin-top:2rem;}
  @media (max-width:900px){ .impact-counters{grid-template-columns:repeat(2,1fr);} .timeline{justify-content:flex-start;} }
  .impact-counters .counter-item{border-right:none;padding:0;}

  /* ---------- REGISTRATIONS ---------- */
  .reg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;}
  @media (max-width:900px){ .reg-grid{grid-template-columns:1fr;} }
  .reg-card{
    border:1px solid rgba(61,12,20,.18);background:var(--ivory);
    padding:1.8rem 1.6rem;position:relative;overflow:hidden;
    transition:box-shadow .35s,transform .35s;
  }
  .reg-card:hover{transform:translateY(-6px);box-shadow:0 22px 40px rgba(61,12,20,.14);}
  .status-tag{
    display:inline-block;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
    padding:.35rem .8rem;border-radius:20px;margin-bottom:1.4rem;font-weight:600;
  }
  .status-open{background:rgba(61,142,90,.12);color:#3c7a4f;}
  .status-early{background:rgba(201,162,75,.16);color:var(--bronze);}
  .reg-card h3{font-family:var(--serif);font-size:1.5rem;margin-bottom:.4rem;}
  .reg-card p{color:var(--bronze);font-size:.85rem;margin-bottom:1.8rem;}
  .reg-card .register-link{
    font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--burgundy);font-weight:600;
    display:inline-flex;align-items:center;gap:.5rem;border-bottom:1px solid var(--burgundy);padding-bottom:2px;
  }

  /* ---------- PROCESS ---------- */
  .process{background:var(--burgundy);color:var(--ivory);}
  .process .section-head h2{color:var(--ivory);}
  .process .section-head p{color:var(--rose);}
  .process-track{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:.4rem;
    padding-top:1.8rem;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -ms-overflow-style:none;
    -webkit-overflow-scrolling:touch;
  }
  .process-track::-webkit-scrollbar{display:none;width:0;height:0;}
  .p-step{
    flex:1 1 0;
    min-width:0;
    text-align:center;
    position:relative;
    padding:0 .35rem;
  }
  .p-step::after{
    content:'';position:absolute;top:26px;left:calc(50% + 28px);right:calc(-50% + 28px);height:1px;
    background:repeating-linear-gradient(90deg,var(--gold) 0 6px,transparent 6px 12px);
  }
  .p-step:last-child::after{display:none;}
  .p-num{
    width:52px;height:52px;border-radius:50%;border:1px solid var(--gold);
    display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem;
    font-family:var(--serif);color:var(--gold-light);font-size:1.1rem;background:var(--burgundy);position:relative;z-index:2;
  }
  .p-step h5{
    font-family:var(--serif);font-size:clamp(.78rem,1.1vw,1.05rem);font-weight:600;
    line-height:1.25;white-space:normal;
  }
  @media (max-width:900px){
    .process-track{justify-content:flex-start;gap:0;padding-bottom:.5rem;}
    .p-step{flex:0 0 auto;min-width:140px;padding:0 .8rem;}
  }

  /* ---------- GALLERY ---------- */
  .gallery-tabs{display:flex;justify-content:center;gap:2.2rem;margin-bottom:1.6rem;flex-wrap:wrap;}
  .gallery-tabs button{
    font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze);padding-bottom:.4rem;border-bottom:1px solid transparent;
  }
  .gallery-tabs button.active{color:var(--burgundy);border-color:var(--gold);}
  .masonry{column-count:4;column-gap:1rem;}
  @media (max-width:900px){ .masonry{column-count:2;} }
  .masonry .g-item{
    break-inside:avoid;margin-bottom:1rem;position:relative;overflow:hidden;
    background:linear-gradient(160deg,var(--rose),var(--burgundy));
  }
  .masonry .g-item span{
    position:absolute;bottom:.7rem;left:.7rem;color:var(--ivory);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;
  }

  /* ---------- DESIGNERS CAROUSEL ---------- */
  .designers-wrap{overflow:hidden;width:100%;}
  .designers-track{
    display:flex;gap:1.4rem;width:max-content;
    overflow:visible;padding-bottom:0;
    animation:designers-marquee 45s linear infinite;
  }
  .designers-track:hover{animation-play-state:paused;}
  @keyframes designers-marquee{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }
  @media (prefers-reduced-motion: reduce){
    .designers-track{animation:none;flex-wrap:wrap;width:100%;justify-content:center;}
  }
  .d-card{flex:0 0 280px;min-width:280px;background:var(--ink);position:relative;height:380px;}
  .d-card .grad{position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(13,8,6,.92) 100%);opacity:1;}
  .d-card .d-body{position:absolute;bottom:1.6rem;left:1.6rem;right:1.6rem;z-index:2;}
  .d-card h5{font-family:var(--serif);color:var(--ivory);font-size:1.2rem;}
  .d-card p{color:var(--rose);font-size:.8rem;margin-top:.3rem;}

  /* ---------- TESTIMONIALS ---------- */
  .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;}
  @media (max-width:900px){ .testi-grid{grid-template-columns:1fr;} }
  .testi-card{position:relative;height:420px;background:linear-gradient(180deg,var(--burgundy),var(--ink));overflow:hidden;}
  .testi-card::before{content:'â–¶';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--gold-light);border:1px solid var(--gold-light);border-radius:50%;width:56px;height:56px;margin:auto;top:calc(50% - 28px);}
  .testi-card .cap{position:absolute;bottom:1.4rem;left:1.4rem;color:var(--ivory-dim);font-size:.78rem;letter-spacing:.06em;}

  /* ---------- SPONSORS ---------- */
  .sponsors-grid{display:grid;gap:1.2rem;}
  .sponsor-cat{
    margin-bottom:0;
    padding:1.2rem 1.4rem;
    background:rgba(255,255,255,.55);
    border:1px solid rgba(61,12,20,.12);
  }
  .sponsor-cat h6{
    font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;
    color:var(--burgundy);font-weight:600;margin-bottom:1.2rem;
  }
  .sponsor-row{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
    gap:1rem;
    align-items:stretch;
  }
  .sponsor-logo{
    min-height:72px;padding:.9rem 1rem;
    border:1px solid rgba(61,12,20,.22);
    background:var(--ivory);
    display:flex;align-items:center;justify-content:center;text-align:center;
    font-family:var(--serif);font-style:italic;font-size:1.05rem;font-weight:600;
    color:var(--ink);opacity:1;filter:none;
    box-shadow:0 4px 14px rgba(61,12,20,.06);
    transition:border-color .3s,color .3s,transform .3s,box-shadow .3s;
  }
  .sponsor-logo:hover{
    color:var(--burgundy);border-color:var(--gold);
    transform:translateY(-2px);
    box-shadow:0 10px 22px rgba(61,12,20,.1);
  }
  /* ---------- UPDATES ---------- */
  .updates-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;}
  @media (max-width:900px){ .updates-grid{grid-template-columns:1fr;} }
  .u-card{border:1px solid rgba(61,12,20,.14);}
  .u-img{height:190px;background:linear-gradient(150deg,var(--rose),var(--gold));}
  .u-body{padding:1.6rem;}
  .u-tag{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700;}
  .u-body h4{font-family:var(--serif);font-size:1.15rem;margin:.6rem 0;}
  .u-body p{color:var(--bronze);font-size:.82rem;}

  /* ---------- FAQ ---------- */
  .faq-item{border-bottom:1px solid rgba(61,12,20,.15);}
  .faq-q{
    display:flex;justify-content:space-between;align-items:center;padding:1.1rem 0;
    font-family:var(--serif);font-size:1.1rem;font-weight:600;
  }
  .faq-q .plus{font-family:var(--sans);font-size:1.3rem;color:var(--gold);transition:transform .3s;}
  .faq-item.open .plus{transform:rotate(45deg);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease);}
  .faq-a p{padding-bottom:1.6rem;color:var(--bronze);font-size:.92rem;line-height:1.7;max-width:640px;}

  /* ---------- FOOTER ---------- */
  footer{background:var(--ink);color:var(--ivory-dim);padding:5rem 6vw 2rem;}
  .footer-grid{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:2.4rem;padding-bottom:3rem;border-bottom:1px solid rgba(201,162,75,.15);}
  @media (max-width:900px){ .footer-grid{grid-template-columns:repeat(2,1fr);} }
  .footer-grid h6{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;}
  .footer-grid li{margin-bottom:.7rem;font-size:.85rem;opacity:.85;}
  .footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:2rem;font-size:.75rem;opacity:.6;flex-wrap:wrap;gap:1rem;}
  .footer-logo img{height:36px;margin-bottom:1.2rem;}

  .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
  .reveal.in{opacity:1;transform:none;}

  /* ---------- LEGAL / POLICY PAGES ---------- */
  .page-legal header.scrolled{background:rgba(13,8,6,.96);}
  .nav-active{color:var(--gold-light) !important;}
  .page-hero{
    background:
      radial-gradient(90% 120% at 50% 0%, rgba(201,162,75,.18), transparent 55%),
      linear-gradient(135deg,var(--burgundy) 0%,var(--ink) 70%);
    padding:8.5rem 6vw 4.5rem;
    text-align:center;
  }
  .page-hero-inner{max-width:820px;margin:0 auto;}
  .page-hero h1{
    font-family:var(--serif);color:var(--ivory);
    font-size:clamp(2.4rem,5vw,3.8rem);font-weight:700;margin-top:.8rem;
  }
  .page-hero-lead{
    color:var(--ivory-dim);font-size:1rem;line-height:1.7;max-width:620px;margin:1.1rem auto 0;font-weight:300;
  }
  .policy-section{background:var(--ivory-dim);padding:4.5rem 6vw 5.5rem;}
  .policy-wrap{max-width:860px;}
  .policy-block{margin-bottom:2.4rem;}
  .policy-block h2{
    font-family:var(--serif);font-size:clamp(1.5rem,2.4vw,2rem);
    color:var(--burgundy);margin:0 0 1.4rem;padding-bottom:.7rem;
    border-bottom:1px solid rgba(201,162,75,.45);
  }
  .policy-block h3{
    font-family:var(--serif);font-size:1.15rem;font-weight:600;
    color:var(--ink);margin:1.5rem 0 .55rem;
  }
  .policy-block p,.policy-block li{
    color:#4a3f35;font-size:.92rem;line-height:1.75;margin-bottom:.75rem;
  }
  .policy-block ul{padding-left:1.1rem;list-style:disc;}
  .policy-block ul li{margin-bottom:.55rem;}
  .policy-extra li{list-style:disc;}
  .policy-note{
    background:rgba(61,12,20,.06);
    border-left:3px solid var(--gold);
    padding:1.2rem 1.4rem;
    margin:1.8rem 0 2.4rem;
    color:var(--ink);font-size:.92rem;line-height:1.7;
  }
  .policy-note strong{color:var(--burgundy);letter-spacing:.04em;}
  .policy-closing{
    margin:2rem 0 1.5rem;padding:1.4rem 0;
    border-top:1px solid rgba(61,12,20,.12);
  }
  .policy-closing p{
    font-family:var(--serif);font-size:1.05rem;font-weight:600;
    color:var(--ink);line-height:1.65;
  }
  .footer-grid a:hover{color:var(--gold-light);}
  .footer-bottom a:hover{color:var(--gold-light);}
  .footer-grid a{transition:color .25s;}
  .footer-contact-line{font-size:.85rem;opacity:.8;line-height:1.7;margin-top:.4rem;}
  .footer-contact-line a{color:var(--gold-light);text-decoration:underline;}
  .footer-copy-bar{
    margin:2rem -6vw -2rem;padding:1rem 6vw;
    background:var(--burgundy);
    text-align:center;color:var(--ivory);font-size:.78rem;letter-spacing:.04em;
  }

  /* ---------- CONTACT PAGE ---------- */
  .contact-section{padding:4.5rem 6vw 5.5rem;background:var(--ivory-dim);}
  .contact-panel{
    max-width:1100px;margin:0 auto;
    display:grid;grid-template-columns:1fr 1.15fr;gap:2.4rem;
    background:
      radial-gradient(80% 80% at 10% 100%, rgba(201,162,75,.12), transparent 50%),
      linear-gradient(145deg,var(--burgundy-deep),var(--ink));
    color:var(--ivory);
    padding:3rem 2.4rem;
    border:1px solid rgba(201,162,75,.25);
  }
  @media (max-width:900px){ .contact-panel{grid-template-columns:1fr;padding:2.2rem 1.4rem;} }
  .contact-panel h2{
    font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);color:var(--ivory);margin:.6rem 0 1rem;
  }
  .contact-panel .lead{color:var(--ivory-dim);font-size:.95rem;line-height:1.7;max-width:420px;margin-bottom:2rem;}
  .contact-meta{display:grid;gap:1.4rem;}
  .contact-meta .label{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.35rem;}
  .contact-meta a,.contact-meta p{color:var(--ivory);font-size:.95rem;line-height:1.6;}
  .contact-meta a{text-decoration:underline;text-underline-offset:3px;}
  .contact-social{display:flex;gap:.8rem;margin-top:1.8rem;}
  .contact-social a{
    width:38px;height:38px;border:1px solid rgba(201,162,75,.45);
    display:flex;align-items:center;justify-content:center;
    color:var(--gold-light);font-size:.75rem;letter-spacing:.08em;
  }
  .contact-form{display:grid;gap:1rem;}
  .contact-form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
  @media (max-width:700px){ .contact-form .row{grid-template-columns:1fr;} }
  .contact-form label{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--rose);margin-bottom:.4rem;}
  .contact-form input,.contact-form textarea{
    width:100%;padding:.85rem 1rem;border:1px solid rgba(246,241,231,.2);
    background:rgba(246,241,231,.96);color:var(--ink);font-family:var(--sans);font-size:.92rem;
  }
  .contact-form textarea{min-height:120px;resize:vertical;}
  .contact-form button{
    justify-self:end;margin-top:.4rem;
    padding:.9rem 2rem;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;
    background:linear-gradient(120deg,var(--gold-light),var(--gold));color:var(--ink);
  }
  .contact-status{margin-top:.8rem;font-size:.88rem;min-height:1.2em;}
  .contact-status.success{color:var(--gold-light);}

  /* ---------- AUTH / REGISTER / PROFILE / ADMIN ---------- */
  .auth-section{background:var(--ivory-dim);padding:3.5rem 6vw 5rem;}
  .auth-card{
    max-width:1100px;margin:0 auto;background:var(--ivory);
    border:1px solid rgba(61,12,20,.12);padding:2.4rem 2rem 2.6rem;
    box-shadow:0 18px 40px rgba(61,12,20,.06);
  }
  .auth-card.narrow{max-width:460px;}
  .auth-card h2{
    font-family:var(--serif);text-align:center;color:var(--burgundy);
    font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:1.8rem;
  }
  .form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem 1.2rem;}
  @media (max-width:900px){ .form-grid{grid-template-columns:1fr;} }
  .form-field{display:flex;flex-direction:column;gap:.4rem;}
  .form-field.full{grid-column:1 / -1;}
  .form-field label{font-size:.82rem;font-weight:500;color:var(--ink);}
  .form-field label .req{color:#b00030;}
  .form-field input,.form-field select,.form-field textarea{
    width:100%;padding:.85rem 1rem;border:1px solid rgba(61,12,20,.35);
    border-radius:12px;background:#fff;color:var(--ink);
    font-family:var(--sans);font-size:.92rem;
  }
  .form-field textarea{min-height:110px;resize:vertical;}
  .upload-box{
    border:1px dashed rgba(61,12,20,.35);border-radius:12px;background:#fff;
    min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;
    cursor:pointer;position:relative;padding:1rem;text-align:center;
  }
  .upload-box input{position:absolute;inset:0;opacity:0;cursor:pointer;}
  .upload-box .plus{font-size:1.6rem;color:var(--burgundy);font-weight:600;line-height:1;}
  .upload-box .upload-text{color:var(--burgundy);font-size:.9rem;margin-top:.2rem;}
  .upload-box .hint{font-size:.72rem;color:var(--bronze);margin-top:.35rem;}
  .upload-box.has-file{border-color:var(--gold);background:rgba(201,162,75,.08);}
  .form-agree{display:flex;align-items:center;gap:.7rem;margin:1.4rem 0 1.2rem;font-size:.9rem;color:var(--ink);}
  .form-agree input{width:18px;height:18px;accent-color:var(--burgundy);}
  .form-agree a{color:var(--burgundy);text-decoration:underline;}
  .btn-register{
    display:block;width:min(320px,100%);margin:0 auto;
    padding:1rem 1.5rem;border-radius:40px;border:none;cursor:pointer;
    background:var(--burgundy);color:var(--ivory);font-family:var(--sans);
    font-size:1rem;font-weight:600;letter-spacing:.04em;
    transition:transform .25s,box-shadow .25s;
  }
  .btn-register:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(61,12,20,.25);}
  .btn-register:disabled{opacity:.7;cursor:wait;transform:none;}
  .form-status{text-align:center;margin-top:1rem;font-size:.9rem;min-height:1.3em;}
  .form-status.error{color:#b00030;}
  .form-status.success{color:#2f6b3a;}
  .auth-switch{text-align:center;margin-top:1.2rem;font-size:.9rem;color:var(--bronze);}
  .auth-switch a{color:var(--burgundy);font-weight:600;}

  .profile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem 1.4rem;}
  @media (max-width:800px){ .profile-grid{grid-template-columns:1fr;} }
  .profile-item{
    border:1px solid rgba(61,12,20,.12);background:#fff;padding:1rem 1.1rem;border-radius:10px;
  }
  .profile-item .label{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze);margin-bottom:.35rem;}
  .profile-item .value{font-size:1rem;color:var(--ink);font-weight:500;word-break:break-word;}
  .profile-item.full{grid-column:1 / -1;}
  .profile-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem;}
  .profile-actions button,.profile-actions a{
    padding:.8rem 1.4rem;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;
    border-radius:2px;
  }
  .btn-outline-dark{
    border:1px solid var(--burgundy);color:var(--burgundy);background:transparent;
  }
  .btn-dark{background:var(--burgundy);color:var(--ivory);}

  .admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.4rem;flex-wrap:wrap;}
  .admin-table-wrap{overflow:auto;border:1px solid rgba(61,12,20,.12);background:#fff;}
  .admin-table{width:100%;border-collapse:collapse;min-width:900px;}
  .admin-table th,.admin-table td{
    padding:.85rem .9rem;border-bottom:1px solid rgba(61,12,20,.1);
    text-align:left;font-size:.84rem;vertical-align:top;
  }
  .admin-table th{
    background:var(--burgundy);color:var(--ivory);font-weight:600;
    letter-spacing:.04em;white-space:nowrap;
  }
  .admin-table tr:hover td{background:rgba(201,162,75,.08);}
  .admin-empty{padding:2rem;text-align:center;color:var(--bronze);}

  /* ---------- REAL MEDIA ---------- */
  .hero-slide .bg-photo{
    position:absolute;inset:0;
    background-size:cover;background-position:center top;
    transform:scale(1.08);
    animation:kenburns 9s var(--ease) forwards;
  }
  .hero-slide .bg-photo + .bg{ animation:none; background:
      radial-gradient(120% 90% at 15% 100%, rgba(61,12,20,.55), transparent 60%),
      linear-gradient(180deg, rgba(13,8,6,.2) 0%, rgba(13,8,6,.55) 55%, rgba(13,8,6,.92) 100%);
  }
  .pillar .backdrop{
    background-size:cover !important;
    background-position:center;
  }
  .mega-card .img{
    background-size:cover !important;
    background-position:center top;
  }
  .founder-img{
    background-size:cover !important;
    background-position:center top;
  }
  .masonry .g-item{
    background-size:cover !important;
    background-position:center;
  }
  .d-card .photo{
    position:absolute;inset:0;
    background-size:cover;background-position:center;
  }
  .testi-card{
    background-size:cover !important;
    background-position:center;
  }
  .testi-card::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(180deg,transparent 35%,rgba(13,8,6,.88) 100%);
  }
  .testi-card::before{ z-index:2; }
  .testi-card .cap{ z-index:3; }
  .u-img{
    background-size:cover !important;
    background-position:center;
  }
  .reg-card .reg-thumb{
    height:140px;margin:-1.8rem -1.6rem 1.2rem;background-size:cover;background-position:center top;
  }
  @media (max-width:900px){
    .burger{display:flex;}
    nav.main-nav{
      display:none;position:fixed;top:0;right:0;width:min(320px,88vw);height:100vh;
      background:rgba(13,8,6,.97);flex-direction:column;padding:6rem 2rem 2rem;gap:1.4rem;z-index:950;
    }
    nav.main-nav.open{display:flex;}
    .register-btn{display:none;}
  }

  /* ---------- TEAM PAGE ---------- */
  .team-hero{
    position:relative;padding:8.5rem 6vw 4rem;overflow:hidden;
    background:var(--ink);text-align:center;
  }
  .team-hero-bg{
    position:absolute;inset:0;
    background:
      radial-gradient(70% 80% at 50% 0%, rgba(201,162,75,.22), transparent 55%),
      linear-gradient(160deg,var(--burgundy) 0%,var(--ink) 68%);
  }
  .team-hero-inner{position:relative;z-index:1;max-width:720px;margin:0 auto;}
  .team-hero h1{
    font-family:var(--serif);color:var(--ivory);
    font-size:clamp(2.6rem,5.5vw,4rem);font-weight:700;margin:.8rem 0 1rem;
  }
  .team-hero p{color:var(--ivory-dim);font-size:1.02rem;line-height:1.75;font-weight:300;}

  .team-section{padding:0 0 4.5rem;background:var(--ivory);}
  .team-section > .center{padding:0 6vw;}
  .team-block{padding:3.2rem 0 1rem;}
  .team-block-dark{
    margin:2.4rem -6vw 0;padding:3.2rem 6vw 2.4rem;
    background:
      radial-gradient(90% 80% at 100% 0%, rgba(201,162,75,.12), transparent 50%),
      var(--burgundy-deep);
  }
  .team-block-head{max-width:560px;margin:0 0 2rem;}
  .team-block-head h2{
    font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.5rem);
    color:var(--ink);margin:.55rem 0 .6rem;font-weight:700;
  }
  .team-block-head p{color:var(--bronze);font-size:.95rem;line-height:1.6;margin:0;}
  .team-block-head.light h2{color:var(--ivory);}
  .team-block-head.light p{color:var(--rose);}

  .team-founder{
    display:grid;grid-template-columns:.95fr 1.15fr;gap:0;
    margin-top:-2.4rem;position:relative;z-index:2;
    background:var(--ink);border:1px solid rgba(201,162,75,.35);
    box-shadow:0 24px 50px rgba(13,8,6,.28);
    overflow:hidden;cursor:pointer;
    transition:transform .35s var(--ease),box-shadow .35s var(--ease);
  }
  .team-founder:hover{transform:translateY(-5px);box-shadow:0 30px 60px rgba(13,8,6,.35);}
  @media (max-width:900px){ .team-founder{grid-template-columns:1fr;margin-top:-1.4rem;} }
  .team-founder-photo{
    min-height:420px;background-size:cover;background-position:center top;position:relative;
  }
  .team-founder-photo::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(105deg,transparent 35%,rgba(13,8,6,.75) 92%);
  }
  @media (max-width:900px){
    .team-founder-photo{min-height:300px;}
    .team-founder-photo::after{background:linear-gradient(180deg,transparent 25%,rgba(13,8,6,.9));}
  }
  .team-founder-copy{
    padding:2.8rem 2.6rem;display:flex;flex-direction:column;justify-content:center;color:var(--ivory);
  }
  .team-founder-copy h2{
    font-family:var(--serif);font-size:clamp(2rem,3.2vw,2.8rem);
    margin:.7rem 0 1rem;color:var(--gold-light);font-weight:700;
  }
  .team-founder-copy p{color:var(--ivory-dim);font-size:.98rem;line-height:1.8;max-width:480px;margin:0;}
  .team-open-hint{
    margin-top:1.5rem;align-self:flex-start;
    font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;
    color:var(--ink);background:linear-gradient(120deg,var(--gold-light),var(--gold));
    padding:.65rem 1.2rem;
  }

  .team-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:1.35rem;
  }
  .team-grid-5{grid-template-columns:repeat(5,1fr);}
  @media (max-width:1100px){
    .team-grid,.team-grid-5{grid-template-columns:repeat(3,1fr);}
  }
  @media (max-width:750px){
    .team-grid,.team-grid-5{grid-template-columns:repeat(2,1fr);gap:1rem;}
  }
  @media (max-width:480px){
    .team-grid,.team-grid-5{grid-template-columns:1fr;}
  }

  .team-card{margin:0;background:transparent;}
  .team-card-frame{
    position:relative;overflow:hidden;
    border:1px solid rgba(61,12,20,.12);
    background:var(--ivory);
    transition:transform .35s var(--ease),border-color .35s,box-shadow .35s;
  }
  .team-block-dark .team-card-frame{
    border-color:rgba(201,162,75,.22);background:rgba(13,8,6,.35);
  }
  .team-card.is-clickable{cursor:pointer;}
  .team-card.is-clickable:hover .team-card-frame{
    transform:translateY(-6px);
    border-color:var(--gold);
    box-shadow:0 18px 36px rgba(13,8,6,.16);
  }
  .team-card-media{
    aspect-ratio:3/4;background-size:cover;background-position:center top;
    position:relative;
  }
  .team-card-mono{
    display:flex;align-items:center;justify-content:center;
    background:
      radial-gradient(120% 90% at 20% 0%, rgba(228,199,122,.28), transparent 45%),
      linear-gradient(165deg,var(--burgundy) 0%,var(--ink) 70%);
  }
  .team-mono-letter{
    font-family:var(--serif);font-size:clamp(2.4rem,4vw,3.2rem);
    color:var(--gold-light);letter-spacing:.06em;font-weight:600;
    text-shadow:0 8px 28px rgba(0,0,0,.35);
  }
  .team-card-shade{
    position:absolute;left:0;right:0;bottom:0;height:55%;
    background:linear-gradient(180deg,transparent,rgba(13,8,6,.88));
    pointer-events:none;
  }
  .team-card figcaption{
    position:absolute;left:0;right:0;bottom:0;z-index:2;
    padding:1.2rem 1.15rem 1.25rem;color:var(--ivory);
  }
  .team-card h3{
    font-family:var(--serif);font-size:1.2rem;margin:0 0 .3rem;font-weight:600;color:var(--ivory);
  }
  .team-card p{
    margin:0;font-size:.78rem;line-height:1.4;color:rgba(246,241,231,.78);
  }
  .team-card-cta{
    display:inline-block;margin-top:.85rem;
    font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;
    color:var(--gold-light);opacity:0;transform:translateY(6px);
    transition:opacity .3s,transform .3s;
  }
  .team-card.is-clickable:hover .team-card-cta{opacity:1;transform:none;}

  .team-lightbox[hidden]{display:none !important;}
  .team-lightbox{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:1.5rem;}
  .team-lightbox-backdrop{position:absolute;inset:0;background:rgba(13,8,6,.82);backdrop-filter:blur(6px);}
  .team-lightbox-panel{
    position:relative;z-index:1;width:min(880px,100%);
    display:grid;grid-template-columns:.9fr 1.1fr;background:var(--ivory);
    border:1px solid rgba(201,162,75,.4);overflow:hidden;
    box-shadow:0 28px 70px rgba(0,0,0,.4);
  }
  @media (max-width:800px){ .team-lightbox-panel{grid-template-columns:1fr;max-height:90vh;overflow:auto;} }
  .team-lightbox-close{
    position:absolute;top:.8rem;right:.9rem;z-index:2;
    width:38px;height:38px;border-radius:50%;border:1px solid rgba(61,12,20,.18);
    background:rgba(246,241,231,.95);color:var(--ink);font-size:1.45rem;line-height:1;
  }
  .team-lightbox-photo{
    min-height:380px;background-size:cover;background-position:center top;
    background-color:var(--burgundy);display:flex;align-items:center;justify-content:center;
    background-image:
      radial-gradient(120% 90% at 20% 0%, rgba(228,199,122,.28), transparent 45%),
      linear-gradient(165deg,var(--burgundy) 0%,var(--ink) 70%);
  }
  .team-lightbox-mono{
    font-family:var(--serif);font-size:4.5rem;color:var(--gold-light);font-weight:600;letter-spacing:.08em;
  }
  .team-lightbox-body{padding:2.4rem 2rem;display:flex;flex-direction:column;justify-content:center;}
  .team-lightbox-body h3{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.1rem);color:var(--ink);margin:.55rem 0 1rem;}
  .team-lightbox-body p{color:#4a3f35;font-size:.98rem;line-height:1.75;margin:0;}
