/* Lean production overrides: accessibility, mobile ergonomics, and reduced visual overhead. */
:focus-visible{outline:2px solid var(--gold2);outline-offset:4px}
.menu{font:inherit;cursor:pointer;min-width:48px;min-height:44px}
.footer-links{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:12px;letter-spacing:.08em}
.footer-links a{text-decoration:none;color:#c9c4bb}
.footer-links a:hover{color:var(--gold2)}
.compact-leadership{margin-top:18px}
.compact-leadership .card{min-height:0}

/* Our Group: clickable enterprise structure */
.group-experience{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:46px;align-items:start}
.interactive-org{max-width:none}
.org .group-node{display:flex;align-items:center;justify-content:space-between;gap:18px;text-decoration:none;text-align:left;min-height:86px;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.group-node-copy{display:block;min-width:0}.org .group-node-copy>span{display:block;color:#bdb7ac;font-size:.8rem;margin-top:4px}
.group-arrow{font-size:1.5rem;color:var(--gold2);transition:transform .2s ease}
.group-node:hover,.group-node:focus-visible{background:#151109;border-color:var(--gold2);transform:translateY(-1px)}
.group-node:hover .group-arrow,.group-node:focus-visible .group-arrow{transform:translateX(4px)}

/* Our Group: expandable principle cards */
.principles-section .statement{margin:10px 0 10px}.principles-intro{max-width:760px;margin-bottom:20px}
.principle-grid{align-items:stretch}.principle-card{appearance:none;width:100%;color:inherit;text-align:left;font:inherit;cursor:pointer;position:relative;min-height:210px;padding-right:58px}
.principle-card .copy{margin-bottom:0}.principle-plus{position:absolute;right:20px;top:20px;width:34px;height:34px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold2);font-size:1.35rem;line-height:1}
.principle-card:hover,.principle-card:focus-visible{border-color:var(--gold2);background:linear-gradient(145deg,rgba(29,24,16,.96),rgba(9,8,7,.98))}
.principle-card:hover .principle-plus{background:var(--gold);color:#141210}

/* Floating principle detail panel */
.principle-dialog{border:0;padding:0;background:transparent;color:var(--ivory);width:min(560px,calc(100vw - 32px));max-width:none;position:fixed;inset:0 26px 0 auto;margin:auto;height:max-content;max-height:calc(100vh - 48px)}
.principle-dialog::backdrop{background:rgba(0,0,0,.68);backdrop-filter:blur(3px)}
.principle-panel{position:relative;border:1px solid var(--gold);background:linear-gradient(145deg,rgba(21,18,14,.99),rgba(6,6,6,.995));padding:34px 36px;box-shadow:0 26px 80px rgba(0,0,0,.55);overflow:auto;max-height:calc(100vh - 48px)}
.principle-panel h2{font:600 clamp(1.55rem,3vw,2.15rem)/1.15 'Cinzel',Georgia,serif;color:var(--gold2);margin:9px 40px 14px 0;text-transform:uppercase}
.principle-panel p{color:#d5d0c7;line-height:1.7}.principle-panel ul{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px;color:#c9c4bb}
.principle-panel li{position:relative;padding-left:25px;line-height:1.45}.principle-panel li::before{content:'✓';position:absolute;left:0;color:var(--gold2)}
.principle-close{position:absolute;right:18px;top:14px;border:0;background:none;color:var(--gold2);font-size:1.8rem;cursor:pointer;line-height:1;padding:8px}
body.dialog-open{overflow:hidden}

@media(max-width:1100px){.group-experience{grid-template-columns:1fr;gap:34px}}
@media(max-width:900px){
  .nav{max-height:calc(100vh - 78px);overflow:auto;gap:0;padding:10px 24px 20px}
  .nav a{width:100%;padding:14px 0;font-size:.78rem}
  .nav .connect{width:auto;padding:12px 16px;margin-top:6px}
  .hero{min-height:520px}
  .hero .shell{padding:62px 0 54px}
  .content{padding:42px 0 50px}
  .principle-dialog{inset:auto 14px 18px 14px;margin:0;width:auto;max-height:calc(100vh - 36px)}
  .principle-panel{padding:28px 24px;max-height:calc(100vh - 36px)}
}
@media(max-width:600px){
  .shell,.narrow{width:calc(100% - 28px)}
  .brand-copy span{display:none}
  .brand-copy strong{font-size:.82rem;letter-spacing:.035em}
  .brand img{width:42px;height:50px}
  .title{font-size:clamp(2.25rem,11vw,3.6rem);line-height:1.08}
  .lead{font-size:.96rem;line-height:1.65}
  .hero{min-height:470px;background-position:center}
  .hero .shell{padding:52px 0 44px}
  .card,.full-line{padding:21px}
  .footer{padding:24px 0}
  .footer-center{text-align:left}
  .org .group-node{min-height:78px;padding:17px 16px}.org .group-node strong{font-size:.92rem}.group-arrow{font-size:1.25rem}
  .principle-grid{grid-template-columns:1fr}.principle-card{min-height:0;padding:22px 58px 22px 22px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
