:root {
  --ink: #1b2042;
  --muted: #5b6277;
  --blue: #303090;
  --deep: #21216b;
  --red: #d51f36;
  --water: #07388c;
  --pale: #eef5fc;
  --line: #dce0ed;
  --display: 'Barlow Condensed', 'Bahnschrift Condensed', sans-serif;
  --body: 'Manrope', 'Segoe UI', sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { margin: 0; color: var(--ink); background: #fff; font: 16px/1.7 var(--body); }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
img { display: block; max-width: 100%; }
h1, h2, h3, p, figure { margin: 0; }
h1, h2, h3 { font-family: var(--display); font-weight: 600; line-height: 1.06; }
a:focus-visible, button:focus-visible { outline: 3px solid #c9284b; outline-offset: 5px; }
.hero a:focus-visible, .contact a:focus-visible { outline-color: #fff; }
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 10; padding: 12px; background: white; }
.skip-link:focus { top: 10px; }
.site-header { min-height: 104px; display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 17px 5.5%; background: #fff; }
.brand { display: inline-flex; align-items: center; gap: 14px; flex-shrink: 0; }
.brand>img { width: 62px; height: 62px; object-fit: contain; }
.wordmark { font: 700 34px/1 var(--display); color: var(--blue); }
.wordmark small { display: block; font: 700 10px/1.4 var(--body); letter-spacing: .65px; margin-top: 8px; }
.site-header nav { display: flex; gap: 29px; align-items: center; font-size: 14px; font-weight: 700; }
.site-header nav a:not(.nav-contact):hover { text-decoration: underline; text-underline-offset: 7px; }
.nav-contact { padding: 13px 20px; border: 1px solid var(--blue); color: var(--blue); }
.nav-contact:hover { background: var(--blue); color: white; }
.nav-contact span { margin-left: 14px; }
.menu-toggle { display: none; }
.hero { background: var(--blue); color: #fff; display: grid; grid-template-columns: 1.2fr 1fr; column-gap: 6%; padding: 67px 7% 0; }
.hero-copy { padding-bottom: 61px; }
.eyebrow, .section-label { font-size: 12px; font-weight: 800; letter-spacing: 1px; }
.eyebrow { color: #d5dafd; margin-bottom: 24px; }
h1 { font-size: clamp(54px, 5.35vw, 86px); letter-spacing: -.5px; }
h1 span { color: #d9defe; }
.hero-description { max-width: 445px; margin: 25px 0 27px; color: #e2e4f8; font-size: 16px; }
.hero-about { display: inline-flex; align-items: center; gap: 25px; font-size: 14px; font-weight: 700; padding: 8px 0; border-bottom: 1px solid #9598d0; }
.hero-about:hover { border-color: #fff; }
.hero-about span { font-size: 22px; }
.business-directory { padding-top: 14px; align-self: center; margin-bottom: 55px; }
.directory-label { font-size: 11px; font-weight: 700; letter-spacing: 1px; color: #c6ccf3; padding-bottom: 17px; }
.business-link { display: grid; grid-template-columns: 66px minmax(0,1fr) 18px; align-items: center; gap: 19px; border-top: 1px solid #7779b7; padding: 25px 0; transition: background .18s; }
.business-link:last-child { border-bottom: 1px solid #7779b7; }
.business-link:hover { background: #38389b; }
.business-link>img { width: 66px; height: 66px; object-fit: contain; }
.business-link small { font-size: 10px; letter-spacing: .6px; color: #c6ccf3; }
.business-link strong { display: block; font: 500 31px/1.15 var(--display); margin: 5px 0 7px; }
.business-link>span>span { font-size: 12px; color: #e2e4f8; display: block; }
.business-link b { font-weight: 400; font-size: 23px; }
.hero-baseline { grid-column: 1/-1; display: flex; gap: 30px; border-top: 1px solid #6c6eae; padding: 18px 0; font-size: 10px; font-weight: 700; letter-spacing: 1px; color: #d7daf5; }
.hero-baseline span:last-child { margin-left: auto; }
.section-wrap { padding-left: 7%; padding-right: 7%; }
.section-label { color: var(--muted); }
h2 { font-size: clamp(40px, 3.9vw, 58px); }
.intro { padding-top: 83px; padding-bottom: 86px; }
.intro-content { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; margin-top: 28px; }
.intro h2 { font-size: 49px; }
.intro h2 span { color: var(--muted); }
.intro-text p { font-size: 15px; color: var(--muted); }
.intro-text p+p { margin-top: 17px; }
.text-link { display: inline-flex; align-items: center; gap: 24px; font-size: 13px; font-weight: 800; border-bottom: 1px solid var(--blue); padding-bottom: 6px; color: var(--blue); }
.text-link:hover { color: var(--red); border-color: var(--red); }
.intro-text .text-link { margin-top: 25px; }
.security { background: #f6f6fa; padding-top: 41px; padding-bottom: 0; }
.division-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-bottom: 28px; }
.division-category { font-size: 13px; color: var(--muted); }
.security-layout { display: grid; grid-template-columns: .95fr 1.05fr; gap: 6%; padding-bottom: 42px; }
.security-photo { align-self: stretch; display: flex; flex-direction: column; min-height: 390px; }
.security-photo>img { width: 100%; flex: 1; object-fit: cover; object-position: 25% center; min-height: 0; }
.security-photo figcaption { font-size: 10px; padding-top: 10px; color: var(--muted); }
.division-brand { display: flex; align-items: center; gap: 15px; margin-bottom: 24px; color: var(--blue); }
.division-brand>img { width: 62px; height: 62px; object-fit: contain; }
.division-brand>span { font-family: var(--display); font-size: 20px; line-height: 1.1; }
.division-brand strong { font-size: 26px; font-weight: 600; }
.security-content h2 { font-size: 48px; }
.security-content>p { font-size: 15px; color: var(--muted); margin: 22px 0 25px; max-width: 475px; }
.button { display: inline-flex; justify-content: space-between; align-items: center; gap: 27px; min-height: 56px; padding: 16px 22px; font-size: 14px; font-weight: 800; transition: background .18s; }
.button span { font-size: 22px; line-height: 1; }
.button-red { background: var(--red); color: #fff; }
.button-red:hover { background: #ad1830; }
.button-blue { background: var(--water); color: #fff; }
.button-blue:hover { background: #052866; }
.security-topics { border-top: 1px solid var(--line); display: flex; align-items: center; gap: 35px; padding: 23px 0; font-size: 12px; }
.security-topics>span { font-weight: 800; color: var(--blue); }
.security-topics ul { list-style: none; display: flex; gap: 30px; padding: 0; margin: 0; color: var(--muted); }
.clients { padding-top: 50px; padding-bottom: 67px; }
.clients-heading { display: grid; grid-template-columns: 1fr 1.6fr; align-items: center; gap: 30px; }
.clients-heading h2 { font-size: 35px; }
.client-list { margin-top: 30px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); align-items: center; padding: 15px 0; }
.client-list>div { min-width: 0; height: 85px; display: flex; align-items: center; justify-content: center; padding: 10px 23px; border-right: 1px solid var(--line); }
.client-list>div:last-child { border: 0; }
.client-logo img { max-width: 100%; max-height: 64px; object-fit: contain; width: 180px; height: auto; }
.client-logo.ppa { gap: 13px; }
.ppa img { width: 60px; }
.ppa strong { font: 600 26px var(--display); white-space: nowrap; }
.client-name { font: 700 46px/1.1 var(--display); }
.client-name.sis { flex-direction: column; color: #25487b; font-style: italic; }
.client-name span { font: 700 8px/1.5 var(--body); margin-top: 5px; }
.adaro { color: #295653; letter-spacing: 2px; }
.water { background: var(--pale); padding-top: 41px; padding-bottom: 27px; }
.water-layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: 9%; padding: 22px 0 43px; }
.water-name { font-size: 12px; font-weight: 800; color: var(--water); letter-spacing: .8px; margin-bottom: 22px; }
.water-content h2 { color: var(--water); }
.water-content>p:not(.water-name) { color: var(--muted); font-size: 15px; max-width: 470px; margin: 24px 0 29px; }
.water-identity { background: #07348c; color: #fff; padding: 29px; text-align: center; display: flex; flex-direction: column; justify-content: center; align-items: center; }
.water-identity img { width: 135px; height: 135px; object-fit: contain; margin-bottom: 24px; }
.water-identity>p { font-size: 10px; letter-spacing: 1px; color: #b9e9ff; }
.water-identity strong { font: 500 36px/1.12 var(--display); margin: 10px 0 20px; }
.water-identity>span { font-size: 11px; color: #d1e7fe; }
.water-details { display: grid; grid-template-columns: 1fr 2fr; gap: 35px; border-top: 1px solid #c6d6ea; padding-top: 23px; }
.water-details>p:first-child { font-size: 13px; font-weight: 800; color: var(--water); }
.water-details>p:last-child { font-size: 13px; color: var(--muted); }
.activity { padding-top: 72px; padding-bottom: 72px; }
.activity-top { display: grid; grid-template-columns: 1fr 1.3fr 1.2fr; align-items: start; gap: 26px; }
.activity-top h2 { font-size: 43px; }
.activity-top .text-link { justify-self: end; align-self: end; }
.news-story { display: grid; grid-template-columns: 1fr 2.1fr 60px; gap: 26px; border-top: 1px solid var(--line); margin-top: 33px; padding-top: 30px; }
.news-meta { display: flex; flex-direction: column; gap: 9px; font-size: 11px; font-weight: 700; color: var(--blue); }
.news-meta time { font-size: 12px; font-weight: 400; color: var(--muted); }
.news-story h3 { font-size: 33px; margin-bottom: 15px; }
.news-story p { font-size: 14px; color: var(--muted); max-width: 580px; }
.news-source { display: inline-block; font-size: 12px; font-weight: 800; margin-top: 20px; color: var(--blue); }
.news-arrow { display: grid; place-items: center; border: 1px solid var(--line); width: 52px; height: 52px; font-size: 27px; }
.news-story:hover .news-arrow { color: white; background: var(--blue); }
.news-story:hover h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.contact { padding-top: 57px; padding-bottom: 35px; background: var(--deep); color: white; }
.contact .section-label { color: #c7cef5; }
.contact-heading h2 { margin: 18px 0 16px; font-size: 55px; }
.contact-heading>p:last-child { font-size: 14px; color: #d1d7ef; }
.contact-options { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; margin: 32px 0 35px; }
.contact-options>a { border: 1px solid #777bb5; padding: 24px 27px; display: flex; flex-direction: column; }
.contact-options>a:hover { background: #303080; border-color: #b6bff2; }
.contact-type { font-size: 10px; letter-spacing: .6px; color: #c7cef5; }
.contact-options strong { font: 500 36px/1.1 var(--display); margin: 14px 0 20px; }
.contact-options a>span:last-child { display: flex; justify-content: space-between; align-items: center; gap: 15px; font-size: 13px; }
.contact-options b { font-weight: 400; font-size: 24px; }
.contact-address { border-top: 1px solid #686da9; padding-top: 25px; display: flex; justify-content: space-between; gap: 30px; align-items: end; font-size: 12px; }
.contact-address strong { font-weight: 800; }
.contact-address address { font-style: normal; color: #d1d7ef; margin-top: 6px; }
.contact-address>a { font-weight: 700; }
.contact-address>a:hover { text-decoration: underline; }
.site-footer { padding: 25px 7%; display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.site-footer .brand>img { width: 50px; height: 50px; }
.site-footer .wordmark { font-size: 28px; }
.site-footer .wordmark small { font-size: 8px; }
.site-footer>p { font-size: 12px; color: var(--muted); }
@media (min-width:1600px) { body { max-width:1800px; margin:auto; } .hero { padding-top:85px; } .hero-copy { padding-bottom:75px; } }
@media (max-width:1050px) {
  .site-header { padding:16px 5%; } .site-header nav { gap:18px; font-size:12px; } .nav-contact { padding:12px; }
  .wordmark { font-size:30px; } .wordmark small { font-size:9px; } .brand { gap:10px; }
  .hero { padding-top:48px; column-gap:5%; grid-template-columns:1.1fr 1fr; } h1 { font-size:59px; }
  .business-link { grid-template-columns:52px minmax(0,1fr) 18px; gap:12px; } .business-link>img { width:52px; height:52px; } .business-link strong { font-size:27px; } .business-link>span>span { font-size:11px; }
  .intro-content { gap:40px; } .intro h2 { font-size:43px; } .security-layout { gap:5%; } .security-content h2 { font-size:41px; }
  .security-topics { align-items:start; gap:24px; } .security-topics ul { gap:18px; } .security-topics li { max-width:190px; }
  .water-layout { gap:6%; } .water-content h2 { font-size:43px; }
  .client-logo.ppa { gap:8px; } .ppa img { width:48px; } .ppa strong { font-size:23px; }
  .activity-top { grid-template-columns:1fr 1.4fr; } .activity-top .text-link { grid-column:2; justify-self:start; }
}
@media (max-width:760px) {
  .site-header { min-height:86px; position:relative; z-index:4; gap:12px; padding:12px 5%; }
  .brand>img { width:48px; height:48px; } .wordmark { font-size:27px; } .wordmark small { font-size:7px; margin-top:6px; }
  .menu-toggle { display:flex; align-items:center; gap:9px; background:none; border:1px solid var(--line); min-height:44px; padding:8px 11px; font-size:12px; color:var(--blue); }
  .site-header nav { display:none; position:absolute; top:100%; left:0; right:0; padding:17px 6% 23px; flex-direction:column; align-items:stretch; background:white; border-bottom:1px solid var(--line); gap:0; font-size:15px; }
  .site-header nav.is-open { display:flex; } .site-header nav a { padding:13px 8px; } .site-header nav .nav-contact { margin:12px 0 0; padding:13px; }
  .hero { grid-template-columns:1fr; padding:40px 6% 0; } .hero-copy { padding-bottom:34px; }
  .eyebrow { font-size:10px; margin-bottom:23px; } h1 { font-size:clamp(46px,10.8vw,70px); }
  .hero-description { font-size:14px; margin:22px 0; max-width:450px; } .hero-about { font-size:13px; }
  .business-directory { margin-bottom:26px; padding-top:0; } .directory-label { font-size:10px; padding-bottom:12px; }
  .business-link { grid-template-columns:56px minmax(0,1fr) 20px; gap:15px; padding:20px 0; } .business-link>img { width:56px; height:56px; } .business-link strong { font-size:28px; } .business-link small { font-size:9px; }
  .hero-baseline { padding:16px 0; gap:16px; font-size:8px; letter-spacing:.5px; }
  .section-wrap { padding-left:6%; padding-right:6%; } .section-label { font-size:10px; }
  .intro { padding-top:52px; padding-bottom:52px; } .intro-content { grid-template-columns:1fr; gap:24px; margin-top:23px; } .intro h2 { font-size:40px; }
  .intro-text p { font-size:14px; } .text-link { font-size:12px; gap:16px; }
  .security { padding-top:30px; } .division-heading { padding-bottom:23px; gap:16px; } .division-category { font-size:11px; }
  .security-layout { grid-template-columns:1fr; gap:28px; padding-bottom:30px; } .security-photo { min-height:0; } .security-photo>img { height:230px; flex:none; object-position:center; } .security-photo figcaption { font-size:9px; }
  .division-brand { margin-bottom:21px; } .division-brand>img { width:54px; height:54px; }
  .security-content h2 { font-size:40px; } .security-content>p { font-size:14px; } .button { font-size:13px; gap:20px; padding:15px 18px; min-height:54px; }
  .security-topics { flex-direction:column; gap:12px; padding:21px 0 25px; } .security-topics ul { flex-direction:column; gap:6px; } .security-topics li { max-width:none; }
  .clients { padding-top:35px; padding-bottom:45px; } .clients-heading { grid-template-columns:1fr; gap:18px; } .clients-heading h2 { font-size:34px; }
  .client-list { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:24px; padding:8px 0; }
  .client-list>div { height:100px; padding:12px 15px; } .client-list>div:nth-child(2) { border-right:0; } .client-list>div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .client-name { font-size:38px; } .ppa img { width:43px; } .ppa strong { font-size:22px; }
  .water { padding-top:30px; padding-bottom:25px; } .water-layout { grid-template-columns:1fr; gap:30px; padding-top:6px; padding-bottom:27px; } .water-name { font-size:10px; margin-bottom:18px; }
  .water-content h2 { font-size:40px; } .water-content>p:not(.water-name) { font-size:14px; margin:22px 0 25px; }
  .water-identity { display:grid; grid-template-columns:110px minmax(0,1fr); text-align:left; padding:24px; column-gap:19px; }
  .water-identity img { grid-row:1/4; width:110px; height:110px; margin:0; } .water-identity>p { font-size:8px; } .water-identity strong { font-size:27px; margin:8px 0 10px; } .water-identity>span { font-size:10px; }
  .water-details { grid-template-columns:1fr; gap:10px; padding-top:20px; } .water-details>p:last-child { font-size:12px; }
  .activity { padding-top:45px; padding-bottom:48px; } .activity-top { grid-template-columns:1fr; gap:20px; } .activity-top h2 { font-size:40px; } .activity-top .text-link { grid-column:auto; }
  .news-story { grid-template-columns:1fr; gap:19px; margin-top:28px; padding-top:25px; } .news-meta { flex-direction:row; justify-content:space-between; font-size:10px; } .news-meta time { font-size:11px; }
  .news-story h3 { font-size:32px; } .news-story p { font-size:13px; } .news-arrow { display:none; }
  .contact { padding-top:42px; padding-bottom:30px; } .contact-heading h2 { font-size:44px; } .contact-heading>p:last-child { font-size:13px; }
  .contact-options { grid-template-columns:1fr; gap:17px; margin:27px 0; } .contact-options>a { padding:23px; } .contact-options strong { font-size:34px; } .contact-options a>span:last-child { font-size:12px; }
  .contact-address { align-items:start; flex-direction:column; gap:21px; font-size:11px; }
  .site-footer { padding:24px 6%; flex-direction:column; align-items:start; gap:22px; } .site-footer>p { font-size:11px; }
}
@media (max-width:350px) { .wordmark { font-size:24px; } .brand { gap:8px; } .brand>img { width:40px; height:40px; } .menu-toggle { padding:7px 9px; } .water-identity { padding:18px; column-gap:14px; grid-template-columns:90px minmax(0,1fr); } .water-identity img { width:90px; height:90px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *:before, *:after { transition:none!important; } }
/* Company story and activity gallery */
.about-header{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line)}
.about-header>span{font-size:11px;letter-spacing:1px;font-weight:700;color:var(--muted)}
.about-story{display:grid;grid-template-columns:1.2fr .8fr;gap:8%;padding:45px 0 58px}
.about-story h2{font-size:clamp(43px,4.5vw,68px);line-height:1.02;max-width:720px}
.about-story .intro-text{padding-top:9px}
.about-ledger{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.about-ledger>div{padding:26px 25px 25px 0;border-right:1px solid var(--line);margin-right:25px}
.about-ledger>div:last-child{border-right:0;margin-right:0}
.about-ledger span{display:block;color:var(--red);font-size:10px;font-weight:800;letter-spacing:.8px;margin-bottom:12px}
.about-ledger strong{display:block;font:600 29px/1.1 var(--display);color:var(--blue)}
.about-ledger p{font-size:12px;color:var(--muted);margin-top:7px;max-width:255px}
.gallery{background:#f1f3fa;padding-top:76px;padding-bottom:70px}
.gallery-heading{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end}
.gallery-heading h2{font-size:clamp(43px,4.2vw,60px);margin-top:18px}
.gallery-heading>p{color:var(--muted);font-size:15px;max-width:360px;justify-self:end;padding-bottom:4px}
.gallery-filters{display:flex;gap:32px;align-items:center;border-top:1px solid #d5daeb;margin-top:35px;margin-bottom:20px}
.gallery-filters button{border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font-size:13px;font-weight:700;padding:17px 0 13px;cursor:pointer}
.gallery-filters button:hover{color:var(--blue)}
.gallery-filters button.is-active{border-color:var(--red);color:var(--blue)}
.gallery-filters span{font-size:10px;margin-left:5px;vertical-align:top}
.gallery-grid{display:grid;grid-template-columns:7fr 5fr;gap:14px}
.gallery-item{position:relative;border:0;padding:0;min-width:0;height:390px;overflow:hidden;cursor:pointer;text-align:left;background:#263052;color:#fff}
.gallery-item:nth-child(4n+2),.gallery-item:nth-child(4n+3){height:390px}
.gallery-item[hidden]{display:none}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.gallery-item:nth-child(2) img{object-position:center 57%}
.gallery-item:nth-child(3) img{object-position:center 37%}
.gallery-item:nth-child(4) img{object-position:center 54%}
.gallery-item:hover img{transform:scale(1.035)}
.gallery-item::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(7,15,37,.83));pointer-events:none}
.gallery-item>span{position:absolute;left:24px;bottom:23px;z-index:1;max-width:calc(100% - 92px)}
.gallery-item small{display:block;font:700 10px var(--body);letter-spacing:.8px;margin-bottom:6px}
.gallery-item strong{display:block;font:500 31px/1.08 var(--display)}
.gallery-item>b{position:absolute;right:24px;bottom:21px;z-index:1;display:grid;place-items:center;width:40px;height:40px;border:1px solid #fff;font:400 28px var(--body)}
.gallery-credit{font-size:11px;color:var(--muted);margin-top:18px}
.gallery-credit a{text-decoration:underline;text-underline-offset:3px}
.gallery-dialog{width:min(1040px,calc(100% - 36px));max-height:calc(100vh - 36px);border:0;padding:0;background:#fff;color:var(--ink);box-shadow:0 25px 100px rgba(4,7,36,.35)}
.gallery-dialog::backdrop{background:rgba(6,10,35,.85)}
.dialog-panel{position:relative}
.dialog-close{position:absolute;right:15px;top:15px;z-index:2;width:44px;height:44px;border:0;background:#fff;color:var(--blue);font-size:30px;line-height:1;cursor:pointer}
.dialog-image{background:#15182e;display:grid;place-items:center;min-height:240px}
.dialog-image img{max-width:100%;max-height:70vh;object-fit:contain}
.dialog-error{color:#fff;text-align:center;padding:35px;font-size:14px}
.dialog-details{display:flex;justify-content:space-between;gap:25px;align-items:end;padding:20px 25px 24px}
.dialog-index{color:var(--red);font-size:10px;font-weight:800;letter-spacing:.8px;margin-bottom:8px}
.dialog-details h2{font-size:33px}
.dialog-caption{font-size:12px;color:var(--muted);margin-top:7px}
.dialog-source{display:inline-block;font-size:12px;font-weight:700;color:var(--blue);text-decoration:underline;text-underline-offset:3px;margin-top:10px}
.dialog-controls{display:flex;gap:8px;flex-shrink:0}
.dialog-controls button{width:44px;height:44px;border:1px solid var(--line);background:#fff;color:var(--blue);font-size:23px;cursor:pointer}
.dialog-controls button:hover{background:var(--blue);color:white}
/* Footer is the directory for pages, office, and official social channels. */
.site-footer{display:block;background:#fff;padding-top:57px;padding-bottom:26px}
.footer-main{display:grid;grid-template-columns:1.7fr .75fr 1.1fr;gap:6%;padding-bottom:53px}
.footer-identity .brand>img{width:58px;height:58px}
.footer-identity .wordmark{font-size:33px}
.footer-identity .wordmark small{font-size:9px}
.footer-identity>p{font-size:14px;color:var(--muted);max-width:330px;margin-top:23px}
.footer-nav,.footer-office{display:flex;flex-direction:column;align-items:flex-start}
.footer-nav h2,.footer-office h2{font:800 12px var(--body);color:var(--blue);margin-bottom:17px}
.footer-nav a,.footer-office a{font-size:13px;color:var(--muted);padding:3px 0}
.footer-nav a:hover,.footer-office a:hover,.footer-bottom a:hover{text-decoration:underline;text-underline-offset:4px;color:var(--blue)}
.footer-office address{font-size:13px;color:var(--muted);font-style:normal;line-height:1.7}
.footer-office a{color:var(--blue);font-weight:700;margin-top:13px}
.footer-bottom{display:flex;justify-content:space-between;gap:22px;border-top:1px solid var(--line);padding-top:23px;font-size:11px;color:var(--muted)}
.footer-bottom>div{display:flex;gap:22px;flex-wrap:wrap}
@media(max-width:1050px){.site-header nav{gap:14px}.about-story{gap:5%}.gallery-item{height:320px}.gallery-item:nth-child(4n+2),.gallery-item:nth-child(4n+3){height:320px}.footer-main{gap:4%;grid-template-columns:1.3fr .7fr 1fr}}
@media(max-width:760px){.about-header{padding-bottom:16px}.about-header>span{font-size:9px}.about-story{grid-template-columns:1fr;gap:22px;padding:28px 0 33px}.about-story h2{font-size:44px}.about-ledger{grid-template-columns:1fr}.about-ledger>div{margin:0;padding:19px 0;border-right:0;border-bottom:1px solid var(--line)}.about-ledger>div:last-child{border-bottom:0}.about-ledger strong{font-size:27px}.about-ledger p{max-width:none}.gallery{padding-top:48px;padding-bottom:46px}.gallery-heading{grid-template-columns:1fr;gap:14px}.gallery-heading h2{font-size:43px}.gallery-heading>p{justify-self:start;font-size:13px}.gallery-filters{gap:20px;overflow-x:auto;white-space:nowrap;margin-top:27px}.gallery-filters button{font-size:12px;flex-shrink:0}.gallery-grid{grid-template-columns:1fr;gap:12px}.gallery-item,.gallery-item:nth-child(4n+2),.gallery-item:nth-child(4n+3){height:260px}.gallery-item>span{left:18px;bottom:17px}.gallery-item strong{font-size:29px}.gallery-item>b{right:18px;bottom:17px;width:36px;height:36px}.gallery-credit{font-size:10px}.gallery-dialog{width:calc(100% - 20px);max-height:calc(100vh - 20px)}.dialog-image img{max-height:59vh}.dialog-details{padding:17px;gap:13px}.dialog-details h2{font-size:29px}.dialog-caption{font-size:11px}.dialog-controls button{width:40px;height:40px}.site-footer{padding-top:40px;padding-bottom:24px;display:block}.footer-main{grid-template-columns:1fr 1fr;gap:34px 22px;padding-bottom:35px}.footer-identity{grid-column:1/-1}.footer-identity>p{font-size:13px;margin-top:17px}.footer-nav h2,.footer-office h2{font-size:11px}.footer-nav a,.footer-office a,.footer-office address{font-size:12px}.footer-bottom{flex-direction:column;gap:18px}.footer-bottom>div{gap:15px}}
@media(max-width:350px){.about-story h2{font-size:38px}.footer-main{grid-template-columns:1fr}.footer-identity{grid-column:auto}.gallery-filters{gap:13px}.gallery-filters button{font-size:11px}}
/* Client heading centered across all four marks; activity reads as one editorial item. */
.clients-heading{display:block;text-align:center}
.clients-heading h2{max-width:900px;margin:0 auto;font-size:clamp(32px,3vw,43px)}
.client-logo.adaro img{width:190px;max-width:100%;max-height:69px;object-fit:contain}
.activity{padding-top:68px;padding-bottom:76px}
.activity-top{display:flex;align-items:end;justify-content:space-between;gap:38px}
.activity-top>div{min-width:0}
.activity-top h2{font-size:clamp(40px,3.8vw,55px);margin-top:16px}
.activity-top .text-link{align-self:end;justify-self:auto;grid-column:auto;margin-bottom:5px;flex-shrink:0}
.news-story{display:grid;grid-template-columns:minmax(145px,210px) minmax(0,1fr);gap:42px;border-top:1px solid var(--line);margin-top:28px;padding-top:32px}
.news-meta{gap:9px;padding-top:4px}
.news-content{max-width:700px}
.news-story h3{font-size:clamp(32px,3vw,41px);margin-bottom:17px}
.news-story p{font-size:15px;line-height:1.7;max-width:620px}
.news-source{font-size:13px;color:var(--blue);border-bottom:1px solid currentColor;padding-bottom:3px;margin-top:21px}
@media(max-width:760px){
  .clients-heading h2{font-size:33px}
  .client-logo.adaro img{max-height:58px;width:170px}
  .activity{padding-top:48px;padding-bottom:54px}
  .activity-top{display:flex;flex-direction:column;align-items:start;gap:21px}
  .activity-top h2{font-size:42px;margin-top:13px}
  .activity-top .text-link{align-self:start;margin:0}
  .news-story{grid-template-columns:1fr;gap:17px;margin-top:26px;padding-top:26px}
  .news-meta{flex-direction:row;align-items:center;gap:15px;padding:0}
  .news-story h3{font-size:31px;margin-bottom:13px}
  .news-story p{font-size:14px}
  .news-source{font-size:12px;margin-top:18px}
}
