/* TechCorpLegal Global Visual Layout v1
   Input: Live Repair Batch 01 + Jobs nav + Typography v1.
   Purpose: normalize layout/spacing/responsiveness while preserving URLs and substantive copy.
*/
:root{
  --tcl-page-max:1180px;
  --tcl-article-max:980px;
  --tcl-prose-max:780px;
  --tcl-pad-x:24px;
  --tcl-section-y:64px;
  --tcl-card-radius:16px;
  --tcl-card-border:#e4e8f0;
  --tcl-soft:#f6f8fb;
  --tcl-shadow:0 12px 36px rgba(10,22,40,.07);
}

/* Universal layout safety. */
body.tcl-visual-v1{overflow-x:hidden}
body.tcl-visual-v1 main{min-width:0}
body.tcl-visual-v1 main img,
body.tcl-visual-v1 main video{max-width:100%;height:auto}
body.tcl-visual-v1 main iframe{max-width:100%}
body.tcl-visual-v1 main a{overflow-wrap:anywhere}
body.tcl-visual-v1 figure{max-width:100%}
body.tcl-visual-v1 article{min-width:0}
body.tcl-visual-v1 article p,
body.tcl-visual-v1 article li{overflow-wrap:break-word}

/* Long-form reading rhythm across all page families. */
body.tcl-visual-v1 article > p,
body.tcl-visual-v1 article > ul,
body.tcl-visual-v1 article > ol,
body.tcl-visual-v1 .b09-section > p,
body.tcl-visual-v1 .b09-section > ul,
body.tcl-visual-v1 .b09-section > ol{
  max-width:var(--tcl-prose-max);
}
body.tcl-visual-v1 article p{margin-top:0;margin-bottom:1.08em}
body.tcl-visual-v1 article ul,
body.tcl-visual-v1 article ol{padding-left:1.35rem;margin-top:.6rem;margin-bottom:1.4rem}
body.tcl-visual-v1 article li{margin:.42rem 0}
body.tcl-visual-v1 article h2{margin-top:2.15rem;margin-bottom:.8rem}
body.tcl-visual-v1 article h3{margin-top:1.65rem;margin-bottom:.65rem}

/* Global media and tables. */
body.tcl-visual-v1 article figure,
body.tcl-visual-v1 .tcl-shared-visual,
body.tcl-visual-v1 .b09-feature{
  margin-left:0;margin-right:0;
}
body.tcl-visual-v1 article img:not(.b09-author img),
body.tcl-visual-v1 .article-card img{
  max-width:100%;height:auto;
}
body.tcl-visual-v1 article table:not(.b09-table){
  display:block;width:100%;max-width:100%;overflow-x:auto;
  border-collapse:collapse;-webkit-overflow-scrolling:touch;
  margin:1.5rem 0;
}
body.tcl-visual-v1 article table:not(.b09-table) th,
body.tcl-visual-v1 article table:not(.b09-table) td{
  padding:10px 12px;vertical-align:top;
}

/* ----- Legacy research / laws / jurisdiction / contact families ----- */
body.tcl-family-legacy-hero main > .hero{
  margin-top:64px;
}
body.tcl-family-legacy-hero .hero-inner,
body.tcl-family-legacy-hero .hero > .container{
  width:min(100%,var(--tcl-page-max));
  margin:0 auto;
  padding-left:var(--tcl-pad-x);
  padding-right:var(--tcl-pad-x);
  box-sizing:border-box;
}
body.tcl-family-legacy-hero .hero-title{
  max-width:900px;
  margin-top:12px!important;
  margin-bottom:14px!important;
}
body.tcl-family-legacy-hero .hero-description,
body.tcl-family-legacy-hero .hero-desc{
  max-width:820px;
}
body.tcl-family-legacy-hero .hero-grid{
  align-items:center;
  gap:32px;
}
body.tcl-family-legacy-hero .hero-card{
  min-width:0;
}

/* Correct legacy video composition: title/copy/video live in one contained card. */
body.tcl-family-legacy-hero .tcl-video-section,
body.tcl-family-legacy-article .tcl-video-section{
  width:100%;
  max-width:1120px;
  padding:38px 24px 16px;
  margin:0 auto;
}
body.tcl-family-legacy-hero .tcl-video-card,
body.tcl-family-legacy-article .tcl-video-card{
  padding:24px;
}
body.tcl-family-legacy-hero .tcl-video-card .tcl-video-wrap,
body.tcl-family-legacy-article .tcl-video-card .tcl-video-wrap{
  margin-top:18px;
}

