  :root{
    --black:#0a0908;
    --charcoal:#141210;
    --charcoal-2:#1c1916;
    --gold:#c9a24b;
    --gold-bright:#e8cd8a;
    --gold-dim:#8a6d34;
    --line:#332c20;
    --ivory:#f2ede1;
    --ivory-dim:#b7ae9c;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--black);
    color:var(--ivory);
    font-family:'Manrope',sans-serif;
    overflow-x:hidden;
  }
  h1,h2,h3,.serif{font-family:'Fraunces', Georgia, serif;}
  a{text-decoration:none;color:inherit;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 32px;}

  /* subtle gold noise texture */
  .grain{
    position:fixed;inset:0;pointer-events:none;z-index:5;
    background-image:radial-gradient(circle at 20% 20%, rgba(201,162,75,0.05), transparent 40%),
                      radial-gradient(circle at 80% 70%, rgba(201,162,75,0.04), transparent 40%);
  }

  .eyebrow{
    font-family:'Manrope',sans-serif;
    text-transform:uppercase;
    letter-spacing:0.28em;
    font-size:11px;
    font-weight:700;
    color:var(--gold);
    display:flex;align-items:center;gap:14px;
    margin-bottom:18px;
  }
  .eyebrow::before{content:"";width:28px;height:1px;background:var(--gold);display:inline-block;}

  /* HEADER */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:rgba(10,9,8,0.85);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav{
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 32px;max-width:1180px;margin:0 auto;
  }
  .logo{display:flex;align-items:center;gap:12px;font-family:'Fraunces', Georgia, serif;font-size:24px;font-weight:700;letter-spacing:0.04em;color:var(--ivory);}
  .logo .mark{
    width:34px;height:34px;border:1px solid var(--gold);
    display:flex;align-items:center;justify-content:center;
    font-size:14px;color:var(--gold);font-weight:700;letter-spacing:0;
    transform:rotate(45deg);
  }
  .logo .mark span{transform:rotate(-45deg);}
  .navlinks{display:flex;gap:38px;align-items:center;font-size:13px;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;}
  .navlinks a{position:relative;color:var(--ivory-dim);transition:color .25s;}
  .navlinks a:hover{color:var(--gold);}
  .navlinks a::after{
    content:"";position:absolute;bottom:-6px;left:0;width:0;height:1px;background:var(--gold);
    transition:width .25s;
  }
  .navlinks a:hover::after{width:100%;}
  .navcta{
    border:1px solid var(--gold);color:var(--gold)!important;padding:10px 22px;
    font-size:12px;
  }
  .navcta:hover{background:var(--gold);color:var(--black)!important;}
  .burger{display:none;flex-direction:column;gap:5px;cursor:pointer;position:relative;z-index:70;padding:8px;margin:-8px;}
  .burger span{width:24px;height:1px;background:var(--gold);transition:transform .28s,opacity .2s;display:block;}
  .burger.active span:nth-child(1){transform:translateY(6px) rotate(45deg);}
  .burger.active span:nth-child(2){opacity:0;}
  .burger.active span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

  /* HERO */
  .hero{
    min-height:100vh;
    display:flex;align-items:center;
    position:relative;
    padding-top:110px;
    background:
      radial-gradient(ellipse 900px 500px at 80% 0%, rgba(201,162,75,0.10), transparent 60%),
      linear-gradient(180deg, #0a0908 0%, #0d0b09 100%);
    border-bottom:1px solid var(--line);
  }
  .hero::after{
    content:"";position:absolute;right:6%;top:18%;width:420px;height:420px;
    border:1px solid var(--line);border-radius:50%;
    background:conic-gradient(from 90deg, transparent, rgba(201,162,75,0.08), transparent 40%);
  }
  .hero-grid{
    display:grid;grid-template-columns:1.1fr 0.9fr;gap:60px;align-items:center;
    position:relative;z-index:2;
  }
  .hero h1{
    font-size:clamp(40px,5.6vw,72px);
    line-height:1.05;
    font-weight:600;
    color:var(--ivory);
    letter-spacing:0.01em;
  }
  .hero h1 em{
    font-style:normal;color:var(--gold-bright);
    background:linear-gradient(90deg,var(--gold-dim),var(--gold-bright));
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .hero p.lede{
    margin-top:26px;font-size:18px;color:var(--ivory-dim);line-height:1.7;max-width:480px;
    font-weight:400;
  }
  .btn-row{margin-top:44px;display:flex;gap:18px;flex-wrap:wrap;}
  .btn-gold{
    background:var(--gold);color:var(--black);padding:16px 34px;
    font-weight:700;font-size:13px;letter-spacing:0.06em;text-transform:uppercase;
    border:1px solid var(--gold);transition:all .25s;
  }
  .btn-gold:hover{background:transparent;color:var(--gold);}
  .btn-ghost{
    border:1px solid var(--line);color:var(--ivory);padding:16px 34px;
    font-weight:700;font-size:13px;letter-spacing:0.06em;text-transform:uppercase;
    transition:all .25s;
  }
  .btn-ghost:hover{border-color:var(--gold);color:var(--gold);}

  .hero-panel{
    border:1px solid var(--line);
    background:linear-gradient(160deg, var(--charcoal), var(--black));
    padding:2px;
    position:relative;
  }
  .hero-panel img{filter:grayscale(30%) contrast(1.05);}
  .hero-panel-tag{
    position:absolute;bottom:-1px;left:-1px;right:-1px;
    background:var(--gold);color:var(--black);
    padding:16px 22px;font-size:12px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
    display:flex;justify-content:space-between;
  }

  .pillars{
    display:grid;grid-template-columns:repeat(3,1fr);
    border-top:1px solid var(--line);
    margin-top:80px;
  }
  .pillar{
    padding:34px 32px;border-left:1px solid var(--line);
  }
  .pillar:first-child{border-left:none;}
  .pillar .num{font-family:'Fraunces', Georgia, serif;color:var(--gold);font-size:15px;letter-spacing:0.1em;margin-bottom:10px;display:block;}
  .pillar h3{font-size:19px;color:var(--ivory);font-weight:600;margin-bottom:8px;letter-spacing:0.01em;}
  .pillar p{font-size:14px;color:var(--ivory-dim);line-height:1.6;}

  section{padding:120px 0;}
  .section-head{max-width:640px;margin-bottom:64px;}
  .section-head h2{font-size:clamp(30px,3.4vw,46px);font-weight:600;line-height:1.15;color:var(--ivory);}
  .section-head p{margin-top:20px;font-size:16px;color:var(--ivory-dim);line-height:1.75;}

  /* MISSION */
  .mission{background:var(--charcoal);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .mission-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:70px;align-items:center;}
  .mission-frame{border:1px solid var(--gold-dim);padding:14px;position:relative;}
  .mission-frame::before{
    content:"";position:absolute;top:-14px;left:-14px;right:14px;bottom:14px;
    border:1px solid var(--line);z-index:-1;
  }
  .mission-frame img{filter:grayscale(35%) sepia(8%);}
  .mission-copy h2{font-size:clamp(28px,3vw,40px);font-weight:600;margin-bottom:22px;}
  .mission-copy p{color:var(--ivory-dim);font-size:16px;line-height:1.8;}

  /* FOUNDER */
  .founder{display:grid;grid-template-columns:0.85fr 1.15fr;gap:70px;align-items:center;}
  .founder-photo{position:relative;}
  .founder-photo img{filter:grayscale(40%);border:1px solid var(--line);}
  .founder-frame-line{
    position:absolute;top:20px;left:20px;right:-20px;bottom:-20px;
    border:1px solid var(--gold-dim);z-index:-1;
  }
  .founder-copy h2{font-size:clamp(28px,3vw,42px);font-weight:600;margin-bottom:24px;}
  .founder-copy p{color:var(--ivory-dim);font-size:16px;line-height:1.85;}
  .signature{margin-top:34px;font-family:'Fraunces', Georgia, serif;font-size:26px;color:var(--gold);font-style:italic;}

  /* WHY CHOOSE */
  .why{background:var(--charcoal);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .why-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);}
  .why-card{padding:40px 28px;border-left:1px solid var(--line);position:relative;transition:background .3s;}
  .why-card:first-child{border-left:none;padding-left:38px;}
  .why-card:hover{background:rgba(201,162,75,0.05);}
  .why-card .icon{
  width:48px;height:48px;flex:0 0 auto;
  border:1px solid var(--gold-hair);
  display:flex;align-items:center;justify-content:center;
  font-family:'Fraunces', Georgia, serif;font-size:18px;font-weight:700;
  color:var(--gold);line-height:1;letter-spacing:0;
  margin:0 0 26px 8px;
  transform:rotate(45deg);
  transition:background .35s,border-color .35s;
}
.why-card .icon > *{transform:rotate(-45deg);}
.why-card:hover .icon{background:var(--gold-soft);border-color:var(--gold);}
.why-card h3{font-size:18px;color:var(--ivory);font-weight:600;margin-bottom:12px;}
  .why-card p{font-size:13.5px;color:var(--ivory-dim);line-height:1.7;}

  /* CONTACT STRIP */
  .contact-strip{
    display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;
    padding-top:120px;padding-bottom:120px;
  }
  .contact-copy h2{font-size:clamp(28px,3vw,42px);font-weight:600;margin-bottom:20px;}
  .contact-copy p{color:var(--ivory-dim);font-size:16px;line-height:1.8;margin-bottom:30px;}
  .contact-info{margin-top:36px;}
  .contact-info div{display:flex;gap:16px;padding:16px 0;border-top:1px solid var(--line);}
  .contact-info div:last-child{border-bottom:1px solid var(--line);}
  .contact-info .label{font-size:11px;text-transform:uppercase;letter-spacing:0.12em;color:var(--gold);width:90px;flex-shrink:0;padding-top:2px;}
  .contact-info .val{font-size:15px;color:var(--ivory);}
  form.contact-form{border:1px solid var(--line);padding:40px;background:var(--charcoal);}
  .field{margin-bottom:22px;}
  .field label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:0.1em;color:var(--gold);margin-bottom:10px;}
  .field input,.field textarea{
    width:100%;background:transparent;border:none;border-bottom:1px solid var(--line);
    color:var(--ivory);font-family:'Manrope',sans-serif;font-size:15px;padding:10px 0;outline:none;
    transition:border-color .25s;
  }
  .field input:focus,.field textarea:focus{border-color:var(--gold);}
  .field textarea{resize:none;height:80px;}
  form.contact-form .btn-gold{width:100%;margin-top:10px;border:1px solid var(--gold);cursor:pointer;}

  /* SERVICES */
  .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
  .service-card{background:var(--black);padding:44px 34px;transition:background .3s;}
  .service-card:hover{background:var(--charcoal);}
  .service-card .snum{font-family:'Fraunces', Georgia, serif;color:var(--gold-dim);font-size:14px;letter-spacing:0.14em;margin-bottom:22px;display:block;}
  .service-card h3{font-size:21px;font-weight:600;color:var(--ivory);margin-bottom:14px;line-height:1.3;}
  .service-card p{font-size:14px;color:var(--ivory-dim);line-height:1.75;margin-bottom:22px;}
  .service-card .arrow{color:var(--gold);font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;}

  /* TEAM */
  .team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
  .team-card{text-align:center;}
  .team-photo{border:1px solid var(--line);overflow:hidden;margin-bottom:22px;aspect-ratio:3/4;background:var(--charcoal);}
  .team-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(45%);transition:filter .4s;}
  .team-card:hover .team-photo img{filter:grayscale(0%);}
  .team-card h3{font-size:20px;font-weight:600;color:var(--ivory);margin-bottom:6px;}
  .team-card .role{font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold);}

  /* STATS */
  .stats{
    background:linear-gradient(180deg,var(--charcoal),var(--black));
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    padding:90px 0;
  }
  .stats-row{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;}
  .stat{border-left:1px solid var(--line);padding:0 30px;}
  .stat:first-child{border-left:none;}
  .stat .num{font-family:'Fraunces', Georgia, serif;font-size:64px;color:var(--gold-bright);font-weight:700;line-height:1;}
  .stat .lbl{margin-top:14px;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ivory-dim);}

  /* NEWS */
  .news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;}
  .news-card{border:1px solid var(--line);padding:30px;transition:border-color .3s;}
  .news-card:hover{border-color:var(--gold-dim);}
  .news-card .date{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;display:block;}
  .news-card h3{font-size:18px;font-weight:600;color:var(--ivory);margin-bottom:12px;line-height:1.4;}
  .news-card p{font-size:13.5px;color:var(--ivory-dim);line-height:1.7;margin-bottom:20px;}
  .news-card a.readmore{font-size:12px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--gold);}

  /* PARTNERS */
  .partners{padding:90px 0;border-top:1px solid var(--line);}
  /* (superseded: .partners-track is now a grid - see luxury layer) */
  .partners-track img{
    height:auto;width:100%;max-height:120px;
    object-fit:contain;
    filter:none;                 /* the -light.webp are already ivory/gold on transparent */
    padding:30px 26px;
    opacity:.96;
  }

  /* NEWSLETTER */
  .newsletter{
    background:linear-gradient(120deg,rgba(201,162,75,.10),rgba(20,18,16,.72));
    color:var(--ivory);padding:84px 0;border-top:1px solid var(--gold-hair);
  }
  .newsletter-row{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;}
  .newsletter h2{font-size:clamp(24px,2.6vw,34px);font-weight:600;color:var(--ivory);}
  .newsletter-form{display:flex;gap:0;border-bottom:1px solid var(--gold-hair);min-width:340px;}
  .newsletter-form input{
    background:transparent;border:none;padding:14px 4px;flex:1;font-size:15px;color:var(--ivory);outline:none;
  }
  .newsletter-form input::placeholder{color:var(--ivory-dim);opacity:.75;}
  .newsletter-form button{
    background:transparent;border:none;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;
    font-size:11.5px;color:var(--gold);cursor:pointer;padding:14px 8px;
  }

  /* FOOTER */
  footer{background:var(--black);padding-top:90px;}
  .footer-grid{display:grid;grid-template-columns:1.3fr 0.9fr 0.9fr 0.9fr 1fr;gap:40px;padding-bottom:70px;border-bottom:1px solid var(--line);}
  .footer-brand .logo{margin-bottom:20px;}
  .footer-brand p{font-size:14px;color:var(--ivory-dim);line-height:1.8;max-width:280px;}
  .footer-col h4{font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin-bottom:22px;}
  .footer-col a{display:block;font-size:14px;color:var(--ivory-dim);margin-bottom:14px;transition:color .25s;}
  .footer-col a:hover{color:var(--gold);}
  .social-row{display:flex;gap:14px;margin-top:24px;}
  .social-row a{
    width:36px;height:36px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
    font-size:13px;color:var(--ivory-dim);transition:all .25s;
  }
  .social-row a:hover{border-color:var(--gold);color:var(--gold);}
  .footer-bottom{
    display:flex;justify-content:space-between;align-items:center;padding:28px 0;
    font-size:12px;color:var(--ivory-dim);flex-wrap:wrap;gap:10px;
  }
  .footer-bottom .gold-text{color:var(--gold);}

  @media(max-width:980px){
    .burger{display:flex;}
    .hero-grid,.mission-grid,.founder,.contact-strip{grid-template-columns:1fr;}
    .hero::after{display:none;}
    .pillars,.why-cards,.services-grid,.team-grid,.stats-row,.news-grid{grid-template-columns:repeat(1,1fr);}
    .why-card,.pillar,.stat{border-left:none;border-top:1px solid var(--line);}
    .why-card:first-child,.pillar:first-child,.stat:first-child{border-top:none;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    body.menu-open{overflow:hidden;}
    body.menu-open::before{
      content:"";
      position:fixed;inset:0;
      background:rgba(10,9,8,.62);
      z-index:55;
    }
}

/* ===== INNER PAGE COMPONENTS ===== */
.page-hero{
  padding:170px 0 70px;
  border-bottom:1px solid var(--line);
  background:radial-gradient(ellipse 700px 400px at 85% 0%, rgba(201,162,75,0.09), transparent 60%);
  position:relative;
}
.breadcrumb{
  display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:0.06em;
  text-transform:uppercase;color:var(--ivory-dim);margin-bottom:22px;
}
.breadcrumb a{color:var(--ivory-dim);transition:color .25s;}
.breadcrumb a:hover{color:var(--gold);}
.breadcrumb .sep{color:var(--gold-dim);}
.breadcrumb .current{color:var(--gold);}
.page-hero h1{font-size:clamp(34px,4.6vw,58px);font-weight:600;color:var(--ivory);line-height:1.1;max-width:760px;}
.page-hero p.lede{margin-top:22px;font-size:17px;color:var(--ivory-dim);line-height:1.75;max-width:600px;}

.subsidiary-section{padding:100px 0;}
.subsidiary-intro{max-width:640px;margin-bottom:60px;}
.subsidiary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.subsidiary-grid.cols-2{grid-template-columns:repeat(2,1fr);}
.subsidiary-grid.cols-1{grid-template-columns:1fr;max-width:520px;}
.subsidiary-card{
  background:var(--black);padding:50px 40px;display:flex;flex-direction:column;align-items:flex-start;gap:26px;
  transition:background .3s;text-align:left;
}
.subsidiary-card:hover{background:var(--charcoal);}
.subsidiary-logo{
  width:100%;height:200px;display:flex;align-items:center;justify-content:flex-start;
  border-bottom:1px solid var(--line);padding-bottom:26px;
}
.subsidiary-logo img{max-height:180px;max-width:100%;width:auto;height:auto;object-fit:contain;filter:none;opacity:.96;transition:opacity .35s,transform .35s;}
.subsidiary-card:hover .subsidiary-logo img{opacity:1;transform:scale(1.03);}
.subsidiary-card h3{font-size:20px;font-weight:600;color:var(--ivory);}
.subsidiary-card a.visit{
  font-size:12px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold);
  display:inline-flex;align-items:center;gap:8px;margin-top:auto;
}

