/* Speqtus API Integration & Automation Widget — stylesheet scoped to .htel-api-widget.sq. Source: api-integration-automation.html (design source of truth).
   Every rule of the source stylesheet is kept (same .sq-* class names, same values); selectors are prefixed with the widget wrapper,
   keyframes are namespaced (htelsq*), body/standalone rules were moved onto the wrapper, and the logo, promo bar and breadcrumb
   gained variable hooks so Elementor controls can drive them without !important. */

/* ===== widget wrapper (reset against theme / Elementor inheritance) ===== */
.htel-api-widget.sq{ font-style:normal; letter-spacing:normal; word-spacing:normal; text-transform:none; text-align:start; text-indent:0; text-shadow:none; white-space:normal; width:100%; max-width:none; margin:0; }
.htel-api-widget.sq.htel-fullbleed{ width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); }
.htel-api-widget.sq [id]{ scroll-margin-top:96px; }
/* Theme / Elementor-kit colour guard (specificity deliberately LOWER than every source colour rule). */
.htel-api-widget.sq h1,.htel-api-widget.sq h2,.htel-api-widget.sq h3,.htel-api-widget.sq h4,.htel-api-widget.sq p,.htel-api-widget.sq li,.htel-api-widget.sq span,.htel-api-widget.sq button{ color:inherit; }
/* ===== source stylesheet ===== */
/* =====================================================================
   API INTEGRATION AND AUTOMATION PAGE — all rules are scoped under .htel-api-widget.sq so they cannot
   clash with a host site. Tokens mirror HOME.html / about.html.
   ===================================================================== */
