/* Quiet company navigation; the reference red is retained as a small accent. */
.company-layout { display:grid; grid-template-columns:210px minmax(0,1fr); gap:44px; align-items:start; }
.company-aside { position:sticky; top:132px; margin-bottom:48px; background:transparent; }
.company-menu-title { margin:0; padding:20px 0; color:var(--ink); border-bottom:1px solid #b9b5a9; font-size:19px; font-weight:600; letter-spacing:.06em; }
.company-menu { display:grid; }
.company-menu a { position:relative; display:flex; justify-content:space-between; align-items:center; gap:14px; padding:19px 0; border-bottom:1px solid #deddd6; color:#53605f; font-size:16px; font-weight:500; line-height:1.6; }
.company-menu a span { color:#9b8070; font-size:18px; }
.company-menu a:hover { color:var(--ink); }
.company-menu a[aria-current="page"] { color:var(--ink); padding-left:16px; font-weight:700; }
.company-menu a[aria-current="page"]::before { content:""; position:absolute; left:0; top:calc(50% - 8px); height:16px; width:2px; background:#9d5145; }
.company-menu a[aria-current="page"] span { color:#9d5145; }
.company-menu a:focus-visible { outline-offset:-5px; outline-color:#c38427; }
.company-main { min-width:0; }
.company-main .page-head { background:transparent; border-bottom-color:#c5baa3; }
.company-main .page-head .eyebrow { color:#80502f; }
.company-main .page-content { max-width:none; margin:0; padding-top:42px; }
.company-main .company-row { grid-template-columns:136px minmax(0,1fr); gap:20px; padding-inline:12px; }
.company-main .section-heading { border-left-color:#ad674b; }
.philosophy { padding:10px 0 44px; border-bottom:1px solid #c6c7b9; }
.philosophy .eyebrow { color:#4c6650; margin-bottom:14px; }
.philosophy h2 { font-family:var(--serif); font-size:clamp(26px,2.8vw,34px); font-weight:600; line-height:1.95; margin:0; letter-spacing:.035em; }
.spirit,.values { margin-top:46px; }
.heading-detail { display:inline-block; margin-left:10px; font-size:19px; font-weight:400; }
.principle-list { display:grid; gap:0; padding:0; margin:0; list-style:none; border-top:1px solid var(--line); }
.principle-list li { display:grid; grid-template-columns:48px minmax(0,1fr); gap:22px; padding:28px 14px; border-bottom:1px solid var(--line); }
.principle-number { color:#977e58; font-size:26px; font-family:var(--serif); line-height:1.6; letter-spacing:.05em; }
.principle-list h3 { font-size:24px; line-height:1.6; margin:0 0 7px; }
.principle-list p { font-size:18px; }
.approach-intro p { line-height:2.1; }
.value-list { display:grid; gap:0; border-bottom:1px solid var(--line); }
.value-list>div { display:grid; grid-template-columns:140px minmax(0,1fr); gap:28px; padding:30px 0; border-top:1px solid var(--line); }
.value-list dt { font-size:24px; font-family:var(--serif); font-weight:600; line-height:1.6; margin-bottom:10px; }
.value-list dd { line-height:2; }
.location-panel { padding:30px 0; border-block:1px solid var(--line); }
.location-company { font-size:22px; font-weight:700; margin-bottom:14px; color:var(--ink); }
.location-panel .map-link { margin-top:16px; }
@media (max-width:960px) {
  .company-layout { grid-template-columns:1fr; gap:30px; }
  .company-aside { position:static; margin-bottom:0; }
  .company-menu-title { padding:10px 0 16px; font-size:18px; }
  .company-menu { display:flex; flex-wrap:wrap; }
  .company-menu a { flex:1 1 auto; justify-content:center; padding:16px 18px; font-size:16px; }
  .company-menu a[aria-current="page"] { padding-left:18px; color:#925244; border-bottom-color:#925244; }
  .company-menu a[aria-current="page"]::before { display:none; }
  .company-menu a span { display:none; }
  .company-main .page-content { padding-top:34px; }
}
@media (max-width:600px) {
  .company-layout { gap:24px; }
  .company-menu a { flex-basis:33.333%; padding:14px 8px; font-size:15px; }
  .company-menu a[aria-current="page"] { padding-left:8px; }
  .company-main .company-row { grid-template-columns:1fr; gap:7px; padding-inline:18px; }
  .philosophy { padding:6px 0 32px; } .philosophy h2 { font-size:25px; }
  .spirit,.values { margin-top:34px; }
  .heading-detail { font-size:17px; margin-left:6px; }
  .principle-list li { grid-template-columns:32px minmax(0,1fr); gap:14px; padding:24px 6px; }
  .principle-number { font-size:19px; } .principle-list h3 { font-size:22px; } .principle-list p { font-size:17px; }
  .value-list>div { grid-template-columns:1fr; gap:6px; padding:24px 0; } .value-list dt { font-size:23px; }
  .location-panel { padding:24px 0; } .location-company { font-size:20px; }
}
