/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.table{display:table}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--paper:#faf7f5;--paper-2:#fffaf6;--ink:#332e2e;--muted:#4e4a48;--line:#e0d8d3;--orange:#ff5700;--orange-dark:#d94a00;--peach:#ffcaaf;--charcoal:#332e2e;--mid-gray:#aba5a2;--light-gray:#e0d8d3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-poppins),Arial,sans-serif;margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}.site-header{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#faf7f5eb;border-bottom:1px solid #332e2e1f;grid-template-columns:1fr auto;align-items:center;gap:32px;height:80px;padding:0 4vw;display:grid;position:sticky;top:0}.brand img{width:164px;height:auto}.site-header>.button{justify-self:end}.button{background:var(--orange);border:1px solid var(--orange);color:#fff;letter-spacing:.13em;text-transform:uppercase;justify-content:center;align-items:center;gap:16px;min-height:54px;padding:0 24px;font-size:12px;font-weight:720;transition:background .2s,transform .2s;display:inline-flex}.button:hover{background:var(--orange-dark);transform:translateY(-2px)}.button-small{min-height:44px;padding:0 18px;font-size:11px}.hero{background:radial-gradient(circle at 79% 24%,#ff570026,transparent 34%),linear-gradient(180deg,#fffaf6 0%,var(--paper) 100%);grid-template-columns:minmax(0,1.05fr) minmax(500px,.95fr);align-items:center;gap:clamp(40px,5vw,88px);min-height:calc(100vh - 80px);padding:88px 4vw 110px;display:grid;overflow:hidden}.eyebrow,.section-label{color:#5b5751;letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:11px;font-weight:700}.eyebrow{align-items:center;gap:10px;display:flex}.eyebrow span{background:var(--orange);width:7px;height:7px}.hero h1{letter-spacing:-.058em;max-width:980px;margin:28px 0 30px;font-size:clamp(56px,6.2vw,104px);font-weight:500;line-height:.96}.hero h1 em{color:var(--orange);font-style:normal;display:block}.hero-lede{max-width:690px;color:var(--muted);margin:0;font-size:clamp(17px,1.35vw,21px);line-height:1.58}.hero-actions{align-items:center;gap:34px;margin-top:36px;display:flex}.text-link{border-bottom:1px solid;align-items:center;gap:12px;padding-bottom:5px;font-size:13px;font-weight:650;display:inline-flex}.proof-row{color:#5f5b54;flex-wrap:wrap;gap:12px 26px;margin:42px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.proof-row li:before{content:"■";color:var(--orange);vertical-align:2px;margin-right:9px;font-size:7px}.hero-product{position:relative}.product-frame{background:#fff;border:1px solid #bfb7aa;position:relative;overflow:hidden;transform:perspective(1300px)rotateY(-4deg)rotateX(1.5deg);box-shadow:0 35px 80px #3a26192e}.frame-bar{background:#f8f5f0;border-bottom:1px solid #e4dfd8;align-items:center;gap:7px;height:45px;padding:0 15px;display:flex}.frame-bar>span{background:#c8c0b5;border-radius:50%;width:7px;height:7px}.frame-bar>span:first-child{background:var(--orange)}.frame-bar p{color:#69645d;font:600 10px/1 var(--font-poppins);text-transform:uppercase;letter-spacing:.1em;margin:0 0 0 12px}.product-frame>img{object-fit:cover;object-position:left top;width:100%;min-height:520px}.floating-card{background:#fffdf9f5;border:1px solid #1717151f;align-items:center;gap:12px;min-width:240px;padding:16px 18px;display:flex;position:absolute;box-shadow:0 18px 45px #2a1e1424}.floating-card strong,.floating-card small{display:block}.floating-card strong{font-size:12px}.floating-card small{color:#777168;margin-top:4px;font-size:10px}.floating-top{top:12%;right:-3%}.floating-bottom{bottom:10%;left:-5%}.status-dot{background:#e55018;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 5px #e550181f}.ai-mark{background:var(--charcoal);color:#fff;width:30px;height:30px;font:700 10px/1 var(--font-poppins);place-items:center;display:grid}.statement,.workflow,.capabilities,.fit-section,.faq{padding:120px 5vw}.statement{border-top:1px solid var(--line);background:#fffaf4}.statement>h2,.workflow h2,.capabilities h2,.control-section h2,.fit-section h2,.faq h2,.final-cta h2{letter-spacing:-.055em;margin:24px 0 0;font-size:clamp(42px,5.2vw,78px);font-weight:520;line-height:.99}.statement>h2 span{color:var(--orange)}.statement-lede{max-width:790px;color:var(--muted);margin:30px 0 0;font-size:18px;line-height:1.65}.adoption-grid{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:70px;display:grid}.adoption-grid.two-paths{grid-template-columns:repeat(2,1fr)}.adoption-card{background:#efebe4;min-height:500px;padding:clamp(30px,3vw,50px)}.adoption-card+.adoption-card{border-left:1px solid var(--line)}.compare-kicker{font:700 11px/1 var(--font-poppins);letter-spacing:.14em;text-transform:uppercase;margin:0}.path-number{color:#ffffffb3;letter-spacing:.14em;margin:0 0 28px;font-size:13px;font-weight:600}.adoption-card h3{letter-spacing:-.04em;max-width:520px;margin:90px 0 28px;font-size:clamp(28px,2.7vw,43px);font-weight:520;line-height:1.05}.adoption-card>p:last-child{color:#5e5a53;margin:0;font-size:15px;line-height:1.7}.featured-card{background:linear-gradient(135deg,var(--orange),#ff9a62);color:#fff}.featured-card .compare-kicker{color:#642207}.featured-card>p:last-child{color:#fff5ef}.connected-card{color:var(--ink);background:#fff}.connected-card .path-number{color:var(--mid-gray)}.connected-card .compare-kicker{color:var(--orange)}.connected-card>p:last-of-type{color:var(--muted)}.connected-card .path-fit{border-color:var(--line);color:var(--ink)}.path-fit{color:#fff;border-top:1px solid #ffffff59;margin-top:46px;padding-top:20px;font-size:12px;font-weight:600;display:block}.migration-note{border:1px solid var(--line);color:var(--muted);background:#fff;border-top:0;margin:0;padding:24px 30px;font-size:14px}.migration-note strong{color:var(--ink)}.workflow{background:var(--paper)}.workflow-heading{grid-template-columns:1.2fr .8fr;align-items:end;gap:10vw;display:grid}.workflow-heading>p{max-width:520px;color:var(--muted);margin:0 0 8px;font-size:17px;line-height:1.65}.workflow-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:72px;display:grid}.workflow-grid article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:310px;padding:28px;position:relative}.workflow-grid article:not(:last-child):after{content:"→";z-index:2;background:var(--orange);color:#fff;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:45px;right:-15px}.workflow-grid article>span,.capability-grid article>span{color:var(--orange);font:700 11px/1 var(--font-poppins)}.workflow-grid h3{margin:110px 0 14px;font-size:27px;font-weight:540}.workflow-grid p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.operator-note{border:1px solid var(--orange);background:linear-gradient(100deg,var(--orange),var(--peach));color:var(--ink);border-top:0;justify-content:space-between;align-items:center;gap:24px;padding:24px 30px;display:flex}.operator-note span{color:#6f2509;letter-spacing:.15em;text-transform:uppercase;font-size:11px;font-weight:700}.operator-note strong{font-size:18px;font-weight:500}.capabilities{background:#fffaf4}.capabilities-heading{max-width:840px}.capability-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:70px;display:grid}.capability-grid article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:290px;padding:30px}.capability-grid h3{letter-spacing:-.025em;margin:100px 0 14px;font-size:24px;font-weight:560}.capability-grid p{max-width:350px;color:var(--muted);margin:0;font-size:14px;line-height:1.6}.control-section{min-height:720px;color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;grid-template-columns:.9fr 1.1fr;display:grid}.control-copy{flex-direction:column;justify-content:center;padding:90px 5vw;display:flex}.section-label.light{color:var(--muted)}.control-copy>p:not(.section-label){max-width:620px;color:var(--muted);margin:32px 0;font-size:17px;line-height:1.65}.control-copy>.button{align-self:flex-start}.review-visual{background:linear-gradient(145deg,#fff8f3,var(--peach));place-items:center;padding:70px 5vw;display:grid}.real-ui-frame{background:#fff;border:1px solid #332e2e29;width:min(100%,760px);box-shadow:0 40px 90px #5a301933}.real-ui-label{border-bottom:1px solid var(--line);color:var(--ink);background:#fffaf6;justify-content:space-between;align-items:center;gap:20px;padding:16px 20px;display:flex}.real-ui-label span{letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:700}.real-ui-label strong{font-size:12px;font-weight:600}.real-ui-frame img{object-fit:cover;object-position:left top;width:100%;min-height:460px}.fit-section{background:var(--orange);color:#fff}.fit-section .section-label{color:#5c2108}.fit-grid{grid-template-columns:1.15fr .85fr;align-items:end;gap:10vw;display:grid}.fit-grid h2{max-width:850px}.fit-grid>div p{margin:0 0 28px;font-size:17px;line-height:1.65}.dark-link{color:#fff}.fit-tags{flex-wrap:wrap;gap:10px;margin-top:68px;display:flex}.fit-tags span{text-transform:uppercase;letter-spacing:.08em;border:1px solid #ffffff80;padding:13px 18px;font-size:11px;font-weight:650}.faq{background:#fffaf4;grid-template-columns:.8fr 1.2fr;gap:9vw;display:grid}.faq h2{font-size:clamp(40px,4.2vw,64px)}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;justify-content:space-between;gap:28px;padding:26px 0;font-size:17px;font-weight:570;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--orange);font-size:22px;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{max-width:720px;color:var(--muted);margin:-4px 0 28px;font-size:15px;line-height:1.7}.final-cta{text-align:center;background:var(--paper);justify-items:center;padding:140px 5vw;display:grid}.final-cta .eyebrow{justify-content:center}.final-cta h2{font-size:clamp(56px,7vw,106px)}.final-cta>p:not(.eyebrow){max-width:650px;color:var(--muted);margin:28px 0 36px;font-size:18px;line-height:1.6}footer{border-top:1px solid var(--line);background:var(--paper);grid-template-columns:1fr 1fr 1fr;align-items:end;gap:30px;padding:50px 5vw;display:grid}footer img{width:164px}footer p{color:var(--muted);text-align:center;margin:0;font-size:12px}footer span{color:var(--muted);text-align:right;font-size:11px}.mobile-cta{display:none}@media (width<=1100px){.hero{grid-template-columns:1fr}.hero-product{max-width:900px}.product-frame>img{min-height:440px}.workflow-grid{grid-template-columns:repeat(2,1fr)}.workflow-grid article:nth-child(2):after{display:none}.capability-grid{grid-template-columns:repeat(2,1fr)}.control-section{grid-template-columns:1fr}.control-copy{min-height:620px}.review-visual{min-height:640px}}@media (width<=760px){.site-header{grid-template-columns:1fr auto;height:66px;padding:0 20px}.site-header>.button{min-height:40px;padding:0 15px;display:inline-flex}.brand img{width:142px}.hero{grid-template-columns:minmax(0,1fr);gap:62px;min-height:auto;padding:64px 20px 82px}.hero h1{margin-top:24px;font-size:clamp(52px,16vw,76px)}.hero-actions{flex-direction:column;align-items:stretch;gap:22px}.hero-actions .text-link{align-self:flex-start}.proof-row{gap:12px;display:grid}.product-frame{transform:none}.product-frame>img{min-height:310px}.floating-card{display:none}.statement,.workflow,.capabilities,.fit-section,.faq{padding:84px 20px}.adoption-grid,.adoption-grid.two-paths,.workflow-heading,.fit-grid,.faq{grid-template-columns:1fr}.adoption-card{min-height:auto;padding:34px 24px 44px}.adoption-card+.adoption-card{border-left:0;border-top:1px solid var(--line)}.adoption-card h3{margin:58px 0 32px}.workflow-heading{gap:30px}.workflow-grid,.capability-grid{grid-template-columns:1fr;margin-top:52px}.workflow-grid article{min-height:240px}.workflow-grid article:after{display:none!important}.workflow-grid h3,.capability-grid h3{margin-top:70px}.capability-grid article{min-height:250px}.control-copy{min-height:auto;padding:82px 20px}.review-visual{min-height:560px;padding:50px 20px}.real-ui-frame img{min-height:330px}.operator-note{flex-direction:column;align-items:flex-start}.fit-grid{gap:32px}.faq{gap:50px}.final-cta{padding:110px 20px 130px}footer{grid-template-columns:1fr;align-items:start;padding:42px 20px 90px}footer p,footer span{text-align:left}.mobile-cta{z-index:30;background:var(--orange);color:#fff;letter-spacing:.1em;text-transform:uppercase;justify-content:center;align-items:center;gap:14px;min-height:52px;font-size:11px;font-weight:720;display:flex;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 12px 35px #0000003d}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}

