.brandbook-page { color: #15201c; background: #f7f4ea; }
.brandbook-page section { scroll-margin-top: 112px; }
.brandbook-hero { overflow: hidden; color: #fff; background: #072a20; }
.brandbook-hero__inner { padding: clamp(42px, 5vw, 76px) var(--edge) 0; }
.brandbook-hero .breadcrumbs { margin-bottom: clamp(58px, 8vw, 118px); }
.brandbook-hero .breadcrumbs a,
.brandbook-hero .breadcrumbs span { color: rgba(255,255,255,.72); }
.brandbook-hero__grid { display: grid; grid-template-columns: minmax(0, 1.24fr) minmax(350px, .76fr); gap: clamp(54px, 9vw, 150px); align-items: stretch; }
.brandbook-hero__copy { align-self: center; padding-bottom: clamp(62px, 8vw, 116px); }
.brandbook-hero__copy .section-code { color: #3bd28d; }
.brandbook-hero h1 { max-width: 1050px; margin: 23px 0 0; font-family: var(--display); font-size: clamp(48px, 7.3vw, 112px); font-weight: 650; line-height: .91; letter-spacing: -.075em; }
.brandbook-hero h1 em { color: #d8ff43; font-style: normal; }
.brandbook-hero__copy > p:last-of-type { max-width: 670px; margin: clamp(28px, 3.5vw, 48px) 0 0; color: rgba(255,255,255,.76); font-size: clamp(17px, 1.35vw, 21px); line-height: 1.6; }
.brandbook-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.brandbook-hero__actions .button { min-width: 205px; justify-content: space-between; }
.brandbook-hero__mark { position: relative; display: grid; min-height: 640px; grid-template-rows: auto 1fr auto; padding: 28px; color: #072a20; background: #f7f4ea; }
.brandbook-hero__mark::before { position: absolute; inset: 16px; border: 1px solid rgba(7,42,32,.2); content: ""; pointer-events: none; }
.brandbook-hero__mark > span { position: relative; z-index: 1; color: #07885a; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.brandbook-hero__mark figure { display: grid; place-items: center; margin: 0; }
.brandbook-hero__mark img { width: min(64%, 280px); height: auto; }
.brandbook-hero__mark p { position: relative; z-index: 1; margin: 0; font-family: var(--display); font-size: clamp(23px, 2.2vw, 34px); font-weight: 650; line-height: 1.05; letter-spacing: -.05em; text-transform: uppercase; }
.brandbook-jump { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); border-top: 1px solid rgba(255,255,255,.22); }
.brandbook-jump a { display: flex; min-height: 78px; align-items: center; gap: 14px; padding: 16px 20px; border-right: 1px solid rgba(255,255,255,.22); color: #fff; font-size: 13px; font-weight: 750; text-decoration: none; transition: color .18s, background .18s; }
.brandbook-jump a:last-child { border-right: 0; }
.brandbook-jump span { color: #3bd28d; font-size: 10px; letter-spacing: .08em; }
.brandbook-jump a:hover { color: #072a20; background: #d8ff43; }
.brandbook-jump a:hover span { color: #072a20; }

.brandbook-section { padding: clamp(82px, 10vw, 156px) var(--edge); }
.brandbook-heading { display: grid; grid-template-columns: minmax(135px, .35fr) minmax(0, 1.65fr); gap: clamp(40px, 8vw, 128px); align-items: start; margin-bottom: clamp(58px, 8vw, 112px); }
.brandbook-heading h2 { max-width: 1100px; margin: 0; font-family: var(--display); font-size: clamp(38px, 5.5vw, 84px); font-weight: 620; line-height: .95; letter-spacing: -.065em; }
.brandbook-heading h2 em { color: #07885a; font-style: normal; }
.brandbook-heading div > p { max-width: 720px; margin: 28px 0 0; color: #64726b; font-size: clamp(16px, 1.35vw, 20px); line-height: 1.6; }
.brandbook-heading--light h2 { color: #fff; }
.brandbook-heading--light h2 em { color: #d8ff43; }
.brandbook-heading--light div > p { color: rgba(255,255,255,.72); }
.brandbook-heading--light .section-code { color: #3bd28d; }

.brandbook-logo__showcase { display: grid; grid-template-columns: minmax(330px, 1fr) minmax(330px, 1fr); border-top: 1px solid #072a20; border-left: 1px solid #072a20; }
.brandbook-logo__showcase > * { min-height: 310px; border-right: 1px solid #072a20; border-bottom: 1px solid #072a20; }
.brandbook-logo__primary { display: grid; min-height: 650px; grid-row: span 2; grid-template-rows: auto 1fr auto; margin: 0; padding: clamp(24px, 3vw, 44px); background: #fff; }
.brandbook-logo__primary > span,
.brandbook-logo__rules > span,
.brandbook-logo__safe > span,
.brandbook-logo__digital > span { color: #07885a; font-size: 11px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.brandbook-logo__primary img { width: min(68%, 330px); height: auto; place-self: center; }
.brandbook-logo__primary figcaption { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.brandbook-logo__rules { padding: clamp(24px, 3vw, 44px); }
.brandbook-logo__rules ol { margin: 24px 0 0; padding: 0; list-style: none; }
.brandbook-logo__rules li { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 14px; align-items: start; padding: 14px 0; border-top: 1px solid #d9ded9; }
.brandbook-logo__rules li b { color: #07885a; font-size: 10px; }
.brandbook-logo__rules li strong { font-size: 15px; line-height: 1.35; }
.brandbook-logo__safe { display: grid; grid-template-columns: minmax(0,.78fr) minmax(220px,1.22fr); gap: 16px 42px; align-content: center; padding: clamp(28px, 4vw, 54px); color: #fff; background: #103f2f; }
.brandbook-logo__safe > span { grid-column: 1 / -1; color: #d8ff43; }
.brandbook-logo__safe strong { font-family: var(--display); font-size: clamp(22px, 2.1vw, 32px); line-height: 1.12; letter-spacing: -.045em; }
.brandbook-logo__safe p { margin: 0; color: rgba(255,255,255,.72); line-height: 1.55; }
.brandbook-logo__digital { display: grid; min-height: 300px; grid-template-columns: minmax(120px,.45fr) minmax(0,1fr); gap: 28px; align-items: center; padding: clamp(24px, 3vw, 44px); color: #fff; background: #072a20; }
.brandbook-logo__digital > span { grid-column: 1 / -1; color: #d8ff43; }
.brandbook-logo__digital img { width: min(100%, 160px); }
.brandbook-logo__digital strong { font-family: var(--display); font-size: clamp(20px, 2vw, 30px); line-height: 1.15; }
.brandbook-logo__digital p { margin: 12px 0 0; color: #3bd28d; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.brandbook-colors { color: #fff; background: #103f2f; }
.brandbook-palette { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid rgba(255,255,255,.26); border-left: 1px solid rgba(255,255,255,.26); }
.brandbook-swatch { display: flex; min-height: 250px; flex-direction: column; justify-content: space-between; padding: clamp(22px, 2.4vw, 36px); border-right: 1px solid rgba(255,255,255,.26); border-bottom: 1px solid rgba(255,255,255,.26); color: #072a20; }
.brandbook-swatch.is-dark { color: #fff; }
.brandbook-swatch span { font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.brandbook-swatch strong { margin-top: auto; padding-top: 42px; font-family: var(--display); font-size: clamp(21px, 2vw, 30px); letter-spacing: -.04em; }
.brandbook-swatch small { margin-top: 8px; font-size: 13px; }
.brandbook-swatch--pine-950 { background: #072a20; }
.brandbook-swatch--pine-800 { background: #103f2f; }
.brandbook-swatch--green-600 { background: #07885a; }
.brandbook-swatch--green-400 { background: #3bd28d; }
.brandbook-swatch--lime-300 { background: #d8ff43; }
.brandbook-swatch--cream-50 { background: #f7f4ea; }
.brandbook-swatch--ink { background: #15201c; }
.brandbook-swatch--muted { background: #64726b; }
.brandbook-contrast { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: clamp(50px, 7vw, 94px); border-top: 1px solid rgba(255,255,255,.26); border-left: 1px solid rgba(255,255,255,.26); }
.brandbook-contrast > div { display: grid; min-height: 150px; grid-template-columns: minmax(0,1fr) auto; gap: 14px 30px; align-items: center; padding: clamp(22px, 3vw, 38px); border-right: 1px solid rgba(255,255,255,.26); border-bottom: 1px solid rgba(255,255,255,.26); background: #f7f4ea; color: #15201c; }
.brandbook-contrast span { font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.brandbook-contrast strong { font-family: var(--display); font-size: clamp(24px, 2.6vw, 39px); letter-spacing: -.05em; }
.brandbook-contrast small { grid-column: 1 / -1; color: #07885a; font-weight: 850; }
.brandbook-contrast .is-inverse { color: #fff; background: #072a20; }
.brandbook-contrast .is-accent { color: #d8ff43; background: #072a20; }
.brandbook-contrast .is-inverse small,
.brandbook-contrast .is-accent small { color: #3bd28d; }
.brandbook-contrast__note { margin: 26px 0 0; padding: 24px 28px; border-left: 5px solid #d8ff43; color: rgba(255,255,255,.76); background: #072a20; line-height: 1.6; }
.brandbook-contrast__note strong { color: #d8ff43; }

.brandbook-type__display { padding: clamp(34px, 5vw, 72px); color: #fff; background: #072a20; }
.brandbook-type__display span,
.brandbook-type__body > div > span { color: #d8ff43; font-size: 11px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.brandbook-type__display strong { display: block; max-width: 1050px; margin-top: clamp(46px, 7vw, 96px); font-family: var(--display); font-size: clamp(37px, 6.2vw, 94px); font-weight: 650; line-height: .96; letter-spacing: -.065em; text-transform: uppercase; }
.brandbook-type__body { display: grid; grid-template-columns: minmax(0,.8fr) minmax(440px,1.2fr); gap: clamp(50px, 9vw, 145px); align-items: start; padding-top: clamp(56px, 8vw, 110px); }
.brandbook-type__body > div > span { color: #07885a; }
.brandbook-type__body h3 { margin: 24px 0 0; font-size: clamp(27px, 3vw, 44px); line-height: 1.1; letter-spacing: -.04em; }
.brandbook-type__body p { max-width: 600px; margin: 25px 0 0; color: #64726b; font-size: clamp(16px, 1.3vw, 19px); line-height: 1.65; }
.brandbook-type__body dl { margin: 0; border-top: 1px solid #072a20; }
.brandbook-type__body dl > div { display: grid; grid-template-columns: 60px minmax(0,1fr); gap: 14px; padding: 22px 0; border-bottom: 1px solid #d9ded9; }
.brandbook-type__body dt { color: #07885a; font-size: 11px; font-weight: 850; text-transform: uppercase; }
.brandbook-type__body dd { display: grid; grid-template-columns: minmax(160px,.85fr) minmax(0,1.15fr); gap: 20px; margin: 0; }
.brandbook-type__body dd strong { font-size: 14px; }
.brandbook-type__body dd span { color: #64726b; font-size: 13px; }

.brandbook-composition { color: #fff; background: #072a20; }
.brandbook-principles { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid rgba(255,255,255,.28); border-left: 1px solid rgba(255,255,255,.28); }
.brandbook-principles article { min-height: 330px; padding: clamp(24px, 3vw, 42px); border-right: 1px solid rgba(255,255,255,.28); border-bottom: 1px solid rgba(255,255,255,.28); }
.brandbook-principles article > span { color: #3bd28d; font-size: 11px; font-weight: 850; }
.brandbook-principles h3 { margin: clamp(50px, 6vw, 86px) 0 0; font-family: var(--display); font-size: clamp(20px, 2vw, 29px); line-height: 1.15; letter-spacing: -.04em; }
.brandbook-principles p { margin: 22px 0 0; color: rgba(255,255,255,.68); font-size: 14px; line-height: 1.6; }
.brandbook-voice { display: grid; grid-template-columns: minmax(130px,.3fr) repeat(3,minmax(0,1fr)); margin-top: clamp(68px, 9vw, 128px); border-top: 1px solid rgba(255,255,255,.28); }
.brandbook-voice > * { padding: 28px 26px; border-right: 1px solid rgba(255,255,255,.28); }
.brandbook-voice > *:last-child { border-right: 0; }
.brandbook-voice > span { color: #d8ff43; font-size: 11px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.brandbook-voice strong { font-family: var(--display); font-size: 21px; }
.brandbook-voice p { margin: 16px 0 0; color: rgba(255,255,255,.68); font-size: 13px; line-height: 1.6; }

.brandbook-downloads { padding: clamp(82px, 10vw, 156px) var(--edge); background: #d8ff43; }
.brandbook-downloads__grid { display: grid; grid-template-columns: minmax(0,.78fr) minmax(420px,1.22fr); gap: clamp(50px, 9vw, 150px); align-items: start; }
.brandbook-downloads h2 { margin: 22px 0 0; font-family: var(--display); font-size: clamp(38px, 5.5vw, 80px); line-height: .96; letter-spacing: -.065em; }
.brandbook-downloads__grid > div:first-child > p:last-child { max-width: 600px; margin: 30px 0 0; font-size: 17px; line-height: 1.6; }
.brandbook-downloads__list { border-top: 1px solid #072a20; }
.brandbook-downloads__list a { display: flex; min-height: 112px; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 18px 22px 0; border-bottom: 1px solid #072a20; color: #072a20; text-decoration: none; transition: padding .18s, color .18s, background .18s; }
.brandbook-downloads__list a:hover { padding-left: 18px; color: #fff; background: #072a20; }
.brandbook-downloads__list span { display: grid; gap: 8px; }
.brandbook-downloads__list small { font-size: 10px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.brandbook-downloads__list strong { font-family: var(--display); font-size: clamp(18px, 1.8vw, 28px); line-height: 1.1; letter-spacing: -.04em; }
.brandbook-downloads__list b { font-size: 25px; }

@media (max-width: 1180px) {
  .brandbook-hero__grid { grid-template-columns: minmax(0,1.05fr) minmax(320px,.65fr); gap: 54px; }
  .brandbook-palette { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .brandbook-principles { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .brandbook-principles article { min-height: 260px; }
  .brandbook-voice { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .brandbook-voice > span { grid-column: 1 / -1; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.28); }
}

@media (max-width: 900px) {
  .brandbook-hero__inner,
  .brandbook-section,
  .brandbook-downloads { padding-inline: var(--gutter); }
  .brandbook-hero__grid { grid-template-columns: 1fr; }
  .brandbook-hero__mark { min-height: 520px; }
  .brandbook-jump { margin-inline: calc(var(--gutter) * -1); overflow-x: auto; grid-template-columns: repeat(5,minmax(150px,1fr)); }
  .brandbook-heading { grid-template-columns: 1fr; gap: 24px; }
  .brandbook-heading div > p { margin-top: 22px; }
  .brandbook-logo__showcase { grid-template-columns: 1fr; }
  .brandbook-logo__primary { min-height: 560px; grid-row: auto; }
  .brandbook-logo__safe { grid-template-columns: 1fr; }
  .brandbook-logo__safe > span { grid-column: 1; }
  .brandbook-type__body,
  .brandbook-downloads__grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .brandbook-hero__inner { padding-top: 34px; }
  .brandbook-hero .breadcrumbs { margin-bottom: 50px; }
  .brandbook-hero h1 { font-size: clamp(34px, 11.5vw, 49px); line-height: .96; hyphens: none; overflow-wrap: normal; }
  .brandbook-hero__copy { padding-bottom: 38px; }
  .brandbook-hero__actions { display: grid; }
  .brandbook-hero__actions .button { width: 100%; min-width: 0; }
  .brandbook-hero__mark { min-height: 430px; padding: 24px; }
  .brandbook-hero__mark img { width: min(56%, 220px); }
  .brandbook-section { padding-block: 74px; }
  .brandbook-heading { margin-bottom: 48px; }
  .brandbook-heading h2 { font-size: clamp(29px, 9.2vw, 38px); hyphens: none; overflow-wrap: normal; }
  .brandbook-logo__showcase { border-left: 0; }
  .brandbook-logo__showcase > * { border-left: 1px solid #072a20; }
  .brandbook-logo__primary { min-height: 460px; }
  .brandbook-logo__digital { grid-template-columns: 105px minmax(0,1fr); }
  .brandbook-palette { grid-template-columns: 1fr; border-left: 0; }
  .brandbook-swatch { min-height: 190px; border-left: 1px solid rgba(255,255,255,.26); }
  .brandbook-contrast { grid-template-columns: 1fr; border-left: 0; }
  .brandbook-contrast > div { min-height: 125px; border-left: 1px solid rgba(255,255,255,.26); }
  .brandbook-contrast__note { padding: 21px 20px; }
  .brandbook-type__display { padding: 28px 22px; }
  .brandbook-type__display strong { margin-top: 52px; font-size: clamp(28px, 9.2vw, 42px); }
  .brandbook-type__body { gap: 48px; }
  .brandbook-type__body dl > div { grid-template-columns: 42px minmax(0,1fr); }
  .brandbook-type__body dd { grid-template-columns: 1fr; gap: 4px; }
  .brandbook-principles { grid-template-columns: 1fr; border-left: 0; }
  .brandbook-principles article { min-height: 0; border-left: 1px solid rgba(255,255,255,.28); }
  .brandbook-principles h3 { margin-top: 38px; }
  .brandbook-voice { grid-template-columns: 1fr; }
  .brandbook-voice > * { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.28); }
  .brandbook-downloads { padding-block: 74px; }
  .brandbook-downloads h2 { font-size: 34px; }
  .brandbook-downloads__list a { min-height: 98px; padding-right: 10px; }
}

@media (max-width: 360px) {
  .brandbook-hero h1 { font-size: 32px; }
  .brandbook-logo__digital { grid-template-columns: 1fr; }
  .brandbook-logo__digital img { width: 110px; }
  .brandbook-heading h2,
  .brandbook-downloads h2 { font-size: 27px; }
}

@media (prefers-reduced-motion: reduce) {
  .brandbook-jump a,
  .brandbook-downloads__list a { transition: none; }
}
