/*
Theme Name: GFA Strategic Advisory
Theme URI: https://globalfrontieradvisors.com/
Author: OpenAI
Description: Custom hardcoded WordPress - by ensamble.uy
Requires at least: 6.3
Requires PHP: 8.0
Text Domain: gfa
*/


  :root{
    --navy:#0d2244;
    --navy-90:#12294f;
    --gold:#D4A832;
    --gray:#8C8C8C;
    --offwhite:#F5F0E8;
    --charcoal:#1A1A1A;
    --white:#ffffff;
    --line:rgba(13,34,68,.14);
    --line-light:rgba(245,243,239,.18);
    --serif:"Bodoni Moda",Georgia,"Times New Roman",serif;
    --sans:"Work Sans",system-ui,-apple-system,sans-serif;
    /* --- LOGOTYPE FONT ---
       Requested: Larken Bold, uppercase — commercial typeface (not on Google Fonts / free CDNs).
       When the licensed webfont is available, add:
         @font-face{font-family:"Larken";src:url('fonts/Larken-Bold.woff2') format('woff2');font-weight:700}
       and change the line below to:  --logo-font:"Larken",var(--serif);  */
    --logo-font:var(--serif);
    /* --- BODONI OPTICAL SIZE ---
       Lower = thicker hairlines / less contrast.  Higher = finer hairlines / more contrast.
       Range 6–96. 30 is a sturdy-but-elegant middle. Bump to 45–60 for more drama. */
    --opsz:10;
    --maxw:1240px;
    --gut:clamp(20px,5vw,64px);
  }

  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:var(--sans);
    color:var(--charcoal);
    background:var(--offwhite);
    font-weight:400;line-height:1.6;
    -webkit-font-smoothing:antialiased;overflow-x:hidden;
  }
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}

  /* ---------- Typography ---------- */
  .eyebrow{
    font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:.28em;
    text-transform:uppercase;color:var(--gold);display:inline-block;
  }
  h1,h2,h3,.display,.brand,.brand-lg,.stat .n,.member h3,.pcard h3,.nart h3,.prose p.big,.arena .cap h3{
    font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:-.01em;
    font-optical-sizing:none;
    font-variation-settings:'opsz' var(--opsz),'wght' 500;
  }
  .display{font-size:clamp(2.6rem,6.2vw,5.1rem);line-height:1.02}
  h2.section-title{font-size:clamp(1.9rem,3.6vw,3rem);color:var(--navy)}
  p.lead{font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.55;color:var(--charcoal);font-weight:300}
  .muted{color:var(--gray)}

  /* ---------- Layout helpers ---------- */
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
  section{padding:clamp(64px,9vw,130px) 0}
  .hair{height:1px;background:var(--line);border:0;width:100%}

/* ---------- Header ---------- */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:rgba(245,243,239,.86);backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);transition:background .3s,border-color .3s;
  }
  header.on-hero{background:transparent;border-bottom:1px solid rgba(245,243,239,.14)}
  .topline{height:2px;background:var(--gold);width:100%}
