/* AP Desk landing page, static build.
   Carried over from the Lovable export (TanStack Start + Tailwind v4). The Tailwind
   preflight and the handful of utility classes the page used are written out by hand
   in the two layers below; everything after them is the export's own stylesheet,
   unlayered, so it still wins over base and utilities exactly as it did there. */
@layer base, utilities;

:root {
  --font-display: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
}

@layer base {
  *, ::before, ::after { box-sizing:border-box; margin:0; padding:0; border:0 solid; }
  html { line-height:1.5; -webkit-text-size-adjust:100%; }
  h1, h2, h3 { font-size:inherit; font-weight:inherit; }
  a { color:inherit; text-decoration:inherit; }
  img, svg, iframe, video { display:block; vertical-align:middle; }
  img, video { max-width:100%; height:auto; }
  button { font:inherit; color:inherit; background:transparent; cursor:pointer; }
  ol, ul { list-style:none; }
  summary { list-style:none; } summary::-webkit-details-marker { display:none; }
  [hidden] { display:none !important; }
* {border-color:var(--border);} html {scroll-behavior:smooth; scroll-padding-top:90px;} body {margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;letter-spacing:0;} h1,h2,h3 {font-family:var(--font-display);letter-spacing:-0.025em;font-weight:700;} button,a { -webkit-tap-highlight-color:transparent; } ::selection {background:var(--accent);}
}

@layer utilities {
  .container-page { margin-inline:auto; width:100%; max-width:1200px; padding-inline:32px; }
  .text-center { text-align:center; }
  .bg-secondary { background:var(--secondary); }
  .text-muted-foreground { color:var(--muted-foreground); }
  .line-through { text-decoration-line:line-through; }
  .font-normal { font-weight:400; }
  .sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
  .md-only { display:none; }
  @media (min-width:768px) { .md-only { display:block; } .md-hide { display:none !important; } }
  .icon { flex-shrink:0; }

  /* shadcn/ui Button */
  .btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; white-space:nowrap; border-radius:10px; font-size:14px; line-height:20px; font-weight:500; height:36px; padding:8px 16px; cursor:pointer; transition:color .15s, background-color .15s, border-color .15s; }
  .btn:focus-visible { outline:none; box-shadow:0 0 0 1px var(--primary); }
  .btn .btn-icon { width:16px; height:16px; pointer-events:none; }
  .btn-primary { background:var(--primary); color:var(--primary-foreground); box-shadow:0 1px 3px rgb(0 0 0 / .1); }
  .btn-primary:hover { background:color-mix(in oklab,var(--primary) 90%,transparent); }
  .btn-link { color:var(--primary); text-underline-offset:4px; }
  .btn-link:hover { text-decoration:underline; }
  .btn-icon-only { width:36px; height:36px; padding:0; }

  /* Header layout */
  .header-row { display:grid; height:72px; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; }
  .header-row > .brand-lockup { grid-column-start:1; justify-self:start; }
  .header-nav { grid-column-start:2; display:none; align-items:center; justify-self:center; gap:32px; }
  .header-actions { grid-column-start:3; display:flex; align-items:center; justify-self:end; gap:8px; }
  .portal-button { display:none; }
  @media (min-width:768px) { .header-nav { display:flex; } .portal-button { display:inline-flex; } }
  .mobile-menu[hidden] { display:none; }
  .mobile-menu .portal-button { display:inline-flex; width:100%; margin-top:16px; }
  .hero-actions { margin-top:48px; display:flex; flex-wrap:wrap; justify-content:flex-start; gap:16px; }

  /* shadcn/ui Accordion, as <details> */
  .acc-item { border-bottom:1px solid var(--border); }
  .acc-trigger { display:flex; flex:1; align-items:center; justify-content:space-between; padding-block:16px; font-size:14px; font-weight:500; cursor:pointer; text-align:left; }
  .acc-trigger:hover { text-decoration:underline; }
  .acc-trigger .acc-chevron { width:16px; height:16px; color:var(--muted-foreground); transition:transform .2s; }
  .acc-item[open] > .acc-trigger .acc-chevron { transform:rotate(180deg); }
  .acc-content { font-size:14px; padding-bottom:16px; padding-top:0; }

  /* shadcn/ui Dialog, as <dialog> */
  .demo-dialog { position:fixed; inset:0; margin:auto; width:100%; height:fit-content; max-width:32rem; display:none; flex-direction:column; gap:16px; border:1px solid var(--border); background:var(--background); color:var(--foreground); padding:24px; box-shadow:0 10px 15px -3px rgb(0 0 0 / .1); }
  .demo-dialog[open] { display:flex; }
  .demo-dialog::backdrop { background:rgb(0 0 0 / .8); }
  .dialog-header { display:flex; flex-direction:column; gap:6px; text-align:center; }
  @media (min-width:640px) { .dialog-header { text-align:left; } }
  .dialog-title { font-size:30px; line-height:36px; font-weight:600; letter-spacing:-0.025em; }
  .dialog-description { margin-top:12px; font-size:16px; line-height:1.625; color:var(--muted-foreground); }
  .dialog-close { position:absolute; right:16px; top:16px; border-radius:6px; opacity:.7; transition:opacity .15s; }
  .dialog-close:hover { opacity:1; }
  .dialog-close svg { width:16px; height:16px; }
}

