:root{
    --cream:#FAF9F6;
    --cream-deep:#F3F1EC;
    --paper:#FFFFFF;
    --ink:#241B14;
    --charcoal:#3A2E22;
    --sub:#6B5D4E;
    --orange1:#F6890F;
    --orange2:#D8440D;
    --gold:#E9A63F;
    --steel:#8C8478;
    --line:rgba(36,27,20,0.08);
    --line-soft:rgba(36,27,20,0.04);
    --white:#ffffff;
    --shadow: 0 16px 40px -18px rgba(58,39,10,0.12);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:'Work Sans',sans-serif;
    color:var(--ink);
    background:var(--cream);
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{text-decoration:none;color:inherit;}
  ul{margin:0;padding:0;list-style:none;}
  h1,h2,h3,h4{font-family:'Fraunces',serif;margin:0;line-height:1.05;font-weight:700;}
  p{margin:0;}
  .eyebrow{
    font-family:'IBM Plex Mono',monospace;
    text-transform:uppercase;
    letter-spacing:.14em;
    font-size:.72rem;
    font-weight:500;
    color:var(--orange2);
    display:inline-flex;
    align-items:center;
    gap:.5em;
  }
  .eyebrow::before{
    content:"";
    width:22px;height:1.5px;
    background:var(--orange2);
    display:inline-block;
  }
  .wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:.5em;
    padding:14px 26px;border-radius:100px;font-weight:600;font-size:.92rem;
    cursor:pointer;border:1px solid transparent;transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
    font-family:'Work Sans',sans-serif;
  }
  .btn-primary{
    background:linear-gradient(100deg,var(--orange1),var(--orange2));
    color:#fff; box-shadow:0 14px 30px -12px rgba(216,68,13,.65);
  }
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 36px -12px rgba(216,68,13,.8);}
  .btn-ghost{
    background:transparent;border:1px solid rgba(255,255,255,.55);color:#fff;
  }
  .btn-ghost:hover{background:rgba(255,255,255,.14);}
  .btn-dark{background:var(--ink);color:#fff;}
  .btn-dark:hover{transform:translateY(-2px);}
  .btn-line{border:1px solid var(--line);color:var(--ink);background:transparent;}
  .btn-line:hover{border-color:var(--orange2);color:var(--orange2);}

  /* ===== NAV ===== */
  header.site{
    position:sticky;top:0;z-index:500;
    background:#FFFFFF;
    border-bottom:1px solid rgba(36,27,20,0.08);
    box-shadow:0 2px 14px rgba(36,27,20,0.04);
  }
  .nav-row{
    display:flex;align-items:center;justify-content:space-between;
    padding:12px 28px;max-width:1320px;margin:0 auto;gap:18px;
  }
  .brand{display:flex;align-items:center;gap:12px;cursor:pointer;flex:none;text-decoration:none;}
  .brand img{width:42px;height:42px;object-fit:contain;flex-shrink:0;}
  .brand-text{display:flex;flex-direction:column;justify-content:center;}
  .brand-title, .brand-text > span:first-child{font-family:'Fraunces',serif;font-weight:700;font-size:1.15rem;letter-spacing:.01em;line-height:1.15;color:var(--ink);white-space:nowrap;}
  .brand-title span, .brand-text span span{color:var(--orange2);}
  .brand-sub{font-family:'Work Sans',sans-serif;font-weight:600;font-size:0.62rem;letter-spacing:0.02em;color:var(--sub);line-height:1;margin-top:2px;white-space:nowrap;}
  nav.primary{display:flex;align-items:center;gap:1px;flex-wrap:nowrap;}
  nav.primary>.navitem{position:relative;padding:4px 0;}
  nav.primary>.navitem>button{
    font-family:'Work Sans',sans-serif;
    background:none;border:none;font-size:.86rem;font-weight:500;color:var(--charcoal);
    padding:9px 12px;border-radius:100px;cursor:pointer;display:flex;align-items:center;gap:5px;
    transition:background .2s, color .2s;white-space:nowrap;
  }
  nav.primary>.navitem:hover>button, nav.primary>.navitem>button:hover, nav.primary>.navitem>button.active{background:var(--cream-deep);color:var(--orange2);}
  .caret{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px;opacity:.6;flex:none;transition:transform .2s ease;}
  nav.primary>.navitem:hover .caret, nav.primary>.navitem.open .caret{transform:rotate(225deg);margin-top:2px;}
  .dropdown{
    position:absolute;top:100%;left:0;
    margin-top:4px;
    background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);
    min-width:220px;padding:8px;opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
    transform:translateY(6px);
    z-index:50;
  }
  .dropdown::before{
    content:"";
    position:absolute;
    top:-14px;
    left:0;
    right:0;
    height:14px;
  }
  .navitem.align-right .dropdown{left:auto;right:0;}
  .navitem:hover .dropdown, .navitem:focus-within .dropdown, .navitem.open .dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
  .dropdown a{
    display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;font-size:.86rem;font-weight:500;color:var(--charcoal);white-space:nowrap;cursor:pointer;
    transition:background .15s ease, color .15s ease, transform .15s ease;
  }
  .dropdown a:hover{background:var(--cream);color:var(--orange2);transform:translateX(3px);}
  .dropdown a .num{
    font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--orange1);
    width:20px;flex:none;
  }
  .dropdown .dgroup-label{
    font-family:'IBM Plex Mono',monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;
    color:var(--steel);padding:8px 12px 4px;
  }
  .dropdown .dsep{height:1px;background:var(--line-soft);margin:6px 4px;}
  .nav-cta{display:flex;align-items:center;gap:8px;flex:none;}
  .nav-cta .tel-btn{white-space:nowrap;}
  .burger{display:none;background:none;border:1px solid var(--line);border-radius:10px;width:42px;height:42px;cursor:pointer;align-items:center;justify-content:center;flex:none;}
  .burger span, .burger span::before, .burger span::after{content:"";display:block;width:18px;height:2px;background:var(--ink);position:relative;transition:.2s;}
  .burger span::before{position:absolute;top:-6px;}
  .burger span::after{position:absolute;top:6px;}

  /* Mobile nav */
  .mobile-panel{display:none;flex-direction:column;padding:12px 18px 24px;gap:4px;border-top:1px solid var(--line-soft);background:#FFFFFF;}
  .mobile-panel.show{display:flex;}
  .mobile-group summary{list-style:none;cursor:pointer;padding:12px 6px;font-weight:600;display:flex;justify-content:space-between;align-items:center;}
  .mobile-group summary::-webkit-details-marker{display:none;}
  .mobile-group a{display:block;padding:9px 16px;font-size:.9rem;color:var(--sub);}
  .mobile-panel>a{padding:12px 6px;font-weight:600;}
  .mobile-panel .mobile-cta-btn{
    margin-top:14px;
    padding:12px 20px;
    text-align:center;
    background:linear-gradient(100deg,var(--orange1),var(--orange2));
    color:#fff !important;
    border-radius:100px;
    font-weight:600;
    font-size:0.92rem;
    box-shadow:0 8px 20px -6px rgba(216,68,13,.5);
    display:block;
  }

  @media(max-width:1300px){
    .nav-cta .tel-btn{display:none;}
  }

  /* ===== PAGE SYSTEM ===== */
  /* Multi-page layout */
.page{display:block;}
  .page.active{display:block;animation:fadeIn .4s ease both;}
  @keyframes fadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

  /* ===== SECTION GENERIC ===== */
  section{padding:96px 0;}
  section.tight{padding:64px 0;}
  .section-head{max-width:640px;margin-bottom:52px;}
  .section-head h2{font-size:clamp(1.8rem,3.4vw,2.6rem);margin-top:14px;}
  .section-head p{color:var(--sub);margin-top:16px;font-size:1.02rem;line-height:1.6;}
  .bg-white{background:var(--paper);}
  .bg-deep{background:var(--cream-deep);}
  .bg-ink{background:var(--ink);color:#f4ead9;}
  .bg-ink .eyebrow{color:var(--gold);}
  .bg-ink .eyebrow::before{background:var(--gold);}

  .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
  .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
  .card{
    background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:30px 26px;
  }
  .card h3{font-size:1.15rem;margin-bottom:12px;}
  .card p{color:var(--sub);font-size:.94rem;line-height:1.6;}
  .card ul{margin-top:14px;}
  .card ul li{
    font-size:.92rem;color:var(--charcoal);padding:7px 0 7px 22px;position:relative;border-top:1px solid var(--line-soft);
  }
  .card ul li:first-child{border-top:none;}
  .card ul li::before{content:"";position:absolute;left:0;top:15px;width:7px;height:7px;border-radius:2px;background:var(--orange1);transform:rotate(45deg);}

  /* stat band */
  .stat-band{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden;}
  .stat-cell{background:var(--paper);padding:34px 24px;text-align:left;}
  .stat-cell b{display:block;font-family:'Fraunces',serif;font-size:2.1rem;color:var(--orange2);font-weight:700;}
  .stat-cell span{font-size:.82rem;color:var(--sub);}

  /* journey / timeline */
  .journey{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:10px;}
  .journey::before{
    content:"";position:absolute;top:26px;left:6%;right:6%;height:2px;
    background:repeating-linear-gradient(90deg,var(--orange1) 0 8px, transparent 8px 16px);
    z-index:0;
  }
  .journey .jstep{position:relative;z-index:1;}
  .jnum{
    width:52px;height:52px;border-radius:50%;
    background:linear-gradient(140deg,var(--orange1),var(--orange2));color:#fff;
    display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:700;font-size:1.15rem;
    margin-bottom:18px;box-shadow:0 10px 22px -8px rgba(216,68,13,.6);
  }
  .jstep h4{font-size:1.05rem;margin-bottom:10px;}
  .jstep ul li{font-size:.86rem;color:var(--sub);padding:4px 0;}

  /* compass / dial for classes */
  .class-dial{display:flex;justify-content:space-between;gap:10px;margin:6px 0 44px;flex-wrap:wrap;}
  .class-dial button{
    flex:1;min-width:110px;background:var(--paper);border:1.5px solid var(--line);border-radius:16px;
    padding:20px 12px;text-align:center;cursor:pointer;transition:.22s;
  }
  .class-dial button .cnum{
    font-family:'Fraunces',serif;font-size:1.9rem;font-weight:700;color:var(--steel);display:block;margin-bottom:6px;transition:.22s;
  }
  .class-dial button .clabel{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--sub);}
  .class-dial button:hover{border-color:var(--orange1);transform:translateY(-3px);}
  .class-dial button.active{
    background:linear-gradient(150deg,var(--orange1),var(--orange2));border-color:transparent;
    box-shadow:0 16px 30px -14px rgba(216,68,13,.7);
  }
  .class-dial button.active .cnum, .class-dial button.active .clabel{color:#fff;}

  .class-panel{display:none;}
  .class-panel.active{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start;}
  .class-panel .blurb{background:var(--cream-deep);border-radius:20px;padding:34px;}
  .class-panel .blurb .tag{font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--orange2);text-transform:uppercase;letter-spacing:.1em;}
  .class-panel .blurb h3{font-size:1.7rem;margin:10px 0 14px;}
  .class-panel .blurb p{color:var(--charcoal);line-height:1.65;font-size:.98rem;}
  .focus-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  .focus-grid .fitem{
    background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:.88rem;font-weight:500;
    display:flex;align-items:center;gap:10px;
  }
  .focus-grid .fitem::before{content:"✓";color:var(--orange2);font-weight:700;}

  /* college tabs */
  .tab-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px;}
  .tab-row button{
    padding:11px 20px;border-radius:100px;border:1.5px solid var(--line);background:var(--paper);
    font-weight:600;font-size:.86rem;cursor:pointer;color:var(--charcoal);transition:.2s;
  }
  .tab-row button:hover{border-color:var(--orange1);}
  .tab-row button.active{background:var(--ink);border-color:var(--ink);color:#fff;}
  .tab-panel{display:none;}
  .tab-panel.active{display:block;animation:fadeIn .35s ease both;}
  .tab-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start;}
  .tab-layout .info h3{font-size:1.9rem;margin-bottom:14px;}
  .tab-layout .info .eyebrow{margin-bottom:14px;}
  .tab-layout .info p{color:var(--sub);line-height:1.7;font-size:1rem;margin-bottom:18px;}

  /* pricing */
  .pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;}
  .price-card{
    background:var(--paper);border:1.5px solid var(--line);border-radius:22px;padding:34px 28px;position:relative;display:flex;flex-direction:column;
  }
  .price-card.featured{
    background:linear-gradient(165deg,#3a2415,#241408);color:#f4ead9;border-color:transparent;transform:translateY(-10px);
    box-shadow:0 30px 60px -20px rgba(0,0,0,.4);
  }
  .price-card .badge{
    position:absolute;top:-13px;left:50%;transform:translateX(-50%);
    background:linear-gradient(100deg,var(--orange1),var(--orange2));color:#fff;font-size:.7rem;font-weight:700;
    text-transform:uppercase;letter-spacing:.08em;padding:6px 16px;border-radius:100px;
  }
  .price-card h3{font-size:1.2rem;margin-bottom:6px;}
  .price-card .sub{font-size:.85rem;color:var(--sub);margin-bottom:20px;}
  .price-card.featured .sub{color:rgba(244,234,217,.65);}
  .price-card .amount{font-family:'Fraunces',serif;font-size:2.6rem;font-weight:700;}
  .price-card .gst{font-size:.78rem;color:var(--sub);margin-bottom:22px;}
  .price-card.featured .gst{color:rgba(244,234,217,.55);}
  .price-card ul{flex:1;margin-bottom:24px;}
  .price-card ul li{font-size:.87rem;padding:9px 0;border-top:1px solid var(--line-soft);display:flex;gap:9px;}
  .price-card.featured ul li{border-top:1px solid rgba(244,234,217,.14);}
  .price-card ul li::before{content:"＋";color:var(--orange1);font-weight:700;}
  .price-card ul li:first-child{border-top:none;}

  /* calendar table */
  table.cal{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:16px;overflow:hidden;}
  table.cal th{
    text-align:left;background:var(--ink);color:#f4ead9;padding:14px 20px;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;font-weight:600;
  }
  table.cal td{padding:15px 20px;border-top:1px solid var(--line);font-size:.9rem;background:var(--paper);}
  table.cal tr:nth-child(even) td{background:var(--cream-deep);}
  table.cal td.period{font-weight:700;color:var(--orange2);white-space:nowrap;font-family:'IBM Plex Mono',monospace;font-size:.78rem;}

  /* case study cards */
  .case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .case-card{border-radius:20px;overflow:hidden;background:var(--paper);border:1px solid var(--line);box-shadow:0 4px 20px rgba(36,27,20,0.04);}
  .case-card .img {
  height: 220px;
  overflow: hidden;
  background: linear-gradient(145deg, #FAF8F5 0%, #F1EFEA 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  box-sizing: border-box;
}
.case-card .img img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain !important;
  object-position: center !important;
  display: block;
  margin: 0 auto;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(36,27,20,0.06);
}
  .case-card .body{padding:24px;}
  .case-card .tagline{font-family:'IBM Plex Mono',monospace;font-size:.68rem;color:var(--orange2);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;display:block;}
  .case-card p{font-style:italic;color:var(--charcoal);font-size:.94rem;line-height:1.6;}

  /* gallery */
  .gallery{columns:3;column-gap:16px;}
  .gallery img{width:100%;border-radius:14px;margin-bottom:16px;break-inside:avoid;}

  /* ===== TEAM ===== */
  .team-hero-section{padding:54px 0 80px;}
  @media(max-width:768px){.team-hero-section{padding:36px 0 60px;}}

  .team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
  @media(max-width:980px){.team-grid{grid-template-columns:repeat(2,1fr);gap:22px;}}
  @media(max-width:640px){.team-grid{grid-template-columns:1fr;gap:20px;}}

  .team-card{
    background:var(--paper);border:1px solid var(--line);border-radius:20px;
    overflow:hidden;display:flex;flex-direction:column;
    transition:transform .32s cubic-bezier(.16,1,.3,1), box-shadow .32s cubic-bezier(.16,1,.3,1), border-color .32s ease;
    box-shadow:0 4px 20px rgba(36,27,20,.04);
  }
  .team-card:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 36px -8px rgba(36,27,20,.14);
    border-color:rgba(216,68,13,.35);
  }

  .team-photo-wrap{
    width:100%;height:350px;position:relative;overflow:hidden;background:#f3ede4;flex:none;
  }
  @media(max-width:980px){.team-photo-wrap{height:330px;}}
  @media(max-width:640px){.team-photo-wrap{height:320px;}}

  .team-photo{
    width:100%;height:100%;object-fit:cover !important;object-position:center top !important;display:block;
    transition:transform .35s cubic-bezier(.16,1,.3,1);
  }
  .team-card:hover .team-photo{
    transform:scale(1.02);
  }

  .team-photo-overlay{
    position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(29,22,18,.6) 100%);
    opacity:0;transition:opacity .3s ease;
    display:flex;align-items:flex-end;padding:16px 18px;
    pointer-events:none;
  }
  .team-card:hover .team-photo-overlay{opacity:1;}
  .view-profile-hint{
    color:#fff;font-family:'Work Sans',sans-serif;font-size:.78rem;font-weight:600;
    letter-spacing:.03em;
  }

  .role-badge{
    position:absolute;top:14px;right:14px;
    background:rgba(29,22,18,.78);backdrop-filter:blur(8px);
    color:#fff;font-family:'IBM Plex Mono',monospace;
    font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;
    padding:5px 12px;border-radius:100px;border:1px solid rgba(255,255,255,.15);
    z-index:2;
  }

  .team-card-body{
    padding:24px 22px 22px;display:flex;flex-direction:column;flex:1;
  }
  .team-name{
    font-family:'Fraunces',serif;font-size:1.24rem;font-weight:700;color:var(--ink);
    margin:0 0 4px 0;line-height:1.25;
  }
  .team-card .role{
    font-family:'IBM Plex Mono',monospace;font-size:.74rem;font-weight:600;
    color:var(--orange2);text-transform:uppercase;letter-spacing:.05em;
    margin-bottom:12px;display:block;line-height:1.35;
  }
  .team-bio-short{
    color:var(--sub);font-size:.88rem;line-height:1.62;margin:0;
  }
  .team-card .more{display:none;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line-soft);}
  .team-card .more p{color:var(--sub);font-size:.86rem;line-height:1.6;margin-bottom:8px;}
  .team-card .more p:last-child{margin-bottom:0;}
  .team-card.expanded .more{display:block;animation:fadeIn .25s ease;}

  .team-card .toggle-more{
    margin-top:14px;background:none;border:none;padding:0;
    color:var(--orange2);font-weight:600;font-size:.84rem;cursor:pointer;
    font-family:'Work Sans',sans-serif;display:inline-flex;align-items:center;gap:5px;
    transition:color .2s;
  }
  .team-card .toggle-more:hover{color:var(--orange1);}
  .team-card .toggle-more .btn-arrow{transition:transform .2s ease;}
  .team-card:hover .toggle-more .btn-arrow{transform:translateX(3px);}

  /* ===== BLOG ===== */
  .blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  .blog-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease, box-shadow .25s ease;}
  .blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
  .blog-thumb{
    height:150px;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(150deg,var(--cream-deep),var(--gold));
    font-family:'Fraunces',serif;color:var(--orange2);font-size:2.4rem;font-weight:700;
  }
  .blog-body{padding:24px;flex:1;display:flex;flex-direction:column;}
  .blog-cat{font-family:'IBM Plex Mono',monospace;font-size:.68rem;color:var(--orange2);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;}
  .blog-body h3{font-size:1.05rem;margin-bottom:10px;line-height:1.35;}
  .blog-body p{color:var(--sub);font-size:.88rem;line-height:1.6;flex:1;}
  .blog-meta{margin-top:16px;font-size:.76rem;color:var(--steel);display:flex;justify-content:space-between;border-top:1px solid var(--line-soft);padding-top:14px;}

  /* ===== RESOURCES ===== */
  .resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
  .resource-card{
    background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:22px 24px;
    display:flex;align-items:flex-start;gap:16px;
  }
  .resource-card .ricon{
    width:46px;height:46px;border-radius:12px;background:var(--cream-deep);color:var(--orange2);
    display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:700;flex:none;font-size:1.1rem;
  }
  .resource-card h3{font-size:1rem;margin-bottom:6px;}
  .resource-card p{color:var(--sub);font-size:.86rem;line-height:1.55;}
  .resource-card .tag-avail{display:inline-block;margin-top:8px;font-size:.72rem;font-weight:600;color:var(--orange2);text-transform:uppercase;letter-spacing:.05em;}

  /* ===== TESTIMONIALS ===== */
  .testi-track{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .testi-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:26px;}
  .testi-card p.quote{font-family:'Fraunces',serif;font-style:italic;color:var(--charcoal);line-height:1.55;font-size:.98rem;margin-bottom:16px;}
  .testi-card .src{font-size:.78rem;color:var(--orange2);font-weight:600;text-transform:uppercase;letter-spacing:.04em;}

  /* newsletter */
  .newsletter{
    background:var(--ink);border-radius:24px;padding:44px 40px;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;color:#f4ead9;
  }
  .newsletter h3{font-size:1.35rem;max-width:380px;}
  .newsletter p{color:rgba(244,234,217,.65);font-size:.88rem;margin-top:8px;max-width:380px;}
  .news-form{display:flex;gap:10px;flex-wrap:wrap;}
  .news-form input{
    padding:13px 18px;border-radius:100px;border:1px solid rgba(244,234,217,.28);background:rgba(244,234,217,.06);
    color:#fff;font-family:'Work Sans',sans-serif;min-width:230px;font-size:.9rem;
  }
  .news-form input::placeholder{color:rgba(244,234,217,.45);}

  /* sub-hero (used inside college year pages) */
  .subpage-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-top:28px;}
  .subpage-stats .sp{background:var(--paper);padding:20px;text-align:left;}
  .subpage-stats .sp b{display:block;font-family:'Fraunces',serif;color:var(--orange2);font-size:1.3rem;}
  .subpage-stats .sp span{font-size:.74rem;color:var(--sub);text-transform:uppercase;letter-spacing:.05em;}
  .step-list{margin-top:22px;}
  .step-list .sitem{display:flex;gap:16px;padding:16px 0;border-top:1px solid var(--line-soft);}
  .step-list .sitem:first-child{border-top:none;}
  .step-list .sitem .sn{
    font-family:'Fraunces',serif;color:var(--orange1);font-weight:700;font-size:1.1rem;flex:none;width:28px;
  }
  .step-list .sitem h4{font-size:.96rem;margin-bottom:4px;}
  .step-list .sitem p{color:var(--sub);font-size:.86rem;line-height:1.55;}

  /* footer */
  footer{background:#F3F1EC;color:var(--charcoal);padding:70px 0 26px;border-top:1px solid rgba(36,27,20,0.08);}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;margin-bottom:56px;}
  .foot-brand{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
  .foot-brand img{width:42px;height:42px;object-fit:contain;flex-shrink:0;}
  .foot-brand-text{display:flex;flex-direction:column;justify-content:center;}
  .foot-brand-title, .foot-brand > span:first-child{font-family:'Fraunces',serif;font-weight:700;font-size:1.15rem;color:var(--ink);line-height:1.15;}
  .foot-brand-title span, .foot-brand span span{color:var(--orange2);}
  .foot-brand-sub{font-family:'Work Sans',sans-serif;font-weight:600;font-size:0.62rem;letter-spacing:0.02em;color:var(--sub);line-height:1;margin-top:2px;white-space:nowrap;}
  footer p.desc{color:var(--sub);font-size:.9rem;line-height:1.7;max-width:280px;}
  footer h5{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--orange2);margin-bottom:16px;font-family:'IBM Plex Mono',monospace;font-weight:700;}
  footer ul li{margin-bottom:11px;color:var(--charcoal);font-size:.9rem;}
  footer ul li a{color:var(--charcoal);font-size:.9rem;transition:.2s;}
  footer ul li a:hover{color:var(--orange2);}
  .foot-bottom{border-top:1px solid rgba(36,27,20,0.08);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.82rem;color:var(--steel);}

  /* CTA banner */
  .cta-banner{
    background:linear-gradient(120deg,var(--orange1),var(--orange2));
    border-radius:26px;padding:52px 46px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;
  }
  .cta-banner h3{font-size:1.7rem;max-width:520px;}
  .cta-banner .btn-dark{background:#241408;}

  /* accordion (assessment framework) */
  .acc{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--paper);margin-bottom:12px;}
  .acc summary{padding:20px 24px;cursor:pointer;font-weight:600;display:flex;justify-content:space-between;align-items:center;list-style:none;}
  .acc summary::-webkit-details-marker{display:none;}
  .acc summary::after{content:"+";font-size:1.3rem;color:var(--orange2);font-weight:400;}
  .acc[open] summary::after{content:"–";}
  .acc .acc-body{padding:0 24px 22px;color:var(--sub);font-size:.92rem;line-height:1.7;}

  /* utility */
  .center{text-align:center;margin-left:auto;margin-right:auto;}
  .mt{margin-top:64px;}
  .quote-block{
    background:var(--cream-deep);border-radius:22px;padding:52px;text-align:center;
  }
  .quote-block p{font-family:'Fraunces',serif;font-style:italic;font-size:clamp(1.3rem,2.6vw,1.9rem);max-width:760px;margin:0 auto;line-height:1.5;color:var(--charcoal);}

  @media(max-width:1220px){
    nav.primary{display:none;}
    .nav-cta .btn-line{display:none;}
    .burger{display:flex;}
  }
  @media(max-width:980px){
    .grid-2, .grid-3, .grid-4, .stat-band, .pricing-grid, .case-grid, .journey, .team-grid, .blog-grid, .testi-track, .resource-grid, .subpage-stats{grid-template-columns:1fr 1fr;}
    .journey::before{display:none;}
    .foot-grid{grid-template-columns:1fr 1fr;}
    .tab-layout{grid-template-columns:1fr;}
    .class-panel.active{grid-template-columns:1fr;}
    .gallery{columns:2;}
  }
  @media(max-width:768px){
    .nav-cta .btn-primary{display:none !important;}
    .nav-row{padding:10px 18px;}
    .wrap{padding:0 18px;}
  }
  @media(max-width:640px){
    .grid-2, .grid-3, .grid-4, .stat-band, .pricing-grid, .case-grid, .journey, .team-grid, .blog-grid, .testi-track, .resource-grid, .subpage-stats{grid-template-columns:1fr;}
    .hero-stats{grid-template-columns:1fr 1fr;}
    .foot-grid{grid-template-columns:1fr;}
    section{padding:54px 0;}
    .price-card.featured{transform:none;}
    .gallery{columns:1;}
    .cta-banner{flex-direction:column;text-align:center;}
    .newsletter{flex-direction:column;text-align:center;}
    .news-form{justify-content:center;width:100%;}
    .news-form input{flex:1;}
  }
  @media(max-width:480px){
    .brand img{width:36px;height:36px;}
    .brand-title{font-size:1.02rem;}
    .brand-sub{font-size:0.55rem;}
    .nav-row{padding:10px 14px;}
    .burger{width:38px;height:38px;}
  }
  @media (prefers-reduced-motion: reduce){
    .hero-slide{transition:none;}
  }


/* ============================================================
   MULTI-PAGE NAVIGATION & ACTIVE STATES
   ============================================================ */
.navitem a {
  background: none;
  border: none;
  font-family: inherit;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--ink);
  cursor: pointer;
  padding: 8px 12px;
  border-radius: 6px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: all 0.2s ease;
}
.navitem a:hover {
  color: var(--orange2);
  background: rgba(246, 137, 15, 0.08);
}
.navitem a.active,
.navitem button.active {
  color: var(--orange2);
  font-weight: 600;
  position: relative;
}
.navitem a.active::after,
.navitem button.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 12px;
  right: 12px;
  height: 2px;
  background: var(--orange2);
  border-radius: 2px;
}

