:root {
  --chrome-evergreen: #071f1b;
  --chrome-ink: #10231e;
  --chrome-sage: #a2c47b;
  --chrome-pale: #dbe8ce;
  --chrome-paper: #f6f7f2;
  --chrome-muted: #6f827b;
  --chrome-white: #fff;
  --chrome-line: rgba(16,35,30,.16);
  --chrome-max: 1920px;
  --chrome-gutter: clamp(22px,4vw,72px);
}

body.chrome-menu-open { overflow: hidden; }
.global-shell { width: min(calc(100% - (2 * var(--chrome-gutter))),var(--chrome-max)); margin-inline: auto; }
.global-header *, .global-menu *, .global-footer * { box-sizing: border-box; }
.global-header a, .global-menu a, .global-footer a { color: inherit; text-decoration: none; }

.global-header { position: fixed; inset: 0 0 auto; z-index: 80; min-height: 104px; padding-inline: max(var(--chrome-gutter),calc((100vw - var(--chrome-max)) / 2)); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; color: var(--chrome-white); border-bottom: 1px solid rgba(255,255,255,.14); background: rgba(7,31,27,.96); transition: min-height .3s ease, backdrop-filter .3s ease; }
.global-header.is-scrolled { min-height: 76px; backdrop-filter: blur(18px); }
.global-brand { display: inline-flex; align-items: center; gap: 16px; width: max-content; font-size: 17px; font-weight: 600; line-height: 1.03; letter-spacing: -.025em; }
.global-brand img { width: 96px; height: 60px; object-fit: contain; transition: width .3s ease,height .3s ease; }
.global-header.is-scrolled .global-brand img { width: 72px; height: 45px; }
.global-primary { display: flex; align-items: center; gap: 30px; color: rgba(255,255,255,.68); font-size: 13px; }
.global-primary a { position: relative; transition: color .25s ease; }
.global-primary a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -8px; height: 1px; background: var(--chrome-sage); transition: right .25s ease; }
.global-primary a:hover, .global-primary a[aria-current="page"] { color: var(--chrome-white); }
.global-primary a:hover::after, .global-primary a[aria-current="page"]::after { right: 0; }
.global-actions { justify-self: end; display: flex; align-items: center; gap: 8px; font-size: 13px; }
.global-actions a { min-height: 46px; display: inline-flex; align-items: center; gap: 12px; padding: 10px 16px; border-radius: 999px; white-space: nowrap; transition: color .25s ease,background .25s ease,border-color .25s ease; }
.global-actions a:first-child { color: rgba(255,255,255,.74); }
.global-actions a:first-child:hover { color: var(--chrome-white); }
.global-actions .global-partner-link { border: 1px solid rgba(255,255,255,.3); }
.global-actions .global-partner-link:hover { border-color: var(--chrome-sage); background: var(--chrome-sage); color: var(--chrome-evergreen); }
.global-actions span { transition: transform .25s ease; }
.global-actions a:hover span { transform: translate(3px,-3px); }
.global-menu-toggle { justify-self: end; width: 46px; height: 46px; display: grid; place-content: center; gap: 5px; padding: 0; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; background: transparent; color: var(--chrome-white); cursor: pointer; transition: color .25s ease,background .25s ease,border-color .25s ease; }
.global-menu-toggle:hover { border-color: var(--chrome-sage); background: var(--chrome-sage); color: var(--chrome-evergreen); }
.global-menu-toggle > span:not(.sr-only) { width: 18px; height: 1px; display: block; background: currentColor; transition: transform .3s ease; }
.global-menu-toggle[aria-expanded="true"] > span:first-child { transform: translateY(3px) rotate(45deg); }
.global-menu-toggle[aria-expanded="true"] > span:nth-child(2) { transform: translateY(-3px) rotate(-45deg); }