.business-nav{
  display:flex;gap:0;flex-wrap:wrap;border:1px solid var(--line);margin-top:50px;
}
.business-nav a{
  padding:16px 24px;font-size:12px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
  color:var(--ivory-dim);border-right:1px solid var(--line);transition:all .25s;flex:1;text-align:center;
}
.business-nav a:last-child{border-right:none;}
.business-nav a:hover,.business-nav a.active{background:var(--gold);color:var(--black);}

.contact-page-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:70px;padding:100px 0;align-items:start;}
.office-photo{border:1px solid var(--line);margin-bottom:34px;}
.office-photo img{filter:grayscale(25%);}
.office-block{border:1px solid var(--line);padding:34px;background:var(--charcoal);}
.office-block h3{font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;}
.office-block .row{display:flex;gap:14px;padding:14px 0;border-top:1px solid var(--line);font-size:14.5px;color:var(--ivory);}
.office-block .row:first-of-type{border-top:none;}
.map-frame{border:1px solid var(--line);margin-top:40px;filter:grayscale(60%) invert(92%) contrast(0.9);}
.map-frame iframe{width:100%;height:340px;border:none;display:block;}

.news-full-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding-bottom:40px;}
.news-full-card{border:1px solid var(--line);overflow:hidden;transition:border-color .3s;}
.news-full-card:hover{border-color:var(--gold-dim);}
.news-full-card .body{padding:30px;}
.news-full-card .date{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:block;}
.news-full-card h3{font-size:18px;font-weight:600;color:var(--ivory);margin-bottom:12px;line-height:1.4;}
.news-full-card p{font-size:13.5px;color:var(--ivory-dim);line-height:1.7;margin-bottom:20px;}
.news-full-card a.readmore{font-size:12px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--gold);}