.nav{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut);height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{
  font-family:var(--logo-font);
  font-size:16px;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);white-space:nowrap;
  font-variation-settings:'opsz' var(--opsz),'wght' 600;font-weight:600;
  flex-shrink:0;
}
  .brand-logo{height:32px;width:auto;display:block;color:var(--navy)}
  header.on-hero .brand-logo{color:var(--offwhite)}
  header.on-hero .brand{color:var(--offwhite)}
  .navlinks{display:flex;gap:clamp(18px,2.4vw,30px);align-items:center}
  .navlinks > a, .navlinks .dd > a{font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);position:relative;padding:6px 0;transition:color .25s;display:inline-block;white-space:nowrap}
  header.on-hero .navlinks > a, header.on-hero .navlinks .dd > a{color:rgba(245,243,239,.82)}
  .navlinks > a::after, .navlinks .dd > a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--gold);transition:width .3s ease}
  .navlinks > a:hover::after,.navlinks > a.active::after,.navlinks .dd > a:hover::after,.navlinks .dd > a.active::after{width:100%}
  .navlinks > a:hover,.navlinks .dd > a:hover{color:var(--gold)}
  .navlinks > a.active,.navlinks .dd > a.active{color:var(--gold)}

  /* Contact CTA: outline by default, fills on hover. Themed for light vs. hero (dark) header. */
  .navcta{border:1px solid var(--navy);padding:8px 18px!important;transition:background .25s,color .25s,border-color .25s!important}
  .navcta::after{display:none}
  .navcta:hover{background:var(--navy);color:var(--offwhite)!important}
  header.on-hero .navcta{border-color:rgba(245,243,239,.55)}
  header.on-hero .navcta:hover{background:var(--offwhite);color:var(--navy)!important;border-color:var(--offwhite)}

  /* Practice Areas dropdown */
  .dd{position:relative}
  .ddmenu{
    position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(6px);
    background:var(--white);border:1px solid var(--line);border-top:2px solid var(--gold);
    min-width:280px;padding:8px 0;opacity:0;visibility:hidden;transition:.25s ease;
    box-shadow:0 14px 34px rgba(13,34,68,.14);
  }
  .dd:hover .ddmenu,.dd:focus-within .ddmenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
  .ddmenu a{display:block;padding:11px 24px;font-size:13px;font-weight:400;letter-spacing:.02em;text-transform:none;color:var(--navy);transition:.2s;white-space:nowrap}
  .ddmenu a:hover{background:var(--offwhite);color:var(--gold);padding-left:28px}
  .ddsep{height:1px;background:var(--line);margin:8px 0}

  .menu-btn{display:none;background:none;border:0;cursor:pointer;padding:8px}
  .menu-btn span{display:block;width:24px;height:2px;background:var(--navy);margin:5px 0;transition:.3s}
  header.on-hero .menu-btn span{background:var(--offwhite)}

  /* ---------- Pages ---------- */
  .page{display:block}
  @keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

  /* ---------- Photo placeholders ----------
     To drop a real image: add  style="--img:url('images/file.jpg')"  to any .photo element.
     The duotone/B&W treatment applies automatically; remove a class to reduce it. */
  .photo{position:relative;background:#0d2244 center/cover no-repeat;overflow:hidden;background-image:var(--img,none)}
  .photo::before{
    content:"";position:absolute;inset:0;z-index:1;
    background:
      linear-gradient(135deg,rgba(13,34,68,.30),rgba(13,34,68,.90)),
      repeating-linear-gradient(115deg,rgba(255,255,255,.03) 0 2px,transparent 2px 26px);
  } 
  .photo::after{
    content:attr(data-label);position:absolute;left:16px;bottom:14px;z-index:2;
    font-family:var(--sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
    color:rgba(245,243,239,.5);font-weight:500;
  }
  .photo.bw{filter:grayscale(1);background-color:#2b2b2b}
  .photo.bw::before{background:linear-gradient(180deg,rgba(20,20,20,.12),rgba(20,20,20,.72)),repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 1px,transparent 1px 3px)}
  .photo.head::before{background:linear-gradient(180deg,rgba(13,34,68,.10),rgba(13,34,68,.34))}

  /* ---------- Buttons ---------- */
  .btn{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;padding:15px 30px;border:1px solid var(--navy);color:var(--navy);background:transparent;cursor:pointer;transition:.28s;display:inline-flex;align-items:center;gap:12px}
  .btn:hover{background:var(--navy);color:var(--offwhite)}
  .btn.gold{border-color:var(--gold);color:var(--gold)}
  .btn.gold:hover{background:var(--gold);color:var(--navy)}
  .btn.solid{background:var(--navy);color:var(--offwhite)}
  .btn.solid:hover{background:var(--navy-90)}
  .btn.light{border-color:rgba(245,243,239,.6);color:var(--offwhite)}
  .btn.light:hover{background:var(--offwhite);color:var(--navy);border-color:var(--offwhite)}
  .textlink{font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);display:inline-flex;align-items:center;gap:9px;border-bottom:1px solid transparent;padding-bottom:3px;transition:.25s;cursor:pointer}
  .textlink .arw{color:var(--gold);transition:transform .25s}
  .textlink:hover{border-color:var(--gold)}
  .textlink:hover .arw{transform:translateX(5px)}

  /* ---------- Hero ---------- */
  .hero{
    --hero-img:none; /* set to url('images/hero-dc.jpg') to drop a real hero photo */
    position:relative;min-height:100svh;display:flex;align-items:flex-end;color:var(--offwhite);
    background-image:
      linear-gradient(180deg,rgba(13,34,68,.42) 0%,rgba(13,34,68,.58) 45%,rgba(13,34,68,.92) 100%),
      var(--hero-img),
      radial-gradient(120% 90% at 70% 10%,#1c3a6b 0%,#0d2244 60%,#081a37 100%);
    background-size:cover;background-position:center;
  }
  .hero .wrap{width:100%;padding-bottom:clamp(56px,8vh,110px);padding-top:130px}
  .hero .eyebrow{margin-bottom:26px}
  .hero h1{max-width:15ch;margin-bottom:28px;color:var(--offwhite)}
  .hero p{max-width:52ch;font-size:clamp(1.05rem,1.5vw,1.3rem);font-weight:300;color:rgba(245,243,239,.82)}
  .hero-cta{margin-top:40px;display:flex;gap:16px;flex-wrap:wrap}
  .scrollcue{position:absolute;right:var(--gut);bottom:44px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:rgba(245,243,239,.55);writing-mode:vertical-rl;display:flex;align-items:center;gap:14px}
  .scrollcue::after{content:"";width:1px;height:54px;background:linear-gradient(var(--gold),transparent)}

  /* ---------- Thesis band ---------- */
  .thesis{background:var(--navy);color:var(--offwhite)}
  .thesis .eyebrow{margin-bottom:30px}
  .thesis h2{font-size:clamp(1.9rem,3.8vw,3.3rem);max-width:20ch;color:var(--offwhite);line-height:1.12}
  .thesis .cols{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(30px,6vw,90px);align-items:end;margin-top:8px}
  .thesis p{color:rgba(245,243,239,.78);font-weight:300;font-size:1.08rem;max-width:44ch}

  /* ---------- Section head ---------- */
  .shead{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:clamp(38px,5vw,64px);flex-wrap:wrap}
  .shead .eyebrow{margin-bottom:18px}
  .shead-left{max-width:44ch}
  .shead p{margin-top:16px;color:var(--gray);font-weight:300;font-size:1.05rem}

  /* ---------- Practice grid ---------- */
  .pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
  .pcard{background:var(--offwhite);padding:clamp(26px,3vw,40px);cursor:pointer;transition:background .3s,grid-column .35s ease;position:relative;min-height:230px;display:flex;flex-direction:column}
  .pcard:hover{background:var(--white)}
  .pcard .idx{font-family:var(--serif);font-size:13px;color:var(--gold);letter-spacing:.1em}
  .pcard h3{font-size:clamp(1.2rem,1.7vw,1.45rem);color:var(--navy);margin:0 0 14px}
  .pcard p{color:var(--gray);font-weight:300;font-size:.95rem;flex:1}
  .pcard .more{margin-top:22px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);opacity:0;transform:translateY(6px);transition:.3s}
  .pcard:hover .more{opacity:1;transform:none}
  .pcard .more .arw{color:var(--gold)}
  .pcard.hover-wide{grid-column:span 2}
  .pcard.hover-narrow{grid-column:span 1}

  /* ---------- Arena: single full-bleed image band (DC) ----------
     Drop the photo:  style="--img:url('images/arena-washington.jpg')"  */
  .arena{
  position:relative;padding:0;min-height:78vh;display:flex;align-items:flex-end;color:var(--offwhite);
  background-image:
    linear-gradient(90deg,rgba(8,17,37,.85) 0%,rgba(8,17,37,.55) 45%,rgba(8,17,37,.92) 100%),
    var(--img,none),
    linear-gradient(135deg,#12294f,#081a37);
  background-size:cover;background-position:center;background-attachment:fixed;
  filter:grayscale(.6) contrast(1.1);   /* nuevo: desatura la foto de fondo antes del gradiente */
}
  .arena .cap{padding:clamp(40px,7vh,88px) 0}
  .arena .cap .k{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:16px}
  .arena .cap h3{font-size:clamp(2rem,4.5vw,3.4rem);color:var(--offwhite);max-width:16ch;margin-bottom:14px}
  .arena .cap p{font-weight:300;color:rgba(245,243,239,.82);max-width:40ch;font-size:1.05rem}
  .imgtag{position:absolute;right:16px;bottom:14px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,243,239,.4);font-weight:500}

  /* ---------- Team ---------- */
  .team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(24px,3vw,48px)}
  .member{background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column}
  .member .photo{aspect-ratio:4/5;width:100%}
  .member .info{padding:clamp(22px,2.4vw,34px)}
  .member .role{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
  .member h3{font-size:clamp(1.35rem,2vw,1.75rem);color:var(--navy);margin-bottom:8px}
  .member .short{color:var(--charcoal);font-weight:300;font-size:1.05rem;margin-bottom:22px}
  .member .actions{display:flex;align-items:center;justify-content:space-between;gap:14px}
  .li{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);transition:.25s;background:none;border:0;cursor:pointer}
  .li:hover{color:var(--gold)}
  .li svg{width:16px;height:16px;fill:currentColor}

  /* Team page: wide horizontal card (photo beside text, not stacked) */
  .team-section-head{margin-bottom:28px}
  .team-section-head .k{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:500;display:block;margin-bottom:10px}
  .team-section-head .rule{height:2px;width:48px;background:rgba(212,168,50,.35)}
  .team-block{margin-bottom:clamp(48px,6vw,72px)}
  .team-block:last-child{margin-bottom:0}
  .team-grid.wide{grid-template-columns:1fr;gap:clamp(20px,2.4vw,32px)}
  .member.wide{flex-direction:row;overflow:hidden}
  .member.wide .photo{width:38%;aspect-ratio:4/5;flex-shrink:0;transition:transform .5s ease}
  .member.wide:hover .photo{transform:scale(1.03)}
  .member.wide .info{flex:1;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(24px,2.6vw,40px)}
  .member.wide .short{-webkit-line-clamp:4;line-clamp:4;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
  @media(max-width:640px){
    .member.wide{flex-direction:column}
    .member.wide .photo{width:100%}
  }

  /* ---------- Bio page ---------- */
  .backlink{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(245,243,239,.7);display:inline-block;margin-bottom:26px;transition:.25s}
  .backlink:hover{color:var(--gold)}
  .bio-layout{display:grid;grid-template-columns:360px 1fr;gap:clamp(34px,5vw,72px);align-items:start}
  .bio-photo .photo{aspect-ratio:4/5}
  .bio-photo .li{margin-top:22px}
  .bio-body p{font-weight:300;font-size:1.08rem;line-height:1.75;margin-bottom:20px;color:var(--charcoal);max-width:62ch}

  /* ---------- About / Mission ---------- */
  .two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,6vw,90px);align-items:center}
  .two.rev .col-txt{order:2}
  .prose p{font-weight:300;font-size:1.08rem;line-height:1.7;margin-bottom:22px;max-width:60ch}
  .prose p.big{font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.3;color:var(--navy);margin-bottom:34px}
  .figure{aspect-ratio:4/5}
  .figure.wide{aspect-ratio:5/4}

  .stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-block:1px solid var(--line)}
  .stat{background:var(--offwhite);padding:clamp(26px,3vw,44px) clamp(18px,2vw,30px)}
  .stat .n{font-size:clamp(2.2rem,4vw,3.2rem);color:var(--navy);line-height:1}
  .stat .l{margin-top:14px;font-size:12px;letter-spacing:.06em;color:var(--gray);font-weight:300}
  .stat .n .u{color:var(--gold);font-size:.6em;vertical-align:super}

  /* ---------- Practice detail ---------- */
  .pa-item{border-top:1px solid var(--line);padding:clamp(40px,5vw,64px) 0;scroll-margin-top:96px;display:flex;flex-wrap:wrap;gap:clamp(24px,4vw,48px)}