:root { --background: oklch(.986 .002 247); --foreground: oklch(.24 .004 285); --primary: oklch(.623 .214 259); --primary-foreground: oklch(1 0 0); --secondary: oklch(.955 .023 245); --muted-foreground: oklch(.586 .03 256); --accent: oklch(.936 .008 247); --border: oklch(.912 .008 247); --success: oklch(.72 .19 150); --ink: oklch(0 0 0); --ink-foreground: oklch(.98 .002 247); --destructive: oklch(.58 .2 27); --xero: oklch(.65 .13 222); --radius: 1rem; --nav-link: oklch(.46 .012 285); --shadow-card: 0 1px 2px oklch(0 0 0 / .05), 0 20px 44px -22px oklch(0 0 0 / .18); --ok-green: #91CC60; --ok-green-ink: #3F7A1C; --bot-blue: oklch(.60 .16 255); --bot-teal: oklch(.66 .12 178); --bot-amber: oklch(.72 .15 68); }
.ap-page {overflow:clip;} .site-header {position:sticky;top:0;z-index:40;background:color-mix(in oklab,var(--hero-background) 72%,transparent);backdrop-filter:blur(14px) saturate(1.15);color:var(--ink);}
.brand-lockup {display:inline-flex;align-items:center;gap:11px;color:inherit;text-decoration:none;} .brand-mark {width:19px;height:19px;flex-shrink:0;background-color:currentColor;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;} .wordmark {font-family:var(--font-display);font-size:17px;line-height:1;letter-spacing:-0.035em;white-space:nowrap;} .brand-strong {font-weight:700;} .brand-light {font-weight:400;} .site-header nav a {font-size:13px;font-weight:500;color:var(--nav-link);transition:color .2s;} .site-header nav a:hover {color:var(--ink);} .site-header :is(button) {color:var(--ink);} .site-header :is(button):hover {background:color-mix(in oklab,var(--ink) 10%,transparent);color:var(--ink);} .demo-button {border-radius:999px!important;box-shadow:none!important;height:44px;padding-inline:23px;font-size:14px;font-weight:500;gap:12px;} .explore-link {height:44px;font-size:14px;} .mobile-menu {padding-block:12px 20px;} .mobile-menu a {display:flex;justify-content:space-between;padding:12px 0;}
.ap-hero {padding-block:130px 140px;position:relative;text-align:left;background:var(--background);} .hero-photo {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 70%;} .hero-copy {position:relative;padding-top:56px;} h1 {font-size:76px;line-height:1.04;font-weight:700;} 
.section-band {padding-block:100px;} h2 {font-size:48px;line-height:1.1;font-weight:700;} .kicker {font-size:14px;font-weight:600;margin-bottom:20px;} .section-heading-row {display:flex;align-items:end;justify-content:space-between;margin-bottom:45px;gap:24px;} .section-heading-row p {color:var(--muted-foreground);font-size:17px;line-height:1.5;} .section-intro {margin-bottom:56px;} .section-intro>p:last-child,.section-summary {font-size:17px;line-height:1.65;color:var(--muted-foreground);margin-top:24px;} .benefit-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:18px;} .feature-tile {background:var(--background);border-radius:0;padding:30px 25px 34px;position:relative;} .benefit-icon {margin:15px 0 36px;color:var(--primary);} .feature-tile h3 {font-size:21px;line-height:1.2;font-weight:600;margin-bottom:16px;} .feature-tile p {font-size:14px;color:var(--muted-foreground);line-height:1.7;}
.workflow-graph {margin-top:54px;} .workflow-label {display:flex;gap:9px;align-items:center;justify-content:center;font-size:12px;color:var(--muted-foreground);margin-bottom:44px;} .label-divider {height:14px;width:1px;background:var(--border);margin-inline:12px;} .workflow-track {display:grid;grid-template-columns:repeat(5,1fr);position:relative;} .workflow-track:before {content:"";position:absolute;top:42px;left:10%;right:10%;height:1px;background:var(--border);} .workflow-stage {text-align:center;position:relative;padding-inline:14px;} .stage-icon {width:84px;height:84px;border:1px solid var(--border);border-radius:24px;background:var(--background);margin:0 auto 22px;display:flex;align-items:center;justify-content:center;color:var(--primary);position:relative;} .stage-number {font-size:10px;color:var(--muted-foreground);} .workflow-stage h3 {font-size:16px;font-weight:600;margin:7px 0 9px;} .workflow-stage p {font-size:12px;line-height:1.6;color:var(--muted-foreground);} .stage-arrow {position:absolute;right:-10px;top:32px;background:var(--secondary);color:var(--muted-foreground);} .resolution-loop {margin:25px auto 0;display:flex;flex-direction:column;align-items:center;gap:14px;} .resolution-path {display:flex;align-items:center;gap:19px;border:1px solid var(--border);border-radius:20px;background:var(--background);padding:23px 28px;max-width:100%;} .resolution-path>svg {color:var(--primary);flex-shrink:0;} .resolution-path h3 {font-size:15px;font-weight:600;margin-bottom:6px;} .resolution-path p {font-size:12px;color:var(--muted-foreground);} .resolved-label {font-size:11px;color:var(--success);display:flex;align-items:center;gap:5px;padding-left:16px;white-space:nowrap;} .loop-caption {font-size:11px;text-align:center;color:var(--muted-foreground);}
.integration-logos {display:flex;justify-content:center;align-items:center;gap:55px;flex-wrap:wrap;margin:62px 0 40px;} .tool-brand {display:flex;align-items:center;gap:10px;font-weight:600;font-size:22px;} .tool-brand small {display:block;font-size:11px;font-weight:500;text-align:left;line-height:1;} .qb-symbol {background:var(--success);color:var(--primary-foreground);width:43px;height:43px;display:grid;place-items:center;border-radius:50%;font-size:26px;font-weight:500;} .xero-symbol {background:var(--xero);color:var(--primary-foreground);border-radius:50%;height:58px;width:58px;display:grid;place-items:center;font-size:20px;font-weight:400;} .excel-symbol {background:var(--success);color:var(--primary-foreground);padding:4px 10px;font-size:25px;border-radius:3px;}
.editorial-grid {display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;} .editorial-copy h2 {font-size:44px;} .editorial-copy>p:not(.kicker) {font-size:17px;line-height:1.7;color:var(--muted-foreground);margin-top:25px;} .text-link {display:inline-flex;align-items:center;gap:9px;color:var(--primary);font-size:15px;margin-top:28px;} .issue-story {background:var(--background);border-radius:22px;padding:34px;} .story-top {display:flex;justify-content:space-between;align-items:center;} .story-tag {font-size:11px;color:var(--muted-foreground);} .issue-story>h3 {font-size:43px;line-height:1.15;font-weight:600;margin:32px 0;} .story-timeline {display:grid;gap:22px;} .story-timeline>div {display:flex;gap:14px;align-items:center;} .timeline-dot {width:34px;height:34px;border:1px solid var(--border);border-radius:50%;display:grid;place-items:center;color:var(--primary);flex-shrink:0;} .story-timeline strong {display:block;font-size:13px;font-weight:500;} .story-timeline small {display:block;font-size:11px;color:var(--muted-foreground);margin-top:4px;} .story-resolved {display:flex;align-items:center;gap:9px;color:var(--success);font-size:12px;border-top:1px solid var(--secondary);padding-top:23px;margin-top:28px;}
.fraud-grid {display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:1080px;margin:0 auto;align-items:center;} .big-stat {font-size:110px;font-weight:600;line-height:1.1;color:var(--accent-coral);} .fraud-stat>p:not(.big-stat) {font-size:20px;line-height:1.4;font-weight:500;margin-top:14px;} .fraud-stat h2 {font-size:48px;line-height:1.1;margin-top:42px;}
.fraud-stat a {display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted-foreground);margin-top:27px;} .fraud-stat small {display:block;max-width:330px;font-size:10px;color:var(--muted-foreground);line-height:1.5;margin-top:10px;} .fraud-copy h3 {font-size:29px;line-height:1.2;font-weight:600;margin:20px 0;} .fraud-copy p {font-size:15px;line-height:1.7;color:var(--muted-foreground);} .fraud-copy ul {display:grid;gap:19px;margin-top:24px;} .fraud-copy li {font-size:13px;display:flex;align-items:center;gap:12px;} .fraud-copy li svg {flex-shrink:0;color:var(--primary);} .fraud-copy .fine-print {font-size:10px;margin-top:20px;} .control-grid {display:grid;grid-template-columns:1fr 1fr;gap:14px;} .control-card {background:var(--background);border-radius:16px;padding:18px 18px 20px;box-shadow:0 10px 22px rgba(16,24,32,.07), 0 2px 5px rgba(16,24,32,.05);} .control-icon {position:relative;display:inline-flex;margin-bottom:12px;} .control-icon>svg {color:var(--ink);} .control-card h3 {font-size:15px;line-height:1.25;font-weight:600;margin:0 0 7px;} .control-card p {font-size:12px;line-height:1.6;color:var(--muted-foreground);}
.capture-section {padding:100px 0 60px;} .capture-media {position:relative;border-radius:22px;overflow:hidden;} .capture-media>img {width:100%;height:530px;object-fit:cover;object-position:center;} .capture-section {background:#FFFFFF;} .capture-caption {position:absolute;bottom:30px;left:30px;display:flex;align-items:center;gap:16px;background:color-mix(in oklab,var(--ink-foreground) 74%,transparent);backdrop-filter:blur(14px) saturate(1.15);border-radius:20px;padding:20px 24px;color:var(--ink);} .capture-caption strong {font-size:14px;font-weight:600;color:var(--ink);} .capture-caption p {font-size:11px;color:color-mix(in oklab,var(--ink) 66%,transparent);margin-top:4px;} .capture-caption .capture-app-icon {width:46px;height:46px;border-radius:14px;background:#FFFFFF;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px rgba(16,24,32,.12);} .capture-caption .capture-app-icon .brand-mark {width:20px;height:20px;}  .capture-steps {display:flex;align-items:center;justify-content:center;gap:35px;margin-top:30px;font-size:12px;color:var(--muted-foreground);} .capture-steps strong {font-weight:500;color:var(--foreground);margin-left:8px;}
.experience-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:65px;} .experience-tile {padding:10px 16px;text-align:center;} .experience-tile>svg {color:var(--ink);margin:0 auto 25px;} .experience-tile h3 {font-size:18px;font-weight:600;margin-bottom:13px;} .experience-tile p {font-size:14px;line-height:1.7;color:var(--muted-foreground);} .offering-layout {display:grid;grid-template-columns:1fr 1.55fr;gap:90px;} .offering-heading {position:sticky;top:120px;align-self:start;} .offering-heading>p:not(.kicker) {font-size:16px;line-height:1.65;color:var(--muted-foreground);margin:25px 0;max-width:290px;} .offering-heading .kicker {font-size:12px;} .offer-trigger {padding:24px 0;font-size:16px;font-weight:500;gap:18px;} .offer-trigger>span {display:flex;align-items:center;gap:18px;} .offer-trigger>span>svg {color:var(--ink);flex-shrink:0;} .offer-content {padding:0 28px 24px 40px;font-size:14px;line-height:1.8;color:var(--muted-foreground);} .team-grid {display:grid;grid-template-columns:1fr 1fr;gap:45px;max-width:820px;margin:auto;} .team-grid img {width:100%;aspect-ratio:1;object-fit:cover;border-radius:22px;} .team-name {display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin:23px 0 15px;} .team-name h3 {font-size:22px;font-weight:600;} .team-meta {display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:15px;color:var(--muted-foreground);} .team-loc {display:inline-flex;align-items:center;gap:6px;} .team-loc:before {content:"";width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.45;} .team-loc>svg {color:var(--muted-foreground);} .team-grid article>p {font-size:16px;line-height:1.7;color:var(--ink);margin-bottom:12px;}  .closing-section h2 {color:var(--ink-foreground);} .closing-section p:not(.kicker) {font-size:17px;line-height:1.6;color:var(--muted-foreground);margin:25px 0 28px;} .closing-section small {display:block;color:var(--muted-foreground);font-size:11px;margin-top:23px;} .site-footer {border-top:1px solid color-mix(in oklab,var(--ink-foreground) 12%,transparent);background:var(--ink);color:var(--ink-foreground);padding:30px 0;} .site-footer>.container-page {display:flex;align-items:center;gap:25px;} .site-footer p {color:var(--ink-foreground);font-size:12px;} .site-footer small {margin-left:auto;color:color-mix(in oklab,var(--ink-foreground) 62%,transparent);font-size:11px;} .demo-dialog {border-radius:22px!important;box-shadow:none;max-width:480px;padding:36px;gap:26px;}
@media(min-width:1600px) {.hero-photo {object-fit:contain;object-position:center 70%;}}
@media(max-width:1000px) {h1 {font-size:64px;} h2 {font-size:42px;} .benefit-grid {grid-template-columns:repeat(2,1fr);} .editorial-grid {gap:40px;} .editorial-copy h2 {font-size:36px;} .fraud-grid {gap:50px;} .fraud-stat h2 {font-size:42px;} .integration-logos {gap:30px;} .offering-layout {gap:45px;} .experience-grid {grid-template-columns:repeat(2,1fr);} .ap-hero {padding-block:105px 115px;} }
@media(max-width:640px) { .container-page {padding-inline:22px;} .wordmark {font-size:15px;} .brand-mark {width:16px;height:16px;} .brand-lockup {gap:9px;} .site-header .container-page {height:64px;} .section-band {padding-block:70px;} h1 {font-size:46px;line-height:1.08;} h2 {font-size:35px;} .ap-hero {padding-block:78px 86px;} .hero-copy {padding-top:0;} .hero-photo {object-fit:cover;object-position:center bottom;} .section-heading-row {display:block;margin-bottom:30px;} .section-heading-row p {margin-top:20px;font-size:15px;} .benefit-grid {gap:12px;} .feature-tile {padding:24px 19px;border-radius:22px;} .benefit-icon {margin:12px 0 25px;} .feature-tile h3 {font-size:19px;} .feature-tile p {font-size:13px;line-height:1.6;} .section-intro {margin-bottom:35px;} .section-intro>p:last-child,.section-summary {font-size:15px;} .workflow-label {gap:6px;font-size:9px;margin-bottom:25px;flex-wrap:wrap;} .label-divider {margin-inline:3px;} .workflow-track {grid-template-columns:1fr;gap:25px;} .workflow-track:before {left:35px;top:35px;bottom:35px;right:auto;width:1px;height:auto;} .workflow-stage {display:grid;grid-template-columns:70px 1fr;text-align:left;gap:0 20px;padding:0;} .stage-icon {width:70px;height:70px;grid-row:1/4;border-radius:18px;margin:0;} .stage-number {margin-top:6px;} .workflow-stage h3 {margin:4px 0;} .stage-arrow {top:auto;bottom:-23px;left:27px;right:auto;transform:rotate(90deg);} .resolution-path {padding:20px;gap:13px;align-items:start;} .resolution-path p {line-height:1.6;} .resolved-label {display:none;} .loop-caption {line-height:1.6;} .integration-logos {gap:30px;margin:40px 0 30px;} .tool-brand {font-size:19px;} .editorial-grid {grid-template-columns:1fr;gap:35px;} .editorial-copy h2 {font-size:35px;} .editorial-copy>p:not(.kicker) {font-size:15px;} .issue-story {padding:28px;} .issue-story>h3 {font-size:40px;} .fraud-grid {grid-template-columns:1fr;gap:40px;margin-top:40px;} .fraud-stat {text-align:center;} .fraud-stat h2 {text-align:center;font-size:35px;} .big-stat {font-size:88px;} .fraud-stat>p:not(.big-stat) {font-size:19px;} .fraud-stat a {justify-content:center;} .fraud-stat small {margin:12px auto 0;} .fraud-copy {padding-top:30px;border-top:1px solid var(--border);} .control-grid {grid-template-columns:1fr;} .capture-section {padding:70px 0 40px;} .capture-media>img {height:390px;object-position:42% center;} .capture-caption {position:relative;bottom:auto;left:auto;border-radius:0;padding:20px 17px;gap:10px;} .capture-caption strong {font-size:12px;} .capture-caption p {font-size:10px;} .capture-caption .capture-app-icon {width:38px;height:38px;border-radius:11px;} .capture-caption .capture-app-icon .brand-mark {width:17px;height:17px;} .capture-steps {gap:10px;font-size:10px;} .capture-steps strong {display:block;margin:4px 0 0;line-height:1.4;} .capture-steps>svg {width:13px;} .experience-grid {gap:25px 15px;margin-top:40px;} .experience-tile {padding:0;} .experience-tile h3 {font-size:17px;} .experience-tile p {font-size:13px;} .offering-layout {grid-template-columns:1fr;gap:25px;} .offering-heading {position:static;} .offer-trigger {font-size:14px;padding:22px 0;} .offer-trigger>span {gap:13px;} .team-grid {grid-template-columns:1fr;gap:40px;} .team-name h3 {font-size:23px;} .closing-section p:not(.kicker) {font-size:15px;} .site-footer>.container-page {flex-wrap:wrap;gap:15px;} .site-footer small {font-size:10px;} .site-footer p {font-size:10px;} .demo-dialog {width:calc(100% - 32px);padding:30px;} }
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto;} *,*::before,*::after {animation:none!important;transition:none!important;}}
/* Keep the product photograph below the complete headline and controls. */
.hero-photo {inset:auto;top:105px;left:50%;transform:translateX(-50%);width:100%;height:auto;max-width:none;object-fit:contain;}
@media(max-width:640px) {.hero-photo {top:230px;width:800px;height:auto;}}

