@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800&family=Inter:wght@400;500;600&family=Montserrat:wght@500&display=swap');

:root{
  --navy:#122550;
  --navy-deep:#0B1938;
  --red:#911517;
  --red-bright:#B4241F;
  --ink:#1B2430;
  --slate:#5B6674;
  --bg:#F8FAFC;
  --steel:#E8EEF3;
  --line:#E5E9EE;
  /* content column: 1240px max incl. 5vw gutters; every full-width block pads to this */
  --gutter:max(5vw, calc((100% - 1240px) / 2 + 5vw));
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;}
h1,h2,h3{font-family:'Archivo',sans-serif;color:var(--navy-deep);line-height:1.08;letter-spacing:-0.01em;}
a{color:inherit;}
img{max-width:100%;display:block;-webkit-user-drag:none;-webkit-touch-callout:none;user-select:none;}
.wrap{width:100%;}

/* NAV */
nav{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
    padding:18px 5vw;background:rgba(248,250,252,0.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
nav .logo-link img{height:40px;}
nav ul{list-style:none;display:flex;gap:32px;}
nav a{text-decoration:none;color:var(--ink);font-size:0.94rem;font-weight:500;position:relative;padding-bottom:3px;}
nav a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--red);transition:width .25s ease;}
nav a:hover::after{width:100%;}
nav a.active{color:var(--red);}
nav a.active::after{width:100%;}
.logo-link{justify-self:start;display:inline-flex;flex-direction:column;align-items:flex-start;text-decoration:none;}
.logo-link::after{display:none;}
.logo-tag{font-family:'Montserrat',sans-serif;font-weight:500;font-size:9px;letter-spacing:0.128em;margin:6px -0.128em 0 3.2px;line-height:1;color:var(--navy);text-transform:uppercase;white-space:nowrap;}
.nav-cta{justify-self:end;background:var(--navy-deep);color:white !important;padding:10px 22px;border-radius:4px;font-weight:600;font-size:0.88rem;}
.nav-cta::after{display:none;}
.nav-links-wrap{position:relative;}
.services-drop{position:relative;}
.dropdown{position:absolute;top:100%;left:0;background:white;border:1px solid var(--line);border-radius:8px;
  padding:8px;min-width:220px;box-shadow:0 10px 30px rgba(15,36,64,0.08);opacity:0;visibility:hidden;
  transform:translateY(6px);transition:all .18s ease;}
.services-drop:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown a{display:block;padding:10px 12px;border-radius:5px;font-size:0.9rem;}
.dropdown a::after{display:none;}
.dropdown a:hover{background:var(--bg);color:var(--red);}
.nav-toggle{display:none;}
.hamburger{display:none;position:absolute;right:var(--gutter);top:50%;transform:translateY(-50%);
  flex-direction:column;justify-content:center;gap:5px;width:26px;height:20px;cursor:pointer;z-index:60;}
.hamburger span{display:block;width:100%;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s ease,opacity .2s ease;}
.nav-toggle:checked ~ .hamburger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle:checked ~ .hamburger span:nth-child(2){opacity:0;}
.nav-toggle:checked ~ .hamburger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* KICKER / BADGE (shared hero bits) */
.kicker{color:var(--red);font-weight:600;font-size:0.92rem;margin-bottom:16px;}
.badge{display:inline-flex;align-items:center;gap:8px;background:white;border:1px solid var(--line);
       padding:7px 16px;border-radius:100px;font-size:0.85rem;color:var(--slate);margin-bottom:28px;}
