/* Niskus VALOR — the front door (/start, /start/embed, /call/…). Self-contained (no /styles.css): it may be shown inside the
   company website. Niskus brand: ink #10212B, teal #1F7A75, gold #E6AD2B on paper; Georgia headings. Prefix fd-. */
:root { --ink: #10212B; --ink-2: #163A39; --teal: #1F7A75; --teal-d: #155E5A; --teal-t: #E3F1EF; --gold: #C9A23A; --gold-b: #E6AD2B; --gold-t: #FFF7E3;
  --paper: #F4F2EC; --surface: #FBFAF6; --surface-2: #ECE9DF; --line: #E2DED2; --line-2: #D3CDBD; --muted: #4F5D5C; --alert: #B4452E; --alert-t: #F6E9E4; --ok: #2F7D4F; --ok-t: #E3F1E8;
  --serif: Georgia, 'Times New Roman', serif; --sans: Arial, Helvetica, sans-serif; }
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { margin: 0; }
body { font-family: var(--sans); background: var(--paper); color: var(--ink); font-size: 15px; line-height: 1.55; }
body.fd-embed { background: transparent; }
a { color: var(--teal-d); }
:focus-visible { outline: 3px solid var(--teal-d); outline-offset: 2px; }
button { font: inherit; cursor: pointer; }
.fd-skip { position: absolute; left: -999px; } .fd-skip:focus { left: 12px; top: 12px; z-index: 50; background: #fff; padding: 8px 12px; border-radius: 8px; }

/* header */
.fd-top { display: flex; align-items: center; gap: 14px; padding: 12px 28px; background: linear-gradient(150deg, var(--ink), var(--ink-2)); color: #F4EFE2; border-bottom: 3px solid var(--gold); flex-wrap: wrap; }
.fd-top img { height: 34px; width: auto; display: block; }
.fd-brand { display: flex; flex-direction: column; line-height: 1.15; } .fd-brand b { font-family: var(--serif); font-size: 18px; color: #fff; }
.fd-brand small { font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-b); }
.fd-top .sp { flex: 1; }
.fd-tlink { color: #fff; text-decoration: none; font-weight: 700; font-size: 13.5px; padding: 7px 12px; border-radius: 9px; border: 1px solid rgba(255, 255, 255, .26); background: rgba(255, 255, 255, .08); white-space: nowrap; }
.fd-tlink:hover { border-color: var(--gold-b); } .fd-tlink.gold { background: var(--gold-b); color: var(--ink); border-color: var(--gold-b); }

.fd-nav { display: flex; flex-wrap: wrap; gap: 8px; }

.fd-main { max-width: 1140px; margin: 0 auto; padding: 0 24px 48px; }
.fd-embed .fd-main { padding: 0; max-width: none; }

/* hero: a still photograph (illustrative) with the headline over its darker side — no animation */
.fd-hero { position: relative; background: var(--ink); color: #fff; }
.fd-hero picture, .fd-hero img { display: block; width: 100%; }
.fd-hero img { height: clamp(280px, 30vw, 420px); object-fit: cover; object-position: center 60%; }
.fd-hero-text { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; padding: 24px max(24px, calc((100% - 1092px) / 2));
  background: linear-gradient(90deg, rgba(16, 33, 43, .9) 0%, rgba(16, 33, 43, .72) 38%, rgba(16, 33, 43, .1) 72%, rgba(16, 33, 43, 0) 100%); }
.fd-hero-text > * { max-width: 560px; }
.fd-eyebrow { font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--teal-d); margin: 0 0 8px; }
.fd-hero .fd-eyebrow { color: var(--gold-b); }
.fd-hero h1 { font-family: var(--serif); font-size: 44px; line-height: 1.08; margin: 0 0 12px; font-weight: 700; color: #fff; }
.fd-hero p.lede { font-size: 17px; color: #E6EEEC; margin: 0; }
.fd-h1 { font-family: var(--serif); font-size: 34px; line-height: 1.1; margin: 0 0 8px; }
.fd-cta { display: flex; flex-wrap: wrap; gap: 10px; }

/* the two ways in: sign in (clients) · start (new organisations) */
.fd-paths { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; margin: -36px 0 28px; position: relative; }
.fd-paths .fd-card { border-top: 5px solid var(--teal); }
.fd-paths .fd-new { border-top-color: var(--gold-b); }
.fd-pw { display: flex; gap: 8px; } .fd-pw input { flex: 1; }
.fd-row { display: flex; align-items: center; gap: 14px; padding: 13px 14px; margin-top: 8px; border: 1px solid var(--line); border-radius: 12px; text-decoration: none; color: var(--ink); background: var(--surface); }
.fd-row:hover { border-color: var(--teal); background: #fff; }
.fd-row .n { flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--teal-t); color: var(--teal-d); font-weight: 800; display: inline-flex; align-items: center; justify-content: center; font-size: 13.5px; }
.fd-row b { display: block; font-size: 15px; } .fd-row small { display: block; color: var(--muted); font-size: 13px; }
.fd-row .go { margin-left: auto; font-weight: 800; color: var(--teal-d); font-size: 18px; }
.fd-welcome { background: var(--teal-t); border: 1px solid #BFDCD8; border-radius: 12px; padding: 14px 16px; }

/* the overview video */
.fd-video video { display: block; width: 100%; aspect-ratio: 16 / 9; background: var(--ink); border-radius: 14px; }

/* tiles and a narrow sign-in card */
.fd-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; margin-top: 8px; }
.fd-team-signin { max-width: 440px; }
.fd-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-weight: 700; font-size: 15px; padding: 12px 18px; border-radius: 11px; border: 1px solid var(--teal); background: var(--teal); color: #fff; text-decoration: none; }
.fd-btn:hover { background: var(--teal-d); }
.fd-btn.gold { background: var(--gold-b); border-color: var(--gold-b); color: var(--ink); } .fd-btn.gold:hover { background: #D99C1E; }
.fd-btn.ghost { background: #fff; color: var(--teal-d); border-color: var(--line-2); } .fd-btn.ghost:hover { border-color: var(--teal); }
.fd-btn.sm { font-size: 13px; padding: 8px 12px; border-radius: 9px; }
.fd-btn[disabled] { opacity: .55; cursor: not-allowed; }

/* sections */
.fd-sec { margin: 28px 0; }
.fd-sec > h2, .fd-card h2 { font-family: var(--serif); font-size: 26px; margin: 0 0 6px; }
.fd-sub { color: var(--muted); margin: 0 0 16px; }
.fd-quick { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; }
.fd-q { display: flex; flex-direction: column; gap: 6px; background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--teal); border-radius: 14px; padding: 16px 18px; text-decoration: none; color: var(--ink); min-height: 130px; }
.fd-q:hover { border-color: var(--teal); box-shadow: 0 10px 24px rgba(16, 33, 43, .08); }
.fd-q.gold { border-top-color: var(--gold-b); }
.fd-q .ico { width: 34px; height: 34px; border-radius: 10px; background: var(--teal-t); color: var(--teal-d); display: inline-flex; align-items: center; justify-content: center; }
.fd-q .ico svg { width: 20px; height: 20px; }
.fd-q b { font-size: 16px; } .fd-q small { color: var(--muted); font-size: 13.5px; } .fd-q .go { margin-top: auto; font-weight: 700; color: var(--teal-d); font-size: 13.5px; }
.fd-card { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 24px 26px; box-shadow: 0 12px 30px rgba(16, 33, 43, .05); }
.fd-embed .fd-card { box-shadow: none; }

/* booking */
.fd-steps { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
.fd-h3 { font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin: 0 0 8px; }
.fd-days { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.fd-day, .fd-time { border: 1px solid var(--line-2); background: #fff; color: var(--ink); border-radius: 10px; padding: 8px 12px; font-weight: 700; font-size: 13.5px; }
.fd-day[aria-pressed=true], .fd-time[aria-pressed=true] { background: var(--ink); color: #fff; border-color: var(--ink); }
.fd-day:hover, .fd-time:hover { border-color: var(--teal); }
.fd-times { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 6px; }
/* Irish working hours, the visitor's own zone, the closed days */
.fd-tz { background: var(--paper); border: 1px solid var(--line); border-radius: 12px; padding: 9px 13px; margin: 0 0 14px; font-size: 13.5px; line-height: 1.45; }
.fd-tz p { margin: 2px 0; } .fd-tz .fd-closed { color: var(--muted); font-size: 12.5px; }
.fd-h3n { text-transform: none; letter-spacing: 0; font-weight: 400; }
.fd-part { margin: 10px 0 5px; font-size: 12px; font-weight: 700; color: var(--muted); }
.fd-time { display: flex; flex-direction: column; align-items: flex-start; text-align: left; }
.fd-time small { font-weight: 400; font-size: 11.5px; opacity: .85; }
.fd-time[disabled] { opacity: .45; text-decoration: line-through; cursor: not-allowed; }
.fd-form label { display: block; font-size: 13px; font-weight: 700; margin: 10px 0 4px; }
.fd-form input, .fd-form select, .fd-form textarea { width: 100%; font: inherit; font-size: 14.5px; padding: 10px 12px; border: 1px solid var(--line-2); border-radius: 10px; background: #fff; color: var(--ink); }
.fd-form textarea { min-height: 76px; resize: vertical; }
.fd-form .two { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.fd-form .err { color: var(--alert); font-size: 12.5px; font-weight: 700; min-height: 0; }
.fd-form .invalid input, .fd-form .invalid select { border-color: var(--alert); }
.fd-hp { position: absolute; left: -5000px; width: 1px; height: 1px; overflow: hidden; }
.fd-picked { background: var(--gold-t); border: 1px solid #F0DCA9; border-radius: 12px; padding: 10px 14px; margin: 12px 0 4px; font-size: 14px; }
.fd-note { font-size: 12.5px; color: var(--muted); margin: 10px 0 0; }
.fd-banner { border-radius: 12px; padding: 12px 14px; margin: 12px 0; font-size: 14px; border: 1px solid var(--line); background: var(--surface); }
.fd-banner.bad { background: var(--alert-t); border-color: #E3B8AC; color: #7A2E1E; } .fd-banner.ok { background: var(--ok-t); border-color: #BFDCC9; }
.fd-done { text-align: left; }
.fd-done .when { font-family: var(--serif); font-size: 24px; margin: 6px 0; }
.fd-status { display: inline-flex; font-size: 11.5px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; padding: 3px 10px; border-radius: 99px; background: var(--gold-t); color: #7A4B00; }
.fd-status.confirmed, .fd-status.done { background: var(--ok-t); color: var(--ok); } .fd-status.cancelled, .fd-status.declined { background: var(--alert-t); color: var(--alert); }
.fd-cal { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.fd-link { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; font-size: 13px; background: var(--surface); border: 1px dashed var(--line-2); border-radius: 10px; padding: 8px 10px; }
.fd-link code { font-family: Consolas, 'Courier New', monospace; font-size: 12.5px; word-break: break-all; flex: 1 1 260px; }

.fd-foot { max-width: 1140px; margin: 0 auto; padding: 18px 24px 36px; font-size: 12.5px; color: var(--muted); border-top: 1px solid var(--line); display: flex; gap: 16px; justify-content: space-between; flex-wrap: wrap; }
.fd-embed .fd-foot { border-top: none; padding: 10px 0 0; max-width: none; }
.fd-toast { position: fixed; bottom: calc(18px + env(safe-area-inset-bottom, 0px)); left: 50%; transform: translateX(-50%); background: var(--ink); color: #fff; padding: 9px 16px; border-radius: 99px; font-size: 13.5px; font-weight: 700; z-index: 60; }

/* the quick check: five questions and the first picture (no animation; wide rows scroll in their own box) */
.fd-qk { border-top: 5px solid var(--gold-b); }
.fd-qk-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4px 16px; }
.fd-qk-q { min-width: 0; }
.fd-qk-q label, .fd-qk-goals legend { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; margin: 10px 0 5px; padding: 0; }
.fd-qk-n { flex: none; width: 24px; height: 24px; border-radius: 50%; background: var(--teal-t); color: var(--teal-d); font-weight: 800; font-size: 12.5px; display: inline-flex; align-items: center; justify-content: center; }
.fd-qk-q select { min-width: 0; max-width: 100%; }
.fd-qk-hint { display: block; color: var(--muted); font-size: 12.5px; margin-top: 4px; }
.fd-qk-qty { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 11em); gap: 8px; }
.fd-qk-goals { border: 0; margin: 4px 0 0; padding: 0; min-width: 0; }
.fd-qk-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.fd-qk-chip { display: inline-flex !important; align-items: center; gap: 8px; margin: 0 !important; padding: 9px 13px; min-height: 40px; border: 1px solid var(--line-2); border-radius: 99px; background: #fff; font-weight: 600 !important; cursor: pointer; }
.fd-qk-chip input { width: 18px !important; height: 18px; margin: 0; padding: 0; accent-color: var(--teal); }
.fd-qk-chip:has(input:checked) { border-color: var(--teal); background: var(--teal-t); }
.fd-qk-goals.invalid .fd-qk-chip { border-color: var(--alert); }
.fd-qk-report:focus { outline: none; }
.fd-qk-head { font-family: var(--serif); font-size: 21px; line-height: 1.35; margin: 2px 0 14px; }
.fd-qk-in { list-style: none; margin: 0 0 12px; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 8px; }
.fd-qk-in li { background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: 8px 10px; min-width: 0; }
.fd-in-t > span:first-child { display: block; font-size: 12px; color: var(--muted); } .fd-qk-in b { display: block; font-size: 14px; overflow-wrap: anywhere; }
.fd-qk-tag { display: inline-block; font-size: 11.5px; font-weight: 700; color: var(--teal-d); background: var(--teal-t); border-radius: 99px; padding: 1px 8px; margin-top: 4px; }
.fd-qk-line { margin: 6px 0; }
.fd-qk-report .fd-h3 { margin-top: 18px; }
.fd-qk-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--line); border-radius: 10px; }
.fd-qk-tbl { width: 100%; border-collapse: collapse; font-size: 13.5px; min-width: 620px; }
.fd-qk-tbl th, .fd-qk-tbl td { text-align: left; vertical-align: top; padding: 8px 10px; border-bottom: 1px solid var(--line); }
.fd-qk-tbl thead th { background: var(--surface); font-size: 12px; color: var(--muted); }
.fd-qk-tbl tbody th small { display: block; font-weight: 400; color: var(--muted); font-size: 12px; }
.fd-qk-fams { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 10px; }
.fd-qk-fam { border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; background: var(--surface); min-width: 0; }
.fd-qk-fam small { display: block; color: var(--muted); font-size: 12.5px; margin: 2px 0 6px; }
.fd-qk-fam ul { margin: 0; padding-left: 18px; font-size: 13.5px; } .fd-qk-kind { color: var(--muted); font-size: 12px; }
/* The first picture's first view: key figures with icons, and two small charts (no animation on the front door). */
.fd-ic { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; vertical-align: -4px; }
.fd-qk-top { margin: 0 -4px 6px; padding: 14px 16px 16px; border-radius: 14px; background: linear-gradient(180deg, var(--teal-t), var(--surface)); border: 1px solid var(--line); }
.fd-qk-top .fd-h3 { margin-top: 0; }
.fd-kpis { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 158px), 1fr)); gap: 10px; }
.fd-kpi { position: relative; min-width: 0; background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--teal); border-radius: 12px; padding: 12px 12px 10px; box-shadow: 0 1px 2px rgba(16, 33, 43, .06); }
.fd-kpi.fd-kpi-m { border-top-color: var(--gold-b); background: var(--gold-t); }
.fd-kpi-ic { width: 34px; height: 34px; padding: 7px; border-radius: 10px; background: var(--teal-t); color: var(--teal-d); margin-bottom: 6px; }
.fd-kpi-m .fd-kpi-ic { background: #fff; color: var(--ink); }
.fd-kpi-l { display: block; font-size: 12px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; color: var(--muted); }
.fd-kpi-v { display: block; font-family: var(--serif); font-size: 25px; line-height: 1.15; color: var(--ink); margin: 3px 0 2px; overflow-wrap: anywhere; }
.fd-kpi-v small { font-family: var(--sans); font-size: 13px; font-weight: 700; color: var(--muted); }
.fd-kpi-s { display: block; font-size: 12.5px; color: var(--muted); }
.fd-qk-panels { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; margin-top: 10px; }
.fd-qk-panel { min-width: 0; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; }
.fd-qk-panel h4 { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font-size: 14px; color: var(--ink); }
.fd-qk-panel h4 .fd-ic { color: var(--teal-d); }
.fd-hbar { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.fd-hbar li { display: grid; grid-template-columns: 20px 6.5em minmax(0, 1fr) 2em; align-items: center; gap: 8px; font-size: 13.5px; }
.fd-hbar li .fd-ic { color: var(--teal-d); } .fd-hbar b { text-align: right; }
.fd-hbar-t { height: 12px; border-radius: 99px; background: var(--surface-2); overflow: hidden; }
.fd-hbar-f { display: block; height: 100%; border-radius: 99px; background: var(--teal); }
.fd-stack { display: flex; height: 16px; border-radius: 99px; overflow: hidden; background: var(--surface-2); gap: 2px; }
.fd-stack-s { display: block; height: 100%; }
.fd-m-established { background: var(--teal-d); } .fd-m-demonstrated { background: var(--teal); } .fd-m-emerging { background: #9C7A22; } .fd-m-research { background: #7D8A89; }
.fd-legend { list-style: none; margin: 10px 0 6px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 13px; }
.fd-legend li { display: inline-flex; align-items: center; gap: 6px; } .fd-legend i { width: 12px; height: 12px; border-radius: 3px; display: inline-block; }
.fd-qk-small { margin: 0; font-size: 12px; color: var(--muted); }
.fd-h3-ic { color: var(--teal-d); margin-right: 6px; }
.fd-qk-in li { display: flex; gap: 10px; align-items: flex-start; }
.fd-in-ic { width: 30px; height: 30px; padding: 6px; border-radius: 8px; background: var(--teal-t); color: var(--teal-d); }
.fd-in-t { min-width: 0; }
.fd-row-h { display: flex; gap: 8px; align-items: flex-start; } .fd-row-ic { color: var(--teal-d); margin-top: 1px; }
.fd-minibar { display: block; height: 6px; margin-top: 5px; border-radius: 99px; background: var(--surface-2); overflow: hidden; max-width: 120px; }
.fd-minibar span { display: block; height: 100%; background: var(--teal); }
.fd-qk-famh { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 4px; }
.fd-badge-ic { width: 36px; height: 36px; padding: 7px; border-radius: 10px; background: var(--ink-2); color: #fff; }
.fd-qk-fam ul { list-style: none; padding-left: 0; } .fd-qk-fam li { display: flex; gap: 8px; align-items: flex-start; margin: 5px 0; }
.fd-li-ic { width: 18px; height: 18px; color: var(--teal-d); margin-top: 1px; }
.fd-qk-adds { list-style: none; padding-left: 0 !important; display: grid; gap: 8px; }
.fd-qk-adds li { display: flex; gap: 10px; align-items: flex-start; }
.fd-add-ic { width: 30px; height: 30px; padding: 6px; border-radius: 8px; background: #fff; color: var(--ink); border: 1px solid #EBD9A8; }
@media (max-width: 640px) { .fd-qk-panels { grid-template-columns: minmax(0, 1fr); } .fd-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } .fd-kpi:last-child:nth-child(odd) { grid-column: 1 / -1; } .fd-kpi { padding: 10px 10px 8px; } .fd-kpi-v { font-size: 21px; } .fd-qk-top { margin: 0 0 6px; padding: 12px; } }
.fd-qk-next { margin-top: 16px; padding: 16px 18px; border-radius: 14px; background: var(--gold-t); border: 1px solid #EBD9A8; }
.fd-qk-next h3 { font-family: var(--serif); font-size: 20px; margin: 0 0 6px; }
.fd-qk-next ul { margin: 0 0 10px; padding-left: 20px; } .fd-qk-next .fd-sub { margin-bottom: 12px; }

@media (max-width: 920px) { .fd-hero h1 { font-size: 34px; } .fd-paths { grid-template-columns: 1fr; } .fd-steps { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .fd-qk-grid { grid-template-columns: minmax(0, 1fr); } .fd-qk-qty { grid-template-columns: minmax(0, 1fr) minmax(0, 9.5em); } .fd-qk-head { font-size: 18.5px; } }
@media (max-width: 760px) { .fd-hero img { height: 190px; } .fd-hero-text { position: static; background: var(--ink); padding: 18px 16px 52px; } .fd-paths { margin-top: -30px; } }
@media (max-width: 560px) { .fd-top, .fd-main, .fd-foot { padding-left: 16px; padding-right: 16px; } .fd-nav { width: 100%; } .fd-tlink { font-size: 12.5px; padding: 6px 9px; } .fd-card { padding: 18px 16px; } .fd-form .two { grid-template-columns: 1fr; } .fd-hero h1 { font-size: 28px; } .fd-hero p.lede { font-size: 15.5px; } }
