/* ============================================================
   MOHAMED EL MANAWI — Portfolio of Companies
   ============================================================ */

:root{
  --dark:      #0b1d14;
  --dark-2:    #0a1a12;
  --dark-soft: #10251b;
  --beige:     #c9c3b8;
  --beige-2:   #d3cdc2;
  --line-dark: rgba(255,255,255,.18);
  --line-grn:  rgba(27,58,44,.35);
  --green:     #16342a;
  --green-2:   #1e4234;
  --gold:      #dfa145;
  --white:     #f4f1ea;
  --serif: "Cormorant Garamond", "Times New Roman", serif;
  --sans:  "Inter", "Helvetica Neue", Arial, sans-serif;
  --ease: cubic-bezier(.22,.7,.24,1);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001s!important;transition-duration:.001s!important}
}
body{
  font-family:var(--sans);
  background:var(--beige);
  color:var(--green);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
ul{list-style:none}

.container{max-width:1440px;margin:0 auto;padding:0 84px}
@media(max-width:879px){.container{padding:0 28px}}

/* ---------- typography helpers ---------- */
.label{
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  display:inline-block;position:relative;padding-bottom:10px;
}
.label::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:46px;
  background:currentColor;transform-origin:left;
  transition:transform 1s var(--ease) .3s;
}
.js .label::after{transform:scaleX(0)}
.in-view .label::after{transform:scaleX(1)}

.display{
  font-family:var(--serif);font-weight:500;line-height:1.04;
  letter-spacing:.01em;text-transform:uppercase;
}