.business-overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:60px;}
.business-overview-card{background:var(--black);padding:44px 34px;transition:background .3s;}
.business-overview-card:hover{background:var(--charcoal);}
.business-overview-card .snum{font-family:'Fraunces', Georgia, serif;color:var(--gold-dim);font-size:14px;letter-spacing:0.14em;margin-bottom:22px;display:block;}
.business-overview-card h3{font-size:21px;font-weight:600;color:var(--ivory);margin-bottom:14px;line-height:1.3;}
.business-overview-card p{font-size:14px;color:var(--ivory-dim);line-height:1.75;margin-bottom:22px;}
.business-overview-card .arrow{color:var(--gold);font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;}

@media(max-width:980px){
  .subsidiary-grid{grid-template-columns:1fr!important;}
  .business-nav a{flex:1 1 50%;}
  .contact-page-grid,.business-overview-grid,.news-full-grid{grid-template-columns:1fr;}
}

/* ===== NAV DROPDOWN (desktop only) ===== */
.dropdown{position:relative;}
.dropdown > a{display:inline-flex;align-items:center;gap:6px;}
.dropdown > a::before{content:"";}
.dropdown-menu{
  position:absolute;top:calc(100% + 22px);left:50%;transform:translateX(-50%);
  background:var(--charcoal);border:1px solid var(--line);min-width:300px;
  padding:10px 0;opacity:0;visibility:hidden;transform-origin:top center;
  transition:opacity .2s, visibility .2s, transform .2s;
  transform:translateX(-50%) translateY(-6px);
  z-index:200;
}
.dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.dropdown-menu a{
  display:block;padding:12px 22px;font-size:12.5px;text-transform:none;letter-spacing:0.01em;
  font-weight:500;color:var(--ivory-dim);border-bottom:1px solid var(--line);
}
.dropdown-menu a:last-child{border-bottom:none;}
.dropdown-menu a:hover{color:var(--gold);background:rgba(201,162,75,0.06);}
.dropdown-menu a::after{display:none;}

.navlinks a.active{color:var(--gold);}

/* ===== MOBILE MENU (single source of truth) ===== */
@media(max-width:980px){
  .navlinks{
    display:flex;
    position:fixed;
    top:0;right:0;
    left:auto;
    bottom:auto;
    width:min(84vw,360px);
    height:100vh;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:96px 28px 40px;
    background:var(--charcoal);
    border-left:1px solid var(--line);
    box-shadow:-24px 0 60px rgba(0,0,0,.55);
    overflow-y:auto;
    overflow-x:hidden;
    transform:translateX(100%);
    transition:transform .32s ease;
    z-index:60;
  }
  .navlinks.open{transform:translateX(0);}

  .navlinks > a,
  .navlinks .dropdown{width:100%;}

  .navlinks > a{
    display:block;
    padding:16px 0;
    font-size:14px;
    letter-spacing:0.06em;
    text-align:left;
    border-bottom:1px solid var(--line);
  }
  .navlinks > a::after{display:none;}

  .navlinks .dropdown > a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 0;
    width:100%;
    font-size:14px;
    border-bottom:1px solid var(--line);
  }
  .navlinks .dropdown > a::before{
    content:"";
    order:2;
    flex:0 0 auto;
    width:8px;height:8px;
    margin-left:12px;
    border-right:1px solid var(--gold);
    border-bottom:1px solid var(--gold);
    transform:rotate(45deg);
    transition:transform .25s;
  }
  .navlinks .dropdown.mobile-open > a::before{transform:rotate(-135deg);}

  /* submenu: reset ALL desktop absolute/centering rules */
  .navlinks .dropdown-menu,
  .dropdown-menu{
    position:static!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    float:none;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    display:none;
    background:transparent;
    border:none;
    box-shadow:none;
    min-width:0!important;
    width:100%!important;
    max-width:100%;
    margin:0;
    padding:6px 0 10px 0!important;
    transition:none;
    transform-origin:top left;
    z-index:auto;
  }
  .navlinks .dropdown.mobile-open .dropdown-menu,
  .dropdown.mobile-open .dropdown-menu{display:block;}

  .navlinks .dropdown-menu a{
    display:block;
    width:100%;
    box-sizing:border-box;
    padding:11px 12px 11px 14px;
    margin:0;
    font-size:13px;
    line-height:1.5;
    text-transform:none;
    letter-spacing:0.01em;
    color:var(--ivory-dim);
    background:transparent;
    border-left:1px solid var(--line);
    border-bottom:1px solid rgba(51,44,32,.5);
    white-space:normal;
    overflow-wrap:break-word;
    text-align:left;
  }
  .navlinks .dropdown-menu a:last-child{border-bottom:none;}

  .navlinks .navcta{
    margin-top:22px;
    display:block;
    width:100%;
    box-sizing:border-box;
    text-align:center;
    border:1px solid var(--gold);
    padding:14px 0;
  }
}

/* ===== ARTICLE PAGE ===== */
.article-hero{padding:170px 0 60px;border-bottom:1px solid var(--line);
  background:radial-gradient(ellipse 700px 400px at 85% 0%, rgba(201,162,75,0.09), transparent 60%);}
.article-meta{display:flex;gap:22px;align-items:center;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ivory-dim);margin-bottom:26px;}
.article-meta .gold-dot{color:var(--gold);}
.article-hero h1{font-size:clamp(30px,4vw,50px);font-weight:600;color:var(--ivory);line-height:1.15;max-width:820px;}
.article-body{padding:80px 32px;max-width:760px;}
.article-body h2{font-size:26px;font-weight:600;color:var(--ivory);margin:44px 0 18px;}
.article-body p{font-size:16px;color:var(--ivory-dim);line-height:1.9;margin-bottom:20px;}
.article-body p strong{color:var(--ivory);}
.article-body blockquote{
  border-left:2px solid var(--gold);padding:6px 0 6px 26px;margin:32px 0;
  font-family:'Fraunces', Georgia, serif;font-size:22px;font-style:italic;color:var(--gold-bright);line-height:1.5;
}
.article-body ul{margin:20px 0 20px 20px;}
.article-body li{font-size:15.5px;color:var(--ivory-dim);line-height:1.85;margin-bottom:10px;padding-left:6px;}
.article-body li strong{color:var(--ivory);}
.article-body table{width:100%;border-collapse:collapse;margin:26px 0;border:1px solid var(--line);}
.article-body table th{background:var(--charcoal);color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:0.08em;padding:14px 18px;text-align:left;border-bottom:1px solid var(--line);}
.article-body table td{padding:14px 18px;border-top:1px solid var(--line);color:var(--ivory);font-size:14.5px;}
.article-tagline{font-family:'Fraunces', Georgia, serif;font-size:24px;font-style:italic;color:var(--gold);margin-top:40px;border-top:1px solid var(--line);padding-top:34px;}
.article-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:40px;}
.article-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;filter:grayscale(20%);border:1px solid var(--line);transition:filter .3s;}
.article-gallery img:hover{filter:grayscale(0%);}
.article-back{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold);margin-top:50px;}
.related-section{padding:90px 0;border-top:1px solid var(--line);background:var(--charcoal);}
@media(max-width:980px){.article-gallery{grid-template-columns:repeat(2,1fr);}}