.pa-item:first-child{border-top:0}
.pa-item:last-child{border-bottom:1px solid var(--line)}
.pa-item .pa-head{flex:0 0 100%;max-width:280px;display:flex;align-items:baseline;gap:16px}
.pa-item .num{font-family:var(--serif);font-size:1.2rem;color:var(--gold);flex-shrink:0}
.pa-item h3{font-size:clamp(1.35rem,2.2vw,1.7rem);color:var(--navy);line-height:1.25}
.pa-item .pa-body{flex:1;min-width:280px}
.pa-item .d{color:var(--charcoal);font-weight:300;max-width:62ch;margin-bottom:28px;font-size:1.05rem}
.pa-item .caps{max-width:70ch}
.pa-item .caps li{list-style:none;padding:18px 0;border-top:1px solid var(--line);display:flex;gap:16px;align-items:flex-start}
.pa-item .caps li:first-child{border-top:1px solid var(--line)}
.pa-item .caps .tick{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:rgba(212,168,50,.12);color:var(--gold);display:flex;align-items:center;justify-content:center;margin-top:2px}
.pa-item .caps .tick svg{width:13px;height:13px}
.pa-item .caps .capbody{font-size:.98rem;font-weight:300;color:var(--charcoal);line-height:1.6}
.pa-item .caps li b{color:var(--navy);font-weight:600;display:block;margin-bottom:3px;font-size:.94rem;letter-spacing:.01em}
@media(min-width:768px){
  .pa-item .pa-head{flex:0 0 30%}
}

  /* ---------- Sector Focus (dark card grid) ---------- */
  .sector-band{background:var(--navy);color:var(--offwhite)}
  .sector-grid,.whygfa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-light);border:1px solid var(--line-light);margin-top:38px}
  .sector-card,.whygfa-card{background:var(--navy);padding:clamp(26px,3vw,40px)}
  .sector-card .arw-ic,.whygfa-card .arw-ic{color:var(--gold);font-size:1.1rem;display:block;margin-bottom:14px}
  .sector-card h3,.whygfa-card h3{color:var(--offwhite);font-size:1.25rem;margin-bottom:12px}
  .sector-card p,.whygfa-card p{color:rgba(245,243,239,.72);font-weight:300;font-size:1rem;line-height:1.55}
  @media(max-width:820px){.sector-grid,.whygfa-grid{grid-template-columns:1fr 1fr}}
  @media(max-width:560px){.sector-grid,.whygfa-grid{grid-template-columns:1fr}}

  /* ---------- Geographic Reach (light card grid) ---------- */
  .geo-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:38px}
  .geo-card{background:var(--offwhite);padding:clamp(26px,3vw,40px)}
  .geo-card h3{color:var(--navy);font-size:1.2rem;margin-bottom:12px;display:flex;align-items:center;gap:8px}
  .geo-card h3 .arw-ic{color:var(--gold)}
  .geo-card p{color:var(--charcoal);font-weight:300;font-size:.98rem;line-height:1.6}
  @media(max-width:640px){.geo-grid{grid-template-columns:1fr}}

  /* ---------- News ---------- */
  .filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:44px}
  .filters button{font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;padding:9px 18px;border:1px solid var(--line);background:transparent;color:var(--gray);cursor:pointer;transition:.25s}
  .filters button.active,.filters button:hover{background:var(--navy);color:var(--offwhite);border-color:var(--navy)}
  .filters-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:44px}
  .filters-row .filters{margin-bottom:0}
  .news-search{position:relative;flex-shrink:0}
  .news-search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:15px;height:15px;fill:var(--gray);pointer-events:none}
  .news-search input{font-family:var(--sans);font-size:.9rem;font-weight:300;color:var(--charcoal);background:var(--white);border:1px solid var(--line);padding:10px 16px 10px 38px;width:240px;transition:border-color .25s}
  .news-search input:focus{outline:none;border-color:var(--gold)}
  .news-search input::placeholder{color:var(--gray)}
  @media(max-width:640px){.filters-row{flex-direction:column}.news-search,.news-search input{width:100%}}
  .news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
  .nart{background:var(--offwhite);display:flex;flex-direction:column;cursor:pointer;transition:.3s}
  .nart:hover{background:var(--white)}
  .nart .photo{aspect-ratio:16/10}
  .nart .nc{padding:26px 26px 30px;display:flex;flex-direction:column;flex:1}
  .nart .meta{display:flex;gap:14px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;font-weight:500}
  .nart .meta .date{color:var(--gray)}
  .nart h3{font-size:1.2rem;color:var(--navy);line-height:1.25;margin-bottom:14px}
  .nart p{font-size:.92rem;color:var(--gray);font-weight:300;flex:1;margin-bottom:18px}
  .nart .src{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);font-weight:500}

  /* ---------- Contact ---------- */
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px)}
  .field,.gfa-cf7 .wpcf7-form > p{margin-bottom:26px}
  .field label,.gfa-cf7 label{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);margin-bottom:10px;font-weight:500}
  .field input,.field textarea,
  .gfa-cf7 input[type="text"],.gfa-cf7 input[type="email"],.gfa-cf7 input[type="tel"],.gfa-cf7 input[type="url"],.gfa-cf7 select,.gfa-cf7 textarea{width:100%;font-family:var(--sans);font-size:1rem;font-weight:300;color:var(--charcoal);background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:10px 0;transition:.25s;box-shadow:none}
  .field input:focus,.field textarea:focus,
  .gfa-cf7 input:focus,.gfa-cf7 select:focus,.gfa-cf7 textarea:focus{outline:none;border-color:var(--gold)}
  .field textarea,.gfa-cf7 textarea{resize:vertical;min-height:130px}
  .gfa-cf7 .wpcf7-form-control-wrap{display:block;margin-top:8px}
  .gfa-cf7 .wpcf7-submit{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;padding:15px 30px;border:1px solid var(--navy);border-radius:0;color:var(--offwhite);background:var(--navy);cursor:pointer;transition:.28s;display:inline-flex;align-items:center;justify-content:center;appearance:none}
  .gfa-cf7 .wpcf7-submit:hover,.gfa-cf7 .wpcf7-submit:focus{background:var(--navy-90);border-color:var(--navy-90)}
  .gfa-cf7 .wpcf7-submit:disabled{opacity:.6;cursor:not-allowed}
  .gfa-cf7 .wpcf7-spinner{margin:0 0 0 12px;vertical-align:middle}
  .gfa-cf7 .wpcf7-not-valid-tip{font-size:.82rem;color:#9c2525;margin-top:7px;letter-spacing:0;text-transform:none}
  .gfa-cf7 .wpcf7-response-output{margin:24px 0 0!important;padding:14px 18px!important;border:1px solid var(--line)!important;background:var(--white);font-size:.94rem}
  .gfa-cf7 form.sent .wpcf7-response-output{border-color:rgba(35,128,74,.35)!important}
  .gfa-cf7 form.invalid .wpcf7-response-output,.gfa-cf7 form.failed .wpcf7-response-output,.gfa-cf7 form.unaccepted .wpcf7-response-output{border-color:rgba(180,42,42,.35)!important}
  .gfa-cf7 .wpcf7-list-item{margin:0 18px 0 0}
  .gfa-cf7 input[type="checkbox"],.gfa-cf7 input[type="radio"]{accent-color:var(--navy)}
  .cinfo .block{margin-bottom:34px}
  .cinfo .k{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;font-weight:500}
  .cinfo .v{font-weight:300;font-size:1.05rem;color:var(--charcoal);line-height:1.7}
  .cinfo .v a:hover{color:var(--gold)}

  .page-hero{padding:150px 0 clamp(40px,6vw,80px);background:var(--navy);color:var(--offwhite)}
  .page-hero .eyebrow{margin-bottom:22px}
  .page-hero h1{font-size:clamp(2.3rem,5vw,4rem);color:var(--offwhite);max-width:18ch}
  .page-hero p{margin-top:24px;max-width:56ch;font-weight:300;color:rgba(245,243,239,.8);font-size:1.15rem}

  .ctastrip{background:var(--navy);color:var(--offwhite);text-align:center}
  .ctastrip h2{font-size:clamp(1.8rem,3.6vw,3rem);color:var(--offwhite);max-width:24ch;margin:0 auto 34px}
  .ctastrip .eyebrow{margin-bottom:24px}

  /* ---------- Footer ---------- */
  footer{background:#081a37;color:rgba(245,243,239,.7)}
  .foot-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding:clamp(56px,7vw,90px) 0 clamp(40px,5vw,60px)}
  .foot-mark{height:40px;width:auto;display:block;color:var(--offwhite);margin-bottom:20px}  .foot .tag{font-weight:300;font-size:.95rem;max-width:34ch;color:rgba(245,243,239,.6)}
  .foot h4{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;font-weight:500}
  .foot ul{list-style:none}
  .foot ul li{margin-bottom:12px}
  .foot ul li a{font-size:.92rem;font-weight:300;color:rgba(245,243,239,.72);transition:.25s;cursor:pointer}
  .foot ul li a:hover{color:var(--gold)}
  .foot-bot{border-top:1px solid var(--line-light);padding:26px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
  .foot-bot span{font-size:.8rem;color:rgba(245,243,239,.45);font-weight:300;letter-spacing:.03em}
  .foot-bot .liftr{display:flex;gap:18px}
  .foot-bot .liftr a{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(245,243,239,.6);cursor:pointer}
  .foot-bot .liftr a:hover{color:var(--gold)}

  /* ---------- Mobile nav ---------- */
  .mobnav{position:fixed;inset:0;z-index:150;background:var(--navy);display:none;flex-direction:column;justify-content:center;padding:0 var(--gut)}
  .mobnav.open{display:flex;animation:fade .3s}
  .mobnav a{font-family:var(--serif);font-size:2rem;color:var(--offwhite);padding:14px 0;border-bottom:1px solid var(--line-light);font-variation-settings:'opsz' var(--opsz),'wght' 500}
  .mobnav a:last-child{border:0}
  .mobnav a.active{color:var(--gold)}
  .mobnav .x{position:absolute;top:24px;right:var(--gut);background:none;border:0;color:var(--offwhite);font-size:34px;cursor:pointer}
 
  /* ---------- Legal pages (Privacy / Terms / Disclaimer) ---------- */
  .legal-body{max-width:760px}
  .legal-updated{font-size:.92rem;color:var(--gray);font-weight:300;margin-bottom:8px}
  .legal-tbd{color:var(--gold);font-weight:500}
  .legal-body h2{font-family:var(--serif);font-size:clamp(1.3rem,2vw,1.6rem);color:var(--navy);margin:44px 0 16px;font-variation-settings:'opsz' var(--opsz),'wght' 500}
  .legal-body h2:first-of-type{margin-top:12px}
  .legal-body p{font-weight:300;font-size:1.02rem;line-height:1.75;margin-bottom:18px;color:var(--charcoal)}
  .legal-body ul{margin:0 0 18px 0;padding:0}
  .legal-body ul li{list-style:none;font-weight:300;font-size:1.02rem;line-height:1.65;color:var(--charcoal);padding:8px 0 8px 22px;border-top:1px solid var(--line);position:relative}
  .legal-body ul li:first-child{border-top:1px solid var(--line)}
  .legal-body ul li::before{content:"";position:absolute;left:0;top:19px;width:8px;height:1px;background:var(--gold)}
  .legal-body a{color:var(--navy);border-bottom:1px solid var(--line);transition:.25s}
  .legal-body a:hover{color:var(--gold);border-color:var(--gold)}
  .legal-toc{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
  .legal-toc a{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);padding:9px 16px;border:1px solid var(--line);transition:.25s}
  .legal-toc a:hover,.legal-toc a.active{background:var(--navy);color:var(--offwhite);border-color:var(--navy)}
  .legal-sep{height:1px;background:var(--line);margin:56px 0}
  .legal-doc-title{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:14px;display:block}

  @media(max-width:900px){
    .navlinks{display:none}.menu-btn{display:block}
    .thesis .cols{grid-template-columns:1fr;gap:28px}
    .pgrid{grid-template-columns:1fr}
    .arena{min-height:58vh;background-attachment:scroll}
    .team-grid{grid-template-columns:1fr}
    .two{grid-template-columns:1fr;gap:36px}.two.rev .col-txt{order:0}
    .figure,.figure.wide{aspect-ratio:4/3}
    .stat-row{grid-template-columns:1fr 1fr}
    .news-grid{grid-template-columns:1fr}
    .contact-grid{grid-template-columns:1fr}
    .bio-layout{grid-template-columns:1fr;gap:30px}.bio-photo .photo{aspect-ratio:4/3}
    .foot-top{grid-template-columns:1fr 1fr}.foot .brandcol{grid-column:1/-1}
  }
  @media(max-width:560px){
    .stat-row{grid-template-columns:1fr}
    .foot-top{grid-template-columns:1fr}
    .hero-cta{flex-direction:column;align-items:flex-start}
  }
  @media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* ---------- WordPress integration ---------- */
body.admin-bar header{top:32px}
@media(max-width:782px){body.admin-bar header{top:46px}}
.skip-link{position:fixed;left:16px;top:-100px;z-index:9999;background:var(--gold);color:var(--navy);padding:10px 16px;font-size:13px;font-weight:600}
.skip-link:focus{top:12px}
.site-main{min-height:60vh}
.navlinks .current-menu-item>a,.navlinks>a[aria-current="page"],.navlinks .dd>a[aria-current="page"]{color:var(--gold)}
.navlinks .current-menu-item>a::after,.navlinks>a[aria-current="page"]::after,.navlinks .dd>a[aria-current="page"]::after{width:100%}
.brand-logo{max-width:310px}
.foot-mark{max-width:210px}
.pcard{color:inherit;text-decoration:none}
.member .photo img,.nart .photo img,.bio-photo .photo img{width:100%;height:100%;object-fit:cover}
.member .photo,.bio-photo .photo,.nart .photo{background-position:center}
.member.wide .photo{background-position:center top}
.member.no-short .short{display:none}
.nart{color:inherit;text-decoration:none}
.nart:focus-visible,.pcard:focus-visible,.member a:focus-visible,.btn:focus-visible,.textlink:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.news-filter-form{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:44px}
.news-filter-form .filters{margin:0}
.news-filter-form .filters a{font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;padding:9px 18px;border:1px solid var(--line);background:transparent;color:var(--gray);transition:.25s;display:inline-block}
.news-filter-form .filters a.active,.news-filter-form .filters a:hover{background:var(--navy);color:var(--offwhite);border-color:var(--navy)}
.news-search button{position:absolute;right:0;top:0;height:100%;width:42px;border:0;background:transparent;cursor:pointer;color:var(--navy)}
.news-search input{padding-right:45px}
.empty-state{border:1px solid var(--line);padding:40px;background:var(--white);color:var(--gray)}
.article-header{max-width:900px}
.article-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;font-weight:500}
.article-meta .date,.article-meta .source{color:rgba(245,240,232,.65)}
.article-body{max-width:800px}
.article-body p{font-size:1.08rem;font-weight:300;line-height:1.8;margin-bottom:22px}
.article-body h2,.article-body h3{color:var(--navy);margin:42px 0 18px}
.article-feature{aspect-ratio:16/9;margin-bottom:48px;background:var(--navy);overflow:hidden}
.article-feature img{width:100%;height:100%;object-fit:cover}
.contact-notice{padding:14px 18px;margin-bottom:28px;border:1px solid var(--line);background:var(--white)}
.contact-notice.success{border-color:rgba(35,128,74,.35)}
.contact-notice.error{border-color:rgba(180,42,42,.35)}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.legal-draft-note{padding:16px 18px;margin-bottom:30px;border-left:3px solid var(--gold);background:rgba(212,168,50,.09);font-size:.94rem}
.page-not-found{text-align:center;padding:180px 0 120px}
.page-not-found h1{font-size:clamp(3rem,10vw,7rem);color:var(--navy)}
.page-not-found p{max-width:42ch;margin:20px auto 32px;color:var(--gray)}
.pagination{margin-top:44px;display:flex;gap:8px;flex-wrap:wrap}
.pagination .page-numbers{padding:8px 13px;border:1px solid var(--line);font-size:13px}
.pagination .current,.pagination a:hover{background:var(--navy);color:var(--offwhite);border-color:var(--navy)}
.footer-disabled{font-size:.92rem;color:rgba(245,243,239,.45)}
@media(max-width:900px){.brand-logo{max-width:250px}.news-filter-form{flex-direction:column}.news-search,.news-search input{width:100%}}
@media(max-width:480px){.brand-logo{max-width:220px}.nav{height:68px}.page-hero{padding-top:128px}}
.brand-logo svg{height:100%;width:auto;display:block}
.foot-mark svg{height:100%;width:auto;display:block}
.ddmenu.is-open{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