/* ---------- reveal-on-scroll ---------- */
.js .rv{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.js .rv-l{opacity:0;transform:translateX(-40px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.js .rv-r{opacity:0;transform:translateX(40px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.js .rv-fade{opacity:0;transition:opacity 1.4s var(--ease)}
.in-view .rv,.in-view .rv-l,.in-view .rv-r,.in-view .rv-fade,
.rv.in-view,.rv-l.in-view,.rv-r.in-view,.rv-fade.in-view{
  opacity:1;transform:none;
}
.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.36s}
.d4{transition-delay:.48s}.d5{transition-delay:.6s}.d6{transition-delay:.72s}

/* line-mask headline reveal */
.line-mask{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.line-mask>span{display:block;transition:transform 1.25s var(--ease)}
.js .line-mask>span{transform:translateY(110%)}
.in-view .line-mask>span{transform:translateY(0)}
.line-mask:nth-child(2)>span{transition-delay:.12s}
.line-mask:nth-child(3)>span{transition-delay:.24s}
.line-mask:nth-child(4)>span{transition-delay:.36s}

/* ============================================================
   HEADER
   ============================================================ */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:60;height:97px;
  background:var(--dark);
  transition:box-shadow .45s var(--ease);
}
.site-header.scrolled{box-shadow:0 10px 40px rgba(0,0,0,.35)}
.site-header::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(255,255,255,.08);
}
.header-inner{
  height:100%;display:flex;align-items:center;justify-content:space-between;
  padding:0 0 0 84px;max-width:1440px;margin:0 auto;
}
.brand img{height:52px;width:auto}
.main-nav{display:flex;gap:56px;margin-left:auto;margin-right:56px}
.main-nav a{
  color:var(--white);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;
  position:relative;padding:6px 0;
}
.main-nav a::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;
  background:var(--gold);transform:scaleX(0);transform-origin:right;
  transition:transform .5s var(--ease);
}
.main-nav a:hover::after{transform:scaleX(1);transform-origin:left}
.menu-zone{
  height:100%;display:flex;align-items:center;gap:22px;
  border-left:1px solid rgba(255,255,255,.14);padding:0 48px;cursor:pointer;
}
.menu-zone span{color:var(--white);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase}
.burger{width:26px;height:12px;position:relative}
.burger i{
  position:absolute;left:0;right:0;height:1.5px;background:var(--white);
  transition:transform .5s var(--ease), top .5s var(--ease), width .5s var(--ease);
}
.burger i:first-child{top:0}
.burger i:last-child{top:10px;width:70%;margin-left:30%}
.menu-zone:hover .burger i:last-child{width:100%;margin-left:0}
@media(max-width:879px){
  .header-inner{padding-left:28px}
  .main-nav{display:none}
  .menu-zone{padding:0 28px}
}

/* ---------- fullscreen menu ---------- */
.menu-overlay{
  position:fixed;inset:0;z-index:70;background:var(--dark-2);
  display:flex;align-items:center;
  clip-path:inset(0 0 100% 0);visibility:hidden;
  transition:clip-path .8s var(--ease), visibility 0s linear .8s;
}
.menu-overlay.open{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .8s var(--ease)}
.menu-overlay .container{width:100%}
.menu-close{
  position:absolute;top:34px;right:84px;color:var(--white);cursor:pointer;
  font-size:11.5px;letter-spacing:.25em;text-transform:uppercase;
  display:flex;align-items:center;gap:14px;background:none;border:none;font-family:var(--sans);
}
.menu-close:hover{color:var(--gold)}
.menu-links{display:flex;flex-direction:column;gap:6px}
.menu-links a{
  font-family:var(--serif);text-transform:uppercase;color:var(--white);
  font-size:42px;line-height:1.2;letter-spacing:.02em;
  display:flex;align-items:baseline;gap:26px;width:fit-content;
  opacity:0;transform:translateY(40px);
  transition:opacity .7s var(--ease), transform .7s var(--ease), color .4s;
}
.menu-overlay.open .menu-links a{opacity:1;transform:none}
.menu-links a:nth-child(1){transition-delay:.25s}
.menu-links a:nth-child(2){transition-delay:.33s}
.menu-links a:nth-child(3){transition-delay:.41s}
.menu-links a:nth-child(4){transition-delay:.49s}
.menu-links a:nth-child(5){transition-delay:.57s}
.menu-links a:nth-child(6){transition-delay:.65s}
.menu-links a:nth-child(7){transition-delay:.73s}
.menu-links a:nth-child(8){transition-delay:.81s}
.menu-links a:nth-child(9){transition-delay:.89s}
.menu-links a em{
  font-family:var(--sans);font-style:normal;font-size:12px;letter-spacing:.2em;color:var(--gold);
}
.menu-links a:hover{color:var(--gold)}
.menu-sub{margin-top:60px;color:rgba(244,241,234,.5);font-size:12px;letter-spacing:.18em;text-transform:uppercase}
@media(max-width:879px){.menu-close{right:28px}}

/* ============================================================
   HERO (home)
   ============================================================ */
.hero{
  position:relative;height:auto;min-height:100vh;display:flex;align-items:flex-end;
  padding-top:160px;overflow:hidden;background:var(--dark);color:var(--white);
}
.hero-bg{position:absolute;inset:-8% 0;z-index:0;overflow:hidden}
.hero-bg img{
  width:100%;height:100%;object-fit:cover;
  transform:scale(1.12);animation:kenburns 14s var(--ease) forwards;
}
@keyframes kenburns{to{transform:scale(1.0)}}
.hero::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(11,29,20,.55) 0%,rgba(11,29,20,0) 30%,rgba(11,29,20,.1) 75%,rgba(11,29,20,.55) 100%);
}
.hero-content{position:relative;z-index:2;width:100%;padding-bottom:9vh}
.hero .label{color:var(--white)}
.hero-title{
  font-size:96px;margin:34px 0 40px;
  text-shadow:0 4px 60px rgba(0,0,0,.35);
}
.hero-title .line-mask{white-space:nowrap}
.hero-meta{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;
  font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(244,241,234,.92)}
.hero-meta i{font-style:normal;color:var(--gold);font-size:9px}
.hero-cta{margin-top:64px}

.btn-line{
  display:inline-flex;align-items:center;gap:18px;
  font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);
  padding-bottom:12px;border-bottom:1px solid currentColor;position:relative;
}
.btn-line svg{transition:transform .5s var(--ease)}
.btn-line:hover svg{transform:translateX(10px)}
.btn-line.green{color:var(--green-2)}