/* Article shells: consistent width, padding, borders and whitespace. */
body.tcl-family-legacy-hero main > .container,
body.tcl-family-legacy-hero main > .content-wrap,
body.tcl-family-legacy-article main.container,
body.tcl-family-legacy-article main > .container,
body.tcl-family-legacy-article main > .content-wrap{
  width:100%;
  box-sizing:border-box;
}
body.tcl-family-legacy-hero main > .container,
body.tcl-family-legacy-hero main > .content-wrap,
body.tcl-family-legacy-article main > .container,
body.tcl-family-legacy-article main > .content-wrap{
  padding-left:var(--tcl-pad-x);
  padding-right:var(--tcl-pad-x);
}
body.tcl-family-legacy-hero .article-card,
body.tcl-family-legacy-article .article-card{
  width:min(100%,var(--tcl-article-max));
  margin:34px auto 72px;
  padding:40px;
  box-sizing:border-box;
  background:#fff;
  border:1px solid var(--tcl-card-border);
  border-radius:18px;
  box-shadow:var(--tcl-shadow);
}
body.tcl-family-legacy-article main.container{
  width:min(calc(100% - 48px),var(--tcl-article-max));
  margin:96px auto 72px;
  padding:0;
}
body.tcl-family-legacy-article main.container > .article-card{
  width:100%;margin:0;padding:40px;
}

/* Legacy TOCs and editorial notes become consistent components. */
body.tcl-visual-v1 article .toc{
  max-width:var(--tcl-prose-max);
  margin:28px 0;
  padding:20px 22px;
  background:var(--tcl-soft);
  border:1px solid var(--tcl-card-border);
  border-radius:12px;
}
body.tcl-visual-v1 article .toc h2{margin-top:0!important}
body.tcl-visual-v1 .editorial-note,
body.tcl-visual-v1 .tcl-stage6-verified,
body.tcl-visual-v1 [data-stage6-scope="true"]{
  max-width:var(--tcl-prose-max);
  border-radius:12px;
}
body.tcl-visual-v1 [data-stage6-scope="true"]{
  padding:14px 16px;
  background:#f6f8fb;
  border:1px solid #e4e8f0;
  margin:16px 0 22px;
}

/* ----- Commercial / Jobs B09 family ----- */
body.tcl-family-commercial-b09 .b09-wrap,
body.tcl-family-jobs-b09 .b09-wrap{
  width:min(100%,var(--tcl-page-max));
}
body.tcl-family-commercial-b09 .b09-hero,
body.tcl-family-jobs-b09 .b09-hero{
  padding-top:78px;
  padding-bottom:64px;
}
body.tcl-family-commercial-b09 .b09-grid,
body.tcl-family-jobs-b09 .b09-grid{
  gap:24px;
}
body.tcl-family-commercial-b09 .b09-panel,
body.tcl-family-jobs-b09 .b09-panel{
  padding:26px;
  box-shadow:0 6px 22px rgba(10,22,40,.035);
}
body.tcl-family-commercial-b09 .b09-card,
body.tcl-family-jobs-b09 .b09-card{
  min-width:0;
  height:100%;
}
body.tcl-family-commercial-b09 .b09-article,
body.tcl-family-jobs-b09 .b09-article{
  width:min(100%,var(--tcl-article-max));
  padding:40px;
  box-shadow:var(--tcl-shadow);
}
body.tcl-family-commercial-b09 .b09-section,
body.tcl-family-jobs-b09 .b09-section{
  padding:30px 0;
}
body.tcl-family-commercial-b09 .b09-related a,
body.tcl-family-jobs-b09 .b09-related a{
  display:flex;align-items:center;min-height:48px;
}
body.tcl-family-commercial-b09 .b09-author,
body.tcl-family-jobs-b09 .b09-author{
  align-items:flex-start;
}
body.tcl-family-commercial-b09 .b09-cta,
body.tcl-family-jobs-b09 .b09-cta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
}
body.tcl-family-commercial-b09 .b09-cta .b09-btn,
body.tcl-family-jobs-b09 .b09-cta .b09-btn{
  flex:0 0 auto;
}

/* Jobs pages had an uncontained full-width video immediately after hero. */
body.tcl-family-jobs-b09 main > .tcl-b09-standalone-video{
  width:min(calc(100% - 48px),1040px);
  margin:38px auto 54px;
  border:1px solid var(--tcl-card-border);
  border-radius:16px;
  box-shadow:var(--tcl-shadow);
  background:#0a1628;
}