.ap-hero {background:var(--ink);color:var(--ink-foreground);}
.closing-section {background:var(--ink);color:var(--ink-foreground);} .closing-section p {color:color-mix(in oklab,var(--ink-foreground) 70%,transparent);}
.feature-tile {background:transparent;box-shadow:none;padding:0;} .issue-story {background:oklch(1 0 0);border:1px solid var(--border);}
.ap-hero .hero-photo {display:none;} .ap-hero {display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 72px);min-height:calc(100svh - 72px);} .ap-hero .hero-copy {padding-top:0;}
.ap-hero .text-muted-foreground,.closing-section .text-muted-foreground,.closing-section small {color:color-mix(in oklab,var(--ink-foreground) 72%,transparent);}
.ap-hero .explore-link {color:var(--ink-foreground);background:color-mix(in oklab,var(--ink-foreground) 16%,transparent);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--ink-foreground) 26%,transparent);border-radius:999px;padding-inline:22px;text-decoration:none;}
.ap-hero .demo-button {background:var(--ink-foreground);color:var(--ink);} .ap-hero .demo-button:hover {background:color-mix(in oklab,var(--ink-foreground) 86%,var(--ink));color:var(--ink);}
.closing-section .kicker,.closing-section p:not(.kicker) {color:color-mix(in oklab,var(--ink-foreground) 78%,transparent);} .closing-section small {font-size:12px;color:color-mix(in oklab,var(--ink-foreground) 88%,transparent);}
@media(max-width:640px) {.ap-hero {min-height:calc(100vh - 64px);min-height:calc(100svh - 64px);}}
h1 {font-size:92px;} @media(max-width:1000px) {h1 {font-size:84px;}} @media(max-width:640px) {h1 {font-size:56px;}}
/* Uploaded loading-dock diorama, isolated from the page. */
:root { --hero-background:#F5F6F7; --secondary:var(--hero-background); /* the formerly blue-tinted bands now sit on the hero colour */ }
.ap-hero { background:var(--hero-background); color:var(--foreground); padding-block:64px; }
.ap-hero .text-muted-foreground { color:var(--muted-foreground); }
.ap-hero .explore-link { color:var(--foreground); background:transparent; box-shadow:inset 0 0 0 1px var(--border); }
.ap-hero .demo-button { background:var(--ink); color:var(--ink-foreground); }
.ap-hero .demo-button:hover { background:var(--foreground); color:var(--ink-foreground); }
.offering-heading .demo-button { background:var(--ink); color:var(--ink-foreground); }
.offering-heading .demo-button:hover { background:var(--foreground); color:var(--ink-foreground); }
.hero-grid { display:grid; grid-template-columns:1fr; gap:28px; align-items:center; width:100%; }
.hero-diorama { width:100%; min-width:0; aspect-ratio:1.3; }
.hero-diorama-frame { display:block; width:100%; height:100%; border:0; background:var(--hero-background); }
/* The headline is sized so "plate." falls onto its own third line. */
.hero-grid h1 { max-width:5.6em; }
@media(min-width:1000px) {
 .hero-grid { grid-template-columns:max-content minmax(0,1fr); gap:12px; }
 .hero-grid h1 { font-size:88px; }
 .hero-diorama { aspect-ratio:1.05; }
}
@media(min-width:1400px) { .hero-grid h1 { font-size:104px; } }
@media(max-width:640px) {
 .ap-hero { padding-block:48px 24px; }
 .hero-diorama { aspect-ratio:1; }
}
/* The scene scales with its box width. It stays inside the page container so its
   right edge leaves the same visible margin as the text has on the left. */
.ap-hero { overflow-x:clip; }
@media(min-width:1000px) {
 .ap-hero { padding-block:28px; }
 .hero-diorama { aspect-ratio:auto; width:auto; height:calc(100svh - 128px); min-height:480px; margin-right:0; }
}
@media(max-width:999px) {
 .hero-diorama { width:calc(100% + 64px); margin-inline:-32px; }
}
@media(max-width:640px) {
 .hero-diorama { width:calc(100% + 44px); margin-inline:-22px; }
}
/* The phone menu shares the .container-page class with the header row, whose fixed 64px height would otherwise clip it. */
.site-header .mobile-menu { height:auto; }
/* The open phone menu needs a solid backdrop so its links never sit on top of the page content behind them. */
.site-header:has(.mobile-menu:not([hidden])) { background:var(--hero-background); }
/* The animation stage is a rounded panel: the frame clips the frame's corners so the grey stage reads as one shape. */
.workflow-frame { border-radius:20px; overflow:hidden; }
.workflow-animation { display:block; width:100%; aspect-ratio:1240 / 460; min-height:200px; border:0; border-radius:20px; }
@media(max-width:640px) { .workflow-frame, .workflow-animation { border-radius:14px; } }
/* The band is plain white; the animation inside keeps its own light stage. */
:root { --workflow-background:#FFFFFF; }
.workflow-section { background:var(--workflow-background); color:var(--ink); }
.workflow-section .section-intro>p:last-child { color:color-mix(in oklab,var(--ink) 62%,transparent); }
.workflow-section .text-muted-foreground { color:color-mix(in oklab,var(--ink) 56%,transparent); }
.workflow-heading-solid { color:var(--ink); } .heading-solid { color:var(--ink); } .hw-light { font-weight:300; } .hw-medium { font-weight:500; } .hw-bold { font-weight:700; }
/* The benefits band sits on plain white. */
:root { --benefits-background:#FFFFFF; }
.benefits-section { background:var(--benefits-background); }
/* The headline's first word is drawn as an outline: no fill, only a black stroke. */
/* "Payables" reads as a hollow letter, and the black line sits outside the letterform
   instead of eating into its openings: a stroked copy behind the word supplies the ring
   and the word itself, filled in the page colour, covers the half that would fall inside. */
.hero-outline { position:relative; display:inline-block; isolation:isolate; color:var(--hero-background); -webkit-text-stroke:0; }
.hero-outline::before { content:attr(data-text); position:absolute; inset:0; z-index:-1; color:var(--ink); -webkit-text-stroke:2px var(--ink); }
@supports not (-webkit-text-stroke:1px black) { .hero-outline { color:var(--ink); } .hero-outline::before { display:none; } }
@media(max-width:1000px) { .hero-outline::before { -webkit-text-stroke:1.6px var(--ink); } }
@media(max-width:640px) { .hero-outline::before { -webkit-text-stroke:1.2px var(--ink); } }

/* Flat benefit icons on lightly tinted rounded containers. Column order: blue, green, orange, red. */
:root { --chip-blue:#EAF0F8; --chip-green:#EDF4ED; --chip-orange:#FAF1E5; --chip-red:#F9ECEA; }
.icon-chip { position:relative; display:flex; align-items:center; justify-content:center; width:64px; height:64px; margin:12px 0 24px; background:var(--hero-background); border-radius:16px; color:var(--ink); }
@media(max-width:1000px) { .icon-chip { width:56px; height:56px; border-radius:14px; } .icon-chip svg { width:26px; height:26px; } }
@media(max-width:640px) { .icon-chip { width:48px; height:48px; border-radius:12px; margin:10px 0 18px; } .icon-chip svg { width:22px; height:22px; } }

:root { --accent-orange:#E58A2E; --accent-coral:#EE8C74; }
.strike-accent { text-decoration-color:var(--accent-orange); }
.accent-line { color:var(--accent-orange); }
.accent-coral { color:var(--accent-coral); }

/* Benefit columns sit directly on the band: no card boxes, so the gutters carry the separation */
.benefit-grid { gap:40px; }
.feature-tile { max-width:220px; }
@media(max-width:1000px) { .benefit-grid { gap:30px; } }
@media(max-width:640px) { .benefit-grid { gap:26px; } }


/* The benefits band fills one screen: the section grows to a viewport and the
   extra room lands in the gaps between heading, icon and copy. */
.benefits-section { min-height:calc(100vh - 72px); min-height:calc(100svh - 72px); display:flex; align-items:center; padding-block:72px; }
.benefits-section > .container-page { width:100%; }
.benefits-section .section-heading-row { margin-bottom:64px; }
.benefits-section .icon-chip { margin:20px 0 40px; }
.benefits-section .feature-tile h3 { margin-bottom:26px; }
.benefits-section .feature-tile p { line-height:1.8; }
@media(max-width:1000px) { .benefits-section { padding-block:90px; } .benefits-section .section-heading-row { margin-bottom:56px; } }
@media(max-width:640px) { .benefits-section { padding-block:70px; min-height:calc(100vh - 64px); min-height:calc(100svh - 64px); } .benefits-section .section-heading-row { margin-bottom:36px; } .benefits-section .icon-chip { margin:14px 0 26px; } .benefits-section .feature-tile h3 { margin-bottom:18px; } }

/* The workflow band is as tall as the benefits band above it; below tablet width it stays content-sized so the stage never turns into empty space. */
.workflow-section { min-height:calc(100vh - 72px); min-height:calc(100svh - 72px); display:flex; align-items:center; padding-block:40px; }
.workflow-section > .container-page { width:100%; }
.workflow-section .section-intro { margin-bottom:40px; }
@media(max-width:1000px) { .workflow-section { min-height:0; } }

/* "Agentic workflow" is drawn in shiny light blue: a metallic blue gradient with a slow highlight sweep. */
:root { --shine-blue:#3E93D2; --shine-blue-hi:#A8DAF6; }
.shine-blue { background-image:linear-gradient(100deg,var(--shine-blue) 0%,#7FC0EA 16%,var(--shine-blue-hi) 28%,#7FC0EA 40%,var(--shine-blue) 52%,#7FC0EA 68%,var(--shine-blue-hi) 80%,#7FC0EA 92%,var(--shine-blue) 100%); background-size:200% auto; -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; animation:shine-sweep 7s linear infinite; }
@keyframes shine-sweep { to { background-position:200% center; } }
@media(prefers-reduced-motion:reduce) { .shine-blue { animation:none; background-position:30% center; } }

/* The integrations band: plain white, logo tiles on the left, copy on the right. */
.integrations-section { background:#FFFFFF; }
.integrations-layout { display:flex; flex-direction:column; align-items:center; gap:52px; text-align:center; }
.integrations-copy { max-width:none; } .integrations-copy h2 { white-space:nowrap; } .integrations-copy .section-summary { max-width:620px; margin-inline:auto; }
.logo-grid { display:grid; grid-template-columns:repeat(9,1fr); gap:11px; width:100%; }
.logo-tile { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; aspect-ratio:1; background:#FFFFFF; border-radius:14px; box-shadow:0 10px 22px rgba(16,24,32,.07), 0 2px 5px rgba(16,24,32,.05); }
.logo-tile img { max-width:60%; max-height:32px; width:auto; height:auto; }
.logo-tile img[src$="stripe.svg"] { max-width:42%; max-height:20px; }
.logo-tile--add { gap:8px; color:var(--muted-foreground); }
.logo-tile--add span { font-size:11px; line-height:1; letter-spacing:-0.01em; color:var(--muted-foreground); }
.logo-tile--ap { background:var(--ink); }
.ap-tile-mark { width:22px; height:22px; background-color:#FFFFFF; -webkit-mask-position:center; mask-position:center; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-size:contain; mask-size:contain; }
.logo-tile--ap .ap-tile-word { font-family:var(--font-display); font-size:13px; line-height:1; letter-spacing:-0.035em; font-weight:400; color:#FFFFFF; white-space:nowrap; }
.logo-tile--ap .ap-tile-word strong { font-weight:700; }
@media(max-width:1000px) { .integrations-layout { gap:40px; } .logo-grid { gap:8px; } .logo-tile img { max-height:24px; } .logo-tile--ap .ap-tile-mark { width:18px; height:18px; } .logo-tile--ap .ap-tile-word { font-size:11px; } }
@media(max-width:640px) { .integrations-copy h2 { white-space:normal; } .logo-grid { grid-template-columns:repeat(3,1fr); gap:8px; width:280px; } .logo-tile { border-radius:11px; } .logo-tile img { max-height:22px; } .logo-tile--ap .ap-tile-mark { width:17px; height:17px; } .logo-tile--ap .ap-tile-word { font-size:11px; } }
.integrations-note { display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap; margin-top:-16px; }
.note-label { display:inline-flex; align-items:center; gap:8px; padding:7px 15px; border-radius:999px; background:color-mix(in oklab,var(--ok-green) 18%,#FFFFFF); color:var(--ok-green-ink); font-size:12px; font-weight:600; letter-spacing:.02em; }
.note-dot { width:7px; height:7px; border-radius:50%; background:var(--ok-green); }
.integrations-note p { font-size:15px; line-height:1.6; color:var(--muted-foreground); }
@media(max-width:640px) { .integrations-note { gap:10px; margin-top:-6px; } .note-label { font-size:11px; padding:6px 12px; } .integrations-note p { font-size:13px; } }
.control-card--flagged {box-shadow:0 10px 22px rgba(16,24,32,.07), 0 2px 5px rgba(16,24,32,.05), 0 0 0 1.5px var(--accent-coral);}
.control-dot {position:absolute;right:-3px;bottom:-3px;width:7px;height:7px;border-radius:50%;background:var(--accent-coral);box-shadow:0 0 0 2px var(--background);}

.video-placeholder {position:relative;display:grid;place-items:center;aspect-ratio:16/9;background:oklch(1 0 0);border-radius:22px;box-shadow:0 10px 22px rgba(16,24,32,.07),0 2px 5px rgba(16,24,32,.05);}
.video-play {width:66px;height:66px;border-radius:50%;background:var(--ink);color:var(--ink-foreground);display:grid;place-items:center;}
.video-note {position:absolute;bottom:18px;left:0;right:0;text-align:center;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground);}
@media(max-width:640px) { .editorial-grid {gap:30px;} .video-play {width:54px;height:54px;} }

.closing-section .demo-button { background:var(--ink-foreground); color:var(--ink); }
.closing-section .demo-button:hover { background:color-mix(in oklab,var(--ink-foreground) 86%,var(--ink)); color:var(--ink); }

.portal-button { border-radius:999px!important; height:40px; padding-inline:18px; font-size:13px; font-weight:500; border:1px solid color-mix(in oklab,var(--ink) 24%,transparent); background:transparent!important; color:var(--ink)!important; box-shadow:none!important; }
.portal-button:hover { border-color:var(--ink); background:transparent!important; color:var(--ink)!important; }

.icon-chip svg.hand-check { position:absolute; right:-13px; bottom:-11px; width:34px; height:34px; overflow:visible; color:var(--accent-orange); }
@media(max-width:1000px) { .icon-chip svg.hand-check { width:30px; height:30px; right:-11px; bottom:-9px; } }
@media(max-width:640px) { .icon-chip svg.hand-check { width:26px; height:26px; right:-9px; bottom:-8px; } }

/* Scroll-reveal: below-the-fold widgets drift softly into view. The transition
   lives on the pending state so it animates the moment .is-revealed lands,
   then steps aside for each element's own hover transitions. */
.reveal-ready [data-reveal] { transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1),filter .9s cubic-bezier(.22,1,.36,1); transition-delay:var(--reveal-delay,0ms); }
.reveal-ready [data-reveal]:not([data-revealed]) { opacity:0; transform:translateY(18px); filter:blur(4px); }
.reveal-ready [data-reveal][data-revealed="done"] { transition-delay:0ms; }
@media(prefers-reduced-motion:reduce) { .reveal-ready [data-reveal] { opacity:1!important; transform:none!important; filter:none!important; transition:none; } }

/* The team bar under the four value props: founders and agents as one row of
   slightly overlapping bubbles on the hero off-white. */
.team-bar {display:flex;align-items:center;width:fit-content;margin:46px auto 0;background:var(--hero-background);border:1px solid color-mix(in oklab,var(--ink) 7%,transparent);border-radius:999px;padding:10px;box-shadow:0 1px 2px oklch(0 0 0 / .04);}
.team-avatar {position:relative;width:46px;height:46px;border-radius:50%;object-fit:cover;background:var(--background);box-shadow:0 1px 4px oklch(0 0 0 / .14);transition:transform .25s cubic-bezier(.16,1,.3,1);}
.team-bar .team-avatar + .team-avatar {margin-left:-7px;}
.team-bar .team-avatar:nth-child(1) {z-index:5;} .team-bar .team-avatar:nth-child(2) {z-index:4;} .team-bar .team-avatar:nth-child(3) {z-index:3;} .team-bar .team-avatar:nth-child(4) {z-index:2;} .team-bar .team-avatar:nth-child(5) {z-index:1;}
.team-avatar:hover {transform:translateY(-3px);z-index:9;}
.team-avatar--bot {display:grid;place-items:center;}
.team-avatar--bot-1 {background:color-mix(in oklab,var(--bot-blue) 30%,white);color:var(--bot-blue);}
.team-avatar--bot-2 {background:color-mix(in oklab,var(--bot-teal) 32%,white);color:var(--bot-teal);}
.team-avatar--bot-3 {background:color-mix(in oklab,var(--bot-amber) 32%,white);color:var(--bot-amber);}
@media(max-width:640px) { .team-bar {margin-top:36px;padding:8px;} .team-avatar {width:38px;height:38px;} .team-bar .team-avatar + .team-avatar {margin-left:-5px;} }
/* The anti-fraud band sits on plain white, like the workflow and benefits bands. */
:root { --fraud-background:#FFFFFF; }
.fraud-section { background:var(--fraud-background); }
/* The transparency/experience band sits on plain white too. */
:root { --experience-background:#FFFFFF; }
#experience { background:var(--experience-background); }
/* The six anti-fraud control tiles are plain white cards, lifted off the band by their shadow. */
.fraud-section .control-card { background:#FFFFFF; }
/* FAQ band below the team section: one centred column, hairline rows, chevron toggles. */
.faq-list {max-width:760px;margin-inline:auto;border-top:1px solid var(--border);}
.faq-item {border-color:var(--border);}
.faq-trigger {padding:24px 0;font-size:17px;font-weight:500;gap:24px;}
.faq-answer {padding:0 0 24px;font-size:14px;line-height:1.8;color:var(--muted-foreground);max-width:640px;}
@media(max-width:640px) { .faq-trigger {font-size:15px;padding:20px 0;} .faq-answer {font-size:13px;} }



/* Legal notice under the footer row, and the privacy and terms pages that share this stylesheet. */
.site-footer>.footer-legal { display:block; margin-top:22px; padding-top:22px; border-top:1px solid color-mix(in oklab,var(--ink-foreground) 12%,transparent); }
.site-footer .footer-legal p { max-width:none; font-size:11px; line-height:1.65; color:color-mix(in oklab,var(--ink-foreground) 62%,transparent); }
.site-footer .footer-legal p + p { margin-top:8px; }
.footer-links { display:flex; flex-wrap:wrap; gap:20px; margin-top:16px; font-size:12px; }
.footer-links a { color:var(--ink-foreground); text-decoration:underline; text-underline-offset:3px; text-decoration-color:color-mix(in oklab,var(--ink-foreground) 40%,transparent); }
.footer-links a:hover { text-decoration-color:var(--ink-foreground); }
.legal-header .header-row { grid-template-columns:1fr auto; }
.legal-header .header-row > a:last-child { grid-column-start:2; justify-self:end; font-size:13px; font-weight:500; color:var(--nav-link); }
.legal-page { max-width:760px; padding-block:72px 96px; }
.legal-page h1 { font-size:48px; line-height:1.1; }
.legal-page .legal-meta { margin-top:16px; font-size:14px; color:var(--muted-foreground); }
.legal-page h2 { font-size:22px; line-height:1.3; font-weight:600; margin-top:40px; margin-bottom:12px; }
.legal-page p, .legal-page li { font-size:16px; line-height:1.7; color:color-mix(in oklab,var(--foreground) 88%,transparent); }
.legal-page p + p, .legal-page ul + p, .legal-page p + ul { margin-top:12px; }
.legal-page ul { list-style:disc; padding-left:22px; display:grid; gap:8px; }
.legal-page a { color:var(--primary); text-decoration:underline; text-underline-offset:3px; }
@media(max-width:640px) { .legal-page { padding-block:48px 64px; } .legal-page h1 { font-size:36px; } .legal-page p, .legal-page li { font-size:15px; } }
.site-footer>.footer-legal:first-child { margin-top:0; padding-top:0; border-top:0; }

/* Apsyde wordmark: an image in place of the old mark-plus-text lockup. */
.brand-logo { display:block; height:22px; width:auto; }
@media(max-width:640px) { .brand-logo { height:19px; } }
.logo-tile--ap .ap-tile-logo { width:66%; max-width:none; max-height:none; height:auto; }
.capture-caption .capture-app-icon .capture-app-logo { width:34px; height:auto; }
@media(max-width:640px) { .capture-caption .capture-app-icon .capture-app-logo { width:28px; } }

/* Escalation story animation, in the slot the video placeholder used. */
.escalation-frame { position:relative; aspect-ratio:16/10; border-radius:22px; overflow:hidden; background:#FFFFFF; box-shadow:0 10px 22px rgba(16,24,32,.07),0 2px 5px rgba(16,24,32,.05); }
.escalation-animation { display:block; width:100%; height:100%; border:0; }
@media(max-width:640px) { .escalation-frame { aspect-ratio:4/5; border-radius:16px; } }

/* Demo request form in the "Book a demo" popup */
.demo-form { display:grid; gap:12px; }
.demo-form .field { display:grid; gap:6px; font-size:13px; font-weight:500; color:var(--foreground); }
.demo-form input { font:inherit; font-size:15px; font-weight:400; color:var(--foreground); background:#fff; border:1px solid var(--border); border-radius:12px; padding:11px 14px; transition:border-color .15s, box-shadow .15s; }
.demo-form input:focus { outline:none; border-color:var(--ink); box-shadow:0 0 0 3px color-mix(in oklab,var(--ink) 12%,transparent); }
.demo-form .hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.demo-form .demo-button { margin-top:6px; width:100%; background:var(--ink); color:var(--ink-foreground); }
.demo-form .demo-button:hover { background:var(--foreground); }
.demo-form .demo-button:disabled { opacity:.6; cursor:default; }
.form-error { font-size:13px; color:var(--destructive); }
.form-error a, .form-note a { text-decoration:underline; text-underline-offset:2px; }
.form-note { font-size:12px; line-height:1.5; color:var(--muted-foreground); }
.demo-done { display:flex; gap:14px; align-items:center; padding:6px 0 4px; font-size:15px; line-height:1.5; }
.demo-done .done-check { flex-shrink:0; width:44px; height:44px; border-radius:50%; display:grid; place-items:center; background:color-mix(in oklab,var(--ok-green) 22%,#fff); color:var(--ok-green-ink); }
.demo-done[hidden], .demo-form[hidden] { display:none; }
.closing-section .closing-email { font-size:14px; margin-top:18px; }
.closing-section .closing-email a { color:var(--ink-foreground); text-decoration:underline; text-underline-offset:3px; text-decoration-color:color-mix(in oklab,var(--ink-foreground) 45%,transparent); }
.closing-section .closing-email a:hover { text-decoration-color:var(--ink-foreground); }
.demo-dialog .dialog-title { font-size:24px; line-height:1.25; }
/* Calendly step: the popup widens to fit the scheduler */
.demo-dialog.wide { max-width:min(760px, calc(100% - 32px)) !important; }
.calendly-frame { display:block; width:100%; height:min(660px, calc(100vh - 260px)); min-height:440px; border:0; border-radius:14px; background:var(--secondary); }
.demo-done { display:grid !important; gap:12px; }
.demo-done[hidden] { display:none !important; }
.demo-done-note { font-size:13px; line-height:1.5; color:var(--muted-foreground); }
.demo-done-note a { text-decoration:underline; text-underline-offset:2px; }
.legal-page section[id] { scroll-margin-top:90px; }

/* Header over the black closing band and footer: the bar turns black with light text and logo. */
.site-header { transition:background-color .3s ease, color .3s ease; }
.site-header .brand-logo, .site-header nav a, .site-header .portal-button { transition:filter .3s ease, color .3s ease, border-color .3s ease; }
.site-header.on-dark { background:color-mix(in oklab,var(--ink) 82%,transparent); color:var(--ink-foreground); }
.site-header.on-dark .brand-logo { filter:invert(1); }
.site-header.on-dark nav a { color:color-mix(in oklab,var(--ink-foreground) 72%,transparent); }
.site-header.on-dark nav a:hover { color:var(--ink-foreground); }
.site-header.on-dark .portal-button { color:var(--ink-foreground)!important; border-color:color-mix(in oklab,var(--ink-foreground) 40%,transparent); }
.site-header.on-dark .portal-button:hover { border-color:var(--ink-foreground); }
.site-header.on-dark :is(button) { color:var(--ink-foreground); }
.site-header.on-dark:has(.mobile-menu:not([hidden])) { background:var(--ink); }
.site-header.on-white { background:color-mix(in oklab,#FFFFFF 88%,transparent); }
