/* /contact: the call as it goes, the request form (the home page's form,
   inline), and what the thirty minutes covers. Page-only figures. */

/* ── the request: the form beside the direct routes ── */
.ask { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 0.7fr); gap: 28px 44px; align-items: start; margin-top: 40px; }
.ask > * { min-width: 0; }
.ask__card { position: relative; overflow: hidden; border: 1px solid var(--edge); border-radius: 18px; background: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(30, 120, 220, 0.14), transparent 70%), #070b12; box-shadow: 0 40px 90px -50px rgba(0, 0, 0, 0.95); }
.ask__done h3 { color: #fff; }
.ask__direct { display: grid; margin: 0; }
.ask__direct div { padding: 18px 0; border-top: 1px solid var(--line-soft); }
.ask__direct div:first-child { border-top: 0; padding-top: 4px; }
.ask__direct dt { font: 500 10px var(--font-mono); letter-spacing: 0.14em; text-transform: uppercase; color: #9fd8ff; }
.ask__direct dd { margin: 6px 0 0; font-size: 15px; line-height: 1.55; color: var(--fg); }
.ask__direct a { border-bottom: 1px solid rgba(255, 255, 255, 0.3); font: 500 15px var(--font-mono); color: #fff; text-decoration: none; transition: border-color 160ms ease; }
.ask__direct a:hover { border-color: #fff; }

/* ── the thirty minutes ── */
.agenda { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 44px 0 0; padding: 0; list-style: none; }
.agenda li { position: relative; padding: 22px; border: 1px solid var(--line-soft); border-radius: 16px; background: var(--card); overflow: hidden; }
.agenda small { display: block; margin-top: 18px; font: 500 10px var(--font-mono); letter-spacing: 0.14em; color: #9fd8ff; }
.agenda h3 { margin: 6px 0 0; font: 500 22px/1.2 var(--font-display); color: var(--fg); }
.agenda p { margin: 8px 0 0; font-size: 14px; line-height: 1.6; color: var(--muted); text-wrap: pretty; }
.agenda__fig { display: flex; align-items: center; gap: 8px; height: 56px; }
.agenda__fig .is-doc { width: 34px; height: 44px; border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 4px; background: repeating-linear-gradient(180deg, transparent 0 7px, rgba(255, 255, 255, 0.12) 7px 8px) 6px 8px / 20px 30px no-repeat; }
.agenda__fig .is-arrow { width: 40px; height: 1px; background: #5cc8ff; box-shadow: 0 0 6px rgba(92, 200, 255, 0.8); }
.agenda__fig .is-model { width: 44px; height: 44px; border: 1px solid rgba(92, 200, 255, 0.6); border-radius: 50%; background: radial-gradient(circle, rgba(92, 200, 255, 0.35), transparent 70%); }
.agenda__fig b { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid rgba(92, 200, 255, 0.5); border-radius: 50%; font: 500 15px var(--font-display); color: #9fd8ff; }
.agenda__fig em { padding: 5px 10px; border: 1px dashed rgba(236, 239, 244, 0.3); border-radius: 999px; font: 500 10px var(--font-mono); font-style: normal; text-decoration: line-through; color: var(--muted); }
.agenda li.is-in .agenda__fig > * { animation: kitIn 520ms var(--ease-out) both; animation-delay: calc(var(--d, 0ms) + 300ms); }
.agenda li.is-in .agenda__fig > :nth-child(2) { animation-delay: calc(var(--d, 0ms) + 450ms); }
.agenda li.is-in .agenda__fig > :nth-child(3) { animation-delay: calc(var(--d, 0ms) + 600ms); }

@media (max-width: 980px) {
  .ask { grid-template-columns: 1fr; }
  .agenda { grid-template-columns: 1fr; }
}
html[data-motion="paused"] .agenda * { animation: none; }
@media (prefers-reduced-motion: reduce) {
  .agenda * { animation: none; }
}

/* ══ The page's own world: the meeting slip. A perforated ticket with a
   stub and punched notches beside the request form, both in the first
   viewport; perforation rules under the section heads. ══ */
.slip-hero { padding: 132px 0 88px; }
.slip-hero__grid { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: 40px 64px; align-items: start; }
.slip-hero .page-title { font-size: clamp(42px, 5vw, 72px); }
.slip { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 62px; max-width: 470px; margin-top: 44px; border: 1px solid rgba(92, 200, 255, 0.35); border-radius: 14px; background: linear-gradient(135deg, #10203a, #0a1524); box-shadow: 0 30px 70px -30px rgba(0, 0, 0, 0.9); transform: rotate(-1.5deg); animation: slipIn 0.9s var(--ease-out) 0.25s both; }
@keyframes slipIn { from { opacity: 0; transform: rotate(-6deg) translateY(30px); } to { opacity: 1; transform: rotate(-1.5deg); } }
.slip__main { padding: 22px 24px 24px; }
.slip__main small { font: 500 10px var(--font-mono); letter-spacing: 0.16em; text-transform: uppercase; color: #9fd8ff; }
.slip__main b { display: block; margin-top: 6px; font: 400 46px/1 var(--font-display); color: #fff; }
.slip dl { display: grid; gap: 10px; margin: 20px 0 0; }
.slip dl div { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 12px; font-size: 14px; }
.slip dt { padding-top: 3px; font: 600 9.5px var(--font-ui); letter-spacing: 0.14em; text-transform: uppercase; color: rgba(159, 216, 255, 0.75); }
.slip dd { margin: 0; color: #fff; }
.slip__stub { position: relative; display: grid; place-items: center; border-left: 2px dashed rgba(159, 216, 255, 0.4); }
.slip__stub::before, .slip__stub::after { content: ""; position: absolute; left: -10px; width: 18px; height: 18px; border-radius: 50%; background: var(--bg); }
.slip__stub::before { top: -10px; box-shadow: inset 0 -1px 0 rgba(92, 200, 255, 0.35); }
.slip__stub::after { bottom: -10px; box-shadow: inset 0 1px 0 rgba(92, 200, 255, 0.35); }
.slip__stub span { font: 600 10px var(--font-ui); letter-spacing: 0.3em; text-transform: uppercase; color: #9fd8ff; writing-mode: vertical-rl; transform: rotate(180deg); }
.slip-hero__form { scroll-margin-top: 96px; }
.slip-hero__form .ask { grid-template-columns: 1fr; gap: 20px; margin-top: 0; }
.slip-hero__form .ask__direct { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.slip-hero__form .ask__direct div, .slip-hero__form .ask__direct div:first-child { padding: 14px 0 0; border-top: 1px solid var(--line-soft); }
.slip-hero__form .ask__direct dd { font-size: 13.5px; }
.slip-hero__form .ask__direct a { font-size: 13px; }

/* section heads underlined with a perforation */
.page-slip .section-head .kicker { display: inline-block; padding-bottom: 7px; border-bottom: 2px dashed rgba(159, 216, 255, 0.35); color: #cfd6e0; }

@media (max-width: 1100px) {
  .slip-hero__grid { grid-template-columns: 1fr; }
  .slip { transform: none; animation: none; }
}
@media (max-width: 640px) {
  .slip-hero { padding-top: 112px; }
  .slip-hero__form .ask__direct { grid-template-columns: 1fr; }
  .slip__main b { font-size: 38px; }
  .slip dl div { grid-template-columns: 80px minmax(0, 1fr); }
}
html[data-motion="paused"] .slip { animation: none; }
@media (prefers-reduced-motion: reduce) { .slip { animation: none; } }
