/* Olive footer: the shared deep green ground, ivory type, muted gold hairlines,
   and the name drawn as a barely-there outline along the bottom edge. */
main#main{position:relative;z-index:2;background:var(--ivory);border-end-start-radius:var(--surface-radius);border-end-end-radius:var(--surface-radius)}
.home-surface{border-end-start-radius:var(--surface-radius);border-end-end-radius:var(--surface-radius)}
.olive-footer{
  --olive-ink:color-mix(in srgb,var(--ivory) 88%,transparent);
  --olive-muted:color-mix(in srgb,var(--ivory) 62%,transparent); --olive-hair:color-mix(in srgb,var(--ivory) 11%,transparent);
  position:relative;z-index:1;overflow:clip;isolation:isolate;
  margin-block-start:calc(var(--surface-radius) * -1);
  padding-block:calc(var(--surface-radius) + clamp(3rem,5vw,4.5rem)) 0;
  background:radial-gradient(60% 45% at 50% 0%,var(--olive-lift),transparent 70%),var(--olive);
  color:var(--olive-ink)
}
.olive-footer::before{content:'';position:absolute;inset-inline:0;inset-block-start:var(--surface-radius);block-size:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--olive-gold) 45%,transparent),transparent)}
.olive-footer ::selection{color:var(--olive);background:var(--olive-gold)}
.olive-footer a:focus-visible{outline-color:var(--olive-gold)}
.olive-frame{position:relative;z-index:1}

.olive-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s3) var(--s5);padding-block-end:clamp(2rem,4vw,3rem);border-block-end:1px solid var(--olive-hair)}
.olive-cta h2{margin:0;font:500 clamp(1.5rem,2.4vw,2.125rem)/1.4 var(--font-heading);color:var(--ivory)}
.olive-cta p{margin:.375rem 0 0;color:var(--olive-muted);font-size:var(--body)}

.olive-grid{display:grid;grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(0,1fr));gap:clamp(2rem,4vw,4rem);padding-block:clamp(2.5rem,5vw,4rem)}
.olive-brand{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3)}
.olive-logo img{inline-size:clamp(7.5rem,10vw,9.5rem);block-size:auto}
.olive-brand p{margin:0;max-inline-size:32ch;color:var(--olive-muted);font-size:.9375rem;line-height:1.85}
.olive-icons{display:flex;gap:.625rem}
.olive-icons a{display:grid;place-items:center;inline-size:2.75rem;block-size:2.75rem;border-radius:.75rem;border:1px solid var(--olive-hair);background:color-mix(in srgb,var(--ivory) 3%,transparent);color:var(--olive-ink);transition:border-color .35s var(--ease),color .35s var(--ease),background .35s var(--ease)}
.olive-icons a:hover{border-color:color-mix(in srgb,var(--olive-gold) 60%,transparent);color:var(--olive-gold)}
.olive-icons svg{inline-size:1.125rem;block-size:1.125rem;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round}
.olive-col{display:flex;flex-direction:column;align-items:flex-start;gap:.875rem;min-inline-size:0}
.olive-col h3{margin:0 0 .25rem;font-size:.8125rem;font-weight:600;letter-spacing:.06em;color:var(--ivory)}
:root:lang(en) .olive-col h3{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem}
.olive-link{color:var(--olive-muted);font-size:.9375rem;transition:color .3s var(--ease)}
.olive-link:hover,.olive-link[aria-current=page]{color:var(--ivory)}
.olive-line{display:flex;align-items:flex-start;gap:.75rem;color:var(--olive-muted);font-size:.9375rem;line-height:1.7;transition:color .3s var(--ease)}
.olive-line:hover{color:var(--ivory)}
.olive-line svg{flex-shrink:0;inline-size:1.125rem;block-size:1.125rem;margin-block-start:.2rem;stroke:var(--olive-gold);stroke-width:1.4;stroke-linejoin:round}
.olive-footer bdi[dir=ltr]{unicode-bidi:isolate;font-variant-numeric:tabular-nums}

.olive-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2) var(--s4);padding-block:var(--s3) clamp(5rem,9vw,8rem);border-block-start:1px solid var(--olive-hair);font-size:.8125rem;color:var(--olive-muted)}
.olive-copy{margin:0}
.olive-legal{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem;margin:0}
.olive-legal>div{display:flex;gap:.5rem}
.olive-legal dt::after{content:':'}
.olive-legal dd{margin:0;color:var(--olive-ink);font-family:var(--font-body-en);letter-spacing:.06em}
.olive-top{display:grid;place-items:center;inline-size:2.75rem;block-size:2.75rem;border-radius:50%;border:1px solid var(--olive-hair);color:var(--ivory);transition:border-color .35s var(--ease),transform .4s var(--ease)}
.olive-top svg{inline-size:1rem;block-size:1rem}
.olive-top:hover{border-color:var(--olive-gold);transform:translateY(-3px)}

.olive-mark{position:absolute;inset-inline:0;inset-block-end:0;z-index:0;block-size:clamp(4.5rem,9vw,8rem);overflow:hidden;text-align:center;pointer-events:none;user-select:none}
.olive-mark span{display:block;font:700 clamp(7rem,18vw,17rem)/1 var(--font-heading);white-space:nowrap;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--ivory) 9%,transparent)}

@media (max-width:64rem){
  .olive-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .olive-brand{grid-column:1/-1}
}
@media (max-width:48rem){
  .olive-cta{flex-direction:column;align-items:flex-start}
  .olive-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem 1.5rem}
  .olive-contact{grid-column:1/-1}
  .olive-bottom{flex-direction:column;align-items:flex-start}
  .olive-legal{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  .olive-icons a,.olive-link,.olive-line,.olive-top{transition:none}
}