.badge .dot{width:7px;height:7px;border-radius:50%;background:#3AA65B;}
.breadcrumb{font-size:0.85rem;color:var(--slate);margin-bottom:22px;}
.breadcrumb a{color:var(--slate);text-decoration:none;}
.breadcrumb a:hover{color:var(--red);}

/* HERO (home) */
.hero{padding:90px 5vw 60px;}
.hero h1{font-size:clamp(2.4rem,4.6vw,3.6rem);font-weight:800;max-width:820px;margin-bottom:22px;}
.hero h1 .accent{color:var(--red);}
.hero p{color:var(--slate);font-size:1.12rem;max-width:600px;margin-bottom:36px;}
.hero-buttons{display:flex;gap:16px;margin-bottom:56px;flex-wrap:wrap;}
.btn-primary{background:var(--red);color:white;padding:14px 28px;border-radius:4px;text-decoration:none;font-weight:600;font-size:0.94rem;display:inline-block;border:none;cursor:pointer;}
.btn-primary:hover{background:var(--red-bright);}
.btn-secondary{border:1.5px solid var(--line);color:var(--ink);padding:14px 28px;border-radius:4px;text-decoration:none;font-weight:600;font-size:0.94rem;background:white;display:inline-block;}
.pill-row{display:flex;flex-wrap:wrap;gap:12px;}
.pill{border:1px solid var(--line);background:white;padding:9px 18px;border-radius:100px;font-size:0.86rem;color:var(--navy);font-weight:500;text-decoration:none;}
.pill:hover{border-color:var(--red);color:var(--red);}
.hero-image{margin-top:50px;border-radius:10px;overflow:hidden;height:360px;
  background:var(--steel);position:relative;}
.hero-image img{width:100%;height:100%;object-fit:cover;display:block;}

/* SUB-PAGE HERO (services/about/contact) */
.page-hero{padding:60px 5vw 70px;border-bottom:1px solid var(--line);background:white;}
.page-hero .tag{color:var(--red);font-weight:700;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.04em;margin-bottom:14px;}
.page-hero h1{font-size:clamp(2rem,3.8vw,3rem);max-width:760px;margin-bottom:18px;}
.page-hero p{color:var(--slate);font-size:1.08rem;max-width:640px;}
.page-hero.split .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:72px;align-items:center;}
.page-hero.split h1,.page-hero.split p{max-width:none;}
.page-hero.split.wide .wrap{grid-template-columns:minmax(0,1fr) minmax(0,540px);gap:56px;}
.page-hero-photo{aspect-ratio:var(--ar);border-radius:12px;overflow:hidden;background:var(--steel);}
.page-hero-photo img{width:100%;height:100%;object-fit:cover;display:block;}

/* TRUSTED BY */
.trusted{padding:52px 5vw;background:white;border-bottom:1px solid var(--line);}
.trusted-label{text-align:center;color:var(--slate);font-size:0.85rem;margin-bottom:30px;}
.trusted-viewport{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent);mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent);}
.trusted-track{display:flex;align-items:center;gap:68px;width:max-content;animation:trusted-scroll 50s linear infinite;}
.trusted-track img{height:50px;width:auto;object-fit:contain;filter:grayscale(1);opacity:0.55;transition:filter .2s ease,opacity .2s ease;}
.trusted-track img:hover{filter:grayscale(0);opacity:1;}
.trusted-viewport:hover .trusted-track{animation-play-state:paused;}
@keyframes trusted-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media(prefers-reduced-motion:reduce){.trusted-track{animation:none;}.bento img{transition:none;}}

/* VALUE PROPS */
.value-row{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:20px;}
.value-item{display:flex;gap:14px;align-items:flex-start;}
.value-item .icon{width:38px;height:38px;border-radius:8px;background:var(--steel);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--red);font-weight:700;}
.value-item h4{font-family:'Archivo',sans-serif;font-size:0.98rem;color:var(--navy-deep);margin-bottom:4px;}
.value-item p{color:var(--slate);font-size:0.86rem;}

/* SECTORS */
.sector-row{display:flex;flex-wrap:wrap;gap:12px;}
.sector-chip{border:1px solid var(--line);background:var(--bg);padding:10px 20px;border-radius:100px;font-size:0.9rem;color:var(--navy-deep);font-weight:500;}

