
.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{
  --steel-950:#15171A; --steel-900:#1C1F23; --steel-850:#23262B; --steel-800:#2B2F35;
  --steel-750:#34383F; --steel-700:#3D424A; --steel-600:#4E545D; --steel-500:#6B7480;
  --steel-400:#8B95A1; --steel-300:#AEB6C0; --steel-200:#CDD3DA; --steel-150:#DEE2E7;
  --steel-100:#E9ECEF; --steel-75:#F1F3F5; --steel-50:#F6F8FA; --white:#FFFFFF;
  --ink-900:#1C1F23; --ink-700:#2F343A; --ink-600:#3D424A; --ink-500:#4E545D;
  --blue-700:#2C516E; --blue-600:#356084; --blue-500:#4A769B; --blue-400:#6E96B8;
  --brass-500:#9A7B43; --brass-400:#B89A5E;
  --green-600:#3C7A4E; --red-600:#B23B30; --amber-600:#B6822A;
  --brand:var(--blue-600); --brand-hover:var(--blue-700); --brand-active:#233f57;
  --brand-contrast:var(--white); --accent:var(--blue-600); --accent-hover:var(--blue-700);
  --bg:var(--steel-50); --surface:var(--white); --surface-sunken:var(--steel-100);
  --surface-card:var(--white); --border:var(--steel-150); --border-strong:var(--steel-300);
  --text-strong:var(--steel-950); --text-body:var(--steel-800); --text-muted:var(--steel-500);
  --text-faint:var(--steel-400); --text-on-brand:var(--white); --text-on-dark:var(--steel-100);
  --link:var(--blue-600); --focus-ring:var(--blue-500);
  --success:var(--green-600); --danger:var(--red-600); --warning:var(--amber-600); --info:var(--blue-500);
  --font-display:'Alfa Slab One',Rockwell,'Roboto Slab',Georgia,serif;
  --font-heading:'Barlow Condensed','Oswald',system-ui,sans-serif;
  --font-body:'Barlow',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
  --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700;
  --text-2xs:0.6875rem; --text-xs:0.75rem; --text-sm:0.875rem; --text-base:1rem;
  --text-md:1.125rem; --text-lg:1.5rem; --text-xl:1.875rem; --text-2xl:2.5rem;
  --text-3xl:3.25rem; --text-4xl:4rem; --text-5xl:5rem;
  --leading-tight:0.98; --leading-snug:1.08; --leading-normal:1.55; --leading-relaxed:1.7;
  --tracking-display:0.005em; --tracking-heading:0.02em; --tracking-normal:0;
  --tracking-wide:0.06em; --tracking-eyebrow:0.2em;
  --space-1:0.25rem; --space-2:0.5rem; --space-3:0.75rem; --space-4:1rem; --space-5:1.5rem;
  --space-6:2rem; --space-7:3rem; --space-8:4rem; --space-9:6rem; --space-10:8rem;
  --container:1240px; --container-narrow:880px; --gutter:clamp(1.25rem,4vw,4rem);
  --radius-none:0; --radius-sm:2px; --radius-md:4px; --radius-lg:6px; --radius-pill:999px;
  --section-y:clamp(64px,9vw,110px);
  --border-width:1px; --border-width-thick:2px;
  --shadow-sm:0 1px 2px rgba(21,23,26,0.06),0 1px 1px rgba(21,23,26,0.04);
  --shadow-md:0 4px 12px rgba(21,23,26,0.08);
  --shadow-lg:0 14px 36px rgba(21,23,26,0.12);
  --shadow-xl:0 28px 64px rgba(21,23,26,0.18);
  --shadow-edge:inset 0 1px 0 rgba(255,255,255,0.05);
  --ring:0 0 0 3px rgba(74,118,155,0.30);
  --ease-out:cubic-bezier(0.22,0.61,0.27,1); --ease-in-out:cubic-bezier(0.5,0,0.2,1);
  --dur-fast:140ms; --dur-base:240ms; --dur-slow:460ms;
  --engrave-hatch:repeating-linear-gradient(90deg,currentColor 0,currentColor 1px,transparent 1px,transparent 5px);
  --engrave-hatch-diag:repeating-linear-gradient(-45deg,rgba(61,66,74,0.10) 0,rgba(61,66,74,0.10) 1px,transparent 1px,transparent 5px);
  --cad-viewport:radial-gradient(120% 120% at 50% 35%,#FFFFFF 0%,#EEF1F4 45%,#DCE0E6 100%);
  --steel-sheen:linear-gradient(180deg,rgba(255,255,255,0.05),rgba(255,255,255,0) 42%);
  /* A section heading's quiet and strong colours: v1 gave them on dark bands by hand. */
  --sw-head-muted:var(--steel-500); --sw-head-strong:var(--steel-950);
}
/* Dark scope — heroes, the industries band, the quote band, the footer (v1's .on-dark). */
.hws [data-surface="dark"],.hws .on-dark{
  --bg:var(--steel-950); --surface:var(--steel-900); --surface-sunken:var(--steel-950);
  --surface-card:var(--steel-800); --border:var(--steel-700); --border-strong:var(--steel-600);
  --text-strong:var(--white); --text-body:var(--steel-200); --text-muted:var(--steel-400);
  --text-faint:var(--steel-500); --link:var(--blue-400); --accent:var(--blue-400);
  --brand:var(--blue-500); --brand-hover:var(--blue-400); --brand-contrast:var(--white);
  --sw-head-muted:var(--steel-300); --sw-head-strong:#fff;
}

/* 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(--steel-50); color:var(--text-body); font-family:var(--font-body); font-size:var(--text-base); font-weight:400;
  line-height:var(--leading-normal); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:auto; text-rendering:optimizeLegibility;
  font-feature-settings:"ss01","cv01"; overflow-wrap:normal; }
.hws ::selection{ background:var(--brand); color:#fff; }
.hws :focus-visible{ outline:2px solid var(--focus-ring); outline-offset:2px; }
.hws > header:has(> .hws-code[data-code="sw-header"]){ position:sticky; top:0; z-index:50; }
@keyframes sw-rise{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce){ .hws :is(.hwx-sw-hero-eyebrow,.hwx-sw-hero-title,.hwx-sw-hero-highlight,.hwx-sw-hero-intro,.hwx-sw-hero-btns){ animation:none !important; opacity:1 !important; } }

/* ---- the code components' markup: v1's element rules and shared classes ---- */
.hws .hws-code :where(a){ color:inherit; text-decoration:none; transition:color var(--dur-fast) var(--ease-out); }
.hws .hws-code :where(p){ margin:0 0 1em; text-wrap:pretty; }
.hws .hws-code :where(h1){ font-family:var(--font-display); font-weight:400; color:var(--text-strong); line-height:var(--leading-tight);
  letter-spacing:var(--tracking-display); text-transform:uppercase; margin:0 0 .35em; text-wrap:balance; font-size:var(--text-4xl); }
.hws .hws-code :where(h2,h3,h4){ font-family:var(--font-heading); font-weight:var(--fw-bold); color:var(--text-strong); line-height:var(--leading-snug);
  letter-spacing:var(--tracking-heading); text-transform:uppercase; margin:0 0 .4em; text-wrap:balance; }
.hws .hws-code :where(h2){ font-size:var(--text-2xl); }
.hws .hws-code :where(h3){ font-size:var(--text-xl); }
.hws .hws-code :where(h4){ font-size:var(--text-lg); }
.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); }
.hws .sw-mobile-menu{ display:none; }
@media (max-width:860px){
  .hws .sw-desktop-nav{ display:none !important; }
  .hws .sw-mobile-only{ display:inline-flex !important; }
  .hws .sw-mobile-menu{ display:block; }
  .hws .sw-footgrid{ grid-template-columns:1fr 1fr !important; }
}
@media (max-width:560px){
  .hws .sw-phone-inline{ display:none !important; }
  .hws .sw-footgrid{ grid-template-columns:1fr !important; }
  .hws .sw-form-grid{ grid-template-columns:1fr !important; }
}

