/*
Theme Name: A&S Business Consultants
Theme URI: https://example.com/
Author: A&S Business Consultants
Description: Custom WordPress theme converted from the supplied A&S Business Consultants HTML design.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: as-business-consultants
*/


  :root{
    --navy: #10263f;
    --navy-deep: #0a1b2e;
    --navy-soft: #1c3a5e;
    --gold: #a9790e;
    --gold-bright: #c99a3c;
    --gold-pale: #e8d6a8;
    --cream: #faf7f1;
    --paper: #ffffff;
    --ink: #1b1b1b;
    --gray: #63636b;
    --line: rgba(16,38,63,0.12);
  }
  *{margin:0;padding:0;box-sizing:border-box; font-style:normal;}
  html{scroll-behavior:smooth; overflow-x:hidden; max-width:100%;}
  body{
    font-family:'Inter',sans-serif;
    background:var(--cream);
    color:var(--ink);
    overflow-x:hidden;
  }
  h1,h2,h3,h4,h5,h6,.serif{font-family:'Playfair Display',serif; font-style:normal;}
  em,i{ font-style:italic; }
  input,textarea,button,select{ font-family:'Inter',sans-serif; }
  a{text-decoration:none;color:inherit;}
  ul{list-style:none;}
  img{max-width:100%;display:block;}

  /* ---------- Ribbon motif (from letterhead) ---------- */
  .ribbon{
    height:20px;
    width:100%;
    background: linear-gradient(90deg, var(--navy) 0%, var(--navy) 55%, var(--gold) 55%, var(--gold) 100%);
    clip-path: polygon(0 0, 100% 0, 97% 100%, 3% 100%);
  }
  .ribbon.flip{ transform: scaleX(-1); }

  .site-header-sticky{ position:sticky; top:0; z-index:100; background:var(--paper); }

  /* ---------- Header ---------- */
  header{
    background: var(--paper);
    box-shadow: 0 2px 18px rgba(16,38,63,0.06);
  }
  .nav-wrap{
    max-width:1200px; margin:0 auto;
    display:flex; align-items:center; justify-content:space-between;
    padding: 10px 32px;
  }
  .brand{ display:flex; align-items:center; gap:16px; flex-shrink:0; }
  .logo-spin{
    width:116px; height:116px;
    border-radius:50%;
    overflow:hidden;
    flex-shrink:0;
    background:var(--paper);
  }
  .logo-spin img{
    width:100%; height:100%; object-fit:cover;
    mix-blend-mode:multiply;
    animation: spin 14s linear infinite;
  }
  @keyframes spin{ from{transform:rotate(0deg);} to{transform:rotate(360deg);} }

  .brand-name{ line-height:1.2; text-align:left; }
  .brand-name .main{
    font-family:'Playfair Display',serif;
    font-size:2.35rem; font-weight:700; color:var(--navy);
    letter-spacing:0.01em; white-space:nowrap;
  }
  .brand-name .sub{
    font-size:0.9rem; font-weight:600; letter-spacing:0.18em;
    color:var(--gold); text-transform:uppercase;
    border-top:1px solid var(--line); margin-top:7px; padding-top:6px; display:inline-block;
  }
  nav{ margin-left:auto; }
  nav ul{ display:flex; gap:34px; }
  nav a{
    font-size:0.86rem; font-weight:500; color:var(--navy);
    position:relative; padding-bottom:4px;
  }
  nav a::after{
    content:''; position:absolute; left:0; bottom:0; height:2px; width:0;
    background:var(--gold); transition:width .25s ease;
  }
  nav a:hover::after{ width:100%; }
  .cta-btn{
    background:var(--navy); color:var(--paper) !important;
    padding:10px 22px; border-radius:2px; font-weight:600; font-size:0.84rem;
    letter-spacing:0.03em;
    transition: background .25s ease;
  }
  .cta-btn:hover{ background:var(--gold); }

  /* ---------- Hero ---------- */
  .hero{
    position:relative;
    padding: 100px 32px 80px;
    overflow:hidden;
    background: var(--cream);
  }
  .hero-blur{
    position:absolute; border-radius:50%; filter:blur(70px); pointer-events:none; z-index:0;
  }
  .hero-blur.b1{ width:420px; height:420px; top:-160px; left:-120px; background:radial-gradient(circle, rgba(16,38,63,0.16), transparent 70%); }
  .hero-blur.b2{ width:480px; height:480px; bottom:-220px; right:-140px; background:radial-gradient(circle, rgba(37,99,235,0.14), transparent 70%); }
  .hero-blur.b3{ width:300px; height:300px; top:30%; right:8%; background:radial-gradient(circle, rgba(169,121,14,0.14), transparent 70%); }
  .hero-glow{
    position:absolute; top:50%; left:50%; width:620px; height:620px;
    transform:translate(-50%,-50%);
    border-radius:50%; z-index:0; pointer-events:none;
    background: radial-gradient(circle, rgba(16,38,63,0.5) 0%, rgba(16,38,63,0.22) 45%, rgba(16,38,63,0.05) 68%, transparent 78%);
    filter:blur(6px);
  }
  .hero-watermark{
    position:absolute; width:460px; height:460px;
    opacity:0.35; z-index:0; pointer-events:none;
    mix-blend-mode:multiply;
    animation: float-logo 28s ease-in-out infinite;
  }
  @keyframes float-logo{
    0%   { top:18%; left:15%; transform:translate(-50%,-50%) rotate(0deg); }
    20%  { top:8%;  left:72%; transform:translate(-50%,-50%) rotate(72deg); }
    40%  { top:58%; left:88%; transform:translate(-50%,-50%) rotate(144deg); }
    60%  { top:82%; left:45%; transform:translate(-50%,-50%) rotate(216deg); }
    80%  { top:48%; left:8%;  transform:translate(-50%,-50%) rotate(288deg); }
    100% { top:18%; left:15%; transform:translate(-50%,-50%) rotate(360deg); }
  }
  .hero-inner{
    max-width:800px; margin:0 auto; position:relative; z-index:1;
    text-align:center;
  }
  .eyebrow{
    font-family:'Playfair Display',serif; color:var(--gold);
    font-size:1.15rem; margin-bottom:6px;
  }
  .hero h1{
    font-size:2.9rem; color:var(--navy); font-weight:700; line-height:1.12; margin-bottom:14px;
  }
  .hero-tag{
    display:inline-block; font-size:0.78rem; font-weight:700; letter-spacing:0.24em;
    text-transform:uppercase; color:var(--gold); border-top:2px solid var(--gold);
    padding-top:8px; margin-bottom:36px;
  }
  .slider{
    background:var(--navy); border:1px solid var(--navy); border-radius:8px;
    padding:48px 56px; min-height:230px; position:relative;
    box-shadow: 0 10px 34px rgba(16,38,63,0.25);
    border-left: 5px solid var(--gold);
    text-align:left;
  }
  .slide{
    display:none; animation: fadein .6s ease;
  }
  .slide.active{ display:block; }
  @keyframes fadein{ from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);} }
  .slide p{ color:var(--gold); font-size:1.08rem; line-height:1.85; }
  .slide .slide-label{
    font-family:'Playfair Display',serif; color:var(--gold);
    font-size:1.2rem; margin-bottom:14px; font-weight:600;
  }
  .slide .kicker-lined{ justify-content:center; margin-bottom:20px; }
  .slide .slide-heading{
    font-family:'Playfair Display',serif; font-weight:700; color:var(--gold);
    font-size:1.65rem; margin-bottom:18px; line-height:1.3; text-align:center;
  }
  .slide ul{ margin-top:14px; display:grid; grid-template-columns:1fr 1fr; gap:8px 18px;}
  .slide li{ font-size:0.98rem; color:rgba(255,255,255,0.85); padding-left:16px; position:relative;}
  .slide li::before{ content:'—'; position:absolute; left:0; color:var(--gold-bright); }
  .slide-cta{
    display:inline-block; margin-top:22px; background:var(--navy); color:var(--paper);
    padding:12px 28px; border-radius:2px; font-weight:600; font-size:0.9rem; letter-spacing:0.03em;
    transition: background .25s ease;
  }
  .slide-cta:hover{ background:var(--gold); }
  .slide-options{ display:grid; grid-template-columns:1fr 1fr; gap:14px 22px; margin-top:6px; }
  .slide-option{
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    padding:14px 16px; border:1px solid var(--gold-pale); border-radius:6px; background:var(--paper);
  }
  .slide-option span{ font-size:0.96rem; color:var(--navy); font-weight:600; line-height:1.35; min-width:0; overflow-wrap:break-word; word-break:break-word; }
  .slide-option button.slide-cta{
    margin-top:0; flex-shrink:0; border:none; cursor:pointer; font-family:'Inter',sans-serif;
  }
  @media (max-width:560px){
    .slide-options{ grid-template-columns:1fr; }
  }
  .dots{ display:flex; gap:4px; margin-top:24px; justify-content:center; }
  .dot{
    width:28px; height:28px; border-radius:50%; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    -webkit-tap-highlight-color: transparent;
  }
  .dot::after{
    content:''; width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,0.25);
    transition: background .25s ease, transform .25s ease;
  }
  .dot.active::after{ background:var(--gold-bright); transform:scale(1.2); }

  /* ---------- FBR Latest News widget ---------- */
  .fbr-news-section{ background:var(--paper); padding:80px 32px 78px; }
  .fbr-news-section .kicker-lined{ justify-content:center; margin-bottom:10px; }
  .fbr-news-title{
    font-size:1.7rem; color:var(--navy); font-weight:700; text-align:center; margin:0 auto 30px; max-width:640px;
  }
  .fbr-news-title em{ color:var(--gold); font-style:normal; }
  .fbr-news-widget{
    max-width:820px; margin:0 auto; background:var(--navy); border-radius:10px;
    border-left:5px solid var(--gold); box-shadow:0 14px 34px rgba(16,38,63,0.18); overflow:hidden;
  }
  .fbr-news-header{
    display:flex; align-items:center; gap:10px; padding:16px 24px;
    background:var(--navy-deep); border-bottom:1px solid rgba(255,255,255,0.08);
  }
  .fbr-news-live-dot{
    width:9px; height:9px; border-radius:50%; background:var(--gold-bright); flex-shrink:0;
    box-shadow:0 0 0 0 rgba(201,154,60,0.6); animation: fbr-pulse 1.8s ease-out infinite;
  }
  @keyframes fbr-pulse{
    0%{ box-shadow:0 0 0 0 rgba(201,154,60,0.55); }
    70%{ box-shadow:0 0 0 8px rgba(201,154,60,0); }
    100%{ box-shadow:0 0 0 0 rgba(201,154,60,0); }
  }
  .fbr-news-header span:nth-child(2){ font-size:0.82rem; font-weight:600; color:rgba(255,255,255,0.85); }
  .fbr-news-source-blink{ animation: fbr-source-blink 2.6s ease-in-out infinite; }
  @keyframes fbr-source-blink{
    0%, 100%{ opacity:1; }
    50%{ opacity:0.35; }
  }
  .fbr-news-time{ margin-left:auto; font-size:0.74rem; color:rgba(255,255,255,0.5); }
  .fbr-news-list{
    max-height:270px; overflow-y:auto; padding:6px 0;
  }
  .fbr-news-list::-webkit-scrollbar{ width:6px; }
  .fbr-news-list::-webkit-scrollbar-thumb{ background:rgba(255,255,255,0.18); border-radius:3px; }
  .fbr-news-item{ border-bottom:1px solid rgba(255,255,255,0.07); }
  .fbr-news-item:last-child{ border-bottom:none; }
  .fbr-news-item a{
    display:flex; align-items:flex-start; gap:10px; padding:14px 24px;
    font-size:0.9rem; line-height:1.5; color:rgba(255,255,255,0.88); transition: background .2s ease, color .2s ease;
  }
  .fbr-news-item a:hover{ background:rgba(255,255,255,0.05); color:var(--gold-bright); }
  .fbr-news-item .fbr-news-dot{ color:var(--gold-bright); flex-shrink:0; font-weight:700; }
  .fbr-news-item.skeleton a, .fbr-news-item.skeleton{
    padding:14px 24px; font-size:0.88rem; color:rgba(255,255,255,0.5); font-style:italic;
  }
  .fbr-news-viewall{
    display:block; text-align:center; padding:14px; font-size:0.82rem; font-weight:600;
    letter-spacing:0.03em; color:var(--gold-bright); background:var(--navy-deep);
    border-top:1px solid rgba(255,255,255,0.08); transition:color .2s ease;
  }
  .fbr-news-viewall:hover{ color:var(--paper); }
  @media (max-width:560px){
    .fbr-news-header{ flex-wrap:wrap; }
    .fbr-news-time{ margin-left:0; width:100%; }
  }

  /* ---------- News tabs (FBR / SECP) ---------- */
  .news-tabs{
    display:flex; justify-content:center; gap:10px; margin:0 auto 22px; max-width:820px;
  }
  .news-tab{
    background:transparent; border:1px solid var(--line); color:var(--navy);
    padding:9px 26px; border-radius:30px; font-size:0.8rem; font-weight:700;
    letter-spacing:0.05em; text-transform:uppercase; cursor:pointer;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
  }
  .news-tab:hover{ border-color:var(--gold); color:var(--gold); }
  .news-tab.active{ background:var(--navy); border-color:var(--navy); color:var(--paper); }
  .news-panel{ display:none; }
  .news-panel.active{ display:block; }

  /* ---------- Section shared ---------- */
  section{ padding:86px 32px; }
  .section-inner{ max-width:1200px; margin:0 auto; }
  .kicker{
    font-size:0.76rem; font-weight:700; letter-spacing:0.24em; text-transform:uppercase;
    color:var(--gold); margin-bottom:10px;
  }
  .section-title{ font-size:2.1rem; color:var(--navy); font-weight:700; margin-bottom:18px; max-width:640px;}
  .section-title em{ color:var(--gold); font-style:normal; }
  .services-heading{ font-size:1.6rem; max-width:none; }

  /* ---------- Services ---------- */
  .services{ background:var(--navy); color:var(--paper); position:relative; }
  .services .kicker{ color:var(--gold-bright); }
  .services .section-title{ color:var(--paper); }
  .services .section-title em{ color:var(--gold-bright); font-style:normal; }
  .service-grid{
    margin-top:44px; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; min-width:0;
  }
  .service-card{
    background: var(--paper); padding:30px 26px; transition: box-shadow .25s ease, transform .2s ease;
    cursor:pointer; display:flex; align-items:center; gap:18px; min-width:0;
    border:1px solid var(--line); border-left:4px solid var(--gold); border-radius:6px;
  }
  .service-card:hover{ box-shadow:0 10px 26px rgba(16,38,63,0.12); transform:translateY(-2px); }
  .service-card:hover .service-icon{ transform:scale(1.08); }
  .service-icon{
    flex:0 0 auto; width:50px; height:50px; border-radius:50%;
    background:var(--paper); border:1.5px solid var(--gold-pale);
    display:flex; align-items:center; justify-content:center; overflow:hidden;
    box-shadow:0 4px 14px rgba(16,38,63,0.14); transition: transform .25s ease;
  }
  .service-icon img{ width:78%; height:78%; object-fit:contain; animation: spin 14s linear infinite; }
  .service-card h3{
    font-size:1.05rem; font-weight:600; color:var(--navy); margin:0;
    min-width:0; overflow-wrap:break-word; word-break:break-word;
  }

  /* ---------- Service Detail Modal ---------- */
  .service-modal-overlay{
    display:none; position:fixed; inset:0; z-index:1000; background:rgba(10,27,46,0.72);
    align-items:center; justify-content:center; padding:24px;
  }
  .service-modal-overlay.active{ display:flex; }
  .service-modal{
    background: var(--navy);
    max-width:600px; width:100%; max-height:86vh; overflow-y:auto;
    border-radius:10px; padding:30px 26px 26px; position:relative;
    box-shadow:0 30px 70px rgba(0,0,0,0.5); border-top:4px solid var(--gold);
  }
  .service-modal-close{
    position:absolute; top:16px; right:18px; width:34px; height:34px; border-radius:50%;
    background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.3); cursor:pointer;
    display:flex; align-items:center; justify-content:center; font-size:1.1rem; color:var(--paper);
    line-height:1; z-index:2;
  }
  .service-modal-close:hover{ background:rgba(255,255,255,0.2); }
  .service-modal-icon{
    width:56px; height:56px; border-radius:50%; flex-shrink:0; overflow:hidden;
    background:var(--paper); border:2px solid var(--gold);
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 4px 14px rgba(0,0,0,0.3);
  }
  .service-modal-icon img{
    width:100%; height:100%; object-fit:contain; padding:6px; box-sizing:border-box;
    animation: spin 14s linear infinite;
  }
  .service-modal-brand{
    display:flex; align-items:center; gap:14px; margin-bottom:22px;
  }
  .service-modal-brand span{
    flex:1; text-align:center; font-family:'Playfair Display',serif; font-size:1.15rem; font-weight:600;
    color:var(--gold-bright); letter-spacing:0.02em;
  }
  .service-modal-content{
    background:var(--paper); border-radius:8px; padding:30px 28px 26px;
  }
  .service-modal-content h3{
    font-size:1.4rem; color:var(--navy); margin:0 auto 18px; text-align:center;
    padding-bottom:10px; border-bottom:2px solid var(--gold); display:table;
  }
  .service-modal-content ul{ display:grid; gap:10px; }
  .service-modal-content ul li{
    font-size:0.94rem; color:var(--ink); line-height:1.5; padding-left:20px; position:relative;
  }
  .service-modal-content ul li::before{
    content:''; position:absolute; left:0; top:8px; width:6px; height:6px; border-radius:50%;
    background:var(--gold);
  }
  .whatsapp-btn{
    display:flex; align-items:center; justify-content:center; gap:10px;
    margin-top:26px; padding:13px 20px; background:#25D366; color:#fff; text-decoration:none;
    border-radius:6px; font-weight:600; font-size:0.95rem; transition:background .2s ease;
  }
  .whatsapp-btn:hover{ background:#1ebe5b; }
  .whatsapp-btn svg{ width:20px; height:20px; flex-shrink:0; }

  /* ---------- Personal Approach strip ---------- */
  .approach{
    background: var(--gold-pale); position:relative;
    display:flex; align-items:center; justify-content:center; text-align:center;
    padding:64px 32px;
  }
  .approach-inner{ max-width:760px; }
  .approach .kicker{ color:var(--navy); }
  .approach p{
    font-family:'Playfair Display',serif; font-size:1.3rem; color:var(--navy-deep);
    line-height:1.5;
  }

  /* ---------- About ---------- */
  /* ---------- Clients marquee ---------- */
  .clients{ background:var(--paper); padding: 80px 32px 84px; text-align:center; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .clients .kicker{ justify-content:center; }
  .clients-head{ display:flex; align-items:center; justify-content:center; gap:16px; margin-bottom:6px; }
  .clients-head .rule{ height:1px; width:40px; background:var(--gold); }
  .clients-head span{
    font-size:0.78rem; font-weight:700; letter-spacing:0.24em; text-transform:uppercase; color:var(--gold);
  }
  .kicker-lined{ display:flex; align-items:center; justify-content:center; gap:16px; margin-bottom:6px; }
  .kicker-lined .rule{ height:1px; width:40px; background:var(--gold); }
  .kicker-lined span{
    font-size:0.78rem; font-weight:700; letter-spacing:0.24em; text-transform:uppercase; color:var(--gold);
  }
  .services .kicker-lined .rule{ background:var(--gold-bright); }
  .services .kicker-lined span{ color:var(--gold-bright); }
  .clients h2{ font-size:1.9rem; color:var(--navy); font-weight:700; margin-bottom:10px; }
  .clients .sub-note{ font-size:0.92rem; color:var(--gray); margin-bottom:20px; }
  .marquee-wrap{
    overflow:hidden; margin-top:40px; position:relative;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  }
  .marquee-track{
    display:flex; align-items:center; gap:90px; width:max-content;
    animation: marquee 20s linear infinite;
  }
  .marquee-wrap:hover .marquee-track{ animation-play-state: paused; }
  .client-logo{
    display:flex; flex-direction:column; align-items:center; gap:10px; flex-shrink:0;
  }
  .client-logo .badge{
    width:210px; height:140px; border-radius:14px; overflow:hidden;
    background:#ffffff; display:flex; align-items:center; justify-content:center; padding:18px;
    box-shadow: 0 6px 20px rgba(16,38,63,0.10);
    filter:grayscale(55%); opacity:0.82; transition: filter .3s ease, opacity .3s ease, transform .3s ease, box-shadow .3s ease;
  }
  .client-logo .badge img{ width:100%; height:100%; object-fit:contain; }
  .client-logo:hover .badge{ filter:grayscale(0%); opacity:1; transform:translateY(-4px); box-shadow: 0 12px 28px rgba(16,38,63,0.16); }
  .client-logo .name{ font-size:0.78rem; color:var(--navy-soft); font-weight:600; letter-spacing:0.02em; }
  @keyframes marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

  .why{ background:var(--cream); }
  .why-grid{
    margin-top:44px; display:grid; grid-template-columns:repeat(4,1fr); gap:30px;
  }
  .why-item{ text-align:left; }
  .why-num{
    font-family:'Playfair Display',serif; font-size:1.4rem; color:var(--gold);
    margin-bottom:10px; display:block;
  }
  .why-item h3{ font-size:1rem; color:var(--navy); font-weight:600; margin-bottom:8px; }
  .why-item p{ font-size:0.86rem; color:var(--gray); line-height:1.6; }

  .process{ background:var(--paper); }
  .process-track{
    margin-top:44px; display:grid; grid-template-columns:repeat(4,1fr); gap:0;
    position:relative;
  }
  .process-step{
    padding:0 24px 0 0; position:relative;
  }
  .process-step:not(:last-child)::after{
    content:''; position:absolute; top:20px; right:0; width:100%; height:1px;
    background: var(--line);
  }
  .process-index{
    width:40px; height:40px; border-radius:50%; background:var(--navy); color:var(--gold-bright);
    display:flex; align-items:center; justify-content:center; font-family:'Playfair Display',serif; font-size:1rem; margin-bottom:16px; position:relative; z-index:1;
  }
  .process-step h4{ font-size:0.98rem; color:var(--navy); font-weight:600; margin-bottom:8px; }
  .process-step p{ font-size:0.82rem; color:var(--gray); line-height:1.55; }

  .about{ background:var(--paper); }
  .about-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:stretch; margin-bottom:64px;
  }
  .about-copy-card .kicker-lined{ justify-content:center; margin-bottom:14px; }
  .about-copy-card .section-title{
    color:var(--paper); font-size:1.5rem; white-space:nowrap; max-width:none; margin-bottom:16px;
  }
  .about-copy-card .section-title em{ color:var(--gold-bright); font-style:normal; }
  .about-copy-card p{ color:rgba(255,255,255,0.82); font-size:0.94rem; line-height:1.8; margin-bottom:14px; }
  .about-copy-card p:last-child{ margin-bottom:0; }
  .about-copy-card p strong{ color:var(--gold-bright); }
  .about-logo-card{
    position:relative; overflow:hidden; background:var(--paper);
    display:flex; align-items:center; justify-content:center;
  }
  .about-logo-card::before{
    content:''; position:absolute; top:50%; left:50%; width:340px; height:340px;
    transform:translate(-50%,-50%); border-radius:50%; z-index:0; pointer-events:none;
    background: radial-gradient(circle, rgba(16,38,63,0.5) 0%, rgba(16,38,63,0.22) 45%, rgba(16,38,63,0.05) 68%, transparent 78%);
    filter:blur(6px);
  }
  .about-logo-card img{
    position:relative; z-index:1; width:56%; mix-blend-mode:multiply; opacity:0.92;
    animation: globe-spin 7s linear infinite;
    transform-style:preserve-3d; perspective:900px;
  }
  @keyframes globe-spin{
    from{ transform:rotateY(0deg); }
    to{ transform:rotateY(360deg); }
  }

  .vm-grid{
    margin-top:64px; display:grid; grid-template-columns:1fr 1fr; gap:50px;
  }
  .vm-card{ background:var(--cream); padding:40px 38px; border-left:3px solid var(--gold); border-radius:4px; }
  .vm-icon{
    width:38px; height:38px; border-radius:50%; border:1.5px solid var(--gold);
    display:flex; align-items:center; justify-content:center; color:var(--gold);
    margin-bottom:18px;
  }
  .vm-icon svg{ width:17px; height:17px; }
  .vm-card h3{ font-family:'Playfair Display',serif; color:var(--navy); font-size:1.3rem; font-weight:700; margin-bottom:14px; }
  .vm-card p{ font-size:0.92rem; color:var(--gray); line-height:1.8; }
  .vm-card.vm-card-dark{ background:var(--navy); border-left:3px solid var(--gold-bright); }
  .vm-card.vm-card-dark .vm-icon{ color:var(--gold-bright); border-color:var(--gold-bright); }
  .vm-card.vm-card-dark h3{ color:var(--gold); }
  .vm-card.vm-card-dark p{ color:rgba(255,255,255,0.82); }

  .leadership{ background:var(--navy); color:var(--paper); text-align:center; }
  .leadership .kicker{ color:var(--gold-bright); justify-content:center; display:flex; }
  .leadership .kicker-lined .rule{ background:var(--gold-bright); }
  .leadership .kicker-lined span{ color:var(--gold-bright); }
  .leadership .section-title{ color:var(--paper); margin-left:auto; margin-right:auto; }
  .leadership .section-title em{ color:var(--gold-bright); }
  .leader-grid{ margin-top:54px; display:flex; justify-content:center; gap:56px; flex-wrap:wrap; }
  .leader-card{ width:230px; }
  .leader-photo{
    width:100%; aspect-ratio:1; border-radius:50%; overflow:hidden;
    background:#d9d9d9; margin-bottom:20px; box-shadow:0 20px 44px rgba(0,0,0,0.35);
  }
  .leader-photo img{ width:100%; height:100%; object-fit:cover; object-position: top center; }
  .leader-name{ font-family:'Playfair Display',serif; font-size:1.15rem; font-weight:600; margin-bottom:6px; }
  .leader-role{ font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-bright); font-weight:700; line-height:1.5; }

  /* ---------- Contact ---------- */
  .contact{ background: var(--cream); }
  .contact-inner{
    max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:50px;
  }
  .contact-card{
    background:var(--paper); border:1px solid var(--line); border-radius:4px; padding:38px;
  }
  .contact-row{ display:flex; gap:16px; padding:16px 0; border-bottom:1px solid var(--line); }
  .contact-row > div:last-child{ min-width:0; }
  .contact-row:last-child{ border-bottom:none; }
  .contact-row .ico{
    width:34px; height:34px; border-radius:50%; background:var(--navy); color:var(--gold-bright);
    display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:0.95rem;
  }
  .contact-row .label{ font-size:0.72rem; text-transform:uppercase; letter-spacing:0.14em; color:var(--gold); font-weight:700; margin-bottom:3px;}
  .contact-row .val{ font-size:0.94rem; color:var(--navy); font-weight:500; overflow-wrap:anywhere; word-break:break-word; }
  .contact-row .val a{ color:var(--navy); text-decoration:none; }
  .contact-row .val a:hover{ color:var(--gold); }
  .ico-wa{ background:#25D366; color:#fff; transition: transform .2s ease; }
  .ico-wa:hover{ transform:scale(1.08); }
  .ico-ig{ background: radial-gradient(circle at 30% 110%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); color:#fff; transition: transform .2s ease; box-shadow:0 0 10px rgba(214,36,159,0.55); }
  .ico-ig:hover{ transform:scale(1.08); }
  .ico-fb{ background:#1877F2; color:#fff; transition: transform .2s ease; }
  .ico-fb:hover{ transform:scale(1.08); }
  .contact-row .ico.ico-wa{ background:#25D366; }
  .contact-row .ico.ico-ig{ background: radial-gradient(circle at 30% 110%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
  .contact-row .ico.ico-fb{ background:#1877F2; }
  .form-card{
    background:var(--navy); border-radius:4px; padding:38px; color:var(--paper);
  }
  .form-card h3{ font-size:1.3rem; margin-bottom:6px; }
  .form-card p{ font-size:0.86rem; color:rgba(255,255,255,0.6); margin-bottom:26px; }
  .form-card input, .form-card textarea{
    width:100%; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.16);
    color:var(--paper); padding:12px 14px; border-radius:2px; font-family:'Inter',sans-serif;
    font-size:0.9rem; margin-bottom:14px;
  }
  .form-card input::placeholder, .form-card textarea::placeholder{ color:rgba(255,255,255,0.4); }
  .form-card button{
    background:var(--gold); color:var(--navy-deep); border:none; padding:13px 28px;
    font-weight:700; font-size:0.85rem; border-radius:2px; cursor:pointer; letter-spacing:0.03em;
    transition: background .25s ease;
  }
  .form-card button:hover{ background:var(--gold-bright); }

  /* ---------- Footer ---------- */
  footer{ background:var(--navy-deep); color:rgba(255,255,255,0.7); }
  .footer-inner{
    max-width:1200px; margin:0 auto; padding:56px 32px 26px;
    display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:40px;
  }
  .footer-brand{ display:flex; gap:14px; align-items:center; margin-bottom:14px; }
  .footer-brand .logo-spin{ width:48px; height:48px; }
  .footer-brand .main{ color:var(--paper); font-size:1.1rem; font-weight:700; font-family:'Playfair Display',serif; }
  .footer-brand .sub{ color:var(--gold-bright); font-size:0.6rem; letter-spacing:0.18em; text-transform:uppercase; }
  .footer-col h4{
    font-size:0.78rem; text-transform:uppercase; letter-spacing:0.18em; color:var(--gold-bright);
    margin-bottom:16px; font-weight:700;
  }
  .footer-col ul li{ margin-bottom:10px; font-size:0.88rem; }
  .footer-col ul a:hover{ color:var(--gold-bright); }
  .copyright{
    text-align:center; padding:20px 32px; font-size:0.78rem; color:rgba(255,255,255,0.35);
    border-top:1px solid rgba(255,255,255,0.08);
  }

  /* ---------- Mobile nav (hamburger) ---------- */
  .hamburger{
    display:none; flex-direction:column; justify-content:center; gap:5px;
    width:36px; height:36px; background:transparent; border:none; cursor:pointer;
    padding:0; flex-shrink:0; z-index:210; position:relative;
  }
  .hamburger span{
    display:block; width:100%; height:2px; background:var(--navy); border-radius:2px;
    transition: transform .25s ease, opacity .2s ease;
  }
  .hamburger.active span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .hamburger.active span:nth-child(2){ opacity:0; }
  .hamburger.active span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
  .nav-overlay{
    display:none; position:fixed; inset:0; background:rgba(10,27,46,0.45); z-index:150;
  }
  .nav-overlay.active{ display:block; }
  body.nav-lock{ overflow:hidden; }

  @media (max-width: 900px){
    .hamburger{ display:flex; }
    nav{
      position:fixed; top:0; right:0; height:100vh; width:78%; max-width:320px;
      background:var(--paper); box-shadow:-8px 0 30px rgba(16,38,63,0.18);
      transform:translateX(100%); transition:transform .3s ease; z-index:200;
      padding:90px 30px 30px; margin-left:0; overflow-y:auto;
    }
    nav.open{ transform:translateX(0); }
    nav ul{ flex-direction:column; gap:24px; }
    nav a{ font-size:1.05rem; }
    .hero-watermark{ width:380px; height:380px; }
    .slider{ padding:32px 26px; }
    .service-grid{ grid-template-columns:1fr 1fr; }
    .about-grid{ grid-template-columns:1fr; gap:28px; margin-bottom:40px; }
    .about-copy-card .section-title{ white-space:normal; }
    .about-logo-card::before{ width:220px; height:220px; }
    .about-logo-card img{ width:42%; }
    .contact-inner{ grid-template-columns:1fr; }
    .footer-inner{ grid-template-columns:1fr; }
    .slide ul{ grid-template-columns:1fr; }
    .why-grid{ grid-template-columns:1fr 1fr; }
    .process-track{ grid-template-columns:1fr; gap:28px; }
    .process-step:not(:last-child)::after{ display:none; }
    .vm-grid{ grid-template-columns:1fr; }
    .leader-grid{ gap:36px; }
    .leader-card{ width:200px; }
  }
  @media (prefers-reduced-motion: reduce){
    .logo-spin img, .hero-watermark{ animation:none; }
  }

  @media (max-width: 600px){
    .service-grid{ grid-template-columns:1fr; }
    .nav-wrap{ padding:8px 16px; }
    .brand{ gap:10px; min-width:0; flex-shrink:1; }
    .brand-name{ min-width:0; }
    .logo-spin{ width:64px; height:64px; }
    .brand-name .main{ font-size:1.22rem; white-space:normal; line-height:1.15; }
    .brand-name .sub{ font-size:0.62rem; letter-spacing:0.08em; margin-top:4px; padding-top:4px; white-space:normal; }
    .hero{ padding:70px 20px 56px; }
    .hero h1{ font-size:2rem; }
  }
  @media (max-width: 480px){
    .kicker-lined{ gap:8px; }
    .kicker-lined .rule{ width:20px; }
    .kicker-lined span{ font-size:0.66rem; letter-spacing:0.14em; }
    .section-title{ font-size:1.55rem; }
    .services-heading{ font-size:1.25rem; }
    .fbr-news-title{ font-size:1.25rem; }
    .slide .slide-heading{ font-size:1.3rem; }
    .contact-card, .form-card{ padding:26px 22px; }
    section{ padding:56px 20px; }
  }
  @media (max-width: 380px){
    .logo-spin{ width:54px; height:54px; }
    .brand-name .main{ font-size:1.02rem; }
    .brand-name .sub{ font-size:0.54rem; letter-spacing:0.05em; }
  }

/* WordPress conversion helpers */
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.as-primary-menu{display:flex;gap:34px;margin:0;padding:0;list-style:none}
.as-primary-menu li{list-style:none}
.as-primary-menu .current-menu-item>a,.as-primary-menu .current_page_item>a{color:var(--gold)}
.as-contact-form{margin:0}
.as-contact-form input,.as-contact-form textarea{width:100%}
.as-form-message{margin-bottom:18px;padding:12px 14px;border-radius:4px;font-size:.88rem}
.as-form-message.success{background:#e8f7ed;color:#176b36}
.as-form-message.error{background:#fdecec;color:#8a1f1f}
@media (max-width:900px){.as-primary-menu{flex-direction:column;gap:24px}.as-primary-menu li{margin:0}}