.global-menu { position: fixed; inset: 104px 0 0; z-index: 79; overflow-y: auto; padding-block: clamp(45px,5.5vw,82px); color: var(--chrome-ink); background: var(--chrome-paper); opacity: 0; visibility: hidden; transform: translateY(-18px); transition: opacity .3s ease,visibility .3s ease,transform .42s cubic-bezier(.22,1,.36,1),inset .3s ease; }
.global-header.is-scrolled + .global-menu { inset: 76px 0 0; }
.global-menu.is-open { opacity: 1; visibility: visible; transform: none; }
.global-menu-layout { min-height: calc(100% - clamp(45px,5.5vw,82px)); display: grid; grid-template-columns: minmax(420px,1.12fr) minmax(330px,.88fr); gap: clamp(70px,9vw,170px); align-items: center; }
.global-menu-links > p { margin: 0 0 20px; color: var(--chrome-muted); font-size: 12px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.global-menu-links > a { min-height: 66px; display: grid; grid-template-columns: 42px 1fr; gap: 18px; align-items: center; border-bottom: 1px solid var(--chrome-line); font-size: clamp(28px,3.1vw,50px); font-weight: 400; letter-spacing: -.055em; transition: color .25s ease,padding-inline .3s ease,background .3s ease; }
.global-menu-links > a:first-of-type { border-top: 1px solid var(--chrome-line); }
.global-menu-links > a span { color: #7f9c73; font-size: 10px; font-weight: 600; letter-spacing: .08em; }
.global-menu-links > a:hover, .global-menu-links > a[aria-current="page"] { padding-inline: 16px; background: var(--chrome-pale); color: var(--chrome-evergreen); }
.global-menu-details { max-width: 610px; padding-left: clamp(30px,4vw,66px); border-left: 1px solid var(--chrome-line); }
.global-menu-eyebrow { margin: 0 0 28px; color: var(--chrome-muted); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.global-menu-details h2 { margin: 0; font-size: clamp(46px,5vw,80px); font-weight: 400; letter-spacing: -.07em; line-height: .94; }
.global-menu-details > p:not(.global-menu-eyebrow) { max-width: 520px; margin: 28px 0 0; color: var(--chrome-muted); font-size: 17px; line-height: 1.6; }
.global-menu-socials { margin-top: 35px; padding-top: 24px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 25px; border-top: 1px solid var(--chrome-line); }
.global-menu-socials a { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--chrome-line); font-size: 13px; font-weight: 600; }
.global-menu-socials span { color: #7f9c73; transition: transform .25s ease; }
.global-menu-socials a:hover span { transform: translate(4px,-4px); }
.global-menu-details-social .global-menu-socials { margin-top: 0; padding-top: 0; border-top: 0; }

.global-footer { padding-block: 70px 27px; color: var(--chrome-white); background: var(--chrome-evergreen); }
.global-footer-cta { margin-bottom: 70px; padding: clamp(32px,4vw,64px); display: flex; justify-content: space-between; align-items: end; gap: 45px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.025); }
.global-footer-cta p { margin: 0 0 24px; color: rgba(255,255,255,.55); font-size: 12px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.global-footer-cta h2 { margin: 0; font-size: clamp(40px,4.8vw,76px); font-weight: 400; letter-spacing: -.065em; line-height: .95; }
.global-footer-cta h2 span { color: var(--chrome-sage); }
.global-footer-button { flex: 0 0 auto; min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 22px; padding: 14px 22px; border-radius: 999px; color: var(--chrome-evergreen); background: var(--chrome-sage); font-size: 14px; font-weight: 600; transition: background .25s ease; }
.global-footer-button:hover { background: var(--chrome-white); }
.global-footer-top { padding-bottom: 58px; display: grid; grid-template-columns: minmax(220px,.52fr) minmax(0,1.48fr); gap: clamp(55px,8vw,145px); align-items: start; }
.global-footer-brand { font-size: 14px; }
.global-footer-brand img { width: 92px; height: 56px; }
.global-footer-identity > p { max-width: 250px; margin: 23px 0 0; color: rgba(255,255,255,.52); font-size: 14px; }
.global-footer-groups { display: grid; grid-template-columns: repeat(4,minmax(120px,1fr)); gap: 32px; }
.global-footer-groups > div { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
.global-footer-groups h3 { margin: 0 0 8px; color: var(--chrome-sage); font-size: 16px; font-weight: 500; }
.global-footer-groups a { min-height: 44px; padding-block: 10px; display: inline-flex; align-items: center; color: rgba(255,255,255,.68); font-size: 14px; transition: color .25s ease; }
.global-footer-groups a:hover, .global-footer-groups a[aria-current="page"] { color: var(--chrome-white); }
.global-social-title { margin: 0 0 17px; color: rgba(255,255,255,.48); font-size: 12px; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.global-social-grid { padding-bottom: 56px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.global-social-card { position: relative; min-height: 230px; overflow: hidden; padding: 34px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: end; gap: 27px; border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.025); transition: color .35s ease,background .35s ease,border-color .35s ease,transform .35s ease; }
.global-social-card::before { content: ""; position: absolute; width: 270px; height: 270px; right: -100px; top: -140px; border-radius: 50%; background: rgba(162,196,123,.09); transition: transform .4s ease; }
.global-social-card:hover { color: var(--chrome-evergreen); border-color: var(--chrome-sage); background: var(--chrome-sage); transform: translateY(-4px); }
.global-social-card:hover::before { transform: scale(1.4); }
.global-social-icon { position: relative; z-index: 1; width: 82px; height: 82px; display: grid; place-items: center; }
.global-social-icon svg { width: 100%; height: 100%; fill: currentColor; }
.global-social-instagram .global-social-icon svg { fill: none; stroke: currentColor; stroke-width: 1.65; }
.global-social-instagram .global-social-dot { fill: currentColor; stroke: none; }
.global-social-copy { position: relative; z-index: 1; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.global-social-card small { color: rgba(255,255,255,.5); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; transition: color .35s ease; }
.global-social-card:hover small { color: rgba(7,31,27,.58); }
.global-social-card strong { overflow: visible; font-size: clamp(24px,2.25vw,38px); font-weight: 500; letter-spacing: -.045em; line-height: 1.05; overflow-wrap: normal; text-overflow: clip; white-space: normal; word-break: normal; }
.global-social-arrow { position: relative; z-index: 1; align-self: start; font-size: 27px; transition: transform .25s ease; }
.global-social-card:hover .global-social-arrow { transform: translate(5px,-5px); }
.global-footer-bottom { padding-top: 24px; display: flex; justify-content: space-between; align-items: center; gap: 25px; border-top: 1px solid rgba(255,255,255,.15); color: rgba(255,255,255,.43); font-size: 11px; }
.global-footer-bottom p { margin: 0; }
.global-footer-legal { display: flex; flex-wrap: wrap; gap: 22px; }
.global-footer-legal a:hover { color: var(--chrome-white); }
.global-footer-partner-page .global-footer-cta { display: none; }
.global-footer-compact { padding-top: 52px; }
.global-footer-compact .global-footer-cta { margin-bottom: 52px; padding: clamp(28px,3vw,46px); }
.global-footer-compact .global-footer-cta h2 { font-size: clamp(36px,4vw,60px); }
.global-footer-compact .global-footer-top { padding-bottom: 44px; }
.global-footer-compact .global-social-grid { padding-bottom: 42px; gap: 10px; }
.global-footer-compact .global-social-card { min-height: 160px; padding: 24px; }
.global-footer-compact .global-social-icon { width: 58px; height: 58px; }
.global-footer-compact .global-social-card strong { font-size: clamp(22px,1.9vw,31px); }

/* Keep action arrows typographic and consistent. Unicode arrow glyphs can be
   promoted to colourful emoji by iOS and embedded social browsers. */
.ui-arrow {
  display: inline-block;
  width: .9em;
  height: .9em;
  flex: 0 0 auto;
  vertical-align: -.08em;
  background-color: currentColor;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}

.ui-arrow-ne {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 13 13 3M6 3h7v7' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 13 13 3M6 3h7v7' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.ui-arrow-se {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 3 10 10M13 6v7H6' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 3 10 10M13 6v7H6' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.ui-arrow-down {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 2v12M3 9l5 5 5-5' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 2v12M3 9l5 5 5-5' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

@media (max-width: 1280px) {
  .global-header { grid-template-columns: 1fr auto; }
  .global-primary { display: none; }
  .global-menu-layout { grid-template-columns: 1fr; gap: 55px; align-items: start; }
  .global-menu-details { max-width: 760px; padding-left: 0; border-left: 0; }
}

@media (max-width: 900px) {
  .global-footer-cta { align-items: flex-start; flex-direction: column; }
  .global-footer-top { grid-template-columns: 1fr; }
  .global-footer-groups { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .global-social-card { min-height: 200px; padding: 26px; gap: 18px; }
  .global-social-icon { width: 62px; height: 62px; }
}

@media (max-width: 620px) {
  :root { --chrome-gutter: 22px; }
  .global-header { min-height: 88px; padding-inline: 22px; }
  .global-header.is-scrolled { min-height: 72px; }
  .global-brand { gap: 10px; font-size: 14px; }
  .global-brand img { width: 72px; height: 45px; }
  .global-header.is-scrolled .global-brand img { width: 63px; height: 39px; }
  .global-menu { inset: 88px 0 0; padding-block: 34px; }
  .global-header.is-scrolled + .global-menu { inset: 72px 0 0; }
  .global-menu-layout { gap: 26px; }
  .global-menu-links > p { margin-bottom: 14px; }
  .global-menu-links > a { min-height: 52px; grid-template-columns: 30px 1fr; gap: 12px; font-size: clamp(24px,7.3vw,34px); }
  .global-menu-details h2 { font-size: clamp(42px,12vw,58px); }
  .global-menu-details > p:not(.global-menu-eyebrow) { font-size: 16px; }
  .global-menu-socials { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .global-footer { padding-top: 48px; }
  .global-footer-cta { margin-bottom: 54px; padding: 28px 22px; }
  .global-footer-button { width: 100%; }
  .global-footer-groups { grid-template-columns: 1fr 1fr; }
  .global-social-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .global-social-card { min-height: 156px; padding: 16px; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: 12px; }
  .global-social-icon { width: 44px; height: 44px; }
  .global-social-card small { font-size: 8px; }
  .global-social-card strong { font-size: clamp(16px,4.8vw,22px); }
  .global-social-arrow { position: absolute; top: 13px; right: 14px; font-size: 20px; }
  .global-footer-compact .global-social-card { min-height: 142px; padding: 14px; }
  .global-footer-compact .global-social-icon { width: 40px; height: 40px; }
  .global-footer-bottom { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 390px) {
  :root { --chrome-gutter: 16px; }
  .global-header { padding-inline: 16px; }
  .global-brand { font-size: 13px; }
  .global-brand img { width: 66px; height: 42px; }
  .global-footer-groups { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .global-header *, .global-menu *, .global-footer * { transition-duration: .01ms !important; }
}