/* Hash offset for fixed navbar */
[id^="class-"], [id^="tab-"], [id^="teampanel-"], section[id] {
  scroll-margin-top: 100px;
}

/* ============================================================
   MATHEMATICALLY & VISUALLY CENTERED HERO
   ============================================================ */
.hero-clean-centered {
  position: relative;
  background: var(--cream);
  min-height: auto;
  padding: 80px 24px 72px 24px;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100%;
  box-sizing: border-box;
  border-bottom: 1px solid var(--line-soft);
}

.hero-clean-inner {
  max-width: 860px;
  width: 100%;
  margin: 0 auto;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.hero-eyebrow-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--orange2) !important;
  margin: 0 auto 20px auto;
  text-align: center;
}

.hero-eyebrow-badge .eyebrow-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--orange1);
  display: inline-block;
}

.hero-main-title {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(2.3rem, 5.2vw, 3.85rem) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
  color: #241B14 !important; /* DARK INK COLOR */
  margin: 0 auto 22px auto !important;
  max-width: 820px !important;
  text-align: center !important;
}

.hero-main-title em {
  font-style: italic;
  font-weight: 500;
  color: var(--orange2) !important;
}

/* HIGHLY READABLE DARK DESCRIPTION TEXT */
.hero-main-desc {
  font-family: 'Work Sans', sans-serif !important;
  font-size: clamp(1.05rem, 1.9vw, 1.2rem) !important;
  line-height: 1.68 !important;
  color: #3A2E22 !important; /* DARK READABLE CHARCOAL */
  max-width: 720px !important;
  margin: 0 auto 36px auto !important;
  font-weight: 400 !important;
  text-align: center !important;
}

