.company-main { overflow: hidden; }
.company-section { padding: 82px 0; }
.company-section-soft { background: var(--background-soft); border-block: 1px solid var(--border); }
.company-heading { max-width: 720px; margin-bottom: 34px; }
.company-heading h2 { margin: 0; color: var(--brand-navy); font-size: clamp(1.9rem,3vw,3rem); line-height: 1.18; letter-spacing: -.035em; }
.company-heading > p:last-child { margin: 16px 0 0; color: var(--text-secondary); font-size: 1rem; }

.company-hero { position: relative; min-height: 610px; display: grid; align-items: center; color: #fff; background: linear-gradient(132deg,#102e4a 0%,#173b5e 62%,#1f4a70 100%); }
.company-hero::before { content: ""; position: absolute; inset: 0; opacity: .2; background-image: radial-gradient(rgba(255,255,255,.32) .7px,transparent .7px); background-size: 24px 24px; mask-image: linear-gradient(90deg,transparent 0,#000 65%,transparent 100%); }
.company-hero::after { content: ""; position: absolute; right: -180px; top: -220px; width: 620px; height: 620px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; box-shadow: 0 0 0 70px rgba(229,34,50,.04),0 0 0 140px rgba(255,255,255,.018); }
.company-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.08fr) minmax(390px,.92fr); gap: 76px; align-items: center; padding-block: 74px; }
.company-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; color: #abc0d1; font-size: .82rem; }
.company-breadcrumb a { color: #fff; text-decoration: none; }
.company-hero .eyebrow { color: var(--brand-gold); }
.company-hero h1 { max-width: 720px; margin: 0; font-size: clamp(2.6rem,4.4vw,4.4rem); line-height: 1.09; letter-spacing: -.05em; text-wrap: balance; }
.company-hero-lead { max-width: 680px; margin: 24px 0 0; color: #d2dde6; font-size: 1.05rem; line-height: 1.8; }
.company-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.company-hero .button-secondary { color: #fff; background: transparent; border-color: rgba(255,255,255,.55); }
.company-hero .button-secondary:hover { background: rgba(255,255,255,.08); }
.company-hero-panel { position: relative; min-height: 390px; padding: 28px; background: rgba(6,25,41,.62); border: 1px solid rgba(255,255,255,.16); border-radius: 24px; box-shadow: 0 28px 70px rgba(4,18,31,.28); }
.company-panel-head { display: flex; justify-content: space-between; gap: 16px; padding-bottom: 17px; color: #a9bdcc; border-bottom: 1px solid rgba(255,255,255,.12); font-size: .62rem; font-weight: 850; letter-spacing: .12em; }
.company-panel-head strong { color: var(--brand-gold); }

.about-map { position: relative; height: 290px; margin-top: 20px; }
.about-map-center { position: absolute; z-index: 2; left: 50%; top: 50%; width: 118px; height: 118px; display: grid; place-items: center; color: #fff; background: var(--brand-primary); border-radius: 50%; transform: translate(-50%,-50%); text-align: center; font-size: .78rem; font-weight: 850; letter-spacing: .06em; box-shadow: 0 0 0 15px rgba(229,34,50,.12); }
.about-map span:not(.about-map-center) { position: absolute; z-index: 2; min-width: 106px; padding: 10px 12px; color: #dce6ed; background: #173b5e; border: 1px solid rgba(255,255,255,.15); border-radius: 8px; text-align: center; font-size: .67rem; font-weight: 760; }
.about-map span:nth-child(2) { left: 0; top: 24px; }.about-map span:nth-child(3) { right: 0; top: 24px; }
.about-map span:nth-child(4) { left: 0; bottom: 27px; }.about-map span:nth-child(5) { right: 0; bottom: 27px; }
.about-map::before,.about-map::after { content: ""; position: absolute; left: 15%; right: 15%; top: 50%; height: 1px; background: linear-gradient(90deg,var(--brand-gold),rgba(255,255,255,.25),var(--brand-primary)); transform: rotate(23deg); }
.about-map::after { transform: rotate(-23deg); }

.company-intro-grid { display: grid; grid-template-columns: minmax(0,.82fr) minmax(520px,1.18fr); gap: 70px; align-items: start; }
.company-intro-copy h2 { margin: 0; color: var(--brand-navy); font-size: clamp(2rem,3.2vw,3.2rem); line-height: 1.16; letter-spacing: -.04em; }
.company-intro-copy > p:last-child { margin: 20px 0 0; color: var(--text-secondary); font-size: 1.02rem; }
.company-scope { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.company-scope article { padding: 20px; background: #fff; border: 1px solid var(--border); border-radius: 12px; }
.company-scope span { color: var(--brand-primary); font-size: .64rem; font-weight: 850; letter-spacing: .1em; }
.company-scope h3 { margin: 10px 0 0; color: var(--brand-navy); font-size: 1.04rem; }
.company-scope p { margin: 7px 0 0; color: var(--text-secondary); font-size: .86rem; line-height: 1.62; }

.principle-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; }
.principle-grid article { min-height: 216px; padding: 25px; background: #fff; border: 1px solid var(--border); border-top: 3px solid var(--brand-primary); border-radius: 13px; box-shadow: var(--shadow-sm); }
.principle-grid span { color: var(--brand-primary); font-size: .68rem; font-weight: 850; letter-spacing: .12em; }
.principle-grid h3 { margin: 20px 0 0; color: var(--brand-navy); font-size: 1.14rem; }
.principle-grid p { margin: 10px 0 0; color: var(--text-secondary); font-size: .88rem; }

.company-flow { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); margin: 0; padding: 0; list-style: none; }
.company-flow li { position: relative; min-width: 0; text-align: center; }
.company-flow li::after { content: ""; position: absolute; left: calc(50% + 19px); right: calc(-50% + 19px); top: 19px; height: 1px; background: linear-gradient(90deg,var(--brand-primary),rgba(23,59,94,.18)); }
.company-flow li:last-child::after { display: none; }
.company-flow span { position: relative; z-index: 2; width: 38px; height: 38px; display: grid; place-items: center; margin: 0 auto; color: #fff; background: var(--brand-navy); border-radius: 50%; font-size: .7rem; font-weight: 850; }
.company-flow li:last-child span { background: var(--brand-primary); }
.company-flow strong { display: block; margin: 15px 8px 0; color: var(--brand-navy); font-size: .76rem; line-height: 1.5; }

.ecosystem-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.72fr); gap: 26px; }
.industry-panel,.value-panel { padding: 32px; background: #fff; border: 1px solid var(--border); border-radius: 18px; }
.industry-list { display: flex; flex-wrap: wrap; gap: 9px; margin: 23px 0 0; padding: 0; list-style: none; }
.industry-list li { padding: 8px 12px; color: var(--brand-navy); background: var(--background-soft); border: 1px solid var(--border); border-radius: 7px; font-size: .84rem; font-weight: 720; }
.qualification-note { margin: 24px 0 0; padding: 17px 19px; color: var(--brand-navy); background: #fff6f7; border: 1px solid #f7cdd1; border-radius: 10px; font-size: .9rem; }
.value-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.value-list li { position: relative; padding: 15px 0 15px 26px; color: var(--brand-navy); border-bottom: 1px solid var(--border); font-size: .94rem; font-weight: 730; }
.value-list li:last-child { border-bottom: 0; }
.value-list li::before { content: ""; position: absolute; left: 2px; top: 24px; width: 8px; height: 8px; background: var(--brand-primary); border-radius: 50%; box-shadow: 0 0 0 5px rgba(229,34,50,.08); }

.company-final { padding: 72px 0; color: #fff; background: var(--brand-navy); }
.company-final-grid { display: grid; grid-template-columns: minmax(0,1.25fr) auto; gap: 60px; align-items: center; }
.company-final h2 { max-width: 760px; margin: 0; font-size: clamp(2rem,3.2vw,3.3rem); line-height: 1.16; letter-spacing: -.04em; }
.company-final p { max-width: 760px; margin: 17px 0 0; color: #c9d6e0; }
.company-final-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }

.contact-brief { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin-top: 22px; }
.contact-brief span { min-height: 72px; display: flex; align-items: center; padding: 13px; color: #dce6ed; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.11); border-radius: 9px; font-size: .71rem; font-weight: 720; }
.contact-brief span:last-child { color: #fff; background: rgba(229,34,50,.2); border-color: rgba(229,34,50,.45); }
.prepare-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.prepare-grid li { min-height: 88px; display: flex; align-items: center; gap: 12px; margin: 0; padding: 18px; background: #fff; border: 1px solid var(--border); border-radius: 11px; color: var(--brand-navy); font-weight: 740; list-style: none; }
.prepare-grid span { flex: 0 0 auto; color: var(--brand-primary); font-size: .67rem; font-weight: 850; }
.prepare-note { margin: 20px 0 0; color: var(--text-secondary); font-size: .9rem; }

.channel-layout { display: grid; grid-template-columns: minmax(0,.86fr) minmax(480px,1.14fr); gap: 54px; align-items: center; }
.channel-status { padding: 28px; background: #fff; border: 1px solid var(--border); border-radius: 16px; box-shadow: var(--shadow-sm); }
.channel-status-head { display: flex; justify-content: space-between; gap: 16px; padding-bottom: 17px; color: var(--brand-navy); border-bottom: 1px solid var(--border); font-size: .74rem; font-weight: 850; letter-spacing: .08em; }
.channel-status-head span:last-child { color: var(--brand-primary); }
.channel-slots { display: grid; gap: 8px; margin-top: 16px; }
.channel-slot { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 15px; background: var(--background-soft); border-radius: 9px; }
.channel-slot strong { color: var(--brand-navy); font-size: .9rem; }
.channel-slot span { color: var(--text-secondary); font-size: .78rem; }
.channel-status > p { margin: 17px 0 0; color: var(--text-secondary); font-size: .85rem; }
.verified-channel { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px; color: var(--brand-navy); background: var(--background-soft); border: 1px solid transparent; border-radius: 9px; text-decoration: none; transition: border-color 180ms ease,transform 180ms ease; }
.verified-channel:hover { border-color: var(--brand-primary); transform: translateY(-1px); }
.verified-channel span { min-width: 0; overflow-wrap: anywhere; color: var(--brand-primary); font-weight: 800; }

.routing-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; }
.routing-grid a { min-height: 135px; display: flex; flex-direction: column; justify-content: space-between; padding: 22px; color: var(--brand-navy); background: #fff; border: 1px solid var(--border); border-radius: 12px; text-decoration: none; transition: transform 180ms ease,border-color 180ms ease; }
.routing-grid a:hover { transform: translateY(-2px); border-color: #e8a0a7; }
.routing-grid span { color: var(--brand-primary); font-size: .62rem; font-weight: 850; letter-spacing: .1em; }
.routing-grid strong { font-size: 1.06rem; }
.routing-grid small { color: var(--text-secondary); }

.contact-end-grid { display: grid; grid-template-columns: minmax(0,.78fr) minmax(520px,1.22fr); gap: 54px; align-items: start; }
.security-panel { padding: 30px; color: #fff; background: var(--brand-navy); border-radius: 17px; }
.security-panel h2 { margin: 0; font-size: 1.65rem; line-height: 1.25; }
.security-panel > p { margin: 13px 0 0; color: #c7d4de; font-size: .9rem; }
.security-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 0; padding: 0; list-style: none; }
.security-list li { padding: 7px 10px; color: #fff; background: rgba(229,34,50,.18); border: 1px solid rgba(229,34,50,.4); border-radius: 7px; font-size: .78rem; }
.security-safe { margin-top: 19px !important; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.14); }
.company-faq { display: grid; gap: 8px; }
.company-faq details { background: #fff; border: 1px solid var(--border); border-radius: 10px; }
.company-faq summary { position: relative; padding: 16px 42px 16px 18px; color: var(--brand-navy); cursor: pointer; font-weight: 760; list-style: none; }
.company-faq summary::-webkit-details-marker { display: none; }
.company-faq summary::after { content: "+"; position: absolute; right: 18px; top: 13px; color: var(--brand-primary); font-size: 1.2rem; }
.company-faq details[open] summary::after { content: "−"; }
.company-faq details p { margin: 0; padding: 0 18px 17px; color: var(--text-secondary); font-size: .87rem; }

.legal-hero { position: relative; padding: 82px 0 76px; overflow: hidden; color: #fff; background: linear-gradient(135deg,#102e4a,#173b5e 72%,#204c72); }
.legal-hero::after { content: ""; position: absolute; right: -170px; top: -250px; width: 560px; height: 560px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; box-shadow: 0 0 0 64px rgba(229,34,50,.04),0 0 0 128px rgba(255,255,255,.018); }
.legal-hero-inner { position: relative; z-index: 1; max-width: 880px; }
.legal-hero .eyebrow { color: var(--brand-gold); }
.legal-hero h1 { margin: 0; font-size: clamp(2.55rem,4.4vw,4.35rem); line-height: 1.08; letter-spacing: -.05em; }
.legal-hero-lead { max-width: 790px; margin: 22px 0 0; color: #d2dde6; font-size: 1.04rem; line-height: 1.8; }
.legal-meta { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 25px; }
.legal-meta span { padding: 7px 11px; color: #dce6ed; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); border-radius: 7px; font-size: .77rem; }
.legal-page-section { padding: 74px 0 90px; }
.legal-layout { display: grid; grid-template-columns: 238px minmax(0,760px); gap: 74px; align-items: start; justify-content: center; }
.legal-toc { position: sticky; top: 110px; padding: 22px; background: var(--background-soft); border: 1px solid var(--border); border-radius: 13px; }
.legal-toc strong { display: block; margin-bottom: 13px; color: var(--brand-navy); font-size: .75rem; letter-spacing: .08em; }
.legal-toc a { display: block; padding: 7px 0; color: var(--text-secondary); border-bottom: 1px solid var(--border); font-size: .78rem; line-height: 1.45; text-decoration: none; }
.legal-toc a:last-child { border-bottom: 0; }
.legal-toc a:hover { color: var(--brand-primary); }
.legal-content { min-width: 0; }
.legal-intro { margin: 0 0 14px; padding: 21px 23px; color: var(--brand-navy); background: #fff6f7; border-left: 4px solid var(--brand-primary); border-radius: 0 10px 10px 0; }
.legal-section { padding: 34px 0; border-bottom: 1px solid var(--border); }
.legal-section:last-of-type { border-bottom: 0; }
.legal-section h2 { margin: 0; color: var(--brand-navy); font-size: clamp(1.35rem,2.2vw,1.78rem); line-height: 1.3; letter-spacing: -.025em; }
.legal-section h3 { margin: 24px 0 0; color: var(--brand-navy); font-size: 1.02rem; }
.legal-section p { margin: 13px 0 0; color: var(--text-secondary); }
.legal-section a { color: var(--brand-primary-hover); font-weight: 720; }
.legal-list { display: grid; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.legal-list li { position: relative; padding-left: 21px; color: var(--text-secondary); }
.legal-list li::before { content: ""; position: absolute; left: 2px; top: .72em; width: 7px; height: 7px; background: var(--brand-primary); border-radius: 50%; }
.legal-warning { margin-top: 18px; padding: 17px 19px; color: var(--brand-navy); background: var(--background-soft); border: 1px solid var(--border); border-radius: 10px; }
.legal-page-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--border); }
.legal-page-links a { min-height: 46px; display: inline-flex; align-items: center; padding: 9px 15px; color: var(--brand-navy); border: 1px solid var(--border); border-radius: 8px; font-size: .86rem; font-weight: 760; text-decoration: none; }
.legal-page-links a:hover { border-color: var(--brand-primary); }

@media (max-width: 1050px) {
  .company-hero-grid,.company-intro-grid,.channel-layout,.contact-end-grid { grid-template-columns: 1fr; gap: 42px; }
  .company-hero-panel { min-height: 350px; }
  .company-intro-copy { max-width: 740px; }
  .principle-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .company-final-grid { grid-template-columns: 1fr; gap: 30px; }
  .company-final-actions { justify-content: flex-start; }
  .legal-layout { grid-template-columns: 1fr; gap: 34px; }
  .legal-toc { position: static; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 18px; }
  .legal-toc strong { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .company-section { padding: 64px 0; }
  .company-hero { min-height: auto; }
  .company-hero-grid { padding-block: 58px; }
  .company-hero h1 { font-size: clamp(2.25rem,11vw,3.35rem); }
  .company-hero-panel { min-height: 320px; padding: 22px; }
  .ecosystem-grid { grid-template-columns: 1fr; }
  .company-flow { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px 0; }
  .company-flow li:nth-child(3)::after { display: none; }
  .prepare-grid,.routing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .legal-hero { padding: 62px 0 58px; }
  .legal-page-section { padding: 54px 0 70px; }
  .legal-toc { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 450px) {
  .company-hero-grid { gap: 34px; padding-block: 44px 48px; }
  .company-hero h1 { font-size: 2.3rem; }
  .company-hero-lead { font-size: .96rem; }
  .company-hero-actions { display: grid; }
  .company-hero-panel { min-height: 286px; padding: 18px; border-radius: 18px; }
  .company-panel-head { font-size: .54rem; }
  .about-map { height: 220px; }
  .about-map-center { width: 86px; height: 86px; font-size: .65rem; }
  .about-map span:not(.about-map-center) { min-width: 88px; padding: 8px; font-size: .56rem; }
  .company-scope,.principle-grid { grid-template-columns: 1fr; }
  .principle-grid article { min-height: 0; }
  .company-flow strong { margin-inline: 3px; font-size: .67rem; }
  .industry-panel,.value-panel { padding: 23px 19px; }
  .company-final { padding: 58px 0; }
  .company-final-actions { display: grid; }
  .contact-brief,.prepare-grid,.routing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .contact-brief span { min-height: 62px; padding: 10px; font-size: .64rem; }
  .prepare-grid li { min-height: 76px; padding: 14px 11px; font-size: .78rem; }
  .routing-grid a { min-height: 116px; padding: 17px 14px; }
  .routing-grid strong { font-size: .9rem; }
  .channel-status { padding: 20px 16px; }
  .channel-slot { padding: 12px; }
  .security-panel { padding: 24px 20px; }
  .legal-hero { padding-block: 48px; }
  .legal-hero h1 { font-size: 2.35rem; }
  .legal-hero-lead { font-size: .94rem; }
  .legal-toc { grid-template-columns: 1fr; padding: 18px; }
  .legal-section { padding: 29px 0; }
  .legal-section p,.legal-list li { font-size: .94rem; line-height: 1.78; }
  .legal-page-links { display: grid; }
}
