/* Production overrides — consolidated typography, social icons and responsive rules */
@font-face{font-family:"Lato";font-style:normal;font-weight:300;font-display:swap;src:url("../fonts/lato-s6u9w4bmutphh7usswapgr_p.woff2") format("woff2")}
@font-face{font-family:"Lato";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/lato-s6uyw4bmutphjx4wxg.woff2") format("woff2")}
@font-face{font-family:"Lato";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/lato-s6u9w4bmutphh6uvswapgr_p.woff2") format("woff2")}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/playfairdisplay-nufid-vyszvivyub_rj3ij__anpxdtlygfe_.woff2") format("woff2")}

:root{--max:1140px;--gold:#B99B5F;--dark:#23282E;--text:#7A7A7A}
html{-webkit-text-size-adjust:100%}
body{font-family:"Lato",Arial,sans-serif!important;font-size:16px!important;font-weight:400!important;line-height:1.55}
body,p,li,input,textarea,button{font-family:"Lato",Arial,sans-serif}
h1,h2,h3,h4,h5,h6,.brand,.desktop-nav a,.mobile-nav a,.online,.btn-gold,.btn-dark,.btn-outline,.article-title-band h1,.article-sidebar>h3,.side-podcast h3,.follow-box h3{font-family:"Playfair Display",Georgia,serif!important;font-weight:400!important}
h1{font-size:3rem}h2{font-size:2rem}h3{font-size:1.75rem}
.wrap{width:min(var(--max),calc(100% - 40px))}

/* Header */
.top-contact a{font-family:"Lato",Arial,sans-serif!important;font-weight:400!important;font-size:16px!important}
.brand{font-size:32px!important;line-height:1.08!important}
.online{font-size:18px!important;font-weight:400!important;background:var(--gold)!important;color:#fff!important;transition:background-color .22s ease,color .22s ease}
.online:hover,.online:focus-visible{background:#000!important;color:#fff!important}
.photo-hero h1{font-size:42px!important;font-family:"Playfair Display",Georgia,serif!important;font-weight:400!important}
.top-social>a:not(.online){width:24px;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--gold)}
.top-social>a:not(.online) svg{width:20px!important;height:20px!important;display:block;overflow:visible}

/* Typography: content */
.intro-text-col,.intro-brand-col p,.area-card p,.trajectory p,.team-info p,.contact-copy p,.article-content,.article-sidebar,.history-main .content-block,.history-values .content-block,.profile-copy p{font-family:"Lato",Arial,sans-serif!important;font-size:16px;font-weight:400}
.article-content{font-size:16px!important;line-height:1.65!important;color:#23282E}
.article-content p,.article-content li{font-family:"Lato",Arial,sans-serif!important;font-size:16px!important;font-weight:400!important;line-height:1.65!important}
.article-title-band h1{font-size:2.5rem;line-height:1.15}
.article-kicker,.side-post span,.side-post small,.site-search input{font-family:"Lato",Arial,sans-serif!important}
.article-sidebar>h3,.side-podcast h3,.follow-box h3{font-size:1.55rem}

/* Sidebar social icons: explicit sizing prevents raw SVGs from expanding */
.side-social{display:flex!important;align-items:center;justify-content:center;gap:12px;margin:12px 0 28px}
.side-social a{display:flex!important;align-items:center;justify-content:center;width:30px!important;height:30px!important;min-width:30px;color:var(--gold);background:#fff;border-radius:2px}
.side-social svg{display:block!important;width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important;overflow:visible}
.side-social a:nth-child(1) svg path,.side-social a:nth-child(2) svg path{fill:currentColor!important;stroke:none!important}
.side-social a:nth-child(3) svg rect,.side-social a:nth-child(3) svg circle,.side-social a:nth-child(4) svg path{fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round;stroke-linejoin:round}
.side-social a:nth-child(3) svg circle:last-child{fill:currentColor!important;stroke:none!important}

/* Footer */
.footer{font-family:"Lato",Arial,sans-serif!important}
.footer p,.footer li,.footer a:not(.footer-bottom a){font-family:"Lato",Arial,sans-serif!important;font-size:16px!important;font-weight:300!important;line-height:1.55!important}
.footer h3{font-family:"Playfair Display",Georgia,serif!important;font-weight:400!important}
.footer-brand p strong{font-weight:700!important}
.footer-social{display:flex!important;align-items:center;gap:15px!important;margin-top:12px}
.footer-social a{display:flex!important;align-items:center;justify-content:center;width:29px!important;height:29px!important;margin:0!important;color:var(--gold)!important}
.footer-social svg{display:block!important;width:22px!important;height:22px!important;max-width:22px!important;max-height:22px!important;overflow:visible}
.footer-social a:nth-child(1) svg path,.footer-social a:nth-child(2) svg path{fill:currentColor!important;stroke:none!important}
.footer-social a:nth-child(3) svg circle,.footer-social a:nth-child(3) svg path,.footer-social a:nth-child(4) svg rect,.footer-social a:nth-child(4) svg circle,.footer-social a:nth-child(5) svg path{fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round;stroke-linejoin:round}
.footer-social a:hover{color:var(--dark)!important}
.footer-bottom,.footer-bottom a{font-family:"Lato",Arial,sans-serif!important;font-weight:300!important}

/* Article sidebar proportions */
.article-layout{grid-template-columns:minmax(0,2.15fr) minmax(285px,.85fr);gap:42px}
.side-podcast img{width:100%;height:auto!important;max-height:none!important;object-fit:cover}
.side-post{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:start}
.side-post img{width:72px!important;height:54px!important;object-fit:cover}
.side-post span{font-size:14px!important;line-height:1.25!important;color:#23282E}
.side-post small{display:block;font-size:11px!important;margin-top:4px;color:#7A7A7A}

/* Mobile audit */
@media(max-width:767px){
  body{font-size:16px!important;overflow-x:hidden}
  .wrap{width:calc(100% - 28px)!important;max-width:none}
  h1{font-size:2.25rem}h2{font-size:1.8rem}h3{font-size:1.5rem}
  .topbar-inner{min-height:50px!important;padding:0!important;gap:8px}
  .top-contact{gap:0!important;min-width:0}
  .top-contact a:first-child{display:none!important}
  .top-contact a:last-child{display:flex!important;font-size:13px!important;white-space:nowrap}
  .top-contact .mini-icon{width:15px!important;height:15px!important;flex:0 0 15px!important}
  .top-contact .mini-icon svg{width:15px!important;height:15px!important}
  .top-social{margin-left:auto!important;gap:0!important;align-self:stretch!important}
  .top-social>a:not(.online){display:none!important}
  .online{display:flex!important;align-items:center;justify-content:center;align-self:stretch;min-width:105px!important;margin-left:8px!important;padding:0 10px!important;font-size:14px!important;line-height:1.02!important}
  .nav-inner{height:68px!important}
  .brand{font-size:25px!important;width:auto!important;white-space:nowrap}
  .menu-toggle{display:block!important}
  .menu-toggle svg{width:28px;height:28px}
  .photo-hero{height:390px!important;min-height:390px!important;background-position:center top!important}
  .photo-hero h1{font-size:34px!important;line-height:1.1!important}
  .photo-hero p{font-size:16px!important}
  .intro-dark{padding:42px 0!important}
  .intro-grid-original{grid-template-columns:1fr!important;gap:24px!important;text-align:left!important}
  .intro-contact-btn{margin:0 0 22px!important}
  .intro-brand-col h2{font-size:30px!important}
  .intro-brand-col p,.intro-text-col{font-size:16px!important;line-height:1.55!important}
  .primary-areas{margin-top:0!important;padding:0 0 35px!important}
  .areas-grid{grid-template-columns:1fr!important;gap:14px!important}
  .area-card{min-height:0!important;padding:38px 25px!important}
  .area-card h3{font-size:1.7rem!important}
  .trajectory,.team-section,.practices,.contact-section{padding:55px 0!important}
  .trajectory .split,.team-grid,.contact-grid,.profile-split,.history-main .wrap,.history-values .wrap,.article-layout{grid-template-columns:1fr!important}
  .split{gap:34px!important}
  .team-grid{gap:24px!important}
  .team-card{max-width:440px;width:100%;margin:0 auto!important}
  .team-info{min-height:auto!important;padding:24px 20px!important}
  .team-info .member-social{margin-top:24px!important}
  .podcast{padding:0!important}
  .podcast-grid{grid-template-columns:1fr!important}
  .podcast-photo,.podcast-brand{min-height:225px!important}
  .podcast-copy strong{font-size:21px!important}
  .practice-grid{grid-template-columns:1fr!important;gap:18px!important}
  .practice-image{height:190px!important}
  .contact-form{padding:22px!important}
  .articles{padding:24px 0 34px!important}
  .articles-shell{padding:0 14px!important}
  .blog-card{min-height:270px!important}
  .cta-inner{flex-direction:column;align-items:flex-start!important;gap:20px!important}
  .footer-grid{grid-template-columns:1fr!important;gap:32px!important;padding:52px 0 36px!important}
  .footer-brand{text-align:left!important}
  .footer-brand img{margin-left:0!important}
  .footer p,.footer li,.footer a:not(.footer-bottom a){font-size:16px!important}
  .footer-bottom span{display:block!important;margin-left:0!important}
  .inner-hero{min-height:260px!important;padding:55px 0!important}
  .profile-block{padding:58px 0!important}
  .profile-side{padding-right:0!important;max-width:390px!important;margin:0 auto 32px!important}
  .history-main,.history-values{padding:58px 0!important}
  .history-values .history-collage{grid-template-columns:1fr!important;grid-template-rows:auto auto auto!important}
  .history-values .collage-main{grid-column:auto!important}
  .history-values .collage-gold{font-size:1.7rem!important;min-height:145px}
  .history-values .collage-small{height:auto!important;aspect-ratio:16/9!important}
  .article-title-band{min-height:0!important;padding:45px 0 78px!important}
  .article-title-band h1{font-size:2rem!important}
  .article-card{margin-top:-48px!important}
  .article-content{padding:27px 20px 34px!important;font-size:16px!important}
  .article-featured{margin:20px 0!important}
  .author-box{grid-template-columns:80px 1fr!important;gap:18px!important;padding:24px 18px!important;margin-top:45px!important}
  .author-box img{width:80px!important}
  .article-sidebar{padding:28px 0 40px!important}
  .side-social{justify-content:flex-start!important}
  .article-comments-band{height:80px!important}
}

@media(min-width:768px) and (max-width:1024px){
  .wrap{width:calc(100% - 40px)!important}
  .brand{font-size:28px!important;width:250px!important}
  .desktop-nav a{font-size:13px!important;padding-inline:8px!important}
  .top-contact a{font-size:14px!important}
  .online{font-size:16px!important;min-width:118px!important}
  .article-layout{grid-template-columns:minmax(0,1.7fr) minmax(250px,.8fr)!important;gap:28px!important}
}

/* Mobile navigation final guard */
@media(max-width:767px){
  .desktop-nav{display:none!important}
  .mobile-nav{display:none!important}
  .mobile-nav.open{display:block!important}
  .nav-inner{display:flex!important;align-items:center!important}
  .brand{flex:0 1 auto!important;min-width:0;white-space:nowrap!important}
  .menu-toggle{flex:0 0 42px!important;margin-left:auto!important}
}
