
.hws{background-color:transparent}
@layer hwb-base{
.hwb,.hwb *,.hwb ::before,.hwb ::after,.hwb ::backdrop,.hwb ::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}
.hwb :is(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit}
.hwb :is(ol,ul,menu){list-style:none}
.hwb :is(img,svg,video,canvas,audio,iframe,embed,object){display:block;vertical-align:middle}
.hwb :is(img,video){max-width:100%;height:auto}
.hwb :is(button,input,select,optgroup,textarea),.hwb ::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}
.hwb :where(select:is([multiple],[size])) optgroup{font-weight:bolder}
.hwb :where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}
.hwb ::file-selector-button{margin-inline-end:4px}
.hwb ::placeholder{opacity:1;color:color-mix(in oklab,currentcolor 50%,transparent)}
.hwb textarea{resize:vertical}
.hwb ::-webkit-search-decoration{-webkit-appearance:none}
.hwb ::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}
.hwb ::-webkit-datetime-edit{display:inline-flex}
.hwb ::-webkit-datetime-edit-fields-wrapper{padding:0}
.hwb :is(::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field){padding-block:0}
.hwb :-moz-ui-invalid{box-shadow:none}
.hwb :is(button,input:where([type=button],[type=reset],[type=submit])),.hwb ::file-selector-button{appearance:button}
.hwb ::-webkit-inner-spin-button,.hwb ::-webkit-outer-spin-button{height:auto}
.hwb [hidden]:where(:not([hidden=until-found])){display:none!important}
.hwb hr{height:0;color:inherit;border-top-width:1px}
.hwb abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}
.hwb a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}
.hwb :is(b,strong){font-weight:bolder}
.hwb :is(code,kbd,samp,pre){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}
.hwb small{font-size:80%}
.hwb :is(sub,sup){font-size:75%;line-height:0;position:relative;vertical-align:baseline}
.hwb sub{bottom:-.25em}
.hwb sup{top:-.5em}
.hwb table{text-indent:0;border-color:inherit;border-collapse:collapse}
.hwb summary{display:list-item}
.hwb progress{vertical-align:baseline}
}
.hwb{font-family:var(--font-sans,'Hanken Grotesk',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif);font-size:var(--text-base,14px);line-height:var(--leading-normal,1.5);color:var(--text-primary,#14161A);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:auto;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv01";overflow-wrap:normal;tab-size:4}
:where(.hwb) :is(h1,h2,h3,h4,h5,h6){margin:0;font-weight:var(--weight-semibold,600);line-height:var(--leading-tight,1.2)}
:where(.hwb) p{margin:0}
:where(.hwb) a{color:var(--text-link,#2C5BE0);text-decoration:none}
:where(.hwb) a:hover{text-decoration:underline;text-underline-offset:2px}
:where(.hwb) button{font-family:inherit}
:where(.hwb) ::selection{background:var(--azure-100,#E1E9FD);color:var(--azure-900,#1A337E)}
:where(.hwb) :focus-visible{outline:2px solid var(--border-focus,#3E6BEA);outline-offset:2px}

/* ---- tokens (parts/styles.tsx), on the site rather than the document ---- */
.hws{
  --ink:#16130E; --ink-soft:#3A352D; --ink-mute:#6E665A; --ink-faint:#A39A8B;
  --paper:#FBF6EC; --paper-2:#F4ECDC; --cloud:#FFFFFF; --line:#E7DCC8;
  --blue-900:#06264F; --blue-700:#08356E; --blue-600:#0B4DA2; --blue-500:#1768C9; --blue-300:#79A6E0; --blue-100:#DCE8F8; --blue-50:#EEF4FC;
  --rust-700:#8A3315; --rust-600:#B4451E; --rust-500:#D45A28; --rust-300:#E89B79; --rust-100:#F7E1D5;
  --gold-600:#E0A200; --gold-500:#FFC23B; --gold-400:#FFD66B; --gold-200:#FFEAB0; --gold-100:#FFF4D6;
  --green-600:#1E8A52; --green-100:#DCF1E5; --red-600:#C8341F; --red-100:#F8DDD7;
  --bg-page:var(--paper); --surface-card:var(--cloud);
  --text-strong:var(--ink); --text-body:var(--ink-soft); --text-muted:var(--ink-mute); --text-faint:var(--ink-faint);
  --brand:var(--blue-600); --brand-deep:var(--blue-700); --accent:var(--rust-500); --accent-deep:var(--rust-600); --highlight:var(--gold-500);
  --border:var(--line); --focus-ring:var(--blue-500);
  --success:var(--green-600); --success-bg:var(--green-100); --danger:var(--red-600);
  --font-display:'Ubuntu',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-body:'Open Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-mono:'Ubuntu Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
  --fs-display:clamp(2.75rem,1.4rem + 6.2vw,5.5rem);
  --fs-h1:clamp(2.25rem,1.4rem + 3.6vw,3.5rem);
  --fs-h2:clamp(1.75rem,1.2rem + 2.4vw,2.5rem);
  --fs-h3:clamp(1.375rem,1.05rem + 1.4vw,1.75rem);
  --fs-lead:clamp(1.125rem,1rem + 0.5vw,1.375rem);
  --fs-body:1.0625rem;
  --section-y:clamp(4rem,2rem + 8vw,8rem);
  --r-xs:6px; --r-sm:10px; --r-md:16px; --r-lg:22px; --r-xl:30px; --r-pill:999px;
  --shadow-sm:0 1px 2px rgba(22,19,14,.06),0 2px 6px rgba(22,19,14,.05);
  --shadow-md:0 4px 10px rgba(22,19,14,.08),0 10px 24px rgba(22,19,14,.07);
  --shadow-lg:0 12px 28px rgba(22,19,14,.12),0 24px 60px rgba(22,19,14,.10);
  --shadow-hard:4px 4px 0 var(--ink);
  --dur-fast:120ms; --dur-quick:200ms; --dur-base:320ms; --dur-slow:560ms;
  --ease-out:cubic-bezier(.2,.7,.25,1); --ease-in-out:cubic-bezier(.65,0,.35,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
  --press-scale:.96; --lift-y:-4px;
  --gutter:clamp(18px,5vw,44px);
}

/* v1's body, and what its stylesheet sat on (bridge/css.ts): no breaking
   inside words, which decides where lines wrap. */
.hws[data-surface]{ background:var(--paper); color:var(--text-body); font-family:var(--font-body); font-size:var(--fs-body); font-weight:400; line-height:1.6;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:auto; text-rendering:optimizeLegibility; font-feature-settings:"ss01","cv01"; overflow-wrap:normal; }
.hws ::selection{ background:var(--gold-200); color:var(--ink); }
.hws :focus-visible{ outline:2px solid #3E6BEA; outline-offset:2px; }
.hws > header:has(> .hws-code[data-code="sf-header"]){ position:sticky; top:0; z-index:50; }

@keyframes sf-build-in{ from{ opacity:0; transform:translateY(18px); } to{ opacity:1; transform:translateY(0); } }
@keyframes sf-float{ 0%,100%{ transform:translateY(0) rotate(0deg); } 50%{ transform:translateY(-16px) rotate(6deg); } }
@keyframes sf-run-in{ from{ left:-120px; } to{ left:calc(50% - 46px); } }
@keyframes sf-foot-pop{ from{ opacity:0; transform:scale(.4); } to{ opacity:.7; transform:scale(1); } }
.hws .sf-runner{ left:calc(50% - 46px); animation:sf-run-in 1100ms var(--ease-out) both; }
.hws .sf-foot{ opacity:0; animation:sf-foot-pop 400ms var(--ease-spring) forwards; }

/* ---- the code components' markup: v1's base rules and shared classes ---- */
.hws .hws-code :where(h1,h2,h3,h4,h5,h6){ margin:0; font-weight:600; line-height:1.2; }
.hws .hws-code :where(a){ color:inherit; text-decoration:none; }
.hws .hws-code :where(button,input,select,textarea){ font-feature-settings:inherit; font-variation-settings:inherit; opacity:1; }
.hws .hws-code ::placeholder{ opacity:1; color:color-mix(in oklab,currentcolor 50%,transparent); }
@media (max-width:1040px){
  .hws .sf-qb{ grid-template-columns:1fr !important; }
  .hws .sf-qb aside{ position:static !important; }
}
@media (max-width:720px){
  .hws :is(.sf-navlinks,.sf-navauth){ display:none !important; }
  .hws .sf-burger{ display:inline-flex !important; }
  .hws :is(.sf-addons,.sf-footgrid){ grid-template-columns:1fr !important; }
}
@media (prefers-reduced-motion:reduce){
  .hws :is(.sf-runner,.sf-foot,.hwx-sf-hero-badge,.hwx-sf-hero-h,.hwx-sf-hero-highlight,.hwx-sf-hero-tagline,.hwx-sf-hero-intro,.hwx-sf-hero-btns){ animation:none !important; opacity:1 !important; }
  .hws .hwx-sf-hero-tagline::after{ background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20320%2024'%20preserveAspectRatio%3D'none'%3E%3Cpath%20d%3D'M4%2016%20C%2080%204%2C%20240%204%2C%20316%2014'%20fill%3D'none'%20stroke%3D'%23FFC23B'%20stroke-width%3D'6'%20stroke-linecap%3D'round'%2F%3E%3C%2Fsvg%3E"); }
}

/* ---- bands: v1's section wrapper (bridge/section.tsx) and SfSection ---- */
.hws :is(.hwx-sf-band,.hwx-sf-band-why,.hwx-sf-band-teaser,.hwx-sf-band-stats,.hwx-sf-band-testimonials,.hwx-sf-band-faq,.hwx-sf-band-mission,.hwx-sf-band-about,.hwx-sf-band-gag){ padding:var(--section-y) 0; background:var(--paper); color:var(--text-body); overflow:visible; }
.hws :is(.hwx-sf-band,.hwx-sf-band-why,.hwx-sf-band-teaser,.hwx-sf-band-stats,.hwx-sf-band-testimonials,.hwx-sf-band-faq,.hwx-sf-band-mission,.hwx-sf-band-about,.hwx-sf-band-gag)[data-surface="paper2"]{ background:var(--paper-2); }
.hws :is(.hwx-sf-band,.hwx-sf-band-why,.hwx-sf-band-teaser,.hwx-sf-band-stats,.hwx-sf-band-testimonials,.hwx-sf-band-faq,.hwx-sf-band-mission,.hwx-sf-band-about,.hwx-sf-band-gag)[data-surface="ink"]{ background:var(--ink); color:var(--paper); }
.hws :is(.hwx-sf-band,.hwx-sf-band-why,.hwx-sf-band-teaser,.hwx-sf-band-stats,.hwx-sf-band-testimonials,.hwx-sf-band-faq,.hwx-sf-band-mission,.hwx-sf-band-about,.hwx-sf-band-gag,.hwx-sf-hero,.hwx-sf-page-head,.hwx-sf-closing,.hwx-sf-contact) > .hws-in{ max-width:1200px; padding-inline:var(--gutter); display:block; position:relative; text-align:left; gap:0; }
.hws :is(.hwx-sf-band-stats,.hwx-sf-band-mission){ padding:clamp(40px,6vw,72px) 0; }
.hws .hwx-sf-band-about{ padding:clamp(40px,6vw,72px) 0 clamp(28px,4vw,40px); }
.hws .hwx-sf-band-gag{ padding:clamp(28px,4vw,48px) 0; }
.hws .hwx-sf-band-faq > .hws-in{ max-width:760px; }
.hws :is(.hwx-sf-hero,.hwx-sf-page-head,.hwx-sf-closing,.hwx-sf-contact){ padding:0; background:var(--paper); color:var(--text-body); }
/* A band with nothing to list hides, on a public page. */
.hws:not(.hws-edit) .hwx-sf-band-why:not(:has(.hwx-sf-why)),
.hws:not(.hws-edit) .hwx-sf-band-teaser:not(:has(.hwx-sf-svc3)),
.hws:not(.hws-edit) .hwx-sf-band-stats:not(:has(.hwx-sf-stats)),
.hws:not(.hws-edit) .hwx-sf-band-testimonials:not(:has(.hwx-sf-tgrid)),
.hws:not(.hws-edit) .hwx-sf-band-faq:not(:has(.hwx-sf-faq-list > *)){ display:none; }

/* ---- columns: v1's grids, one column at 1040px and below ---- */
.hws :is(.hwx-sf-intro-cols,.hwx-sf-about-hero,.hwx-sf-scott,.hwx-sf-contact-cols,.hwx-sf-spektra){ display:grid; align-self:auto; }
.hws .hwx-sf-intro-cols{ grid-template-columns:1.1fr .9fr; gap:48px; align-items:center; }
.hws .hwx-sf-about-hero{ grid-template-columns:1.1fr .9fr; gap:44px; align-items:center; }
.hws .hwx-sf-scott{ grid-template-columns:.8fr 1.2fr; gap:44px; align-items:center; }
.hws .hwx-sf-contact-cols{ grid-template-columns:.9fr 1.1fr; gap:40px; align-items:start; }
.hws .hwx-sf-spektra{ grid-template-columns:1.3fr 1fr; gap:32px; align-items:center; background:var(--ink); color:var(--paper); border-radius:var(--r-xl); padding:clamp(32px,5vw,56px); }
.hws :is(.hwx-sf-intro-cols,.hwx-sf-about-hero,.hwx-sf-scott,.hwx-sf-contact-cols,.hwx-sf-spektra) > *{ min-width:auto; }
@media (max-width:1040px){ .hws :is(.hwx-sf-intro-cols,.hwx-sf-about-hero,.hwx-sf-scott,.hwx-sf-contact-cols,.hwx-sf-spektra){ grid-template-columns:1fr; } }

/* ---- groups: plain blocks, as v1's divs were ---- */
.hws :is(.hwx-sf-head,.hwx-sf-head-center,.hwx-sf-words,.hwx-sf-hero-words,.hwx-sf-hero-headline,.hwx-sf-hero-line,.hwx-sf-quote-who,.hwx-sf-quote-role,.hwx-sf-stat,.hwx-sf-cta-panel,.hwx-sf-gag-panel,.hwx-sf-gag-words,.hwx-sf-mission,.hwx-sf-info-words,.hwx-sf-btn-line){ display:block; align-self:auto; text-align:inherit; }
.hws .hwx-sf-head{ text-align:left; }
.hws .hwx-sf-head-center{ text-align:center; max-width:720px; margin:0 auto; }
.hws :is(.hwx-sf-card-holder,.hwx-sf-tile-holder){ display:flex; flex-direction:row; justify-content:center; align-items:normal; align-self:auto; gap:0; }

/* ---- words: everything a text style sets, then each one's own ---- */
.hws :is(.hwx-sf-eyebrow,.hwx-sf-eyebrow-gold,.hwx-sf-intro,.hwx-sf-badge,.hwx-sf-hero-badge,.hwx-sf-hero-highlight,.hwx-sf-hero-tagline,.hwx-sf-hero-intro,.hwx-sf-why-text,.hwx-sf-intro-body,.hwx-sf-snark,.hwx-sf-service-text,.hwx-sf-stat-value,.hwx-sf-stat-label,.hwx-sf-mission-label,.hwx-sf-quote-text,.hwx-sf-quote-name,.hwx-sf-role,.hwx-sf-business,.hwx-sf-cta-body,.hwx-sf-page-intro,.hwx-sf-helper-text,.hwx-sf-partner-text,.hwx-sf-about-intro,.hwx-sf-gag-body,.hwx-sf-meet-p,.hwx-sf-meet-p-last,.hwx-sf-contact-intro,.hwx-sf-info-main,.hwx-sf-info-note,.hwx-sf-foot-title,.hwx-sf-foot-tagline,.hwx-sf-foot-location,.hwx-sf-foot-mail,.hwx-sf-foot-phone,.hwx-sf-foot-note,.hwx-sf-heading,.hwx-sf-hero-h,.hwx-sf-why-title,.hwx-sf-service-title,.hwx-sf-cta-title,.hwx-sf-page-title,.hwx-sf-helper-title,.hwx-sf-partner-title,.hwx-sf-about-title,.hwx-sf-meet-title,.hwx-sf-mission-title,.hwx-sf-contact-title){ margin:0; max-width:none; font-family:var(--font-body); font-size:var(--fs-body); font-weight:400; font-style:normal;
  line-height:1.6; letter-spacing:normal; text-transform:none; text-wrap:wrap; text-align:inherit; color:inherit; }
.hws :is(.hwx-sf-heading,.hwx-sf-hero-h,.hwx-sf-why-title,.hwx-sf-service-title,.hwx-sf-cta-title,.hwx-sf-page-title,.hwx-sf-helper-title,.hwx-sf-partner-title,.hwx-sf-about-title,.hwx-sf-meet-title,.hwx-sf-mission-title,.hwx-sf-contact-title){ font-family:var(--font-display); font-weight:700; color:var(--text-strong); line-height:1.2; }
.hws :is(.hwx-sf-eyebrow,.hwx-sf-eyebrow-gold){ display:inline-flex; align-items:center; gap:8px; font-family:var(--font-display); font-weight:700; font-size:13px;
  letter-spacing:.14em; text-transform:uppercase; color:var(--accent-deep); }
.hws .hwx-sf-eyebrow-gold{ color:var(--gold-500); }
.hws .hwx-sf-heading{ font-size:var(--fs-h2); line-height:1.18; letter-spacing:-0.02em; }
.hws .hwx-sf-eyebrow + .hwx-sf-heading{ margin-top:14px; }
.hws .hwx-sf-intro{ margin:16px 0 0; font-size:var(--fs-lead); line-height:1.55; color:var(--text-muted); max-width:720px; }
.hws .hwx-sf-head-center .hwx-sf-intro{ margin-inline:auto; }
.hws :is(.hwx-sf-badge,.hwx-sf-hero-badge){ display:inline-flex; align-items:center; gap:6px; padding:4px 11px; border-radius:var(--r-pill); background:var(--highlight);
  color:var(--ink); font-family:var(--font-display); font-weight:700; font-size:12.5px; white-space:nowrap; }

/* ---- the hero: the headline builds in, the runner runs in ---- */
.hws .hwx-sf-hero{ position:relative; overflow:hidden; padding:clamp(40px,6vw,80px) 0 clamp(20px,4vw,40px); }
.hws .hwx-sf-hero > .hws-in{ max-width:none; padding:0; position:static; }
.hws .hwx-sf-hero-words{ position:relative; z-index:2; text-align:center; max-width:940px; box-sizing:content-box; padding-inline:var(--gutter); margin:0 auto; }
.hws :is(.hwx-sf-hero-badge,.hwx-sf-hero-h,.hwx-sf-hero-highlight,.hwx-sf-hero-tagline,.hwx-sf-hero-intro,.hwx-sf-hero-btns){ opacity:0; animation:sf-build-in var(--dur-slow) var(--ease-spring) forwards; }
.hws .hwx-sf-hero-h{ animation-delay:80ms; }
.hws .hwx-sf-hero-highlight{ animation-delay:280ms; }
.hws .hwx-sf-hero-tagline{ animation-delay:420ms; }
.hws .hwx-sf-hero-intro{ animation-delay:560ms; }
.hws .hwx-sf-hero-btns{ animation-delay:680ms; }
.hws-edit :is(.hwx-sf-hero-badge,.hwx-sf-hero-h,.hwx-sf-hero-highlight,.hwx-sf-hero-tagline,.hwx-sf-hero-intro,.hwx-sf-hero-btns){ animation:none; opacity:1; }
.hws .hwx-sf-hero-headline{ font-family:var(--font-display); font-weight:700; font-size:var(--fs-display); line-height:1.02; letter-spacing:-0.03em; color:var(--ink); margin:20px 0 0; }
.hws :is(.hwx-sf-hero-h,.hwx-sf-hero-highlight,.hwx-sf-hero-tagline){ display:inline-block; font:inherit; letter-spacing:inherit; color:inherit; }
.hws .hwx-sf-hero-highlight{ color:var(--brand); }
.hws .hwx-sf-hero-tagline{ position:relative; }
.hws .hwx-sf-hero-tagline::after{ content:""; position:absolute; left:0; right:0; bottom:-8px; height:18px; background:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20320%2024'%20preserveAspectRatio%3D'none'%3E%3Cpath%20d%3D'M4%2016%20C%2080%204%2C%20240%204%2C%20316%2014'%20fill%3D'none'%20stroke%3D'%23FFC23B'%20stroke-width%3D'6'%20stroke-linecap%3D'round'%20stroke-dasharray%3D'340'%20stroke-dashoffset%3D'340'%3E%3Canimate%20attributeName%3D'stroke-dashoffset'%20from%3D'340'%20to%3D'0'%20begin%3D'0.7s'%20dur%3D'0.7s'%20fill%3D'freeze'%20calcMode%3D'spline'%20keyTimes%3D'0%3B1'%20keySplines%3D'.2%20.7%20.25%201'%2F%3E%3C%2Fpath%3E%3C%2Fsvg%3E") 0 0/100% 100% no-repeat; pointer-events:none; }
.hws .hwx-sf-hero-intro{ margin:34px auto 0; max-width:620px; font-size:var(--fs-lead); line-height:1.55; color:var(--text-muted); }
.hws .hwx-sf-hero-btns{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:32px; align-items:normal; }

/* ---- buttons (parts/ui.tsx, BtnLink): pills that press, no hover ---- */
.hws .hws-btn:is(.hwx-sf-btn-primary-lg,.hwx-sf-btn-sticker-lg,.hwx-sf-btn-gold-lg,.hwx-sf-btn-gold-lg-arrow,.hwx-sf-btn-gold-out,.hwx-sf-btn-ghost,.hwx-sf-btn-quiet-sm,.hwx-sf-btn-primary-sm,.hwx-sf-btn-gold-sm,.hwx-sf-btn-pill,.hwx-sf-btn-brand,.hwx-sf-card-link){ display:inline-flex; align-items:center; justify-content:center; gap:9px; font-family:var(--font-display); font-weight:700; font-size:16px;
  font-style:normal; letter-spacing:normal; text-transform:none; line-height:1; padding:12px 24px; border-radius:var(--r-pill); border:2px solid transparent;
  cursor:pointer; text-decoration:none; white-space:nowrap; filter:none; transform:none; box-shadow:none; -webkit-tap-highlight-color:transparent;
  transition:transform var(--dur-quick) var(--ease-spring),box-shadow var(--dur-quick) var(--ease-out),background var(--dur-quick) var(--ease-out); }
.hws .hws-btn:is(.hwx-sf-btn-primary-lg,.hwx-sf-btn-sticker-lg,.hwx-sf-btn-gold-lg,.hwx-sf-btn-gold-lg-arrow,.hwx-sf-btn-gold-out,.hwx-sf-btn-ghost,.hwx-sf-btn-quiet-sm,.hwx-sf-btn-primary-sm,.hwx-sf-btn-gold-sm,.hwx-sf-btn-pill,.hwx-sf-btn-brand,.hwx-sf-card-link):hover{ filter:none; transform:none; }
.hws .hws-btn:is(.hwx-sf-btn-primary-lg,.hwx-sf-btn-sticker-lg,.hwx-sf-btn-gold-lg,.hwx-sf-btn-gold-lg-arrow){ font-size:18px; padding:16px 32px; gap:11px; }
.hws .hws-btn:is(.hwx-sf-btn-primary-lg){ background:var(--brand); color:#fff; border-color:var(--brand); }
.hws .hws-btn:is(.hwx-sf-btn-sticker-lg,.hwx-sf-btn-pill){ background:var(--cloud); color:var(--ink); border-color:var(--ink); box-shadow:var(--shadow-hard); }
.hws .hws-btn:is(.hwx-sf-btn-gold-lg,.hwx-sf-btn-gold-lg-arrow,.hwx-sf-btn-gold-out){ background:var(--highlight); color:var(--ink); border-color:var(--ink); }
.hws .hws-btn:is(.hwx-sf-btn-ghost){ background:transparent; color:var(--brand); border-color:var(--brand); }
.hws .hws-btn:is(.hwx-sf-btn-brand){ background:var(--brand); color:#fff; border-color:var(--brand); }
.hws .hws-btn:is(.hwx-sf-btn-primary-lg,.hwx-sf-btn-sticker-lg,.hwx-sf-btn-gold-lg,.hwx-sf-btn-gold-lg-arrow,.hwx-sf-btn-gold-out,.hwx-sf-btn-ghost,.hwx-sf-btn-quiet-sm,.hwx-sf-btn-primary-sm,.hwx-sf-btn-gold-sm,.hwx-sf-btn-brand):active{ transform:scale(var(--press-scale)); }
.hws .hws-btn:is(.hwx-sf-btn-sticker-lg,.hwx-sf-btn-pill):active{ transform:translate(3px,3px); box-shadow:1px 1px 0 var(--ink); }
.hws .hws-btn:is(.hwx-sf-btn-primary-lg,.hwx-sf-btn-gold-lg-arrow)::after{ content:"";flex:none;width:22px;height:22px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2.1'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cline%20x1%3D'4'%20y1%3D'12'%20x2%3D'19'%20y2%3D'12'%2F%3E%3Cpolyline%20points%3D'13%206%2019%2012%2013%2018'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2.1'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cline%20x1%3D'4'%20y1%3D'12'%20x2%3D'19'%20y2%3D'12'%2F%3E%3Cpolyline%20points%3D'13%206%2019%2012%2013%2018'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.hws .hws-btn:is(.hwx-sf-btn-gold-lg)::after{ content:"";flex:none;width:22px;height:22px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2.1'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M5%2015c-1.5%201.5-2%205-2%205s3.5-.5%205-2'%2F%3E%3Cpath%20d%3D'M14.5%204.5c3%200%205%202%205%205%200%204-4.5%208.5-8%2010l-4-4c1.5-3.5%206-11%207-11z'%2F%3E%3Ccircle%20cx%3D'14.5'%20cy%3D'9.5'%20r%3D'1.6'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2.1'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M5%2015c-1.5%201.5-2%205-2%205s3.5-.5%205-2'%2F%3E%3Cpath%20d%3D'M14.5%204.5c3%200%205%202%205%205%200%204-4.5%208.5-8%2010l-4-4c1.5-3.5%206-11%207-11z'%2F%3E%3Ccircle%20cx%3D'14.5'%20cy%3D'9.5'%20r%3D'1.6'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.hws .hws-btn:is(.hwx-sf-btn-ghost,.hwx-sf-btn-pill,.hwx-sf-btn-brand)::after{ content:"";flex:none;width:19px;height:19px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2.1'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cline%20x1%3D'4'%20y1%3D'12'%20x2%3D'19'%20y2%3D'12'%2F%3E%3Cpolyline%20points%3D'13%206%2019%2012%2013%2018'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2.1'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cline%20x1%3D'4'%20y1%3D'12'%20x2%3D'19'%20y2%3D'12'%2F%3E%3Cpolyline%20points%3D'13%206%2019%2012%2013%2018'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.hws .hws-btn:is(.hwx-sf-btn-gold-out)::after{ content:"";flex:none;width:19px;height:19px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2.1'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cline%20x1%3D'6'%20y1%3D'18'%20x2%3D'18'%20y2%3D'6'%2F%3E%3Cpolyline%20points%3D'8%206%2018%206%2018%2016'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2.1'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cline%20x1%3D'6'%20y1%3D'18'%20x2%3D'18'%20y2%3D'6'%2F%3E%3Cpolyline%20points%3D'8%206%2018%206%2018%2016'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
/* The pills that were plain links in v1 kept the paragraph's line height. */
.hws .hws-btn:is(.hwx-sf-btn-pill,.hwx-sf-btn-brand){ line-height:1.6; white-space:normal; }
.hws .hws-btn:is(.hwx-sf-card-link){ margin-top:auto; padding:18px 0 0; border:0; border-radius:0; background:none; justify-content:flex-start; gap:7px; font-size:15px; color:var(--ink);
  line-height:1.6; white-space:normal; }
.hws .hws-btn:is(.hwx-sf-card-link)::after{ content:"";flex:none;width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2.1'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cline%20x1%3D'4'%20y1%3D'12'%20x2%3D'19'%20y2%3D'12'%2F%3E%3Cpolyline%20points%3D'13%206%2019%2012%2013%2018'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2.1'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cline%20x1%3D'4'%20y1%3D'12'%20x2%3D'19'%20y2%3D'12'%2F%3E%3Cpolyline%20points%3D'13%206%2019%2012%2013%2018'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
/* A button alone sits on a line, as v1's did. */
.hws .hwx-sf-btn-line{ margin-top:40px; }
.hws .hwx-sf-btns-center{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:28px; align-items:normal; }

/* ---- cards: an item's accent colours its card ---- */
.hws :is(.hwx-sf-card-why,.hwx-sf-card-service,.hwx-sf-quote-card){ --acc:var(--brand); --acc-text:var(--brand); --acc-soft:var(--blue-100); }
.hws :is(.hwx-sf-card-why,.hwx-sf-card-service,.hwx-sf-quote-card):has([data-accent="rust"]){ --acc:var(--accent); --acc-text:var(--accent); --acc-soft:var(--rust-100); }
.hws :is(.hwx-sf-card-why,.hwx-sf-card-service,.hwx-sf-quote-card):has([data-accent="gold"]){ --acc:var(--highlight); --acc-text:var(--gold-600); --acc-soft:var(--gold-100); }
.hws .hwx-sf-why{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:48px; align-self:auto; }
.hws .hwx-sf-card-why{ display:block; align-self:start; background:var(--surface-card); border-radius:var(--r-md); padding:24px; border:2px solid var(--ink); box-shadow:5px 5px 0 var(--acc);
  transition:transform var(--dur-base) var(--ease-spring),box-shadow var(--dur-base) var(--ease-out); }
.hws .hwx-sf-card-why:hover{ transform:translateY(var(--lift-y)); box-shadow:8px 8px 0 var(--acc); }
.hws .hwx-sf-icon-why{ display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:var(--r-md); border:2px solid var(--ink);
  background:var(--paper); color:var(--acc-text); margin-bottom:16px; }
.hws .hwx-sf-icon-why > svg{ width:28px; height:28px; }
.hws .hwx-sf-why-title{ margin:0 0 8px; font-size:19px; }
.hws .hwx-sf-why-text{ font-size:15px; line-height:1.55; color:var(--text-body); }

.hws :is(.hwx-sf-svc3,.hwx-sf-svc-grid){ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-self:auto; }
.hws .hwx-sf-svc3{ margin-top:40px; }
.hws .hwx-sf-svc-list{ display:contents; }
.hws .hwx-sf-card-service{ display:flex; flex-direction:column; align-items:normal; gap:0; background:var(--surface-card); border:2px solid var(--ink); border-radius:var(--r-md);
  box-shadow:4px 4px 0 var(--ink); padding:26px; transition:transform var(--dur-base) var(--ease-spring),box-shadow var(--dur-base) var(--ease-out); }
.hws .hwx-sf-card-service:hover{ transform:translateY(-6px); box-shadow:8px 8px 0 var(--acc); }
.hws .hwx-sf-icon-service{ display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:var(--r-md); background:var(--acc-soft);
  border:2px solid var(--ink); color:var(--acc-text); margin-bottom:18px; }
.hws .hwx-sf-icon-service > svg{ width:30px; height:30px; stroke-width:2.2; }
.hws .hwx-sf-service-title{ margin:0 0 6px; font-size:22px; }
.hws .hwx-sf-snark{ margin:0 0 12px; font-family:var(--font-display); font-weight:500; font-size:15px; color:var(--acc-text); }
.hws .hwx-sf-service-text{ font-size:15.5px; line-height:1.55; color:var(--text-body); }
.hws .hwx-sf-head-row{ display:flex; justify-content:space-between; align-items:flex-end; gap:20px; flex-wrap:wrap; }
.hws .hwx-sf-helper{ display:flex; flex-direction:column; justify-content:center; align-items:normal; gap:0; padding:26px; background:var(--gold-100); border-radius:var(--r-md);
  border:2px solid var(--ink); box-shadow:5px 5px 0 var(--highlight); }
.hws .hwx-sf-helper-title{ margin:0 0 8px; font-size:22px; }
.hws .hwx-sf-helper-text{ margin:0 0 18px; font-size:15px; color:var(--text-body); }

/* ---- figures ---- */
.hws .hwx-sf-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center; align-self:auto; }
.hws .hwx-sf-about-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:44px; align-self:auto; }
.hws :is(.hwx-sf-stat-value,.hwx-sf-count){ font-family:var(--font-display); font-weight:700; color:var(--paper); line-height:1; }
.hws .hwx-sf-stat-value{ font-size:clamp(2.4rem,5vw,3.6rem); }
.hws .hwx-sf-count{ font-size:clamp(2.2rem,5vw,3.4rem); }
.hws .hwx-sf-stats > :nth-child(2n) .hwx-sf-stat-value, .hws .hwx-sf-about-stats > :nth-child(2) .hwx-sf-count{ color:var(--gold-500); }
.hws :is(.hwx-sf-stat-label,.hwx-sf-mission-label){ margin-top:8px; font-size:15px; color:rgba(251,246,236,0.7); }
.hws .hwx-sf-mission-label{ color:rgba(251,246,236,0.72); }

/* ---- testimonials ---- */
.hws .hwx-sf-tgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:44px; align-self:auto; }
.hws .hwx-sf-quote-card{ margin:0; display:flex; flex-direction:column; align-items:normal; gap:0; background:var(--surface-card); border:2px solid var(--ink);
  border-radius:var(--r-md); box-shadow:5px 5px 0 var(--acc); padding:28px; }
.hws .hwx-sf-stars{ display:flex; gap:3px; margin-bottom:16px; color:var(--acc); }
.hws .hwx-sf-quote-text{ flex:1; font-family:var(--font-display); font-weight:500; font-size:20px; line-height:1.4; color:var(--text-strong); }
.hws .hwx-sf-quote-text::before{ content:"\201C"; }
.hws .hwx-sf-quote-text::after{ content:"\201D"; }
.hws .hwx-sf-quote-by{ display:flex; flex-wrap:nowrap; align-items:center; justify-content:flex-start; gap:13px; margin-top:22px; }
.hws .hwx-sf-avatar{ display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; flex:0 0 auto; border-radius:50%; border:2px solid var(--ink);
  background:var(--blue-100); color:var(--brand); font-family:var(--font-display); font-weight:700; font-size:16px; }
.hws .hwx-sf-quote-name{ display:block; font-family:var(--font-display); font-weight:700; font-size:15.5px; color:var(--text-strong); }
.hws .hwx-sf-quote-role{ font-family:var(--font-body); font-size:13.5px; color:var(--text-muted); }
.hws :is(.hwx-sf-role,.hwx-sf-business){ display:inline; font:inherit; color:inherit; }
.hws .hwx-sf-role::after{ content:","; }
.hws .hwx-sf-business::before{ content:" "; }

/* ---- the closing panel ---- */
.hws .hwx-sf-closing > .hws-in, .hws .hwx-sf-contact > .hws-in{ position:relative; }
.hws .hwx-sf-contact > .hws-in{ max-width:1100px; }
/* The form card sits on the band's bottom edge, and its offset shadow lies over the footer, as v1's did. */
.hws .hwx-sf-contact{ overflow:visible; }
.hws .hwx-sf-cta-panel{ position:relative; overflow:hidden; background:var(--brand); border-radius:var(--r-xl); border:2px solid var(--ink); box-shadow:8px 8px 0 var(--ink);
  padding:clamp(36px,5vw,64px); text-align:center; }
.hws .hwx-sf-cta-panel::after{ content:""; position:absolute; right:24px; bottom:-8px; width:90px; aspect-ratio:214/195; background:url("/scottfree/scottfree-runner.png") center/100% 100% no-repeat; opacity:.9; pointer-events:none; }
.hws .hwx-sf-cta-title{ font-size:var(--fs-h1); color:#fff; letter-spacing:-.02em; }
.hws .hwx-sf-cta-body{ max-width:540px; margin:16px auto 0; font-size:var(--fs-lead); color:rgba(255,255,255,0.9); }

/* ---- page headers ---- */
.hws .hwx-sf-page-head{ padding:clamp(40px,6vw,72px) 0 0; text-align:center; }
.hws .hwx-sf-page-head > .hws-in{ max-width:900px; text-align:center; }
.hws .hwx-sf-page-title{ font-size:var(--fs-h1); letter-spacing:-.02em; margin:16px 0 12px; }
.hws .hwx-sf-page-intro{ max-width:600px; margin:0 auto; font-size:var(--fs-lead); color:var(--text-muted); }
.hws .hwx-sf-about-title{ font-size:var(--fs-display); line-height:1.02; letter-spacing:-.03em; margin:18px 0 16px; }
.hws .hwx-sf-about-intro{ font-size:var(--fs-lead); line-height:1.55; color:var(--text-body); }
.hws .hwx-sf-intro-body{ font-size:var(--fs-lead); line-height:1.6; color:var(--text-body); margin:16px 0 18px; }

/* ---- the partner band ---- */
.hws .hwx-sf-partner-title{ font-size:var(--fs-h2); color:var(--paper); margin:12px 0 14px; }
.hws .hwx-sf-partner-text{ font-size:var(--fs-lead); color:rgba(251,246,236,0.82); margin:0 0 22px; }
.hws .hwx-sf-icon-tile{ display:inline-flex; align-items:center; justify-content:center; width:120px; height:120px; border-radius:var(--r-lg); background:rgba(251,246,236,0.06);
  border:2px solid rgba(251,246,236,0.2); color:var(--gold-500); }
.hws .hwx-sf-icon-tile > svg{ width:56px; height:56px; }

/* ---- the name story ---- */
.hws .hwx-sf-gag-panel{ background:var(--paper-2); border-radius:var(--r-xl); padding:clamp(28px,4vw,48px); }
.hws .hwx-sf-gag-words{ max-width:760px; }
.hws .hwx-sf-gag-body{ font-size:var(--fs-lead); line-height:1.6; color:var(--text-body); margin:16px 0 0; }
.hws .hwx-sf-gag-body > *{ margin:0; }
.hws .hwx-sf-gag-body strong{ font-weight:bolder; }

/* ---- meet the owner: the runner stands in until there's a photo ---- */
.hws .hwx-sf-portrait{ display:block; align-self:auto; position:relative; aspect-ratio:4/5; border-radius:var(--r-xl); border:2px solid var(--ink); box-shadow:8px 8px 0 var(--brand);
  background:linear-gradient(160deg,var(--blue-100),var(--gold-100)); overflow:hidden; }
.hws .hwx-sf-portrait > :is(img,.hws-img-empty){ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:0; }
.hws .hwx-sf-portrait:not(:has(img))::after{ content:""; position:absolute; left:19%; bottom:24px; width:62%; aspect-ratio:214/195; background:url("/scottfree/scottfree-runner.png") center/100% 100% no-repeat; pointer-events:none; }
.hws:not(.hws-edit) .hwx-sf-portrait:not(:has(img))::before{ content:"Photo coming soon"; position:absolute; top:14px; left:14px; z-index:1; display:inline-flex; align-items:center;
  padding:4px 11px; border-radius:var(--r-pill); background:var(--ink); color:var(--paper); font-family:var(--font-display); font-weight:700; font-size:12.5px; line-height:1.6; white-space:nowrap; }
.hws .hwx-sf-meet-title{ font-size:var(--fs-h2); letter-spacing:-.02em; margin:12px 0 16px; }
.hws :is(.hwx-sf-meet-p,.hwx-sf-meet-p-last){ font-size:var(--fs-body); line-height:1.65; color:var(--text-body); }
.hws .hwx-sf-meet-p{ margin:0 0 16px; }

/* ---- the mission ---- */
.hws .hwx-sf-mission{ text-align:center; max-width:820px; margin:0 auto; }
.hws .hwx-sf-mission-title{ font-size:var(--fs-h2); color:var(--paper); letter-spacing:-.02em; margin:14px 0 0; }

/* ---- contact: details beside the form ---- */
.hws .hwx-sf-contact-title{ font-size:var(--fs-h1); letter-spacing:-.02em; margin:16px 0 14px; }
.hws .hwx-sf-contact-intro{ font-size:var(--fs-lead); line-height:1.55; color:var(--text-body); margin:0 0 28px; }
.hws .hwx-sf-info{ display:flex; flex-direction:column; align-items:normal; gap:14px; }
.hws :is(.hwx-sf-info-mail,.hwx-sf-info-phone,.hwx-sf-info-pin){ display:flex; flex-wrap:nowrap; gap:14px; align-items:center; justify-content:flex-start; }
.hws :is(.hwx-sf-info-mail,.hwx-sf-info-phone,.hwx-sf-info-pin)::before{ content:""; width:48px; height:48px; flex:0 0 auto; border-radius:var(--r-sm); border:2px solid var(--ink); }
.hws .hwx-sf-info-mail::before{ background:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%230B4DA2'%20stroke-width%3D'2.1'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'3'%20y%3D'5'%20width%3D'18'%20height%3D'14'%20rx%3D'2.5'%2F%3E%3Cpolyline%20points%3D'3.5%207%2012%2013%2020.5%207'%2F%3E%3C%2Fsvg%3E") center/22px no-repeat,var(--blue-100); }
.hws .hwx-sf-info-phone::before{ background:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23E0A200'%20stroke-width%3D'2.1'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M6%203h3l1.5%204.5-2%201.5a12%2012%200%200%200%205.5%205.5l1.5-2%204.5%201.5V18a2%202%200%200%201-2%202A16%2016%200%200%201%204%206a2%202%200%200%201%202-3z'%2F%3E%3C%2Fsvg%3E") center/22px no-repeat,var(--gold-100); }
.hws .hwx-sf-info-pin::before{ background:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23D45A28'%20stroke-width%3D'2.1'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%2021s7-6%207-11a7%207%200%200%200-14%200c0%205%207%2011%207%2011z'%2F%3E%3Ccircle%20cx%3D'12'%20cy%3D'10'%20r%3D'2.5'%2F%3E%3C%2Fsvg%3E") center/22px no-repeat,var(--rust-100); }
.hws .hwx-sf-info-main{ display:block; font-family:var(--font-display); font-weight:700; color:var(--ink); }
.hws .hwx-sf-info-note{ display:inline; font-size:13.5px; color:var(--text-muted); }
.hws .hwx-sf-faq-list{ margin-top:36px; }

/* ---- header and footer: the layout's frame (native.ts, scottfreeFrame), as v1's shell drew it ---- */
.hws > header:has(.hwx-sf-header){ position:sticky; top:0; z-index:50; }
.hws .hwx-sf-header{ padding:0; background:none; overflow:visible; }
.hws :is(.hwx-sf-header,.hwx-sf-footer) > .hws-in{ padding:0; display:block; gap:0; }
.hws .hwx-sf-header > .hws-in{ max-width:none; }
/* The bar wraps: the logo, the menu and the buttons on its first line; the scroll progress, under the bar's rule, on the next; on a phone
 * the opened menu on a third, so it pushes the page down as v1's did. Once the page has scrolled the bar turns to frosted glass. */
.hws .hwx-sf-header-bar{ position:relative; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; column-gap:18px; row-gap:0;
  padding:14px var(--gutter) 0; background:var(--paper); transition:background var(--dur-base) var(--ease-out); }
.hws .hwx-sf-header-bar:has(.sf-progress[data-scrolled]){ background:rgba(251,246,236,0.88); -webkit-backdrop-filter:saturate(160%) blur(10px); backdrop-filter:saturate(160%) blur(10px); }
.hws .hwx-sf-header-bar > *{ margin-bottom:14px; }
.hws .hwx-sf-header-bar > .hwx-sf-header-progress{ flex:0 0 calc(100% + 2 * var(--gutter)); margin:0 calc(-1 * var(--gutter)); }
.hws .sf-progress{ position:relative; height:6px; border-top:2px solid transparent; transition:border-color var(--dur-base) var(--ease-out); }
.hws .sf-progress[data-scrolled]{ border-top-color:var(--ink); }
.hws .sf-progress-fill{ position:absolute; left:0; top:0; height:4px; background:var(--brand); transition:width 80ms linear; }
.hws .hwx-sf-header-nav{ gap:0; font-family:var(--font-display); font-size:15px; font-weight:700; font-style:normal; line-height:1.6; letter-spacing:normal; text-transform:none; }
.hws .hwx-sf-header-nav > .hws-nav-list{ flex-wrap:nowrap; gap:4px; }
.hws .hwx-sf-header-nav .hws-nav-a, .hws .hwx-sf-header-nav .hws-nav-a:hover{ display:block; padding:8px 13px; border-radius:var(--r-pill); font:inherit; color:var(--text-muted); }
.hws .hwx-sf-header-btns{ display:flex; flex-wrap:nowrap; align-items:center; justify-content:flex-start; gap:10px; }
.hws .hws-btn:is(.hwx-sf-btn-quiet-sm,.hwx-sf-btn-primary-sm,.hwx-sf-btn-gold-sm){ font-size:14px; padding:8px 16px; gap:7px; }
.hws .hws-btn:is(.hwx-sf-btn-quiet-sm){ background:transparent; color:var(--text-strong); border-color:transparent; }
.hws .hws-btn:is(.hwx-sf-btn-primary-sm){ background:var(--brand); color:#fff; border-color:var(--brand); }
.hws .hws-btn:is(.hwx-sf-btn-gold-sm){ background:var(--highlight); color:var(--ink); border-color:var(--ink); }
.hws .hws-btn:is(.hwx-sf-btn-primary-sm,.hwx-sf-btn-gold-sm)::after{ content:"";flex:none;width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2.1'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cline%20x1%3D'4'%20y1%3D'12'%20x2%3D'19'%20y2%3D'12'%2F%3E%3Cpolyline%20points%3D'13%206%2019%2012%2013%2018'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2.1'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cline%20x1%3D'4'%20y1%3D'12'%20x2%3D'19'%20y2%3D'12'%2F%3E%3Cpolyline%20points%3D'13%206%2019%2012%2013%2018'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
/* The menu button: v1's 44px square, its ≡ and ✕ in Ubuntu. */
.hws .hwx-sf-header-nav .hws-nav-btn{ width:44px; height:44px; margin:0; padding:0; border:2px solid var(--ink); border-radius:var(--r-sm); background:var(--cloud);
  color:var(--text-body); font-size:var(--fs-body); text-rendering:auto; }
.hws .hwx-sf-header-nav .hws-burger{ display:none; }
.hws .hwx-sf-header-nav .hws-nav-btn::before{ content:"≡"; font-family:var(--font-display); font-weight:700; font-size:var(--fs-body); line-height:1.6; }
.hws .hwx-sf-header-nav .hws-nav-m[open] .hws-nav-btn::before{ content:"✕"; }
/* Opened, v1's menu was smoothed in grey rather than in colour as the bar's words are; a layer of its own does the same. */
.hws .hwx-sf-header-nav .hws-nav-m[open]{ will-change:opacity; }
/* The opened menu: on the bar's cream at rest, its own once the bar is glass. */
.hws .hwx-sf-header-nav .hws-nav-panel{ position:static; padding:8px 18px 18px; background:none; color:inherit; border-top:0; border-bottom:2px solid var(--ink); box-shadow:none; }
.hws .hwx-sf-header-bar:has(.sf-progress[data-scrolled]) .hws-nav-panel{ background:var(--paper); }
.hws .hwx-sf-header-nav .hws-nav-mlist .hws-nav-a{ display:block; padding:13px 6px; border-radius:0; font-size:18px; color:var(--ink); border-bottom:1px solid var(--line); }
@media (min-width:721px){
  .hws .hwx-sf-header-nav.hws-nc-tablet > .hws-nav-list{ display:flex; }
  .hws .hwx-sf-header-nav.hws-nc-tablet > .hws-nav-m{ display:none; }
}
@media (max-width:720px){
  .hws .hwx-sf-header-nav.hws-nc-tablet > .hws-nav-list{ display:none; }
  .hws .hwx-sf-header-nav.hws-nc-tablet > .hws-nav-m{ display:block; }
  .hws .hwx-sf-header-bar > .hws-code[data-code="sf-logo"]{ min-height:44px; display:flex; align-items:center; }
  .hws .hwx-sf-header-bar > .hwx-sf-header-btns{ display:none; }
  .hws .hwx-sf-header-bar > .hwx-sf-header-progress{ order:1; }
  .hws .hwx-sf-header-bar > .hwx-sf-header-nav{ order:2; display:block; flex:0 0 calc(100% + 2 * var(--gutter)); margin:0 calc(-1 * var(--gutter)); }
  .hws .hwx-sf-header-nav .hws-nav-btn{ position:absolute; top:14px; right:var(--gutter); }
}

/* A plain block, as v1's footer was, so what overhangs the band above (the contact card's shadow) still shows over it. */
.hws .hwx-sf-footer{ position:static; isolation:auto; z-index:auto; padding:clamp(48px,7vw,80px) var(--gutter) 32px; background:var(--ink); color:var(--paper); overflow:visible; }
.hws .hwx-sf-footer > .hws-in{ max-width:1200px; margin-inline:auto; }
.hws .hwx-sf-foot-cols{ display:grid; grid-template-columns:minmax(220px,1.4fr) repeat(3,1fr); gap:36px; align-items:start; align-self:auto; }
.hws :is(.hwx-sf-foot-brand,.hwx-sf-foot-col){ display:block; align-self:auto; min-width:auto; }
.hws .hwx-sf-foot-tagline{ margin-top:18px; max-width:280px; font-size:15.5px; color:rgba(251,246,236,0.78); }
.hws .hwx-sf-foot-location{ display:flex; align-items:center; gap:8px; margin-top:18px; font-size:14px; color:rgba(251,246,236,0.7); }
.hws .hwx-sf-foot-location::before{ content:"";flex:none;width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2.1'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%2021s7-6%207-11a7%207%200%200%200-14%200c0%205%207%2011%207%2011z'%2F%3E%3Ccircle%20cx%3D'12'%20cy%3D'10'%20r%3D'2.5'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2.1'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%2021s7-6%207-11a7%207%200%200%200-14%200c0%205%207%2011%207%2011z'%2F%3E%3Ccircle%20cx%3D'12'%20cy%3D'10'%20r%3D'2.5'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.hws .hwx-sf-foot-title{ margin-bottom:14px; font-family:var(--font-display); font-weight:700; font-size:14px; letter-spacing:.06em; text-transform:uppercase; color:var(--gold-500); }
.hws .hwx-sf-foot-links{ display:block; font-family:var(--font-body); font-size:var(--fs-body); font-weight:400; font-style:normal; line-height:1.6; letter-spacing:normal;
  text-transform:none; }
.hws .hwx-sf-foot-links > .hws-nav-list{ display:block; }
.hws .hwx-sf-foot-links .hws-nav-a, .hws .hwx-sf-foot-links .hws-nav-a:hover{ display:block; padding:0; margin-bottom:10px; font-size:15.5px; color:rgba(251,246,236,0.82); }
.hws :is(.hwx-sf-foot-mail,.hwx-sf-foot-phone){ display:flex; align-items:center; gap:9px; font-size:15.5px; }
.hws .hwx-sf-foot-mail{ margin-bottom:10px; }
.hws :is(.hwx-sf-foot-mail,.hwx-sf-foot-phone)::before{ color:var(--gold-500); }
.hws .hwx-sf-foot-mail::before{ content:"";flex:none;width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2.1'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'3'%20y%3D'5'%20width%3D'18'%20height%3D'14'%20rx%3D'2.5'%2F%3E%3Cpolyline%20points%3D'3.5%207%2012%2013%2020.5%207'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2.1'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'3'%20y%3D'5'%20width%3D'18'%20height%3D'14'%20rx%3D'2.5'%2F%3E%3Cpolyline%20points%3D'3.5%207%2012%2013%2020.5%207'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.hws .hwx-sf-foot-phone::before{ content:"";flex:none;width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2.1'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M6%203h3l1.5%204.5-2%201.5a12%2012%200%200%200%205.5%205.5l1.5-2%204.5%201.5V18a2%202%200%200%201-2%202A16%2016%200%200%201%204%206a2%202%200%200%201%202-3z'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2.1'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M6%203h3l1.5%204.5-2%201.5a12%2012%200%200%200%205.5%205.5l1.5-2%204.5%201.5V18a2%202%200%200%201-2%202A16%2016%200%200%201%204%206a2%202%200%200%201%202-3z'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.hws .hwx-sf-foot-btn-line{ display:block; margin-top:18px; }
.hws .hwx-sf-foot-dict{ margin-top:44px; }
.hws .hwx-sf-foot-bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:normal; gap:12px; margin-top:28px; font-size:13.5px; color:rgba(251,246,236,0.6); }
.hws .hwx-sf-foot-note{ font-size:inherit; }
.hws .hwx-sf-foot-legal{ display:flex; flex-wrap:nowrap; gap:18px; align-items:normal; justify-content:flex-start; }
.hws .hws-btn:is(.hwx-sf-foot-legal-link){ display:block; padding:0; border:0; border-radius:0; background:none; font:inherit; letter-spacing:inherit; text-transform:none; color:inherit;
  white-space:normal; filter:none; transform:none; }

/* ---- v1's grids: two across at 1040px and below, one at 720px (last, so they win) ---- */
@media (max-width:1040px){ .hws :is(.hwx-sf-why,.hwx-sf-svc3,.hwx-sf-svc-grid,.hwx-sf-stats,.hwx-sf-tgrid,.hwx-sf-about-stats){ grid-template-columns:repeat(2,1fr); } }
@media (max-width:720px){ .hws :is(.hwx-sf-why,.hwx-sf-svc3,.hwx-sf-svc-grid,.hwx-sf-stats,.hwx-sf-tgrid,.hwx-sf-about-stats,.hwx-sf-foot-cols){ grid-template-columns:1fr; } }
