:root {
  --paper:#f2f1ec;
  --card:#fff;
  --ink:#101214;
  --muted:#596166;
  --navy:#0d252e;
  --green:#95bc59;
  --orange:#d7815b;
  --rule:#d7d8d5;
}
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Roboto,Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
.topline { min-height:32px; display:flex; align-items:center; background:var(--navy); color:#fff; font-size:.75rem; letter-spacing:.04em; }
.topline__inner,.header__inner,.nav__inner,.about-page,.footer__inner,.footer__bottom { width:min(1160px,calc(100% - 40px)); margin-inline:auto; }
.topline__inner { display:flex; justify-content:space-between; gap:20px; }
.topline strong { color:#f1cf58; }
.site-header { background:#fff; border-bottom:1px solid var(--rule); }
.header__inner { min-height:104px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; }
.brand { grid-column:2; display:block; width:clamp(360px,40vw,520px); }
.brand img { width:100%; height:auto; }
.nav { background:#fff; border-bottom:1px solid var(--rule); }
.nav__inner { min-height:43px; display:flex; align-items:center; justify-content:center; gap:34px; }
.nav a { font-size:.82rem; font-weight:700; }
.nav a:hover,.nav a:focus-visible,.nav a[aria-current="page"] { color:#087f68; }
.eyebrow,.marker { margin:0 0 13px; color:#b32618; font-size:.75rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.about-page { padding:62px 0 106px; }
.about-opening { display:grid; grid-template-columns:minmax(0,620px) minmax(300px,430px); justify-content:space-between; gap:clamp(50px,8vw,105px); align-items:start; }
.about-opening h2,.company-facts h2 { margin:0; font-size:clamp(2.6rem,4.7vw,4.1rem); line-height:1.08; letter-spacing:-.04em; }
.standfirst { margin:28px 0 24px; font-size:1.35rem; font-weight:700; line-height:1.45; letter-spacing:-.015em; }
.about-opening [data-page-body] { font-size:1.02rem; line-height:1.55; }
.about-opening [data-page-body] > p { margin:0 0 1.25em; }
.about-opening [data-page-body] > p:last-child { margin-bottom:0; }
.about-opening__copy > p:not(.marker):not(.standfirst) { margin:0 0 1.25em; color:#30383b; font-size:1.02rem; line-height:1.52; }
.about-image { margin:5px 0 0; }
.about-image img[hidden] { display:none; }
.about-image img { width:100%; aspect-ratio:3/2; object-fit:cover; }
.about-image figcaption { padding:12px 0 0; color:#646d70; font-size:.78rem; line-height:1.4; }
.about-topics { display:grid; grid-template-columns:repeat(3,1fr); margin-top:90px; border-top:5px solid var(--navy); }
.topic { min-height:300px; padding:26px 28px 30px 0; border-right:1px solid #c9cbc7; }
.topic + .topic { padding-left:28px; }
.topic:last-child { border-right:0; }
.topic h2 { margin:0 0 18px; font-size:1.8rem; line-height:1.05; letter-spacing:-.025em; }
.topic > p:last-child { margin:0; color:#414a4e; font-size:.98rem; line-height:1.42; white-space:pre-line; }
.company-facts { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(0,1.35fr); gap:clamp(50px,8vw,110px); margin-top:86px; padding:54px; background:#fff; border-top:5px solid var(--orange); }
.facts-list { margin:0; }
.facts-list > div { display:grid; grid-template-columns:150px 1fr; gap:22px; padding:19px 0; border-bottom:1px solid var(--rule); }
.facts-list > div:first-child { padding-top:0; }
.facts-list > div:last-child { padding-bottom:0; border-bottom:0; }
.facts-list dt { color:#687174; font-size:.78rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.facts-list dd { margin:0; font-size:1rem; line-height:1.5; }
.facts-list a { text-decoration:underline; text-decoration-color:var(--orange); text-underline-offset:5px; }
footer { background:#000; color:#fff; padding:64px 0 24px; }
.footer__inner { display:grid; grid-template-columns:1.15fr .9fr 1fr .9fr; align-items:start; gap:clamp(28px,5vw,70px); }
.footer__brand { display:inline-block; width:min(280px,100%); }
.footer__brand img { width:100%; height:auto; }
.footer__eyebrow { color:var(--orange); font-size:.72rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; margin:0 0 14px; }
.footer__contact { color:#d1d1d1; font-style:normal; font-size:.95rem; line-height:1.65; }
.footer__contact p,.footer__license p,.footer__rules p { margin:0; }
.footer__contact a,.footer__rules a { display:inline-block; color:#fff; margin-top:14px; text-decoration:underline; text-decoration-color:var(--orange); text-underline-offset:5px; }
.footer__license,.footer__rules { color:#d1d1d1; font-size:.95rem; line-height:1.55; }
.footer__bottom { border-top:1px solid #292929; margin-top:50px; padding-top:20px; }
.footer__bottom p { margin:0; color:#777; font-size:.75rem; }
@media (max-width:820px) {
  .topline__inner,.header__inner,.nav__inner,.about-page,.footer__inner,.footer__bottom { width:min(100% - 28px,680px); }
  .topline__inner span:last-child { display:none; }
  .header__inner { min-height:88px; display:flex; justify-content:center; }
  .brand { width:min(396px,calc(100vw - 76px)); }
  .nav__inner { min-height:31px; gap:24px; }
  .nav a { font-size:.78rem; }
  .about-page { padding:42px 0 76px; }
  .about-opening { grid-template-columns:1fr; gap:34px; }
  .standfirst { font-size:1.2rem; }
  .about-image { width:min(520px,100%); }
  .about-topics { grid-template-columns:1fr; margin-top:64px; }
  .topic,.topic + .topic { min-height:0; padding:24px 0 30px; border-right:0; border-bottom:1px solid #c9cbc7; }
  .topic:last-child { border-bottom:0; }
  .company-facts { grid-template-columns:1fr; gap:34px; margin-top:58px; padding:34px 26px; }
  footer { padding-top:46px; }
  .footer__inner { grid-template-columns:1fr; gap:32px; }
  .footer__brand { width:min(250px,75vw); }
  .footer__contact,.footer__license,.footer__rules { border-top:1px solid #292929; padding-top:24px; }
  .footer__bottom { margin-top:34px; }
}
@media (max-width:440px) {
  .nav__inner { gap:18px; }
  .nav a { font-size:.72rem; white-space:nowrap; }
  .about-opening h2,.company-facts h2 { font-size:2.45rem; }
  .facts-list > div { grid-template-columns:1fr; gap:7px; }
}