/* ===== ABOUT / VALUES / MILESTONES ===== */
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:60px;}
.value-card{background:var(--black);padding:40px 30px;transition:background .3s;}
.value-card:hover{background:var(--charcoal);}
.value-card .roman{font-family:'Fraunces', Georgia, serif;color:var(--gold-dim);font-size:15px;letter-spacing:0.14em;margin-bottom:20px;display:block;}
.value-card h3{font-size:18px;font-weight:600;color:var(--ivory);margin-bottom:12px;}
.value-card p{font-size:13.5px;color:var(--ivory-dim);line-height:1.7;}

.timeline{margin-top:70px;border-left:1px solid var(--line);padding-left:44px;padding-right:24px;position:relative;}
.timeline-item{position:relative;padding-bottom:56px;}
.timeline-item:last-child{padding-bottom:0;}
.timeline-item::before{
  content:"";position:absolute;left:-49px;top:4px;width:9px;height:9px;
  background:var(--gold);border-radius:50%;box-shadow:0 0 0 4px var(--black), 0 0 0 5px var(--line);
}
.timeline-item .yr{font-family:'Fraunces', Georgia, serif;color:var(--gold);font-size:26px;font-weight:700;margin-bottom:8px;}
.timeline-item h4{font-size:18px;color:var(--ivory);font-weight:600;margin-bottom:8px;}
.timeline-item p{font-size:14.5px;color:var(--ivory-dim);line-height:1.75;max-width:520px;}

/* ===== FAQ ACCORDION ===== */
.faq-list{border-top:1px solid var(--line);margin-top:50px;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{
  width:100%;text-align:left;background:none;border:none;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:26px 4px;font-family:'Manrope',sans-serif;font-size:16px;font-weight:600;color:var(--ivory);
}
.faq-q:hover{color:var(--gold);}
.faq-q .plus{
  flex:0 0 auto;width:36px;height:36px;
  border:1px solid var(--gold-hair);
  display:flex;align-items:center;justify-content:center;
  transition:background .3s,border-color .3s;
}
.faq-item.open .faq-q .plus{background:var(--gold-soft);border-color:var(--gold);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.faq-item.open .faq-a{max-height:400px;}
.faq-a p{padding:0 4px 26px;font-size:14.5px;color:var(--ivory-dim);line-height:1.8;max-width:680px;}
.faq-cat{margin-top:70px;margin-bottom:10px;}
.faq-cat:first-of-type{margin-top:0;}

/* ===== CAREERS ===== */
.perks-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:60px;}
.perk-card{background:var(--black);padding:40px 32px;transition:background .3s;}
.perk-card:hover{background:var(--charcoal);}
.perk-card .icon{width:40px;height:40px;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;margin-bottom:22px;color:var(--gold);font-family:'Fraunces', Georgia, serif;font-size:18px;}
.perk-card h3{font-size:17px;font-weight:600;color:var(--ivory);margin-bottom:10px;}
.perk-card p{font-size:13.5px;color:var(--ivory-dim);line-height:1.7;}

.job-list{border-top:1px solid var(--line);margin-top:60px;}
.job-item{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 24px;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.job-info h3{font-size:18px;font-weight:600;color:var(--ivory);margin-bottom:8px;}
.job-tags{display:flex;gap:10px;flex-wrap:wrap;}
.job-tags span{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold-dim);padding:5px 12px;}
.job-item .btn-ghost{padding:12px 26px;font-size:11px;flex-shrink:0;}

.cta-band{
  border:1px solid var(--gold-dim);padding:56px;text-align:center;margin-top:70px;
  background:radial-gradient(ellipse 500px 260px at 50% 0%, rgba(201,162,75,0.08), transparent 70%);
}
.cta-band h2{font-size:clamp(24px,3vw,34px);font-weight:600;margin-bottom:16px;}
.cta-band p{color:var(--ivory-dim);font-size:15px;margin-bottom:30px;max-width:480px;margin-left:auto;margin-right:auto;}

/* ===== LEGAL PAGES ===== */
.legal-body{padding:80px 0;max-width:760px;}
.legal-body h2{font-size:22px;font-weight:600;color:var(--ivory);margin:40px 0 16px;}
.legal-body h2:first-child{margin-top:0;}
.legal-body p{font-size:15px;color:var(--ivory-dim);line-height:1.85;margin-bottom:16px;}
.legal-body ul{margin:16px 0 16px 20px;}
.legal-body li{font-size:14.5px;color:var(--ivory-dim);line-height:1.8;margin-bottom:8px;}
.legal-updated{font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold);margin-bottom:30px;display:block;}

@media(max-width:980px){
  .values-grid,.perks-grid{grid-template-columns:1fr;}
  .job-item{flex-direction:column;align-items:flex-start;}
}


/* =====================================================================
   LUXURY LAYER — black + gold editorial redesign
   Design only. Copywriting, section names and markup order unchanged.
   ===================================================================== */

:root{
  --gold-soft:rgba(201,162,75,0.14);
  --gold-hair:rgba(201,162,75,0.28);
  --shadow-deep:0 32px 90px rgba(0,0,0,.66);
}

body{
  background:
    radial-gradient(ellipse 1100px 620px at 78% -8%, rgba(201,162,75,0.10), transparent 62%),
    radial-gradient(ellipse 900px 700px at 8% 42%, rgba(201,162,75,0.055), transparent 60%),
    linear-gradient(180deg,#0a0908 0%, #0c0a09 48%, #0a0908 100%);
  background-attachment:fixed;
}

/* film grain + vignette over everything, very subtle */
.grain{
  position:fixed;inset:0;pointer-events:none;z-index:5;
  background-image:
    radial-gradient(ellipse at 50% 0%, rgba(201,162,75,0.07), transparent 55%),
    radial-gradient(ellipse at 50% 120%, rgba(201,162,75,0.05), transparent 55%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
  mix-blend-mode:soft-light;
}

/* ---------- typography: editorial serif with breathing room ---------- */
h1,h2,h3,.serif{font-family:'Fraunces', Georgia, serif;font-weight:600;letter-spacing:-0.01em;font-variation-settings:"SOFT" 0,"WONK" 0;}
h1 em{font-style:italic;color:var(--gold-bright);}
h2{font-size:clamp(30px,3.6vw,46px);line-height:1.14;color:var(--ivory);}
.section-head{margin-bottom:56px;}
.section-head h2{max-width:820px;}
.section-head p{font-size:16px;color:var(--ivory-dim);line-height:1.8;max-width:620px;margin-top:18px;}

/* gold hairline under every eyebrow */
.eyebrow{position:relative;padding-bottom:14px;}
.eyebrow::after{
  content:"";position:absolute;left:0;bottom:0;width:56px;height:1px;
  background:linear-gradient(90deg,var(--gold),transparent);
}

/* ---------- nav: crisper, more bijou ---------- */
header{
  background:rgba(10,9,8,0.72);
  backdrop-filter:blur(16px) saturate(1.2);
  border-bottom:1px solid rgba(201,162,75,0.16);
}
.navlinks a{letter-spacing:0.14em;font-size:11.5px;}
.navcta{
  border:1px solid var(--gold-hair);color:var(--gold-bright)!important;
  padding:11px 24px;letter-spacing:0.16em;transition:all .3s;
}
.navcta:hover{background:var(--gold);color:var(--black)!important;border-color:var(--gold);}

/* ---------- HERO: cinematic, asymmetric, gold-framed image ---------- */
.hero{
  min-height:100vh;
  padding:180px 0 110px;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 780px 520px at 88% 18%, rgba(201,162,75,0.13), transparent 66%);
}
.hero-grid{
  display:grid;grid-template-columns:1.02fr 0.98fr;gap:80px;align-items:center;
  position:relative;z-index:2;
}
.hero h1{
  font-size:clamp(40px,5.6vw,74px);
  line-height:1.05;font-weight:600;color:var(--ivory);
  margin-bottom:26px;
}
.hero p.lede{
  font-size:18px;line-height:1.8;color:var(--ivory-dim);
  max-width:480px;margin-bottom:40px;
}
.btn-row{display:flex;gap:16px;flex-wrap:wrap;}
.btn-gold{
  background:linear-gradient(135deg,var(--gold-bright),var(--gold));
  color:var(--black);border:none;padding:15px 34px;
  font-size:12px;font-weight:800;letter-spacing:0.16em;text-transform:uppercase;
  cursor:pointer;transition:transform .3s, box-shadow .3s;
  box-shadow:0 14px 34px rgba(201,162,75,.22);
}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 20px 44px rgba(201,162,75,.32);}
.btn-ghost{
  border:1px solid var(--gold-hair);color:var(--gold-bright);
  padding:15px 34px;font-size:12px;font-weight:700;
  letter-spacing:0.16em;text-transform:uppercase;
  transition:all .3s;display:inline-block;
}
.btn-ghost:hover{background:var(--gold-soft);border-color:var(--gold);}