.hero-cta-group {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  margin: 0 auto 48px auto !important;
  width: 100% !important;
}

.hero-cta-group .btn {
  padding: 14px 30px;
  font-size: 1rem;
  font-weight: 600;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.25s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.btn-outline-hero {
  background: var(--paper);
  color: #241B14 !important;
  border: 1.5px solid var(--line);
}

.btn-outline-hero:hover {
  background: var(--cream-deep);
  border-color: #241B14;
  transform: translateY(-1px);
}

.hero-stats-band {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  padding: 24px 32px !important;
  background: var(--paper) !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 30px -10px rgba(36, 27, 20, 0.08) !important;
  max-width: 840px !important;
  width: 100% !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

.hero-stats-band .stat-box {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 6px 12px !important;
  border-right: 1px solid var(--line-soft) !important;
}

.hero-stats-band .stat-box:last-child {
  border-right: none !important;
}

.hero-stats-band .stat-box b {
  display: block;
  font-family: 'Fraunces', serif;
  font-size: 2.15rem;
  font-weight: 700;
  color: var(--orange2) !important;
  line-height: 1.1;
  margin-bottom: 4px;
}

.hero-stats-band .stat-box span {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.76rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--sub) !important;
  line-height: 1.3;
}

@media (max-width: 820px) {
  .hero-stats-band {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px 8px !important;
    padding: 20px !important;
  }
  .hero-stats-band .stat-box:nth-child(2) {
    border-right: none !important;
  }
}

@media (max-width: 520px) {
  .hero-clean-centered {
    padding: 54px 16px 38px 16px;
  }
  .hero-stats-band {
    grid-template-columns: 1fr !important;
    padding: 16px !important;
  }
  .hero-stats-band .stat-box {
    border-right: none !important;
    border-bottom: 1px solid var(--line-soft) !important;
    padding-bottom: 12px !important;
    margin-bottom: 8px !important;
  }
  .hero-stats-band .stat-box:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }
}

