.company-page { padding-top:38px; }
.company-hero { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.7fr); align-items:end; gap:60px; padding:54px 0 42px; border-bottom:1px solid var(--line); }
.company-hero h1 { max-width:760px; margin:10px 0 0; color:var(--ink); font-family:'Noto Serif SC','Songti SC',serif; font-size:clamp(38px,5vw,68px); line-height:1.13; letter-spacing:0; }
.company-hero p { margin:0 0 8px; color:var(--ink-soft); font-size:16px; line-height:1.9; }
.company-facts { display:grid; grid-template-columns:.7fr 1.4fr .7fr; border-bottom:1px solid var(--line); }
.company-facts article { min-height:154px; padding:28px 24px; border-left:1px solid var(--line); }
.company-facts article:first-child { border-left:0; }
.company-facts span { color:#7b6248; font-size:10px; font-weight:800; letter-spacing:.12em; }
.company-facts strong { display:block; margin-top:15px; color:var(--ink); font-family:'Noto Serif SC','Songti SC',serif; font-size:22px; }
.company-facts p { margin:7px 0 0; color:var(--ink-dim); font-size:12px; }
.company-service { display:grid; grid-template-columns:minmax(230px,.6fr) minmax(0,1.4fr); gap:70px; padding:64px 0; }
.company-service h2, .company-contact h2 { margin:8px 0 0; color:var(--ink); font-family:'Noto Serif SC','Songti SC',serif; font-size:34px; letter-spacing:0; }
.company-service-list { border-top:1px solid var(--line); }
.company-service-list article { display:grid; grid-template-columns:52px 1fr; gap:18px; padding:22px 0; border-bottom:1px solid var(--line); }
.company-service-list b { color:#99704a; font-size:11px; }
.company-service-list h3 { margin:0; color:var(--ink); font-size:16px; }
.company-service-list p { margin:7px 0 0; color:var(--ink-soft); font-size:13px; line-height:1.75; }
.company-contact { display:flex; align-items:end; justify-content:space-between; gap:40px; padding:36px; border:1px solid #bfcfc9; background:#f4f8f6; }
.company-contact p { max-width:720px; margin:12px 0 0; color:var(--ink-soft); line-height:1.8; }
.company-contact-actions { display:flex; flex:0 0 auto; gap:9px; }
.not-found-main { display:grid; align-items:center; min-height:calc(100vh - 180px); }
.not-found { display:grid; grid-template-columns:minmax(240px,.7fr) minmax(0,1fr); align-items:center; gap:64px; padding:70px 0; }
.not-found-code { color:#dbe7e2; font-family:'Noto Serif SC','Songti SC',serif; font-size:clamp(120px,22vw,300px); font-weight:700; line-height:.8; }
.not-found h1 { max-width:680px; margin:9px 0 14px; color:var(--ink); font-family:'Noto Serif SC','Songti SC',serif; font-size:clamp(36px,5vw,62px); line-height:1.2; letter-spacing:0; }
.not-found p { max-width:600px; color:var(--ink-soft); font-size:15px; line-height:1.85; }
.not-found-actions { display:flex; gap:9px; margin-top:24px; }
@media (max-width:760px) {
  .company-page { padding-top:10px; }
  .company-hero, .company-service, .not-found { grid-template-columns:1fr; gap:28px; }
  .company-hero { padding:35px 0 28px; }
  .company-hero h1 { font-size:38px; }
  .company-facts { grid-template-columns:1fr; }
  .company-facts article { min-height:0; padding:20px 0; border-top:1px solid var(--line); border-left:0; }
  .company-facts article:first-child { border-top:0; }
  .company-service { padding:44px 0; }
  .company-contact { align-items:stretch; flex-direction:column; padding:25px 20px; }
  .company-contact-actions, .not-found-actions { display:grid; grid-template-columns:1fr; width:100%; }
  .company-contact-actions .btn, .not-found-actions .btn { width:100%; box-sizing:border-box; }
  .not-found { padding:45px 0; }
  .not-found-code { font-size:125px; }
  .not-found h1 { font-size:38px; }
}
