/* Hotiday design system for the Careers Site (HLDD section 6.1).
   Hand-written: tokens as custom properties, then the components the careers pages use.
   Mobile first; the breakpoint is 768px (Tailwind `md` in the Hub). No build step, no JavaScript. */

@font-face {
  font-family: "Gabarito";
  src: url("Gabarito-VariableFont_wght.887b265d506e.ttf") format("truetype");
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Urbanist";
  src: url("Urbanist-VariableFont_wght.bfeaaa729391.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  /* Primary pair */
  --hd-ottanio: #034f5c;
  --hd-ottanio-deep: #023841;
  --hd-green: #4cf28d;
  --hd-green-2: #7df099;
  --hd-mint: #bafcc2;
  --hd-mint-tint: #d9eded;
  /* Secondary palette */
  --hd-cream: #f7e5b8;
  --hd-honey: #f0c96b;
  --hd-amber: #ffae2b;
  --hd-coral: #ce7a69;
  --hd-aqua: #a8d9db;
  --hd-sea: #408fb0;
  --hd-emerald: #00a67d;
  --hd-olive: #e7f2d9;
  /* Neutrals */
  --hd-paper: #fafafa;
  --hd-canvas: #f4f4f4;
  --hd-mist: #eaf0f2;
  --hd-line: #e2e4e9;
  --hd-divider: #dedddb;
  --hd-ink: #0a0d14;
  --hd-ink-2: #161f13;
  --hd-ink-3: #525866;
  --hd-ink-4: #868c98;
  --hd-ink-5: #cdd0d5;
  /* Semantic */
  --hd-success: #00a67d;
  --hd-warning: #ffae2b;
  --hd-danger: #c2410c;
  --hd-info: #408fb0;
  --hd-amber-ink: #7a4b00;
  --hd-danger-ink: #9a3412;
  /* Radii */
  --hd-radius-sm: 8px;
  --hd-radius-md: 12px;
  --hd-radius-lg: 16px;
  --hd-radius-card: 18px;
  --hd-radius-xl: 24px;
  /* Shadows */
  --hd-shadow-xs: 0 1px 2px rgba(51, 51, 51, 0.04);
  --hd-shadow-sm: 0 1px 2px rgba(51, 51, 51, 0.04), 0 2px 6px rgba(51, 51, 51, 0.06);
  --hd-shadow-md: 0 4px 8px rgba(3, 79, 92, 0.06), 0 12px 24px rgba(3, 79, 92, 0.08);
  --hd-shadow-lg: 0 10px 20px rgba(3, 79, 92, 0.1), 0 24px 48px rgba(3, 79, 92, 0.12);
  --hd-glow: 0 0 0 6px rgba(76, 242, 141, 0.18);
  /* Motion and type */
  --hd-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --hd-font-display: "Gabarito", sans-serif;
  --hd-font-body: "Urbanist", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; }
h1, h2, h3, p, ul, ol { margin: 0; }
ul { padding: 0; list-style: none; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }

/* Page wrapper */
.hd-page {
  min-height: 100vh;
  background: #fff;
  color: var(--hd-ink);
  font-family: var(--hd-font-body);
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Container */
.hd-container { width: 100%; max-width: 1320px; margin: 0 auto; padding-left: 20px; padding-right: 20px; }

/* Focus ring */
/* Green glow plus a 2px outline: Ottanio on light surfaces, white on the Ottanio band and footer. */
a:focus-visible, .hd-btn:focus-visible { outline: 2px solid var(--hd-ottanio); outline-offset: 2px; box-shadow: var(--hd-glow); }
.hd-band a:focus-visible, .hd-footer a:focus-visible { outline-color: #fff; }

/* Header band with the key-tag pattern */
.hd-band { position: relative; overflow: hidden; background: var(--hd-ottanio); color: #fff; }
.hd-band-pattern {
  position: absolute; top: -64px; right: -112px; height: 560px; width: auto; max-width: none;
  opacity: 0.06; filter: invert(1); pointer-events: none;
}
.hd-band-inner { position: relative; }
.hd-nav { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px 0; }
.hd-logo { height: 56px; width: auto; filter: brightness(0) invert(1); }
.hd-logo-link { display: inline-flex; border-radius: 4px; }
.hd-nav-end { display: flex; align-items: center; gap: 28px; font-size: 16px; font-weight: 600; }
.hd-nav-link { display: none; transition: color 150ms var(--hd-ease); }
.hd-nav-link:hover { color: var(--hd-green-2); }

/* EN/IT toggle pill */
.hd-toggle { display: flex; padding: 4px; border-radius: 9999px; background: rgba(255, 255, 255, 0.1); font-size: 14px; font-weight: 700; }
.hd-toggle > * { padding: 6px 12px; border-radius: 9999px; line-height: 1.5; }
.hd-toggle span { background: #fff; color: var(--hd-ottanio); }
.hd-toggle a { color: #fff; transition: color 150ms var(--hd-ease); }
.hd-toggle a:hover { color: var(--hd-green-2); }

/* Hero */
.hd-hero { padding: 24px 0 48px; }
.hd-eyebrow { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--hd-ottanio); }
.hd-eyebrow-on-dark { color: var(--hd-green-2); }
.hd-h1 {
  margin-top: 16px; max-width: 880px; font-family: var(--hd-font-display); font-size: 40px; font-weight: 500;
  line-height: 0.92; letter-spacing: -0.04em;
}
.hd-lead { margin-top: 20px; max-width: 460px; font-size: 18px; font-weight: 500; color: rgba(255, 255, 255, 0.8); }

/* Draft ribbon */
.hd-ribbon { background: var(--hd-amber); color: var(--hd-ottanio-deep); }
.hd-ribbon p { padding-top: 12px; padding-bottom: 12px; text-align: center; font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; }

/* Sections */
.hd-section { padding-top: 72px; padding-bottom: 72px; }

/* Prose (rendered Markdown) */
.hd-prose { max-width: 760px; color: var(--hd-ink); font-size: 17px; line-height: 1.6; font-weight: 500; }
.hd-prose > * + * { margin-top: 1em; }
.hd-prose h1, .hd-prose h2, .hd-prose h3 { color: var(--hd-ottanio); font-family: var(--hd-font-display); font-weight: 500; letter-spacing: -0.03em; line-height: 1.05; }
.hd-prose h1 { font-size: 40px; margin-bottom: 0.6em; }
.hd-prose h2 { font-size: 28px; margin-top: 1.8em; }
.hd-prose h3 { font-size: 21px; margin-top: 1.4em; }
.hd-prose ul, .hd-prose ol { padding-left: 1.25em; }
.hd-prose ul { list-style: disc; }
.hd-prose ol { list-style: decimal; }
.hd-prose li + li { margin-top: 0.4em; }
.hd-prose li::marker { color: var(--hd-ottanio); }
.hd-prose a, .hd-link {
  color: var(--hd-ottanio); font-weight: 600; text-decoration: underline; text-decoration-color: var(--hd-green);
  text-decoration-thickness: 2px; text-underline-offset: 3px; transition: text-decoration-color 150ms var(--hd-ease);
}
.hd-prose a:hover, .hd-link:hover { text-decoration-color: var(--hd-ottanio); }
.hd-prose a:focus-visible, .hd-link:focus-visible { border-radius: 4px; }
.hd-prose strong { font-weight: 700; }
.hd-prose blockquote { border-radius: 12px; background: var(--hd-mist); color: var(--hd-ink-3); padding: 12px 16px; font-size: 15px; }
.hd-prose hr { border-color: var(--hd-line); }
.hd-prose table { width: 100%; border-collapse: collapse; font-size: 15px; }
.hd-prose th, .hd-prose td { border-bottom: 1px solid var(--hd-line); padding: 8px 10px; text-align: left; vertical-align: top; }
.hd-prose th { color: var(--hd-ottanio); font-weight: 700; }

/* Buttons */
.hd-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 9999px;
  font-weight: 700; line-height: 1; transition: all 240ms var(--hd-ease);
}
.hd-btn:active { transform: scale(0.98); opacity: 0.9; }
.hd-btn-primary { background: var(--hd-green); color: var(--hd-ottanio); padding: 12px 22px; font-size: 16px; }
.hd-btn-primary:hover { background: var(--hd-green-2); }
.hd-btn-ghost { border: 1.5px solid var(--hd-ottanio); color: var(--hd-ottanio); padding: 12px 22px; font-size: 16px; }
.hd-btn-ghost:hover { background: var(--hd-mist); }
.hd-btn-spaced { margin-top: 32px; }

/* Footer */
.hd-footer { background: var(--hd-ottanio-deep); color: #fff; }
.hd-footer-inner { padding-top: 64px; padding-bottom: 36px; }
.hd-footer-grid { display: grid; gap: 48px; }
.hd-logo-footer { height: 64px; }
.hd-tagline { margin-top: 16px; max-width: 320px; font-family: var(--hd-font-display); font-size: 28px; font-weight: 500; line-height: 0.95; letter-spacing: -0.04em; }
.hd-footer-links { margin-top: 16px; font-size: 15px; font-weight: 500; color: rgba(255, 255, 255, 0.8); }
.hd-footer-links li + li { margin-top: 10px; }
.hd-footer-links a, .hd-footer-mail { transition: color 150ms var(--hd-ease); }
.hd-footer-links a:hover, .hd-footer-mail:hover { color: #fff; }
.hd-footer-note { margin-top: 10px; font-size: 15px; color: rgba(255, 255, 255, 0.6); }
.hd-footer-mail { font-size: 15px; font-weight: 500; color: rgba(255, 255, 255, 0.8); }
.hd-footer-bottom { margin-top: 56px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, 0.12); font-size: 13px; font-weight: 500; color: rgba(255, 255, 255, 0.6); }

/* 404: a full Ottanio page without the chrome */
.hd-notfound { display: flex; align-items: center; min-height: 100vh; padding: 96px 0; background: var(--hd-ottanio); color: #fff; }

@media (min-width: 768px) {
  .hd-container { padding-left: 60px; padding-right: 60px; }
  .hd-logo { height: 64px; }
  .hd-nav-link { display: inline; }
  .hd-hero { padding: 40px 0 64px; }
  .hd-h1 { font-size: 60px; }
  .hd-h1-notfound { font-size: 56px; }
  .hd-lead { font-size: 20px; }
  .hd-section { padding-top: 96px; padding-bottom: 96px; }
  .hd-footer-inner { padding-top: 80px; }
  .hd-footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .hd-btn, .hd-nav-link, .hd-toggle a, .hd-link, .hd-card { transition: none; }
}
.hd-footer .hd-eyebrow { color: var(--hd-green-2); }

/* Open roles list */
.hd-sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.hd-jobs { padding-top: 40px; padding-bottom: 56px; }
.hd-h2 { font-family: var(--hd-font-display); font-size: 28px; font-weight: 500; line-height: 1.05; letter-spacing: -0.03em; color: var(--hd-ottanio); }
.hd-filters fieldset { display: grid; gap: 16px; margin: 0 0 40px; padding: 0; border: 0; min-width: 0; }
.hd-field { display: grid; gap: 6px; min-width: 0; }
.hd-field label { font-size: 13px; font-weight: 700; color: var(--hd-ink-3); }
.hd-field select {
  width: 100%; min-width: 0; padding: 12px 14px; border: 1.5px solid var(--hd-ink-5); border-radius: var(--hd-radius-sm);
  background: #fff; color: var(--hd-ink); font: inherit; font-weight: 500;
}
.hd-filter-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.hd-filter-actions button { cursor: pointer; border: 0; font-family: inherit; }
.hd-group + .hd-group { margin-top: 48px; }
.hd-cards { display: grid; gap: 16px; margin-top: 20px; }
.hd-card {
  display: grid; gap: 6px; height: 100%; padding: 20px; border: 1px solid var(--hd-line); border-radius: var(--hd-radius-card);
  background: #fff; box-shadow: var(--hd-shadow-xs); transition: box-shadow 240ms var(--hd-ease), border-color 240ms var(--hd-ease);
}
.hd-card:hover { border-color: var(--hd-ottanio); box-shadow: var(--hd-shadow-md); }
.hd-card-title { font-family: var(--hd-font-display); font-size: 22px; font-weight: 500; line-height: 1.1; letter-spacing: -0.02em; color: var(--hd-ottanio); overflow-wrap: anywhere; }
.hd-card-place { font-size: 15px; color: var(--hd-ink-3); }
.hd-card-band { margin-top: 6px; font-size: 17px; font-weight: 700; }
.hd-card-band span { display: block; font-size: 12px; font-weight: 500; color: var(--hd-ink-4); }
.hd-card-cta { margin-top: 8px; font-size: 15px; font-weight: 700; color: var(--hd-ottanio); }
.hd-nomatch { font-size: 18px; margin-bottom: 12px; }

/* Job page */
.hd-back { display: inline-block; margin-bottom: 20px; font-size: 15px; font-weight: 600; color: rgba(255, 255, 255, 0.8); }
.hd-back:hover { color: var(--hd-green-2); }
.hd-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.hd-pills li { padding: 6px 14px; border-radius: 9999px; background: rgba(255, 255, 255, 0.12); font-size: 14px; font-weight: 600; }
.hd-job { padding-top: 40px; }
.hd-job-grid { display: grid; gap: 40px; }
.hd-job article { min-width: 0; }
.hd-note { display: inline-block; margin-bottom: 20px; padding: 6px 14px; border-radius: 9999px; background: var(--hd-mist); color: var(--hd-ink-3); font-size: 14px; font-weight: 600; }
.hd-facts { align-self: start; padding: 24px; border: 1px solid var(--hd-line); border-radius: var(--hd-radius-card); background: var(--hd-paper); }
.hd-facts dl { display: grid; gap: 16px; margin: 0; }
.hd-facts dt { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--hd-ink-4); }
.hd-facts dd { margin: 4px 0 0; font-size: 17px; font-weight: 600; overflow-wrap: anywhere; }
.hd-facts-note { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--hd-line); font-size: 14px; color: var(--hd-ink-3); }
.hd-apply { margin-top: 56px; padding: 32px 24px; border-radius: var(--hd-radius-xl); background: var(--hd-mint-tint); }
.hd-apply p { margin-top: 12px; max-width: 560px; font-size: 17px; }
.hd-apply .hd-btn-spaced { margin-top: 24px; }
.hd-prose { overflow-wrap: anywhere; }
.hd-prose table { display: block; overflow-x: auto; }

@media (min-width: 768px) {
  .hd-jobs { padding-top: 56px; }
  .hd-filters fieldset { grid-template-columns: repeat(2, minmax(0, 220px)) auto; align-items: end; }
  .hd-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hd-job-grid { grid-template-columns: minmax(0, 1fr) 340px; gap: 56px; }
  .hd-facts { position: sticky; top: 24px; }
}

@media (min-width: 1100px) {
  .hd-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Apply form */
.hd-form { display: grid; gap: 20px; margin-top: 24px; max-width: 720px; }
.hd-form-grid { display: grid; gap: 20px; }
.hd-field input[type="text"], .hd-field input[type="email"], .hd-field input[type="tel"], .hd-field textarea {
  width: 100%; min-width: 0; padding: 12px 14px; border: 1.5px solid var(--hd-ink-5); border-radius: var(--hd-radius-sm);
  background: #fff; color: var(--hd-ink); font: inherit; font-weight: 500;
}
.hd-field textarea { resize: vertical; min-height: 120px; }
.hd-field input[type="file"] { width: 100%; min-width: 0; padding: 10px 0; font: inherit; font-weight: 500; }
.hd-field input:focus-visible, .hd-field textarea:focus-visible, .hd-field select:focus-visible {
  outline: 2px solid var(--hd-ottanio); outline-offset: 1px; box-shadow: var(--hd-glow);
}
.hd-field-hint { margin: 0; font-size: 14px; color: var(--hd-ink-3); }
.hd-apply .hd-field-error, .hd-field-error { margin: 0; font-size: 14px; font-weight: 600; color: var(--hd-danger-ink); }
.hd-field-invalid input[type="text"], .hd-field-invalid input[type="email"], .hd-field-invalid input[type="tel"],
.hd-field-invalid textarea, .hd-field-invalid select { border-color: var(--hd-danger); }
.hd-form-error { margin: 0; padding: 12px 16px; border-radius: var(--hd-radius-md); background: #fff; border: 1.5px solid var(--hd-danger); color: var(--hd-danger-ink); font-size: 16px; font-weight: 600; }
.hd-check-row { display: flex; align-items: flex-start; gap: 12px; }
.hd-check-row input { flex: none; width: 20px; height: 20px; margin-top: 2px; accent-color: var(--hd-ottanio); }
.hd-check-row label { font-size: 16px; font-weight: 500; color: var(--hd-ink); }
.hd-ai-note { margin: 0; padding: 14px 16px; border-radius: var(--hd-radius-md); background: #fff; font-size: 15px; color: var(--hd-ink-3); }
.hd-apply .hd-ai-note { max-width: none; margin-top: 0; font-size: 15px; }
.hd-form .hd-btn { justify-self: start; cursor: pointer; border: 0; font-family: inherit; }
/* The honeypot is read by bots, not by people or screen readers. */
.hd-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (min-width: 768px) {
  .hd-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hd-apply { padding: 40px; }
}
.hd-form-error ul { margin: 8px 0 0; padding-left: 20px; }
.hd-form-error a { text-decoration: underline; }
.hd-form-error:focus { outline: 2px solid var(--hd-ottanio); outline-offset: 2px; }
.hd-field-again { font-weight: 600; color: var(--hd-ottanio); }

/* Careers home (US-16) */
.hd-home-hero { padding-bottom: 72px; }
.hd-h1-home { max-width: 1000px; font-size: 44px; }
.hd-lead-home { max-width: 680px; color: rgba(255, 255, 255, 0.85); }
.hd-promises { display: grid; gap: 12px; margin-top: 32px; font-size: 16px; font-weight: 600; }
.hd-promises li { display: flex; align-items: center; gap: 8px; }
.hd-promises svg { flex: none; color: var(--hd-green); }
.hd-btn-lg { margin-top: 40px; padding: 16px 28px; font-size: 18px; }
.hd-figures { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; margin: 56px 0 0; padding-top: 32px; border-top: 1px solid rgba(255, 255, 255, 0.12); }
.hd-figures > div { display: flex; flex-direction: column-reverse; gap: 8px; }
.hd-figures dt { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--hd-green-2); }
.hd-figures dd { margin: 0; font-family: var(--hd-font-display); font-size: 32px; font-weight: 500; line-height: 1.05; letter-spacing: -0.04em; }

/* Photo strip: scrolls natively, with the keyboard too; nothing moves by itself */
.hd-strip { padding: 40px 0; background: #fff; }
.hd-strip-list {
  display: flex; gap: 16px; padding: 4px 20px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 20px;
  scrollbar-width: thin; scrollbar-color: var(--hd-ottanio) var(--hd-mist);
}
.hd-strip-list::-webkit-scrollbar { height: 8px; }
.hd-strip-list::-webkit-scrollbar-track { background: var(--hd-mist); border-radius: 4px; }
.hd-strip-list::-webkit-scrollbar-thumb { background: var(--hd-ottanio); border-radius: 4px; }
.hd-strip-list:focus-visible { outline: 2px solid var(--hd-ottanio); outline-offset: -2px; box-shadow: var(--hd-glow); }
.hd-strip-list li { flex: none; width: 280px; scroll-snap-align: start; }
.hd-strip-list img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--hd-radius-card); }
.hd-strip-list figcaption { margin-top: 8px; font-size: 13px; font-weight: 600; color: var(--hd-ink-3); }

/* Manifesto band */
.hd-manifesto { padding: 72px 0; background: var(--hd-mint); color: var(--hd-ottanio); }
.hd-manifesto-text { max-width: 1000px; margin: 0 auto; font-family: var(--hd-font-display); font-size: 28px; font-weight: 500; line-height: 1.05; letter-spacing: -0.03em; }
.hd-manifesto-text p + p { margin-top: 32px; }

/* Content blocks */
.hd-block { padding: 72px 0; background: #fff; }
.hd-block-paper { background: var(--hd-paper); }
.hd-block-mist { background: var(--hd-mist); }
.hd-h2-xl { margin-top: 16px; font-size: 40px; line-height: 0.95; letter-spacing: -0.04em; }
.hd-tiles { display: grid; gap: 20px; margin-top: 40px; }
.hd-tile { display: flex; flex-direction: column; padding: 28px; border-radius: var(--hd-radius-card); background: #fff; box-shadow: var(--hd-shadow-sm); }
.hd-icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 9999px; background: var(--hd-mint); color: var(--hd-ottanio); }
.hd-tile-title { margin-top: 20px; font-size: 22px; font-weight: 600; line-height: 1.25; color: var(--hd-ink); }
.hd-tile-text { margin-top: 12px; font-size: 16px; font-weight: 500; line-height: 1.5; color: var(--hd-ink-3); }
.hd-tile-label { margin-top: 20px; }
.hd-tile-live { margin-top: 4px; font-size: 15px; font-weight: 600; line-height: 1.5; color: var(--hd-ink); }
.hd-team { padding: 0; overflow: hidden; }
.hd-team img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.hd-team-body { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.hd-team-body .hd-tile-title { margin-top: 0; }
.hd-team-body .hd-tile-text { margin-top: 8px; font-size: 15px; }
.hd-team-foot { margin-top: auto; padding-top: 24px; font-size: 15px; }
.hd-tile > .hd-team-foot { padding-top: 24px; }
.hd-team-none { font-weight: 600; color: var(--hd-ink-3); }

/* Document cards */
.hd-doc {
  display: flex; flex-direction: column; height: 100%; padding: 24px; border-radius: var(--hd-radius-card); background: #fff;
  box-shadow: var(--hd-shadow-sm); border: 1px solid var(--hd-line); transition: box-shadow 240ms var(--hd-ease), transform 240ms var(--hd-ease);
}
.hd-doc:hover { transform: translateY(-2px); box-shadow: var(--hd-shadow-md); }
.hd-doc-title { font-size: 20px; font-weight: 600; line-height: 1.25; color: var(--hd-ink); }
.hd-doc .hd-tile-text { margin-top: 8px; font-size: 15px; }
.hd-doc-arrow { display: flex; justify-content: flex-end; margin-top: auto; padding-top: 16px; color: var(--hd-ottanio); }

/* How we hire */
.hd-stages { display: grid; gap: 16px; margin-top: 40px; }
.hd-stages li { display: flex; align-items: center; gap: 16px; }
.hd-stage-no { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 9999px; background: var(--hd-ottanio); color: #fff; font-size: 18px; font-weight: 700; }
.hd-stage-name { font-size: 16px; font-weight: 600; line-height: 1.3; color: var(--hd-ink); }
.hd-commitments { display: grid; gap: 20px; margin-top: 48px; }
.hd-commitments li { padding: 24px; border-radius: var(--hd-radius-card); background: #fff; box-shadow: var(--hd-shadow-sm); font-size: 18px; font-weight: 600; line-height: 1.3; color: var(--hd-ottanio); }
.hd-ai-line { max-width: 760px; margin-top: 40px; font-size: 18px; line-height: 1.5; }
.hd-scam { max-width: 760px; margin-top: 40px; padding: 24px; border-radius: var(--hd-radius-card); background: rgba(255, 174, 43, 0.15); color: var(--hd-amber-ink); }
.hd-scam h3 { font-size: 18px; font-weight: 700; line-height: 1.3; }
.hd-scam p { margin-top: 8px; font-size: 16px; line-height: 1.5; }

/* FAQ: native disclosure */
.hd-faq { display: grid; gap: 12px; max-width: 880px; margin-top: 40px; }
.hd-faq details { border-radius: var(--hd-radius-card); background: #fff; box-shadow: var(--hd-shadow-sm); }
.hd-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px; border-radius: var(--hd-radius-card); font-size: 18px; font-weight: 600; color: var(--hd-ink); cursor: pointer; list-style: none; }
.hd-faq summary::-webkit-details-marker { display: none; }
.hd-faq summary:focus-visible { outline: 2px solid var(--hd-ottanio); box-shadow: var(--hd-glow); }
.hd-faq summary svg { flex: none; color: var(--hd-ottanio); transition: transform 240ms var(--hd-ease); }
.hd-faq details[open] summary svg { transform: rotate(180deg); }
.hd-faq details p { padding: 0 24px 24px; font-size: 16px; line-height: 1.5; color: var(--hd-ink-3); }

/* Closing band */
.hd-closing { padding: 72px 0; background: var(--hd-ottanio); color: #fff; text-align: center; }
.hd-h2-closing { max-width: 1100px; margin: 0 auto; font-family: var(--hd-font-display); font-size: 40px; font-weight: 500; line-height: 0.95; letter-spacing: -0.04em; }

@media (min-width: 768px) {
  .hd-home-hero { padding-bottom: 96px; }
  .hd-h1-home { font-size: 72px; }
  .hd-promises { display: flex; flex-wrap: wrap; gap: 12px 32px; }
  .hd-figures { display: flex; flex-wrap: wrap; gap: 32px 56px; }
  .hd-figures dd { font-size: 44px; }
  .hd-strip { padding: 56px 0; }
  .hd-strip-list { padding-left: 60px; padding-right: 60px; scroll-padding: 0 60px; }
  .hd-strip-list li { width: 360px; }
  .hd-manifesto, .hd-block, .hd-closing { padding: 96px 0; }
  .hd-manifesto-text { font-size: 40px; }
  .hd-h2-xl { font-size: 60px; }
  .hd-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hd-stages { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .hd-stages li { position: relative; flex-direction: column; align-items: flex-start; gap: 12px; }
  .hd-stages li:not(:last-child)::after { content: ""; position: absolute; top: 21px; left: 52px; right: -8px; height: 2px; background: var(--hd-line); }
  .hd-commitments { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hd-h2-closing { font-size: 64px; }
}

@media (min-width: 1100px) {
  .hd-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  .hd-doc, .hd-faq summary svg { transition: none; }
  .hd-doc:hover { transform: none; }
}