/* Homepage: keep its distinct composition, normalize only spacing and media safety. */
body.tcl-family-homepage main img{height:auto}
body.tcl-family-homepage .hero-inner,
body.tcl-family-homepage .section-inner{
  max-width:1280px;
  margin-left:auto;
  margin-right:auto;
}
body.tcl-family-homepage .hero-lede{max-width:780px}

/* Navigation with the added Jobs item: maintain comfortable fit before hamburger breakpoint. */
@media (min-width:1101px) and (max-width:1280px){
  body.tcl-visual-v1 .nav{padding-left:20px;padding-right:20px}
  body.tcl-visual-v1 .nav-btn{padding-left:8px!important;padding-right:8px!important}
  body.tcl-visual-v1 .nav-links{gap:0}
  body.tcl-visual-v1 .nav-right{gap:7px}
}

/* Tablet */
@media (max-width:900px){
  :root{--tcl-pad-x:20px;--tcl-section-y:52px}
  body.tcl-family-legacy-hero .hero-grid{grid-template-columns:1fr!important}
  body.tcl-family-legacy-hero .article-card,
  body.tcl-family-legacy-article .article-card{padding:30px}
  body.tcl-family-commercial-b09 .b09-article,
  body.tcl-family-jobs-b09 .b09-article{padding:30px}
  body.tcl-family-commercial-b09 .b09-cta,
  body.tcl-family-jobs-b09 .b09-cta{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* Mobile */
@media (max-width:620px){
  :root{--tcl-pad-x:16px}
  body.tcl-family-legacy-hero main > .hero{margin-top:64px}
  body.tcl-family-legacy-hero .hero-inner,
  body.tcl-family-legacy-hero .hero > .container{
    padding-left:16px;padding-right:16px;
  }
  body.tcl-family-legacy-hero .hero-grid{gap:20px}
  body.tcl-family-legacy-hero .tcl-video-section,
  body.tcl-family-legacy-article .tcl-video-section{
    padding:26px 16px 8px;
  }
  body.tcl-family-legacy-hero .tcl-video-card,
  body.tcl-family-legacy-article .tcl-video-card{
    padding:16px;
    border-radius:12px;
  }
  body.tcl-family-legacy-hero main > .container,
  body.tcl-family-legacy-hero main > .content-wrap,
  body.tcl-family-legacy-article main > .container,
  body.tcl-family-legacy-article main > .content-wrap{
    padding-left:16px;padding-right:16px;
  }
  body.tcl-family-legacy-hero .article-card,
  body.tcl-family-legacy-article .article-card{
    margin-top:24px;margin-bottom:48px;
    padding:22px 18px;
    border-radius:14px;
  }
  body.tcl-family-legacy-article main.container{
    width:calc(100% - 32px);
    margin-top:82px;
    padding:0;
  }
  body.tcl-family-legacy-article main.container > .article-card{padding:22px 18px}
  body.tcl-visual-v1 article .toc{padding:16px;margin:22px 0}
  body.tcl-family-commercial-b09 .b09-article,
  body.tcl-family-jobs-b09 .b09-article{
    padding:22px 18px;
    border-radius:14px;
  }
  body.tcl-family-commercial-b09 .b09-panel,
  body.tcl-family-jobs-b09 .b09-panel{
    padding:20px 18px;
  }
  body.tcl-family-jobs-b09 main > .tcl-b09-standalone-video{
    width:calc(100% - 32px);
    margin:26px auto 38px;
    border-radius:12px;
  }
  body.tcl-family-commercial-b09 .b09-author,
  body.tcl-family-jobs-b09 .b09-author{
    flex-direction:column;
  }
  body.tcl-visual-v1 .footer{padding-left:20px;padding-right:20px}
}

/* Video composition normalization after structural audit. */
body.tcl-family-commercial-b09 .b09-video-card .b09-video-wrap{
  margin-top:18px;
}
body.tcl-family-legacy-article .tcl-video-section + .article-card,
body.tcl-family-legacy-article .tcl-video-section + .content-wrap,
body.tcl-family-legacy-article .tcl-video-section + .container{
  margin-top:18px;
}

/* Newer commercial pages without a separate b09-video section: constrain the direct video exactly like a card. */
body.tcl-family-commercial-b09 main > .b09-video-wrap{
  width:min(calc(100% - 48px),1040px);
  margin:38px auto 54px;
  border:1px solid var(--tcl-card-border);
  border-radius:16px;
  box-shadow:var(--tcl-shadow);
  background:#0a1628;
}
@media (max-width:620px){
  body.tcl-family-commercial-b09 main > .b09-video-wrap{
    width:calc(100% - 32px);
    margin:26px auto 38px;
    border-radius:12px;
  }
}