/* standalone-page reset; remove if embedded */
.htel-api-widget.sq{
  --ink:#0C0C0E; --ink-elevated:#1B1B1E; --crimson:#E21F36; --crimson-2:#FF4757; --maroon:#82112B;
  --paper:#FBF8F6; --paper-dim:#F1EBE8; --slate:#6A6367; --slate-light:#A79FA3;
  --line-on-paper:rgba(12,12,14,0.10); --line-on-ink:rgba(249,245,247,0.12);
  --glass-ink:rgba(255,255,255,0.045); --glass-ink-brd:rgba(255,255,255,0.09);
  --shadow-ink:0 30px 60px -25px rgba(20,1,7,0.55); --shadow-soft:0 20px 40px -28px rgba(42,2,14,0.35);
  --font-display:'Bricolage Grotesque','Segoe UI',system-ui,sans-serif;
  --font-body:'Plus Jakarta Sans','Segoe UI',system-ui,sans-serif;
  --font-mono:'JetBrains Mono','Courier New',monospace;
  --fs-h1:clamp(2.4rem,1.5rem + 3.7vw,4.5rem); --fs-h2:clamp(1.9rem,1.5rem + 1.7vw,2.9rem);
  --fs-h3:clamp(1.2rem,1.08rem + 0.5vw,1.4rem); --fs-lead:clamp(1.05rem,0.98rem + 0.3vw,1.2rem);
  --container:1600px; --radius-lg:22px; --radius-md:14px; --radius-sm:9px; --ease:cubic-bezier(.16,.84,.44,1);
  font-family:var(--font-body); background:var(--paper); color:var(--ink); font-size:var(--base-fs,16px); line-height:var(--base-lh,1.6); font-weight:var(--fw-body,400);
  -webkit-font-smoothing:antialiased; overflow-x:clip; position:relative;
}
.htel-api-widget.sq *, .htel-api-widget.sq *::before, .htel-api-widget.sq *::after{ box-sizing:border-box; }
.htel-api-widget.sq img{ max-width:100%; display:block; }
.htel-api-widget.sq a{ color:inherit; text-decoration:none; }
.htel-api-widget.sq ul, .htel-api-widget.sq ol{ list-style:none; margin:0; padding:0; }
.htel-api-widget.sq button{ font:inherit; color:inherit; background:none; border:none; cursor:pointer; }
.htel-api-widget.sq h1,
.htel-api-widget.sq h2,
.htel-api-widget.sq h3,
.htel-api-widget.sq h4{ font-family:var(--font-display); margin:0; line-height:1.1; letter-spacing:var(--heading-ls,-0.01em); font-weight:var(--fw-display,700); }
.htel-api-widget.sq p{ margin:0; }
.htel-api-widget.sq svg{ display:block; }
.htel-api-widget.sq :focus-visible{ outline:2px solid var(--crimson); outline-offset:3px; border-radius:4px; }
.htel-api-widget.sq .on-ink :focus-visible,
.htel-api-widget.sq .sq-nav :focus-visible,
.htel-api-widget.sq .sq-footer :focus-visible,
.htel-api-widget.sq .sq-mobile :focus-visible{ outline-color:var(--crimson-2); }
.htel-api-widget.sq .sq-container{ max-width:var(--container); margin-inline:auto; padding-inline:clamp(1.25rem,5vw,4.5rem); }
.htel-api-widget.sq .sq-section{ padding-block:clamp(4.5rem,8vw,7.5rem); position:relative; }
.htel-api-widget.sq .sq-ink{ background:var(--ink); color:var(--paper); }
.htel-api-widget.sq .sq-dim{ background:var(--paper-dim); }
.htel-api-widget.sq .sq-eyebrow{ display:inline-flex; align-items:center; gap:.55rem; font-family:var(--font-mono); font-size:.78rem; letter-spacing:.04em; color:#C5162B; margin-bottom:1.1rem; }
.htel-api-widget.sq .sq-ink .sq-eyebrow{ color:var(--crimson-2); }
.htel-api-widget.sq .sq-eyebrow::before{ content:''; width:16px; height:1px; background:currentColor; opacity:.6; }
.htel-api-widget.sq .sq-head h2{ font-size:var(--fs-h2); }
.htel-api-widget.sq .sq-head p{ margin-top:1rem; font-size:var(--fs-lead); color:var(--slate); max-width:56ch; }
.htel-api-widget.sq .sq-ink .sq-head p{ color:var(--slate-light); }
.htel-api-widget.sq .sq-skip{ position:absolute; left:1rem; top:-60px; background:var(--ink); color:var(--paper); padding:.75rem 1.25rem; border-radius:8px; z-index:999; transition:top .2s var(--ease); }
.htel-api-widget.sq .sq-skip:focus{ top:1rem; }
/* buttons */
.htel-api-widget.sq .sq-btn{ display:inline-flex; align-items:center; gap:.6rem; font-weight:600; font-size:.95rem; padding:.95rem 1.6rem; border-radius:100px; white-space:nowrap; transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .25s ease, color .25s ease; }
.htel-api-widget.sq .sq-btn svg{ width:16px; height:16px; transition:transform .3s var(--ease); }
.htel-api-widget.sq .sq-btn:hover svg{ transform:translateX(3px); }
.htel-api-widget.sq .sq-btn--primary{ background:linear-gradient(135deg,var(--crimson),var(--maroon)); color:#fff; box-shadow:0 16px 32px -14px rgba(226,31,54,.55); }
.htel-api-widget.sq .sq-btn--primary:hover{ transform:translateY(-2px); box-shadow:0 22px 40px -14px rgba(226,31,54,.65); }
.htel-api-widget.sq .sq-btn--ghost{ border:1.5px solid var(--line-on-paper); color:var(--ink); }
.htel-api-widget.sq .sq-btn--ghost:hover{ border-color:var(--crimson); color:#C5162B; }
.htel-api-widget.sq .on-ink .sq-btn--ghost{ border-color:var(--line-on-ink); color:var(--paper); }
.htel-api-widget.sq .on-ink .sq-btn--ghost:hover{ border-color:var(--crimson-2); color:var(--crimson-2); }
/* ---------------- NAV (same behaviour as reference pages) ---------------- */
.htel-api-widget.sq .sq-nav{ position:fixed; top:0; left:0; right:0; z-index:200; padding-block:var(--sq-nav-pad,1.1rem); background:var(--sq-nav-bg,transparent); border-bottom:1px solid transparent; transition:padding-block .4s var(--ease), background .4s ease, box-shadow .4s ease, border-color .4s ease; }
.htel-api-widget.sq .sq-nav__inner{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.htel-api-widget.sq .sq-nav.is-scrolled{ padding-block:var(--sq-nav-pad-s,.6rem); background:var(--sq-nav-bg-s,rgba(12,12,14,.88)); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); box-shadow:0 12px 30px -18px rgba(0,0,0,.65); border-bottom-color:rgba(255,255,255,.08); }
.htel-api-widget.sq .sq-nav__logo{ display:flex; align-items:center; background:var(--sq-logo-bg,var(--paper)); padding:var(--sq-logo-pad,.4rem .8rem); border-radius:var(--sq-logo-radius,11px); }
.htel-api-widget.sq .sq-nav__logo img{ width:var(--sq-logo-w,60px); height:auto; max-width:none; flex-shrink:0; transition:width .3s var(--ease); }
.htel-api-widget.sq .sq-nav.is-scrolled .sq-nav__logo img{ width:calc(var(--sq-logo-w,60px) * .8333); }
.htel-api-widget.sq .sq-nav__links{ display:none; align-items:center; gap:2.1rem; font-size:var(--sq-nav-fs,.92rem); font-weight:600; color:var(--sq-nav-link,var(--paper)); }
.htel-api-widget.sq .sq-nav__links a{ position:relative; padding-block:.3rem; }
.htel-api-widget.sq .sq-nav__links a::after{ content:''; position:absolute; left:0; bottom:0; width:0; height:2px; background:var(--crimson-2); transition:width .3s var(--ease); }
.htel-api-widget.sq .sq-nav__links a:hover::after, .htel-api-widget.sq .sq-nav__links a[aria-current]::after{ width:100%; }
.htel-api-widget.sq .sq-nav__cta{ display:none; }
.htel-api-widget.sq .sq-nav__toggle{ display:flex; flex-direction:column; gap:5px; padding:.6rem; z-index:210; }
.htel-api-widget.sq .sq-nav__toggle span{ width:22px; height:2px; background:var(--paper); border-radius:2px; transition:all .3s var(--ease); }
.htel-api-widget.sq .sq-nav__toggle.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.htel-api-widget.sq .sq-nav__toggle.is-open span:nth-child(2){ opacity:0; }
.htel-api-widget.sq .sq-nav__toggle.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
@media (min-width:980px){.htel-api-widget.sq .sq-nav__links{ display:flex; }
.htel-api-widget.sq .sq-nav__cta{ display:inline-flex; }
.htel-api-widget.sq .sq-nav__toggle{ display:none; }}
.htel-api-widget.sq .sq-mobile{ position:fixed; inset:0; background:var(--sq-mobile-bg,var(--ink)); z-index:190; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2rem; transform:translateY(-100%); visibility:hidden; transition:transform .4s var(--ease), visibility 0s .4s; }
.htel-api-widget.sq .sq-mobile.is-open{ transform:none; visibility:visible; transition:transform .4s var(--ease); }
.htel-api-widget.sq .sq-mobile a:not(.sq-btn){ font-family:var(--font-display); font-size:var(--sq-mobile-fs,1.7rem); color:var(--sq-mobile-link,var(--paper)); font-weight:600; }
/* ---------------- HERO ---------------- */
.htel-api-widget.sq .sq-hero{ position:relative; padding-top:clamp(8rem,14vw,10.5rem); padding-bottom:clamp(3.5rem,7vw,5.5rem); background:var(--ink); color:var(--paper); overflow:hidden; }
.htel-api-widget.sq .sq-hero__grid{ position:absolute; inset:-2px; opacity:.4; background-image:linear-gradient(var(--line-on-ink) 1px,transparent 1px),linear-gradient(90deg,var(--line-on-ink) 1px,transparent 1px); background-size:56px 56px; -webkit-mask-image:radial-gradient(ellipse 75% 60% at 75% 25%,#000 25%,transparent 78%); mask-image:radial-gradient(ellipse 75% 60% at 75% 25%,#000 25%,transparent 78%); }
.htel-api-widget.sq .sq-hero__glow{ position:absolute; width:520px; height:520px; top:-170px; right:-150px; border-radius:50%; filter:blur(100px); background:radial-gradient(circle,rgba(226,31,54,.36),transparent 70%); pointer-events:none; }
.htel-api-widget.sq .sq-hero__inner{ position:relative; z-index:1; display:grid; gap:clamp(2.5rem,5vw,3.5rem); grid-template-columns:minmax(0,1fr); align-items:center; }
@media (min-width:980px){.htel-api-widget.sq .sq-hero__inner{ grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); }}
.htel-api-widget.sq .sq-crumbs{ font-family:var(--font-mono); font-size:.74rem; color:var(--slate-light); margin-bottom:1.4rem; }
.htel-api-widget.sq .sq-crumbs ol{ display:flex; flex-wrap:wrap; gap:.4rem; }
.htel-api-widget.sq .sq-crumbs li+li::before{ content:var(--sq-crumb-sep,'/'); margin-right:.4rem; opacity:.5; }
.htel-api-widget.sq .sq-crumbs a:hover{ color:var(--crimson-2); }
.htel-api-widget.sq .sq-hero h1{ font-size:var(--fs-h1); max-width:19ch; }
.htel-api-widget.sq .sq-hero h1 em{ font-style:normal; display:block; background:linear-gradient(120deg,var(--crimson-2),var(--crimson) 65%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.htel-api-widget.sq .sq-hero .sq-lead{ margin-top:1.5rem; font-size:var(--fs-lead); color:var(--slate-light); max-width:54ch; }
.htel-api-widget.sq .sq-hero__actions{ display:flex; flex-wrap:wrap; gap:1rem; margin-top:2.2rem; }
.htel-api-widget.sq .sq-hero__notes{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:2rem; }
.htel-api-widget.sq .sq-chip{ display:inline-flex; align-items:center; gap:.5rem; font-family:var(--font-mono); font-size:.74rem; background:var(--glass-ink); border:1px solid var(--line-on-ink); color:var(--slate-light); padding:.45rem .85rem; border-radius:100px; }
.htel-api-widget.sq .sq-chip i{ width:6px; height:6px; border-radius:50%; background:var(--crimson-2); box-shadow:0 0 10px var(--crimson-2); }
/* ---------------- PROCESS ---------------- */
.htel-api-widget.sq .sq-steps{ counter-reset:step; display:grid; gap:0; grid-template-columns:minmax(0,1fr); position:relative; }
.htel-api-widget.sq .sq-step{ position:relative; padding:0 0 2.2rem 3.4rem; counter-increment:step; }
.htel-api-widget.sq .sq-step::before{ content:counter(step,decimal-leading-zero); position:absolute; left:0; top:0; width:40px; height:40px; border-radius:50%; background:var(--paper); border:1.5px solid var(--crimson); color:#C5162B; font-family:var(--font-mono); font-size:.78rem; display:grid; place-items:center; z-index:1; transition:background .3s ease,color .3s ease; }
.htel-api-widget.sq .sq-step::after{ content:''; position:absolute; left:19.5px; top:44px; bottom:4px; width:1px; background:var(--line-on-paper); }
.htel-api-widget.sq .sq-step:last-child{ padding-bottom:0; }
.htel-api-widget.sq .sq-step:last-child::after{ display:none; }
.htel-api-widget.sq .sq-step:hover::before{ background:var(--crimson); color:#fff; }
.htel-api-widget.sq .sq-step h3{ font-size:var(--fs-h3); padding-top:.45rem; }
.htel-api-widget.sq .sq-step p{ margin-top:.5rem; color:var(--slate); max-width:56ch; font-size:.95rem; }
@media (min-width:980px){.htel-api-widget.sq .sq-steps{ grid-template-columns:repeat(var(--sq-steps,5),minmax(0,1fr)); gap:1.4rem; }
.htel-api-widget.sq .sq-step{ padding:4rem 0 0 0; }
.htel-api-widget.sq .sq-step::before{ top:0; }
.htel-api-widget.sq .sq-step::after{ left:48px; right:-1.4rem; top:19.5px; bottom:auto; width:auto; height:1px; display:block; }
.htel-api-widget.sq .sq-step:last-child::after{ display:none; }
.htel-api-widget.sq .sq-step h3{ padding-top:0; }}
/* ---------------- FAQ ---------------- */
.htel-api-widget.sq .sq-faq{ max-width:860px; margin-inline:auto; border-top:1px solid var(--line-on-paper); }
.htel-api-widget.sq .sq-faq__item{ border-bottom:1px solid var(--line-on-paper); }
.htel-api-widget.sq .sq-faq__q{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.35rem .2rem; text-align:left; font-family:var(--font-display); font-weight:600; font-size:clamp(1.05rem,1rem + .35vw,1.25rem); }
.htel-api-widget.sq .sq-faq__q:hover{ color:#C5162B; }
.htel-api-widget.sq .sq-faq__icon{ position:relative; width:30px; height:30px; flex-shrink:0; border-radius:50%; border:1.5px solid var(--line-on-paper); transition:background .25s ease,border-color .25s ease; }
.htel-api-widget.sq .sq-faq__icon::before, .htel-api-widget.sq .sq-faq__icon::after{ content:''; position:absolute; left:50%; top:50%; width:11px; height:1.8px; background:currentColor; transform:translate(-50%,-50%); transition:transform .3s var(--ease); }
.htel-api-widget.sq .sq-faq__icon::after{ transform:translate(-50%,-50%) rotate(90deg); }
.htel-api-widget.sq .sq-faq__q[aria-expanded="true"] .sq-faq__icon{ background:var(--crimson); border-color:var(--crimson); color:#fff; }
.htel-api-widget.sq .sq-faq__q[aria-expanded="true"] .sq-faq__icon::after{ transform:translate(-50%,-50%) rotate(0); }
.htel-api-widget.sq .sq-faq__a{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .3s var(--ease); }
.htel-api-widget.sq .sq-faq__a.is-open{ grid-template-rows:1fr; }
.htel-api-widget.sq .sq-faq__a > div{ overflow:hidden; }
.htel-api-widget.sq .sq-faq__a p{ padding:0 .2rem 1.5rem; color:var(--slate); max-width:68ch; }
/* ---------------- CTA ---------------- */
.htel-api-widget.sq .sq-cta{ text-align:center; position:relative; overflow:hidden; }
.htel-api-widget.sq .sq-cta .sq-container{ position:relative; z-index:1; max-width:760px; }
.htel-api-widget.sq .sq-cta__glow{ position:absolute; top:50%; left:50%; width:640px; height:640px; transform:translate(-50%,-50%); border-radius:50%; filter:blur(140px); background:radial-gradient(circle,rgba(226,31,54,.24),transparent 70%); pointer-events:none; }
.htel-api-widget.sq .sq-cta h2{ font-size:var(--fs-h2); color:#fff; }
.htel-api-widget.sq .sq-cta p{ margin-top:1.2rem; color:var(--slate-light); font-size:var(--fs-lead); }
.htel-api-widget.sq .sq-cta__actions{ margin-top:2.2rem; display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
.htel-api-widget.sq .sq-cta .sq-btn--primary{ padding:1.1rem 2.1rem; font-size:1rem; }
.htel-api-widget.sq .sq-cta__list{ margin-top:2.2rem; display:flex; gap:.6rem; justify-content:center; flex-wrap:wrap; }
/* ---------------- FOOTER ---------------- */
.htel-api-widget.sq .sq-footer{ background:var(--ink); color:var(--slate-light); padding-block:4rem 2rem; border-top:1px solid var(--line-on-ink); }
.htel-api-widget.sq .sq-footer__top{ display:grid; gap:2.5rem; grid-template-columns:minmax(0,1fr); margin-bottom:2.5rem; }
@media (min-width:900px){.htel-api-widget.sq .sq-footer__top{ grid-template-columns:1.2fr 2fr; }}
.htel-api-widget.sq .sq-footer__brand .sq-logo-chip{ display:inline-flex; background:var(--sq-logo-bg,var(--paper)); padding:var(--sq-flogo-pad,.55rem .9rem); border-radius:var(--sq-flogo-radius,10px); margin-bottom:1.2rem; }
.htel-api-widget.sq .sq-footer__brand .sq-logo-chip img{ width:var(--sq-flogo-w,50px); height:auto; max-width:none; flex-shrink:0; }
.htel-api-widget.sq .sq-footer__brand p{ max-width:38ch; font-size:.9rem; line-height:1.7; }
.htel-api-widget.sq .sq-footer__cols{ display:grid; gap:2rem; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); }
.htel-api-widget.sq .sq-footer h4{ font-family:var(--font-mono); font-size:.75rem; letter-spacing:.05em; text-transform:uppercase; color:#fff; margin-bottom:1rem; }
.htel-api-widget.sq .sq-footer ul{ display:flex; flex-direction:column; gap:.7rem; font-size:.9rem; }
.htel-api-widget.sq .sq-footer a:hover{ color:var(--crimson-2); }
.htel-api-widget.sq .sq-footer__bottom{ padding-top:1.8rem; border-top:1px solid var(--line-on-ink); display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; font-size:.8rem; }
/* ---------------- motion ---------------- */
@media (prefers-reduced-motion:reduce){.htel-api-widget.sq *, .htel-api-widget.sq *::before, .htel-api-widget.sq *::after{ animation:none !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }}
@media (max-width:420px){.htel-api-widget.sq .sq-btn{ white-space:normal; }}
/* ---- promo bar (dismissible) ---- */
.htel-api-widget.sq .sq-promo{ position:fixed; top:0; left:0; right:0; z-index:260; background:linear-gradient(90deg,var(--sq-promo-a,var(--maroon)),var(--sq-promo-b,var(--crimson))); color:var(--sq-promo-color,#fff); }
.htel-api-widget.sq .sq-promo.is-hidden{ display:none; }
.htel-api-widget.sq .sq-promo__inner{ display:flex; align-items:center; justify-content:center; gap:1.25rem; padding:var(--sq-promo-py,.6rem) var(--sq-promo-px,clamp(1.25rem,4vw,2.5rem)); flex-wrap:wrap; text-align:center; font-size:var(--sq-promo-fs,.82rem); }
.htel-api-widget.sq .sq-promo__cta{ font-weight:700; text-decoration:underline; text-underline-offset:3px; white-space:nowrap; }
.htel-api-widget.sq .sq-promo__close{ display:flex; align-items:center; justify-content:center; width:28px; height:28px; opacity:.85; flex-shrink:0; }
.htel-api-widget.sq .sq-promo__close:hover{ opacity:1; }
.htel-api-widget.sq .sq-promo__close svg{ width:14px; height:14px; }
.htel-api-widget.sq .sq-promo :focus-visible{ outline-color:#fff; }
.htel-api-widget.sq .sq-hero{ padding-top:calc(clamp(8rem,14vw,10.5rem) + var(--sq-bar-h,0px)); }
/* ---------- hero: device composition ---------- */
.htel-api-widget.sq .sq-stage{ position:relative; width:100%; max-width:600px; margin:0 auto; padding-bottom:3.6rem; }
.htel-api-widget.sq .sq-pill{ position:absolute; top:-1rem; right:1rem; display:inline-flex; align-items:center; gap:.5rem; font-family:var(--font-mono); font-size:.68rem; color:#fff; background:rgba(12,12,14,.88); border:1px solid rgba(255,71,87,.45); border-radius:100px; padding:.35rem .8rem; z-index:2; }
.htel-api-widget.sq .sq-pill i{ width:6px; height:6px; border-radius:50%; background:var(--crimson-2); box-shadow:0 0 10px var(--crimson-2); }
.htel-api-widget.sq .sq-stage__cap{ position:absolute; left:0; right:0; bottom:0; text-align:center; font-family:var(--font-mono); font-size:.68rem; color:var(--slate-light); }
/* ---------- approach tabs extras ---------- */
.htel-api-widget.sq .wp-tick{ display:grid; gap:0 3rem; grid-template-columns:minmax(0,1fr); border-top:1px solid var(--line-on-paper); }
@media (min-width:860px){.htel-api-widget.sq .wp-tick{ grid-template-columns:1fr 1fr; }}
.htel-api-widget.sq .wp-tick li{ display:grid; grid-template-columns:auto 1fr; gap:.9rem; padding-block:1.1rem; border-bottom:1px solid var(--line-on-paper); }
.htel-api-widget.sq .wp-tick__i{ width:22px; height:22px; color:#C5162B; margin-top:.15rem; }
.htel-api-widget.sq .wp-tick__i svg{ width:20px; height:20px; }
.htel-api-widget.sq .wp-tick h3{ font-size:1.05rem; }
.htel-api-widget.sq .wp-tick p{ margin-top:.25rem; font-size:.9rem; color:var(--slate); }
/* ---------- why ---------- */
.htel-api-widget.sq .ai-why{ display:grid; gap:1rem; grid-template-columns:minmax(0,1fr); counter-reset:w; }
@media (min-width:700px){.htel-api-widget.sq .ai-why{ grid-template-columns:1fr 1fr; }}
@media (min-width:1100px){.htel-api-widget.sq .ai-why{ grid-template-columns:repeat(3,minmax(0,1fr)); }}
.htel-api-widget.sq .ai-why li{ counter-increment:w; background:#fff; border:1px solid var(--line-on-paper); border-radius:var(--radius-lg); padding:1.5rem 1.4rem; position:relative; overflow:hidden; }
.htel-api-widget.sq .ai-why li::before{ content:counter(w); position:absolute; right:.9rem; top:-.6rem; font-family:var(--font-display); font-weight:800; font-size:5rem; line-height:1; color:rgba(226,31,54,.08); }
.htel-api-widget.sq .ai-why h3{ font-size:1.15rem; position:relative; }
.htel-api-widget.sq .ai-why p{ margin-top:.55rem; color:var(--slate); font-size:.93rem; position:relative; }
/* =====================================================================
   API INTEGRATION & AUTOMATION PAGE — additions (scoped to .htel-api-widget.sq)
   ===================================================================== */
.htel-api-widget.sq .sq-hero h1{ max-width:16ch; font-size:clamp(2.1rem,1.2rem + 3vw,3.5rem); }
.htel-api-widget.sq .ai-head{ max-width:820px; margin-bottom:clamp(2rem,4vw,3rem); }
.htel-api-widget.sq .ai-pill{ display:inline-block; font-family:var(--font-mono); font-size:.52rem; border-radius:100px; padding:.14rem .55rem; width:max-content; border:1px solid var(--line-on-paper); color:var(--slate); background:var(--paper); white-space:nowrap; }
.htel-api-widget.sq .ai-pill.ok{ color:#17794a; border-color:rgba(23,121,74,.38); background:rgba(23,121,74,.09); }
.htel-api-widget.sq .ai-pill.wa{ color:#a8610a; border-color:rgba(168,97,10,.38); background:rgba(168,97,10,.09); }
.htel-api-widget.sq .ai-pill.er{ color:#C5162B; border-color:rgba(197,22,43,.4); background:rgba(197,22,43,.09); }
/* ---------- hero: integration map ---------- */
.htel-api-widget.sq .ai-stage{ position:relative; width:100%; max-width:640px; margin:0 auto; padding-bottom:3.4rem; }
.htel-api-widget.sq .ai-stage .sq-pill{ top:-.6rem; z-index:5; }
.htel-api-widget.sq .ai-map{ position:relative; width:100%; aspect-ratio:1/.74; background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015)); border:1px solid var(--glass-ink-brd); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-ink); background-image:linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:28px 28px; }
.htel-api-widget.sq .ai-lines{ position:absolute; inset:0; width:100%; height:100%; }
.htel-api-widget.sq .ai-ln{ fill:none; stroke:rgba(242,57,75,.7); stroke-width:1.6; stroke-dasharray:3 4; vector-effect:non-scaling-stroke; animation:htelApiLn 1.4s linear infinite; }
.htel-api-widget.sq .ai-ln.mu{ stroke:rgba(255,255,255,.25); }
.htel-api-widget.sq .ai-ln.er{ stroke:rgba(245,170,70,.75); }
@keyframes htelApiLn{ to{ stroke-dashoffset:-14; } }
@media (prefers-reduced-motion:reduce){.htel-api-widget.sq .ai-ln{ animation:none; }}
.htel-api-widget.sq .ai-nd{ position:absolute; width:27%; background:rgba(20,20,24,.96); border:1px solid var(--glass-ink-brd); border-radius:12px; padding:.5rem .6rem; display:grid; gap:.2rem; transform:translateY(-50%); z-index:2; }
.htel-api-widget.sq .ai-nd small{ font-family:var(--font-mono); font-size:.5rem; color:var(--slate-light); }
.htel-api-widget.sq .ai-nd b{ font-family:var(--font-display); font-size:.85rem; line-height:1.1; color:#fff; }
.htel-api-widget.sq .ai-nd.l{ left:3%; }
.htel-api-widget.sq .ai-nd.r{ right:3%; }
.htel-api-widget.sq .ai-nd.y1{ top:20%; }
.htel-api-widget.sq .ai-nd.y2{ top:50%; }
.htel-api-widget.sq .ai-nd.y3{ top:80%; }
.htel-api-widget.sq .ai-nd .ai-pill{ background:transparent; }
.htel-api-widget.sq .ai-hubc{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:25%; min-width:118px; background:linear-gradient(135deg,var(--crimson),var(--maroon)); border-radius:16px; padding:.7rem .7rem .75rem; z-index:3; box-shadow:0 0 0 6px rgba(226,31,54,.14),0 22px 40px -18px rgba(130,17,43,.9); color:#fff; display:grid; gap:.3rem; text-align:center; }
.htel-api-widget.sq .ai-hubc b{ font-family:var(--font-display); font-size:.82rem; line-height:1.1; }
.htel-api-widget.sq .ai-hubc span{ font-family:var(--font-mono); font-size:.46rem; background:rgba(0,0,0,.22); border-radius:100px; padding:.12rem .4rem; }
.htel-api-widget.sq .ai-wf{ display:flex; flex-wrap:wrap; align-items:center; gap:.35rem; margin-top:.9rem; background:rgba(20,20,24,.9); border:1px solid var(--glass-ink-brd); border-radius:var(--radius-md); padding:.65rem .75rem; }
.htel-api-widget.sq .ai-wf span{ font-family:var(--font-mono); font-size:.58rem; color:#E7E1E4; border:1px solid var(--line-on-ink); border-radius:8px; padding:.28rem .5rem; }
.htel-api-widget.sq .ai-wf span b{ color:var(--crimson-2); font-weight:500; margin-right:.3rem; }
.htel-api-widget.sq .ai-wf em{ width:12px; height:1.5px; background:var(--slate-light); flex:none; }
.htel-api-widget.sq .ai-stage .sq-stage__cap{ bottom:0; }
@media (max-width:620px){.htel-api-widget.sq .ai-map{ aspect-ratio:1/.95; }
.htel-api-widget.sq .ai-nd{ width:30%; padding:.4rem .45rem; }
.htel-api-widget.sq .ai-nd small{ display:none; }
.htel-api-widget.sq .ai-nd b{ font-size:.72rem; }
.htel-api-widget.sq .ai-hubc{ min-width:96px; width:28%; }
.htel-api-widget.sq .ai-wf{ display:none; }
.htel-api-widget.sq .ai-stage{ padding-bottom:3rem; }}
/* ---------- scenario tabs on ink ---------- */
@keyframes htelApiF{ to{ background-position:10px 0; } }
@keyframes htelApiFV{ to{ background-position:0 10px; } }
/* ---------- how it works ---------- */
.htel-api-widget.sq .ai-fl{ display:grid; gap:1.1rem; grid-template-columns:minmax(0,1fr); }
@media (min-width:1000px){.htel-api-widget.sq .ai-fl{ grid-template-columns:repeat(5,minmax(0,1fr)); gap:1.6rem 1.8rem; }
.htel-api-widget.sq .ai-rb--auth{ grid-column:2 / 4; }
.htel-api-widget.sq .ai-rb--log{ grid-column:3 / 6; }}
.htel-api-widget.sq .ai-fn{ position:relative; background:#fff; border:1px solid var(--line-on-paper); border-radius:var(--radius-lg); padding:1.2rem 1.1rem 1.25rem; display:grid; gap:.4rem; align-content:start; box-shadow:var(--shadow-soft); }
.htel-api-widget.sq .ai-fn__k{ font-family:var(--font-mono); font-size:.6rem; color:#C5162B; }
.htel-api-widget.sq .ai-fn h3{ font-size:1.05rem; line-height:1.2; }
.htel-api-widget.sq .ai-fn p{ font-size:.84rem; color:var(--slate); }
.htel-api-widget.sq .ai-fn--mid{ background:var(--ink); border-color:var(--ink); }
.htel-api-widget.sq .ai-fn--mid h3{ color:#fff; }
.htel-api-widget.sq .ai-fn--mid p{ color:var(--slate-light); }
.htel-api-widget.sq .ai-fn--mid .ai-fn__k{ color:var(--crimson-2); }
@media (min-width:1000px){.htel-api-widget.sq .ai-fn:not(.ai-fn--end)::after{ content:''; position:absolute; left:100%; top:50%; width:1.8rem; height:2px; background:repeating-linear-gradient(90deg,var(--crimson) 0 6px,transparent 6px 12px); background-size:12px 2px; animation:htelApiF 1s linear infinite; }}
@media (max-width:999px){.htel-api-widget.sq .ai-fn:not(.ai-fn--end)::after{ content:''; position:absolute; left:50%; top:100%; width:2px; height:1.1rem; background:repeating-linear-gradient(180deg,var(--crimson) 0 6px,transparent 6px 12px); background-size:2px 12px; animation:htelApiFV 1s linear infinite; }}
@media (prefers-reduced-motion:reduce){.htel-api-widget.sq .ai-fn::after{ animation:none !important; }}
.htel-api-widget.sq .ai-rb{ border:1.5px dashed rgba(197,22,43,.5); border-radius:var(--radius-md); padding:.9rem 1.1rem; background:repeating-linear-gradient(135deg,rgba(226,31,54,.05) 0 10px,transparent 10px 20px),#fff; display:grid; gap:.15rem; }
.htel-api-widget.sq .ai-rb b{ font-family:var(--font-display); font-size:.98rem; }
.htel-api-widget.sq .ai-rb span{ font-size:.84rem; color:var(--slate); }
.htel-api-widget.sq .ai-rb--log{ border-color:rgba(12,12,14,.3); background:#fff; }
/* fixes */
.htel-api-widget.sq .sq-hero h1{ max-width:22ch; font-size:clamp(2rem,1.2rem + 2.5vw,3.05rem); }
.htel-api-widget.sq .ai-nd .ai-pill.ok{ color:#5fd39a; border-color:rgba(95,211,154,.45); background:rgba(95,211,154,.1); }
.htel-api-widget.sq .ai-nd .ai-pill.wa{ color:#F5AA46; border-color:rgba(245,170,70,.5); background:rgba(245,170,70,.1); }
.htel-api-widget.sq .ai-nd .ai-pill:not(.ok):not(.wa){ color:#E7E1E4; background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.22); }
/* compact service cards + four-step process (aligned with the reference page) */
.htel-api-widget.sq .ai-svcs{ display:grid; gap:1.25rem; grid-template-columns:minmax(0,1fr); }
@media (min-width:700px){.htel-api-widget.sq .ai-svcs{ grid-template-columns:repeat(2,minmax(0,1fr)); }}
@media (min-width:1100px){.htel-api-widget.sq .ai-svcs{ grid-template-columns:repeat(4,minmax(0,1fr)); }}
.htel-api-widget.sq .ai-svc{ position:relative; display:flex; flex-direction:column; background:#fff; border:1px solid var(--line-on-paper); border-radius:var(--radius-lg); padding:1.6rem 1.4rem 1.7rem; overflow:hidden; transition:transform .45s var(--ease), box-shadow .45s var(--ease), border-color .3s ease; }
.htel-api-widget.sq .ai-svc::after{ content:''; position:absolute; left:0; top:0; height:2px; width:100%; background:linear-gradient(90deg,var(--crimson),var(--maroon)); transform:scaleX(0); transform-origin:left; transition:transform .55s var(--ease); }
.htel-api-widget.sq .ai-svc:hover{ transform:translateY(-6px); border-color:rgba(226,31,54,.3); box-shadow:0 34px 50px -34px rgba(42,2,14,.55); }
.htel-api-widget.sq .ai-svc:hover::after{ transform:scaleX(1); }
.htel-api-widget.sq .ai-svc__ico{ width:44px; height:44px; border-radius:13px; background:var(--paper-dim); color:var(--maroon); display:grid; place-items:center; transition:background .3s ease,color .3s ease,transform .5s var(--ease); }
.htel-api-widget.sq .ai-svc__ico svg{ width:22px; height:22px; }
.htel-api-widget.sq .ai-svc:hover .ai-svc__ico{ background:var(--crimson); color:#fff; transform:rotate(-6deg) scale(1.06); }
.htel-api-widget.sq .ai-svc__no{ position:absolute; top:1.4rem; right:1.4rem; font-family:var(--font-mono); font-size:.7rem; color:var(--slate-light); }
.htel-api-widget.sq .ai-svc h3{ font-size:1.12rem; line-height:1.2; margin-top:1.2rem; }
.htel-api-widget.sq .ai-svc p{ margin-top:.55rem; color:var(--slate); font-size:.92rem; }
.htel-api-widget.sq .ai-svc-note{ margin-top:1.6rem; font-size:.9rem; color:var(--slate); max-width:780px; }
@media (min-width:900px){.htel-api-widget.sq .sq-steps--four{ grid-template-columns:repeat(var(--sq-steps,4),minmax(0,1fr)); }}
.htel-api-widget.sq .ai-bm-note{ margin-top:1.6rem; font-size:.9rem; color:var(--slate); max-width:780px; }
.htel-api-widget.sq .ai-benefits{ margin-top:2.4rem; }
@media (min-width:1100px){.htel-api-widget.sq .ai-why{ grid-template-columns:repeat(4,minmax(0,1fr)); }}
/* skip link: moved off-screen (not above the widget) until focused */
.htel-api-widget.sq .sq-skip{ left:-9999px !important; top:1rem !important; }
.htel-api-widget.sq .sq-skip:focus{ left:1rem !important; }
/* keep the page below a site-wide header (stacking) */
.htel-api-widget.sq{ position:relative; z-index:0; }


/* ===== widget additions (not in the source file) ===== */
/* configurable mobile-menu breakpoint (source = 980px, handled by the rules above) */
@media (min-width:768px) and (max-width:979px){
  .htel-api-widget.sq[data-sq-bp="768"] .sq-nav__links{ display:flex; }
  .htel-api-widget.sq[data-sq-bp="768"] .sq-nav__cta{ display:inline-flex; }
  .htel-api-widget.sq[data-sq-bp="768"] .sq-nav__toggle{ display:none; }
}
@media (min-width:980px) and (max-width:1099px){
  .htel-api-widget.sq[data-sq-bp="1100"] .sq-nav__links,.htel-api-widget.sq[data-sq-bp="1100"] .sq-nav__cta,
  .htel-api-widget.sq[data-sq-bp="1280"] .sq-nav__links,.htel-api-widget.sq[data-sq-bp="1280"] .sq-nav__cta{ display:none; }
  .htel-api-widget.sq[data-sq-bp="1100"] .sq-nav__toggle,.htel-api-widget.sq[data-sq-bp="1280"] .sq-nav__toggle{ display:flex; }
}
@media (min-width:1100px) and (max-width:1279px){
  .htel-api-widget.sq[data-sq-bp="1280"] .sq-nav__links,.htel-api-widget.sq[data-sq-bp="1280"] .sq-nav__cta{ display:none; }
  .htel-api-widget.sq[data-sq-bp="1280"] .sq-nav__toggle{ display:flex; }
}
/* process step: optional custom number replaces the CSS counter */
.htel-api-widget.sq .sq-step[data-num]::before{ content:attr(data-num); }
/* breadcrumb: current page hook (colour unchanged unless set in the Style tab) */
.htel-api-widget.sq .sq-crumbs [aria-current="page"]{ color:var(--sq-crumb-current,inherit); }
/* hero without the mockup composition */
.htel-api-widget.sq.htel-sq-no-serp .sq-hero__inner{ grid-template-columns:minmax(0,1fr); }
/* header turned off (e.g. site-wide Speqtus Header widget used instead): the hero keeps its original top padding, because that fixed header overlays it */
/* Elementor editor: keep the fixed bars inside the preview canvas instead of covering the editor UI */
.htel-api-widget.sq.htel-is-editor .sq-nav,.htel-api-widget.sq.htel-is-editor .sq-promo{ position:absolute !important; }
.htel-api-widget.sq.htel-is-editor .sq-mobile{ position:absolute; }
/* promo link colour hook */
.htel-api-widget.sq .sq-promo__cta{ color:var(--sq-promo-cta,inherit); }
/* anchors flash (in-page link feedback) */
@keyframes htelApiFlash{ 0%{ box-shadow:inset 0 0 0 0 rgba(226,31,54,0); } 30%{ box-shadow:inset 0 0 0 3px rgba(226,31,54,.35); } 100%{ box-shadow:inset 0 0 0 0 rgba(226,31,54,0); } }
.htel-api-widget.sq .sq-flash{ animation:htelApiFlash 1.1s ease-out 1; }

/* an emptied chip row takes no space */
.htel-api-widget.sq .sq-cta__list:empty{ display:none; }