/* ============================================================
   CAREER GURU IMPACT GALLERY (3 LARGE CARDS / NO FACES CROPPED)
   ============================================================ */
.gallery-section {
  padding: 68px 0 78px 0;
  background: var(--cream-deep);
  border-bottom: 1px solid var(--line-soft);
  position: relative;
  overflow: hidden;
}

.gallery-top-bar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 32px;
  gap: 24px;
}

.gallery-title-box .eyebrow {
  margin-bottom: 6px;
  display: inline-block;
}

.gallery-title {
  font-family: 'Fraunces', serif;
  font-size: clamp(1.6rem, 3.2vw, 2.3rem);
  font-weight: 700;
  color: #241B14;
  margin: 0;
  line-height: 1.2;
}

.gallery-controls {
  display: flex;
  gap: 12px;
  align-items: center;
  flex: none;
}

.gallery-nav-btn {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 1.5px solid var(--line);
  background: var(--paper);
  color: #241B14;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s cubic-bezier(0.2, 0.9, 0.3, 1);
  box-shadow: 0 4px 14px rgba(36,27,20,0.06);
}

.gallery-nav-btn:hover {
  background: var(--orange2);
  color: var(--white);
  border-color: var(--orange2);
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(216, 68, 13, 0.28);
}

.gallery-nav-btn:active {
  transform: translateY(0);
}