.scroll-hint{
  position:absolute;right:84px;bottom:9vh;z-index:2;width:1px;height:72px;overflow:hidden;
}
.scroll-hint::before{
  content:"";position:absolute;left:0;top:-100%;width:1px;height:100%;
  background:rgba(244,241,234,.7);animation:scrollline 2.4s var(--ease) infinite;
}
@keyframes scrollline{0%{top:-100%}55%{top:0}100%{top:100%}}
@media(max-width:879px){.scroll-hint{display:none}}

/* ============================================================
   ABOUT (home)
   ============================================================ */
.about{background:var(--beige);padding:130px 0 150px}
.about-grid{display:grid;grid-template-columns:minmax(0,625px) minmax(0,1fr);gap:84px;align-items:start}
.about-photo{overflow:hidden;align-self:stretch}
.about-photo img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.8s var(--ease);
}
.js .about-photo img:not(:root){transform:scale(1.08)}
.in-view .about-photo img{transform:scale(1)!important}
.about-copy{container-type:inline-size}
.about-copy .display{font-size:56px;margin:30px 0 36px;color:var(--green);white-space:nowrap}
.about-copy p:not(.pull-quote){font-size:15px;line-height:1.6;max-width:60ch;color:#2c3e33;margin-bottom:22px}
.pull-quote{
  font-family:var(--serif);font-style:italic;text-transform:uppercase;
  font-size:40px;white-space:nowrap;
  line-height:1.26;color:var(--green);
  margin:52px 0 0;letter-spacing:.01em;
}
@media(max-width:760px){
  .pull-quote br{display:none}
  .pull-quote{font-size:clamp(26px,7vw,36px);white-space:normal}
}
.stat-row{
  margin-top:46px;padding-top:32px;border-top:1px solid var(--line-grn);
  display:grid;grid-template-columns:repeat(3,1fr);
}
.stat{
  padding:0 26px;display:flex;flex-direction:column;align-items:flex-start;
  text-align:left;position:relative;
}
.stat:first-child{padding-left:0}
.stat+.stat{border-left:1px solid var(--line-grn)}
.stat .icon{height:26px;display:flex;align-items:center;margin-bottom:22px;color:var(--green-2)}
.stat b{
  display:block;font-family:var(--sans);font-weight:300;font-size:56px;
  line-height:1;color:var(--green);letter-spacing:.01em;
}
.stat > span{
  display:block;margin-top:8px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;
  line-height:1.45;font-weight:600;color:var(--green);
}
.stat .word{align-self:center;text-align:center;margin-top:auto;margin-bottom:0;padding:0}
@media(max-width:879px){.about-grid{grid-template-columns:1fr;gap:56px}.about-photo{align-self:auto}.about-photo img{height:auto}}
@media(max-width:760px){
  .stat-row{grid-template-columns:1fr;gap:36px}
  .stat+.stat{border-left:none}
  .stat{padding:0;align-items:flex-start;text-align:left}
  .stat .icon{margin-bottom:14px}
  .stat .word{align-self:flex-start;text-align:left;margin:0;padding:0}
}

/* ============================================================
   COMPANIES (home)
   ============================================================ */
.companies{background:var(--dark);color:var(--white);padding:130px 0 150px;position:relative;overflow:hidden}
.companies .display{font-size:58px;margin:30px 0 26px}
.companies-intro{font-size:15px;line-height:1.7;color:rgba(244,241,234,.78);max-width:52ch}
.card-grid{
  margin-top:70px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
.company-card{
  position:relative;display:block;aspect-ratio:412/277;overflow:hidden;
  outline:1px solid rgba(255,255,255,.06);
}
.company-card .card-bg{position:absolute;inset:0;transition:transform 1.1s var(--ease)}
.company-card .card-bg img{width:100%;height:100%;object-fit:cover}
.company-card .card-logo{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  transition:transform 1.1s var(--ease);
}
.company-card .card-logo img{width:52%;max-height:62%;object-fit:contain}
.company-card:hover .card-bg,.company-card:hover .card-logo{transform:scale(1.05)}
.company-card::after{
  content:"";position:absolute;inset:0;background:rgba(11,29,20,0);transition:background .6s var(--ease);
}
.company-card:hover::after{background:rgba(11,29,20,.12)}
.card-hover{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px;background:rgba(11,29,20,.86);backdrop-filter:blur(6px);
  color:var(--white);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  transform:translateY(101%);transition:transform .55s var(--ease);
}
.company-card:hover .card-hover{transform:translateY(0)}
.card-hover svg{color:var(--gold)}
@media(max-width:879px){.card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.card-grid{grid-template-columns:1fr}}

/* ============================================================
   VISION (home)
   ============================================================ */
.vision{position:relative;color:var(--white);padding:150px 0 170px;overflow:hidden;background:var(--dark-2)}
.vision-bg{position:absolute;inset:-12% 0;z-index:0}
.vision-bg img{width:100%;height:100%;object-fit:cover;object-position:center right}
.vision::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(8,20,14,.97) 0%,rgba(8,20,14,.88) 42%,rgba(8,20,14,.35) 72%,rgba(8,20,14,.15) 100%);
}
.vision .container{position:relative;z-index:2}
.vision .display{font-size:58px;margin:30px 0 34px}
.vision p{font-size:15px;line-height:1.75;color:rgba(244,241,234,.85);max-width:690px;margin-bottom:20px;text-wrap:pretty}
@media(max-width:879px){br.bp{display:none}}
.vision p .gold{color:var(--gold)}
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,226px));margin-top:64px}
.pillar{padding:0 30px}
.pillar:first-child{padding-left:0}
.pillar+.pillar{border-left:1px solid rgba(223,161,69,.45)}
.pillar .num{
  font-family:var(--serif);font-size:26px;color:var(--gold);
  display:inline-block;border-bottom:1px solid var(--gold);padding-bottom:4px;
}
.pillar h4{margin:20px 0 12px;font-size:14px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.pillar p{font-size:13.5px;line-height:1.65;color:rgba(244,241,234,.75);margin:0}
.vision-quote{
  margin-top:84px;padding-top:56px;border-top:1px solid rgba(244,241,234,.35);max-width:760px;
}
.vision-quote p{
  font-family:var(--serif);font-style:italic;text-transform:uppercase;
  font-size:36px;line-height:1.3;color:var(--white);max-width:none;margin:0;
}
@media(max-width:800px){.pillars{grid-template-columns:1fr;gap:36px}.pillar{padding:0}.pillar+.pillar{border-left:none}}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{background:var(--beige);color:var(--green);padding:64px 0 0}
.footer-top{
  display:flex;align-items:center;gap:40px;padding-bottom:56px;
}
.footer-brand{display:flex;align-items:center;gap:40px}
.footer-brand img{height:74px;width:auto}
.footer-brand .divider{width:1px;height:84px;background:var(--line-grn)}
.footer-id b{display:block;font-size:15px;letter-spacing:.18em;font-weight:600}
.footer-id span{display:inline-block;margin-top:10px;font-size:12px;letter-spacing:.06em;color:#2c3e33}
.footer-id span i{font-style:normal;padding:0 10px;color:var(--gold)}
.footer-nav{margin-left:auto;display:flex;gap:64px;border-left:1px solid var(--line-grn);padding:30px 0 30px 84px}
.footer-nav a{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;position:relative;padding-bottom:5px}
.footer-nav a::after{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--gold);
  transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease);
}
.footer-nav a:hover::after{transform:scaleX(1);transform-origin:left}
.footer-bottom{
  border-top:1px solid var(--green);
  display:flex;justify-content:space-between;gap:20px;
  padding:26px 0 30px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#2c3e33;
}
@media(max-width:879px){
  .footer-brand{flex-direction:column;align-items:flex-start;gap:18px}
  .footer-brand .divider{display:none}
  .footer-brand img{height:60px}
  .footer-top{flex-direction:column;align-items:flex-start}
  .footer-nav{margin-left:0;border-left:none;padding:0;gap:36px}
  .footer-bottom{flex-direction:column;gap:8px}
}

