:root {
  --alro-bg: #07150b;
  --alro-bg-soft: #102417;
  --alro-panel: #173421;
  --alro-text: #f8f5eb;
  --alro-muted: #adc2b2;
  --alro-line: rgba(226, 239, 226, .17);
  --alro-accent: #80c994;
  --alro-accent-2: #111111;
  --alro-on-accent: #07150b;
  --alro-tint: #e5eee3;
  --alro-tint-text: #111111;
  --alro-ink: #07150b;
  --alro-ink-text: #f8f5eb;
  --alro-ink-muted: #adc2b2;
  --alro-ink-accent: #80c994;
  --alro-report-bg: #fbfaf5;
  --alro-report-text: #173b22;
  --alro-report-bar: #17562a;
  --alro-shadow: 0 26px 80px rgba(0, 0, 0, .28);
  --alro-radius: 26px;
  --alro-shell: 1240px;
  --alro-pad: clamp(20px, 4vw, 56px);
  --alro-display: "Avenir Next", Avenir, "Trebuchet MS", "Segoe UI", Helvetica, Arial, sans-serif;
  --alro-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

html[data-theme="light"] {
  --alro-bg: #fbfaf5;
  --alro-bg-soft: #f0eee5;
  --alro-panel: #ffffff;
  --alro-text: #15351f;
  --alro-muted: #52675a;
  --alro-line: rgba(23, 86, 42, .18);
  --alro-accent: #17562a;
  --alro-accent-2: #111111;
  --alro-on-accent: #ffffff;
  --alro-tint: #e5eee3;
  --alro-tint-text: #111111;
  --alro-shadow: 0 26px 80px rgba(17, 55, 45, .12);
}

/* The two client-requested themes, each retaining independent light/dark modes. */
html[data-palette="mono"] {
  --alro-bg: #080808;
  --alro-bg-soft: #151515;
  --alro-panel: #202020;
  --alro-text: #ffffff;
  --alro-muted: #b8b8b8;
  --alro-line: rgba(255, 255, 255, .18);
  --alro-accent: #ffffff;
  --alro-accent-2: #111111;
  --alro-on-accent: #000000;
  --alro-tint: #dedede;
  --alro-tint-text: #111111;
  --alro-ink: #000000;
  --alro-ink-text: #ffffff;
  --alro-ink-muted: #c7c7c7;
  --alro-ink-accent: #ffffff;
  --alro-report-bg: #ffffff;
  --alro-report-text: #111111;
  --alro-report-bar: #111111;
  --alro-shadow: 0 26px 80px rgba(0, 0, 0, .34);
}
html[data-theme="light"][data-palette="mono"] {
  --alro-bg: #f7f7f5;
  --alro-bg-soft: #e9e9e6;
  --alro-panel: #ffffff;
  --alro-text: #111111;
  --alro-muted: #5c5c5c;
  --alro-line: rgba(0, 0, 0, .18);
  --alro-accent: #111111;
  --alro-accent-2: #111111;
  --alro-on-accent: #ffffff;
  --alro-tint: #dedede;
  --alro-tint-text: #111111;
  --alro-ink-muted: #c7c7c7;
  --alro-ink-accent: #ffffff;
  --alro-shadow: 0 26px 80px rgba(0, 0, 0, .13);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.alro-site { margin: 0; background: var(--alro-bg); color: var(--alro-text); font-family: var(--alro-display); font-size: 16px; line-height: 1.68; word-spacing: .035em; overflow-x: hidden; }
body.alro-site.admin-bar .alro-header { top: 32px; }
.alro-site ::selection { background: var(--alro-accent); color: var(--alro-on-accent); }
.alro-site a { color: inherit; }
.alro-site button, .alro-site input, .alro-site select, .alro-site textarea { font: inherit; }
.alro-site img, .alro-site svg { display: block; max-width: 100%; }
.alro-site h1, .alro-site h2, .alro-site h3, .alro-site p { margin-top: 0; }
.alro-site h1, .alro-site h2, .alro-site h3 { word-spacing: .025em; }
.alro-shell { width: min(calc(100% - (var(--alro-pad) * 2)), var(--alro-shell)); margin-inline: auto; }
.alro-skip { position: fixed; z-index: 99999; top: 8px; left: 8px; padding: 10px 16px; background: var(--alro-accent); color: var(--alro-on-accent); transform: translateY(-150%); }
.alro-skip:focus { transform: translateY(0); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Header */
.alro-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  height: auto;
  padding: 5px 0;
  border-bottom: 1px solid transparent;
  border-radius: 0 0 20px 20px;
  transition: background .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.alro-header.is-scrolled {
  background: color-mix(in srgb, var(--alro-bg) 84%, transparent);
  border-color: var(--alro-line);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
.alro-nav { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.alro-brand {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 120px;
  min-width: 120px;
  height: 78px;
  color: var(--alro-text);
  text-decoration: none;
}
.alro-brand img { width: 120px; height: 78px; object-fit: contain; }
.alro-brand--animated { width: 120px; min-width: 120px; height: 78px; }
.alro-logo { width: 120px; height: 78px; overflow: visible; color: var(--alro-text); }
.alro-logo__arrow { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; }
.alro-logo__arrow--shaft { animation: alro-arrow-shaft-draw 7.4s ease-in-out infinite; }
.alro-logo__arrow--head { animation: alro-arrow-head-draw 7.4s ease-in-out infinite; }
.alro-logo__word { fill: currentColor; font-family: "Arial Narrow", "Avenir Next Condensed", "Helvetica Neue", Arial, sans-serif; font-weight: 500; letter-spacing: .02em; }
.alro-logo__word--alro { font-size: 9px; }
.alro-logo__word--marketing, .alro-logo__word--limited { font-size: 7px; }
@keyframes alro-arrow-shaft-draw {
  0% { stroke-dashoffset: 1; }
  25%, 99.8% { stroke-dashoffset: 0; }
  100% { stroke-dashoffset: 1; }
}
@keyframes alro-arrow-head-draw {
  0%, 25% { stroke-dashoffset: 1; }
  31%, 99.8% { stroke-dashoffset: 0; }
  100% { stroke-dashoffset: 1; }
}
.alro-menu { display: flex; align-items: center; gap: clamp(12px, 1.6vw, 24px); }
.alro-menu a {
  position: relative;
  padding: 7px 0;
  color: var(--alro-muted);
  text-decoration: none;
  font-size: 13px;
  font-weight: 650;
  white-space: nowrap;
}
.alro-menu a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 1px; background: var(--alro-accent); transition: right .3s ease; }
.alro-menu a:hover, .alro-menu a[aria-current="page"] { color: var(--alro-text); }
.alro-menu a:hover::after, .alro-menu a[aria-current="page"]::after { right: 0; }
.alro-nav-actions { display: flex; align-items: center; gap: 10px; }
.alro-palette { position: relative; }
.alro-palette__toggle { width: 42px; height: 42px; display: grid; place-items: center; padding: 0; border: 1px solid var(--alro-line); border-radius: 50%; background: transparent; cursor: pointer; transition: border-color .25s, transform .25s; }
.alro-palette__toggle:hover, .alro-palette__toggle[aria-expanded="true"] { border-color: var(--alro-accent); transform: rotate(-5deg); }
.alro-palette__mini { display: flex; align-items: center; }
.alro-palette__mini i { width: 8px; height: 18px; display: block; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--alro-bg) 35%, transparent); }
.alro-palette__mini i:nth-child(1) { background: var(--alro-accent); transform: rotate(22deg) translateX(2px); }
.alro-palette__mini i:nth-child(2) { background: var(--alro-accent-2); }
.alro-palette__mini i:nth-child(3) { background: var(--alro-tint); transform: rotate(-22deg) translateX(-2px); }
.alro-palette__menu { position: absolute; z-index: 20; top: calc(100% + 14px); right: 0; width: 270px; padding: 12px; border: 1px solid var(--alro-line); border-radius: 20px; background: color-mix(in srgb, var(--alro-panel) 96%, transparent); box-shadow: var(--alro-shadow); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.alro-palette__menu[hidden] { display: none; }
.alro-palette__menu > p { margin: 3px 8px 10px; color: var(--alro-muted); font-family: var(--alro-mono); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.alro-palette__menu > button { width: 100%; display: grid; grid-template-columns: 66px 1fr; gap: 12px; align-items: center; padding: 11px; border: 1px solid transparent; border-radius: 13px; background: transparent; color: var(--alro-text); text-align: left; cursor: pointer; transition: border-color .2s, background .2s; }
.alro-palette__menu > button:hover { background: color-mix(in srgb, var(--alro-text) 6%, transparent); }
.alro-palette__menu > button[aria-pressed="true"] { border-color: var(--alro-accent); }
.alro-palette__menu b, .alro-palette__menu small { display: block; }
.alro-palette__menu b { font-size: 13px; }
.alro-palette__menu small { margin-top: 2px; color: var(--alro-muted); font-family: var(--alro-mono); font-size: 8px; letter-spacing: .06em; text-transform: uppercase; }
.alro-palette__swatches { height: 32px; display: flex; overflow: hidden; border-radius: 8px; }
.alro-palette__swatches i { flex: 1; background: var(--swatch); }
.alro-theme { width: 42px; height: 42px; display: grid; place-items: center; position: relative; border: 1px solid var(--alro-line); border-radius: 50%; background: transparent; color: var(--alro-text); cursor: pointer; transition: border-color .25s, rotate .35s; }
.alro-theme:hover { border-color: var(--alro-accent); rotate: 12deg; }
.alro-theme span { position: absolute; transition: opacity .25s, transform .3s; }
.alro-theme__sun { opacity: 0; transform: scale(.5); }
html[data-theme="light"] .alro-theme__sun { opacity: 1; transform: scale(1); }
html[data-theme="light"] .alro-theme__moon { opacity: 0; transform: scale(.5); }
.alro-menu-toggle { display: none; width: 42px; height: 42px; padding: 10px; border: 1px solid var(--alro-line); border-radius: 50%; background: transparent; cursor: pointer; }
.alro-menu-toggle span:not(.screen-reader-text) { display: block; width: 100%; height: 1px; margin: 5px 0; background: var(--alro-text); transition: transform .25s; }

/* Buttons and type */
.alro-button { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 58px; padding: 16px 24px; border: 1px solid var(--alro-accent); border-radius: 999px; background: var(--alro-accent); color: var(--alro-on-accent) !important; text-decoration: none; font-size: 14px; font-weight: 800; line-height: 1.15; cursor: pointer; box-shadow: 0 0 0 0 color-mix(in srgb, var(--alro-accent) 25%, transparent); transition: background .25s, color .25s, box-shadow .25s, transform .25s; }
.alro-button:hover { background: transparent; color: var(--alro-accent) !important; box-shadow: 0 0 0 8px color-mix(in srgb, var(--alro-accent) 10%, transparent); }
.alro-button span, .alro-button b { display: inline-grid; place-items: center; line-height: 1; transform: translateY(-.04em); transition: transform .25s; }
.alro-button:hover span, .alro-button:hover b { transform: translate(2px, -2px); }
.alro-ico-arrow { width: 14px; height: 14px; display: block; flex: 0 0 auto; overflow: visible; }
.alro-ico-arrow--inline { display: inline-block; width: 11px; height: 11px; margin-left: 3px; vertical-align: -1px; }
.alro-button .alro-ico-arrow { width: 13px; height: 13px; }
.alro-service-row b .alro-ico-arrow { width: 18px; height: 18px; }
.alro-circle-link b .alro-ico-arrow { width: 22px; height: 22px; }
.alro-button--small { min-height: 40px; padding: 9px 14px; gap: 8px; font-size: 12px; }
.alro-text-link { display: inline-flex; gap: 26px; align-items: center; color: var(--alro-text); text-decoration: none; font-size: 15px; font-weight: 700; letter-spacing: -.01em; }
.alro-text-link span { color: var(--alro-accent); transition: transform .25s; }
.alro-text-link:hover span { transform: translateX(6px); }
.alro-text-link--light { color: var(--alro-ink-text); }
.alro-kicker { margin-bottom: 18px; color: var(--alro-accent); font-family: var(--alro-mono); font-size: 12px; font-weight: 650; letter-spacing: .14em; line-height: 1.35; text-transform: uppercase; }
.alro-display { max-width: 880px; margin-bottom: 0; font-size: clamp(40px, 5.8vw, 76px); font-weight: 700; letter-spacing: -.04em; line-height: 1.05; }
.alro-display em, .alro-hero h1 em, .alro-page-hero h1 em, .alro-mission em { color: var(--alro-accent); font-style: normal; }
.alro-lede { max-width: 680px; color: var(--alro-muted); font-size: clamp(17px, 1.45vw, 20px); line-height: 1.75; font-weight: 500; }
.alro-copy { max-width: 580px; color: var(--alro-muted); font-size: clamp(17px, 1.5vw, 20px); line-height: 1.75; font-weight: 500; }
.alro-copy p { margin-bottom: 28px; }

/* Hero */
.alro-hero { min-height: calc(100svh - 88px); padding-top: clamp(56px, 8vh, 110px); padding-bottom: 72px; display: grid; grid-template-columns: 1.04fr .96fr; align-items: center; gap: clamp(28px, 5vw, 76px); }
.alro-hero__copy { position: relative; z-index: 2; }
.alro-hero h1 { max-width: 720px; margin-bottom: 28px; font-size: clamp(34px, 4.4vw, 58px); font-weight: 750; letter-spacing: -.04em; line-height: 1.08; }
.alro-hero .alro-lede { margin-bottom: 40px; }
.alro-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.alro-signal { min-height: 640px; position: relative; isolation: isolate; border: 1px solid var(--alro-line); border-radius: min(5vw, 58px); overflow: hidden; background: radial-gradient(circle at 50% 44%, color-mix(in srgb, var(--alro-accent) 14%, transparent), transparent 42%), linear-gradient(145deg, rgba(255,255,255,.035), transparent); box-shadow: var(--alro-shadow); }
.alro-signal::before { content: ""; position: absolute; inset: 0; z-index: -2; opacity: .22; background-image: linear-gradient(var(--alro-line) 1px, transparent 1px), linear-gradient(90deg, var(--alro-line) 1px, transparent 1px); background-size: 44px 44px; mask-image: radial-gradient(circle, #000, transparent 75%); }
.alro-signal canvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; }
.alro-signal__orbit { position: absolute; left: 50%; top: 48%; border: 1px dashed color-mix(in srgb, var(--alro-accent) 42%, transparent); border-radius: 50%; translate: -50% -50%; animation: alro-spin 24s linear infinite; }
.alro-signal__orbit--one { width: 62%; aspect-ratio: 1; }
.alro-signal__orbit--two { width: 88%; aspect-ratio: 1; animation-direction: reverse; animation-duration: 38s; }
.alro-signal__core { position: absolute; left: 50%; top: 48%; translate: -50% -50%; display: flex; align-items: center; gap: 12px; padding: 13px 18px 13px 13px; border: 1px solid var(--alro-accent); border-radius: 20px; background: color-mix(in srgb, var(--alro-panel) 90%, transparent); box-shadow: 0 0 60px color-mix(in srgb, var(--alro-accent) 18%, transparent); }
.alro-signal__core .alro-logo { width: 58px; height: 50px; flex: 0 0 58px; }
.alro-signal__core span { font-size: 13px; font-weight: 800; white-space: nowrap; }
.alro-signal__core small { display: block; color: var(--alro-muted); font-family: var(--alro-mono); font-size: 8px; letter-spacing: .12em; text-transform: uppercase; }
.alro-signal__node { position: absolute; left: var(--x); top: var(--y); min-width: 95px; padding: 10px 12px; border: 1px solid var(--alro-line); border-radius: 12px; background: color-mix(in srgb, var(--alro-bg) 82%, transparent); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); animation: alro-float 5s ease-in-out infinite alternate; }
.alro-signal__node:nth-of-type(even) { animation-delay: -2s; }
.alro-signal__node b { display: block; color: var(--alro-accent); font-family: var(--alro-mono); font-size: 9px; letter-spacing: .12em; }
.alro-signal__node span { font-size: 11px; color: var(--alro-muted); }
.alro-signal__readout { position: absolute; right: 22px; bottom: 22px; width: 145px; padding: 16px; border-radius: 16px; background: var(--alro-accent); color: var(--alro-on-accent); }
.alro-signal__readout span, .alro-signal__readout small { display: block; font-family: var(--alro-mono); font-size: 8px; letter-spacing: .12em; text-transform: uppercase; }
.alro-signal__readout strong { display: block; margin: 8px 0 2px; font-size: 28px; letter-spacing: -.06em; }
@keyframes alro-spin { to { rotate: 360deg; } }
@keyframes alro-float { to { transform: translateY(-9px); } }

/* Sections */
.alro-section { padding-block: clamp(96px, 12vw, 170px); }
.alro-section--tint { background: var(--alro-tint); color: var(--alro-tint-text); }
.alro-section--tint .alro-kicker,
.alro-section--tint .alro-display em,
.alro-section--tint .alro-proof span,
.alro-fit > span { color: #111111; }
.alro-section--tint .alro-section-head > p,
.alro-section--tint .alro-proof p { color: color-mix(in srgb, var(--alro-tint-text) 72%, transparent); }
.alro-section--tint .alro-display { color: var(--alro-tint-text); }
.alro-section--ink { background: var(--alro-ink); color: var(--alro-ink-text); }
.alro-section--ink .alro-display em,
.alro-section--ink .alro-kicker,
.alro-section--ink .alro-text-link span { color: var(--alro-ink-accent); }
.alro-marquee { overflow: hidden; border-block: 1px solid var(--alro-line); background: var(--alro-bg-soft); transform: rotate(-1.3deg) scale(1.02); }
.alro-marquee > div { width: max-content; display: flex; align-items: center; gap: 28px; padding: 18px 0; animation: alro-marquee 26s linear infinite; }
.alro-marquee span { font-size: clamp(22px, 2.2vw, 34px); font-weight: 750; letter-spacing: -.04em; text-transform: uppercase; }
.alro-marquee i { color: var(--alro-accent); font-style: normal; }
@keyframes alro-marquee { to { transform: translateX(-50%); } }
.alro-intro-grid, .alro-story { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(50px, 10vw, 150px); align-items: start; }
.alro-section-head { margin-bottom: 70px; display: grid; grid-template-columns: 1fr 320px; gap: 60px; align-items: end; }
.alro-section-head > p { margin-bottom: 4px; color: var(--alro-muted); font-size: 17px; line-height: 1.65; font-weight: 500; }
.alro-beliefs span { color: var(--alro-accent); }

/* Service list */
.alro-services { border-top: 1px solid var(--alro-line); }
.alro-service-row { position: relative; display: grid; grid-template-columns: 55px minmax(210px, .95fr) 1.2fr 40px; gap: 24px; align-items: center; padding: 28px 12px; border-bottom: 1px solid var(--alro-line); color: inherit; text-decoration: none; overflow: hidden; }
.alro-service-row::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--alro-accent); transform: translateY(102%); transition: transform .42s cubic-bezier(.2,.75,.25,1); }
.alro-service-row > span { color: var(--alro-accent); font-family: var(--alro-mono); font-size: 10px; }
.alro-service-row h3 { margin: 0; font-size: clamp(22px, 2.5vw, 34px); font-weight: 700; letter-spacing: -.04em; }
.alro-service-row p { margin: 0; color: var(--alro-muted); font-size: 16px; line-height: 1.6; font-weight: 500; }
.alro-service-row b { justify-self: end; display: grid; place-items: center; font-size: 24px; font-weight: 400; transition: transform .3s; }
.alro-service-row:hover { color: var(--alro-on-accent); }
.alro-service-row:hover::before { transform: translateY(0); }
.alro-service-row:hover > span, .alro-service-row:hover p { color: color-mix(in srgb, var(--alro-on-accent) 80%, transparent); }
.alro-service-row:hover b { transform: rotate(45deg); }

/* Proof, process, industries */
.alro-proof-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid color-mix(in srgb, var(--alro-tint-text) 20%, transparent); border-left: 1px solid color-mix(in srgb, var(--alro-tint-text) 20%, transparent); }
.alro-proof { min-height: 270px; padding: 34px; border-right: 1px solid color-mix(in srgb, var(--alro-tint-text) 20%, transparent); border-bottom: 1px solid color-mix(in srgb, var(--alro-tint-text) 20%, transparent); }
.alro-proof span, .alro-beliefs span { font-family: var(--alro-mono); font-size: 10px; color: var(--alro-accent); }
.alro-proof h3 { margin: 72px 0 10px; font-size: 28px; letter-spacing: -.04em; font-weight: 700; }
.alro-proof p { max-width: 390px; margin-bottom: 0; color: color-mix(in srgb, var(--alro-tint-text) 72%, transparent); font-size: 16px; line-height: 1.65; font-weight: 500; }
.alro-process { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(60px, 10vw, 150px); }
.alro-process__intro { position: sticky; top: 130px; align-self: start; }
.alro-process__intro .alro-display { margin-bottom: 40px; font-size: clamp(42px, 5vw, 70px); }
.alro-process__steps { border-top: 1px solid var(--alro-line); }
.alro-step { display: grid; grid-template-columns: 72px 1fr; gap: 10px; padding: 34px 0 54px; border-bottom: 1px solid var(--alro-line); }
.alro-step > span { padding-top: 9px; color: var(--alro-accent); font-family: var(--alro-mono); font-size: 10px; }
.alro-step h3 { margin-bottom: 12px; font-size: clamp(30px, 4vw, 58px); letter-spacing: -.055em; }
.alro-step p { max-width: 570px; margin: 0; color: var(--alro-muted); font-size: 17px; line-height: 1.7; font-weight: 500; }
.alro-industry-grid { margin: 80px 0 54px; display: flex; flex-wrap: wrap; gap: 12px; }
.alro-industry-grid span { padding: 18px 22px; border: 1px solid rgba(244,246,237,.2); border-radius: 999px; font-size: clamp(16px, 2vw, 24px); transition: color .25s, background .25s, transform .25s; }
.alro-industry-grid span:hover { color: #111111; background: var(--alro-ink-accent); transform: translateY(-4px); }
.alro-cta-band { padding-inline: clamp(24px, 5vw, 72px); border: 1px solid var(--alro-line); border-radius: var(--alro-radius); display: flex; justify-content: space-between; gap: 40px; align-items: center; background: linear-gradient(120deg, var(--alro-bg-soft), transparent); }
.alro-cta-band h2 { margin-bottom: 16px; font-size: clamp(42px, 6vw, 82px); letter-spacing: -.065em; line-height: .95; }
.alro-cta-band p { max-width: 650px; color: var(--alro-muted); }

/* Inner pages */
.alro-page-hero { position: relative; min-height: 70vh; padding-top: clamp(110px, 15vh, 190px); padding-bottom: 100px; border-bottom: 1px solid var(--alro-line); overflow: hidden; }
.alro-breadcrumbs { margin-bottom: clamp(32px, 5vw, 68px); color: var(--alro-muted); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.alro-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 9px; margin: 0; padding: 0; list-style: none; }
.alro-breadcrumbs li { display: flex; align-items: center; gap: 9px; }
.alro-breadcrumbs li:not(:last-child)::after { content: '/'; color: var(--alro-accent); }
.alro-breadcrumbs a { color: inherit; text-decoration: none; transition: color .2s ease; }
.alro-breadcrumbs a:hover, .alro-breadcrumbs a:focus-visible { color: var(--alro-text); }
.alro-page-hero h1 { max-width: 1050px; margin-bottom: 38px; font-size: clamp(60px, 9vw, 132px); font-weight: 720; letter-spacing: -.042em; line-height: .98; }
.alro-page-hero .alro-lede { max-width: 780px; margin-bottom: 0; }
.alro-page-hero__index { position: absolute; right: 0; bottom: -75px; color: transparent; font-size: 230px; font-weight: 850; line-height: 1; -webkit-text-stroke: 1px var(--alro-line); }
.alro-mission blockquote { max-width: 1050px; margin: 0; font-size: clamp(40px, 7vw, 92px); font-weight: 710; letter-spacing: -.038em; line-height: 1.08; }
.alro-beliefs { margin-top: 70px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--alro-line); border: 1px solid var(--alro-line); }
.alro-beliefs article { min-height: 270px; padding: 30px; background: var(--alro-bg); }
.alro-beliefs h3 { margin: 88px 0 12px; font-size: 25px; letter-spacing: -.04em; }
.alro-beliefs p { color: var(--alro-muted); }
.alro-team-list { margin-top: 70px; display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid rgba(244,246,237,.2); }
.alro-team-list span { padding: 26px 0; border-bottom: 1px solid rgba(244,246,237,.2); font-size: clamp(21px, 3vw, 38px); font-weight: 700; letter-spacing: -.04em; }
.alro-team-list span:nth-child(even) { padding-left: 24px; border-left: 1px solid rgba(244,246,237,.2); }
.alro-deliverables { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(60px, 9vw, 140px); }
.alro-deliverables__intro { position: sticky; top: 130px; align-self: start; }
.alro-deliverables__intro .alro-display { font-size: clamp(42px, 5vw, 68px); }
.alro-deliverables ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--alro-line); }
.alro-deliverables li { display: grid; grid-template-columns: 60px 1fr; padding: 28px 0; border-bottom: 1px solid var(--alro-line); }
.alro-deliverables li span { color: var(--alro-accent); font-family: var(--alro-mono); font-size: 10px; }
.alro-deliverables li strong { font-size: clamp(22px, 3vw, 40px); line-height: 1.15; letter-spacing: -.045em; }
.alro-fit { margin-bottom: 80px; padding: clamp(28px, 5vw, 70px); display: grid; grid-template-columns: 90px 1fr auto; gap: 30px; align-items: center; border-radius: var(--alro-radius); background: var(--alro-tint); color: var(--alro-tint-text); }
.alro-fit > span { font-family: var(--alro-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.alro-fit p { margin: 0; font-size: clamp(20px, 2.3vw, 32px); font-weight: 650; letter-spacing: -.03em; }
.alro-reporting { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: center; }
.alro-report-card { min-height: 470px; padding: 32px; border: 1px solid color-mix(in srgb, var(--alro-report-text) 20%, transparent); border-radius: var(--alro-radius); background: var(--alro-report-bg); color: var(--alro-report-text); box-shadow: 24px 24px 0 var(--alro-accent-2); transform-style: preserve-3d; transition: transform .2s ease; }
.alro-report-card > div:first-child { display: flex; justify-content: space-between; }
.alro-report-card span { font-family: var(--alro-mono); font-size: 10px; text-transform: uppercase; }
.alro-bars { height: 285px; margin-block: 42px 24px; display: flex; align-items: flex-end; gap: 12px; border-bottom: 1px solid color-mix(in srgb, var(--alro-report-text) 20%, transparent); }
.alro-bars i { flex: 1; height: var(--h); background: var(--alro-report-bar); transform-origin: bottom; animation: alro-bars 1.3s cubic-bezier(.2,.8,.2,1) both; }
@keyframes alro-bars { from { transform: scaleY(0); } }
.alro-report-card p { margin: 0; font-family: var(--alro-mono); font-size: 10px; text-transform: uppercase; }
.alro-industry-list { border-top: 1px solid var(--alro-line); }
.alro-industry-list article { display: grid; grid-template-columns: 64px 1fr .9fr; gap: 30px; padding: 42px 0 58px; border-bottom: 1px solid var(--alro-line); }
.alro-industry-list article > span { padding-top: 10px; color: var(--alro-accent); font-family: var(--alro-mono); font-size: 10px; }
.alro-industry-list h2 { margin: 0; font-size: clamp(30px, 4vw, 58px); letter-spacing: -.055em; line-height: 1.02; }
.alro-industry-list p { margin: 4px 0 0; color: var(--alro-muted); font-size: 17px; }

/* FAQs */
.alro-faq-group { display: grid; grid-template-columns: 280px 1fr; gap: 70px; padding: 55px 0; border-top: 1px solid var(--alro-line); }
.alro-faq-group > h2 { font-size: 20px; }
.alro-faq { border-bottom: 1px solid var(--alro-line); }
.alro-faq summary { display: flex; justify-content: space-between; gap: 30px; padding: 22px 0; list-style: none; cursor: pointer; font-size: clamp(20px, 2.4vw, 32px); font-weight: 700; letter-spacing: -.035em; }
.alro-faq summary::-webkit-details-marker { display: none; }
.alro-faq summary span { position: relative; width: 26px; min-width: 26px; height: 26px; border: 1px solid var(--alro-line); border-radius: 50%; }
.alro-faq summary span::before, .alro-faq summary span::after { content: ""; position: absolute; left: 7px; right: 7px; top: 12px; height: 1px; background: var(--alro-text); transition: transform .25s; }
.alro-faq summary span::after { transform: rotate(90deg); }
.alro-faq[open] summary span::after { transform: rotate(0); }
.alro-faq > p { max-width: 720px; padding: 0 50px 24px 0; color: var(--alro-muted); font-size: 17px; line-height: 1.7; font-weight: 500; }

/* Contact */
.alro-contact { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(60px, 10vw, 140px); }
.alro-contact__aside { position: sticky; top: 130px; align-self: start; }
.alro-contact__aside h2 { font-size: clamp(38px, 5vw, 66px); letter-spacing: -.055em; line-height: 1; }
.alro-contact__aside > p:not(.alro-kicker) { color: var(--alro-muted); }
.alro-contact__details { margin-top: 54px; display: grid; gap: 7px; }
.alro-contact__details span { margin-top: 17px; color: var(--alro-muted); font-family: var(--alro-mono); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.alro-contact__details a { text-decoration: none; }
.alro-form { display: grid; gap: 28px; }
.alro-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.alro-field { display: grid; gap: 9px; }
.alro-field label, .alro-form legend { color: var(--alro-muted); font-family: var(--alro-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.alro-field-hint { margin: 0; color: var(--alro-muted); font-size: 12px; line-height: 1.45; }
.alro-phone { display: grid; grid-template-columns: minmax(110px, 132px) minmax(0, 1fr); gap: 14px; align-items: end; }
.alro-phone select { appearance: none; padding-right: 18px; background-image: linear-gradient(45deg, transparent 50%, var(--alro-muted) 50%), linear-gradient(135deg, var(--alro-muted) 50%, transparent 50%); background-position: calc(100% - 10px) calc(50% + 3px), calc(100% - 5px) calc(50% + 3px); background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; cursor: pointer; }
.alro-form input:not([type="checkbox"]), .alro-form select, .alro-form textarea { width: 100%; padding: 15px 0; border: 0; border-bottom: 1px solid var(--alro-line); border-radius: 0; outline: 0; background: transparent; color: var(--alro-text); transition: border-color .25s; }
.alro-form input:focus, .alro-form select:focus, .alro-form textarea:focus { border-color: var(--alro-accent); }
.alro-form textarea { resize: vertical; }
.alro-form fieldset { margin: 0; padding: 0; border: 0; }
.alro-checks { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 14px; }
.alro-checks label { cursor: pointer; }
.alro-checks input { position: absolute; opacity: 0; }
.alro-checks span { display: inline-flex; padding: 10px 14px; border: 1px solid var(--alro-line); border-radius: 999px; color: var(--alro-muted); font-size: 12px; transition: all .2s; }
.alro-checks input:checked + span { border-color: var(--alro-accent); background: var(--alro-accent); color: var(--alro-on-accent); }
.alro-form .alro-button { justify-self: start; border: 0; }
.alro-form-note { color: var(--alro-muted); font-size: 12px; }
.alro-form-status { padding: 16px 18px; border: 1px solid var(--alro-line); border-radius: 12px; }
.alro-form-status--success { border-color: var(--alro-accent); }
.alro-form-status--error { border-color: var(--alro-accent-2); }
.alro-honey { position: absolute; left: -9999px; }
.alro-legal { min-height: 500px; max-width: 920px; }
.alro-legal h2 { font-size: clamp(36px, 5vw, 64px); letter-spacing: -.05em; }
.alro-legal p { max-width: 700px; color: var(--alro-muted); font-size: 18px; }

.alro-blog-list { display: grid; }
.alro-blog-row { position: relative; display: grid; grid-template-columns: 55px minmax(0, 1.4fr) 110px 40px; gap: 24px; align-items: center; padding: 28px 12px; border-bottom: 1px solid var(--alro-line); color: inherit; text-decoration: none; overflow: hidden; }
.alro-blog-row::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--alro-accent); transform: translateY(102%); transition: transform .42s cubic-bezier(.2,.75,.25,1); }
.alro-blog-row > span { color: var(--alro-accent); font-family: var(--alro-mono); font-size: 10px; }
.alro-blog-row h2 { margin: 0 0 8px; font-size: clamp(22px, 2.5vw, 34px); font-weight: 700; letter-spacing: -.04em; }
.alro-blog-row p { margin: 0; color: var(--alro-muted); font-size: 16px; line-height: 1.6; font-weight: 500; }
.alro-blog-row small { justify-self: end; color: var(--alro-muted); font-family: var(--alro-mono); font-size: 11px; letter-spacing: .04em; text-transform: uppercase; }
.alro-blog-row b { justify-self: end; display: grid; place-items: center; font-size: 24px; font-weight: 400; transition: transform .3s; }
.alro-blog-row:hover { color: var(--alro-on-accent); }
.alro-blog-row:hover::before { transform: translateY(0); }
.alro-blog-row:hover > span, .alro-blog-row:hover p, .alro-blog-row:hover small { color: color-mix(in srgb, var(--alro-on-accent) 80%, transparent); }
.alro-blog-row:hover b { transform: rotate(45deg); }
.alro-blog-empty { max-width: 640px; padding: 40px 0 80px; }
.alro-blog-empty h2 { margin: 0 0 12px; font-size: clamp(28px, 4vw, 44px); letter-spacing: -.04em; }
.alro-blog-empty p { margin: 0; color: var(--alro-muted); font-size: 17px; line-height: 1.7; }
.alro-blog-article__body { max-width: 760px; display: grid; gap: 22px; }
.alro-blog-article__body p { margin: 0; color: var(--alro-muted); font-size: 18px; line-height: 1.75; font-weight: 500; }
.alro-blog-article__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; margin-top: 54px; padding-top: 28px; border-top: 1px solid var(--alro-line); }

/* Footer */
.alro-footer { padding: clamp(90px, 12vw, 160px) 0 28px; background: var(--alro-ink); color: var(--alro-ink-text); }
.alro-footer__lead { position: relative; padding-bottom: 110px; border-bottom: 1px solid rgba(244,246,237,.2); }
.alro-footer__lead h2 { max-width: 900px; margin: 0; font-size: clamp(56px, 9vw, 132px); line-height: .98; letter-spacing: -.042em; }
.alro-footer .alro-kicker, .alro-footer__lead h2 em { color: var(--alro-ink-accent); font-style: normal; }
.alro-circle-link { position: absolute; right: 0; bottom: 70px; width: 150px; aspect-ratio: 1; padding: 24px; display: flex; flex-direction: column; justify-content: space-between; border-radius: 50%; background: var(--alro-ink-accent); color: #111111 !important; text-decoration: none; font-size: 13px; font-weight: 750; line-height: 1.2; transition: transform .3s; }
.alro-circle-link:hover { transform: rotate(8deg) scale(1.05); }
.alro-circle-link b { align-self: flex-end; display: grid; place-items: center; font-size: 25px; }
.alro-footer__grid { padding: 70px 0; display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 54px; }
.alro-brand--footer { width: 150px; min-width: 150px; height: 150px; }
.alro-footer .alro-brand { color: var(--alro-ink-text); }
.alro-footer .alro-logo { width: 150px; height: 105px; color: var(--alro-ink-text); }
.alro-footer__grid p { color: var(--alro-ink-muted); }
.alro-footer__grid > div { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.alro-footer__grid a, .alro-footer__grid span { color: var(--alro-ink-text); text-decoration: none; font-size: 14px; font-weight: 500; }
.alro-footer__grid a:hover { color: var(--alro-ink-accent); }
.alro-footer__label { margin-bottom: 14px; font-family: var(--alro-mono); font-size: 9px !important; letter-spacing: .15em; text-transform: uppercase; }
.alro-footer__base { padding-top: 24px; display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(244,246,237,.2); color: var(--alro-ink-muted); font-family: var(--alro-mono); font-size: 9px; letter-spacing: .04em; text-transform: uppercase; }
.alro-footer__base a { color: inherit; text-decoration: none; }

/* Persistent WhatsApp contact */
.alro-whatsapp { position: fixed; z-index: 900; right: max(20px, env(safe-area-inset-right)); bottom: max(20px, env(safe-area-inset-bottom)); min-height: 54px; padding: 12px 18px 12px 14px; display: inline-flex; align-items: center; gap: 9px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; background: #25d366; color: #082f18 !important; text-decoration: none; font-size: 13px; font-weight: 800; line-height: 1; box-shadow: 0 16px 46px rgba(0,0,0,.28); transition: transform .25s ease, box-shadow .25s ease; }
.alro-whatsapp:hover { transform: translateY(-4px); box-shadow: 0 20px 52px rgba(0,0,0,.34); }
.alro-whatsapp:focus-visible { outline: 3px solid var(--alro-text); outline-offset: 4px; }
.alro-whatsapp svg { width: 28px; height: 28px; fill: currentColor; }

/* Scroll reveal */
.alro-reveal { opacity: 0; transform: translateY(32px); transition: opacity .8s cubic-bezier(.2,.75,.25,1), transform .8s cubic-bezier(.2,.75,.25,1); }
.alro-reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1100px) {
  .alro-menu { position: fixed; inset: 88px 0 auto; padding: 35px var(--alro-pad) 45px; display: grid; gap: 12px; background: var(--alro-bg); border-bottom: 1px solid var(--alro-line); border-radius: 0 0 20px 20px; transform: translateY(-125%); opacity: 0; visibility: hidden; transition: transform .35s, opacity .35s, visibility .35s; }
  .alro-menu a { font-size: 25px; }
  .alro-header.is-menu-open .alro-menu { transform: translateY(0); opacity: 1; visibility: visible; }
  .alro-menu-toggle { display: block; }
  .alro-header.is-menu-open .alro-menu-toggle span:first-child { transform: translateY(3px) rotate(45deg); }
  .alro-header.is-menu-open .alro-menu-toggle span:nth-child(2) { transform: translateY(-3px) rotate(-45deg); }
  .alro-hero { grid-template-columns: 1fr; }
  .alro-signal { min-height: 560px; }
  .alro-section-head { grid-template-columns: 1fr; }
  .alro-process, .alro-deliverables, .alro-contact { grid-template-columns: 1fr; }
  .alro-process__intro, .alro-deliverables__intro, .alro-contact__aside { position: static; }
  .alro-reporting { gap: 55px; }
}

@media (max-width: 760px) {
  body.alro-site.admin-bar .alro-header { top: 46px; }
  .alro-header { padding: 5px 0; border-radius: 0 0 16px 16px; }
  .alro-nav { min-height: 64px; }
  .alro-brand, .alro-brand--animated { width: 106px; min-width: 106px; height: 70px; flex: 0 0 106px; }
  .alro-logo { width: 106px; height: 70px; }
  .alro-menu { inset: 78px 0 auto; }
  .alro-nav-actions .alro-button { display: none; }
  .alro-palette__menu { position: fixed; top: 78px; right: var(--alro-pad); left: var(--alro-pad); width: auto; }
  .alro-hero { min-height: 0; padding-top: 70px; }
  .alro-hero h1 { font-size: clamp(32px, 8.5vw, 44px); }
  .alro-signal { min-height: 470px; border-radius: 30px; }
  .alro-signal__node { min-width: 78px; padding: 8px; }
  .alro-display { font-size: clamp(40px, 12vw, 60px); }
  .alro-intro-grid, .alro-story, .alro-reporting { grid-template-columns: 1fr; gap: 45px; }
  .alro-service-row { grid-template-columns: 38px minmax(0, 1fr) 28px; gap: 12px; align-items: start; }
  .alro-service-row h3 { grid-column: 2; grid-row: 1; }
  .alro-service-row p { grid-column: 2; grid-row: 2; }
  .alro-service-row b { grid-column: 3; grid-row: 1 / span 2; align-self: center; justify-self: end; }
  .alro-service-row b .alro-ico-arrow { width: 16px; height: 16px; }
  .alro-blog-row { grid-template-columns: 38px minmax(0, 1fr) 28px; gap: 12px; align-items: start; }
  .alro-blog-row h2 { grid-column: 2; grid-row: 1; }
  .alro-blog-row p { grid-column: 2; grid-row: 2; }
  .alro-blog-row small { grid-column: 2; grid-row: 3; justify-self: start; }
  .alro-blog-row b { grid-column: 3; grid-row: 1 / span 3; align-self: center; justify-self: end; }
  .alro-blog-article__foot { flex-direction: column; align-items: flex-start; }
  .alro-proof-grid, .alro-beliefs, .alro-team-list { grid-template-columns: 1fr; }
  .alro-team-list span:nth-child(even) { padding-left: 0; border-left: 0; }
  .alro-cta-band { align-items: flex-start; flex-direction: column; }
  .alro-page-hero { min-height: 0; padding-top: 90px; }
  .alro-page-hero h1 { font-size: clamp(54px, 15vw, 82px); }
  .alro-page-hero__index { display: none; }
  .alro-fit { grid-template-columns: 1fr; }
  .alro-industry-list article { grid-template-columns: 45px 1fr; }
  .alro-industry-list article p { grid-column: 2; }
  .alro-faq-group { grid-template-columns: 1fr; gap: 15px; }
  .alro-form-row { grid-template-columns: 1fr; }
  .alro-phone { grid-template-columns: 110px minmax(0, 1fr); gap: 12px; }
  .alro-footer__lead { min-height: 300px; padding-bottom: 28px; }
  .alro-footer__lead h2 { max-width: 100%; padding-bottom: 0; padding-right: 110px; font-size: clamp(40px, 11vw, 58px); }
  .alro-circle-link {
    left: auto;
    right: 0;
    bottom: 18px;
    width: 96px;
    padding: 16px 14px;
    font-size: 11px;
    line-height: 1.15;
  }
  .alro-circle-link b .alro-ico-arrow { width: 16px; height: 16px; }
  .alro-footer__grid { grid-template-columns: 1fr 1fr; }
  .alro-footer__grid > div:first-child { grid-column: 1 / -1; }
  .alro-footer__base { flex-direction: column; }
	.alro-whatsapp { width: 54px; padding: 12px; justify-content: center; }
	.alro-whatsapp span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
}

@media (max-width: 420px) {
  .alro-hero .alro-kicker { white-space: nowrap; font-size: clamp(7.5px, 2.2vw, 9px); letter-spacing: .08em; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .alro-reveal { opacity: 1; transform: none; transition: none; }
  .alro-signal__orbit, .alro-signal__node, .alro-marquee > div, .alro-bars i, .alro-logo__arrow { animation: none !important; stroke-dashoffset: 0; }
}

@media print {
  .alro-header, .alro-footer, .alro-marquee, .alro-signal { display: none !important; }
  body.alro-site { background: white; color: black; }
  .alro-reveal { opacity: 1; transform: none; }
}
