/* Speqtus Custom Web Applications Widget — stylesheet scoped to .htel-cwa-widget.sq. Source: custom-web-applications-simplified.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-cwa-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-cwa-widget.sq.htel-fullbleed{ width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); }
.htel-cwa-widget.sq [id]{ scroll-margin-top:96px; }
/* Theme / Elementor-kit colour guard (specificity deliberately LOWER than every source colour rule). */
.htel-cwa-widget.sq h1,.htel-cwa-widget.sq h2,.htel-cwa-widget.sq h3,.htel-cwa-widget.sq h4,.htel-cwa-widget.sq p,.htel-cwa-widget.sq li,.htel-cwa-widget.sq span,.htel-cwa-widget.sq button{ color:inherit; }
/* ===== source stylesheet ===== */
/* =====================================================================
   CUSTOM WEB APPLICATIONS PAGE — all rules are scoped under .htel-cwa-widget.sq so they cannot
   clash with a host site. Tokens mirror HOME.html / about.html.
   ===================================================================== */
/* standalone-page reset; remove if embedded */
.htel-cwa-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-cwa-widget.sq *, .htel-cwa-widget.sq *::before, .htel-cwa-widget.sq *::after{ box-sizing:border-box; }
.htel-cwa-widget.sq img{ max-width:100%; display:block; }
.htel-cwa-widget.sq a{ color:inherit; text-decoration:none; }
.htel-cwa-widget.sq ul, .htel-cwa-widget.sq ol{ list-style:none; margin:0; padding:0; }
.htel-cwa-widget.sq button{ font:inherit; color:inherit; background:none; border:none; cursor:pointer; }
.htel-cwa-widget.sq h1,
.htel-cwa-widget.sq h2,
.htel-cwa-widget.sq h3,
.htel-cwa-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-cwa-widget.sq p{ margin:0; }
.htel-cwa-widget.sq svg{ display:block; }
.htel-cwa-widget.sq :focus-visible{ outline:2px solid var(--crimson); outline-offset:3px; border-radius:4px; }
.htel-cwa-widget.sq .on-ink :focus-visible,
.htel-cwa-widget.sq .sq-nav :focus-visible,
.htel-cwa-widget.sq .sq-footer :focus-visible,
.htel-cwa-widget.sq .sq-mobile :focus-visible{ outline-color:var(--crimson-2); }
.htel-cwa-widget.sq .sq-container{ max-width:var(--container); margin-inline:auto; padding-inline:clamp(1.25rem,5vw,4.5rem); }
.htel-cwa-widget.sq .sq-section{ padding-block:clamp(4.5rem,8vw,7.5rem); position:relative; }
.htel-cwa-widget.sq .sq-ink{ background:var(--ink); color:var(--paper); }
.htel-cwa-widget.sq .sq-dim{ background:var(--paper-dim); }
.htel-cwa-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-cwa-widget.sq .sq-ink .sq-eyebrow{ color:var(--crimson-2); }
.htel-cwa-widget.sq .sq-eyebrow::before{ content:''; width:16px; height:1px; background:currentColor; opacity:.6; }
.htel-cwa-widget.sq .sq-head h2{ font-size:var(--fs-h2); }
.htel-cwa-widget.sq .sq-head p{ margin-top:1rem; font-size:var(--fs-lead); color:var(--slate); max-width:56ch; }
.htel-cwa-widget.sq .sq-ink .sq-head p{ color:var(--slate-light); }
.htel-cwa-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-cwa-widget.sq .sq-skip:focus{ top:1rem; }
/* buttons */
.htel-cwa-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-cwa-widget.sq .sq-btn svg{ width:16px; height:16px; transition:transform .3s var(--ease); }
.htel-cwa-widget.sq .sq-btn:hover svg{ transform:translateX(3px); }
.htel-cwa-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-cwa-widget.sq .sq-btn--primary:hover{ transform:translateY(-2px); box-shadow:0 22px 40px -14px rgba(226,31,54,.65); }
.htel-cwa-widget.sq .sq-btn--ghost{ border:1.5px solid var(--line-on-paper); color:var(--ink); }
.htel-cwa-widget.sq .sq-btn--ghost:hover{ border-color:var(--crimson); color:#C5162B; }
.htel-cwa-widget.sq .on-ink .sq-btn--ghost{ border-color:var(--line-on-ink); color:var(--paper); }
.htel-cwa-widget.sq .on-ink .sq-btn--ghost:hover{ border-color:var(--crimson-2); color:var(--crimson-2); }
/* ---------------- NAV (same behaviour as reference pages) ---------------- */
.htel-cwa-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-cwa-widget.sq .sq-nav__inner{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.htel-cwa-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-cwa-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-cwa-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-cwa-widget.sq .sq-nav.is-scrolled .sq-nav__logo img{ width:calc(var(--sq-logo-w,60px) * .8333); }
.htel-cwa-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-cwa-widget.sq .sq-nav__links a{ position:relative; padding-block:.3rem; }
.htel-cwa-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-cwa-widget.sq .sq-nav__links a:hover::after, .htel-cwa-widget.sq .sq-nav__links a[aria-current]::after{ width:100%; }
.htel-cwa-widget.sq .sq-nav__cta{ display:none; }
.htel-cwa-widget.sq .sq-nav__toggle{ display:flex; flex-direction:column; gap:5px; padding:.6rem; z-index:210; }
.htel-cwa-widget.sq .sq-nav__toggle span{ width:22px; height:2px; background:var(--paper); border-radius:2px; transition:all .3s var(--ease); }
.htel-cwa-widget.sq .sq-nav__toggle.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.htel-cwa-widget.sq .sq-nav__toggle.is-open span:nth-child(2){ opacity:0; }
.htel-cwa-widget.sq .sq-nav__toggle.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
@media (min-width:980px){.htel-cwa-widget.sq .sq-nav__links{ display:flex; }
.htel-cwa-widget.sq .sq-nav__cta{ display:inline-flex; }
.htel-cwa-widget.sq .sq-nav__toggle{ display:none; }}
.htel-cwa-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-cwa-widget.sq .sq-mobile.is-open{ transform:none; visibility:visible; transition:transform .4s var(--ease); }
.htel-cwa-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-cwa-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-cwa-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-cwa-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-cwa-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-cwa-widget.sq .sq-hero__inner{ grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); }}
.htel-cwa-widget.sq .sq-crumbs{ font-family:var(--font-mono); font-size:.74rem; color:var(--slate-light); margin-bottom:1.4rem; }
.htel-cwa-widget.sq .sq-crumbs ol{ display:flex; flex-wrap:wrap; gap:.4rem; }
.htel-cwa-widget.sq .sq-crumbs li+li::before{ content:var(--sq-crumb-sep,'/'); margin-right:.4rem; opacity:.5; }
.htel-cwa-widget.sq .sq-crumbs a:hover{ color:var(--crimson-2); }
.htel-cwa-widget.sq .sq-hero h1{ font-size:var(--fs-h1); max-width:19ch; }
.htel-cwa-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-cwa-widget.sq .sq-hero .sq-lead{ margin-top:1.5rem; font-size:var(--fs-lead); color:var(--slate-light); max-width:54ch; }
.htel-cwa-widget.sq .sq-hero__actions{ display:flex; flex-wrap:wrap; gap:1rem; margin-top:2.2rem; }
.htel-cwa-widget.sq .sq-hero__notes{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:2rem; }
.htel-cwa-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-cwa-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-cwa-widget.sq .sq-steps{ counter-reset:step; display:grid; gap:0; grid-template-columns:minmax(0,1fr); position:relative; }
.htel-cwa-widget.sq .sq-step{ position:relative; padding:0 0 2.2rem 3.4rem; counter-increment:step; }
.htel-cwa-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-cwa-widget.sq .sq-step::after{ content:''; position:absolute; left:19.5px; top:44px; bottom:4px; width:1px; background:var(--line-on-paper); }
.htel-cwa-widget.sq .sq-step:last-child{ padding-bottom:0; }
.htel-cwa-widget.sq .sq-step:last-child::after{ display:none; }
.htel-cwa-widget.sq .sq-step:hover::before{ background:var(--crimson); color:#fff; }
.htel-cwa-widget.sq .sq-step h3{ font-size:var(--fs-h3); padding-top:.45rem; }
.htel-cwa-widget.sq .sq-step p{ margin-top:.5rem; color:var(--slate); max-width:56ch; font-size:.95rem; }
@media (min-width:980px){.htel-cwa-widget.sq .sq-steps{ grid-template-columns:repeat(var(--sq-steps,5),minmax(0,1fr)); gap:1.4rem; }
.htel-cwa-widget.sq .sq-step{ padding:4rem 0 0 0; }
.htel-cwa-widget.sq .sq-step::before{ top:0; }
.htel-cwa-widget.sq .sq-step::after{ left:48px; right:-1.4rem; top:19.5px; bottom:auto; width:auto; height:1px; display:block; }
.htel-cwa-widget.sq .sq-step:last-child::after{ display:none; }
.htel-cwa-widget.sq .sq-step h3{ padding-top:0; }}
/* ---------------- FAQ ---------------- */
.htel-cwa-widget.sq .sq-faq{ max-width:860px; margin-inline:auto; border-top:1px solid var(--line-on-paper); }
.htel-cwa-widget.sq .sq-faq__item{ border-bottom:1px solid var(--line-on-paper); }
.htel-cwa-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-cwa-widget.sq .sq-faq__q:hover{ color:#C5162B; }
.htel-cwa-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-cwa-widget.sq .sq-faq__icon::before, .htel-cwa-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-cwa-widget.sq .sq-faq__icon::after{ transform:translate(-50%,-50%) rotate(90deg); }
.htel-cwa-widget.sq .sq-faq__q[aria-expanded="true"] .sq-faq__icon{ background:var(--crimson); border-color:var(--crimson); color:#fff; }
.htel-cwa-widget.sq .sq-faq__q[aria-expanded="true"] .sq-faq__icon::after{ transform:translate(-50%,-50%) rotate(0); }
.htel-cwa-widget.sq .sq-faq__a{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .3s var(--ease); }
.htel-cwa-widget.sq .sq-faq__a.is-open{ grid-template-rows:1fr; }
.htel-cwa-widget.sq .sq-faq__a > div{ overflow:hidden; }
.htel-cwa-widget.sq .sq-faq__a p{ padding:0 .2rem 1.5rem; color:var(--slate); max-width:68ch; }
/* ---------------- CTA ---------------- */
.htel-cwa-widget.sq .sq-cta{ text-align:center; position:relative; overflow:hidden; }
.htel-cwa-widget.sq .sq-cta .sq-container{ position:relative; z-index:1; max-width:760px; }
.htel-cwa-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-cwa-widget.sq .sq-cta h2{ font-size:var(--fs-h2); color:#fff; }
.htel-cwa-widget.sq .sq-cta p{ margin-top:1.2rem; color:var(--slate-light); font-size:var(--fs-lead); }
.htel-cwa-widget.sq .sq-cta__actions{ margin-top:2.2rem; display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
.htel-cwa-widget.sq .sq-cta .sq-btn--primary{ padding:1.1rem 2.1rem; font-size:1rem; }
.htel-cwa-widget.sq .sq-cta__list{ margin-top:2.2rem; display:flex; gap:.6rem; justify-content:center; flex-wrap:wrap; }
/* ---------------- FOOTER ---------------- */
.htel-cwa-widget.sq .sq-footer{ background:var(--ink); color:var(--slate-light); padding-block:4rem 2rem; border-top:1px solid var(--line-on-ink); }
.htel-cwa-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-cwa-widget.sq .sq-footer__top{ grid-template-columns:1.2fr 2fr; }}
.htel-cwa-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-cwa-widget.sq .sq-footer__brand .sq-logo-chip img{ width:var(--sq-flogo-w,50px); height:auto; max-width:none; flex-shrink:0; }
.htel-cwa-widget.sq .sq-footer__brand p{ max-width:38ch; font-size:.9rem; line-height:1.7; }
.htel-cwa-widget.sq .sq-footer__cols{ display:grid; gap:2rem; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); }
.htel-cwa-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-cwa-widget.sq .sq-footer ul{ display:flex; flex-direction:column; gap:.7rem; font-size:.9rem; }
.htel-cwa-widget.sq .sq-footer a:hover{ color:var(--crimson-2); }
.htel-cwa-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-cwa-widget.sq *, .htel-cwa-widget.sq *::before, .htel-cwa-widget.sq *::after{ animation:none !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }}
@media (max-width:420px){.htel-cwa-widget.sq .sq-btn{ white-space:normal; }}
/* ---- promo bar (dismissible) ---- */
.htel-cwa-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-cwa-widget.sq .sq-promo.is-hidden{ display:none; }
.htel-cwa-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-cwa-widget.sq .sq-promo__cta{ font-weight:700; text-decoration:underline; text-underline-offset:3px; white-space:nowrap; }
.htel-cwa-widget.sq .sq-promo__close{ display:flex; align-items:center; justify-content:center; width:28px; height:28px; opacity:.85; flex-shrink:0; }
.htel-cwa-widget.sq .sq-promo__close:hover{ opacity:1; }
.htel-cwa-widget.sq .sq-promo__close svg{ width:14px; height:14px; }
.htel-cwa-widget.sq .sq-promo :focus-visible{ outline-color:#fff; }
.htel-cwa-widget.sq .sq-hero{ padding-top:calc(clamp(8rem,14vw,10.5rem) + var(--sq-bar-h,0px)); }
/* ---------- hero: device composition ---------- */
.htel-cwa-widget.sq .sq-stage{ position:relative; width:100%; max-width:600px; margin:0 auto; padding-bottom:3.6rem; }
.htel-cwa-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-cwa-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-cwa-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); }
/* ---------- security (dark editorial) ---------- */
.htel-cwa-widget.sq .cw-sec{ display:grid; gap:2.5rem; grid-template-columns:minmax(0,1fr); }
@media (min-width:1000px){.htel-cwa-widget.sq .cw-sec{ grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:4rem; }
.htel-cwa-widget.sq .cw-sec__lead{ position:sticky; top:calc(var(--sq-bar-h,0px) + 110px); align-self:start; }}
.htel-cwa-widget.sq .cw-sec__lead h2{ margin-top:.8rem; }
.htel-cwa-widget.sq .cw-sec__lead p{ color:var(--slate-light); margin-top:1rem; }
.htel-cwa-widget.sq .cw-sec__lead .cw-note{ background:rgba(255,255,255,.04); border-color:var(--line-on-ink); border-left-color:var(--crimson); color:var(--slate-light); }
.htel-cwa-widget.sq .cw-sec__lead .cw-note b{ color:#fff; }
.htel-cwa-widget.sq .cw-sec ol{ counter-reset:q; border-top:1px solid var(--line-on-ink); }
.htel-cwa-widget.sq .cw-sec li{ counter-increment:q; display:grid; grid-template-columns:auto minmax(0,1fr); gap:.15rem 1.2rem; padding:1.3rem 0; border-bottom:1px solid var(--line-on-ink); }
.htel-cwa-widget.sq .cw-sec li::before{ content:counter(q,decimal-leading-zero); font-family:var(--font-mono); font-size:.8rem; color:var(--crimson-2); grid-row:span 2; padding-top:.2rem; }
.htel-cwa-widget.sq .cw-sec h3{ font-size:1.12rem; color:#fff; }
.htel-cwa-widget.sq .cw-sec li p{ color:var(--slate-light); font-size:.92rem; }
/* ---------- why ---------- */
.htel-cwa-widget.sq .cw-why{ display:grid; gap:1rem; grid-template-columns:minmax(0,1fr); counter-reset:w; }
@media (min-width:700px){.htel-cwa-widget.sq .cw-why{ grid-template-columns:1fr 1fr; }}
@media (min-width:1100px){.htel-cwa-widget.sq .cw-why{ grid-template-columns:repeat(3,minmax(0,1fr)); }}
.htel-cwa-widget.sq .cw-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-cwa-widget.sq .cw-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-cwa-widget.sq .cw-why h3{ font-size:1.15rem; position:relative; }
.htel-cwa-widget.sq .cw-why p{ margin-top:.55rem; color:var(--slate); font-size:.93rem; position:relative; }
/* ---------- process: eight steps in four columns ---------- */
.htel-cwa-widget.sq .cw-sec__lead h2{ font-size:clamp(2rem,1.3rem + 2.2vw,3rem); line-height:1.08; }
/* =====================================================================
   CUSTOM WEB APPLICATIONS PAGE — additions (scoped to .htel-cwa-widget.sq)
   ===================================================================== */
.htel-cwa-widget.sq .sq-hero h1{ max-width:21ch; font-size:clamp(2rem,1.2rem + 2.6vw,3.15rem); }
.htel-cwa-widget.sq .cw-head{ max-width:800px; margin-bottom:clamp(2rem,4vw,3rem); }
.htel-cwa-widget.sq .cw-note{ margin-top:2rem; border:1px solid var(--line-on-paper); border-left:2px solid var(--crimson); border-radius:var(--radius-sm); padding:1rem 1.2rem; background:#fff; font-size:.93rem; color:var(--slate); max-width:860px; }
.htel-cwa-widget.sq .cw-note b{ color:var(--ink); }
/* ---------- shared interface bits ---------- */
.htel-cwa-widget.sq .cw-win{ background:#fff; color:var(--ink); border:1px solid var(--glass-ink-brd); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-ink); text-align:left; }
.htel-cwa-widget.sq .cw-win__bar{ display:flex; align-items:center; gap:.7rem; padding:.55rem .85rem; background:#17171B; border-bottom:1px solid rgba(255,255,255,.08); }
.htel-cwa-widget.sq .cw-win__dots{ display:flex; gap:5px; }
.htel-cwa-widget.sq .cw-win__dots i{ width:8px; height:8px; border-radius:50%; background:#3a3a42; }
.htel-cwa-widget.sq .cw-win__dots i:first-child{ background:var(--crimson); }
.htel-cwa-widget.sq .cw-win__url{ flex:1; font-family:var(--font-mono); font-size:.6rem; color:var(--slate-light); background:rgba(255,255,255,.06); border-radius:6px; padding:.25rem .6rem; }
.htel-cwa-widget.sq .cw-body{ display:grid; grid-template-columns:104px minmax(0,1fr); min-height:0; background:var(--paper); }
.htel-cwa-widget.sq .cw-sb{ background:#101014; color:#fff; padding:.8rem .6rem; display:grid; gap:.3rem; align-content:start; }
.htel-cwa-widget.sq .cw-sb__brand{ display:flex; align-items:center; gap:.35rem; margin-bottom:.5rem; }
.htel-cwa-widget.sq .cw-sb__brand i{ width:16px; height:16px; border-radius:5px; background:linear-gradient(135deg,var(--crimson),var(--maroon)); }
.htel-cwa-widget.sq .cw-sb__brand span{ height:6px; flex:1; border-radius:3px; background:rgba(255,255,255,.3); }
.htel-cwa-widget.sq .cw-sb__it{ display:flex; align-items:center; gap:.4rem; padding:.35rem .4rem; border-radius:7px; font-family:var(--font-mono); font-size:.5rem; color:var(--slate-light); }
.htel-cwa-widget.sq .cw-sb__it::before{ content:''; width:9px; height:9px; border-radius:3px; background:rgba(255,255,255,.25); flex:none; }
.htel-cwa-widget.sq .cw-sb__it.on{ background:rgba(226,31,54,.2); color:#fff; }
.htel-cwa-widget.sq .cw-sb__it.on::before{ background:var(--crimson-2); }
.htel-cwa-widget.sq .cw-main{ padding:.8rem .9rem .9rem; display:grid; gap:.7rem; align-content:start; min-width:0; }
.htel-cwa-widget.sq .cw-top{ display:flex; align-items:center; gap:.6rem; }
.htel-cwa-widget.sq .cw-top b{ font-family:var(--font-display); font-size:.9rem; }
.htel-cwa-widget.sq .cw-top .sp{ flex:1; }
.htel-cwa-widget.sq .cw-srch{ width:90px; height:18px; border-radius:100px; border:1px solid var(--line-on-paper); background:#fff; }
.htel-cwa-widget.sq .cw-av{ width:18px; height:18px; border-radius:50%; background:linear-gradient(135deg,#EBDDD8,#C98A94); }
.htel-cwa-widget.sq .cw-kpis{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; }
.htel-cwa-widget.sq .cw-k{ background:#fff; border:1px solid var(--line-on-paper); border-radius:10px; padding:.5rem .6rem; display:grid; gap:.15rem; }
.htel-cwa-widget.sq .cw-k span{ font-family:var(--font-mono); font-size:.48rem; color:var(--slate); }
.htel-cwa-widget.sq .cw-k b{ font-family:var(--font-display); font-size:1.05rem; line-height:1; }
.htel-cwa-widget.sq .cw-k i{ display:block; height:14px; margin-top:.15rem; background:linear-gradient(90deg,rgba(226,31,54,.18) 0 100%) 0 100%/100% 2px no-repeat; position:relative; }
.htel-cwa-widget.sq .cw-k svg{ width:100%; height:16px; }
.htel-cwa-widget.sq .cw-flow{ display:flex; align-items:center; gap:.3rem; flex-wrap:wrap; }
.htel-cwa-widget.sq .cw-flow span{ font-family:var(--font-mono); font-size:.5rem; padding:.22rem .55rem; border-radius:100px; border:1px solid var(--line-on-paper); background:#fff; color:var(--slate); }
.htel-cwa-widget.sq .cw-flow span.d{ background:var(--ink); color:#fff; border-color:var(--ink); }
.htel-cwa-widget.sq .cw-flow span.a{ background:var(--crimson); color:#fff; border-color:var(--crimson); }
.htel-cwa-widget.sq .cw-flow em{ width:10px; height:1.5px; background:var(--slate-light); }
.htel-cwa-widget.sq .cw-tbl{ background:#fff; border:1px solid var(--line-on-paper); border-radius:10px; overflow:hidden; }
.htel-cwa-widget.sq .cw-tr{ display:grid; grid-template-columns:1.4fr .9fr .8fr; gap:.5rem; align-items:center; padding:.42rem .65rem; border-top:1px solid var(--line-on-paper); font-size:.55rem; }
.htel-cwa-widget.sq .cw-tr:first-child{ border-top:0; background:var(--paper-dim); font-family:var(--font-mono); font-size:.46rem; color:var(--slate); }
.htel-cwa-widget.sq .cw-tr .ln{ display:block; height:6px; border-radius:3px; background:rgba(12,12,14,.12); }
.htel-cwa-widget.sq .cw-tr .ln.s{ width:60%; }
.htel-cwa-widget.sq .cw-pill{ display:inline-block; font-family:var(--font-mono); font-size:.46rem; border-radius:100px; padding:.12rem .5rem; width:max-content; border:1px solid var(--line-on-paper); color:var(--slate); background:var(--paper); }
.htel-cwa-widget.sq .cw-pill.ok{ color:#17794a; border-color:rgba(23,121,74,.35); background:rgba(23,121,74,.08); }
.htel-cwa-widget.sq .cw-pill.wa{ color:#a8610a; border-color:rgba(168,97,10,.35); background:rgba(168,97,10,.08); }
.htel-cwa-widget.sq .cw-pill.cr{ color:#C5162B; border-color:rgba(197,22,43,.35); background:rgba(197,22,43,.07); }
/* ---------- hero ---------- */
.htel-cwa-widget.sq .cw-stage{ position:relative; width:100%; max-width:640px; margin:0 auto; padding-bottom:3.6rem; }
.htel-cwa-widget.sq .cw-stage .cw-win{ position:relative; z-index:1; }
.htel-cwa-widget.sq .cw-float{ position:absolute; z-index:3; background:rgba(20,20,24,.95); border:1px solid var(--glass-ink-brd); border-radius:var(--radius-md); box-shadow:var(--shadow-ink); padding:.65rem .8rem; color:#fff; }
.htel-cwa-widget.sq .cw-float h6{ font-family:var(--font-mono); font-weight:500; font-size:.55rem; color:var(--crimson-2); margin:0 0 .35rem; }
.htel-cwa-widget.sq .cw-float--chart{ right:-.6rem; bottom:1.6rem; width:min(46%,230px); }
.htel-cwa-widget.sq .cw-float--chart svg{ width:100%; height:44px; display:block; }
.htel-cwa-widget.sq .cw-float--note{ left:-.8rem; bottom:2.2rem; width:min(52%,250px); display:grid; gap:.2rem; }
.htel-cwa-widget.sq .cw-float--note b{ font-size:.68rem; font-weight:600; }
.htel-cwa-widget.sq .cw-float--note span{ font-family:var(--font-mono); font-size:.52rem; color:var(--slate-light); }
.htel-cwa-widget.sq .cw-float--note::before{ content:''; position:absolute; right:-4px; top:-4px; width:10px; height:10px; border-radius:50%; background:var(--crimson-2); box-shadow:0 0 12px var(--crimson-2); }
.htel-cwa-widget.sq .cw-stage .sq-pill{ z-index:4; }
@media (max-width:620px){.htel-cwa-widget.sq .cw-body{ grid-template-columns:minmax(0,1fr); }
.htel-cwa-widget.sq .cw-sb{ display:none; }
.htel-cwa-widget.sq .cw-float{ display:none; }
.htel-cwa-widget.sq .cw-tr{ grid-template-columns:1.4fr .9fr; }
.htel-cwa-widget.sq .cw-tr > :nth-child(2){ display:none; }
.htel-cwa-widget.sq .cw-stage{ padding-bottom:3rem; }}
/* ---------- challenges ---------- */
.htel-cwa-widget.sq .cw-ch{ border-top:1px solid var(--line-on-paper); counter-reset:c; }
.htel-cwa-widget.sq .cw-ch li{ counter-increment:c; display:grid; gap:.7rem 2rem; padding:1.6rem 0; border-bottom:1px solid var(--line-on-paper); grid-template-columns:minmax(0,1fr); }
@media (min-width:900px){.htel-cwa-widget.sq .cw-ch li{ grid-template-columns:minmax(0,.9fr) minmax(0,1fr) 28px minmax(0,1.1fr); align-items:start; }}
.htel-cwa-widget.sq .cw-ch h3{ font-size:1.18rem; line-height:1.2; display:flex; gap:.9rem; }
.htel-cwa-widget.sq .cw-ch h3::before{ content:counter(c,decimal-leading-zero); font-family:var(--font-display); font-weight:700; color:var(--crimson); font-size:1.5rem; line-height:1; min-width:2.2rem; }
.htel-cwa-widget.sq .cw-ch p{ font-size:.92rem; color:var(--slate); }
.htel-cwa-widget.sq .cw-ch p b{ display:block; font-family:var(--font-mono); font-weight:500; font-size:.6rem; color:#C5162B; margin-bottom:.2rem; }
.htel-cwa-widget.sq .cw-ch__arr{ display:none; }
@media (min-width:900px){.htel-cwa-widget.sq .cw-ch__arr{ display:block; color:var(--slate-light); padding-top:.3rem; }
.htel-cwa-widget.sq .cw-ch__arr svg{ width:22px; height:22px; }}
/* ---------- what we build: bento ---------- */
.htel-cwa-widget.sq .cw-bento{ display:grid; gap:1rem; grid-template-columns:minmax(0,1fr); }
@media (min-width:700px){.htel-cwa-widget.sq .cw-bento{ grid-template-columns:repeat(2,minmax(0,1fr)); }}
@media (min-width:1100px){.htel-cwa-widget.sq .cw-bento{ grid-template-columns:repeat(12,minmax(0,1fr)); }
.htel-cwa-widget.sq .cw-b1{ grid-column:span 7; }
.htel-cwa-widget.sq .cw-b2{ grid-column:span 5; }
.htel-cwa-widget.sq .cw-b3, .htel-cwa-widget.sq .cw-b4, .htel-cwa-widget.sq .cw-b5{ grid-column:span 4; }
.htel-cwa-widget.sq .cw-b6{ grid-column:span 5; }
.htel-cwa-widget.sq .cw-b7{ grid-column:span 7; }
.htel-cwa-widget.sq .cw-b8{ grid-column:span 4; }}
.htel-cwa-widget.sq .cw-bc{ background:#fff; border:1px solid var(--line-on-paper); border-radius:var(--radius-lg); padding:1.5rem 1.4rem; display:flex; flex-direction:column; gap:.7rem; position:relative; overflow:hidden; transition:border-color .25s,transform .25s var(--ease),box-shadow .25s; }
.htel-cwa-widget.sq .cw-bc:hover{ border-color:rgba(226,31,54,.45); transform:translateY(-3px); box-shadow:var(--shadow-soft); }
.htel-cwa-widget.sq .cw-bc__n{ font-family:var(--font-mono); font-size:.7rem; color:#C5162B; }
.htel-cwa-widget.sq .cw-bc h3{ font-size:1.25rem; line-height:1.18; }
.htel-cwa-widget.sq .cw-bc p{ font-size:.92rem; color:var(--slate); max-width:46ch; }
.htel-cwa-widget.sq .cw-bc ul{ display:flex; flex-wrap:wrap; gap:.3rem; margin-top:auto; padding-top:.4rem; }
.htel-cwa-widget.sq .cw-bc li{ font-family:var(--font-mono); font-size:.62rem; border:1px solid var(--line-on-paper); border-radius:100px; padding:.15rem .6rem; color:var(--slate); }
.htel-cwa-widget.sq .cw-bc__v{ margin-top:.6rem; border:1px solid var(--line-on-paper); border-radius:12px; background:var(--paper); padding:.7rem; display:grid; gap:.4rem; }
.htel-cwa-widget.sq .cw-bc__v .row{ display:grid; grid-template-columns:1.3fr .7fr .6fr; gap:.5rem; align-items:center; }
.htel-cwa-widget.sq .cw-bc__v .ln{ display:block; height:6px; border-radius:3px; background:rgba(12,12,14,.13); }
.htel-cwa-widget.sq .cw-bc__v .ln.s{ width:60%; }
.htel-cwa-widget.sq .cw-bc__pipe{ display:grid; grid-template-columns:repeat(3,1fr); gap:.4rem; }
.htel-cwa-widget.sq .cw-bc__pipe > div{ display:grid; gap:.3rem; align-content:start; }
.htel-cwa-widget.sq .cw-bc__pipe b{ font-family:var(--font-mono); font-weight:500; font-size:.5rem; color:var(--slate); }
.htel-cwa-widget.sq .cw-bc__pipe i{ display:block; height:20px; border-radius:6px; background:#fff; border:1px solid var(--line-on-paper); border-left:2px solid var(--crimson); }
.htel-cwa-widget.sq .cw-bc__stock{ display:grid; gap:.4rem; }
.htel-cwa-widget.sq .cw-bc__stock > div{ display:flex; align-items:center; gap:.5rem; font-family:var(--font-mono); font-size:.55rem; color:var(--slate); }
.htel-cwa-widget.sq .cw-bc__stock span{ flex:1; height:7px; border-radius:4px; background:rgba(12,12,14,.1); position:relative; overflow:hidden; }
.htel-cwa-widget.sq .cw-bc__stock span i{ position:absolute; inset:0 auto 0 0; background:linear-gradient(90deg,var(--crimson-2),var(--maroon)); border-radius:4px; }
.htel-cwa-widget.sq .cw-bc--ink{ background:var(--ink); border-color:var(--line-on-ink); color:var(--paper); }
.htel-cwa-widget.sq .cw-bc--ink h3{ color:#fff; }
.htel-cwa-widget.sq .cw-bc--ink p{ color:var(--slate-light); }
.htel-cwa-widget.sq .cw-bc--ink li{ border-color:var(--line-on-ink); color:#E7E1E4; }
.htel-cwa-widget.sq .cw-bc--ink .cw-bc__n{ color:var(--crimson-2); }
/* ---------- categories (tabs on ink) ---------- */
.htel-cwa-widget.sq .cw-li{ display:flex; align-items:center; gap:.5rem; background:#fff; border:1px solid var(--line-on-paper); border-radius:9px; padding:.4rem .55rem; }
.htel-cwa-widget.sq .cw-li .ic{ width:16px; height:20px; border-radius:3px; border:1.5px solid var(--slate-light); flex:none; }
.htel-cwa-widget.sq .cw-li .tx{ flex:1; display:grid; gap:3px; }
.htel-cwa-widget.sq .cw-li .ln{ display:block; height:6px; border-radius:3px; background:rgba(12,12,14,.13); }
.htel-cwa-widget.sq .cw-li .ln.s{ width:55%; }
/* ---------- how it works: architecture ---------- */
.htel-cwa-widget.sq .cw-arch{ display:grid; gap:1rem; grid-template-columns:minmax(0,1fr); }
@media (min-width:900px){.htel-cwa-widget.sq .cw-arch{ gap:2.2rem 3rem; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-areas:"auth auth auth" "ui logic int" "rep db ext"; }
.htel-cwa-widget.sq .cw-n--auth{ grid-area:auth; }
.htel-cwa-widget.sq .cw-n--ui{ grid-area:ui; }
.htel-cwa-widget.sq .cw-n--logic{ grid-area:logic; }
.htel-cwa-widget.sq .cw-n--int{ grid-area:int; }
.htel-cwa-widget.sq .cw-n--db{ grid-area:db; }}
.htel-cwa-widget.sq .cw-n{ position:relative; background:#fff; border:1px solid var(--line-on-paper); border-radius:var(--radius-lg); padding:1.3rem 1.3rem 1.4rem; display:grid; gap:.45rem; box-shadow:var(--shadow-soft); }
.htel-cwa-widget.sq .cw-n__k{ font-family:var(--font-mono); font-size:.62rem; color:#C5162B; }
.htel-cwa-widget.sq .cw-n h3{ font-size:1.18rem; }
.htel-cwa-widget.sq .cw-n p{ font-size:.9rem; color:var(--slate); }
.htel-cwa-widget.sq .cw-n--logic{ background:var(--ink); border-color:var(--ink); color:#fff; }
.htel-cwa-widget.sq .cw-n--logic h3{ color:#fff; }
.htel-cwa-widget.sq .cw-n--logic p{ color:var(--slate-light); }
.htel-cwa-widget.sq .cw-n--logic .cw-n__k{ color:var(--crimson-2); }
.htel-cwa-widget.sq .cw-n--auth{ background:repeating-linear-gradient(135deg,rgba(226,31,54,.05) 0 10px,transparent 10px 20px),#fff; border:1.5px dashed rgba(197,22,43,.5); }
@media (min-width:900px){.htel-cwa-widget.sq .cw-n--ui::after,
.htel-cwa-widget.sq .cw-n--logic::after,
.htel-cwa-widget.sq .cw-n--db::after,
.htel-cwa-widget.sq .cw-n--logic::before,
.htel-cwa-widget.sq .cw-n--int::before{ content:''; position:absolute; background-image:repeating-linear-gradient(90deg,var(--crimson) 0 6px,transparent 6px 12px); background-size:12px 2px; animation:htelCwaFlow 1s linear infinite; }
.htel-cwa-widget.sq .cw-n--ui::after, .htel-cwa-widget.sq .cw-n--logic::after{ left:100%; top:50%; width:3rem; height:2px; }
.htel-cwa-widget.sq .cw-n--db::after{ right:100%; top:50%; width:3rem; height:2px; animation-direction:reverse; }
.htel-cwa-widget.sq .cw-n--logic::before, .htel-cwa-widget.sq .cw-n--int::before{ left:50%; top:100%; width:2px; height:2.2rem; background-image:repeating-linear-gradient(180deg,var(--crimson) 0 6px,transparent 6px 12px); background-size:2px 12px; animation-name:cwflowv; }}
@keyframes htelCwaFlow{ to{ background-position:12px 0; } }
@keyframes htelCwaFlowV{ to{ background-position:0 12px; } }
@media (prefers-reduced-motion:reduce){.htel-cwa-widget.sq .cw-n::before, .htel-cwa-widget.sq .cw-n::after{ animation:none !important; }}
/* ---------- features ---------- */
.htel-cwa-widget.sq .cw-fe{ border-top:1px solid var(--line-on-paper); counter-reset:f; }
.htel-cwa-widget.sq .cw-fe li{ counter-increment:f; display:grid; gap:1rem 3rem; padding:1.8rem 0; border-bottom:1px solid var(--line-on-paper); grid-template-columns:minmax(0,1fr); }
@media (min-width:900px){.htel-cwa-widget.sq .cw-fe li{ grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }}
.htel-cwa-widget.sq .cw-fe h3{ font-size:1.35rem; line-height:1.15; }
.htel-cwa-widget.sq .cw-fe h3::before{ content:counter(f,decimal-leading-zero); display:block; font-family:var(--font-mono); font-weight:500; font-size:.72rem; color:#C5162B; margin-bottom:.4rem; }
.htel-cwa-widget.sq .cw-fe .lead{ margin-top:.5rem; color:var(--slate); font-size:.95rem; }
.htel-cwa-widget.sq .cw-fe ul{ display:grid; gap:.55rem; align-content:start; }
.htel-cwa-widget.sq .cw-fe ul li{ display:block; border:0; padding:0 0 0 1.5rem; position:relative; font-size:.95rem; counter-increment:none; grid-template-columns:none; }
.htel-cwa-widget.sq .cw-fe ul li::before{ content:''; position:absolute; left:0; top:.35em; width:11px; height:6px; border-left:2px solid var(--crimson); border-bottom:2px solid var(--crimson); transform:rotate(-45deg); }
/* fixes */
.htel-cwa-widget.sq .sq-hero h1{ font-size:clamp(2rem,1.2rem + 2.4vw,2.95rem); max-width:24ch; }
.htel-cwa-widget.sq .cw-stage{ padding-bottom:5.2rem; }
.htel-cwa-widget.sq .cw-float--note{ bottom:1.6rem; }
.htel-cwa-widget.sq .cw-float--chart{ bottom:1rem; }
/* compact layout overrides for the simplified page */
@media (min-width:1100px){.htel-cwa-widget.sq .cw-b6, .htel-cwa-widget.sq .cw-b7, .htel-cwa-widget.sq .cw-b8{ grid-column:span 4; }
.htel-cwa-widget.sq .cw-why{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.htel-cwa-widget.sq .cw-arch{ grid-template-areas:"auth auth auth" "ui logic int" ". db ."; }
.htel-cwa-widget.sq .cw-n--int::before, .htel-cwa-widget.sq .cw-n--db::after{ display:none; }}
@media (min-width:900px) and (max-width:1099px){.htel-cwa-widget.sq .cw-arch{ grid-template-areas:"auth auth auth" "ui logic int" ". db ."; }
.htel-cwa-widget.sq .cw-n--int::before, .htel-cwa-widget.sq .cw-n--db::after{ display:none; }}
/* skip link: moved off-screen (not above the widget) until focused */
.htel-cwa-widget.sq .sq-skip{ left:-9999px !important; top:1rem !important; }
.htel-cwa-widget.sq .sq-skip:focus{ left:1rem !important; }
/* keep the page below a site-wide header (stacking) */
.htel-cwa-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-cwa-widget.sq[data-sq-bp="768"] .sq-nav__links{ display:flex; }
  .htel-cwa-widget.sq[data-sq-bp="768"] .sq-nav__cta{ display:inline-flex; }
  .htel-cwa-widget.sq[data-sq-bp="768"] .sq-nav__toggle{ display:none; }
}
@media (min-width:980px) and (max-width:1099px){
  .htel-cwa-widget.sq[data-sq-bp="1100"] .sq-nav__links,.htel-cwa-widget.sq[data-sq-bp="1100"] .sq-nav__cta,
  .htel-cwa-widget.sq[data-sq-bp="1280"] .sq-nav__links,.htel-cwa-widget.sq[data-sq-bp="1280"] .sq-nav__cta{ display:none; }
  .htel-cwa-widget.sq[data-sq-bp="1100"] .sq-nav__toggle,.htel-cwa-widget.sq[data-sq-bp="1280"] .sq-nav__toggle{ display:flex; }
}
@media (min-width:1100px) and (max-width:1279px){
  .htel-cwa-widget.sq[data-sq-bp="1280"] .sq-nav__links,.htel-cwa-widget.sq[data-sq-bp="1280"] .sq-nav__cta{ display:none; }
  .htel-cwa-widget.sq[data-sq-bp="1280"] .sq-nav__toggle{ display:flex; }
}
/* process step: optional custom number replaces the CSS counter */
.htel-cwa-widget.sq .sq-step[data-num]::before{ content:attr(data-num); }
/* breadcrumb: current page hook (colour unchanged unless set in the Style tab) */
.htel-cwa-widget.sq .sq-crumbs [aria-current="page"]{ color:var(--sq-crumb-current,inherit); }
/* hero without the mockup composition */
.htel-cwa-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-cwa-widget.sq.htel-is-editor .sq-nav,.htel-cwa-widget.sq.htel-is-editor .sq-promo{ position:absolute !important; }
.htel-cwa-widget.sq.htel-is-editor .sq-mobile{ position:absolute; }
/* promo link colour hook */
.htel-cwa-widget.sq .sq-promo__cta{ color:var(--sq-promo-cta,inherit); }
/* bento: extra cards beyond the original eight continue in 4-column slots */
@media (min-width:1100px){ .htel-cwa-widget.sq .cw-bento > .cw-bc:nth-child(n+9){ grid-column:span 4; } }
/* anchors flash (in-page link feedback) */
@keyframes htelCwaFlash{ 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-cwa-widget.sq .sq-flash{ animation:htelCwaFlash 1.1s ease-out 1; }

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