.company-section { position:relative; overflow:hidden; padding:clamp(72px,8vw,106px) clamp(20px,5vw,72px) clamp(64px,7vw,90px); color:#f4f8fc; background:radial-gradient(ellipse at 90% 0,#165184 0,transparent 38%),linear-gradient(140deg,#051d36,#082e50 55%,#041a31); border-top:5px solid #ffc400; isolation:isolate; }
.company-section::before { content:""; position:absolute; z-index:-1; top:-310px; right:-210px; width:510px; height:510px; border:1px solid #ffc40016; border-radius:50%; box-shadow:0 0 0 34px #ffc40005,0 0 0 72px #ffc40004; pointer-events:none; }
.company-inner { width:min(100%,1200px); margin:0 auto; }
.company-intro { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); align-items:center; gap:clamp(28px,5vw,62px); }
.company-eyebrow { display:inline-flex; align-items:center; gap:10px; margin:0 0 14px; color:#ffd02d; font-size:13px; line-height:1; font-weight:800; letter-spacing:.2em; }
.company-eyebrow::before { content:""; width:24px; height:1px; background:#ffd02d88; }
.company-intro h2 { max-width:630px; margin:0; color:#fff; font-family:'Roboto Condensed',Arial,sans-serif; font-size:clamp(37px,5vw,58px); line-height:1.04; font-weight:900; letter-spacing:-.025em; }
.company-lead { max-width:620px; margin:18px 0 20px; color:#ffd02d; font-family:'Roboto Condensed',Arial,sans-serif; font-size:clamp(22px,2.6vw,30px); line-height:1.18; font-weight:800; }
.company-paragraphs { display:grid; gap:11px; }
.company-paragraphs p { margin:0; color:#d1ddeb; font-size:15px; line-height:1.62; }
.company-image-wrap { position:relative; min-width:0; margin:0; overflow:hidden; aspect-ratio:1.65; border:1px solid #ffffff42; border-radius:16px; background:#102e49; box-shadow:0 22px 50px #00132655; }
.company-image-wrap::after { content:""; position:absolute; inset:50% 0 0; background:linear-gradient(transparent,#001a30a8); pointer-events:none; }
.company-image-wrap img { display:block; width:100%; height:100%; object-fit:cover; }
.company-image-tag { position:absolute; z-index:1; right:16px; bottom:14px; color:#fff; font-size:11px; font-weight:900; letter-spacing:.17em; text-shadow:0 2px 8px #001326; }
.company-approach { display:flex; align-items:flex-start; gap:14px; margin:34px 0 40px; padding:20px 22px; border:1px solid #ffc40045; border-left:4px solid #ffc400; border-radius:10px; color:#e6eef6; background:linear-gradient(100deg,#0b3559,#0a2c4b); font-size:16px; line-height:1.55; box-shadow:0 12px 28px #00132630; }
.company-approach svg { flex:0 0 23px; width:23px; height:23px; margin-top:1px; color:#ffd02d; }
.company-details { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr); gap:30px; align-items:stretch; }
.company-details h3 { margin:0 0 20px; color:#fff; font-family:'Roboto Condensed',Arial,sans-serif; font-size:clamp(24px,2.8vw,32px); line-height:1.12; font-weight:900; }
.company-direction-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.company-direction { display:flex; align-items:flex-start; gap:13px; min-width:0; padding:17px 16px; border:1px solid #ffffff1c; border-radius:10px; background:#ffffff08; transition:border-color .2s ease,background .2s ease,transform .2s ease; }
.company-direction:hover { transform:translateY(-2px); border-color:#ffc40070; background:#ffffff0e; }
.company-direction:last-child { grid-column:1 / -1; }
.company-direction-icon { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border:1px solid #ffc40050; border-radius:9px; color:#ffd02d; background:#ffc4000d; }
.company-direction-icon svg { width:22px; height:22px; }
.company-direction h4 { margin:1px 0 6px; color:#fff; font-size:15px; line-height:1.25; font-weight:800; }
.company-direction p { margin:0; color:#bdcede; font-size:13px; line-height:1.5; }
.company-principles { padding:22px 22px 20px; border:1px solid #ffffff21; border-radius:12px; background:linear-gradient(145deg,#0b3457,#072642); box-shadow:0 14px 32px #00132635; }
.company-principles h3 { margin-bottom:18px; }
.company-principles ul { display:grid; gap:14px; margin:0; padding:0; list-style:none; }
.company-principles li { display:flex; align-items:flex-start; gap:11px; color:#d5e0eb; font-size:14px; line-height:1.45; }
.company-principles li span { display:grid; flex:0 0 21px; width:21px; height:21px; place-items:center; margin-top:-1px; border-radius:50%; color:#082746; background:#ffd02d; font-size:13px; font-weight:900; }
.company-footer { display:flex; align-items:center; justify-content:space-between; gap:26px; margin-top:34px; padding:23px 26px; border:1px solid #ffc40055; border-radius:13px; background:#041c33a8; }
.company-footer p { max-width:750px; margin:0; color:#fff; font-family:'Roboto Condensed',Arial,sans-serif; font-size:clamp(19px,2.2vw,25px); line-height:1.25; font-weight:800; }
.company-contact-button { flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:12px 17px; border:1px solid #ffe269; border-radius:8px; color:#06213e; background:linear-gradient(180deg,#ffdc3c,#ffc000); box-shadow:0 4px 0 #b78300; font-family:'Roboto Condensed',Arial,sans-serif; font-size:16px; font-weight:900; text-decoration:none; transition:transform .18s ease,filter .18s ease; }
.company-contact-button:hover { transform:translateY(-2px); filter:brightness(1.04); }
.company-contact-button:focus-visible { outline:3px solid #fff; outline-offset:4px; }
.company-contact-button svg { width:19px; height:19px; flex:0 0 auto; }
@media (max-width:900px) { .company-intro { grid-template-columns:1fr; }.company-image-wrap { width:100%; aspect-ratio:1.8; }.company-details { grid-template-columns:1fr; }.company-principles ul { grid-template-columns:repeat(2,minmax(0,1fr)); }.company-principles li:last-child { grid-column:1 / -1; } }
@media (max-width:620px) { .company-section { padding:60px 17px 64px; }.company-intro { gap:23px; }.company-intro h2 { font-size:38px; }.company-lead { margin:15px 0; font-size:23px; }.company-paragraphs p { font-size:14px; }.company-image-wrap { aspect-ratio:1.48; border-radius:12px; }.company-approach { margin:24px 0 29px; padding:16px; font-size:14px; }.company-details { gap:25px; }.company-details h3 { margin-bottom:15px; font-size:26px; }.company-direction-grid { grid-template-columns:1fr; gap:10px; }.company-direction:last-child { grid-column:auto; }.company-direction { padding:15px 14px; }.company-principles { padding:20px 17px; }.company-principles ul { grid-template-columns:1fr; gap:12px; }.company-principles li:last-child { grid-column:auto; }.company-footer { align-items:stretch; flex-direction:column; gap:18px; margin-top:25px; padding:19px; }.company-footer p { font-size:21px; }.company-contact-button { width:100%; min-height:50px; } }
@media (prefers-reduced-motion:reduce) { .company-direction,.company-contact-button { transition:none!important; } }

/* Light company section creates a clear break after the blue works gallery. */
.company-section { color:#092746; background:radial-gradient(ellipse at 90% 0,#d9e9f4 0,transparent 38%),linear-gradient(140deg,#f7f9fb,#e9f0f5 55%,#f9fafb); border-top:7px solid #ffc400; box-shadow:inset 0 4px 0 #0a3b63; }
.company-section::before { border-color:#0a3b6315; box-shadow:0 0 0 34px #0a3b6306,0 0 0 72px #0a3b6304; }
.company-eyebrow { color:#947000; }
.company-eyebrow::before { background:#ac8519a6; }
.company-intro h2,.company-details h3 { color:#082746; }
.company-lead { color:#0b4c7a; }
.company-paragraphs p { color:#4c6378; }
.company-approach { border-color:#d7e2eb; border-left-color:#e3b900; color:#304a61; background:linear-gradient(100deg,#fff,#f6f9fb); box-shadow:0 12px 28px #12314d12; }
.company-approach svg { color:#9b7200; }
.company-direction { border-color:#d9e3ec; background:#ffffffd9; box-shadow:0 8px 22px #12314d0b; }
.company-direction:hover { border-color:#d1aa22; background:#fff; }
.company-direction-icon { border-color:#d8b43470; color:#9b7200; background:#fff8df; }
.company-direction h4 { color:#092746; }
.company-direction p,.company-principles li { color:#52677b; }
.company-principles { border-color:#d9e3ec; background:linear-gradient(145deg,#fff,#f5f8fa); box-shadow:0 14px 32px #12314d12; }
.company-principles h3 { color:#092746; }
.company-principles li span { color:#092746; }