.gallery-viewport {
  overflow: hidden;
  width: 100%;
  position: relative;
  cursor: grab;
  user-select: none;
  padding: 8px 0 16px 0;
}

.gallery-viewport:active {
  cursor: grabbing;
}

.gallery-track {
  display: flex;
  gap: 24px;
  transition: transform 0.45s cubic-bezier(0.2, 0.9, 0.3, 1);
  will-change: transform;
}

/* 3 LARGE CARDS ON DESKTOP */
.gallery-card {
  flex: 0 0 calc((100% - 48px) / 3) !important;
  width: calc((100% - 48px) / 3) !important;
  max-width: calc((100% - 48px) / 3) !important;
  background: var(--paper);
  border-radius: 18px;
  border: 1px solid var(--line-soft);
  box-shadow: 0 8px 24px -10px rgba(36,27,20,0.1);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.gallery-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 38px -12px rgba(36,27,20,0.2);
  border-color: rgba(216, 68, 13, 0.25);
}

/* SMART PHOTO CONTAINER: FULL IMAGE VISIBLE / NEVER CROPS FACES */
.gallery-photo-frame {
  width: 100%;
  height: 290px;
  background: linear-gradient(145deg, #FAF8F5 0%, #F1EFEA 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--line-soft);
  padding: 14px;
  box-sizing: border-box;
}

.gallery-photo-frame img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain !important;
  object-position: center !important;
  display: block;
  margin: 0 auto;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(36, 27, 20, 0.08);
  transition: transform 0.4s ease;
}

