@font-face { font-family: Manrope; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/manrope-400.ttf") format("truetype"); }
@font-face { font-family: Manrope; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/manrope-500.ttf") format("truetype"); }
@font-face { font-family: Manrope; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/manrope-600.ttf") format("truetype"); }
@font-face { font-family: Manrope; font-style: normal; font-weight: 700; font-display: swap; src: url("fonts/manrope-700.ttf") format("truetype"); }

:root {
  color-scheme: light;
  --ink: #153b43;
  --muted: #526d72;
  --teal: #007f7b;
  --paper: #f7faf9;
  --white: #fff;
  --line: #dce7e5;
  --mist: #e4f1ed;
  --gutter: clamp(24px, 5.556vw, 80px);
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Manrope, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
h1, h2, h3, p { margin: 0; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 4px; }
a:focus-visible { outline: 3px solid var(--teal); outline-offset: 5px; }
img { display: block; max-width: 100%; }
.container { width: 100%; max-width: 1440px; margin-inline: auto; padding-inline: var(--gutter); }
.skip-link { position: absolute; top: 12px; left: 24px; z-index: 5; padding: 12px 20px; background: var(--white); transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }
.site-header { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-block: 38px; }
.brand { display: block; width: 480px; max-width: 70%; }
.brand img { width: 100%; height: auto; aspect-ratio: 14.4; }
.header-domain { color: var(--muted); font-size: 14px; font-weight: 500; line-height: 20px; white-space: nowrap; }
.hero { display: grid; grid-template-columns: minmax(0, 640fr) minmax(0, 572fr); gap: clamp(32px, 4.722vw, 68px); align-items: center; padding-top: 62px; padding-bottom: 64px; }
.hero-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 28px; min-width: 0; }
.status { display: flex; align-items: center; gap: 8px; color: var(--teal); font-size: 11px; font-weight: 700; line-height: 15px; letter-spacing: 1.1px; text-transform: uppercase; }
.status img { width: 7px; height: 7px; flex-shrink: 0; }
h1 { font-size: clamp(40px, 5vw, 72px); font-weight: 500; line-height: 1.111112; letter-spacing: -.044444em; }
h1 span { color: var(--teal); }
.intro { color: var(--muted); font-size: 18px; line-height: 25px; }
.actions { display: flex; gap: 12px; }
.button { display: inline-flex; justify-content: center; align-items: center; min-height: 56px; border: 1px solid transparent; border-radius: 8px; padding: 15px 24px; font-size: 15px; font-weight: 600; line-height: 24px; text-align: center; white-space: nowrap; transition: background-color .15s ease, border-color .15s ease; }
.button:hover { text-decoration: none; }
.button-primary { width: 204px; background: var(--teal); color: var(--white); }
.button-primary:hover { background: #006a67; }
.button-secondary { width: 164px; border-color: var(--line); }
.button-secondary:hover { background: var(--mist); border-color: var(--teal); }
.hero-art { position: relative; min-width: 0; aspect-ratio: 572 / 488; overflow: hidden; border-radius: 28px; background: var(--mist); }
.hero-art picture, .hero-art img { display: block; width: 100%; height: 100%; }
.hero-art img { object-fit: fill; }
.art-caption { position: absolute; inset: 88.1147% 7% auto; display: flex; justify-content: space-between; gap: 12px; color: var(--teal); font-size: 10px; line-height: 14px; text-transform: uppercase; font-weight: 500; }
.art-caption span:first-child { font-weight: 700; }
.contact { border-block: 1px solid var(--line); background: var(--white); }
.contact-inner { padding-top: 36px; padding-bottom: 38px; }
.contact h2 { margin-bottom: 28px; color: var(--teal); font-size: 11px; font-weight: 700; line-height: 15px; text-transform: uppercase; }
.contact-grid { display: grid; grid-template-columns: 23.4375% 32.03125% minmax(0, 1fr); gap: 48px; }
.contact-item, address { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.contact h3 { color: var(--muted); font-size: 10px; font-weight: 600; line-height: 14px; text-transform: uppercase; }
.contact-value { display: block; font-size: 22px; font-weight: 500; line-height: 31px; overflow-wrap: anywhere; }
.contact-detail { display: block; color: var(--muted); font-size: 15px; line-height: 21px; }
address { font-style: normal; }
.site-footer { display: flex; justify-content: space-between; gap: 24px; padding-block: 24px; color: var(--muted); font-size: 12px; line-height: 17px; }
.site-footer p:first-child { font-weight: 500; }
.footer-tagline, .footer-domain { color: var(--teal); font-weight: 500; }
.footer-domain { display: none; }

@media (min-width: 768px) and (max-width: 1100px) {
  .hero { gap: 32px; }
  .hero-copy { gap: 24px; }
  .intro { font-size: 16px; line-height: 24px; }
  .actions { width: 100%; }
  .button { padding-inline: 16px; width: auto; flex: 1; }
  .contact-grid { gap: 24px; }
  .contact-value { font-size: 18px; line-height: 27px; }
  .art-caption { font-size: 8px; }
}
@media (max-width: 767px) {
  :root { --gutter: 24px; }
  .site-header { padding-block: 28px; }
  .brand { width: 342px; max-width: 100%; }
  .header-domain { display: none; }
  .hero { grid-template-columns: minmax(0, 1fr); gap: 36px; padding-top: 30px; padding-bottom: 44px; }
  .hero-copy { gap: 24px; }
  h1 { font-size: clamp(34px, 11.02564vw, 56px); line-height: 1.162791; letter-spacing: -.04186em; }
  .intro { font-size: 16px; line-height: 22px; }
  .actions { flex-direction: column; width: 100%; }
  .button { width: 100%; }
  .hero-art { width: 100%; aspect-ratio: 342 / 286; border-radius: 20px; }
  .art-caption { display: none; }
  .contact-inner { padding-top: 30px; padding-bottom: 32px; }
  .contact-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .contact-value { font-size: 19px; line-height: 27px; }
  .site-footer { flex-direction: column; gap: 8px; }
  .footer-tagline { display: none; }
  .footer-domain { display: block; align-self: flex-start; }
}
@media (prefers-reduced-motion: reduce) { .button { transition: none; } }