/* hero image: gold frame, offset, subtle float */
.hero-panel{
  position:relative;
  border:1px solid var(--gold-hair);
  padding:14px;
  background:rgba(20,18,16,.55);
  box-shadow:var(--shadow-deep);
}
.hero-panel img{width:100%;height:520px;object-fit:cover;filter:contrast(1.05);}
.hero-panel::after{
  content:"";position:absolute;inset:14px;pointer-events:none;
  background:linear-gradient(180deg,transparent 74%,rgba(10,9,8,.55));
}
.hero-panel-tag{
  position:absolute;left:30px;right:30px;bottom:30px;z-index:3;
  display:flex;justify-content:space-between;align-items:center;
  font-size:11px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--gold-bright);
}

/* ---------- pillars: editorial ruled columns ---------- */
.pillars{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  margin-top:96px;border-top:1px solid var(--line);
}
.pillar{border-left:1px solid var(--line);padding:38px 34px 10px;}
.pillar:first-child{border-left:none;padding-left:34px;}
.pillar .num{
  font-family:'Fraunces', Georgia, serif;font-size:14px;font-weight:700;
  letter-spacing:0.22em;color:var(--gold);display:block;margin-bottom:18px;
}
.pillar h3{font-size:26px;font-weight:600;color:var(--ivory);margin-bottom:12px;}
.pillar p{font-size:14.5px;line-height:1.8;color:var(--ivory-dim);}

/* ---------- generic section rhythm ---------- */
section{padding:110px 0;}
section.mission{padding:130px 0;}
section.why{
  background:linear-gradient(180deg,rgba(20,18,16,.72),rgba(10,9,8,.72));
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}

/* ---------- mission: image framed with gold corner marks ---------- */
.mission-grid{display:grid;grid-template-columns:0.92fr 1.08fr;gap:84px;align-items:center;}
.mission-frame{position:relative;padding:16px;border:1px solid var(--gold-hair);}
.mission-frame img{width:100%;height:440px;object-fit:cover;box-shadow:var(--shadow-deep);}
.mission-frame::before,.mission-frame::after{
  content:"";position:absolute;width:26px;height:26px;pointer-events:none;
}
.mission-frame::before{top:-1px;left:-1px;border-top:2px solid var(--gold);border-left:2px solid var(--gold);}
.mission-frame::after{bottom:-1px;right:-1px;border-bottom:2px solid var(--gold);border-right:2px solid var(--gold);}
.mission-copy h2{margin-bottom:24px;letter-spacing:0.06em;}
.mission-copy p{font-size:16px;line-height:1.95;color:var(--ivory-dim);}

/* ---------- founder: portrait with gold offset rule ---------- */
.founder{display:grid;grid-template-columns:0.82fr 1.18fr;gap:88px;align-items:center;}
.founder-photo{position:relative;padding:14px;}
.founder-photo img{width:100%;height:540px;object-fit:cover;position:relative;z-index:2;box-shadow:var(--shadow-deep);}
.founder-frame-line{
  position:absolute;inset:0;border:1px solid var(--gold-hair);
  transform:translate(22px,22px);z-index:1;
}
.founder-copy h2{margin-bottom:26px;}
.founder-copy p{font-size:16.5px;line-height:1.95;color:var(--ivory-dim);}
.signature{
  margin-top:34px;font-family:'Fraunces', Georgia, serif;font-style:italic;
  font-size:30px;color:var(--gold-bright);
  padding-top:22px;border-top:1px solid var(--line);
}

/* ---------- why cards: hairline grid, no boxes ---------- */
.why-cards{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  border-top:1px solid var(--line);
}
.why-card{
  border-left:1px solid var(--line);padding:44px 30px 10px;
  transition:background .35s;
}
.why-card:first-child{border-left:none;padding-left:38px;}
.why-card:hover{background:rgba(201,162,75,.035);}
.why-card .icon{
  width:48px;height:48px;flex:0 0 auto;
  border:1px solid var(--gold-hair);
  display:flex;align-items:center;justify-content:center;
  font-family:'Fraunces', Georgia, serif;font-size:18px;font-weight:700;
  color:var(--gold);line-height:1;letter-spacing:0;
  margin:0 0 26px 8px;
  transform:rotate(45deg);
  transition:background .35s,border-color .35s;
}
.why-card .icon > *{transform:rotate(-45deg);}
.why-card:hover .icon{background:var(--gold-soft);border-color:var(--gold);}
.why-card h3{font-size:22px;font-weight:600;color:var(--ivory);margin-bottom:14px;}
.why-card p{font-size:14.5px;line-height:1.85;color:var(--ivory-dim);}

/* ---------- services: layered editorial cards ---------- */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.service-card{
  display:flex;flex-direction:column;
  border:1px solid var(--line);
  background:linear-gradient(160deg,rgba(28,25,22,.72),rgba(14,12,11,.85));
  padding:40px 34px 34px;
  position:relative;overflow:hidden;
  transition:transform .4s cubic-bezier(.2,.7,.3,1),border-color .4s,box-shadow .4s;
}
.service-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-hair),transparent);
  opacity:0;transition:opacity .4s;
}
.service-card:hover{
  transform:translateY(-6px);
  border-color:var(--gold-hair);
  box-shadow:0 28px 64px rgba(0,0,0,.6);
}
.service-card:hover::before{opacity:1;}
.service-card .snum{
  font-family:'Fraunces', Georgia, serif;font-size:13px;font-weight:700;
  letter-spacing:0.24em;color:var(--gold);display:block;margin-bottom:26px;
}
.service-card h3{font-size:24px;font-weight:600;color:var(--ivory);margin-bottom:16px;line-height:1.28;}
.service-card p{font-size:14.5px;line-height:1.85;color:var(--ivory-dim);flex:1;margin-bottom:28px;}
.service-card .arrow{
  font-size:11px;font-weight:800;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--gold);display:inline-flex;align-items:center;gap:10px;
  transition:gap .3s;
}
.service-card:hover .arrow{gap:16px;}

/* ---------- team: portrait cards with gold reveal ---------- */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.team-card{
  border:1px solid var(--line);background:rgba(20,18,16,.6);
  padding:16px 16px 28px;text-align:center;
  transition:transform .4s,border-color .4s,box-shadow .4s;
}
.team-card:hover{transform:translateY(-6px);border-color:var(--gold-hair);box-shadow:0 28px 64px rgba(0,0,0,.6);}
.team-photo{overflow:hidden;margin-bottom:24px;position:relative;}
.team-photo::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 62%,rgba(10,9,8,.66));
}
.team-photo img{
  width:100%;height:410px;object-fit:cover;
  filter:contrast(1.04);                 /* no tint: real photos must stay true */
  transition:transform .6s cubic-bezier(.2,.7,.3,1);
}
.team-card:hover .team-photo img{transform:scale(1.04);}
.team-card h3{font-size:23px;font-weight:600;color:var(--ivory);margin-bottom:8px;}
.team-card .role{
  font-size:11px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--gold);
}

/* ---------- stats: big serif numerals ---------- */
.stats{
  background:
    linear-gradient(180deg,rgba(20,18,16,.86),rgba(10,9,8,.86));
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:84px 0;
}
.stats-row{display:grid;grid-template-columns:repeat(3,1fr);}
.stat{text-align:center;border-left:1px solid var(--line);}
.stat:first-child{border-left:none;}
.stat .num{
  font-family:'Fraunces', Georgia, serif;font-size:clamp(48px,6vw,76px);
  font-weight:600;color:var(--gold-bright);line-height:1;margin-bottom:14px;
}
.stat .lbl{font-size:11.5px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--ivory-dim);}

/* ---------- news: editorial list cards ---------- */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.news-card{
  border:1px solid var(--line);background:rgba(20,18,16,.55);
  padding:34px 30px 30px;display:flex;flex-direction:column;
  transition:transform .4s,border-color .4s,box-shadow .4s;
}
.news-card:hover{transform:translateY(-5px);border-color:var(--gold-hair);box-shadow:0 26px 60px rgba(0,0,0,.58);}
.news-card .date{
  font-size:11px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--gold);margin-bottom:18px;display:block;
}
.news-card h3{font-size:22px;font-weight:600;color:var(--ivory);line-height:1.32;margin-bottom:16px;}
.news-card p{font-size:14.5px;line-height:1.85;color:var(--ivory-dim);flex:1;margin-bottom:22px;}
.news-card .readmore{
  font-size:11px;font-weight:800;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);
}

/* ---------- partners marquee: gold-tinted panels ---------- */
.partners .section-head{text-align:center;}
.partners .section-head .eyebrow{justify-content:center;}
.partners .section-head .eyebrow::before{display:none;}
.partners-track{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);
}
.partners-track > *{
  background:#0c0a09;
  display:flex;align-items:center;justify-content:center;
  min-height:170px;
  transition:background .35s;
}
.partners-track > *:hover{background:rgba(201,162,75,.06);}
/* (superseded: logos are transparent ivory/gold WebP - see .partners-track img above) */
.partners-track img:hover{filter:grayscale(0.2) brightness(1) contrast(1.1);transform:scale(1.04);}