.gallery-card:hover .gallery-photo-frame img {
  transform: scale(1.02);
}

.gallery-card-body {
  padding: 18px 22px 22px 22px;
  background: var(--paper);
  display: flex;
  flex-direction: column;
  flex: 1;
}

.gallery-card-body h4 {
  font-family: 'Fraunces', serif;
  font-size: 1.08rem;
  font-weight: 600;
  color: #241B14;
  margin: 0 0 6px 0;
  line-height: 1.35;
}

.gallery-card-body p {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.86rem;
  line-height: 1.5;
  color: var(--sub);
  margin: 0;
}

.gallery-dots-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 28px;
}

.gallery-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--steel);
  opacity: 0.35;
  border: none;
  cursor: pointer;
  padding: 0;
  transition: all 0.3s ease;
}

.gallery-dot.active {
  opacity: 1;
  width: 24px;
  border-radius: 6px;
  background: var(--orange2);
}

.gallery-swipe-hint {
  text-align: center;
  margin-top: 14px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.76rem;
  color: var(--steel);
  letter-spacing: 0.04em;
}

/* RESPONSIVE BREAKPOINTS */
@media (max-width: 1024px) {
  .gallery-card {
    flex: 0 0 calc((100% - 20px) / 2) !important;
    width: calc((100% - 20px) / 2) !important;
    max-width: calc((100% - 20px) / 2) !important;
  }
  .gallery-photo-frame {
    height: 260px;
    padding: 12px;
  }
}

