/* 7.2 spreadsheet review: brand, typography and component alignment. */
body{font-weight:400}
h1,h2,h3,h4,h5,h6,b,strong,.button,.header-cta,.footer-rfq,.text-link,.draft-label,.featured-product-card b,.directory-link-grid b,.home-style-card b,.mega-intro>a{font-weight:600!important}
.site-logo-image{display:block;width:auto;height:54px;max-width:230px;object-fit:contain}
.site-footer .site-logo-image{height:48px;max-width:248px}
.home-hero-copy h1{letter-spacing:0!important}

.products-preview .product-card,.featured-product-card{display:flex;height:100%;flex-direction:column}
.products-preview .card-copy,.catalog-grid.full-catalog .catalog-card section{display:flex;flex:1;flex-direction:column}
.products-preview .card-copy .text-link,.catalog-grid.full-catalog .catalog-card section .text-link,.featured-product-card b{margin-top:auto}
.text-link,.draft-label,.footer-rfq,.featured-product-card b,.directory-link-grid b,.home-style-card b{font-size:.78rem!important;line-height:1.3;letter-spacing:.04em;font-weight:600!important}

/* Keep every style-card text row aligned, even when titles wrap differently. */
.home-style-card>div{
  top:auto;
  bottom:0;
  height:315px;
  display:grid;
  grid-template-rows:auto minmax(2.35em,auto) 1fr auto;
  align-content:stretch;
  padding:clamp(24px,2.4vw,34px)!important;
}
.home-style-card>div>span{grid-row:1;align-self:start}
.home-style-card h3{grid-row:2;align-self:start;margin:.75rem 0 0!important;line-height:1.15}
.home-style-card b{grid-row:4;align-self:end;margin-top:1.25rem}

/* 8.13 review: keep overlay copy readable, evenly spaced and clear of links. */
.home-style-card p{margin:.8rem 0 1.1rem!important;line-height:1.55}
.capability-copy>h2{margin-bottom:clamp(30px,3vw,46px)!important;line-height:1.08}
.capability-copy>p{margin:0 0 32px!important;line-height:1.7}
.capability-list>div{padding-block:22px!important}
.capability-list strong{line-height:1.35}
.capability-list p{margin:.45rem 0 0!important;line-height:1.55}
.capability-copy>.button{margin-top:38px}
.faq-layout>div:first-child{display:flex;min-width:0;flex-direction:column;align-items:flex-start}
.faq-layout>div:first-child h2{margin-bottom:30px;line-height:1.08}
.faq-layout>div:first-child .section-intro{margin:0 0 24px;line-height:1.65}
.faq-layout>div:first-child .text-link{position:static;margin-top:0}

.quote-cta.tjs-refined-quote .quote-inner{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);grid-template-areas:"title copy" "title action";align-items:start;column-gap:clamp(72px,8vw,150px);row-gap:34px}
.quote-cta.tjs-refined-quote .quote-inner>h2{align-self:start}
.quote-cta.tjs-refined-quote .quote-inner>p:not(.eyebrow){align-self:start;margin:8px 0 0;max-width:430px;line-height:1.7}
.quote-cta.tjs-refined-quote .quote-inner>.button{grid-area:action;justify-self:start;align-self:start;margin-top:0}

.market-card{display:grid!important;height:100%}
.market-card-copy{display:flex;min-height:0;flex-direction:column}
.market-card-copy>b{margin-top:auto;padding-top:22px}

.insight-card{padding-bottom:30px!important}
.insight-card h2{margin:.55rem 0 .85rem;line-height:1.16}
.insight-card>p:not(.eyebrow){margin-bottom:22px;line-height:1.58}
.insight-card .draft-label{position:static!important;display:block;margin-top:auto!important;padding-top:18px!important}
.insight-card:not(:has(figure))::before{content:"";display:block;width:calc(100% + 56px);aspect-ratio:3/2;margin:-28px -28px 0;background:url("images/market-africa-complete-set-v2.webp") center/cover no-repeat}

.video-hub-grid{grid-template-rows:repeat(2,minmax(0,1fr));align-items:stretch}
.video-hub-grid figure{display:flex;min-height:0;flex-direction:column}
.video-hub-grid .video-main video{flex:1;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover}
.video-hub-grid .video-main figcaption{flex:0 0 auto}