/* ---------- contact + newsletter ---------- */
.contact-strip{display:grid;grid-template-columns:1fr 1fr;gap:84px;align-items:start;}
.contact-copy h2{margin-bottom:20px;}
.contact-copy > p{font-size:16px;line-height:1.85;color:var(--ivory-dim);margin-bottom:38px;}
.contact-info{display:flex;flex-direction:column;gap:24px;}
.contact-info .label{
  display:block;font-size:10.5px;font-weight:700;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--gold);margin-bottom:8px;
}
.contact-info .val{font-size:15.5px;line-height:1.7;color:var(--ivory);}
.contact-form{
  border:1px solid var(--line);background:rgba(20,18,16,.6);
  padding:40px 36px;display:flex;flex-direction:column;gap:24px;
}
.contact-form .field{display:flex;flex-direction:column;gap:9px;}
.contact-form label{
  font-size:10.5px;font-weight:700;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--gold);
}
.contact-form input,.contact-form textarea{
  background:transparent;border:none;border-bottom:1px solid var(--line);
  padding:12px 0;color:var(--ivory);font-family:'Manrope',sans-serif;
  font-size:15px;outline:none;transition:border-color .3s;
}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold);}
.contact-form textarea{min-height:110px;resize:vertical;}
.contact-form .btn-gold{align-self:flex-start;margin-top:8px;}

.newsletter{border-top:1px solid var(--line);padding:76px 0;}
.newsletter-row{
  display:flex;justify-content:space-between;align-items:center;gap:48px;flex-wrap:wrap;
}
.newsletter h2{font-size:clamp(24px,2.6vw,34px);max-width:560px;}
.newsletter-form{display:flex;gap:0;border-bottom:1px solid var(--gold-hair);min-width:340px;}
.newsletter-form input{
  flex:1;background:transparent;border:none;padding:14px 0;
  color:var(--ivory);font-family:'Manrope',sans-serif;font-size:14px;outline:none;
}
.newsletter-form button{
  background:transparent;border:none;color:var(--gold);
  font-size:11px;font-weight:800;letter-spacing:0.2em;text-transform:uppercase;
  cursor:pointer;padding:14px 4px 14px 22px;transition:color .3s;
}
.newsletter-form button:hover{color:var(--gold-bright);}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line);padding:76px 0 34px;background:rgba(14,12,11,.6);}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:44px;margin-bottom:56px;}
.footer-brand p{font-size:14px;line-height:1.85;color:var(--ivory-dim);margin:22px 0 26px;max-width:280px;}
.footer-col h4{
  font-family:'Manrope',sans-serif;font-size:10.5px;font-weight:800;
  letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:22px;
}
.footer-col a{
  display:block;font-size:14px;color:var(--ivory-dim);
  padding:7px 0;transition:color .3s,padding-left .3s;
}
.footer-col a:hover{color:var(--gold);padding-left:6px;}
.social-row{display:flex;gap:10px;}
.social-row a{
  width:38px;height:38px;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;color:var(--ivory-dim);
  transition:all .3s;text-transform:uppercase;
}
.social-row a:hover{border-color:var(--gold);color:var(--gold);background:var(--gold-soft);}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:30px;border-top:1px solid var(--line);
  font-size:12.5px;color:var(--ivory-dim);flex-wrap:wrap;gap:12px;
}

/* ---------- inner page hero ---------- */
.page-hero{
  padding:190px 0 84px;
  background:
    radial-gradient(ellipse 820px 460px at 82% 0%, rgba(201,162,75,0.12), transparent 64%),
    linear-gradient(180deg,rgba(20,18,16,.5),transparent);
  border-bottom:1px solid var(--line);
}
.page-hero h1{font-size:clamp(38px,5vw,64px);}
.breadcrumb{letter-spacing:0.14em;font-size:10.5px;font-weight:700;}

/* article pages */
.article-body h2{font-family:'Fraunces', Georgia, serif;font-size:30px;color:var(--ivory);}
.article-body p{font-size:16.5px;line-height:2;color:var(--ivory-dim);}
.article-body blockquote{
  border-left:2px solid var(--gold);padding-left:30px;
  font-family:'Fraunces', Georgia, serif;font-style:italic;
  font-size:24px;color:var(--gold-bright);line-height:1.5;
}
.article-body table{border:1px solid var(--line);}
.article-body table th{
  background:rgba(28,25,22,.85);color:var(--gold);
  font-size:11px;letter-spacing:0.16em;text-transform:uppercase;
}
.article-body table td{border-top:1px solid var(--line);}

/* cta band */
.cta-band{
  border:1px solid var(--gold-hair);
  background:linear-gradient(140deg,rgba(201,162,75,.09),rgba(20,18,16,.7));
  padding:74px 60px;text-align:center;
}
.cta-band h2{margin-bottom:20px;}
.cta-band p{font-size:16.5px;line-height:1.85;color:var(--ivory-dim);max-width:640px;margin:0 auto 36px;}