/* DIVISIONS / CARDS */
.divisions{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.division-card{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;text-decoration:none;display:block;color:inherit;transition:transform .18s ease, box-shadow .18s ease;}
.division-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(15,36,64,0.08);}
.division-card .thumb{height:150px;background:linear-gradient(135deg,var(--navy),var(--navy-deep));position:relative;overflow:hidden;}
.division-card .thumb.red{background:linear-gradient(135deg,var(--red-bright),#5C0D0E);}
.division-card .thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.division-card .body{padding:24px;}
.division-card .tag{color:var(--red);font-size:0.78rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;margin-bottom:10px;}
.division-card h3{font-size:1.2rem;margin-bottom:10px;}
.division-card p{color:var(--slate);font-size:0.92rem;}

/* PROJECTS */
.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.project-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:white;}
.project-card .thumb{height:160px;background:linear-gradient(135deg,#274B76,var(--navy-deep));overflow:hidden;}
.project-card .thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.project-card .body{padding:22px;}
.project-card .meta{display:flex;justify-content:space-between;color:var(--slate);font-size:0.8rem;margin-bottom:10px;}
.project-card h3{font-size:1.05rem;margin-bottom:8px;}
.project-card p{color:var(--slate);font-size:0.88rem;}

/* STATS */
.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:48px 5vw;
       display:grid;grid-template-columns:repeat(4,1fr);gap:20px;background:white;}
.stat h3{font-size:2.4rem;font-weight:800;color:var(--navy-deep);}
.stat span{color:var(--slate);font-size:0.9rem;}

/* SECTIONS */
.section{padding:100px 5vw;}
.section-label{color:var(--red);font-weight:600;font-size:0.88rem;text-transform:uppercase;letter-spacing:0.04em;margin-bottom:14px;}
.section-head{max-width:640px;margin-bottom:56px;}
.section-head h2{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:14px;}
.section-head p{color:var(--slate);font-size:1.05rem;}

/* SERVICES NUMBERED (home) */
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.service-item{background:white;padding:36px;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:background .15s ease;}
.service-item:hover{background:var(--bg);}
.service-item .num{color:var(--red);font-family:'Archivo',sans-serif;font-weight:700;font-size:0.95rem;margin-bottom:14px;display:block;}
.svc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.svc-head .num{margin-bottom:0;}
.svc-icon{width:56px;height:56px;flex:none;}
.service-item h3{font-size:1.25rem;margin-bottom:10px;}
.service-item p{color:var(--slate);font-size:0.94rem;margin-bottom:16px;}
.service-item ul{list-style:none;}
.service-item li{font-size:0.88rem;color:var(--ink);padding:6px 0;padding-left:18px;position:relative;}
.service-item li::before{content:'';position:absolute;left:0;top:14px;width:6px;height:6px;border-radius:50%;background:var(--red);}
.service-item .link{color:var(--red);font-weight:600;font-size:0.88rem;margin-top:auto;padding-top:18px;}

/* SERVICE DETAIL PAGE */
.service-detail{padding:90px 5vw;display:grid;grid-template-columns:1.3fr 1fr;gap:70px;max-width:1240px;margin:0 auto;}
.service-detail .intro p{color:#444;font-size:1.03rem;margin-bottom:20px;}
.scope-box{background:white;border:1px solid var(--line);border-radius:10px;padding:32px;}
.scope-box h3{font-size:1.15rem;margin-bottom:18px;}
.scope-box ul{list-style:none;}
.scope-box li{font-size:0.93rem;padding:10px 0;padding-left:22px;position:relative;border-top:1px solid var(--line);}
.scope-box li:first-child{border-top:none;}
.scope-box li::before{content:'';position:absolute;left:0;top:17px;width:6px;height:6px;border-radius:50%;background:var(--red);}

.approach-strip{background:white;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:90px 5vw;}
.approach-steps{display:flex;flex-wrap:wrap;justify-content:center;gap:32px 24px;}
.approach-step{flex:0 0 calc((100% - 96px) / 5);}
.approach-step{position:relative;padding-top:44px;}
.approach-step .num{position:absolute;top:0;left:0;width:34px;height:34px;border-radius:50%;background:var(--navy-deep);
  color:white;font-family:'Archivo',sans-serif;font-weight:700;font-size:0.9rem;display:flex;align-items:center;justify-content:center;}
.approach-step p{font-size:0.9rem;color:var(--ink);}

.other-services{padding:90px 5vw;max-width:1240px;margin:0 auto;}
.other-services h3{font-size:1.3rem;margin-bottom:26px;}
.other-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.other-list a{display:block;background:white;border:1px solid var(--line);border-radius:8px;padding:16px;text-decoration:none;
  color:var(--navy-deep);font-size:0.88rem;font-weight:600;text-align:center;transition:all .15s ease;}
.other-list a:hover{border-color:var(--red);color:var(--red);}

/* WHY */
.why{background:var(--navy-deep);padding:90px 5vw;}
.why .section-head h2{color:white;}
.why .section-head p{color:#9FB4CC;}
.why-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:40px 30px;}
.why-item{flex:0 0 calc((100% - 90px) / 4);}
.why-item h3{color:white;font-size:1.1rem;margin-bottom:10px;}
.why-item p{color:#9FB4CC;font-size:0.9rem;}
.why-item .num{color:#FF8A8A;font-family:'Archivo',sans-serif;font-weight:700;font-size:1.6rem;display:block;margin-bottom:14px;}

/* CONTACT FORM */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;max-width:1240px;margin:0 auto;padding:90px 5vw;}
.contact-info h2{font-size:2rem;margin-bottom:18px;}
.contact-info p{color:var(--slate);margin-bottom:32px;}
.contact-detail{display:flex;gap:14px;margin-bottom:22px;align-items:flex-start;}
.contact-detail .icon{width:38px;height:38px;border-radius:8px;background:var(--steel);display:flex;align-items:center;justify-content:center;color:var(--red);flex-shrink:0;}
.contact-detail h4{font-size:0.92rem;margin-bottom:3px;font-family:'Archivo',sans-serif;color:var(--navy-deep);}
.contact-detail p{color:var(--slate);font-size:0.92rem;margin-bottom:0;}
.contact-form{background:white;border:1px solid var(--line);border-radius:12px;padding:36px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.form-group{margin-bottom:16px;}
.form-group label{display:block;font-size:0.86rem;font-weight:600;margin-bottom:7px;color:var(--navy-deep);}
.form-group input,.form-group select,.form-group textarea{
  width:100%;border:1px solid var(--line);border-radius:6px;padding:11px 14px;font-family:'Inter',sans-serif;font-size:0.92rem;background:var(--bg);}
.form-group textarea{resize:vertical;min-height:110px;}

/* BROCHURE-ALIGNED SECTIONS */
.page-tagline{color:var(--red);font-family:'Archivo',sans-serif;font-weight:600;font-size:1.15rem;margin:-6px 0 16px;}
.division-card.cta-card{background:var(--navy-deep);border-color:var(--navy-deep);display:flex;align-items:flex-end;min-height:100%;}
.division-card.cta-card h3{color:white;}
.division-card.cta-card p{color:#9FB4CC;margin-bottom:16px;}
.division-card.cta-card .tag{color:#FF8A8A;}
.division-card.cta-card .link{color:white;font-weight:600;font-size:0.9rem;}
.service-item:last-child:nth-child(odd){grid-column:1/-1;}
.predecessor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.predecessor-card{background:white;border:1px solid var(--line);border-radius:10px;padding:28px;}
.predecessor-card h3{font-size:1.15rem;margin-bottom:8px;}
.predecessor-card p{color:var(--slate);font-size:0.94rem;}
.predecessor-card .meta{display:block;margin-top:12px;font-size:0.82rem;color:var(--slate);}
.vm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.vm-card{background:var(--navy);color:white;border-radius:10px;padding:34px;}
.vm-card.red{background:var(--red);}
.vm-card h3{color:white;font-size:1.1rem;text-transform:uppercase;letter-spacing:0.04em;margin-bottom:12px;}
.vm-card p{color:rgba(255,255,255,0.88);font-size:1.02rem;}
.apart-list li strong{color:var(--navy);font-weight:600;}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);}
.value-col{padding:26px 24px 8px 0;border-right:1px solid var(--line);margin-right:24px;}
.value-col:last-child{border-right:none;margin-right:0;}
.value-col h3{font-size:1.25rem;margin-bottom:8px;}
.value-col p{color:var(--slate);font-size:0.94rem;}
.hse-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.commitment{margin-top:22px;background:var(--navy-deep);border-radius:10px;padding:32px;}
.commitment h3{color:white;font-size:1.1rem;margin-bottom:10px;}
.commitment p{color:#9FB4CC;max-width:760px;}
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.category-card{background:var(--navy);border-radius:10px;padding:26px;}
.category-card.red{background:var(--red);}
.category-card h3{color:white;font-size:1.1rem;margin-bottom:8px;}
.category-card p{color:rgba(255,255,255,0.85);font-size:0.9rem;}
.project-group + .project-group{margin-top:80px;}
.gallery-section{padding-bottom:0;}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.gallery-grid.row{display:flex;gap:22px;align-items:flex-start;}
.gallery-grid.row figure{flex:var(--ar) 1 0%;min-width:0;}
.gallery-grid figure{margin:0;}
.gallery-grid .ph{height:230px;border-radius:10px;overflow:hidden;background:var(--steel);}
.gallery-grid.row .ph{height:auto;aspect-ratio:var(--ar);}
.gallery-grid .ph.info-card{display:flex;flex-direction:column;justify-content:flex-end;padding:28px;background:var(--navy-deep);text-decoration:none;}
.info-card .tag{color:#FF8A8A;font-size:0.78rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;margin-bottom:10px;}
.info-card h3{color:white;font-size:1.15rem;margin-bottom:10px;}
.info-card p{color:#9FB4CC;font-size:0.9rem;}
.gallery-grid figcaption a{color:var(--red);font-weight:600;text-decoration:none;}
.gallery-grid img{width:100%;height:100%;object-fit:cover;display:block;}
.gallery-grid figcaption{margin-top:12px;font-family:'Archivo',sans-serif;font-weight:600;color:var(--navy-deep);font-size:0.98rem;}
.gallery-grid figcaption span{display:block;margin-top:2px;font-family:'Inter',sans-serif;font-weight:400;color:var(--slate);font-size:0.84rem;}
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:116px;grid-auto-flow:dense;gap:18px;}
.bento figure{margin:0;grid-column:span var(--c);grid-row:span var(--r);display:flex;flex-direction:column;min-height:0;}
.bento .ph{flex:1;min-height:0;border-radius:10px;overflow:hidden;background:var(--steel);}
.bento .ph:empty{background:linear-gradient(135deg,#274B76,var(--navy-deep));}
.bento img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.bento figure:hover img{transform:scale(1.04);}
.bento figcaption{flex:none;height:38px;margin-top:12px;font-family:'Archivo',sans-serif;font-weight:600;color:var(--navy-deep);font-size:0.98rem;}
.bento figcaption span{display:block;margin-top:2px;font-family:'Inter',sans-serif;font-weight:400;color:var(--slate);font-size:0.84rem;}
.brand-row{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;}
.brand-tile{background:white;border:1px solid var(--line);border-radius:10px;height:92px;display:flex;align-items:center;justify-content:center;padding:18px 22px;}
.brand-tile img{max-height:46px;max-width:100%;width:auto;object-fit:contain;}
.story-photo{border-radius:10px;overflow:hidden;height:380px;margin-bottom:32px;}
.story-photo img{width:100%;height:100%;object-fit:cover;object-position:center 40%;}

/* CTA */
.cta{padding:100px 5vw;text-align:center;}
.cta h2{font-size:clamp(1.9rem,3.4vw,2.7rem);margin-bottom:16px;}
.cta p{color:var(--slate);max-width:520px;margin:0 auto 32px;}
.cta-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

/* FOOTER */
footer{background:var(--navy-deep);color:#9FB4CC;padding:64px 5vw 28px;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;margin-bottom:40px;}
footer img{height:34px;margin-bottom:16px;filter:brightness(0) invert(1);}
footer h4{color:white;font-family:'Archivo',sans-serif;margin-bottom:16px;font-size:1rem;}
footer p,footer a{color:#9FB4CC;font-size:0.9rem;text-decoration:none;display:block;margin-bottom:10px;}
footer a:hover{color:white;}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:20px;font-size:0.82rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

/* ALIGNMENT — every full-width block uses the same gutter, so all content shares one column */
nav,.hero,.page-hero,.trusted,.stats,.section,.service-detail,.approach-strip,.other-services,.why,.contact-grid,.cta,footer{padding-left:var(--gutter);padding-right:var(--gutter);}
.service-detail,.other-services,.contact-grid{max-width:none;margin:0;}

@media(max-width:900px){
  .hamburger{display:flex;}
  .nav-cta{display:none;}
  nav ul{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
    background:white;border-bottom:1px solid var(--line);padding:0 var(--gutter);max-height:0;overflow:hidden;
    transition:max-height .3s ease;}
  nav ul a{padding:14px 0;border-top:1px solid var(--line);}
  .nav-toggle:checked ~ ul{max-height:80vh;overflow-y:auto;padding-bottom:16px;}
  .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;
    padding:0 0 8px 16px;min-width:0;}
  .dropdown a{border-top:none;padding:8px 0;}
  .stats{grid-template-columns:repeat(2,1fr);}
  .divisions{grid-template-columns:repeat(2,1fr);}
  .predecessor-grid,.vm-grid,.hse-grid{grid-template-columns:1fr;}
  .category-grid{grid-template-columns:repeat(2,1fr);}
  .values-grid{grid-template-columns:repeat(2,1fr);}
  .value-col:nth-child(2){border-right:none;margin-right:0;}
  .services-grid{grid-template-columns:1fr;}
  .why-item{flex-basis:calc((100% - 30px) / 2);}
  .value-row{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr;}
  .service-detail{grid-template-columns:1fr;}
  .approach-step{flex-basis:calc((100% - 24px) / 2);}
  .other-list{grid-template-columns:repeat(2,1fr);}
  .service-item:last-child:nth-child(odd){grid-column:auto;}
  .contact-grid{grid-template-columns:1fr;}
  .projects-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .page-hero.split .wrap,.page-hero.split.wide .wrap{grid-template-columns:1fr;gap:36px;}
  .page-hero-photo{width:100%;max-width:360px;}
  .bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:auto;align-items:start;}
  .bento figure{grid-column:span 1;grid-row:auto;}
  .bento figure:first-child{grid-column:1/-1;}
  .bento .ph{flex:none;aspect-ratio:var(--ar);}
  .bento figcaption{height:auto;margin-bottom:6px;}
  .story-photo{height:260px;}
  .brand-row{grid-template-columns:repeat(3,1fr);}
}

@media(max-width:480px){
  .gallery-grid,.gallery-grid.row{grid-template-columns:1fr;}
  .bento{grid-template-columns:1fr;}
  .gallery-grid .ph{height:210px;}
  .gallery-grid.row{flex-direction:column;}
  .gallery-grid.row figure{flex:none;width:100%;}
  .brand-row{grid-template-columns:repeat(2,1fr);}
  .divisions{grid-template-columns:1fr;}
  .category-grid,.values-grid{grid-template-columns:1fr;}
  .value-col{border-right:none;margin-right:0;border-bottom:1px solid var(--line);}
  .stats{grid-template-columns:1fr;}
  .why-item{flex-basis:100%;}
  .value-row{grid-template-columns:1fr;}
  .approach-step{flex-basis:100%;}
  .other-list{grid-template-columns:1fr;}
  .hero{padding-top:70px;padding-bottom:44px;}
  .section{padding-top:64px;padding-bottom:64px;}
  .hero-image{height:220px;}
}