.quote-cta.tjs-refined-quote .quote-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title action" "copy action";column-gap:clamp(44px,7vw,120px);row-gap:14px;align-items:center}
.quote-cta.tjs-refined-quote .quote-inner>h2{grid-area:title;margin:0;max-width:none;letter-spacing:0!important;line-height:1.04;white-space:nowrap}
.quote-cta.tjs-refined-quote .quote-inner>p:not(.eyebrow){grid-area:copy;margin:0;max-width:760px;align-self:start}
.quote-cta.tjs-refined-quote .quote-inner>.button{grid-area:action;align-self:center}

@media(max-width:1120px){
  .header-inner{height:72px;gap:18px}
  .site-header.is-condensed .header-inner{height:64px}
  .main-nav{background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;padding:25px 24px;display:none;position:absolute;top:72px;left:0;right:0;max-height:calc(100vh - 72px);overflow:auto}
  .main-nav.open{display:flex}
  .main-nav a{font-size:15px}
  .menu-button{background:transparent;border:0;gap:6px;padding:10px 0 10px 10px;display:grid}
  .menu-button span{background:var(--ink);width:24px;height:1px;display:block}
}

.buyer-path-grid{align-items:stretch}
.buyer-path-grid article{display:flex;height:100%;flex-direction:column}
.buyer-path-grid article h3{min-height:2.75em;margin-bottom:14px}
.buyer-path-grid article>p{min-height:5.1em;margin-top:0}
.buyer-path-grid article>ul,.buyer-path-grid article>a{margin-top:auto}
.buyer-path-grid article>ul{width:100%}
.development-route-grid{align-items:stretch}
.development-route-grid article{display:flex;height:100%;flex-direction:column}
.development-route-grid article h3{min-height:2.8em}
.development-route-grid article>p{min-height:5.1em;margin-top:0}
.development-route-grid article>ul{margin-top:auto}
.service-grid.dark-cards{align-items:stretch}
.service-grid.dark-cards article{display:flex;height:100%;flex-direction:column}
.service-grid.dark-cards article h3{min-height:2.8em;margin-bottom:12px}
.service-grid.dark-cards article p{margin-top:0}

.insights-grid{align-items:stretch}
.insight-card{display:flex!important;min-width:0;height:100%;flex-direction:column;overflow:hidden}
.insight-card figure,.tjs-dynamic-insight-card figure{width:calc(100% + 56px);aspect-ratio:3/2;margin:-28px -28px 0;overflow:hidden;background:#d8d7d1}
.insight-card figure img{display:block;width:100%;height:100%;object-fit:cover}
.insight-card .article-number,.tjs-dynamic-insight-card .article-number{position:static;display:block;width:calc(100% + 56px);margin:0 -28px 22px;padding:9px 12px;background:#17312f;color:#fff;line-height:1.2}
.insight-card h2{margin:.35rem 0 .5rem;font-size:clamp(1.2rem,1.8vw,1.65rem);line-height:1.08;overflow-wrap:anywhere}
.insight-card>p:not(.eyebrow){margin-top:0;line-height:1.42}
.insight-card .draft-label{margin-top:auto;padding-top:18px}

@media(max-width:980px){
  .quote-cta.tjs-refined-quote .quote-inner{grid-template-columns:1fr;grid-template-areas:"title" "copy" "action";row-gap:20px}
  .quote-cta.tjs-refined-quote .quote-inner>h2{white-space:normal}
  .quote-cta.tjs-refined-quote .quote-inner>.button{justify-self:start}
  .buyer-path-grid article h3,.buyer-path-grid article>p,.development-route-grid article h3,.development-route-grid article>p,.service-grid.dark-cards article h3{min-height:0}
}
@media(max-width:760px){
  .site-logo-image{height:36px;max-width:180px}
  .video-hub-grid{grid-template-rows:auto}
  .video-hub-grid .video-main video{height:auto;aspect-ratio:16/9}
  .quote-cta.tjs-refined-quote .quote-inner>h2{font-size:clamp(2rem,10vw,3.25rem)}
  .home-style-card>div{height:285px;grid-template-rows:auto auto 1fr auto}
}