@media (max-width: 640px) {
  .gallery-top-bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .gallery-card {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: unset;
  }
  .gallery-photo-frame {
    height: 240px;
    padding: 10px;
  }
}

/* ============================================================
   ABOUT US PAGE — EXACT REFERENCE REPRODUCTION
   ============================================================ */

/* 1. Introduction Section */
.ref-about-intro {
  padding: 60px 0 70px 0;
  background: #FFFFFF;
}
.ref-intro-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 52px;
  align-items: center;
}
.ref-eyebrow-tag {
  color: #EA580C;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.ref-eyebrow-tag .eyebrow-dash {
  font-weight: 900;
}
.ref-intro-heading {
  font-family: 'Fraunces', serif;
  font-size: clamp(2.3rem, 4.2vw, 3.4rem);
  font-weight: 700;
  line-height: 1.14;
  color: #1C160C;
  margin: 0 0 24px 0;
  letter-spacing: -0.02em;
}
.accent-futures {
  color: #1C160C;
}
.dot-orange {
  color: #EA580C;
}
.ref-intro-paragraphs p {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.94rem;
  line-height: 1.66;
  color: #4A3E34;
  margin: 0 0 16px 0;
  font-weight: 400;
}
.ref-intro-paragraphs p:last-child {
  margin-bottom: 0;
}
.ref-intro-img-frame {
  width: 100%;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(28,22,12,0.08);
  background: #F8F4EE;
  border: 1px solid rgba(36,27,20,0.06);
}
.ref-intro-img-frame img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

/* 2. Mission & Vision Section */
.ref-mv-section {
  padding: 70px 0 80px 0;
  background: #FFFFFF;
  border-top: 1px solid rgba(36,27,20,0.06);
}
.ref-mv-grid {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 56px;
  align-items: center;
}
.ref-mv-collage {
  position: relative;
  height: 420px;
  width: 100%;
}
.ref-collage-main {
  position: absolute;
  left: 0;
  top: 0;
  width: 58%;
  height: 94%;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(28,22,12,0.1);
  background: #FAF5EE;
  border: 1px solid rgba(36,27,20,0.06);
}
.ref-collage-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ref-collage-top-card {
  position: absolute;
  right: 0;
  top: 16px;
  width: 54%;
  height: 50%;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(28,22,12,0.12);
  z-index: 2;
  border: 1px solid rgba(36,27,20,0.08);
  background: #FDE2D8;
}
.ref-collage-top-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ref-collage-bottom-card {
  position: absolute;
  right: 36px;
  bottom: 0;
  width: 46%;
  height: 48%;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(28,22,12,0.12);
  z-index: 3;
  background: #FFFFFF;
  border: 2px solid #FFFFFF;
}
.ref-collage-bottom-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ref-mv-title {
  font-family: 'Fraunces', serif;
  font-size: clamp(2.2rem, 3.8vw, 3rem);
  font-weight: 700;
  color: #1C160C;
  margin: 0 0 28px 0;
  line-height: 1.15;
}
.text-orange {
  color: #EA580C;
}
.ref-mv-item {
  margin-bottom: 26px;
}
.ref-mv-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}
.ref-mv-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #FFEDD5;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
.ref-mv-header h3 {
  font-family: 'Fraunces', serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: #1C160C;
  margin: 0;
}
.ref-mv-item p {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.94rem;
  line-height: 1.68;
  color: #4A3E34;
  margin: 0;
}