/* ---- bands: v1's section wrapper (bridge/section.tsx) and SwWrap ---- */
.hws :is(.hwx-sw-band,.hwx-sw-band-narrow,.hwx-sw-band-ruled,.hwx-sw-band-values,.hwx-sw-band-portfolio,.hwx-sw-band-area){ padding:var(--section-y) 0; background:var(--steel-50); color:var(--text-body); overflow:visible; }
.hws :is(.hwx-sw-band,.hwx-sw-band-narrow,.hwx-sw-band-ruled,.hwx-sw-band-values,.hwx-sw-band-portfolio,.hwx-sw-band-area)[data-surface="white"]{ background:var(--white); }
.hws :is(.hwx-sw-band,.hwx-sw-band-narrow,.hwx-sw-band-ruled,.hwx-sw-band-values,.hwx-sw-band-portfolio,.hwx-sw-band-area)[data-surface="dark"]{ background:var(--steel-950); }
.hws :is(.hwx-sw-band,.hwx-sw-band-narrow,.hwx-sw-band-ruled,.hwx-sw-band-values,.hwx-sw-band-portfolio,.hwx-sw-band-area)[data-surface="dark"]::before{ content:""; position:absolute; inset:0; color:rgba(255,255,255,0.02); background:var(--engrave-hatch); pointer-events:none; }
.hws :is(.hwx-sw-band,.hwx-sw-band-narrow,.hwx-sw-band-ruled,.hwx-sw-band-values,.hwx-sw-band-portfolio,.hwx-sw-band-area,.hwx-sw-hero,.hwx-sw-page-head,.hwx-sw-emergency,.hwx-sw-quote) > .hws-in{ max-width:var(--container); padding-inline:var(--gutter); display:block; position:relative; text-align:left; gap:0; }
.hws :is(.hwx-sw-band-narrow,.hwx-sw-band-area) > .hws-in{ max-width:var(--container-narrow); }
.hws :is(.hwx-sw-band-ruled,.hwx-sw-band-area){ padding:clamp(48px,6vw,80px) 0; }
.hws .hwx-sw-band-ruled{ border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.hws .hwx-sw-band-area > .hws-in::before{ content:""; display:block; height:8px; width:100%; color:var(--steel-300); background:var(--engrave-hatch); }
/* A band with nothing to list hides, on a public page. */
.hws:not(.hws-edit) .hwx-sw-band-ruled:not(:has(.hwx-sw-stats)),
.hws:not(.hws-edit) .hwx-sw-band-values:not(:has(.hwx-sw-values)),
.hws:not(.hws-edit) .hwx-sw-band-portfolio:not(:has(.sw-pf-grid)){ display:none; }

/* ---- the hero and the page header: a photo behind, its wash, the hatch ---- */
.hws :is(.hwx-sw-hero,.hwx-sw-page-head){ padding:0; background:var(--steel-950); color:var(--text-body); overflow:hidden; }
.hws .hwx-sw-hero > .hws-in{ padding:clamp(64px,9vw,130px) var(--gutter) 0; }
.hws .hwx-sw-page-head > .hws-in{ padding:clamp(56px,7vw,96px) var(--gutter); }
.hws :is(.hwx-sw-hero,.hwx-sw-page-head) > .hws-ov{ opacity:1; z-index:-2; }
.hws .hwx-sw-hero > .hws-ov{ background:linear-gradient(100deg,rgba(21,23,26,0.94) 0%,rgba(21,23,26,0.72) 55%,rgba(21,23,26,0.45) 100%); }
.hws .hwx-sw-page-head > .hws-ov{ background:linear-gradient(100deg,rgba(21,23,26,0.94) 0%,rgba(21,23,26,0.74) 100%); }
.hws .hwx-sw-hero::before{ content:""; position:absolute; inset:0; z-index:-1; opacity:.6; background:radial-gradient(120% 90% at 80% 20%,rgba(53,96,132,0.22),transparent 60%); pointer-events:none; }
.hws :is(.hwx-sw-hero,.hwx-sw-page-head)::after{ content:""; position:absolute; inset:0; z-index:-1; color:rgba(255,255,255,0.025); background:var(--engrave-hatch); pointer-events:none; }
/* No photo yet: v1's stand-in, a gradient with the photo's label in the middle. */
.hws .hwx-sw-hero:not(:has(> .hws-sec-bg)){ background:linear-gradient(115deg,#15171A 0%,#1C1F23 55%,#2B2F35 100%); }
.hws .hwx-sw-page-head:not(:has(> .hws-sec-bg)){ background:linear-gradient(115deg,#15171A 0%,#1C1F23 60%,#2B2F35 100%); }
.hws :is(.hwx-sw-hero,.hwx-sw-page-head):not(:has(> .hws-sec-bg)) > .hws-in::before{ position:absolute; inset:0; z-index:-1; display:flex; align-items:center; justify-content:center;
  padding-top:34px; 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'%236B7480'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20width%3D'18'%20height%3D'18'%20x%3D'3'%20y%3D'3'%20rx%3D'2'%2F%3E%3Ccircle%20cx%3D'9'%20cy%3D'9'%20r%3D'2'%2F%3E%3Cpath%20d%3D'm21%2015-3.09-3.09a2%202%200%200%200-2.82%200L6%2021'%2F%3E%3C%2Fsvg%3E") center calc(50% - 17px)/26px no-repeat; color:var(--steel-500);
  font-family:var(--font-mono); font-size:var(--text-2xs); letter-spacing:.16em; text-transform:uppercase; pointer-events:none; }
.hws .hwx-sw-hero:not(:has(> .hws-sec-bg)) > .hws-in::before{ content:"Hero photo"; }
.hws .hwx-sw-page-head:not(:has(> .hws-sec-bg)) > .hws-in::before{ content:"Shop floor"; }

/* ---- columns: v1's .sw-split, one column at 1040px and below ---- */
.hws :is(.hwx-sw-split,.hwx-sw-split-top,.hwx-sw-split-stretch){ display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:clamp(32px,5vw,72px); align-self:auto; }
.hws .hwx-sw-split{ align-items:center; }
.hws .hwx-sw-split-top{ align-items:start; }
.hws .hwx-sw-split-stretch{ align-items:normal; }
@media (max-width:1040px){ .hws :is(.hwx-sw-split,.hwx-sw-split-top,.hwx-sw-split-stretch){ grid-template-columns:1fr; } }

/* ---- groups: plain blocks, as v1's divs were ---- */
.hws :is(.hwx-sw-head,.hwx-sw-head-page,.hwx-sw-words,.hwx-sw-card-service,.hwx-sw-card-value,.hwx-sw-industry,.hwx-sw-stat,.hwx-sw-stat-figure,.hwx-sw-cta,.hwx-sw-emergency-number,.hwx-sw-contact-words,.hwx-sw-area-words,.hwx-sw-btn-after,.hwx-sw-btn-line,.hwx-sw-btn-ruled){ display:block; align-self:auto; }
.hws :is(.hwx-sw-head,.hwx-sw-head-page){ max-width:640px; text-align:left; }
.hws .hwx-sw-head-page{ max-width:720px; }
.hws .hwx-sw-cta{ text-align:center; }

/* ---- words: everything a text style sets, then each one's own ---- */
.hws :is(.hwx-sw-eyebrow,.hwx-sw-intro,.hwx-sw-hero-eyebrow,.hwx-sw-hero-highlight,.hwx-sw-hero-intro,.hwx-sw-body,.hwx-sw-card-text,.hwx-sw-card-detail,.hwx-sw-badge,.hwx-sw-spec,.hwx-sw-industry-text,.hwx-sw-stat-value,.hwx-sw-stat-suffix,.hwx-sw-stat-label,.hwx-sw-rich,.hwx-sw-rich-dark,.hwx-sw-cta-body,.hwx-sw-emergency-label,.hwx-sw-emergency-note,.hwx-sw-contact-label,.hwx-sw-contact-value,.hwx-sw-canadian,.hwx-sw-area-body,.hwx-sw-foot-title,.hwx-sw-foot-tagline,.hwx-sw-foot-note,.hwx-sw-heading,.hwx-sw-hero-title,.hwx-sw-card-title,.hwx-sw-industry-title,.hwx-sw-value-title,.hwx-sw-cta-title,.hwx-sw-area-title){ margin:0; max-width:none; font-family:var(--font-body); font-size:var(--text-base); font-weight:400; font-style:normal;
  line-height:var(--leading-normal); letter-spacing:normal; text-transform:none; text-wrap:wrap; text-align:inherit; color:inherit; }
.hws :is(.hwx-sw-intro,.hwx-sw-hero-intro,.hwx-sw-body,.hwx-sw-card-text,.hwx-sw-card-detail,.hwx-sw-industry-text,.hwx-sw-cta-body,.hwx-sw-emergency-note,.hwx-sw-area-body){ text-wrap:pretty; }
.hws :is(.hwx-sw-heading,.hwx-sw-hero-title,.hwx-sw-card-title,.hwx-sw-industry-title,.hwx-sw-value-title,.hwx-sw-cta-title,.hwx-sw-area-title){ font-family:var(--font-heading); font-weight:700; color:var(--text-strong); line-height:var(--leading-snug);
  letter-spacing:var(--tracking-heading); text-transform:uppercase; text-wrap:balance; }
.hws .hwx-sw-eyebrow{ display:inline-flex; align-items:center; gap:10px; justify-content:flex-start; font-family:var(--font-mono); font-size:var(--text-2xs); font-weight:500;
  letter-spacing:var(--tracking-eyebrow); text-transform:uppercase; color:var(--sw-head-muted); }
.hws .hwx-sw-eyebrow::before{ content:""; width:22px; height:2px; background:var(--accent); flex:none; }
.hws .hwx-sw-heading{ font-size:clamp(1.9rem,4vw,2.5rem); margin:14px 0 0; color:var(--sw-head-strong); }
.hws .hwx-sw-intro{ font-size:var(--text-md); line-height:1.6; margin:14px 0 0; color:var(--sw-head-muted); }
.hws .hwx-sw-body{ font-size:15.5px; line-height:1.7; color:var(--text-body); margin-top:18px; max-width:560px; }

/* The hero's words rise in, one after another. */
.hws :is(.hwx-sw-hero-eyebrow,.hwx-sw-hero-title,.hwx-sw-hero-highlight,.hwx-sw-hero-intro,.hwx-sw-hero-btns){ opacity:0; animation:sw-rise var(--dur-slow) var(--ease-out) forwards; }
.hws :is(.hwx-sw-hero-title,.hwx-sw-hero-highlight){ animation-delay:80ms; }
.hws .hwx-sw-hero-intro{ animation-delay:160ms; }
.hws .hwx-sw-hero-btns{ animation-delay:240ms; }
.hws-edit :is(.hwx-sw-hero-eyebrow,.hwx-sw-hero-title,.hwx-sw-hero-highlight,.hwx-sw-hero-intro,.hwx-sw-hero-btns){ animation:none; opacity:1; }
.hws .hwx-sw-hero-eyebrow{ display:inline-flex; align-items:center; gap:10px; font-family:var(--font-mono); font-size:12px; font-weight:500; letter-spacing:.22em;
  text-transform:uppercase; color:var(--blue-400); }
.hws .hwx-sw-hero-eyebrow::before{ content:""; width:24px; height:2px; background:var(--blue-400); flex:none; }
/* v1's h1 was balanced, but it held a line break, and a balanced block with a break in it wraps plainly
 * (on a phone "BUILT FROM / THE", not "BUILT / FROM THE"). Its two lines are two elements now, so they wrap plainly. */
.hws :is(.hwx-sw-hero-title,.hwx-sw-hero-highlight){ font-family:var(--font-display); font-weight:400; font-size:clamp(2.4rem,6.5vw,4.25rem); line-height:1;
  letter-spacing:var(--tracking-display); text-transform:uppercase; text-wrap:wrap; color:#fff; max-width:900px; }
.hws .hwx-sw-hero-title{ margin:20px 0 0; }
.hws .hwx-sw-hero-highlight{ color:var(--blue-400); }
.hws .hwx-sw-hero-intro{ font-size:clamp(1.05rem,2vw,1.375rem); line-height:1.55; color:var(--steel-300); margin:26px 0 0; max-width:620px; }

/* ---- buttons (parts/ui.tsx, BtnLink): no bounce, a 1px press ---- */
.hws .hws-btn:is(.hwx-sw-btn-primary,.hwx-sw-btn-primary-lg,.hwx-sw-btn-secondary,.hwx-sw-btn-hero-secondary,.hwx-sw-header-btn){ display:inline-flex; align-items:center; justify-content:center; gap:8px; width:auto; padding:11px 22px; font-family:var(--font-body);
  font-size:var(--text-sm); font-weight:600; font-style:normal; letter-spacing:.06em; text-transform:uppercase; line-height:1; border:1px solid transparent;
  border-radius:var(--radius-md); cursor:pointer; white-space:nowrap; user-select:none; text-decoration:none; filter:none; transform:none; box-shadow:none;
  transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out); }
.hws .hws-btn:is(.hwx-sw-btn-primary-lg,.hwx-sw-btn-hero-secondary){ padding:15px 30px; font-size:var(--text-base); gap:10px; }
.hws .hws-btn:is(.hwx-sw-btn-primary,.hwx-sw-btn-primary-lg,.hwx-sw-btn-secondary)::after{ content:"";flex:none;width:17px;height:17px;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'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M5%2012h14'%2F%3E%3Cpath%20d%3D'm12%205%207%207-7%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'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M5%2012h14'%2F%3E%3Cpath%20d%3D'm12%205%207%207-7%207'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.hws .hws-btn:is(.hwx-sw-btn-primary-lg)::after{ width:19px; height:19px; }
.hws .hws-btn:is(.hwx-sw-btn-hero-secondary)::before{ 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'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'm15%2012-8.4%208.4a2.1%202.1%200%200%201-3-3L12%209'%2F%3E%3Cpath%20d%3D'M17.6%206.4%2022%2010.8l-3.5%203.5-8.8-8.8L13.2%202z'%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'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'm15%2012-8.4%208.4a2.1%202.1%200%200%201-3-3L12%209'%2F%3E%3Cpath%20d%3D'M17.6%206.4%2022%2010.8l-3.5%203.5-8.8-8.8L13.2%202z'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.hws .hws-btn:is(.hwx-sw-btn-primary,.hwx-sw-btn-primary-lg,.hwx-sw-header-btn){ background:var(--brand); color:var(--brand-contrast); box-shadow:var(--shadow-sm); border-color:transparent; }
.hws .hws-btn:is(.hwx-sw-btn-primary,.hwx-sw-btn-primary-lg,.hwx-sw-header-btn):hover{ background:var(--brand-hover); filter:none; transform:none; }
.hws .hws-btn:is(.hwx-sw-btn-secondary,.hwx-sw-btn-hero-secondary){ background:transparent; color:var(--text-strong); border-color:var(--border-strong); }
.hws .hws-btn:is(.hwx-sw-btn-hero-secondary){ color:#fff; border-color:var(--steel-600); }
.hws .hws-btn:is(.hwx-sw-btn-secondary,.hwx-sw-btn-hero-secondary):hover{ border-color:var(--brand); filter:none; transform:none; }
.hws .hws-btn:is(.hwx-sw-btn-primary,.hwx-sw-btn-primary-lg,.hwx-sw-btn-secondary,.hwx-sw-btn-hero-secondary,.hwx-sw-header-btn):active{ transform:translateY(1px); }
.hws .hwx-sw-hero-btns{ display:flex; flex-wrap:wrap; gap:14px; margin-top:36px; align-items:normal; justify-content:flex-start; }
.hws .hwx-sw-btns-center{ display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; align-items:normal; justify-content:center; }
/* A button alone sits on a line, as v1's did. */
.hws .hwx-sw-btn-after{ margin-top:40px; }
.hws .hwx-sw-btn-line{ margin-top:28px; }
.hws .hwx-sw-btn-ruled{ margin-top:32px; }
.hws .hwx-sw-btn-ruled::before{ content:""; display:block; height:8px; width:100%; margin-bottom:32px; color:var(--steel-700); background:var(--engrave-hatch); }

/* ---- figures (v1's StatBlock): the colours follow the band ---- */
.hws :is(.hwx-sw-stats,.hwx-sw-hero-stats){ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:24px; align-self:auto; }
.hws .hwx-sw-hero-stats{ margin-top:clamp(48px,7vw,88px); border-top:1px solid var(--steel-800); padding:36px 0 56px; }
.hws .hwx-sw-head:not(:empty) + .hwx-sw-stats{ margin-top:44px; }
.hws .hwx-sw-stat{ text-align:left; }
.hws .hwx-sw-stat-figure{ font-family:var(--font-display); font-weight:var(--fw-bold); font-size:clamp(2.5rem,5vw,var(--text-4xl)); line-height:1;
  letter-spacing:var(--tracking-display); color:var(--text-strong); }
.hws :is(.hwx-sw-stat-value,.hwx-sw-stat-suffix){ display:inline; font:inherit; letter-spacing:inherit; }
.hws .hwx-sw-stat-suffix{ color:var(--accent); }
.hws .hwx-sw-stat-label{ font-family:var(--font-mono); font-size:var(--text-2xs); font-weight:500; letter-spacing:var(--tracking-eyebrow); text-transform:uppercase;
  color:var(--text-muted); margin-top:var(--space-2); }

/* ---- cards (v1's Card, with the hatched stripe on top) ---- */
.hws .hwx-sw-services{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:20px; margin-top:48px; align-self:auto; }
.hws .hwx-sw-values{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px; margin-top:48px; align-self:auto; }
.hws-edit :is(.hwx-sw-services,.hwx-sw-values) > .hws-li{ display:grid; }
.hws :is(.hwx-sw-card-service,.hwx-sw-card-value){ position:relative; overflow:hidden; border-radius:var(--radius-md); background:var(--surface-card); color:var(--text-body);
  border:1px solid var(--border); padding:calc(8px + var(--space-5)) var(--space-5) var(--space-5); }
.hws :is(.hwx-sw-card-service,.hwx-sw-card-value)::before{ content:""; position:absolute; top:0; left:0; right:0; height:8px; color:var(--steel-300); background:var(--engrave-hatch); }
.hws .hwx-sw-card-service{ transition:transform var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out); }
.hws .hwx-sw-card-service:hover{ border-color:var(--brand); transform:translateY(-3px); box-shadow:var(--shadow-lg); }
.hws .hwx-sw-card-top{ display:flex; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:12px; }
.hws .hwx-sw-icon-box{ width:48px; height:48px; flex:none; border-radius:var(--radius-md); background:var(--steel-900); display:inline-flex; align-items:center;
  justify-content:center; color:var(--accent); }
.hws .hwx-sw-icon-box > svg{ width:24px; height:24px; }
.hws .hwx-sw-icon-value{ color:var(--accent); }
.hws .hwx-sw-icon-value > svg{ width:28px; height:28px; }
.hws .hwx-sw-icon-industry{ color:var(--accent); }
.hws .hwx-sw-icon-industry > svg{ width:30px; height:30px; }
.hws .hwx-sw-badge{ display:inline-flex; align-items:center; gap:5px; padding:3px 8px; font-family:var(--font-mono); font-size:var(--text-2xs); font-weight:600;
  letter-spacing:.08em; text-transform:uppercase; line-height:1.3; border-radius:var(--radius-sm); background:transparent; color:var(--text-muted);
  border:1px solid var(--border-strong); }
.hws :is(.hwx-sw-card-title,.hwx-sw-value-title,.hwx-sw-industry-title){ font-size:var(--text-xl); }
.hws .hwx-sw-card-title{ margin:18px 0 8px; }
.hws .hwx-sw-value-title{ margin:20px 0 10px; }
.hws .hwx-sw-card-text{ font-size:14.5px; line-height:1.6; color:var(--text-muted); }
.hws .hwx-sw-card-detail{ margin-top:14px; font-size:14.5px; line-height:1.7; color:var(--text-body); }
.hws .hwx-sw-card-spec{ display:flex; flex-wrap:nowrap; align-items:center; gap:8px; margin-top:18px; padding-top:16px; border-top:1px solid var(--border); color:var(--text-faint); }
.hws .hwx-sw-card-spec::before{ content:"";flex:none;width:14px;height:14px;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'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M21.3%208.7%208.7%2021.3a1%201%200%200%201-1.4%200l-4.6-4.6a1%201%200%200%201%200-1.4L15.3%202.7a1%201%200%200%201%201.4%200l4.6%204.6a1%201%200%200%201%200%201.4'%2F%3E%3Cpath%20d%3D'm7.5%2010.5%202%202'%2F%3E%3Cpath%20d%3D'm10.5%207.5%202%202'%2F%3E%3Cpath%20d%3D'm13.5%204.5%202%202'%2F%3E%3Cpath%20d%3D'm4.5%2013.5%202%202'%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'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M21.3%208.7%208.7%2021.3a1%201%200%200%201-1.4%200l-4.6-4.6a1%201%200%200%201%200-1.4L15.3%202.7a1%201%200%200%201%201.4%200l4.6%204.6a1%201%200%200%201%200%201.4'%2F%3E%3Cpath%20d%3D'm7.5%2010.5%202%202'%2F%3E%3Cpath%20d%3D'm10.5%207.5%202%202'%2F%3E%3Cpath%20d%3D'm13.5%204.5%202%202'%2F%3E%3Cpath%20d%3D'm4.5%2013.5%202%202'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.hws:not(.hws-edit) .hwx-sw-card-spec:not(:has(.hwx-sw-spec)){ display:none; }
.hws .hwx-sw-spec{ font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--text-muted); }

/* ---- industries: tiles parted by 1px of steel ---- */
.hws .hwx-sw-industries{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1px; margin-top:48px; background:var(--steel-800);
  border:1px solid var(--steel-800); align-self:auto; }
.hws .hwx-sw-industry{ background:var(--steel-900); padding:36px; }
.hws .hwx-sw-industry-title{ color:#fff; margin:20px 0 10px; }
.hws .hwx-sw-industry-text{ color:var(--steel-400); font-size:15px; line-height:1.6; }

/* ---- the portfolio: its heading beside the filters, the gallery under both ---- */
.hws .hwx-sw-band-portfolio > .hws-in{ display:flex; flex-direction:row; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:24px; }
.hws:not(.hws-edit) .hwx-sw-band-portfolio .hws-code[data-code="sw-portfolio"]{ display:contents; }
.hws-edit .hwx-sw-band-portfolio .hws-code[data-code="sw-portfolio"]{ flex:0 0 100%; }
.hws .sw-pf-filters{ display:flex; gap:8px; flex-wrap:wrap; }
.hws .sw-pf-filter{ padding:8px 14px; font-family:var(--font-mono); font-size:11px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; cursor:pointer;
  border:1px solid var(--border-strong); background:transparent; color:var(--text-muted); border-radius:var(--radius-sm); transition:all var(--dur-fast) var(--ease-out); }
.hws .sw-pf-filter[aria-pressed="true"]{ border-color:var(--brand); background:var(--brand); color:#fff; }
.hws .sw-pf-grid{ flex:0 0 100%; display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:20px; margin-top:20px; }
.hws-edit .sw-pf-grid{ margin-top:44px; }
.hws .sw-pf-item{ margin:0; position:relative; }
.hws .sw-pf-ov{ position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,rgba(12,13,15,0.85)); opacity:0; transition:opacity var(--dur-base) var(--ease-out);
  border-radius:var(--radius-md); display:flex; align-items:flex-end; padding:20px; pointer-events:none; }
.hws .sw-pf-item:hover .sw-pf-ov{ opacity:1; }

/* ---- photos: a frame of v1's shape; its stand-in until there's a photo ---- */
.hws .hwx-sw-photo-pair{ display:grid; grid-template-columns:1fr 1fr; gap:16px; align-self:auto; }
.hws :is(.hwx-sw-photo-tall,.hwx-sw-photo-tall-low,.hwx-sw-photo-wide){ display:block; position:relative; width:100%; overflow:hidden; border-radius:var(--radius-md); align-self:auto; }
.hws :is(.hwx-sw-photo-tall,.hwx-sw-photo-tall-low){ aspect-ratio:3/4; }
.hws .hwx-sw-photo-tall-low{ margin-top:36px; }
.hws .hwx-sw-photo-wide{ aspect-ratio:4/3; }
.hws :is(.hwx-sw-photo-tall,.hwx-sw-photo-tall-low,.hwx-sw-photo-wide) > :is(img,.hws-img-empty){ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:0; }
.hws :is(.hwx-sw-photo-tall,.hwx-sw-photo-tall-low,.hwx-sw-photo-wide):not(:has(img)){ background:linear-gradient(135deg,#2B2F35 0%,#15171A 100%); }
.hws:not(.hws-edit) :is(.hwx-sw-photo-tall,.hwx-sw-photo-tall-low,.hwx-sw-photo-wide):not(:has(img))::before{ content:""; position:absolute; top:10px; right:10px; width:16px; height:16px;
  border-top:2px solid var(--accent); border-right:2px solid var(--accent); opacity:.7; }
.hws:not(.hws-edit) :is(.hwx-sw-photo-tall,.hwx-sw-photo-tall-low,.hwx-sw-photo-wide):not(:has(img))::after{ content:"Photo"; position:absolute; inset:0; display:flex; align-items:center;
  justify-content:center; padding-top:34px; 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'%236B7480'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20width%3D'18'%20height%3D'18'%20x%3D'3'%20y%3D'3'%20rx%3D'2'%2F%3E%3Ccircle%20cx%3D'9'%20cy%3D'9'%20r%3D'2'%2F%3E%3Cpath%20d%3D'm21%2015-3.09-3.09a2%202%200%200%200-2.82%200L6%2021'%2F%3E%3C%2Fsvg%3E") center calc(50% - 17px)/26px no-repeat; color:var(--steel-500);
  font-family:var(--font-mono); font-size:var(--text-2xs); letter-spacing:.16em; text-transform:uppercase; }

/* ---- long text (v1's .sw-rich) ---- */
.hws :is(.hwx-sw-rich,.hwx-sw-rich-dark){ font-size:15.5px; line-height:1.7; }
.hws .hwx-sw-rich{ margin-top:20px; color:var(--text-body); max-width:560px; }
.hws .hwx-sw-rich-dark{ margin-top:18px; color:var(--steel-300); }
.hws :is(.hwx-sw-rich,.hwx-sw-rich-dark) > *{ margin:0 0 1em; text-wrap:pretty; }
.hws :is(.hwx-sw-rich,.hwx-sw-rich-dark) > :last-child{ margin-bottom:0; }
.hws :is(.hwx-sw-rich,.hwx-sw-rich-dark) a{ color:var(--link); text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:auto; }
.hws :is(.hwx-sw-rich,.hwx-sw-rich-dark) :is(ul,ol){ margin:0 0 1em; padding-left:1.1em; list-style:none; }
.hws :is(.hwx-sw-rich,.hwx-sw-rich-dark) li{ margin:0 0 .4em; }
.hws :is(.hwx-sw-rich,.hwx-sw-rich-dark) > :is(h2,h3,h4){ font-family:var(--font-heading); font-weight:700; color:var(--text-strong); line-height:var(--leading-snug);
  letter-spacing:var(--tracking-heading); text-transform:uppercase; margin:0 0 .4em; text-wrap:balance; }

/* ---- the closing call to action ---- */
.hws .hwx-sw-cta-title{ font-size:clamp(1.9rem,4vw,2.5rem); }
.hws .hwx-sw-cta-body{ font-size:var(--text-md); line-height:1.6; color:var(--text-muted); margin:14px auto 0; max-width:560px; }

/* ---- the 24-hour strip ---- */
.hws .hwx-sw-emergency{ padding:0; background:var(--steel-950); border-bottom:1px solid var(--steel-800); overflow:visible; }
.hws .hwx-sw-emergency > .hws-in{ padding:40px var(--gutter); display:flex; flex-direction:row; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; }
.hws .hwx-sw-emergency-label{ font-family:var(--font-mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--blue-400); }
.hws .hws-btn.hwx-sw-emergency-phone{ display:inline-flex; align-items:center; justify-content:flex-start; gap:12px; margin-top:8px; padding:0; border:0; border-radius:0;
  background:none; font-family:var(--font-display); font-size:clamp(1.75rem,5vw,2.75rem); font-weight:400; font-style:normal; letter-spacing:normal;
  text-transform:none; line-height:1; color:#fff; white-space:normal; filter:none; transform:none; }
.hws .hws-btn.hwx-sw-emergency-phone::before{ content:"";flex:none;width:26px;height:26px;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'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M22%2016.92v3a2%202%200%200%201-2.18%202%2019.79%2019.79%200%200%201-8.63-3.07%2019.5%2019.5%200%200%201-6-6%2019.79%2019.79%200%200%201-3.07-8.67A2%202%200%200%201%204.11%202h3a2%202%200%200%201%202%201.72c.13.96.36%201.9.7%202.81a2%202%200%200%201-.45%202.11L8.09%209.91a16%2016%200%200%200%206%206l1.27-1.27a2%202%200%200%201%202.11-.45c.9.34%201.85.57%202.81.7A2%202%200%200%201%2022%2016.92z'%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'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M22%2016.92v3a2%202%200%200%201-2.18%202%2019.79%2019.79%200%200%201-8.63-3.07%2019.5%2019.5%200%200%201-6-6%2019.79%2019.79%200%200%201-3.07-8.67A2%202%200%200%201%204.11%202h3a2%202%200%200%201%202%201.72c.13.96.36%201.9.7%202.81a2%202%200%200%201-.45%202.11L8.09%209.91a16%2016%200%200%200%206%206l1.27-1.27a2%202%200%200%201%202.11-.45c.9.34%201.85.57%202.81.7A2%202%200%200%201%2022%2016.92z'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; color:var(--accent); }
.hws .hwx-sw-emergency-note{ max-width:380px; font-size:15px; line-height:1.6; color:var(--steel-400); }

/* ---- the quote band: the contact rows beside the form ---- */
.hws .hwx-sw-quote{ padding:var(--section-y) 0; background:var(--steel-900); color:var(--text-body); overflow:visible; scroll-margin-top:80px; }
.hws .hwx-sw-contact{ display:flex; flex-direction:column; align-items:stretch; gap:0; margin-top:36px; border-top:1px solid var(--steel-700); }
.hws :is(.hwx-sw-contact-phone,.hwx-sw-contact-pin,.hwx-sw-contact-mail){ display:flex; flex-wrap:nowrap; gap:16px; align-items:center; justify-content:flex-start; padding:18px 0;
  border-bottom:1px solid var(--steel-700); }
.hws :is(.hwx-sw-contact-phone,.hwx-sw-contact-pin,.hwx-sw-contact-mail)::before{ content:""; width:44px; height:44px; flex-shrink:0; border-radius:var(--radius-md); }
.hws .hwx-sw-contact-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'%236E96B8'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M22%2016.92v3a2%202%200%200%201-2.18%202%2019.79%2019.79%200%200%201-8.63-3.07%2019.5%2019.5%200%200%201-6-6%2019.79%2019.79%200%200%201-3.07-8.67A2%202%200%200%201%204.11%202h3a2%202%200%200%201%202%201.72c.13.96.36%201.9.7%202.81a2%202%200%200%201-.45%202.11L8.09%209.91a16%2016%200%200%200%206%206l1.27-1.27a2%202%200%200%201%202.11-.45c.9.34%201.85.57%202.81.7A2%202%200%200%201%2022%2016.92z'%2F%3E%3C%2Fsvg%3E") center/20px no-repeat,var(--steel-800); }
.hws .hwx-sw-contact-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'%236E96B8'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M20%2010c0%206-8%2012-8%2012s-8-6-8-12a8%208%200%200%201%2016%200'%2F%3E%3Ccircle%20cx%3D'12'%20cy%3D'10'%20r%3D'3'%2F%3E%3C%2Fsvg%3E") center/20px no-repeat,var(--steel-800); }
.hws .hwx-sw-contact-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'%236E96B8'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20width%3D'20'%20height%3D'16'%20x%3D'2'%20y%3D'4'%20rx%3D'2'%2F%3E%3Cpath%20d%3D'm22%207-8.97%205.7a1.94%201.94%200%200%201-2.06%200L2%207'%2F%3E%3C%2Fsvg%3E") center/20px no-repeat,var(--steel-800); }
.hws .hwx-sw-contact-label{ font-family:var(--font-mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--steel-500); }
.hws .hws-btn.hwx-sw-contact-link{ display:inline; padding:0; border:0; border-radius:0; background:none; font-family:var(--font-body); font-size:16px; font-weight:500;
  font-style:normal; letter-spacing:normal; text-transform:none; line-height:inherit; color:#fff; white-space:normal; filter:none; transform:none; }
.hws .hwx-sw-contact-value{ font-size:16px; color:var(--steel-200); }
.hws .hwx-sw-canadian{ display:inline-flex; align-items:center; gap:10px; margin-top:28px; font-family:var(--font-mono); font-size:12px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--steel-300); }
.hws .hwx-sw-canadian::before{ content:""; width:28px; height:18px; background:var(--brand); display:inline-block; border-radius:2px; flex:none; }
.hws .hwx-sw-form-panel{ align-self:start; }

/* ---- the service area note ---- */
.hws .hwx-sw-area{ display:flex; flex-wrap:nowrap; gap:16px; align-items:flex-start; justify-content:flex-start; margin-top:32px; }
.hws .hwx-sw-area::before{ content:""; width:44px; height:44px; flex-shrink:0; border-radius:var(--radius-md); border:1px solid var(--border);
  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'%23356084'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M20%2010c0%206-8%2012-8%2012s-8-6-8-12a8%208%200%200%201%2016%200'%2F%3E%3Ccircle%20cx%3D'12'%20cy%3D'10'%20r%3D'3'%2F%3E%3C%2Fsvg%3E") center/20px no-repeat,var(--white); }
.hws [data-surface="dark"] .hwx-sw-area::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'%236E96B8'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M20%2010c0%206-8%2012-8%2012s-8-6-8-12a8%208%200%200%201%2016%200'%2F%3E%3Ccircle%20cx%3D'12'%20cy%3D'10'%20r%3D'3'%2F%3E%3C%2Fsvg%3E") center/20px no-repeat,var(--white); }
.hws .hwx-sw-area-words{ min-width:0; }
.hws .hwx-sw-area-title{ font-size:var(--text-xl); margin:0 0 10px; }
.hws .hwx-sw-area-body{ font-size:15.5px; line-height:1.7; color:var(--text-body); }

/* ---- header and footer: the layout's frame (native.ts, steelWorksFrame), as v1's shell drew it ---- */
.hws > header:has(.hwx-sw-header){ position:sticky; top:0; z-index:50; }
.hws :is(.hwx-sw-header,.hwx-sw-footer){ padding:0; overflow:visible; }
.hws :is(.hwx-sw-header,.hwx-sw-footer) > .hws-in{ max-width:none; padding:0; display:block; gap:0; }
.hws .hwx-sw-header{ background:rgba(21,23,26,0.92); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border-bottom:1px solid var(--steel-800); }
.hws .hwx-sw-header::before{ content:""; display:block; height:8px; color:var(--steel-700); background:var(--engrave-hatch); }
/* The bar: the logo, the menu centred in what's left, then the phone and the button 16px apart. */
.hws .hwx-sw-header-bar{ width:100%; max-width:var(--container); height:76px; margin-inline:auto; padding-inline:var(--gutter); display:flex; flex-wrap:nowrap;
  align-items:center; justify-content:flex-start; gap:18px; }
.hws .hwx-sw-header-nav{ margin-inline:auto; gap:0; font-family:var(--font-body); font-size:13px; font-weight:600; font-style:normal; line-height:var(--leading-normal);
  letter-spacing:.06em; text-transform:uppercase; }
.hws .hwx-sw-header-nav > .hws-nav-list{ flex-wrap:nowrap; gap:28px; }
.hws .hwx-sw-header-nav .hws-nav-a{ display:block; padding:0; font:inherit; letter-spacing:inherit; text-transform:inherit; color:var(--steel-300); }
.hws .hwx-sw-header-nav .hws-nav-a:hover{ color:#fff; }
.hws .hws-btn.hwx-sw-header-phone{ display:flex; align-items:center; gap:8px; padding:0; border:0; border-radius:0; background:none; font-family:var(--font-mono);
  font-size:13px; font-weight:500; font-style:normal; letter-spacing:normal; text-transform:none; line-height:var(--leading-normal); color:#fff; white-space:normal;
  filter:none; transform:none; }
.hws .hws-btn.hwx-sw-header-phone::before{ content:"";flex:none;width:15px;height:15px;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'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M22%2016.92v3a2%202%200%200%201-2.18%202%2019.79%2019.79%200%200%201-8.63-3.07%2019.5%2019.5%200%200%201-6-6%2019.79%2019.79%200%200%201-3.07-8.67A2%202%200%200%201%204.11%202h3a2%202%200%200%201%202%201.72c.13.96.36%201.9.7%202.81a2%202%200%200%201-.45%202.11L8.09%209.91a16%2016%200%200%200%206%206l1.27-1.27a2%202%200%200%201%202.11-.45c.9.34%201.85.57%202.81.7A2%202%200%200%201%2022%2016.92z'%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'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M22%2016.92v3a2%202%200%200%201-2.18%202%2019.79%2019.79%200%200%201-8.63-3.07%2019.5%2019.5%200%200%201-6-6%2019.79%2019.79%200%200%201-3.07-8.67A2%202%200%200%201%204.11%202h3a2%202%200%200%201%202%201.72c.13.96.36%201.9.7%202.81a2%202%200%200%201-.45%202.11L8.09%209.91a16%2016%200%200%200%206%206l1.27-1.27a2%202%200%200%201%202.11-.45c.9.34%201.85.57%202.81.7A2%202%200%200%201%2022%2016.92z'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; color:var(--accent); }
.hws .hws-btn:is(.hwx-sw-header-btn){ margin-left:-2px; padding:7px 14px; font-size:var(--text-xs); gap:6px; }
.hws .hws-btn:is(.hwx-sw-header-btn)::after{ content:"";flex:none;width:15px;height:15px;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'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M5%2012h14'%2F%3E%3Cpath%20d%3D'm12%205%207%207-7%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'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M5%2012h14'%2F%3E%3Cpath%20d%3D'm12%205%207%207-7%207'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
/* The menu button: v1's 40px square with Lucide's menu and close glyphs. */
.hws .hwx-sw-header-nav .hws-nav-btn{ width:40px; height:40px; margin:0; padding:0; border:1px solid transparent; border-radius:var(--radius-md); background:transparent; color:#fff; }
.hws .hwx-sw-header-nav .hws-burger{ display:none; }
.hws .hwx-sw-header-nav .hws-nav-btn::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'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M4%206h16'%2F%3E%3Cpath%20d%3D'M4%2012h16'%2F%3E%3Cpath%20d%3D'M4%2018h16'%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'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M4%206h16'%2F%3E%3Cpath%20d%3D'M4%2012h16'%2F%3E%3Cpath%20d%3D'M4%2018h16'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.hws .hwx-sw-header-nav .hws-nav-m[open] .hws-nav-btn::before{ -webkit-mask-image: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'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M18%206%206%2018'%2F%3E%3Cpath%20d%3D'm6%206%2012%2012'%2F%3E%3C%2Fsvg%3E"); mask-image: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'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M18%206%206%2018'%2F%3E%3Cpath%20d%3D'm6%206%2012%2012'%2F%3E%3C%2Fsvg%3E"); }
/* The menu, under the bar and pushing the page down, as v1's did: in the header's glass. */
.hws .hwx-sw-header-nav .hws-nav-panel{ position:static; padding:12px var(--gutter) 20px; background:none; color:inherit; border-top:1px solid var(--steel-800); box-shadow:none; }
.hws .hwx-sw-header-nav .hws-nav-mlist .hws-nav-a{ padding:12px 0; font-size:13px; color:var(--steel-200); border-bottom:1px solid var(--steel-850); }
.hws .hwx-sw-header-nav .hws-nav-panel > .hws-btn.hws-nav-cta{ display:flex; align-items:center; justify-content:center; gap:8px; width:100%; margin:16px 0 0; padding:11px 22px;
  font-family:var(--font-body); font-size:var(--text-sm); font-weight:600; font-style:normal; letter-spacing:.06em; text-transform:uppercase; line-height:1;
  border:1px solid transparent; border-radius:var(--radius-md); background:var(--brand); color:var(--brand-contrast); box-shadow:var(--shadow-sm); white-space:nowrap;
  filter:none; transform:none; transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out); }
.hws .hwx-sw-header-nav .hws-nav-panel > .hws-btn.hws-nav-cta::after{ content:"";flex:none;width:17px;height:17px;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'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M5%2012h14'%2F%3E%3Cpath%20d%3D'm12%205%207%207-7%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'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M5%2012h14'%2F%3E%3Cpath%20d%3D'm12%205%207%207-7%207'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.hws .hwx-sw-header-nav .hws-nav-panel > .hws-btn.hws-nav-cta:hover{ background:var(--brand-hover); filter:none; transform:none; }
/* v1 folded its menu at 860px, not at the engine's 1100. Folded, the bar wraps: the logo and the phone on its first line (76px, the menu
 * button at its end), the menu on a second line the header's width, empty until it's opened. */
@media (min-width:861px){
  .hws .hwx-sw-header-nav.hws-nc-tablet > .hws-nav-list{ display:flex; }
  .hws .hwx-sw-header-nav.hws-nc-tablet > .hws-nav-m{ display:none; }
}
@media (max-width:860px){
  .hws .hwx-sw-header-bar{ position:relative; height:auto; flex-wrap:wrap; row-gap:0; }
  .hws .hwx-sw-header-bar > .hws-code{ min-height:76px; display:flex; align-items:center; }
  .hws .hwx-sw-header-nav.hws-nc-tablet > .hws-nav-list{ display:none; }
  .hws .hwx-sw-header-nav.hws-nc-tablet > .hws-nav-m{ display:block; }
  .hws .hwx-sw-header-nav{ order:1; display:block; flex:0 0 calc(100% + 2 * var(--gutter)); margin:0 calc(-1 * var(--gutter)); }
  .hws .hwx-sw-header-nav .hws-nav-btn{ position:absolute; top:18px; right:var(--gutter); }
  .hws .hws-btn.hwx-sw-header-phone{ margin:0 56px 0 auto; }
  .hws .hws-btn.hwx-sw-header-btn{ display:none; }
}
@media (max-width:560px){
  .hws .hws-btn.hwx-sw-header-phone{ display:none; }
}

/* A plain block, as v1's footer was, so what overhangs the band above still shows over it. */
.hws .hwx-sw-footer{ position:static; isolation:auto; z-index:auto; background:var(--steel-950); border-top:1px solid var(--steel-800); }
.hws .hwx-sw-foot-cols{ display:grid; grid-template-columns:minmax(240px,1.4fr) repeat(3,1fr); gap:40px; align-items:start; align-self:auto; width:100%;
  max-width:var(--container); margin-inline:auto; padding:clamp(48px,7vw,80px) var(--gutter) 0; }
@media (max-width:860px){ .hws .hwx-sw-foot-cols{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .hws .hwx-sw-foot-cols{ grid-template-columns:1fr; } }
.hws :is(.hwx-sw-foot-brand,.hwx-sw-foot-col){ display:block; align-self:auto; min-width:auto; }
.hws .hwx-sw-foot-tagline{ margin:18px 0 1em; max-width:280px; font-size:14px; line-height:1.6; color:var(--steel-500); }
.hws .hws-btn:is(.hwx-sw-foot-phone,.hwx-sw-foot-email){ align-items:center; justify-content:flex-start; gap:8px; padding:0; border:0; border-radius:0; background:none;
  font-family:var(--font-mono); font-weight:400; font-style:normal; letter-spacing:normal; text-transform:none; line-height:var(--leading-normal); white-space:normal;
  filter:none; transform:none; }
.hws .hws-btn:is(.hwx-sw-foot-phone,.hwx-sw-foot-email)::before{ color:var(--blue-400); }
.hws .hws-btn:is(.hwx-sw-foot-phone){ display:inline-flex; vertical-align:baseline; margin-top:18px; font-size:15px; color:#fff; }
.hws .hws-btn:is(.hwx-sw-foot-phone)::before{ 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'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M22%2016.92v3a2%202%200%200%201-2.18%202%2019.79%2019.79%200%200%201-8.63-3.07%2019.5%2019.5%200%200%201-6-6%2019.79%2019.79%200%200%201-3.07-8.67A2%202%200%200%201%204.11%202h3a2%202%200%200%201%202%201.72c.13.96.36%201.9.7%202.81a2%202%200%200%201-.45%202.11L8.09%209.91a16%2016%200%200%200%206%206l1.27-1.27a2%202%200%200%201%202.11-.45c.9.34%201.85.57%202.81.7A2%202%200%200%201%2022%2016.92z'%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'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M22%2016.92v3a2%202%200%200%201-2.18%202%2019.79%2019.79%200%200%201-8.63-3.07%2019.5%2019.5%200%200%201-6-6%2019.79%2019.79%200%200%201-3.07-8.67A2%202%200%200%201%204.11%202h3a2%202%200%200%201%202%201.72c.13.96.36%201.9.7%202.81a2%202%200%200%201-.45%202.11L8.09%209.91a16%2016%200%200%200%206%206l1.27-1.27a2%202%200%200%201%202.11-.45c.9.34%201.85.57%202.81.7A2%202%200%200%201%2022%2016.92z'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.hws .hws-btn:is(.hwx-sw-foot-email){ display:flex; margin-top:10px; font-size:14px; color:var(--steel-300); }
.hws .hws-btn:is(.hwx-sw-foot-email)::before{ 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'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20width%3D'20'%20height%3D'16'%20x%3D'2'%20y%3D'4'%20rx%3D'2'%2F%3E%3Cpath%20d%3D'm22%207-8.97%205.7a1.94%201.94%200%200%201-2.06%200L2%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'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20width%3D'20'%20height%3D'16'%20x%3D'2'%20y%3D'4'%20rx%3D'2'%2F%3E%3Cpath%20d%3D'm22%207-8.97%205.7a1.94%201.94%200%200%201-2.06%200L2%207'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.hws .hwx-sw-foot-title{ margin-bottom:16px; font-family:var(--font-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--steel-500); }
.hws .hwx-sw-foot-links{ display:block; font-family:var(--font-body); font-size:var(--text-base); font-weight:400; font-style:normal; line-height:var(--leading-normal);
  letter-spacing:normal; text-transform:none; }
.hws .hwx-sw-foot-links > .hws-nav-list{ display:flex; flex-direction:column; align-items:stretch; flex-wrap:nowrap; gap:11px; }
.hws .hwx-sw-foot-links .hws-nav-a{ display:inline; padding:0; font-size:14.5px; color:var(--steel-300); }
.hws :is(.hwx-sw-foot-links,.hwx-sw-foot-legal) .hws-nav-a:hover{ color:#fff; }
/* The small print under v1's full-width hatched rule, its words in the container's width. */
.hws .hwx-sw-foot-bottom{ position:relative; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:normal; gap:12px; margin-top:56px;
  padding:30px max(var(--gutter),calc((100% - var(--container)) / 2 + var(--gutter))) 22px; font-family:var(--font-mono); font-size:11px; font-weight:400;
  letter-spacing:.06em; text-transform:uppercase; line-height:var(--leading-normal); color:var(--steel-600); }
.hws .hwx-sw-foot-bottom::before{ content:""; position:absolute; top:0; left:0; right:0; height:8px; color:var(--steel-700); background:var(--engrave-hatch); }
.hws .hwx-sw-foot-right{ display:flex; flex-wrap:nowrap; gap:18px; align-items:normal; justify-content:flex-start; }
.hws .hwx-sw-foot-note{ font:inherit; letter-spacing:inherit; text-transform:inherit; color:inherit; }
.hws .hwx-sw-foot-legal{ font:inherit; letter-spacing:inherit; text-transform:inherit; }
.hws .hwx-sw-foot-legal > .hws-nav-list{ flex-wrap:nowrap; gap:18px; }
.hws .hwx-sw-foot-legal .hws-nav-a{ display:inline; padding:0; color:inherit; }