/* ---------------------------------------------------------------------------
   NavLogic site overrides.
   The rules above are the original compiled stylesheet for this page, kept
   as-is so the layout and design stay identical. Below we only swap the
   typeface to the site's Inter and keep the Tailwind reset from leaking into
   the shared <site-header> / <site-footer> components.
   --------------------------------------------------------------------------- */
:root {
  --font-poppins: 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --font-sans: 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
site-header, site-footer { font-family: 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif; }
site-header *, site-footer * { box-sizing: border-box; }
site-header img, site-footer img { display: initial; max-width: none; }

/* The original page had an in-flow header, so its 88px hero padding was enough.
   The site's <site-header> is position:fixed and overlays the page (83px tall on
   desktop, 75px on mobile), which left a 5px gap on desktop and actually tucked
   the first line under the header on mobile. Clear the header, then add real
   breathing room on top. */
.hero { padding-top: clamp(140px, 12vw, 190px); }

/* ---------------------------------------------------------------------------
   Landing-page header: brand + CTA only, no site nav.
   This is a standalone campaign page, so the nav links and the mobile hamburger
   are stripped out to keep the single "Start free" path. All of it is done here
   rather than in site-header.js/css so the other 14 pages are untouched (and so
   no site-wide ?v= bump is needed). Every selector is prefixed with the
   site-header element, which outranks the component's own single-class rules —
   that matters because this stylesheet is loaded *before* site-header.css.
   --------------------------------------------------------------------------- */
site-header .nav {
  grid-template-columns: auto auto;
  justify-content: space-between;
}
site-header .nav-links,
site-header .nav-menu { display: none; }

/* The component hides .nav-actions below 760px because the CTA is normally
   folded into the hamburger menu. With no hamburger here, it has to come back. */
site-header .nav-actions { display: flex; }

@media (max-width: 760px) {
  /* Matches the button sizing the original page used in its own mobile header. */
  site-header .nav-cta {
    min-height: 40px;
    padding: 0 15px;
  }
}

/* ---------------------------------------------------------------------------
   "Start free" modal.
   Every /demo link on this page opens the HubSpot form in place instead of
   navigating away, so the visitor never leaves the landing page. The links keep
   their real hrefs, so this degrades to a normal page load without JS.
   Visibility is driven by the [hidden] attribute, which the Tailwind reset above
   already enforces with display:none !important.
   --------------------------------------------------------------------------- */
/* The embedded form reports a fixed 879px height at every width, so the card is
   allowed to grow to fit it in full — no scrollbar inside the form. When the
   card is taller than the screen, this overlay scrolls instead.
   align-items is flex-start rather than center, with margin:auto on the card
   doing the centring: centring via align-items would make an oversized card
   overflow upward past the top of the scroll area, out of reach. */
.fms-modal {
  position: fixed;
  inset: 0;
  z-index: 200; /* above the fixed .nav, which sits at 100 */
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 24px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* Fixed, not absolute: the overlay scrolls, and an absolutely-positioned
   backdrop would only cover the first screenful — click-to-close would stop
   working once scrolled down. */
.fms-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(28, 20, 14, .62);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  animation: fms-fade .18s ease both;
}

.fms-modal-card {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: min(620px, 100%);
  margin: auto; /* centres when it fits; stays reachable when it does not */
  /* The embedded form brings its own generous inner padding, so the card adds
     almost none — the close button floats over the form's empty top-right
     corner rather than reserving a band of its own. */
  padding: clamp(14px, 2.2vw, 24px);
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 40px 90px rgba(42, 30, 20, .34);
  animation: fms-rise .22s cubic-bezier(.2, .7, .3, 1) both;
}

/* Sticky rather than absolute: on a short screen the card is taller than the
   viewport, and an absolute button would scroll out of reach. The negative
   margin cancels its own height so the form still starts at the top of the
   card and the button floats over the form's empty top-right corner. */
.fms-modal-close {
  position: sticky;
  top: 12px;
  z-index: 2;
  flex: 0 0 auto;
  align-self: flex-end;
  margin-bottom: -38px;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  color: var(--muted);
  background: transparent;
  border: 1px solid var(--line);
  font-size: 21px;
  line-height: 1;
  cursor: pointer;
  transition: color .16s, background .16s, border-color .16s;
}

.fms-modal-close:hover {
  color: #fff;
  background: var(--orange);
  border-color: var(--orange);
}

/* The form is a third-party iframe of unpredictable height — let it scroll
   inside the card rather than pushing the card past the viewport. */
/* No overflow here — the form is shown at its full height and the overlay above
   does any scrolling. min-height holds the card open at a sensible size while
   the form is still loading, since the embedded iframe starts at zero height. */
.fms-modal-form {
  flex: 0 0 auto;
  min-height: min(440px, 62vh);
}

.fms-modal-status {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
}

.fms-modal-status a {
  color: var(--orange);
  border-bottom: 1px solid currentColor;
}

@media (max-width: 760px) {
  /* Full-width sheet anchored to the bottom, which is easier to reach one-handed
     and gives the form the most room. margin-top:auto does the anchoring rather
     than align-items:flex-end, so a card taller than the screen overflows
     downward into the scroll area instead of upward out of it. */
  .fms-modal { padding: 0; }
  .fms-modal-card {
    width: 100%;
    margin: auto 0 0;
    padding: 12px 8px 10px;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
  }
}

@keyframes fms-fade {
  from { opacity: 0 }
  to { opacity: 1 }
}

@keyframes fms-rise {
  from { opacity: 0; transform: translateY(14px) }
  to { opacity: 1; transform: none }
}

@media (prefers-reduced-motion: reduce) {
  .fms-modal-backdrop,
  .fms-modal-card { animation: none }
}