/* ============================================================
   COMPANY PAGES
   ============================================================ */
.page-main{background:var(--beige);padding-top:97px}
.crumb{
  display:flex;align-items:center;gap:26px;padding:44px 0 28px;
}
.crumb .num{
  font-family:var(--serif);font-size:30px;color:var(--green);line-height:1;
}
.crumb .bar{width:1px;height:52px;background:var(--line-grn)}
.crumb .name{font-size:13px;letter-spacing:.22em;text-transform:uppercase;font-weight:600}
.crumb .tag{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#4a5a4f}
.company-grid{
  display:grid;grid-template-columns:minmax(0,1fr) clamp(270px,26.5vw,385px);gap:56px;
  padding-bottom:16px;
}
.company-title{
  font-size:70px;color:var(--green);
  display:flex;align-items:center;flex-wrap:wrap;gap:12px 34px;
}
.company-title .partner-logo{height:56px;width:auto;transform:none}
.company-sub{
  font-family:var(--serif);font-style:italic;text-transform:uppercase;
  font-size:30px;color:var(--green-2);letter-spacing:.02em;margin-top:6px;
}
.section-label{
  font-size:16px;letter-spacing:.05em;text-transform:uppercase;font-weight:600;color:var(--green);
  margin-bottom:16px;
}
.company-about{margin-top:34px}
.company-about p{font-size:14px;line-height:1.6;color:#2c3e33;max-width:72ch}
.split{
  margin-top:36px;padding-top:36px;border-top:1px solid var(--green-2);
  display:grid;grid-template-columns:minmax(0,.87fr) minmax(0,1fr);gap:0 48px;
}
.split .col-l{border-right:1px solid var(--line-grn);padding-right:44px}
.expertise h3{
  font-size:16px;font-weight:600;color:var(--green);margin-bottom:18px;
  text-transform:uppercase;letter-spacing:.05em;
}
.expertise .exp-intro{font-size:14px;color:#2c3e33;margin:-12px 0 22px}
.expertise li{margin-bottom:16px}
.expertise li b{display:block;font-size:13.5px;color:var(--green);margin-bottom:4px;font-weight:600}
.expertise li p{font-size:13px;line-height:1.5;color:#3a4a40;max-width:52ch}
.glance h3{
  font-size:16px;font-weight:600;color:var(--green);margin-bottom:18px;
  text-transform:uppercase;letter-spacing:.05em;
}
.split .col-r{min-width:0}
.glance-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:22px 0}
.glance-cell{padding:4px var(--gcp,13px);text-align:center}
.glance-cell b{white-space:nowrap}
.glance-cell span{overflow-wrap:normal;hyphens:none}
.glance-cell:first-child{padding-left:0;text-align:left}
.glance-cell+.glance-cell{border-left:1px solid var(--line-grn)}
.glance-cell:nth-child(3){border-left:none;padding-left:0;text-align:left}
@media(min-width:880px){
  .glance-row{grid-template-columns:repeat(4,auto);justify-content:start;gap:0}
  .glance-cell:first-child{padding-left:var(--gcp,13px);text-align:center}
  .glance-cell:nth-child(3){border-left:1px solid var(--line-grn);padding-left:var(--gcp,13px);text-align:center}
}
.glance-cell b{display:block;font-size:var(--gfs,13.5px);font-weight:700;color:var(--green);line-height:1.4}
.glance-cell span{display:block;font-size:var(--gls,12px);color:#3a4a40;line-height:1.45;max-width:110px;margin:0 auto}
.glance-underline{height:1px;background:var(--green-2);margin:26px 0 0;max-width:440px}
.explore{margin-top:30px}
.explore h4{
  font-size:15px;font-weight:600;color:var(--green);margin-bottom:14px;
  text-transform:uppercase;letter-spacing:.05em;
}
.explore p{font-size:13px;line-height:1.6;color:#3a4a40;max-width:48ch}
.explore .btn-line{margin-top:22px}
.explore .btn-line + .btn-line{margin-left:0}
.explore-ctas{display:flex;flex-direction:column;align-items:flex-start;gap:22px;margin-top:24px}
.company-media{display:flex;flex-direction:column;gap:18px}
.media-main{overflow:hidden}
.media-main img{
  width:100%;aspect-ratio:385/480;object-fit:cover;
  transition:transform 2s var(--ease);
}
.js .media-main img{transform:scale(1.06)}
.in-view .media-main img{transform:scale(1)}
.media-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.media-thumbs .thumb{overflow:hidden}
.media-thumbs img{
  width:100%;aspect-ratio:125/160;object-fit:cover;
  transition:transform .9s var(--ease);
}
.media-thumbs .thumb:hover img{transform:scale(1.07)}
.company-bottom{padding:30px 0 70px}
.next-company{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  border-top:1px solid var(--line-grn);padding-top:38px;
}
.next-company .nc-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#4a5a4f}
.next-company a{
  font-family:var(--serif);text-transform:uppercase;font-size:34px;color:var(--green);
  display:inline-flex;align-items:center;gap:22px;transition:color .4s;
}
.next-company a:hover{color:var(--gold)}
.next-company a svg{transition:transform .5s var(--ease)}
.next-company a:hover svg{transform:translateX(10px)}
@media(max-width:879px){
  .company-grid{grid-template-columns:1fr}
  .company-media{flex-direction:column;max-width:520px}
}
@media(max-width:879px){
  .split{grid-template-columns:1fr;gap:44px}
  .split .col-l{border-right:none;padding-right:0}
  .glance-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 0}
  .glance-cell:nth-child(3){border-left:none;padding-left:0;text-align:left}
}

/* PDF-like scaling: from 880px up, always render the full 1440px composition and scale it to the window */
@media(min-width:880px) and (max-width:969px){body{zoom:.63}}
@media(min-width:970px) and (max-width:1069px){body{zoom:.70}}
@media(min-width:1070px) and (max-width:1179px){body{zoom:.77}}
@media(min-width:1180px) and (max-width:1289px){body{zoom:.85}}
@media(min-width:1290px) and (max-width:1399px){body{zoom:.93}}
@media(min-width:1640px){body{zoom:1.14}}
@media(min-width:1880px){body{zoom:1.3}}
@media(min-width:2150px){body{zoom:1.5}}
@media(min-width:2450px){body{zoom:1.7}}
@media(min-width:2900px){body{zoom:2}}
@media(min-width:3400px){body{zoom:2.35}}

@media(max-width:879px){
  .hero-title{font-size:clamp(34px,10vw,64px)}
  .about-copy .display{font-size:clamp(30px,8vw,44px);white-space:normal}
  .pull-quote{font-size:clamp(24px,6.5vw,34px)!important}
  .companies .display,.vision .display{font-size:clamp(30px,8vw,44px)}
  .vision-quote p{font-size:clamp(22px,6vw,30px)}
  .company-title{font-size:clamp(36px,9vw,56px)}
  .company-sub{font-size:clamp(18px,5vw,26px)}
  .stat b{font-size:44px}
  .menu-links a{font-size:clamp(26px,7vw,38px)}
  .next-company a{font-size:clamp(20px,6vw,28px)}
}

/* page-load intro (JS only) */
.js body{opacity:0;transition:opacity .8s ease}
.js body.loaded{opacity:1}

/* pressed states */
.btn-line:active,.main-nav a:active,.footer-nav a:active,.menu-links a:active,.next-company a:active{transform:translateY(1px)}
.company-card:active{transform:translateY(1px) scale(.995)}

/* glance fallback: when 4 columns cannot fit, JS adds .wrap2 for a centered 2x2 */
.glance-row.wrap2{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 0}
.glance-row.wrap2 .glance-cell,
.glance-row.wrap2 .glance-cell:first-child{text-align:center;padding:4px 10px}
.glance-row.wrap2 .glance-cell:nth-child(3){border-left:none;padding-left:10px}

/* mobile At a Glance — fully centered (must stay last to win the cascade) */
@media(max-width:879px){
  .glance-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 0}
  .glance-cell,.glance-cell:first-child,.glance-cell:nth-child(3){text-align:center;padding:4px 10px}
  .glance-cell span{margin:0 auto;max-width:none}
}
