*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#1e2a45;--navy-deep:#16213a;--navy-mid:#253050;
  --blue:#4da6d8;--white:#fff;--off:#f4f5f7;--border:#e2e5ec;
  --td:#1a2035;--tm:#555e7a;--tl:#8892aa;
  --fh:'Playfair Display',Georgia,serif;--fb:'Source Sans 3',sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--fb);color:var(--td);background:var(--white);line-height:1.65;overflow-x:hidden}
/* NAV */
nav{position:sticky;top:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 3rem;height:56px;background:var(--navy-deep)}
.nav-logo{font-family:var(--fb);font-size:1.05rem;font-weight:700;text-decoration:none;color:#fff;cursor:pointer}
.nav-logo span{color:var(--blue)}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{font-size:.85rem;font-weight:500;color:rgba(255,255,255,.65);text-decoration:none;transition:color .2s;cursor:pointer}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav-has-drop{position:relative}
.nav-drop-toggle{display:flex;align-items:center;gap:.3rem;cursor:pointer;font-size:.85rem;font-weight:500;color:rgba(255,255,255,.65);transition:color .2s;text-decoration:none}
.nav-drop-toggle:hover{color:#fff}
.nav-chevron{font-size:.7rem;transition:transform .2s;display:inline-block}
.nav-dropdown{display:none;position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);background:var(--navy-deep);border:1px solid rgba(255,255,255,.1);border-radius:8px;min-width:200px;padding:.4rem 0;box-shadow:0 12px 32px rgba(0,0,0,.4);list-style:none;z-index:300}
.nav-has-drop:hover .nav-dropdown{display:block}
.nav-dropdown li a{display:block;padding:.52rem 1.1rem;font-size:.8rem;color:rgba(255,255,255,.7);text-decoration:none;transition:all .15s;white-space:nowrap}
.nav-dropdown li a:hover{color:#fff;background:rgba(255,255,255,.06)}
/* FOOTER */
footer{background:var(--navy-deep);padding:1.8rem 3rem;text-align:center}
footer p{font-size:.8rem;color:rgba(255,255,255,.35)}
footer a{color:rgba(255,255,255,.55);text-decoration:none}
footer a:hover{color:#fff}
/* SHARED */
.eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin-bottom:.6rem}
.sec-title{font-family:var(--fh);font-size:1.9rem;font-weight:700;color:var(--td);line-height:1.2;margin-bottom:1.4rem}
/* HERO */
.h-hero{background:var(--navy);padding:60px 3rem 70px}
.h-inner{max-width:900px;margin:0 auto;display:flex;align-items:flex-start;gap:3.5rem}
.h-photo{flex-shrink:0;width:160px;height:160px;border-radius:50%;border:4px solid var(--blue);overflow:hidden;background:var(--navy-mid)}
.h-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block}
.h-name{font-family:var(--fh);font-size:2.3rem;font-weight:700;color:#fff;line-height:1.1;margin-bottom:.3rem}
.h-role{font-size:.95rem;font-weight:600;color:var(--blue);margin-bottom:1rem}
.h-desc{font-size:.97rem;color:rgba(255,255,255,.72);line-height:1.75;max-width:480px;margin-bottom:1.1rem}
.h-loc{display:flex;align-items:center;gap:.4rem;font-size:.83rem;color:rgba(255,255,255,.45)}
/* HOME ABOUT */
.h-about{background:var(--off);padding:70px 3rem}
.ha-inner{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 260px;gap:3.5rem;align-items:start}
.ha-text p{font-size:.95rem;color:var(--tm);line-height:1.8;margin-bottom:1rem}
.ha-link{display:inline-block;font-size:.88rem;font-weight:600;color:var(--blue);text-decoration:none;margin-top:.6rem;cursor:pointer}
.ha-photo{width:100%;aspect-ratio:3/4;object-fit:contain;object-position:center 25%;border-radius:8px;display:block}
/* ACCORDION */
.acc-section{padding:0 3rem 50px}
.acc-wrap{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:.75rem}
.acc-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:var(--navy-deep);color:#fff;font-family:var(--fb);font-size:.92rem;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:background .2s}
.acc-btn:hover{background:var(--navy-mid)}
.chevron{display:inline-block;transition:transform .3s}
.acc-btn.open .chevron{transform:rotate(180deg)}
.acc-body{display:none;background:var(--white);border:1px solid var(--border);border-radius:6px;padding:1.5rem 2rem}
.acc-body.open{display:block}
.social-media-list{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding:.25rem 0}
.social-media-list a img{width:30px;height:30px;transition:transform .3s}
.social-media-list a:hover img{transform:scale(1.2)}
/* PRESS CARDS */
.h-press{background:#fff;padding:70px 3rem}
.pi{max-width:900px;margin:0 auto}
.pi .sec-title{margin-bottom:2rem}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.card{border:1px solid var(--border);border-radius:6px;overflow:hidden;text-decoration:none;background:var(--white);display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:0 10px 30px rgba(26,35,64,.12);transform:translateY(-3px)}
.ct{background:var(--navy);padding:1.4rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:110px}
.ct-cat{font-size:.65rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:.5rem}
.ct-ttl{font-family:var(--fh);font-size:1.02rem;font-weight:600;color:#fff;line-height:1.3}
.cb{padding:1.1rem 1.2rem;flex:1}
.cb-pub{font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:.5rem}
.cb-hl{font-size:.92rem;font-weight:600;color:var(--td);line-height:1.4;margin-bottom:.5rem}
.cb-yr{font-size:.78rem;color:var(--tl)}
/* HOME CONTACT */
.h-contact{background:var(--off);padding:70px 3rem}
.hc-inner{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.hc-title{font-family:var(--fh);font-size:1.6rem;font-weight:700;color:var(--td);margin-bottom:.6rem}
.hcp p{font-size:.9rem;color:var(--tm);line-height:1.7;margin-bottom:1.6rem}
.fl-lbl{font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--tl);margin-bottom:.8rem}
.aside-soc{display:flex;gap:.5rem;flex-wrap:wrap}
.asoc{min-width:38px;height:38px;padding:0 .6rem;border:1.5px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:var(--td);text-decoration:none;transition:all .18s}
.asoc:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
/* FORMS */
.cf{display:flex;flex-direction:column;gap:1.1rem}
.cf label{font-size:.82rem;font-weight:600;color:var(--td);display:block;margin-bottom:.3rem}
.cf input,.cf textarea{width:100%;padding:.7rem .9rem;border:1px solid var(--border);border-radius:4px;font-family:var(--fb);font-size:.9rem;color:var(--td);background:var(--white);outline:none;transition:border-color .2s;resize:vertical}
.cf input:focus,.cf textarea:focus{border-color:var(--navy)}
.cf textarea{min-height:110px}
.btn-sm{align-self:flex-start;padding:.75rem 1.8rem;background:var(--navy-deep);color:#fff;font-family:var(--fb);font-size:.88rem;font-weight:600;border:none;border-radius:4px;cursor:pointer}
.btn-sm:hover{background:var(--blue)}
/* PAGE HERO */
.pg-hero{background:var(--navy);padding:52px 3rem 110px;text-align:center}
.pg-hero h1{font-family:var(--fh);font-size:2.3rem;font-weight:700;color:#fff;line-height:1.15;margin-bottom:.8rem;margin-top:1.2rem}
.pg-sub{font-size:.97rem;color:rgba(255,255,255,.65);max-width:500px;margin:0 auto;line-height:1.65}
/* ABOUT PAGE */
.pc-wrap{background:var(--off);padding:0 3rem}
.pc{max-width:840px;margin:0 auto;background:var(--white);border:1px solid var(--border);border-radius:8px;padding:1.8rem 2rem;display:flex;align-items:center;gap:2rem;transform:translateY(-32px);box-shadow:0 4px 20px rgba(26,35,64,.08)}
.pc-ph{width:80px;height:80px;border-radius:50%;border:3px solid var(--blue);overflow:hidden;flex-shrink:0}
.pc-ph img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.pc-nm{font-family:var(--fh);font-size:1.35rem;font-weight:700;color:var(--td);margin-bottom:.2rem}
.pc-rl{font-size:.88rem;font-weight:600;color:var(--blue);margin-bottom:.35rem}
.pc-lc{display:flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--tl)}
.am-wrap{padding:0 3rem 60px;margin-top:-16px}
.am-inner{max-width:840px;margin:0 auto;display:grid;grid-template-columns:1fr 220px;gap:3rem;align-items:start}
.csec{margin-bottom:3rem}
.cey{font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin-bottom:.5rem}
.csec h2{font-family:var(--fh);font-size:1.45rem;font-weight:700;color:var(--td);line-height:1.25;margin-bottom:1rem}
.csec p{font-size:.92rem;color:var(--tm);line-height:1.82;margin-bottom:.9rem}
.sidebar-facts{position:sticky;top:80px}
.sb-box{background:var(--white);border:1px solid var(--border);border-radius:6px;padding:1.3rem 1.4rem;margin-bottom:1.3rem}
.sb-title{font-size:.66rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--tl);margin-bottom:1rem;padding-bottom:.6rem;border-bottom:1px solid var(--border)}
.fr{display:flex;justify-content:space-between;align-items:baseline;padding:.45rem 0;border-bottom:1px solid var(--border);gap:.8rem}
.fr:last-child{border-bottom:none}
.fl{font-size:.76rem;font-weight:600;color:var(--tl);white-space:nowrap}
.fv{font-size:.8rem;font-weight:600;color:var(--td);text-align:right;line-height:1.35}
.fw-lbl{font-size:.66rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--tl);margin-bottom:.7rem}
.sb-soc{display:flex;gap:.5rem;flex-wrap:wrap}
.ssoc{min-width:34px;height:34px;padding:0 .5rem;border:1.5px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:var(--td);text-decoration:none;transition:all .18s}
.ssoc:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
/* CONTACT PAGE */
.cp-hero{background:var(--navy);padding:52px 3rem 110px;text-align:center}
.cc-wrap{padding:0 3rem;margin-top:-72px;position:relative;z-index:10}
.cc{max-width:760px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;border-radius:10px;overflow:hidden;box-shadow:0 12px 48px rgba(26,35,64,.18)}
.fp{background:var(--white);padding:2.4rem}
.fp h2{font-family:var(--fh);font-size:1.35rem;font-weight:700;color:var(--td);margin-bottom:.3rem}
.fp-sub{font-size:.85rem;color:var(--tl);margin-bottom:1.5rem}
.cf2{display:flex;flex-direction:column;gap:.9rem}
.cf2 label{font-size:.8rem;font-weight:600;color:var(--td);display:block;margin-bottom:.25rem}
.cf2 input,.cf2 textarea{width:100%;padding:.65rem .85rem;border:1px solid var(--border);border-radius:4px;font-family:var(--fb);font-size:.88rem;color:var(--td);outline:none;transition:border-color .2s;resize:vertical}
.cf2 input:focus,.cf2 textarea:focus{border-color:var(--navy)}
.cf2 textarea{min-height:100px}
.btn-cf2{padding:.75rem 1.6rem;background:var(--navy-deep);color:#fff;font-family:var(--fb);font-size:.88rem;font-weight:600;border:none;border-radius:4px;cursor:pointer;margin-top:.4rem}
.btn-cf2:hover{background:var(--blue)}
.ci{background:var(--navy);padding:2.4rem;display:flex;flex-direction:column;gap:1.5rem}
.ci-title{font-family:var(--fh);font-size:1.5rem;font-weight:700;color:#fff}
.ci-lbl{font-size:.66rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:.5rem}
.ci-val{font-size:.9rem;color:rgba(255,255,255,.85);text-decoration:none}
a.ci-val:hover{color:#fff}
.ci-soc{display:flex;gap:.5rem;flex-wrap:wrap}
.cisoc{min-width:34px;height:34px;padding:0 .5rem;border:1.5px solid rgba(255,255,255,.2);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:rgba(255,255,255,.7);text-decoration:none;transition:all .18s}
.cisoc:hover{background:rgba(255,255,255,.12);color:#fff}
/* ARTICLE PAGE */
.art-hero{background:var(--navy);padding:52px 3rem 80px}
.art-hero-inner{max-width:840px;margin:0 auto}
.art-hero-title{font-family:var(--fh);font-size:2.1rem;font-weight:700;color:#fff;line-height:1.2;margin:1rem 0 .8rem}
.art-meta{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}
.art-meta-item{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:rgba(255,255,255,.55)}
.art-body{max-width:840px;margin:2rem auto 4rem;padding:0 3rem;display:grid;grid-template-columns:1fr 220px;gap:3rem;align-items:start}
.art-h2{font-family:var(--fh);font-size:1.35rem;font-weight:700;color:var(--td);margin:2rem 0 .8rem;line-height:1.25}
.art-p{font-size:.93rem;color:var(--tm);line-height:1.85;margin-bottom:1rem}
.art-p a{color:var(--blue);text-decoration:underline}
.art-quote{border-left:3px solid var(--blue);padding:.7rem 1.2rem;margin:1.5rem 0;font-style:italic;color:var(--tm);font-size:.95rem;line-height:1.7}
.art-hero-image{width:100%;max-height:420px;object-fit:cover;object-position:center 20%;border-radius:8px;margin-bottom:1rem;display:block}
.art-sidebar-box{position:sticky;top:80px}
.art-sb-box{background:var(--white);border:1px solid var(--border);border-radius:6px;padding:1.2rem 1.3rem;margin-bottom:1rem}
.art-sb-label{font-size:.64rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--tl);margin-bottom:.9rem;padding-bottom:.55rem;border-bottom:1px solid var(--border);display:block}
.art-sb-row{display:flex;justify-content:space-between;align-items:baseline;padding:.4rem 0;border-bottom:1px solid var(--border);font-size:.78rem;gap:.8rem}
.art-sb-row:last-child{border-bottom:none}
.art-sb-row span:first-child{color:var(--tl);font-weight:600}
.art-sb-row span:last-child{color:var(--td);font-weight:600;text-align:right}
.card-article .ct-img{height:280px;overflow:hidden;background:var(--navy)}
.card-article .ct-img img{width:100%;height:100%;object-fit:cover;object-position:center 25%;display:block;transition:transform .3s}
.card-article:hover .ct-img img{transform:scale(1.05)}
/* PRIVACY / LEGAL PAGE */
.legal-wrap{max-width:840px;margin:0 auto;padding:3rem}
.legal-wrap h2{font-family:var(--fh);font-size:1.35rem;font-weight:700;color:var(--td);margin:2rem 0 .8rem;line-height:1.25}
.legal-wrap h2:first-child{margin-top:0}
.legal-wrap p{font-size:.93rem;color:var(--tm);line-height:1.85;margin-bottom:1rem}
.legal-wrap ul{margin:0 0 1rem 1.4rem}
.legal-wrap ul li{font-size:.93rem;color:var(--tm);line-height:1.85;margin-bottom:.4rem}
.legal-meta{font-size:.8rem;color:var(--tl);margin-bottom:1.5rem}
/* INLINE LINKS in generated content */
.ha-text p a,.csec p a,.art-p a,.h-desc a,.pg-sub a,.fp-sub a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.ha-text p a:hover,.csec p a:hover,.h-desc a:hover,.pg-sub a:hover{opacity:.8}
.ha-text p strong,.csec p strong,.art-p strong,.h-desc strong,.pg-sub strong{font-weight:700;color:inherit}
@media(max-width:820px){
  nav{padding:0 1.2rem}
  .h-hero,.h-about,.h-press,.h-contact,.acc-section,.pg-hero,.pc-wrap,.am-wrap,.cc-wrap,.cp-hero,.legal-wrap{padding-left:1.2rem;padding-right:1.2rem}
  .h-inner{flex-direction:column;align-items:center;text-align:center}
  .h-desc{margin:0 auto 1rem}.h-loc{justify-content:center}
  .ha-inner,.hc-inner,.am-inner{grid-template-columns:1fr}
  .sidebar-facts{position:static}
  .pc{flex-direction:column;text-align:center}.pc-lc{justify-content:center}
  .cc{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .art-body{grid-template-columns:1fr}.art-sidebar-box{position:static}
  .art-hero{padding:40px 1.2rem 60px}.art-hero-title{font-size:1.7rem}
}
