@font-face {
  font-family: 'Inter';
  src: url('/site/inter-latin-wght-normal.3100e775e8.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Colours sampled from the Figma "Landing page" export (1600x7777). */
:root {
  --green-bright: #01ac48;
  --green-teal: #068967;
  --green-deep: #07866a;
  --green-footer: #00a64b;
  --green-ink: #0b8f40;
  --green-cta-1: #00a94f;
  --green-cta-2: #0a8f5c;
  --tint: #f2f9f4;
  --ink: #101828;
  --body: #475467;
  --line: #e4e7ec;
  --radius: 10px;
  --radius-card: 16px;
  --shadow-card: 0 14px 34px rgba(16, 24, 40, 0.1);
  color-scheme: light;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  margin: 0;
  font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 18px;
  line-height: 1.6;
  color: var(--body);
  background: #fff;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
h1, h2, h3 { color: var(--ink); margin: 0; line-height: 1.12; letter-spacing: -0.025em; }
h1 { font-size: clamp(42px, 5.4vw, 78px); font-weight: 800; }
h2 { font-size: clamp(30px, 3.2vw, 46px); font-weight: 800; margin-bottom: 20px; }
h3 { font-size: 20px; font-weight: 700; letter-spacing: -0.01em; }
p { margin: 0 0 18px; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--green-ink); }
:focus-visible { outline: 3px solid #0b63ce; outline-offset: 3px; border-radius: 4px; }
.hero :focus-visible, .section-green :focus-visible, .footer :focus-visible { outline-color: #fff; }

.container { width: 100%; max-width: 1336px; margin: 0 auto; padding: 0 24px; }
.center { text-align: center; }
.skip { position: absolute; left: -9999px; top: 8px; background: #fff; color: var(--ink); padding: 8px 14px; border-radius: 6px; z-index: 10; }
.skip:focus { left: 12px; }
.eyebrow { font-size: 17px; font-weight: 650; color: var(--green-ink); margin-bottom: 10px; }
.eyebrow.on-green { color: #d7f5df; }
.sub { max-width: 46ch; margin: 0 auto; }

/* Buttons */
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 34px; }
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 34px;
  border-radius: 8px;
  font-weight: 650;
  font-size: 17px;
  text-decoration: none;
  border: 2px solid transparent;
  transition: filter 0.15s, background 0.15s, color 0.15s;
}
.btn-white { background: #fff; color: var(--green-ink); }
.btn-white:hover { background: #eaf7ee; }
.btn-outline-white { border-color: rgba(255, 255, 255, 0.85); color: #fff; }
.btn-outline-white:hover { background: rgba(255, 255, 255, 0.14); }
.btn-green { background: linear-gradient(100deg, var(--green-cta-1), var(--green-cta-2)); color: #fff; }
.btn-green:hover { filter: brightness(0.95); }
.btn-outline-green { border-color: var(--green-cta-1); color: var(--green-ink); }
.btn-outline-green:hover { background: var(--tint); }

/* Header and hero */
.hero { position: relative; color: #fff; padding-bottom: 60px; overflow: hidden; }
.hero-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(103deg, var(--green-bright) 0%, #049a57 52%, var(--green-teal) 100%);
  /* The green ends on a diagonal that rises to the right, as in the Figma frame. */
  clip-path: polygon(0 0, 100% 0, 100% 58%, 0 96%);
  z-index: -1;
}
.topnav { position: relative; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 26px; padding-bottom: 26px; flex-wrap: wrap; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; font-weight: 750; font-size: 26px; letter-spacing: -0.015em; }
.brand svg { width: 34px; height: 34px; }
.navlinks { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 44px; }
.navlinks a { color: #fff; text-decoration: none; font-size: 17px; font-weight: 500; }
.navlinks a:hover { text-decoration: underline; text-underline-offset: 5px; }
.btn-pill {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 0 26px;
  border-radius: 8px;
  background: #fff;
  color: var(--green-ink) !important;
  font-weight: 700 !important;
}
.btn-pill:hover { background: #eaf7ee; text-decoration: none !important; }

.hero-grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 32px; align-items: center; padding-top: 56px; padding-bottom: 30px; }
.hero h1 { color: #fff; max-width: 12ch; }
.hero .lede { font-size: 20px; line-height: 1.55; color: #f1fbf4; margin-top: 26px; max-width: 30em; }

/* Hero composition: laptop bleeding off the right, phone in front, floating summary card. */
.hero-stage { position: relative; min-height: 540px; z-index: 1; }
.laptop-hero { position: absolute; left: 18%; bottom: 8%; width: 104%; }
.phone-hero { position: absolute; left: 0; bottom: 0; width: 210px; z-index: 2; }
.summary-card {
  position: absolute;
  left: 7%;
  bottom: -8%;
  z-index: 3;
  width: 300px;
  padding: 16px 18px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 24px 48px rgba(16, 24, 40, 0.3);
  color: var(--ink);
}
.summary-card-head { display: flex; align-items: center; gap: 8px; font-size: 15px; }
.summary-card-head svg { width: 20px; height: 20px; color: var(--green-cta-1); }
.summary-card ul { list-style: disc; margin: 10px 0 0; padding-left: 20px; display: grid; gap: 7px; font-size: 13.5px; line-height: 1.45; color: var(--body); }

/* Device frames */
.laptop { position: relative; filter: drop-shadow(0 26px 44px rgba(16, 24, 40, 0.3)); }
.laptop-screen { background: #0f1115; border-radius: 14px 14px 0 0; padding: 1.8% 1.8% 2.2%; }
.laptop-screen img { border-radius: 4px; width: 100%; }
.laptop-base { height: 16px; margin: 0 -6%; background: linear-gradient(#d9dde3, #aeb4bd); border-radius: 0 0 16px 16px; position: relative; }
.laptop-base::after { content: ''; position: absolute; left: 50%; top: 0; width: 16%; height: 6px; transform: translateX(-50%); background: #9aa1ab; border-radius: 0 0 8px 8px; }
.phone { border-radius: 30px; background: #0f1115; padding: 7px; box-shadow: 0 24px 50px rgba(16, 24, 40, 0.35); }
.phone img { border-radius: 23px; width: 100%; }
.phone-still { width: 300px; margin: 0 auto; }
.phone-hero img, .phone-still img { aspect-ratio: 520 / 1126; object-fit: cover; object-position: top center; }

/* Sections */
.section { padding: 104px 0; }
.section-tint { background: var(--tint); }
.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 72px; align-items: center; }
.split p { max-width: 34em; }

/* Green sections with the soft curved edges from the design */
.section-green { position: relative; overflow: hidden; color: #fff; background: linear-gradient(103deg, var(--green-bright), #039a58 55%, var(--green-teal)); padding: 130px 0 140px; }
.section-green.teal { background: linear-gradient(100deg, var(--green-deep), #049a55 65%, var(--green-bright)); }
.section-green h2, .footer h2 { color: #fff; }
.section-green p { color: #eefaf2; }
.curve { position: absolute; left: -2%; width: 104%; height: 92px; display: block; }
.curve path { fill: #fff; }
.curve-top { top: -1px; }
.curve-bottom { bottom: -1px; transform: rotate(180deg); }

/* Check lists */
.checks { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 16px; }
.checks li { position: relative; padding-left: 40px; font-size: 18px; color: #f4fcf6; }
.checks li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 2px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300A94F' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 15px no-repeat;
}
.checks-dark li { color: var(--body); }
.checks-dark li::before { background-color: #dff3e5; }

/* Cards */
.cards { list-style: none; margin: 46px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.card { background: rgba(255, 255, 255, 0.14); border: 1px solid rgba(255, 255, 255, 0.22); border-radius: 14px; padding: 26px; backdrop-filter: blur(2px); }
.card h3 { color: #fff; font-size: 19px; margin-bottom: 8px; }
.card p { margin: 0; color: #eafaf0; font-size: 16.5px; }
.card-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #fff; color: var(--green-cta-1); margin-bottom: 16px; }
.card-icon svg { width: 22px; height: 22px; }

/* Steps */
.steps { list-style: none; margin: 52px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.step { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); padding: 30px; box-shadow: var(--shadow-card); }
.step-icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 12px; background: var(--tint); color: var(--green-cta-1); margin-bottom: 20px; }
.step-icon svg { width: 26px; height: 26px; }
.step-label { display: block; font-size: 13px; font-weight: 700; color: var(--green-ink); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 6px; }
.step h3 { font-size: 23px; margin-bottom: 10px; }
.step p { margin: 0; }

/* Platform tiles */
.platforms { list-style: none; margin: 44px auto 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; max-width: 900px; }
.tile { padding: 18px 30px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); box-shadow: var(--shadow-card); color: var(--ink); font-weight: 600; }

/* Contact */
.footer { position: relative; overflow: hidden; padding: 150px 0 70px; color: #fff; background: linear-gradient(103deg, var(--green-bright), #039a58 55%, var(--green-teal)); }
.contact { max-width: 800px; margin: 0 auto; text-align: center; }
.contact .lede { font-size: 20px; color: #f1fbf4; max-width: 34em; margin: 0 auto; }
.center-actions { justify-content: center; }
.socials { list-style: none; margin: 38px 0 0; padding: 0; display: flex; justify-content: center; gap: 16px; }
.socials a { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, 0.6); color: #fff; }
.socials a:hover { background: rgba(255, 255, 255, 0.16); }
.socials svg { width: 20px; height: 20px; }
.fineprint { margin: 36px 0 0; color: #dcf3e3; font-size: 15px; }

/* 404 */
.hero-small { min-height: 100vh; }
.hero-small .hero-bg { clip-path: polygon(0 0, 100% 0, 100% 78%, 0 100%); }
.notfound { padding-top: 12vh; }
.notfound h1 { max-width: none; }

/* Responsive */
@media (max-width: 1000px) {
  .hero-grid, .split { grid-template-columns: minmax(0, 1fr); gap: 44px; }
  .hero-grid { padding-top: 28px; }
  .hero-bg { clip-path: polygon(0 0, 100% 0, 100% 86%, 0 99%); }
  .hero-stage { min-height: 0; margin-top: 10px; }
  .laptop-hero { position: relative; left: 0; bottom: 0; width: 100%; }
  .phone-hero { position: absolute; left: 0; bottom: -8%; width: 168px; }
  .summary-card { position: relative; left: 0; bottom: 0; width: min(330px, 80%); margin: 20px 0 0 auto; }
  .steps, .cards { grid-template-columns: minmax(0, 1fr); }
  .section, .section-green { padding: 78px 0; }
  .section-green { padding: 104px 0 110px; }
  .curve { height: 56px; }
}
@media (max-width: 640px) {
  body { font-size: 16.5px; }
  .topnav { padding-top: 18px; padding-bottom: 10px; }
  .navlinks { width: 100%; gap: 14px 20px; flex-wrap: wrap; }
  .navlinks a { font-size: 15px; }
  .navlinks li:last-child { margin-left: 0; }
  .btn-pill { min-height: 40px; padding: 0 18px; }
  .hero .lede { font-size: 17.5px; }
  .actions .btn { flex: 1 1 100%; }
  .phone-hero { width: min(34vw, 132px); bottom: -5%; }
  .phone-still { width: min(70vw, 260px); }
  .summary-card { width: 100%; margin-top: 16px; }
  .tile { padding: 14px 20px; flex: 1 1 calc(50% - 16px); }
  .checks li { font-size: 16.5px; }
}

/* Feature card row, in the "powerful PA suite" pattern from the design */
.section-suite { padding-bottom: 60px; }
.suite { list-style: none; margin: 52px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.suite-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); padding: 22px 22px 28px; box-shadow: var(--shadow-card); text-align: center; }
.suite-shot { border-radius: 10px; overflow: hidden; border: 1px solid var(--line); background: var(--tint); }
.suite-shot img { width: 100%; }
.suite-card h3 { margin-top: 22px; font-size: 21px; }
.suite-card p { margin: 8px 0 0; font-size: 16.5px; }

/* Highlighted phrases, as in the Figma green sections */
.hl { background: rgba(255, 255, 255, 0.24); color: #fff; padding: 0 5px; border-radius: 3px; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.hl-dark { background: #dff3e5; color: var(--ink); }

@media (max-width: 1000px) {
  .suite { grid-template-columns: minmax(0, 1fr); }
}