/* ---------- responsive ---------- */
@media(max-width:1100px){
  .hero-grid,.mission-grid,.founder,.contact-strip{grid-template-columns:1fr;gap:56px;}
  .hero-panel img{height:420px;}
  .mission-frame img{height:360px;}
  .founder-photo img{height:440px;}
  .why-cards{grid-template-columns:repeat(2,1fr);}
  .why-card:nth-child(3){border-left:none;padding-left:0;}
  .services-grid,.news-grid,.team-grid{grid-template-columns:repeat(2,1fr);}
  .partners-track{grid-template-columns:repeat(3,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr 1fr;}
}
@media(max-width:980px){
  section{padding:80px 0;}
  section.mission{padding:90px 0;}
  .hero{min-height:auto;padding:150px 0 80px;}
  .pillars{grid-template-columns:1fr;margin-top:60px;}
  .pillar{border-left:none;border-top:1px solid var(--line);padding:28px 24px 16px;}
  .pillar:first-child{border-top:none;}
  .why-cards{grid-template-columns:1fr;}
  .why-card{border-left:none!important;border-top:1px solid var(--line);padding:30px 24px 16px!important;}
  .why-card:first-child{border-top:none;}
  .services-grid,.news-grid,.team-grid{grid-template-columns:1fr;}
  .partners-track{grid-template-columns:repeat(2,1fr);}
  .partners-track img{max-height:84px;padding:18px 14px;}
  .partners-track > *{min-height:120px;}
  .stats-row{grid-template-columns:1fr;gap:38px;}
  .stat{border-left:none;}
  .newsletter-row{flex-direction:column;align-items:flex-start;gap:28px;}
  .newsletter-form{width:100%;min-width:0;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .cta-band{padding:50px 28px;}
  .hero-panel img,.mission-frame img,.founder-photo img{height:300px;}
  .contact-form{padding:30px 24px;}
}
@media(max-width:560px){
  .footer-grid{grid-template-columns:1fr;}
  .partners-track{grid-template-columns:1fr 1fr;}
  .btn-row{flex-direction:column;align-items:stretch;}
  .btn-row .btn-gold,.btn-row .btn-ghost{text-align:center;}
}


/* =====================================================================
   MATERIAL ICONS + BOX SPACING
   Google Material Symbols only (no emoji / no unicode glyphs).
   Replaces the letter-based icon tiles and tight card padding.
   ===================================================================== */

.material-symbols-outlined{
  font-family:'Material Symbols Outlined';
  font-weight:normal;font-style:normal;
  font-size:20px;line-height:1;
  letter-spacing:normal;text-transform:none;white-space:nowrap;
  word-wrap:normal;direction:ltr;
  display:inline-block;vertical-align:middle;
  -webkit-font-feature-settings:'liga';
  -webkit-font-smoothing:antialiased;
  font-feature-settings:'liga';
  color:var(--gold);
  flex:0 0 auto;
}

/* ---------- why-cards: icon tile now a real icon, roomier padding ---------- */
.why-card{
  padding:52px 38px 22px;          /* was 44px 30px 10px */
}
.why-card:first-child{padding-left:38px;}
.why-card .icon{
  width:56px;height:56px;          /* was 48px */
  margin:0 0 30px 10px;            /* was 0 0 26px 8px */
  border:1px solid var(--gold-hair);
  display:flex;align-items:center;justify-content:center;
  transform:rotate(45deg);
  background:rgba(201,162,75,.045);
  transition:background .35s,border-color .35s;
}
.why-card .icon .material-symbols-outlined{
  transform:rotate(-45deg);        /* keep the glyph upright */
  font-size:24px;
}
.why-card:hover .icon{background:var(--gold-soft);border-color:var(--gold);}
.why-card h3{margin-bottom:16px;}   /* was 14px */
.why-card p{font-size:14.5px;line-height:1.9;}   /* was 1.85 */

/* ---------- service / news / team cards: more breathing room ---------- */
.service-card{padding:46px 38px 40px;}      /* was 40px 34px 34px */
.service-card h3{margin-bottom:18px;}       /* was 16px */
.service-card p{margin-bottom:32px;}        /* was 28px */
.service-card .arrow{gap:12px;}
.service-card .arrow .material-symbols-outlined{font-size:18px;}
.service-card:hover .arrow{gap:18px;}

.news-card{padding:40px 34px 36px;}         /* was 34px 30px 30px */
.news-card h3{margin-bottom:18px;}          /* was 16px */
.news-card p{margin-bottom:26px;}           /* was 22px */
.news-card .readmore{
  display:inline-flex;align-items:center;gap:10px;
  transition:gap .3s;
}
.news-card .readmore .material-symbols-outlined{font-size:17px;}
.news-card:hover .readmore{gap:16px;}

.team-card{padding:18px 18px 32px;}         /* was 16px 16px 28px */
.team-card h3{margin-bottom:10px;}          /* was 8px */

/* ---------- subsidiary logo tiles: padding + icon-friendly spacing -------- */
.subsidiary-card{padding:56px 44px 46px;gap:30px;}   /* was 50px 40px; gap 26px */
.subsidiary-logo{padding-bottom:30px;}               /* was 24px */
.subsidiary-card a.visit{
  display:inline-flex;align-items:center;gap:12px;
  transition:gap .3s;
}
.subsidiary-card a.visit .material-symbols-outlined{font-size:18px;}
.subsidiary-card:hover a.visit{gap:18px;}

/* ---------- form fields: roomier boxes ---------- */
.contact-form{padding:44px 40px;gap:28px;}    /* was 40px 36px; gap 24px */
.contact-form .field{gap:12px;}               /* was 9px */
.contact-form input,.contact-form textarea{
  padding:15px 0;                             /* was 12px 0 */
}
.contact-form .btn-gold{margin-top:12px;}
.newsletter-form input{padding:16px 0;}       /* was 14px 0 */
.newsletter-form button{padding:16px 6px 16px 26px;display:inline-flex;align-items:center;gap:10px;}

/* ---------- stat blocks: more vertical air ---------- */
.stat{padding:14px 26px;}                      /* new: separates the numerals */
.stats-row{align-items:center;}

/* ---------- social icons: square tiles sized for the glyph ---------- */
.social-row a{
  width:42px;height:42px;                      /* was 38px */
  display:flex;align-items:center;justify-content:center;
}
.social-row a .material-symbols-outlined{font-size:19px;}

/* ---------- footer link padding ---------- */
.footer-col a{padding:9px 0;}                  /* was 7px 0 */
.footer-col h4{margin-bottom:24px;}            /* was 22px */

/* ---------- cta band ---------- */
.cta-band{padding:80px 64px;}                  /* was 74px 60px */

/* ---------- responsive tuning for the new spacing ---------- */
@media(max-width:1100px){
  .why-card{padding:42px 30px 18px;}
  .service-card{padding:40px 32px 34px;}
  .subsidiary-card{padding:46px 36px 38px;}
}
@media(max-width:980px){
  .why-card{padding:32px 24px 18px!important;}
  .service-card{padding:34px 26px 30px;}
  .news-card{padding:32px 26px 30px;}
  .contact-form{padding:32px 26px;gap:24px;}
  .subsidiary-card{padding:40px 28px 34px;}
  .cta-band{padding:54px 30px;}
  .stat{padding:0;}
}

/* ---------- FAQ toggle icon (Material) ---------- */
.faq-q .plus .material-symbols-outlined{font-size:21px;transition:transform .3s;color:var(--gold);}
.faq-item.open .faq-q .plus .material-symbols-outlined{transform:rotate(135deg);}
.faq-item .faq-a{padding:0 24px;}
.faq-item.open .faq-a{padding:0 24px 28px;}
.faq-a p{font-size:15px;line-height:1.9;color:var(--ivory-dim);max-width:760px;}
.faq-a p + p{margin-top:14px;}

/* ---------- inner-page visual band (gives text-only pages a hero image) ---------- */
.page-visual{padding:0 0 90px;}
.page-visual-frame{
  border:1px solid var(--gold-hair);
  padding:14px;
  background:rgba(20,18,16,.5);
  box-shadow:0 30px 80px rgba(0,0,0,.55);
}
.page-visual-frame img{
  width:100%;height:340px;object-fit:cover;display:block;
}
@media(max-width:980px){
  .page-visual{padding:0 0 60px;}
  .page-visual-frame img{height:220px;}
}

/* ---------- article cover image (matches .page-visual) ---------- */
.article-cover{padding:0 0 70px;}
.article-cover-frame{
  border:1px solid var(--gold-hair);padding:14px;
  background:rgba(20,18,16,.5);box-shadow:0 30px 80px rgba(0,0,0,.55);
}
.article-cover-frame img{width:100%;height:380px;object-fit:cover;display:block;}
@media(max-width:980px){
  .article-cover{padding:0 0 46px;}
  .article-cover-frame img{height:220px;}
}

/* ---------- homepage news card media (real photos) ---------- */
.news-card{padding:0;overflow:hidden;}
.news-card-media{overflow:hidden;border-bottom:1px solid var(--line);}
.news-card-media img{
  width:100%;height:210px;object-fit:cover;display:block;
  transition:transform .6s cubic-bezier(.2,.7,.3,1);
}
.news-card:hover .news-card-media img{transform:scale(1.05);}
.news-card .date,.news-card h3,.news-card p,.news-card .readmore{margin-left:32px;margin-right:32px;}
.news-card .date{margin-top:30px;}
.news-card .readmore{margin-bottom:32px;}
@media(max-width:980px){
  .news-card-media img{height:190px;}
  .news-card .date,.news-card h3,.news-card p,.news-card .readmore{margin-left:26px;margin-right:26px;}
}

/* ---------- keep faces in frame when tall photos are cropped ---------- */
/* (news/visual bands are landscape; these sources are portrait or square) */
.news-full-card .card-media img[src*="real-team-stairs"],
.news-card-media img[src*="real-team-stairs"],
.page-visual-frame img[src*="real-team-stairs"]{object-position:center 34%;}
.news-full-card .card-media img[src*="real-iftar-2025"],
.news-card-media img[src*="real-iftar-2025"]{object-position:center 30%;}
.news-full-card .card-media img[src*="real-gathering-night"],
.news-card-media img[src*="real-gathering-night"]{object-position:center 40%;}
.news-full-card .card-media img[src*="real-anniversary-2nd"],
.news-card-media img[src*="real-anniversary-2nd"],
.page-visual-frame img[src*="real-anniversary-2nd"]{object-position:center 45%;}

/* portraits are taller than landscape bands - give them a taller frame */
.page-visual-frame img[src*="real-"],
.article-cover-frame img[src*="real-"]{height:420px;object-position:center 32%;}
@media(max-width:980px){
  .page-visual-frame img[src*="real-"],
  .article-cover-frame img[src*="real-"]{height:260px;}
}

/* ---------- Megat (CFO) real portrait: keep his face in frame ---------- */
.team-photo img[src*="real-megat"]{object-position:center 28%;}
@media(max-width:980px){
  .team-photo img[src*="real-megat"]{object-position:center 26%;}
}

/* ---------- team card frame normalisation ---------- */
/* (the real photos are portrait; give the frame a fixed ratio so all three
   cards line up rather than leaving a gap under a shorter image) */
.team-card{padding:18px 18px 32px;display:flex;flex-direction:column;}
.team-photo{
  overflow:hidden;margin-bottom:26px;position:relative;
  aspect-ratio:4/5;background:#0d0b0a;
}
.team-photo img{
  width:100%;height:100%;object-fit:cover;
  object-position:center 22%;          /* faces sit high in these portraits */
  display:block;
}
.team-photo::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 68%,rgba(10,9,8,.6));
}
.team-card h3{margin-top:0;}
@media(max-width:980px){
  .team-photo{aspect-ratio:4/5;}
  .team-photo img{object-position:center 20%;}
}

/* ---------- Anessa (COO) real portrait ---------- */
.team-photo img[src*="real-anessa"]{object-position:center 30%;}
@media(max-width:980px){
  .team-photo img[src*="real-anessa"]{object-position:center 28%;}
}

/* ---------- Alang (CEO) real portrait focal point ---------- */
.team-photo img[src*="real-alang"]{object-position:center 26%;}
@media(max-width:980px){
  .team-photo img[src*="real-alang"]{object-position:center 24%;}
}

/* ---------- subsidiary logos at 180px (client request) ---------- */
@media(max-width:980px){
  .subsidiary-logo{height:150px;}
  .subsidiary-logo img{max-height:130px;}
}
@media(max-width:560px){
  .subsidiary-logo{height:130px;}
  .subsidiary-logo img{max-height:110px;}
}

