/* HTEL Header & Footer Widgets — stylesheet scoped to .htel-hf.sq. Extracted from the SEO Services page stylesheet (same .sq-* class names and values):
   base tokens/reset, container, buttons, header (.sq-nav), mobile menu, footer. */
.htel-hf.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-hf.sq.htel-fullbleed{ width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); }
.htel-hf.sq h1, .htel-hf.sq p, .htel-hf.sq button{ color:inherit; }
.htel-hf.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-hf.sq *, .htel-hf.sq *::before, .htel-hf.sq *::after{ box-sizing:border-box; }
.htel-hf.sq img{ max-width:100%; display:block; }
.htel-hf.sq a{ color:inherit; text-decoration:none; }
.htel-hf.sq ul, .htel-hf.sq ol{ list-style:none; margin:0; padding:0; }
.htel-hf.sq button{ font:inherit; color:inherit; background:none; border:none; cursor:pointer; }
.htel-hf.sq h1{ 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-hf.sq p{ margin:0; }
.htel-hf.sq svg{ display:block; }
.htel-hf.sq :focus-visible{ outline:2px solid var(--crimson); outline-offset:3px; border-radius:4px; }
.htel-hf.sq .sq-nav :focus-visible, .htel-hf.sq .sq-footer :focus-visible, .htel-hf.sq .sq-mobile :focus-visible{ outline-color:var(--crimson-2); }
.htel-hf.sq .sq-container{ max-width:var(--container); margin-inline:auto; padding-inline:clamp(1.25rem,5vw,4.5rem); }
.htel-hf.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-hf.sq .sq-skip:focus{ top:1rem; }
.htel-hf.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-hf.sq .sq-btn svg{ width:16px; height:16px; transition:transform .3s var(--ease); }
.htel-hf.sq .sq-btn:hover svg{ transform:translateX(3px); }
.htel-hf.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-hf.sq .sq-btn--primary:hover{ transform:translateY(-2px); box-shadow:0 22px 40px -14px rgba(226,31,54,.65); }
.htel-hf.sq .sq-btn--ghost{ border:1.5px solid var(--line-on-paper); color:var(--ink); }
.htel-hf.sq .sq-btn--ghost:hover{ border-color:var(--crimson); color:#C5162B; }
.htel-hf.sq .on-ink .sq-btn--ghost{ border-color:var(--line-on-ink); color:var(--paper); }
.htel-hf.sq .on-ink .sq-btn--ghost:hover{ border-color:var(--crimson-2); color:var(--crimson-2); }
.htel-hf.sq .sq-nav{ position:fixed; top:0; left:0; right:0; z-index:var(--sq-nav-z,9000); 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-hf.sq .sq-nav__inner{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.htel-hf.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-hf.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-hf.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-hf.sq .sq-nav.is-scrolled .sq-nav__logo img{ width:calc(var(--sq-logo-w,60px) * .8333); }
.htel-hf.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-hf.sq .sq-nav__links a{ position:relative; padding-block:.3rem; }
.htel-hf.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-hf.sq .sq-nav__links a:hover::after, .htel-hf.sq .sq-nav__links a[aria-current]::after{ width:100%; }
.htel-hf.sq .sq-nav__cta{ display:none; }
.htel-hf.sq .sq-nav__toggle{ display:flex; flex-direction:column; gap:5px; padding:.6rem; z-index:210; }
.htel-hf.sq .sq-nav__toggle span{ width:22px; height:2px; background:var(--paper); border-radius:2px; transition:all .3s var(--ease); }
.htel-hf.sq .sq-nav__toggle.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.htel-hf.sq .sq-nav__toggle.is-open span:nth-child(2){ opacity:0; }
.htel-hf.sq .sq-nav__toggle.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
@media (min-width:980px){
  .htel-hf.sq .sq-nav__links{ display:flex; }
  .htel-hf.sq .sq-nav__cta{ display:inline-flex; }
  .htel-hf.sq .sq-nav__toggle{ display:none; }
}
.htel-hf.sq .sq-mobile{ position:fixed; inset:0; background:var(--sq-mobile-bg,var(--ink)); z-index:calc(var(--sq-nav-z,9000) - 10); 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-hf.sq .sq-mobile.is-open{ transform:none; visibility:visible; transition:transform .4s var(--ease); }
.htel-hf.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; }
.htel-hf.sq .sq-footer{ background:var(--ink); color:var(--slate-light); padding-block:4rem 2rem; border-top:1px solid var(--line-on-ink); }
.htel-hf.sq .sq-footer__top{ display:grid; gap:2.5rem; grid-template-columns:minmax(0,1fr); margin-bottom:2.5rem; }
@media (min-width:900px){
  .htel-hf.sq .sq-footer__top{ grid-template-columns:1.2fr 2fr; }
}
.htel-hf.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-hf.sq .sq-footer__brand .sq-logo-chip img{ width:var(--sq-flogo-w,var(--sq-logo-w,50px)); height:auto; max-width:none; flex-shrink:0; }
.htel-hf.sq .sq-footer__brand p{ max-width:38ch; font-size:.9rem; line-height:1.7; }
.htel-hf.sq .sq-footer__cols{ display:grid; gap:2rem; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); }
.htel-hf.sq .sq-footer h4{ font-family:var(--font-mono); font-size:.75rem; letter-spacing:.05em; text-transform:uppercase; color:#fff; margin-bottom:1rem; }
.htel-hf.sq .sq-footer ul{ display:flex; flex-direction:column; gap:.7rem; font-size:.9rem; }
.htel-hf.sq .sq-footer a:hover{ color:var(--crimson-2); }
.htel-hf.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; }
@media (max-width:420px){
  .htel-hf.sq .sq-btn{ white-space:normal; }
}
@media (min-width:768px) and (max-width:979px){
  .htel-hf.sq[data-sq-bp="768"] .sq-nav__links{ display:flex; }
  .htel-hf.sq[data-sq-bp="768"] .sq-nav__cta{ display:inline-flex; }
  .htel-hf.sq[data-sq-bp="768"] .sq-nav__toggle{ display:none; }
}
@media (min-width:980px) and (max-width:1099px){
  .htel-hf.sq[data-sq-bp="1100"] .sq-nav__links,.htel-hf.sq[data-sq-bp="1100"] .sq-nav__cta,
  .htel-hf.sq[data-sq-bp="1280"] .sq-nav__links,.htel-hf.sq[data-sq-bp="1280"] .sq-nav__cta{ display:none; }
  .htel-hf.sq[data-sq-bp="1100"] .sq-nav__toggle,.htel-hf.sq[data-sq-bp="1280"] .sq-nav__toggle{ display:flex; }
}
@media (min-width:1100px) and (max-width:1279px){
  .htel-hf.sq[data-sq-bp="1280"] .sq-nav__links,.htel-hf.sq[data-sq-bp="1280"] .sq-nav__cta{ display:none; }
  .htel-hf.sq[data-sq-bp="1280"] .sq-nav__toggle{ display:flex; }
}
.htel-hf.sq.htel-is-editor .sq-nav{ position:absolute !important; }
.htel-hf.sq.htel-is-editor .sq-mobile{ position:absolute; }
.htel-hf.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; }
.htel-hf.sq.htel-is-editor .sq-nav{ position:absolute !important; }
.htel-hf.sq.htel-is-editor .sq-mobile{ position:absolute; }
.htel-hf.sq.htel-hf-footer{ overflow:visible; }

.htel-hf.sq{ background:transparent; }

/* footer: always edge-to-edge, even inside a boxed Elementor container / theme wrapper */
.htel-hf.sq.htel-hf-footer{ width:100vw; max-width:100vw; position:relative; left:50%; margin-left:-50vw; margin-right:0; background:transparent; }
html:has(.htel-hf-footer){ overflow-x:clip; }
/* keep the page below a site-wide header (stacking) */
.htel-hf.sq.htel-hf-header{ position:relative; z-index:var(--sq-nav-z,9000); }
/* gaps around the site-wide footer (theme / container spacing) show the dark brand colour instead of white */
body:has(.htel-hf-footer){ background-color:#0C0C0E; }
.htel-hf.sq.htel-hf-footer{ background-color:#0C0C0E; }
.htel-hf.sq .sq-footer__bottom-links{ display:flex; flex-wrap:wrap; align-items:center; gap:1.75rem; }
.htel-hf.sq .sq-footer li{ line-height:1.55; }
/* icons in footer link / contact lines */
.htel-hf.sq .sq-footer li.has-ico, .htel-hf.sq .sq-footer li.has-ico > a{ display:flex; align-items:flex-start; gap:.7rem; }
.htel-hf.sq .sq-footer .sq-ico{ flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; font-size:1.05rem; width:1em; height:1.55em; color:var(--crimson-2,#E21F36); }
.htel-hf.sq .sq-footer .sq-ico svg{ width:1em; height:1em; fill:currentColor; }
.htel-hf.sq .sq-footer .sq-ico svg[stroke]{ fill:none; }
.htel-hf.sq .sq-footer .sq-txt{ min-width:0; }
