/* Release 14 — company and policy layout stabilization.
   Only the 5 company/policy pages load this stylesheet.
   No changes to service, area-served, outer-section, RFQ security or indexing. */

:root{--r14-paper:#f2f4fa;--r14-ink:#111;--r14-blue:#132bff}
.company-hero.r14-company-hero-shell{
  background:var(--r14-paper)!important;
  border:0!important;
  padding:20px 0 34px!important;
  color:var(--r14-ink)!important;
}
.company-hero.r14-company-hero-shell>.container{
  width:min(1140px,calc(100% - 48px))!important;
  max-width:1140px!important;
  margin-inline:auto!important;
}
.company-hero .r14-company-frame{
  width:100%!important;
  max-width:100%!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)!important;
  align-items:center!important;
  gap:clamp(24px,4vw,52px)!important;
  background:var(--r14-blue)!important;
  color:#fff!important;
  border:3px solid #111!important;
  box-shadow:6px 6px 0 #111!important;
  padding:clamp(24px,4vw,48px)!important;
}
.company-hero .r14-company-frame>div:first-child{
  min-width:0!important;
}
.company-hero .r14-company-frame :is(h1,p){
  color:#fff!important;
}
.company-hero .r14-company-text-only{
  display:block!important;
  min-height:245px!important;
  max-width:100%!important;
}
.company-hero .r14-company-text-only :is(h1,p){
  max-width:760px!important;
}
.company-hero .r14-company-text-only h1{
  max-width:24ch!important;
  font-size:clamp(2rem,4.3vw,3.7rem)!important;
}
.company-hero .r14-about-frame h1{
  max-width:16ch!important;
  font-size:clamp(2.1rem,4.5vw,3.9rem)!important;
}
.company-hero .r14-about-frame .company-portrait-card{
  width:min(100%,310px)!important;
  max-width:310px!important;
  justify-self:center!important;
  margin:0!important;
  align-self:center!important;
  background:#fff!important;
  color:#111!important;
  border:3px solid #111!important;
  box-shadow:5px 5px 0 #111!important;
  overflow:hidden!important;
}
.company-hero .r14-about-frame .company-portrait-card>img,
.company-hero .r14-about-frame figure.company-portrait-card img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  max-height:none!important;
  aspect-ratio:560 / 757!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#fff!important;
  border:0!important;
}
.company-hero .r14-about-frame .company-portrait-card figcaption{
  color:#111!important;
  background:#fff!important;
  padding:12px 15px!important;
}
.company-hero .r14-about-frame .company-portrait-card figcaption :is(strong,span,small){
  color:#111!important;
}

/* Main and sidebar are one centered, readable 2-column grid.
   The sidebar sits to the RIGHT of the article, not against a viewport edge. */
.r14-company-body.company-body{
  width:min(1140px,calc(100% - 48px))!important;
  max-width:1140px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(250px,300px)!important;
  align-items:start!important;
  column-gap:clamp(24px,3.5vw,44px)!important;
  padding:12px 0 52px!important;
  margin:0 auto!important;
  background:transparent!important;
}
.r14-company-body>.r14-company-article{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:clamp(22px,3vw,36px)!important;
  border:2px solid #111!important;
  box-shadow:5px 5px 0 #111!important;
  background:#fff!important;
}
.r14-company-body>.r14-company-sidebar{
  position:sticky!important;
  top:110px!important;
  align-self:start!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:16px!important;
  width:100%!important;
  max-width:300px!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  min-width:0!important;
}
.r14-company-sidebar>*{max-width:100%!important;min-width:0!important}
.r14-company-sidebar .company-sticker,
.r14-company-sidebar .publisher-address,
.r14-company-sidebar .company-side-links{
  box-sizing:border-box!important;
  margin:0!important;
  width:100%!important;
}
.r14-company-sidebar .company-side-links{grid-column:auto!important}
.r14-company-body>.r14-company-article :is(p,li,a){overflow-wrap:break-word}
.r14-company-body>.r14-company-article section:last-child{border-bottom:0!important}

/* Simple, text-focused legal pages. No illustrative imagery, no sales link panel. */
.legal-page{
  background:var(--r14-paper)!important;
  padding:18px 0 60px!important;
}
.legal-page>.aag-breadcrumb-unified{
  width:min(1080px,calc(100% - 48px))!important;
  max-width:1080px!important;
  margin:0 auto 20px!important;
}
.legal-page>.wrap{
  width:min(1080px,calc(100% - 48px))!important;
  max-width:1080px!important;
  padding:0!important;
  margin-inline:auto!important;
}
.legal-page .r14-legal-frame{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 0 28px!important;
  min-height:200px!important;
  padding:clamp(24px,4vw,44px)!important;
  background:var(--r14-blue)!important;
  border:3px solid #111!important;
  box-shadow:6px 6px 0 #111!important;
  color:#fff!important;
}
.legal-page .r14-legal-frame .r12-legal-copy{
  max-width:760px!important;
  min-width:0!important;
}
.legal-page .r14-legal-frame h1{
  max-width:24ch!important;
  font-size:clamp(2rem,4.7vw,3.8rem)!important;
}
.legal-page .r14-legal-frame :is(p,h1){color:#fff!important}
.legal-page .legal-body{
  width:100%!important;
  max-width:100%!important;
  background:#fff!important;
  padding:clamp(22px,3.6vw,48px)!important;
  border:2px solid #111!important;
  box-shadow:5px 5px 0 #111!important;
  margin:0 auto!important;
}
.legal-page .legal-content{
  max-width:820px!important;
  margin:0 auto!important;
  overflow-wrap:break-word!important;
}
.legal-page .operator{
  max-width:650px!important;
  display:block!important;
  padding:16px!important;
}
.legal-page .operator-details{display:block!important}
.legal-page .operator .photo{display:none!important}

@media(max-width:900px){
  .r14-company-body.company-body{
    grid-template-columns:minmax(0,1fr)!important;
    row-gap:25px!important;
  }
  .r14-company-body>.r14-company-sidebar{
    position:static!important;
    max-width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .r14-company-sidebar .company-side-links{grid-column:1/-1!important}
}
@media(max-width:700px){
  .company-hero.r14-company-hero-shell>.container,
  .r14-company-body.company-body,
  .legal-page>.wrap,
  .legal-page>.aag-breadcrumb-unified{width:calc(100% - 28px)!important}
  .company-hero .r14-company-frame{
    grid-template-columns:minmax(0,1fr)!important;
    padding:22px!important;
  }
  .company-hero .r14-company-text-only{min-height:0!important}
  .company-hero .r14-about-frame .company-portrait-card{justify-self:start!important;max-width:265px!important}
  .r14-company-body>.r14-company-sidebar{grid-template-columns:minmax(0,1fr)!important}
  .r14-company-sidebar .company-side-links{grid-column:auto!important}
  .legal-page .legal-body,.legal-page .r14-legal-frame{padding:22px!important}
}