/* ---------- Founder panel: Alang Arifinan portrait ---------- */
/* (client wants Alang's portrait here in the Our Founder / Key To Success
   panel; the frame is portrait so the photo fills it without cropping him) */
.founder{grid-template-columns:0.82fr 1.18fr;gap:88px;align-items:center;}
.founder-photo{position:relative;padding:14px;}
.founder-photo img{
  width:100%;
  height:560px;
  object-fit:cover;
  object-position:center 22%;         /* keep the cap and face in view */
  background:#0d0b0a;
  position:relative;z-index:2;
  box-shadow:var(--shadow-deep);
}
.founder-frame-line{transform:translate(22px,22px);}
@media(max-width:1100px){
  .founder{grid-template-columns:1fr;gap:44px;}
  .founder-photo img{height:460px;object-position:center 22%;}
}
@media(max-width:560px){
  .founder-photo img{height:400px;object-position:center 22%;}
}

/* =====================================================================
   GALLERY + LIGHTBOX (championship page)
   ===================================================================== */
.gallery-section{padding:90px 0;border-top:1px solid var(--line);
  background:linear-gradient(180deg,rgba(20,18,16,.55),transparent);}
.gallery-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
}
.gallery-item{
  padding:0;border:1px solid var(--line);background:#0d0b0a;
  cursor:pointer;overflow:hidden;position:relative;display:block;
  aspect-ratio:4/3;border-radius:6px;
  transition:border-color .3s,transform .3s,box-shadow .3s;
}
.gallery-item img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .55s cubic-bezier(.2,.7,.3,1),filter .4s;
  filter:contrast(1.02);
}
.gallery-item::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 62%,rgba(10,9,8,.55));
  opacity:0;transition:opacity .3s;
}
.gallery-item:hover{border-color:var(--gold-hair);transform:translateY(-4px);
  box-shadow:0 22px 48px rgba(0,0,0,.6);}
.gallery-item:hover img{transform:scale(1.06);}
.gallery-item:hover::after{opacity:1;}
.gallery-item:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

/* ---------- lightbox ---------- */
.lightbox{
  position:fixed;inset:0;z-index:200;
  display:flex;align-items:center;justify-content:center;
  background:rgba(6,5,5,.94);
  backdrop-filter:blur(6px);
  padding:64px 80px;
}
.lightbox[hidden]{display:none;}
.lb-stage{margin:0;max-width:100%;max-height:100%;display:flex;
  flex-direction:column;align-items:center;gap:16px;}
.lb-stage img{
  max-width:100%;max-height:78vh;object-fit:contain;display:block;
  border:1px solid var(--gold-hair);box-shadow:0 40px 90px rgba(0,0,0,.7);
}
.lb-stage figcaption{
  font-size:12px;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--gold);font-weight:700;
}
.lb-close,.lb-prev,.lb-next{
  position:absolute;background:transparent;border:1px solid var(--gold-hair);
  color:var(--gold);cursor:pointer;display:flex;align-items:center;
  justify-content:center;transition:background .3s,border-color .3s,color .3s;
}
.lb-close{top:24px;right:24px;width:46px;height:46px;font-size:26px;line-height:1;}
.lb-prev,.lb-next{top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;}
.lb-prev{left:20px;}
.lb-next{right:20px;}
.lb-close:hover,.lb-prev:hover,.lb-next:hover{background:var(--gold-soft);border-color:var(--gold);color:var(--gold-bright);}
.lb-prev .material-symbols-outlined,.lb-next .material-symbols-outlined{font-size:28px;color:inherit;}

body.lb-open{overflow:hidden;}

@media(max-width:1100px){
  .gallery-grid{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:820px){
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .gallery-section{padding:64px 0;}
  .lightbox{padding:56px 14px;}
  .lb-prev,.lb-next{width:44px;height:44px;}
  .lb-prev{left:8px;} .lb-next{right:8px;}
  .lb-stage img{max-height:70vh;}
}

/* ---------- news card equalisation ---------- */
/* (source photos have mixed portrait/landscape ratios; force one frame and
   one height so the grid reads evenly and no card leaves a gap) */
.news-full-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:36px;
  align-items:stretch;
}
.news-full-card{
  height:100%;
  display:flex;
  flex-direction:column;
}
.news-full-card .card-media{
  aspect-ratio:16/9;
  flex:0 0 auto;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background:#0d0b0a;
}
.news-full-card .body{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  padding:30px;
}
.news-full-card .body h3{margin-bottom:14px;}
.news-full-card .body p{flex:1 1 auto;margin-bottom:22px;}
.news-full-card .readmore{margin-top:auto;}

/* homepage news cards get the same treatment */
.news-grid{align-items:stretch;}
.news-card{height:100%;display:flex;flex-direction:column;}
.news-card-media{aspect-ratio:16/9;flex:0 0 auto;overflow:hidden;border-bottom:1px solid var(--line);background:#0d0b0a;}
.news-card-media img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .6s cubic-bezier(.2,.7,.3,1);}
.news-card .readmore{margin-top:auto;padding-bottom:0;}

@media(max-width:1100px){
  .news-full-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:820px){
  .news-full-grid{grid-template-columns:1fr;gap:26px;}
  .news-full-card .body{padding:24px;}
}

/* ---------- inline article figures ---------- */
.article-figure{
  margin:38px 0;padding:14px;
  border:1px solid var(--gold-hair);
  background:rgba(20,18,16,.5);
  box-shadow:0 26px 60px rgba(0,0,0,.5);
}
.article-figure img{width:100%;height:auto;display:block;}
.article-figure figcaption{
  margin-top:14px;font-size:12px;letter-spacing:0.1em;
  color:var(--ivory-dim);text-align:center;
}

/* ---------- article sub-headings (itinerary days) ---------- */
.article-body h3{
  font-size:20px;font-weight:600;color:var(--gold);
  margin:38px 0 14px;letter-spacing:0.02em;
}
.article-body h3:first-of-type{margin-top:26px;}


/* =====================================================================
   MOBILE PADDING FLOOR
   Every page must keep at least 15px between text and the screen edge.
   The article body inherits .wrap, but several page-level rules set
   padding:<v> 0 and were zeroing the horizontal padding on phones.
   ===================================================================== */
@media(max-width:820px){
  .wrap{padding-left:20px;padding-right:20px;}
  .article-body{padding-left:20px;padding-right:20px;}
  .article-hero{padding-left:20px;padding-right:20px;}
  .gallery-section .wrap,
  .related-section .wrap{padding-left:20px;padding-right:20px;}
}
@media(max-width:560px){
  .wrap{padding-left:16px;padding-right:16px;}
  .article-body{padding-left:16px;padding-right:16px;}
  .article-hero{padding-left:16px;padding-right:16px;}
  .article-figure{padding:10px;}
  .gallery-section .wrap,
  .related-section .wrap{padding-left:16px;padding-right:16px;}
  /* the founder frame's decorative gold line is offset with translate(), which
     pushed 2px past the phone viewport and caused a horizontal scrollbar */
  .founder-frame-line{transform:translate(12px,12px);}

  /* tables are the widest element in the itinerary articles - let them
     scroll sideways rather than push the page wider than the screen */
  .article-body table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;}
  .article-body table th,
  .article-body table td{padding:10px 12px;font-size:13px;white-space:normal;word-break:break-word;}
}


/* =====================================================================
   MINIMUM TEXT INSET
   Several card/column rules set padding:<v> 0 so the text runs flush to the
   box edge. This floor guarantees breathing room everywhere.
   ===================================================================== */
.pillar h3, .pillar p, .pillar .num,
.why-card h3, .why-card p,
.timeline h4, .timeline p,
.job-item h3, .job-item p,
.faq-item .faq-a p,
.service-card h3, .service-card p,
.news-card h3, .news-card p{
  padding-left:2px;
  padding-right:2px;
}
@media(max-width:980px){
  .pillars, .why-cards, .stats-row{gap:0;}
  .pillar{padding-left:24px;padding-right:24px;}
  .pillar:first-child{padding-left:20px;}
  .stat{padding-left:24px;padding-right:24px;}
  .timeline{padding-right:24px;}
}
@media(max-width:560px){
  .pillar{padding-left:20px;padding-right:20px;}
  .pillar:first-child{padding-left:16px;}
  .job-item{padding-left:20px;padding-right:20px;}
  .faq-item .faq-a, .faq-item.open .faq-a{padding-left:20px;padding-right:20px;}
}


/* =====================================================================
   TABLE SCROLL FLOOR
   The itinerary tables are the widest content on the article pages. Below
   the desktop layout they must scroll inside their own box instead of
   pushing the page wider than the screen.
   ===================================================================== */
@media(max-width:980px){
  .article-body table{
    display:block;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    max-width:100%;
  }
  .article-body table th,
  .article-body table td{
    padding:11px 14px;
    font-size:13.5px;
    white-space:normal;
    word-break:break-word;
  }
  .article-body table td:first-child{white-space:nowrap;}
}