/* 3. Our Privileged Partners Section */
.ref-partners-section {
  padding: 76px 0 88px 0;
  background: #FFFFFF;
  border-top: 1px solid rgba(36,27,20,0.06);
}
.ref-eyebrow-label {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #EA580C;
  margin-bottom: 8px;
  display: inline-block;
}
.ref-partners-heading {
  font-family: 'Fraunces', serif;
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 700;
  color: #1C160C;
  margin: 4px 0 12px 0;
}
.accent-partners-gradient {
  background: linear-gradient(95deg, #1E40AF 0%, #4338CA 45%, #7E22CE 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.ref-partners-sub {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.95rem;
  color: #64748B;
  max-width: 680px;
  margin: 0 auto;
  line-height: 1.55;
}
.ref-partners-carousel-wrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 42px;
}
.ref-partner-nav-btn {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid #E2E8F0;
  background: #FFFFFF;
  color: #334155;
  font-size: 1.4rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  flex: none;
}
.ref-partner-nav-btn:hover {
  background: #F8FAFC;
  border-color: #CBD5E1;
  color: #0F172A;
  transform: scale(1.06);
}
.ref-partners-viewport {
  overflow: hidden;
  width: 100%;
}
.ref-partners-track {
  display: flex;
  gap: 16px;
  transition: transform 0.4s ease;
}
.ref-partner-card {
  flex: 0 0 calc((100% - 64px) / 5);
  min-width: 220px;
  border-radius: 14px;
  padding: 22px 18px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: center;
  box-sizing: border-box;
  min-height: 275px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.ref-partner-card:hover {
  transform: translateY(-4px);
}
.ref-partner-card.gradient-card {
  background: linear-gradient(170deg, #2E489E 0%, #3B58B8 50%, #4C68C8 100%);
  color: #FFFFFF;
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 8px 24px -6px rgba(46,72,158,0.3);
}
.ref-partner-card.white-card {
  background: #FFFFFF;
  color: #1E293B;
  border: 1px solid #E2E8F0;
  box-shadow: 0 6px 20px -6px rgba(0,0,0,0.06);
}
.ref-partner-crest-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 14px;
}
.ref-crest-badge {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  padding: 4px;
  box-sizing: border-box;
}
.ref-crest-badge img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.ref-partner-quote {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.78rem;
  line-height: 1.5;
  margin: 0 0 16px 0;
  flex: 1;
}
.gradient-card .ref-partner-quote {
  color: rgba(255,255,255,0.92);
}
.white-card .ref-partner-quote {
  color: #334155;
}
.ref-partner-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.68rem;
  font-weight: 600;
  line-height: 1.3;
}
.ref-footer-crest {
  width: 14px;
  height: 14px;
  object-fit: contain;
  flex: none;
}
.gradient-card .ref-partner-footer {
  color: #FFFFFF;
}
.white-card .ref-partner-footer {
  color: #1E293B;
}
.ref-partner-dots-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 24px;
}
.ref-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #CBD5E1;
  transition: all 0.3s;
  cursor: pointer;
}
.ref-dot.active {
  background: #EA580C;
  width: 18px;
  border-radius: 4px;
}

@media (max-width: 1180px) {
  .ref-partner-card {
    flex: 0 0 calc((100% - 32px) / 3);
  }
}
@media (max-width: 900px) {
  .ref-intro-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .ref-mv-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .ref-partner-card {
    flex: 0 0 calc((100% - 16px) / 2);
  }
}
@media (max-width: 600px) {
  .ref-partner-card {
    flex: 0 0 100%;
  }
  .ref-mv-collage {
    height: 340px;
  }
}

/* ============================================================
   ANIMATIONS & SCROLL REVEALS
   ============================================================ */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes tabSlideUp {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.tab-panel.active {
  display: block;
  animation: tabSlideUp 0.38s cubic-bezier(0.16, 1, 0.3, 1) both;
}

/* Scroll reveal items */
.reveal-item {
  opacity: 0;
  transform: translateY(28px) scale(0.98);
  transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1), transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
.reveal-item.is-revealed {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Stagger delays for team cards */
.team-grid .team-card:nth-child(1) { transition-delay: 0.04s; }
.team-grid .team-card:nth-child(2) { transition-delay: 0.12s; }
.team-grid .team-card:nth-child(3) { transition-delay: 0.20s; }
.team-grid .team-card:nth-child(4) { transition-delay: 0.28s; }
.team-grid .team-card:nth-child(5) { transition-delay: 0.36s; }
.team-grid .team-card:nth-child(6) { transition-delay: 0.44s; }

/* About Us Page Image Animations & Staggering */
.ref-intro-img-frame {
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 20px 48px -12px rgba(28,22,12,0.16);
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}
.ref-intro-img-frame:hover {
  transform: scale(1.02);
  box-shadow: 0 24px 56px -10px rgba(28,22,12,0.22);
}
.ref-intro-img-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.ref-intro-img-frame:hover img {
  transform: scale(1.025);
}

/* Mission & Vision 3-Image Collage Staggering */
.ref-collage-main {
  transition-delay: 0.08s;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease;
}
.ref-collage-main:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 48px rgba(28,22,12,0.18);
}

.ref-collage-top-card {
  transition-delay: 0.24s;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease;
}
.ref-collage-top-card:hover {
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 16px 36px rgba(216,68,13,0.2);
}

.ref-collage-bottom-card {
  transition-delay: 0.40s;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease;
}
.ref-collage-bottom-card:hover {
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 18px 40px rgba(28,22,12,0.2);
}

/* Partner Cards Entrance & Hover */
.ref-partner-card {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.ref-partner-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 14px 32px -6px rgba(0,0,0,0.16);
}

/* Accessibility: Prefers Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  .reveal-item,
  .team-card,
  .team-photo,
  .tab-panel,
  .ref-intro-img-frame,
  .ref-collage-main,
  .ref-collage-top-card,
  .ref-collage-bottom-card,
  .ref-partner-card {
    transition: none !important;
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
