
.hws > header:has(> .hws-code[data-code="lm-header"]){ position:sticky; top:0; z-index:40; }
.hws-code{ font-size:var(--text-base); line-height:var(--leading-normal); font-family:var(--font-body); color:var(--text-body);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; font-feature-settings:"ss01","cv01"; }
.hws-code :where(h1,h2,h3,h4,h5,h6){ font-weight:var(--weight-semibold); line-height:var(--leading-tight); }
.hws-code :where(a){ color:var(--text-link); text-decoration:none; }
.hws-code :where(a:hover){ text-decoration:underline; text-underline-offset:2px; }

:root{
  /* Wheat gold — signature & primary action */
  --gold-50:#fef7e8; --gold-100:#fdecc6; --gold-200:#fbdb91; --gold-300:#ffd060;
  --gold-400:#ffbd59; --gold-500:#f5a623; --gold-600:#db8a14; --gold-700:#a8680f;
  --gold-800:#784a0d; --gold-900:#4d300b;
  /* Summit slate-teal — the ink */
  --slate-50:#f0f4f5; --slate-100:#dde6e8; --slate-200:#bccbce; --slate-300:#8ba6ab;
  --slate-400:#557379; --slate-500:#355158; --slate-600:#25424c; --slate-700:#1d353d;
  --slate-800:#16282e; --slate-900:#0e1a1f;
  /* Prairie sky pastels — decorative only */
  --sky-mint:#c6f0da; --sky-aqua:#c2efef; --sky-blue:#a8d8f0; --sky-peri:#abc4f0;
  /* Fieldstone paper */
  --paper:#faf8f2; --paper-100:#f3efe6; --paper-200:#e8e2d6; --paper-300:#d6cdbd; --white:#ffffff;
  /* Semantic hues */
  --success-100:#d8edde; --success-500:#3f8f5b; --success-700:#2c6a42;
  --warning-100:#fbe7cb; --warning-500:#e8943a; --warning-700:#b56a1e;
  --danger-100:#f6dcd4; --danger-500:#c4452d; --danger-700:#8f2f1d;
  --info-100:#d4e8f3; --info-500:#2e7dae; --info-700:#1f5a80;

  --surface-page:var(--paper); --surface-sunk:var(--paper-100); --surface-card:var(--white);
  --surface-inverse:var(--slate-900); --surface-inverse-2:var(--slate-800);
  --text-strong:var(--slate-900); --text-body:var(--slate-700); --text-muted:var(--slate-400);
  --text-faint:var(--slate-300); --text-on-gold:var(--slate-900); --text-on-dark:var(--paper);
  --text-on-dark-muted:var(--slate-300); --text-link:var(--gold-600);
  --action-bg:var(--gold-400); --action-bg-hover:var(--gold-300); --action-bg-active:var(--gold-500);
  --action-ink:var(--slate-900);
  --border-hairline:#ece6da; --border-strong:var(--paper-300); --border-inverse:var(--slate-700);
  --border-focus:var(--gold-400);
  --ring-focus:0 0 0 3px color-mix(in srgb, var(--gold-400) 55%, transparent);
  --gradient-sky:linear-gradient(180deg,var(--sky-mint) 0%,var(--sky-aqua) 38%,var(--sky-blue) 72%,var(--sky-peri) 100%);
  --gradient-wheat:linear-gradient(165deg,var(--gold-300) 0%,var(--gold-500) 100%);

  /* The faces are the brand's (Playfair Display, Poppins, Roboto Mono), so the
     brand alone decides them and loads them; the weights and tracking below
     and in the bands are tuned for Playfair. */
  --font-display:var(--hws-font-heading,'Playfair Display',Georgia,serif);
  --font-body:var(--hws-font-body,'Poppins',system-ui,-apple-system,sans-serif);
  --font-mono:var(--hws-font-accent,'Roboto Mono',ui-monospace,'SF Mono',Menlo,monospace);
  --weight-regular:400; --weight-medium:500; --weight-semibold:600; --weight-bold:700; --weight-display:700;
  --text-micro:11px; --text-xs:12px; --text-sm:14px; --text-base:16px; --text-md:18px;
  --text-lg:20px; --text-xl:24px; --text-2xl:30px; --text-3xl:38px; --text-4xl:48px;
  --leading-tight:1.05; --leading-snug:1.25; --leading-normal:1.45; --leading-relaxed:1.65;
  --tracking-display:-0.01em; --tracking-tight:-0.01em; --tracking-mono:0.08em;

  --radius-xs:4px; --radius-sm:6px; --radius-md:10px; --radius-lg:14px; --radius-xl:20px;
  --radius-2xl:28px; --radius-pill:999px;
  --shadow-xs:0 1px 2px rgba(14,26,31,0.06);
  --shadow-sm:0 1px 3px rgba(14,26,31,0.08),0 1px 2px rgba(14,26,31,0.05);
  --shadow-md:0 4px 12px rgba(14,26,31,0.08),0 2px 4px rgba(14,26,31,0.05);
  --shadow-lg:0 12px 28px rgba(14,26,31,0.12),0 4px 10px rgba(14,26,31,0.06);
  --shadow-xl:0 24px 48px rgba(14,26,31,0.16),0 8px 16px rgba(14,26,31,0.08);
  --shadow-gold-glow:0 6px 22px rgba(245,166,35,0.38);
  --ease-out:cubic-bezier(.22,.61,.36,1);
  --duration-fast:120ms; --duration-base:200ms; --duration-slow:320ms;
  --container-max:1200px; --container-prose:720px;
}

/* ---- base ---- */
.lm-root{ background:var(--surface-page); color:var(--text-body); font-family:var(--font-body); }
.lm-root *{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-tap-highlight-color:transparent; }
body{ margin:0; background:var(--surface-page); }
::selection{ background:var(--gold-300); color:var(--slate-900); }

/* ============ DS primitives ============ */
.lm-btn{ font-family:var(--font-body); font-weight:var(--weight-semibold); letter-spacing:var(--tracking-tight);
  display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid transparent;
  border-radius:var(--radius-md); cursor:pointer; text-decoration:none; white-space:nowrap;
  transition:background-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out),
    border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out),
    transform var(--duration-fast) var(--ease-out); }
.lm-btn:focus-visible{ outline:none; box-shadow:var(--ring-focus); }
.lm-btn:active{ transform:translateY(1px); }
.lm-btn[disabled]{ opacity:.5; cursor:not-allowed; pointer-events:none; }
.lm-btn svg{ width:1.1em; height:1.1em; }
.lm-btn--sm{ font-size:var(--text-sm); padding:7px 14px; }
.lm-btn--md{ font-size:var(--text-base); padding:10px 18px; }
.lm-btn--lg{ font-size:var(--text-md); padding:13px 24px; }
.lm-btn--primary{ background:var(--action-bg); color:var(--action-ink); }
.lm-btn--primary:hover{ background:var(--action-bg-hover); box-shadow:var(--shadow-gold-glow); }
.lm-btn--primary:active{ background:var(--action-bg-active); }
.lm-btn--secondary{ background:var(--surface-card); color:var(--text-strong); border-color:var(--border-strong); box-shadow:var(--shadow-xs); }
.lm-btn--secondary:hover{ background:var(--surface-sunk); border-color:var(--slate-300); }
.lm-btn--ghost{ background:transparent; color:var(--text-strong); }
.lm-btn--ghost:hover{ background:var(--surface-sunk); }
.lm-btn--inverse{ background:var(--white); color:var(--slate-900); }
.lm-btn--inverse:hover{ background:var(--paper); }
.lm-btn--block{ width:100%; }

.lm-field{ display:flex; flex-direction:column; gap:6px; font-family:var(--font-body); }
.lm-field__label{ font-size:var(--text-sm); font-weight:var(--weight-semibold); color:var(--text-strong); }
.lm-field__req{ color:var(--gold-600); margin-left:2px; }
.lm-input{ font-family:var(--font-body); font-size:var(--text-base); color:var(--text-strong);
  background:var(--surface-card); border:1px solid var(--border-strong); border-radius:var(--radius-md);
  padding:10px 13px; width:100%;
  transition:border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out); }
.lm-input::placeholder{ color:var(--text-faint); }
.lm-input:hover{ border-color:var(--slate-300); }
.lm-input:focus{ outline:none; border-color:var(--border-focus); box-shadow:var(--ring-focus); }
textarea.lm-input{ min-height:96px; resize:vertical; line-height:var(--leading-normal); }
.lm-select-wrap{ position:relative; display:flex; align-items:center; }
.lm-select{ font-family:var(--font-body); font-size:var(--text-base); color:var(--text-strong);
  background:var(--surface-card); border:1px solid var(--border-strong); border-radius:var(--radius-md);
  padding:10px 38px 10px 13px; width:100%; appearance:none; -webkit-appearance:none; cursor:pointer;
  transition:border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out); }
.lm-select:hover{ border-color:var(--slate-300); }
.lm-select:focus{ outline:none; border-color:var(--border-focus); box-shadow:var(--ring-focus); }
.lm-select-wrap__chevron{ position:absolute; right:12px; pointer-events:none; color:var(--text-muted); display:flex; }
.lm-select-wrap__chevron svg{ width:16px; height:16px; stroke-width:2; }

.lm-card{ background:var(--surface-card); border:1px solid var(--border-hairline); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm); overflow:hidden;
  transition:box-shadow var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out),
    border-color var(--duration-base) var(--ease-out); }
.lm-card--interactive{ cursor:pointer; }
.lm-card--interactive:hover{ box-shadow:var(--shadow-lg); transform:translateY(-2px); border-color:var(--border-strong); }
.lm-card__media{ display:block; width:100%; }
.lm-card__media img{ display:block; width:100%; height:100%; object-fit:cover; }
.lm-card__body{ padding:24px; }

.lm-tag{ font-family:var(--font-body); font-weight:var(--weight-medium); font-size:var(--text-sm);
  display:inline-flex; align-items:center; gap:6px; padding:5px 12px; border-radius:var(--radius-pill);
  background:var(--paper-100); color:var(--slate-600); border:1px solid var(--border-hairline);
  transition:background-color var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out),
    color var(--duration-base) var(--ease-out); }
.lm-tag--interactive{ cursor:pointer; }
.lm-tag--interactive:hover{ background:var(--paper-200); border-color:var(--slate-300); }
.lm-tag--selected{ background:var(--gold-100); border-color:var(--gold-300); color:var(--gold-700); }
.lm-tag--aqua{ background:var(--sky-aqua); border-color:transparent; color:var(--slate-700); }

.lm-badge{ font-family:var(--font-body); font-weight:var(--weight-semibold); font-size:var(--text-xs); line-height:1;
  display:inline-flex; align-items:center; gap:5px; padding:4px 9px; border-radius:var(--radius-pill);
  border:1px solid var(--border-hairline); background:var(--paper-100); color:var(--slate-600); white-space:nowrap; }
.lm-badge--mono{ font-family:var(--font-mono); font-weight:var(--weight-medium);
  letter-spacing:var(--tracking-mono); text-transform:uppercase; font-size:var(--text-micro); }

.lm-toast{ display:flex; align-items:flex-start; gap:12px; max-width:360px; padding:14px 16px;
  background:var(--surface-card); border:1px solid var(--border-hairline); border-left:3px solid var(--success-500);
  border-radius:var(--radius-md); box-shadow:var(--shadow-lg); font-family:var(--font-body); }
.lm-toast__title{ font-weight:var(--weight-bold); color:var(--text-strong); font-size:var(--text-sm); margin:0 0 3px; }
.lm-toast__body{ font-size:var(--text-sm); color:var(--text-body); line-height:1.5; margin:0; }
.lm-toast__x{ background:none; border:0; color:var(--text-muted); cursor:pointer; font-size:16px; line-height:1; padding:2px; }
.mkt-toast-host{ position:fixed; right:24px; bottom:24px; z-index:80; display:flex; flex-direction:column; gap:10px;
  transition:transform var(--duration-slow) var(--ease-out), opacity var(--duration-slow) var(--ease-out); }
.mkt-toast-host[data-hidden="true"]{ transform:translateY(16px); opacity:0; pointer-events:none; }

/* ============ header ============ */
.mkt-header{ position:sticky; top:0; z-index:40; background:color-mix(in srgb, var(--paper) 88%, transparent);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--border-hairline); }
/* The bar never wraps a label. Everything in it needs ~1110px at full width,
   so as it narrows it sheds pieces instead: the tagline at 1240, the phone at
   1040, then the nav goes behind the burger at 880. */
.mkt-header__bar{ max-width:var(--container-max); margin:0 auto; padding:14px 32px; display:flex; align-items:center; gap:20px; }
.mkt-header__logo{ display:flex; align-items:center; gap:12px; text-decoration:none; }
.mkt-header__logo img{ height:38px; }
.mkt-header__tagline{ font-family:var(--font-mono); font-size:11px; letter-spacing:.04em; color:var(--text-muted);
  padding-left:12px; border-left:1px solid var(--border-strong); white-space:nowrap; }
@media (max-width:1240px){ .mkt-header__tagline{ display:none; } }
.mkt-header__nav{ display:flex; gap:6px; margin-left:8px; }
.mkt-header__link{ font-family:var(--font-body); font-size:var(--text-sm); font-weight:600; color:var(--text-body);
  text-decoration:none; padding:8px 10px; border-radius:var(--radius-sm); white-space:nowrap;
  transition:background-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out); }
.mkt-header__link:hover{ background:var(--surface-sunk); color:var(--text-strong); }
.mkt-header__spacer{ flex:1; }
.mkt-header__phone{ font-family:var(--font-mono); font-size:var(--text-sm); color:var(--text-muted); text-decoration:none; white-space:nowrap; }
.mkt-header__phone:hover{ color:var(--gold-600); }
@media (max-width:1040px){ .mkt-header__phone{ display:none; } }
.mkt-nav-dd{ position:relative; }
.mkt-nav-dd::after{ content:''; position:absolute; top:100%; left:0; right:0; height:10px; }
.mkt-nav-dd__btn{ font-family:var(--font-body); font-size:var(--text-sm); font-weight:600; color:var(--text-body);
  text-decoration:none; padding:8px 10px; border-radius:var(--radius-sm); display:inline-flex; align-items:center; gap:6px; white-space:nowrap;
  transition:background-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out); }
.mkt-nav-dd:hover .mkt-nav-dd__btn, .mkt-nav-dd:focus-within .mkt-nav-dd__btn{ background:var(--surface-sunk); color:var(--text-strong); }
.mkt-nav-dd__btn svg{ width:14px; height:14px; transition:transform var(--duration-base) var(--ease-out); }
.mkt-nav-dd:hover .mkt-nav-dd__btn svg, .mkt-nav-dd:focus-within .mkt-nav-dd__btn svg{ transform:rotate(180deg); }
.mkt-mega{ position:absolute; top:calc(100% + 8px); left:0; width:568px; max-width:calc(100vw - 48px); z-index:50;
  background:var(--surface-card); border:1px solid var(--border-hairline); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg); padding:18px; opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out), visibility var(--duration-base); }
.mkt-nav-dd:hover .mkt-mega, .mkt-nav-dd:focus-within .mkt-mega{ opacity:1; visibility:visible; transform:translateY(0); }
/* Narrow, the mega-menu hung off "Products" spills past the viewport (hidden or
   not, it scrolls the page sideways), so it hangs off the start of the nav. */
@media (max-width:1040px){ .mkt-header__nav{ position:relative; } .mkt-nav-dd{ position:static; } }
.mkt-mega__head{ display:flex; flex-direction:column; gap:3px; padding:2px 6px 14px; margin-bottom:12px; border-bottom:1px solid var(--border-hairline); }
.mkt-mega__eyebrow{ font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-600); }
.mkt-mega__lead{ font-family:var(--font-body); font-size:var(--text-sm); color:var(--text-muted); }
.mkt-mega__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.mkt-mega__item{ display:flex; flex-direction:column; gap:10px; padding:14px 12px; border-radius:var(--radius-md);
  text-decoration:none; border:1px solid transparent;
  transition:background-color var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out); }
.mkt-mega__item:hover{ background:var(--surface-sunk); border-color:var(--border-hairline); }
.mkt-mega__logowrap{ height:26px; display:flex; align-items:center; }
.mkt-mega__logowrap img{ width:auto; max-width:100%; display:block; }
.mkt-mega__desc{ font-family:var(--font-body); font-size:12.5px; line-height:1.4; color:var(--text-body); flex:1; }
.mkt-mega__link{ font-family:var(--font-mono); font-size:11px; font-weight:600; color:var(--text-strong); display:inline-flex; align-items:center; gap:6px; }
.mkt-mega__link svg{ width:13px; height:13px; color:var(--_accent); }
.mkt-mega__all{ display:inline-flex; align-items:center; gap:7px; margin-top:12px; padding:6px;
  font-family:var(--font-mono); font-size:12px; letter-spacing:.03em; color:var(--gold-600); text-decoration:none; }
.mkt-mega__all svg{ width:14px; height:14px; }
.mkt-mega__all:hover{ color:var(--text-strong); }
.mkt-header__burger{ display:none; width:42px; height:42px; align-items:center; justify-content:center; flex:none;
  background:transparent; border:1px solid var(--border-strong); border-radius:var(--radius-sm); color:var(--text-strong); cursor:pointer; }
.mkt-header__burger svg{ width:20px; height:20px; }
.mkt-mobile{ display:none; }
@media (max-width:880px){
  .mkt-header__nav, .mkt-header__phone{ display:none; }
  .mkt-header__burger{ display:inline-flex; }
  .mkt-mobile{ display:block; border-top:1px solid var(--border-hairline); background:var(--paper); animation:mkt-mobile-in .26s var(--ease-out); }
}
@keyframes mkt-mobile-in{ from{ opacity:0; transform:translateY(-6px);} to{ opacity:1; transform:none;} }
.mkt-mobile__link{ display:block; padding:15px 32px; text-decoration:none; font-family:var(--font-body);
  font-weight:600; font-size:var(--text-md); color:var(--text-strong); border-bottom:1px solid var(--border-hairline); }
.mkt-mobile__group{ padding:14px 32px 18px; border-bottom:1px solid var(--border-hairline); }
.mkt-mobile__label{ font-family:var(--font-mono); font-size:11px; letter-spacing:.09em; text-transform:uppercase; color:var(--text-muted); margin:0 0 8px; }
.mkt-mobile__plink{ display:block; padding:9px 0; text-decoration:none; font-family:var(--font-body); font-size:var(--text-sm); color:var(--text-body); }
.mkt-mobile__plink b{ color:var(--text-strong); font-weight:700; }
.mkt-mobile__phone{ display:block; padding:16px 32px; font-family:var(--font-mono); font-size:var(--text-sm); color:var(--text-muted); text-decoration:none; }

/* ============ hero ============ */
.mkt-hero{ position:relative; min-height:90vh; display:flex; align-items:center; overflow:hidden; background:var(--slate-900); }
.mkt-hero__img{ position:absolute; left:0; right:0; top:-12%; height:124%; overflow:hidden; will-change:transform; backface-visibility:hidden; }
.mkt-hero__zoom{ position:absolute; inset:0; background-size:cover; background-position:center 40%;
  will-change:transform; backface-visibility:hidden; animation:mkt-kenburns 26s ease-in-out infinite alternate; }
@keyframes mkt-kenburns{ from{ transform:scale3d(1.04,1.04,1);} to{ transform:scale3d(1.14,1.14,1);} }
@media (prefers-reduced-motion:reduce){ .mkt-hero__zoom{ animation:none; transform:scale(1.06); } }
.mkt-hero__grain{ position:absolute; inset:0; opacity:.05; pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>"); }
.mkt-hero__scrim{ position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(8,20,28,0.82) 0%, rgba(8,20,28,0.55) 38%, rgba(8,20,28,0.12) 68%, transparent 88%); }
.mkt-hero__inner{ position:relative; z-index:3; max-width:var(--container-max); margin:0 auto; width:100%; padding:0 32px; }
.mkt-hero__eyebrow{ font-family:var(--font-mono); font-size:var(--text-xs); letter-spacing:.08em; text-transform:uppercase; color:var(--gold-300); margin:0 0 18px; }
.mkt-hero__title{ font-family:var(--font-display); font-weight:700; letter-spacing:-0.01em; line-height:1.0;
  color:#fff; font-size:clamp(44px,6.6vw,84px); margin:0; text-wrap:balance; }
.mkt-hero__sub{ font-family:var(--font-body); font-size:var(--text-lg); color:var(--paper); max-width:580px; line-height:1.55; margin:20px 0 30px; }
.mkt-hero__cta{ display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.mkt-hero__cta .mkt-hero__ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,.5); }
.mkt-hero__cta .mkt-hero__ghost:hover{ background:rgba(255,255,255,.12); border-color:#fff; box-shadow:none; }

.mkt-purpose{ background:var(--surface-page); padding:72px 32px; border-bottom:1px solid var(--border-hairline); }
.mkt-purpose__text{ max-width:760px; margin:0 auto; text-align:center; font-family:var(--font-display);
  font-weight:600; letter-spacing:0; line-height:1.28; font-size:clamp(22px,3vw,34px); color:var(--text-strong); text-wrap:balance; }
.mkt-purpose__text b{ color:var(--gold-600); font-weight:600; }

/* ============ trusted-by marquee ============ */
.mkt-trust{ background:var(--surface-page); padding:44px 0 16px; }
.mkt-trust__label{ text-align:center; font-family:var(--font-mono); font-size:var(--text-xs); letter-spacing:.1em;
  text-transform:uppercase; color:var(--text-muted); margin:0 0 28px; }
.mkt-trust__mask{ position:relative; overflow:hidden; }
.mkt-trust__mask::before, .mkt-trust__mask::after{ content:''; position:absolute; top:0; bottom:0; width:12%; z-index:2; pointer-events:none; }
.mkt-trust__mask::before{ left:0; background:linear-gradient(90deg,var(--surface-page),transparent); }
.mkt-trust__mask::after{ right:0; background:linear-gradient(270deg,var(--surface-page),transparent); }
.mkt-trust__track{ display:flex; align-items:center; width:max-content; animation:mkt-marquee 55s linear infinite; }
.mkt-trust:hover .mkt-trust__track{ animation-play-state:paused; }
.mkt-trust__item{ display:flex; align-items:center; padding:0 34px; }
.mkt-trust__logo{ height:44px; width:auto; display:block; opacity:.62; transition:opacity var(--duration-base) var(--ease-out); }
.mkt-trust__item:hover .mkt-trust__logo{ opacity:1; }
@keyframes mkt-marquee{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }
@media (prefers-reduced-motion:reduce){ .mkt-trust__track{ animation:none; flex-wrap:wrap; justify-content:center; width:auto; gap:18px 0; } }

/* ============ craft band ============ */
.mkt-craft{ background:var(--surface-inverse); color:var(--text-on-dark); padding:88px 32px; }
.mkt-craft__inner{ max-width:var(--container-max); margin:0 auto; }
.mkt-craft__eyebrow{ font-family:var(--font-mono); font-size:var(--text-xs); letter-spacing:.08em; text-transform:uppercase; color:var(--gold-300); margin:0 0 14px; }
.mkt-craft__lead{ font-family:var(--font-display); font-weight:600; letter-spacing:-0.01em; font-size:clamp(28px,3.4vw,42px);
  line-height:1.08; color:#fff; margin:0 0 8px; max-width:18ch; }
.mkt-craft__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:52px; }
.mkt-craft__step{ border-top:1px solid var(--border-inverse); padding-top:20px; }
.mkt-craft__num{ font-family:var(--font-mono); font-size:var(--text-xs); color:var(--gold-300); letter-spacing:.08em; }
.mkt-craft__role{ font-family:var(--font-display); font-weight:600; font-size:var(--text-2xl); color:#fff; margin:10px 0 8px; letter-spacing:0; }
.mkt-craft__desc{ font-family:var(--font-body); font-size:var(--text-md); line-height:1.6; color:var(--text-on-dark-muted); margin:0; }
.mkt-craft__desc b{ color:var(--paper); font-weight:600; }
@media (max-width:820px){ .mkt-craft__grid{ grid-template-columns:1fr; gap:8px; } }

/* ============ wheat field ============ */
.mkt-wheat{ position:relative; height:62vh; min-height:440px; overflow:hidden; background:var(--surface-inverse); }
.mkt-wheat__canvas{ position:absolute; inset:0; width:100%; height:100%; display:block; }
.mkt-wheat__overlay{ position:absolute; left:0; right:0; top:34%; transform:translateY(-50%); text-align:center; padding:24px; pointer-events:none;
  background:radial-gradient(58% 150% at 50% 46%, rgba(8,20,28,.55) 0%, rgba(8,20,28,.26) 44%, transparent 72%); }
.mkt-wheat__line{ font-family:var(--font-display); font-weight:700; letter-spacing:-0.01em; font-size:clamp(34px,6vw,74px);
  color:#fff; margin:0; text-wrap:balance; text-shadow:0 2px 26px rgba(0,0,0,.55), 0 1px 4px rgba(0,0,0,.45); }
.mkt-wheat__sub{ font-family:var(--font-mono); font-size:var(--text-sm); letter-spacing:.12em; text-transform:uppercase;
  color:rgba(255,255,255,.94); margin:16px 0 0; font-weight:500; text-shadow:0 1px 14px rgba(0,0,0,.75), 0 1px 3px rgba(0,0,0,.5); }
@media (max-width:640px){ .mkt-wheat{ height:52vh; min-height:360px; } }

/* ============ work grid ============ */
.mkt-work{ background:var(--surface-page); padding:88px 32px; }
.mkt-work__inner{ max-width:var(--container-max); margin:0 auto; }
.mkt-work__head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:36px; }
.mkt-work__eyebrow{ font-family:var(--font-mono); font-size:var(--text-xs); letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); margin:0 0 12px; }
.mkt-work__title{ font-family:var(--font-display); font-weight:700; letter-spacing:-0.01em; font-size:clamp(30px,4vw,48px);
  color:var(--text-strong); margin:0; line-height:1.04; }
.mkt-work__sub{ font-family:var(--font-body); font-size:var(--text-md); color:var(--text-muted); max-width:42ch; margin:12px 0 0; line-height:1.55; }
.mkt-work__filters{ display:flex; gap:8px; flex-wrap:wrap; }
.mkt-work__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.mkt-work__card h3{ font-family:var(--font-display); font-weight:600; font-size:var(--text-xl); color:var(--text-strong); margin:0 0 6px; letter-spacing:0; }
.mkt-work__card p{ font-family:var(--font-body); font-size:var(--text-sm); color:var(--text-muted); margin:0 0 14px; line-height:1.5; }
.mkt-work__meta{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.mkt-work__link{ display:block; text-decoration:none; color:inherit; }
.mkt-work__more{ display:inline-block; margin-top:12px; font-family:var(--font-mono); font-size:var(--text-xs); letter-spacing:.04em; color:var(--gold-600); font-weight:600; }
@media (max-width:920px){ .mkt-work__grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:620px){ .mkt-work__grid{ grid-template-columns:1fr; } .mkt-work__head{ flex-direction:column; align-items:flex-start; } }

/* ============ products ============ */
.mkt-products{ background:var(--surface-sunk); padding:96px 32px; border-top:1px solid var(--border-hairline); border-bottom:1px solid var(--border-hairline); }
.mkt-products__inner{ max-width:var(--container-max); margin:0 auto; }
.mkt-products__head{ max-width:720px; margin:0 0 44px; }
.mkt-products__eyebrow{ font-family:var(--font-mono); font-size:var(--text-xs); letter-spacing:.1em; text-transform:uppercase; color:var(--gold-600); margin:0 0 14px; }
.mkt-products__title{ font-family:var(--font-display); font-weight:700; letter-spacing:-0.01em; line-height:1.05;
  font-size:clamp(30px,4.4vw,50px); color:var(--text-strong); margin:0; text-wrap:balance; }
.mkt-products__sub{ font-family:var(--font-body); font-size:var(--text-lg); color:var(--text-body); line-height:1.55; margin:16px 0 0; max-width:620px; }
.mkt-products__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media (max-width:900px){ .mkt-products__grid{ grid-template-columns:1fr; } }
.mkt-product{ position:relative; display:flex; flex-direction:column; background:var(--surface-card);
  border:1px solid var(--border-hairline); border-radius:var(--radius-lg); overflow:hidden; text-decoration:none;
  transition:transform .5s var(--ease-out), box-shadow .5s var(--ease-out), border-color .5s var(--ease-out); }
.mkt-product:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:var(--border-strong); }
.mkt-product__accent{ height:6px; background:var(--_accent); }
.mkt-product__body{ padding:26px 26px 24px; display:flex; flex-direction:column; flex:1; }
.mkt-product__cat{ font-family:var(--font-mono); font-size:11px; letter-spacing:.09em; text-transform:uppercase;
  color:var(--text-muted); margin:0 0 16px; display:flex; align-items:center; gap:9px; }
.mkt-product__dot{ width:8px; height:8px; border-radius:50%; background:var(--_accent); flex:none; }
.mkt-product__logowrap{ height:44px; display:flex; align-items:center; margin:2px 0 16px; }
.mkt-product__logo{ width:auto; max-width:100%; display:block; }
.mkt-product__desc{ font-family:var(--font-body); font-size:var(--text-base); color:var(--text-body); line-height:1.55; margin:0 0 22px; flex:1; }
.mkt-product__link{ font-family:var(--font-mono); font-size:var(--text-sm); font-weight:600; color:var(--text-strong); display:inline-flex; align-items:center; gap:8px; }
.mkt-product__link svg{ width:16px; height:16px; color:var(--_accent); transition:transform var(--duration-base) var(--ease-out); }
.mkt-product:hover .mkt-product__link svg{ transform:translateX(4px); }

/* ============ pricing + calculator ============ */
.mkt-quote{ background:var(--surface-page); padding:88px 32px; }
.mkt-quote__inner{ max-width:var(--container-max); margin:0 auto; }
.mkt-quote__eyebrow{ font-family:var(--font-mono); font-size:var(--text-xs); letter-spacing:.08em; text-transform:uppercase; color:var(--gold-600); margin:0 0 12px; }
.mkt-quote__title{ font-family:var(--font-display); font-weight:700; letter-spacing:-0.01em; font-size:clamp(30px,4vw,48px); color:var(--text-strong); margin:0; line-height:1.04; }
.mkt-quote__sub{ font-family:var(--font-body); font-size:var(--text-md); color:var(--text-muted); max-width:52ch; margin:12px 0 0; line-height:1.55; }
.mkt-quote__churchsites{ margin:18px 0 0; max-width:60ch; padding:12px 16px; background:var(--surface-card);
  border:1px solid var(--border-hairline); border-left:3px solid var(--gold-400); border-radius:var(--radius-md);
  font-family:var(--font-body); font-size:var(--text-sm); color:var(--text-muted); line-height:1.55; }
.mkt-quote__churchsites a{ color:var(--gold-700); font-weight:600; text-decoration:none; }
.mkt-quote__churchsites a:hover{ text-decoration:underline; }
.mkt-pkgs{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:40px; }
.mkt-pkg{ background:var(--surface-card); border:1px solid var(--border-hairline); border-radius:var(--radius-2xl);
  box-shadow:var(--shadow-sm); padding:26px 24px; display:flex; flex-direction:column; }
.mkt-pkg--featured{ border-color:var(--gold-400); box-shadow:var(--shadow-md); position:relative; }
.mkt-pkg__tag{ position:absolute; top:-11px; left:24px; background:var(--gold-400); color:var(--text-on-gold);
  font-family:var(--font-mono); font-size:var(--text-micro); letter-spacing:.06em; text-transform:uppercase; padding:4px 10px; border-radius:999px; }
.mkt-pkg__name{ font-family:var(--font-display); font-weight:700; font-size:var(--text-xl); color:var(--text-strong); margin:0; letter-spacing:0; }
.mkt-pkg__blurb{ font-family:var(--font-body); font-size:var(--text-sm); color:var(--text-muted); margin:6px 0 16px; }
.mkt-pkg__price{ font-family:var(--font-mono); font-weight:600; font-size:clamp(22px,2.4vw,28px); color:var(--text-strong); margin:0; line-height:1.1; }
.mkt-pkg__price small{ font-family:var(--font-body); font-size:var(--text-xs); color:var(--text-muted); font-weight:400; margin-right:5px; }
.mkt-pkg__list{ list-style:none; padding:0; margin:18px 0 22px; display:flex; flex-direction:column; gap:10px; flex:1; }
.mkt-pkg__list li{ font-family:var(--font-body); font-size:var(--text-sm); color:var(--text-body); display:flex; gap:9px; align-items:flex-start; line-height:1.4; }
.mkt-pkg__list svg{ width:16px; height:16px; color:var(--gold-500); flex:none; margin-top:2px; }
.mkt-quote__or{ text-align:center; font-family:var(--font-mono); font-size:var(--text-xs); letter-spacing:.1em; text-transform:uppercase; color:var(--text-faint); margin:40px 0 0; }
.mkt-quote__grid{ display:grid; grid-template-columns:1.15fr 0.85fr; gap:28px; margin-top:18px; align-items:start; }
.mkt-qc-card{ background:var(--surface-card); border:1px solid var(--border-hairline); border-radius:var(--radius-2xl); box-shadow:var(--shadow-md); padding:12px 30px 30px; }
.mkt-qc-block{ padding:22px 0; border-top:1px solid var(--border-hairline); }
.mkt-qc-block:first-child{ border-top:0; }
.mkt-qc-block__head{ display:flex; align-items:baseline; justify-content:space-between; gap:14px; margin-bottom:14px; }
.mkt-qc-block__label{ font-family:var(--font-mono); font-size:var(--text-xs); letter-spacing:.07em; text-transform:uppercase; color:var(--text-muted); margin:0; }
.mkt-qc-block__val{ font-family:var(--font-body); font-size:var(--text-sm); font-weight:600; color:var(--slate-700); }
.mkt-seg{ display:flex; gap:6px; background:var(--surface-sunk); padding:5px; border-radius:var(--radius-lg); border:1px solid var(--border-hairline); }
.mkt-seg__btn{ flex:1; font-family:var(--font-body); font-size:var(--text-sm); font-weight:700; color:var(--text-body);
  background:transparent; border:0; border-radius:var(--radius-md); padding:10px 12px; cursor:pointer;
  transition:background-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out); }
.mkt-seg__btn:hover{ color:var(--text-strong); }
.mkt-seg__btn[aria-pressed="true"]{ background:var(--surface-card); color:var(--text-strong); box-shadow:var(--shadow-sm); }
.mkt-seg--gold .mkt-seg__btn[aria-pressed="true"]{ background:var(--gold-400); color:var(--text-on-gold); }
.mkt-knob__row{ display:flex; align-items:center; gap:24px; }
.mkt-knob{ position:relative; width:128px; height:128px; flex:none; touch-action:none; cursor:ns-resize; user-select:none; }
.mkt-knob svg{ display:block; width:100%; height:100%; }
.mkt-knob__center{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; pointer-events:none; }
.mkt-knob__num{ font-family:var(--font-mono); font-size:30px; font-weight:600; color:var(--text-strong); line-height:1; }
.mkt-knob__unit{ font-family:var(--font-mono); font-size:var(--text-xs); letter-spacing:.06em; color:var(--text-muted); margin-top:4px; text-transform:uppercase; }
.mkt-knob__side{ flex:1; }
.mkt-knob__hint{ font-family:var(--font-body); font-size:var(--text-sm); color:var(--text-muted); line-height:1.5; margin:0 0 12px; }
.mkt-knob__steppers{ display:flex; gap:8px; }
.mkt-step-btn{ width:38px; height:38px; border-radius:var(--radius-md); border:1px solid var(--border-strong);
  background:var(--surface-card); color:var(--text-strong); font-size:20px; line-height:1; cursor:pointer; font-family:var(--font-mono);
  transition:border-color var(--duration-base) var(--ease-out), background-color var(--duration-base) var(--ease-out); }
.mkt-step-btn:hover{ border-color:var(--gold-400); background:var(--gold-50); }
.mkt-step-btn:active{ transform:translateY(1px); }
.mkt-slider__track{ position:relative; }
.mkt-slider input[type=range]{ -webkit-appearance:none; appearance:none; width:100%; height:6px; border-radius:999px;
  background:var(--surface-sunk); border:1px solid var(--border-hairline); outline:none; cursor:pointer; margin:6px 0; }
.mkt-slider input[type=range]::-webkit-slider-thumb{ -webkit-appearance:none; appearance:none; width:24px; height:24px; border-radius:50%;
  background:var(--gold-400); border:2px solid var(--slate-900); cursor:grab; box-shadow:var(--shadow-sm); transition:background-color var(--duration-base) var(--ease-out); }
.mkt-slider input[type=range]::-webkit-slider-thumb:hover{ background:var(--gold-300); }
.mkt-slider input[type=range]::-moz-range-thumb{ width:24px; height:24px; border-radius:50%; background:var(--gold-400); border:2px solid var(--slate-900); cursor:grab; }
.mkt-slider input[type=range]:focus-visible{ box-shadow:var(--ring-focus); }
.mkt-slider__ticks{ display:flex; justify-content:space-between; margin-top:6px; }
.mkt-slider__tick{ flex:1; text-align:center; font-family:var(--font-body); font-size:var(--text-xs); font-weight:600;
  color:var(--text-faint); cursor:pointer; background:none; border:0; padding:0; transition:color var(--duration-base) var(--ease-out); }
.mkt-slider__tick:first-child{ text-align:left; } .mkt-slider__tick:last-child{ text-align:right; }
.mkt-slider__tick[data-on="true"]{ color:var(--gold-600); }
.mkt-slider__sub{ font-family:var(--font-body); font-size:var(--text-sm); color:var(--text-muted); margin:10px 0 0; }
.mkt-toggles{ display:flex; flex-direction:column; gap:2px; }
.mkt-toggle{ display:flex; align-items:center; gap:14px; padding:12px 0; cursor:pointer; }
.mkt-toggle__sw{ flex:none; width:46px; height:27px; border-radius:999px; background:var(--slate-200); position:relative;
  transition:background-color var(--duration-base) var(--ease-out); }
.mkt-toggle__sw::after{ content:''; position:absolute; top:3px; left:3px; width:21px; height:21px; border-radius:50%;
  background:var(--white); box-shadow:var(--shadow-sm); transition:transform var(--duration-base) var(--ease-out); }
.mkt-toggle[data-on="true"] .mkt-toggle__sw{ background:var(--gold-400); }
.mkt-toggle[data-on="true"] .mkt-toggle__sw::after{ transform:translateX(19px); }
.mkt-toggle__txt{ flex:1; }
.mkt-toggle__name{ font-family:var(--font-body); font-size:var(--text-md); font-weight:600; color:var(--text-strong); display:block; }
.mkt-toggle__sub{ font-family:var(--font-body); font-size:var(--text-xs); color:var(--text-muted); display:block; margin-top:1px; }
.mkt-toggle__price{ font-family:var(--font-mono); font-size:var(--text-xs); color:var(--text-muted); white-space:nowrap; }
.mkt-est{ position:sticky; top:88px; background:var(--surface-inverse); color:var(--text-on-dark);
  border-radius:var(--radius-2xl); padding:30px; box-shadow:var(--shadow-lg); overflow:hidden; }
.mkt-est__eyebrow{ font-family:var(--font-mono); font-size:var(--text-xs); letter-spacing:.08em; text-transform:uppercase; color:var(--gold-300); margin:0 0 6px; }
.mkt-est__scope{ font-family:var(--font-body); font-size:var(--text-sm); color:var(--text-on-dark-muted); margin:0 0 18px; }
.mkt-est__range{ font-family:var(--font-mono); font-weight:600; color:#fff; font-size:clamp(34px,4vw,46px); letter-spacing:-0.02em; line-height:1.05; }
.mkt-est__range em{ color:var(--gold-300); font-style:normal; }
.mkt-est__chips{ display:flex; gap:10px; flex-wrap:wrap; margin:18px 0 6px; }
.mkt-est__chip{ font-family:var(--font-mono); font-size:var(--text-xs); color:var(--paper); border:1px solid var(--border-inverse); border-radius:999px; padding:6px 12px; }
.mkt-est__chip b{ color:var(--gold-300); font-weight:600; }
.mkt-est__math{ margin-top:18px; border-top:1px solid var(--border-inverse); }
.mkt-est__mathbtn{ width:100%; display:flex; align-items:center; justify-content:space-between; background:transparent; border:0;
  color:var(--text-on-dark-muted); font-family:var(--font-mono); font-size:var(--text-xs); letter-spacing:.06em; text-transform:uppercase; padding:14px 0; cursor:pointer; }
.mkt-est__mathbtn svg{ width:16px; height:16px; transition:transform var(--duration-base) var(--ease-out); }
.mkt-est__mathbtn[data-open="true"] svg{ transform:rotate(180deg); }
.mkt-est__lines{ display:flex; flex-direction:column; gap:9px; padding-bottom:6px; }
.mkt-est__line{ display:flex; align-items:baseline; justify-content:space-between; gap:14px; font-family:var(--font-body); font-size:var(--text-sm); color:var(--paper); }
.mkt-est__line span:first-child{ color:var(--text-on-dark-muted); }
.mkt-est__line--disc span:last-child{ color:var(--gold-300); }
.mkt-est__amt{ font-family:var(--font-mono); white-space:nowrap; }
.mkt-est__deposit{ display:flex; align-items:baseline; justify-content:space-between; gap:14px; margin-top:18px; padding-top:16px; border-top:1px solid var(--border-inverse); }
.mkt-est__deposit span{ font-family:var(--font-body); font-size:var(--text-sm); color:var(--paper); }
.mkt-est__deposit b{ font-family:var(--font-mono); color:#fff; font-weight:600; }
.mkt-est__ongoing{ margin-top:10px; padding-top:0; border-top:0; }
.mkt-est__ongoing span{ color:var(--text-on-dark-muted); }
.mkt-est__cta{ margin-top:22px; }
.mkt-est__fine{ font-family:var(--font-body); font-size:var(--text-xs); color:var(--slate-400); line-height:1.55; margin:16px 0 0; }
@media (max-width:860px){ .mkt-pkgs{ grid-template-columns:1fr; } }
@media (max-width:900px){ .mkt-quote__grid{ grid-template-columns:1fr; } .mkt-est{ position:static; } }
@media (max-width:480px){ .mkt-knob__row{ flex-direction:column; align-items:flex-start; gap:18px; } }

/* ============ start a project ============ */
.mkt-start{ background:var(--surface-page); padding:0 32px 92px; }
.mkt-start__inner{ max-width:var(--container-max); margin:0 auto; display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px;
  align-items:start; background:var(--gradient-sky); border-radius:var(--radius-2xl); padding:56px; overflow:hidden; position:relative; }
.mkt-start__eyebrow{ font-family:var(--font-mono); font-size:var(--text-xs); letter-spacing:.08em; text-transform:uppercase; color:var(--slate-600); margin:0 0 14px; }
.mkt-start__title{ font-family:var(--font-display); font-weight:700; letter-spacing:-0.01em; font-size:clamp(30px,3.8vw,46px); color:var(--slate-900); margin:0 0 16px; line-height:1.04; }
.mkt-start__copy{ font-family:var(--font-body); font-size:var(--text-md); color:var(--slate-700); line-height:1.6; margin:0 0 24px; max-width:42ch; }
.mkt-start__facts{ display:flex; flex-direction:column; gap:12px; margin-top:8px; }
.mkt-start__fact{ display:flex; gap:12px; align-items:flex-start; font-family:var(--font-body); font-size:var(--text-sm); color:var(--slate-700); }
.mkt-start__fact svg{ flex:none; width:18px; height:18px; color:var(--gold-600); margin-top:1px; }
.mkt-start__fact b{ color:var(--slate-900); }
.mkt-start__card{ background:var(--surface-card); border-radius:var(--radius-xl); box-shadow:var(--shadow-lg); padding:32px; }
.mkt-start__sign{ font-family:var(--font-body); font-size:var(--text-sm); color:var(--text-muted); margin:6px 0 22px; }
.mkt-start__row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.mkt-start__fields{ display:flex; flex-direction:column; gap:16px; }
.mkt-start__done h3{ font-family:var(--font-display); font-weight:700; font-size:28px; letter-spacing:0; color:var(--slate-900); margin:0 0 8px; }
.mkt-start__done p{ font-family:var(--font-body); color:var(--text-body); line-height:1.6; margin:0 0 20px; }
.mkt-start__err{ font-family:var(--font-body); font-size:var(--text-sm); color:var(--danger-700); line-height:1.5; margin:10px 0 0; }
@media (max-width:880px){ .mkt-start__inner{ grid-template-columns:1fr; gap:36px; padding:36px; } .mkt-start__row{ grid-template-columns:1fr; } }

/* ============ footer ============ */
.mkt-footer{ background:var(--surface-inverse); color:var(--text-on-dark); padding:64px 32px 40px; }
.mkt-footer__inner{ max-width:var(--container-max); margin:0 auto; display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; }
.mkt-footer__logo{ display:inline-flex; background:#fff; padding:10px 16px; border-radius:14px; box-shadow:var(--shadow-sm); }
.mkt-footer__logo img{ height:38px; display:block; }
.mkt-footer__signoff{ font-family:var(--font-display); font-weight:600; letter-spacing:0; font-size:var(--text-xl); color:#fff; margin:18px 0 0; }
.mkt-footer__tag{ font-family:var(--font-body); font-size:var(--text-sm); color:var(--text-on-dark-muted); line-height:1.6; margin:10px 0 0; max-width:34ch; }
.mkt-footer__col h4{ font-family:var(--font-mono); font-size:var(--text-xs); letter-spacing:.08em; text-transform:uppercase; color:var(--gold-300); margin:0 0 14px; }
.mkt-footer__col a{ display:block; font-family:var(--font-body); font-size:var(--text-sm); color:var(--text-on-dark-muted); text-decoration:none; padding:5px 0; }
.mkt-footer__col a:hover{ color:#fff; }
.mkt-footer__bottom{ max-width:var(--container-max); margin:40px auto 0; padding-top:22px; border-top:1px solid var(--border-inverse);
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-family:var(--font-mono); font-size:var(--text-xs); color:var(--slate-400); }
/* minmax(0,1fr), not 1fr: a bare 1fr track floors at min-content, so the
   brand column's 34ch tagline blew the grid 17px past the viewport once the
   body face changed to Work Sans. minmax(0,…) lets the track shrink and the
   text wrap instead. */
@media (max-width:760px){ .mkt-footer__inner{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
/* One column on a phone. Two 136px tracks can't hold hello@lastmountainmedia.ca
   — an email is a single unbreakable token (199px in Work Sans at 14px), so it
   would hang out of its column rather than wrap. Full width fits it easily. */
@media (max-width:480px){ .mkt-footer__inner{ grid-template-columns:minmax(0,1fr); gap:28px; } }

/* ============ about page ============ */
.abt-hero{ background:var(--surface-page); padding:84px 32px 72px; border-bottom:1px solid var(--border-hairline); }
.abt-hero__inner{ max-width:var(--container-max); margin:0 auto; display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center; }
.abt-eyebrow{ font-family:var(--font-mono); font-size:var(--text-xs); letter-spacing:.09em; text-transform:uppercase; color:var(--gold-600); margin:0 0 16px; }
.abt-hero__title{ font-family:var(--font-display); font-weight:700; letter-spacing:-0.01em; line-height:1.02;
  font-size:clamp(40px,5.6vw,68px); color:var(--text-strong); margin:0 0 20px; text-wrap:balance; }
.abt-hero__sub{ font-family:var(--font-body); font-size:var(--text-lg); color:var(--text-body); line-height:1.6; margin:0; max-width:54ch; }
.abt-hero__photo{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); margin:0; }
.abt-hero__photo img{ display:block; width:100%; height:auto; }
.abt-sec{ padding:88px 32px; }
.abt-sec--sunk{ background:var(--surface-sunk); border-top:1px solid var(--border-hairline); border-bottom:1px solid var(--border-hairline); }
.abt-sec__inner{ max-width:var(--container-max); margin:0 auto; }
.abt-cols{ display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:center; }
.abt-h2{ font-family:var(--font-display); font-weight:700; letter-spacing:-0.01em; line-height:1.08;
  font-size:clamp(28px,3.6vw,44px); color:var(--text-strong); margin:0 0 18px; text-wrap:balance; }
.abt-p{ font-family:var(--font-body); font-size:var(--text-md); color:var(--text-body); line-height:1.7; margin:0 0 16px; max-width:58ch; }
.abt-p b{ color:var(--text-strong); }
.abt-rich p{ font-family:var(--font-body); font-size:var(--text-md); color:var(--text-body); line-height:1.7; margin:0 0 16px; max-width:58ch; }
.abt-rich b{ color:var(--text-strong); }
.abt-photo{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); }
.abt-photo img{ display:block; width:100%; height:auto; }
.abt-cap{ font-family:var(--font-mono); font-size:var(--text-xs); color:var(--text-muted); margin:10px 2px 0; }
.abt-band{ position:relative; height:56vh; min-height:380px; overflow:hidden; }
.abt-band img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 60%; }
.abt-people{ display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:40px; }
.abt-person{ background:var(--surface-card); border:1px solid var(--border-hairline); border-radius:var(--radius-lg); padding:26px 28px; }
.abt-person__name{ font-family:var(--font-display); font-weight:700; font-size:24px; letter-spacing:0; color:var(--text-strong); margin:0 0 4px; }
.abt-person__role{ font-family:var(--font-mono); font-size:var(--text-xs); letter-spacing:.07em; text-transform:uppercase; color:var(--gold-600); margin:0 0 14px; }
.abt-person__bio{ font-family:var(--font-body); font-size:var(--text-base); color:var(--text-body); line-height:1.65; margin:0; }
.abt-duo{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.abt-duo figure{ margin:0; }
.abt-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:44px; }
.abt-step{ background:var(--surface-card); border:1px solid var(--border-hairline); border-radius:var(--radius-lg); padding:28px; }
.abt-step__num{ font-family:var(--font-mono); font-size:var(--text-sm); color:var(--gold-600); margin:0 0 12px; }
.abt-step__title{ font-family:var(--font-display); font-weight:700; font-size:22px; letter-spacing:0; color:var(--text-strong); margin:0 0 10px; }
.abt-step__body{ font-family:var(--font-body); font-size:var(--text-base); color:var(--text-body); line-height:1.6; margin:0; }
.abt-cta{ background:var(--surface-inverse); padding:96px 32px; text-align:center; }
.abt-cta__title{ font-family:var(--font-display); font-weight:700; letter-spacing:-0.01em; font-size:clamp(32px,5vw,56px); color:#fff; margin:0 0 14px; text-wrap:balance; }
.abt-cta__sub{ font-family:var(--font-body); font-size:var(--text-lg); color:var(--text-on-dark-muted); margin:0 0 30px; }
.abt-cta__row{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
@media (max-width:900px){
  .abt-hero__inner, .abt-cols{ grid-template-columns:1fr; gap:36px; }
  .abt-people, .abt-duo, .abt-steps{ grid-template-columns:1fr; }
  .abt-sec{ padding:64px 24px; } .abt-hero{ padding:56px 24px; }
}

/* ============ case studies ============ */
.cs{ font-family:var(--font-body); color:var(--text-body); background:var(--surface-page); }
.cs__bar{ position:sticky; top:0; z-index:40; display:flex; align-items:center; justify-content:space-between;
  padding:14px 32px; background:color-mix(in srgb, var(--paper) 88%, transparent); backdrop-filter:blur(10px); border-bottom:1px solid var(--border-hairline); }
.cs__back{ font-family:var(--font-mono); font-size:var(--text-sm); color:var(--text-muted); text-decoration:none; }
.cs__back:hover{ color:var(--text-strong); }
.cs__barcta{ font-family:var(--font-body); font-weight:600; font-size:var(--text-sm); text-decoration:none;
  color:var(--action-ink); background:var(--action-bg); padding:8px 16px; border-radius:var(--radius-md); }
.cs__cover{ position:relative; min-height:88vh; display:flex; flex-direction:column; justify-content:center; overflow:hidden; padding:96px 32px; color:#fff; }
.cs__coverbg{ position:absolute; inset:0; z-index:0; background-size:cover; background-position:center; }
.cs__coverscrim{ position:absolute; inset:0; z-index:1; }
.cs__runner{ position:absolute; right:-60px; bottom:-40px; width:46%; max-width:620px; opacity:.10; filter:brightness(0) invert(1); pointer-events:none; z-index:1; }
.cs__coverinner{ position:relative; z-index:2; max-width:var(--container-max); margin:0 auto; width:100%; }
.cs__clientlogo{ height:46px; margin-bottom:34px; }
.cs__kicker{ font-family:var(--font-mono); font-size:var(--text-xs); letter-spacing:.1em; text-transform:uppercase; opacity:.85; margin:0 0 18px; }
.cs__headline{ font-family:var(--font-display); font-weight:700; letter-spacing:-0.01em; line-height:1.02;
  font-size:clamp(36px,5.4vw,72px); margin:0; max-width:16ch; text-wrap:balance; }
.cs__dek{ font-size:var(--text-lg); line-height:1.55; max-width:60ch; margin:24px 0 0; opacity:.92; }
.cs__coverctas{ display:flex; gap:14px; flex-wrap:wrap; margin-top:30px; }
.cs__livebtn{ font-family:var(--font-body); font-weight:600; text-decoration:none; font-size:var(--text-md); padding:13px 24px; border-radius:var(--radius-md); }
.cs__livebtn--solid{ background:var(--gold-400); color:var(--slate-900); }
.cs__scroll{ position:absolute; left:50%; bottom:26px; transform:translateX(-50%); z-index:2; opacity:.7;
  font-family:var(--font-mono); font-size:var(--text-xs); letter-spacing:.1em; text-transform:uppercase; }
.cs__dossier{ max-width:var(--container-max); margin:0 auto; padding:30px 32px; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; border-bottom:1px solid var(--border-hairline); }
.cs__dossier dt{ font-family:var(--font-mono); font-size:var(--text-xs); letter-spacing:.06em; text-transform:uppercase; color:var(--text-muted); margin:0 0 6px; }
.cs__dossier dd{ font-family:var(--font-body); font-size:var(--text-sm); font-weight:600; color:var(--text-strong); margin:0; line-height:1.4; }
.cs__body{ max-width:760px; margin:0 auto; padding:0 32px; }
.cs__beat{ padding:64px 0; border-bottom:1px solid var(--border-hairline); }
.cs__beat--last{ border-bottom:none; }
.cs__beat h2{ font-family:var(--font-display); font-weight:700; letter-spacing:0; font-size:clamp(24px,3vw,34px); color:var(--text-strong); margin:0 0 18px; line-height:1.1; }
.cs__beat p{ font-size:var(--text-lg); line-height:1.7; color:var(--text-body); margin:0 0 18px; }
.cs__beat p:last-child{ margin-bottom:0; }
.cs__beat b{ color:var(--text-strong); }
.cs__quote{ max-width:900px; margin:0 auto; padding:72px 32px; text-align:center; }
.cs__quote blockquote{ font-family:var(--font-display); font-weight:600; letter-spacing:0; font-size:clamp(26px,3.6vw,44px);
  line-height:1.2; margin:0; text-wrap:balance; }
.cs__quote cite{ display:block; font-family:var(--font-mono); font-size:var(--text-xs); letter-spacing:.08em; text-transform:uppercase; opacity:.75; font-style:normal; margin-top:20px; }
.cs__palette{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:8px 0 26px; }
.cs__swatch{ border-radius:var(--radius-md); overflow:hidden; border:1px solid var(--border-hairline); }
.cs__swatch__chip{ height:88px; }
.cs__swatch__meta{ padding:10px 12px; background:var(--surface-card); }
.cs__swatch__name{ font-family:var(--font-body); font-size:var(--text-xs); font-weight:600; color:var(--text-strong); display:block; }
.cs__swatch__hex{ font-family:var(--font-mono); font-size:var(--text-micro); color:var(--text-muted); }
.cs__voice{ display:flex; gap:8px; flex-wrap:wrap; }
.cs__fig{ margin:14px 0 4px; }
.cs__fig img{ width:100%; height:auto; display:block; border-radius:var(--radius-lg); border:1px solid var(--border-hairline); box-shadow:var(--shadow-sm); }
.cs__fig figcaption{ font-family:var(--font-mono); font-size:var(--text-xs); color:var(--text-muted); margin-top:12px; text-align:center; }
.cs__wide{ max-width:var(--container-max); margin:8px auto 4px; padding:0 32px; }
.cs__wide img{ width:100%; height:auto; display:block; border-radius:var(--radius-lg); border:1px solid var(--border-hairline); box-shadow:var(--shadow-sm); }
.cs__wide figcaption{ font-family:var(--font-mono); font-size:var(--text-xs); color:var(--text-muted); margin-top:12px; text-align:center; }
.cs__live{ max-width:760px; margin:0 auto; padding:0 32px; }
.cs__live a{ display:flex; align-items:center; justify-content:space-between; gap:16px; text-decoration:none;
  background:var(--surface-card); border:1px solid var(--border-hairline); border-left:3px solid var(--gold-400);
  border-radius:var(--radius-md); padding:18px 22px; transition:box-shadow var(--duration-base) var(--ease-out); }
.cs__live a:hover{ box-shadow:var(--shadow-md); }
.cs__live__label b{ font-family:var(--font-display); font-weight:600; color:var(--text-strong); font-size:var(--text-lg); display:block; }
.cs__live__label span{ font-size:var(--text-sm); color:var(--text-muted); }
.cs__live__url{ font-family:var(--font-mono); font-size:var(--text-sm); color:var(--gold-700); white-space:nowrap; }
.cs__cta{ text-align:center; padding:90px 32px; color:#fff; }
.cs__cta h2{ font-family:var(--font-display); font-weight:700; letter-spacing:0; font-size:clamp(28px,4vw,46px); margin:0 0 8px; }
.cs__cta p{ opacity:.85; margin:0 0 26px; font-size:var(--text-md); }
.cs__cta__row{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.cs__cta__btn{ font-family:var(--font-body); font-weight:600; text-decoration:none; padding:13px 24px; border-radius:var(--radius-md); font-size:var(--text-md); }
.cs__cta__btn--gold{ background:var(--gold-400); color:var(--slate-900); }
.cs__cta__btn--ghost{ background:transparent; color:#fff; border:1px solid rgba(255,255,255,.4); }
@media (max-width:820px){
  .cs__dossier{ grid-template-columns:1fr 1fr; }
  .cs__palette{ grid-template-columns:1fr 1fr; }
  .cs__runner{ display:none; }
  .cs__live a{ flex-direction:column; align-items:flex-start; }
}

/* ============ fx — reveals, hero entrance, cursor ============ */
.fx-reveal{ opacity:0; transform:translateY(22px);
  transition:opacity 1s cubic-bezier(.2,.7,.2,1), transform 1s cubic-bezier(.2,.7,.2,1); }
.fx-reveal.fx-in{ opacity:1; transform:none; }
html.fx-js .mkt-hero__inner > *{ opacity:0; transform:translateY(30px); }
html.fx-js .mkt-hero__inner.fx-hero-go > *{ animation:fx-rise 1s cubic-bezier(.2,.7,.2,1) forwards; }
html.fx-js .mkt-hero__inner.fx-hero-go > *:nth-child(2){ animation-delay:.10s; }
html.fx-js .mkt-hero__inner.fx-hero-go > *:nth-child(3){ animation-delay:.22s; }
html.fx-js .mkt-hero__inner.fx-hero-go > *:nth-child(4){ animation-delay:.36s; }
@keyframes fx-rise{ from{ opacity:0; transform:translateY(30px);} to{ opacity:1; transform:none;} }
html.fx-fail .mkt-hero__inner > *{ opacity:1 !important; transform:none !important; animation:none !important; }
.fx-cursor, .fx-cursor-dot{ position:fixed; left:0; top:0; pointer-events:none; z-index:9999; border-radius:50%; opacity:0; }
.fx-cursor{ width:36px; height:36px; margin:-18px 0 0 -18px; border:1.5px solid color-mix(in srgb, var(--gold-400) 75%, transparent);
  transition:width .25s ease, height .25s ease, margin .25s ease, background-color .25s ease, opacity .3s ease; }
.fx-cursor--hover{ width:60px; height:60px; margin:-30px 0 0 -30px; background:color-mix(in srgb, var(--gold-400) 14%, transparent); }
.fx-cursor-dot{ width:7px; height:7px; margin:-3.5px 0 0 -3.5px; background:var(--gold-400); }
html.fx-cursor-on, html.fx-cursor-on *{ cursor:none; }
html.fx-cursor-on input, html.fx-cursor-on textarea, html.fx-cursor-on select{ cursor:auto; }
@media (hover:none),(pointer:coarse){ .fx-cursor, .fx-cursor-dot{ display:none !important; } }
@media (prefers-reduced-motion:reduce){
  .fx-reveal{ opacity:1 !important; transform:none !important; }
  html.fx-js .mkt-hero__inner > *{ opacity:1 !important; transform:none !important; animation:none !important; }
}

/* ---- hero ---- */
.hws .hwx-lm-hero{ min-height:90vh; display:flex; align-items:center; overflow:hidden; background:var(--slate-900); padding:0; }
.hws .hwx-lm-hero > .hws-in{ position:relative; z-index:3; max-width:var(--container-max); margin:0 auto; width:100%; padding:0 32px; display:block; }
.hws .hwx-lm-hero > .hws-sec-bg{ inset:-12% 0 auto 0; height:124%; object-position:center 40%;
  will-change:transform; backface-visibility:hidden; animation:lm-kenburns 26s ease-in-out infinite alternate; }
@keyframes lm-kenburns{ from{ scale:1.04; } to{ scale:1.14; } }
@media (prefers-reduced-motion:reduce){ .hws .hwx-lm-hero > .hws-sec-bg{ animation:none; scale:1.06; } }
.hws .hwx-lm-hero > .hws-ov{ background:linear-gradient(90deg, rgba(8,20,28,0.82) 0%, rgba(8,20,28,0.55) 38%, rgba(8,20,28,0.12) 68%, transparent 88%); opacity:1; }
.hws .hwx-lm-hero::after{ content:""; position:absolute; inset:0; opacity:.05; pointer-events:none; z-index:-1; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>"); }
.hws .hwx-lm-hero-eyebrow{ font-family:var(--font-mono); font-size:var(--text-xs); font-weight:400; letter-spacing:.08em; text-transform:uppercase; line-height:1.45; color:var(--gold-300); margin:0 0 18px; }
.hws .hwx-lm-hero-title{ font-family:var(--font-display); font-weight:700; letter-spacing:-0.01em; line-height:1.0; color:#fff; font-size:clamp(44px,6.6vw,84px); margin:0; text-wrap:balance; }
.hws .hwx-lm-hero-sub{ font-family:var(--font-body); font-size:var(--text-lg); font-weight:400; letter-spacing:0; color:var(--paper); max-width:580px; line-height:1.55; margin:20px 0 30px; }
.hws .hwx-lm-hero > .hws-in > .hws-row{ display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
html.fx-js .hws .hwx-lm-hero > .hws-in > *{ opacity:0; transform:translateY(30px); }
html.fx-js .hws .hwx-lm-hero > .hws-in.fx-hero-go > *{ animation:fx-rise 1s cubic-bezier(.2,.7,.2,1) forwards; }
html.fx-js .hws .hwx-lm-hero > .hws-in.fx-hero-go > *:nth-child(2){ animation-delay:.10s; }
html.fx-js .hws .hwx-lm-hero > .hws-in.fx-hero-go > *:nth-child(3){ animation-delay:.22s; }
html.fx-js .hws .hwx-lm-hero > .hws-in.fx-hero-go > *:nth-child(4){ animation-delay:.36s; }
@media (prefers-reduced-motion:reduce){ html.fx-js .hws .hwx-lm-hero > .hws-in > *{ opacity:1; transform:none; animation:none; } }
html.fx-fail .hws .hwx-lm-hero > .hws-in > *{ opacity:1 !important; transform:none !important; animation:none !important; }

/* ---- buttons: v1's large primary with its arrow, and the ghost on a photo ---- */
.hws .hwx-lm-cta, .hws .hwx-lm-cta-ghost{ font-family:var(--font-body); font-weight:var(--weight-semibold); letter-spacing:var(--tracking-tight);
  display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid transparent; border-radius:var(--radius-md);
  font-size:var(--text-md); padding:13px 24px; line-height:1.2; white-space:nowrap; text-decoration:none;
  transition:background-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), transform var(--duration-fast) var(--ease-out); }
.hws .hwx-lm-cta{ background:var(--action-bg); color:var(--action-ink); }
.hws .hwx-lm-cta::after{ content:""; width:1.1em; height:1.1em; background:currentColor; -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14'/><path d='M12 5l7 7-7 7'/></svg>") center/contain no-repeat; mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14'/><path d='M12 5l7 7-7 7'/></svg>") center/contain no-repeat; }
.hws .hwx-lm-cta:hover{ background:var(--action-bg-hover); box-shadow:var(--shadow-gold-glow); }
.hws .hwx-lm-cta-ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,.5); }
.hws .hwx-lm-cta-ghost:hover{ background:rgba(255,255,255,.12); border-color:#fff; box-shadow:none; }

/* ---- purpose ---- */
.hws .hwx-lm-purpose{ background:var(--surface-page); padding:72px 32px; border-bottom:1px solid var(--border-hairline); }
.hws .hwx-lm-purpose > .hws-in{ max-width:760px; display:block; }
.hws .hwx-lm-purpose .hws-rt, .hws .hwx-lm-purpose .hws-rt p{ text-align:center; font-family:var(--font-display); font-weight:600; letter-spacing:0;
  line-height:1.28; font-size:clamp(22px,3vw,34px); color:var(--text-strong); text-wrap:balance; margin:0; max-width:none; }
.hws .hwx-lm-purpose .hws-rt b, .hws .hwx-lm-purpose .hws-rt strong{ color:var(--gold-600); font-weight:600; }

/* ---- trusted-by marquee ---- */
.hws .hwx-lm-trust{ background:var(--surface-page); padding:44px 0 16px; }
.hws .hwx-lm-trust > .hws-in{ max-width:none; display:block; }
.hws .hwx-lm-trust-label{ text-align:center; font-family:var(--font-mono); font-size:var(--text-xs); font-weight:400; letter-spacing:.1em; line-height:1.45;
  text-transform:uppercase; color:var(--text-muted); margin:0 0 28px; }
.hws .hwx-lm-trust .hws-mq{ mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); --mqd:55s; }
.hws .hwx-lm-trust .hws-mq-set{ gap:0; padding-right:0; }
.hws .hwx-lm-trust-logos{ display:flex; flex-direction:row; flex-wrap:nowrap; align-items:center; gap:0; }
.hws .hwx-lm-trust-logos > *{ padding:0 34px; display:flex; align-items:center; flex:none; }
.hws .hwx-lm-trust-logo, .hws .hwx-lm-trust-logo img{ height:44px; width:auto; max-width:none; display:block; }
.hws .hwx-lm-trust-logo img{ opacity:.62; transition:opacity var(--duration-base) var(--ease-out); }
.hws .hwx-lm-trust-logo:hover img{ opacity:1; }
@media (prefers-reduced-motion:reduce){ .hws .hwx-lm-trust .hws-mq-track{ animation:none; } }

/* ---- the craft ---- */
.hws .hwx-lm-craft{ background:var(--surface-inverse); color:var(--text-on-dark); padding:88px 32px; }
.hws .hwx-lm-craft > .hws-in{ max-width:var(--container-max); display:block; }
.hws .hwx-lm-eyebrow{ font-family:var(--font-mono); font-size:var(--text-xs); font-weight:400; letter-spacing:.08em; line-height:1.45; text-transform:uppercase; color:var(--gold-300); margin:0 0 14px; }
.hws .hwx-lm-craft-lead{ font-family:var(--font-display); font-weight:600; letter-spacing:-0.01em; font-size:clamp(28px,3.4vw,42px);
  line-height:1.08; color:#fff; margin:0 0 8px; max-width:18ch; }
.hws .hwx-lm-craft-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:52px; }
.hws .hwx-lm-craft-step{ border-top:1px solid var(--border-inverse); padding-top:20px; display:block; }
.hws .hwx-lm-craft-num{ font-family:var(--font-mono); font-size:var(--text-xs); font-weight:400; color:var(--gold-300); letter-spacing:.08em; line-height:1.45; margin:0; }
.hws .hwx-lm-craft-role{ font-family:var(--font-display); font-weight:600; font-size:var(--text-2xl); line-height:1.25; color:#fff; margin:10px 0 8px; letter-spacing:0; }
.hws .hwx-lm-craft-desc, .hws .hwx-lm-craft-desc p{ font-family:var(--font-body); font-size:var(--text-md); line-height:1.6; color:var(--text-on-dark-muted); margin:0; max-width:none; }
.hws .hwx-lm-craft-desc b, .hws .hwx-lm-craft-desc strong{ color:var(--paper); font-weight:600; }
@media (max-width:820px){ .hws .hwx-lm-craft-steps{ grid-template-columns:1fr; gap:8px; } }

/* ---- about ---- */
.hws .hwx-lm-about-hero{ background:var(--surface-page); padding:84px 32px 72px; border-bottom:1px solid var(--border-hairline); }
.hws .hwx-lm-about-sec{ padding:88px 32px; }
.hws .hwx-lm-about-sunk{ padding:88px 32px; background:var(--surface-sunk); border-top:1px solid var(--border-hairline); border-bottom:1px solid var(--border-hairline); }
.hws .hwx-lm-about-hero > .hws-in, .hws .hwx-lm-about-sec > .hws-in, .hws .hwx-lm-about-sunk > .hws-in{ max-width:var(--container-max); display:block; }
.hws .hwx-lm-about-hero-cols{ display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center; }
.hws .hwx-lm-about-cols{ display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:center; }
.hws .hwx-lm-about-duo{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.hws .hwx-lm-about-hero-cols > *, .hws .hwx-lm-about-cols > *, .hws .hwx-lm-about-duo > *{ display:block; min-width:0; }
.hws .hwx-lm-about-eyebrow{ font-family:var(--font-mono); font-size:var(--text-xs); font-weight:400; letter-spacing:.09em; line-height:1.45; text-transform:uppercase; color:var(--gold-600); margin:0 0 16px; }
.hws .hwx-lm-about-title{ font-family:var(--font-display); font-weight:700; letter-spacing:-0.01em; line-height:1.02;
  font-size:clamp(40px,5.6vw,68px); color:var(--text-strong); margin:0 0 20px; text-wrap:balance; }
.hws .hwx-lm-about-sub{ font-family:var(--font-body); font-size:var(--text-lg); font-weight:400; color:var(--text-body); line-height:1.6; margin:0; max-width:54ch; }
.hws .hwx-lm-about-h2{ font-family:var(--font-display); font-weight:700; letter-spacing:-0.01em; line-height:1.08;
  font-size:clamp(28px,3.6vw,44px); color:var(--text-strong); margin:0 0 18px; text-wrap:balance; }
.hws .hwx-lm-about-rich p{ font-family:var(--font-body); font-size:var(--text-md); color:var(--text-body); line-height:1.7; margin:0 0 16px; max-width:58ch; }
.hws .hwx-lm-about-rich b, .hws .hwx-lm-about-rich strong{ color:var(--text-strong); font-weight:700; }
.hws .hwx-lm-about-photo, .hws .hwx-lm-about-figure{ border-radius:var(--radius-lg); overflow:hidden; margin:0; }
.hws .hwx-lm-about-photo{ box-shadow:var(--shadow-lg); }
.hws .hwx-lm-about-figure{ box-shadow:var(--shadow-md); }
.hws .hwx-lm-about-photo img, .hws .hwx-lm-about-figure img{ display:block; width:100%; height:auto; border-radius:0; }
.hws .hwx-lm-about-cap{ font-family:var(--font-mono); font-size:var(--text-xs); font-weight:400; line-height:1.45; color:var(--text-muted); margin:10px 2px 0; }
.hws .hwx-lm-about-band{ position:relative; height:56vh; min-height:380px; overflow:hidden; padding:0; }
.hws .hwx-lm-about-band > .hws-sec-bg{ object-position:center 60%; }
.hws .hwx-lm-about-band > .hws-ov{ display:none; }
.hws .hwx-lm-about-people{ display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:40px; }
.hws .hwx-lm-about-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:44px; }
.hws .hwx-lm-about-person, .hws .hwx-lm-about-step{ display:block; background:var(--surface-card); border:1px solid var(--border-hairline); border-radius:var(--radius-lg); }
.hws .hwx-lm-about-person{ padding:26px 28px; }
.hws .hwx-lm-about-step{ padding:28px; }
.hws .hwx-lm-about-person-name{ font-family:var(--font-display); font-weight:700; font-size:24px; line-height:var(--leading-normal); letter-spacing:0; color:var(--text-strong); margin:0 0 4px; }
.hws .hwx-lm-about-person-role{ font-family:var(--font-mono); font-size:var(--text-xs); font-weight:400; line-height:1.45; letter-spacing:.07em; text-transform:uppercase; color:var(--gold-600); margin:0 0 14px; }
.hws .hwx-lm-about-person-bio{ font-family:var(--font-body); font-size:var(--text-base); color:var(--text-body); line-height:1.65; margin:0; }
.hws .hwx-lm-about-step-num{ font-family:var(--font-mono); font-size:var(--text-sm); font-weight:400; line-height:1.45; color:var(--gold-600); margin:0 0 12px; }
.hws .hwx-lm-about-step-title{ font-family:var(--font-display); font-weight:700; font-size:22px; line-height:var(--leading-normal); letter-spacing:0; color:var(--text-strong); margin:0 0 10px; }
.hws .hwx-lm-about-step-body{ font-family:var(--font-body); font-size:var(--text-base); color:var(--text-body); line-height:1.6; margin:0; }
.hws .hwx-lm-about-cta{ background:var(--surface-inverse); padding:96px 32px; text-align:center; }
.hws .hwx-lm-about-cta > .hws-in{ display:block; max-width:none; }
.hws .hwx-lm-about-cta-title{ font-family:var(--font-display); font-weight:700; letter-spacing:-0.01em; line-height:1.1; font-size:clamp(32px,5vw,56px); color:#fff; margin:0 0 14px; text-wrap:balance; }
.hws .hwx-lm-about-cta-sub{ font-family:var(--font-body); font-size:var(--text-lg); font-weight:400; line-height:1.55; color:var(--text-on-dark-muted); margin:0 0 30px; }
.hws .hwx-lm-about-cta-row{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.hws .hwx-lm-cta-inverse{ font-family:var(--font-body); font-weight:var(--weight-semibold); letter-spacing:var(--tracking-tight); display:inline-flex; align-items:center; justify-content:center; gap:8px;
  border:1px solid transparent; border-radius:var(--radius-md); font-size:var(--text-md); padding:13px 24px; line-height:1.2; white-space:nowrap; text-decoration:none;
  background:var(--white); color:var(--slate-900); transition:background-color var(--duration-base) var(--ease-out); }
.hws .hwx-lm-cta-inverse:hover{ background:var(--paper); }
@media (max-width:900px){
  .hws .hwx-lm-about-hero-cols, .hws .hwx-lm-about-cols{ grid-template-columns:1fr; gap:36px; }
  .hws .hwx-lm-about-people, .hws .hwx-lm-about-duo, .hws .hwx-lm-about-steps{ grid-template-columns:1fr; }
  .hws .hwx-lm-about-sec, .hws .hwx-lm-about-sunk{ padding:64px 24px; } .hws .hwx-lm-about-hero{ padding:56px 24px; }
}
@font-face{font-family:'Shop Caveat';font-style:normal;font-weight:400 700;font-display:swap;src:url(/v2/fonts/s/caveat/v23/WnznHAc5bAfYB2QRah7pcpNvOx-pjRV6eIWpYQ.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Shop Playfair';font-style:normal;font-weight:400 900;font-display:swap;src:url(/v2/fonts/s/playfairdisplay/v40/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKdFvXDXbtM.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Shop Playfair';font-style:italic;font-weight:400 900;font-display:swap;src:url(/v2/fonts/s/playfairdisplay/v40/nuFRD-vYSZviVYUb_rj3ij__anPXDTnCjmHKM4nYO7KN_qiTXtHA-Q.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

.hws,.shop-en{--s-page:#faf8f2;--s-band:#fff;--s-sunk:#f3efe6;--s-dark:#0e1a1f;--s-ondark:#faf8f2;--s-hero:#ffbd59;--s-gold:#ffbd59;--s-ink:#0e1a1f;--s-body:#1d353d;--s-mut:#355158;--s-mark:#c4452d;--s-line:#0e1a1f;--s-disp:var(--hws-font-heading,'Bricolage Grotesque'),sans-serif;--s-dw:800;--s-track:-.025em;--s-r:14px;--s-bw:3px;--s-mono:'Roboto Mono',monospace;--s-hand:'Shop Caveat',cursive;--s-fancy:'Shop Playfair',serif}
:root[data-shop-agency] .hws,.shop-ag{--s-page:#0e1a1f;--s-band:#16282e;--s-sunk:#16282e;--s-dark:#0e1a1f;--s-ondark:#faf8f2;--s-hero:#0e1a1f;--s-gold:#ffbd59;--s-ink:#faf8f2;--s-body:#dde6e8;--s-mut:#8ba6ab;--s-mark:#ffbd59;--s-line:#355158;--s-disp:'Shop Playfair',serif;--s-dw:400;--s-track:0;--s-r:0;--s-bw:1px}
.shop-en,.shop-ag{--s-mono:'Roboto Mono',monospace;--s-hand:'Shop Caveat',cursive;--s-fancy:'Shop Playfair',serif}
.shop-wrap{max-width:1240px;margin:0 auto;padding:0 40px;box-sizing:border-box}
.hws .hwx-shop-header,.hws .hwx-shop-paper,.hws .hwx-shop-white,.hws .hwx-shop-peg,.hws .hwx-shop-blueprint,.hws .hwx-shop-dark,.hws .hwx-shop-shelf,.hws .hwx-shop-gold,.hws .hwx-shop-foot,.hws .hwx-shop-logos,.hws .hwx-shop-about-hero{transition:background-color .5s ease,color .5s ease}

.hws .hws-code:is([data-code="shop-portrait"],[data-code="shop-calc"],[data-code="shop-jobs"],[data-code="shop-enquiry"],[data-code="shop-blueprint"],[data-code="shop-phone-test"]){width:100%;align-self:stretch}

/* the status strip */
.shop-status{padding:7px 0;background:#0e1a1f;color:#faf8f2;font-size:14px}
.shop-status .shop-wrap{display:flex;flex-wrap:wrap;gap:2px 16px;justify-content:space-between}
.shop-status a{color:#ffd060;font-weight:600;text-decoration:none}
.shop-dot{display:inline-block;width:9px;height:9px;margin-right:8px;border-radius:50%;background:#3f8f5b;animation:shop-pulse 2s infinite}
@keyframes shop-pulse{0%{box-shadow:0 0 0 0 rgba(63,143,91,.7)}70%{box-shadow:0 0 0 9px rgba(63,143,91,0)}100%{box-shadow:0 0 0 0 rgba(63,143,91,0)}}

/* the header */
/* The header stays with you down the page, and the status strip above it scrolls away, so what
   follows you is one slim bar. On the home page the bar waits until most of the hero is behind you
   (chrome.tsx), then fills in, so it never lands on the headline. Until then only the menu is up
   there, across from the translate bar. Agency Mode brings the whole bar straight back, because its
   way out is in the header. Never in the editor. */
.hws:not(.hws-edit)>header:has(.shop-status){position:sticky;top:calc(-1 * var(--shop-strip,0px));z-index:40}
:root:has(.shop-hero) .hws:not(.hws-edit)>header:has(.shop-status){position:fixed;top:0;left:0;right:0;transform:translateY(calc(-1 * var(--shop-strip,0px)));transition:transform .5s cubic-bezier(.2,.7,.2,1),opacity .5s ease}
:root:has(.shop-hero):not([data-shop-scrolled]):not([data-shop-agency]) .hws:not(.hws-edit)>header:has(.shop-status){pointer-events:none}
:root:has(.shop-hero):not([data-shop-scrolled]):not([data-shop-agency]) .hws:not(.hws-edit) .hwx-shop-header{background:transparent}
:root:has(.shop-hero):not([data-shop-scrolled]):not([data-shop-agency]) .hws:not(.hws-edit) .hwx-shop-bar>:not(.hwx-shop-nav){opacity:0;visibility:hidden}
/* The agency's sliver has the hero's right edge at rest (95%, seam.tsx), so where the page is narrow
   enough for the two to meet, the menu steps left of it. */
:root:has(.shop-hero):not([data-shop-scrolled]):not([data-shop-agency]) .hws:not(.hws-edit) .hwx-shop-nav{translate:min(0px,calc(95vw - 24px - min(100vw - var(--hws-gutter),50vw + var(--hws-w-content) / 2))) 18px}
.hws .hwx-shop-bar>*{transition:opacity .4s ease,visibility .4s,translate .5s cubic-bezier(.2,.7,.2,1)}
.hws .hwx-shop-nav{pointer-events:auto}
:root[data-shop-scrolled] .hws:not(.hws-edit)>header:has(.shop-status){box-shadow:0 1px 0 rgba(14,26,31,.14)}
:root:has(.hws:not(.hws-edit) .shop-status){scroll-padding-top:calc(var(--shop-top,120px) - var(--shop-strip,0px) + 8px)}
.hws .hwx-shop-header{background:var(--s-page);color:var(--s-ink)}
.hws .hwx-shop-bar{align-items:center;width:100%}
.hws .hwx-shop-bar>:first-child{margin-right:auto}
.shop-logo{display:inline-flex;align-items:center;gap:12px;font-family:var(--s-disp);font-weight:var(--s-dw);font-size:21px;color:var(--s-ink);text-decoration:none;white-space:nowrap}
.shop-logo:hover{text-decoration:none}
.shop-badge{position:relative;display:block;width:46px;height:46px;border-radius:50%;overflow:hidden}
.shop-badge img{position:absolute;left:-22%;top:-22%;width:144%;height:144%;max-width:none}
.hws .hwx-shop-nav{font-family:var(--hws-font-body,'Poppins'),sans-serif;font-weight:500;font-size:15px}
.hws .hwx-shop-nav .hws-nav-a{color:var(--s-ink);font-weight:500;font-size:15px}
/* The menu folds behind one button on every screen, so the hero gets the first look. (Phones fold it already.) */
@media (min-width:761px){
  .hws .hwx-shop-nav>.hws-nav-list{display:none}
  .hws .hwx-shop-nav>.hws-nav-m{display:block;position:relative}
  .hws .hwx-shop-nav .hws-nav-btn{width:auto;height:auto;min-height:44px;margin:0;padding:0 18px 0 16px;gap:12px;border:var(--s-bw) solid var(--s-line);border-radius:999px;color:var(--s-ink)}
  .hws .hwx-shop-nav .hws-nav-btn::after{content:"Menu";font:600 15px var(--hws-font-body,'Poppins'),sans-serif}
  :root[data-shop-agency] .hws .hwx-shop-nav .hws-nav-btn::after{content:"Explore"}
  .hws .hwx-shop-nav .hws-nav-panel{left:auto;right:0;top:calc(100% + 10px);width:250px;padding:12px 24px 16px;border:var(--s-bw) solid var(--s-line);border-radius:16px;background:var(--s-page);color:var(--s-ink);box-shadow:6px 6px 0 var(--s-line)}
}
.shop-sw{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px 0 14px;border:var(--s-bw) solid var(--s-line);border-radius:999px;background:#fff;color:#0e1a1f;font:600 15px var(--hws-font-body,'Poppins'),sans-serif;cursor:pointer;white-space:nowrap}
.shop-globe{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
:root[data-shop-agency] .shop-sw{background:transparent;color:var(--s-ink);border-color:#ffbd59;font-weight:500}
.shop-sw:hover{transform:translateY(-1px)}
:root[data-shop-agency] .shop-sw.shop-panic{background:#c4452d;color:#fff;border:3px solid #fff;font-weight:800;box-shadow:0 0 0 0 rgba(196,69,45,.7);animation:shop-panic 3.2s ease-in-out infinite}
:root[data-shop-agency] .shop-sw.shop-panic:hover{background:#a93a25;animation:shop-frantic .22s linear infinite}
@keyframes shop-panic{0%,72%,100%{transform:rotate(0);box-shadow:0 0 0 0 rgba(196,69,45,.7)}76%{transform:rotate(-3deg)}80%{transform:rotate(3deg)}84%{transform:rotate(-2deg)}88%{transform:rotate(2deg)}92%{transform:rotate(0);box-shadow:0 0 0 12px rgba(196,69,45,0)}}
@keyframes shop-frantic{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}

/* the hero */
.shop-hero{position:relative;min-height:clamp(680px,94svh,880px);overflow:hidden;container-type:inline-size}
.shop-layer{position:absolute;inset:0;isolation:isolate;background:var(--s-hero);color:var(--s-ink)}
.shop-layer.shop-ag{clip-path:inset(0 0 0 var(--shop-cut))}
/* The line between us and them (seam.tsx). It rests near the right edge with a sliver of the agency
   showing, and nudges twice once the mountain is up. All the way across, it steps aside: the way back
   is the translate bar. */
.shop-grip{position:absolute;top:0;bottom:0;left:var(--shop-cut);width:44px;margin-left:-22px;z-index:4;pointer-events:none;transition:opacity .3s ease,visibility .3s}
.shop-grip::before{content:"";position:absolute;top:0;bottom:0;left:20px;width:4px;background:#c4452d}
.shop-nub{position:absolute;left:-8px;top:50%;display:flex;align-items:center;justify-content:center;width:60px;height:60px;margin-top:-30px;box-sizing:border-box;border:4px solid #0e1a1f;border-radius:50%;background:#fff;cursor:ew-resize;touch-action:none;pointer-events:auto;transition:transform .15s ease;animation:shop-nudge 1.4s ease-in-out 1.8s 2}
.shop-nub svg{width:34px;height:34px}
.shop-grip:hover .shop-nub{transform:scale(1.1)}
/* With a mouse the whole line is a handle. On a touch screen it would catch thumbs scrolling past, so only the nub is. */
@media (pointer:fine){.shop-grip{pointer-events:auto;cursor:ew-resize}}
.shop-across .shop-grip{opacity:0;visibility:hidden}
.shop-glide .shop-layer.shop-ag{transition:clip-path .9s cubic-bezier(.65,0,.25,1)}
.shop-glide .shop-grip{transition:left .9s cubic-bezier(.65,0,.25,1),opacity .3s ease,visibility .3s}
@keyframes shop-nudge{0%,55%,100%{transform:translateX(0)}70%{transform:translateX(-12px)}85%{transform:translateX(3px)}}
/* The translate bar. In Agency Mode the header is back at the top, so the bar steps down from under it. */
.shop-lang{position:absolute;top:28px;left:0;right:0;z-index:5;pointer-events:none;transition:top .5s cubic-bezier(.2,.7,.2,1)}
.shop-lang .shop-inner{height:auto}
:root[data-shop-agency] .shop-lang{top:calc(var(--shop-top,120px) - var(--shop-strip,0px) + 20px)}
.shop-langbar{pointer-events:auto;display:inline-flex;align-items:center;gap:10px;white-space:nowrap;padding:5px 5px 5px 14px;border:3px solid #0e1a1f;border-radius:999px;background:#fff;color:#0e1a1f;font:600 15px var(--hws-font-body,'Poppins'),sans-serif;transition:background-color .5s ease,color .5s ease,border-color .5s ease}
.shop-langseg{display:inline-flex;gap:3px;padding:3px;border-radius:999px;background:rgba(14,26,31,.08)}
.shop-langseg button{min-height:38px;padding:0 16px;border:0;border-radius:999px;background:transparent;color:inherit;font:inherit;cursor:pointer;transition:background-color .3s ease,color .3s ease}
.shop-langseg button:hover{background:rgba(14,26,31,.12)}
.shop-langseg button[aria-pressed=true]{background:#0e1a1f;color:#ffd060;cursor:default}
.shop-theirs .shop-langbar{padding-left:16px;border:1px solid #ffbd59;background:#16282e;color:#faf8f2;font:italic 400 17px var(--s-fancy)}
.shop-theirs .shop-langseg{background:rgba(255,255,255,.07)}
.shop-theirs .shop-langseg button:hover{background:rgba(255,255,255,.12)}
.shop-theirs .shop-langseg button[aria-pressed=true]{background:#ffbd59;color:#0e1a1f}
.shop-langnote{margin:10px 0 0 18px;font:italic 400 15px var(--s-fancy);color:#8ba6ab;opacity:0;transition:opacity .2s ease}
/* Only once the line is all the way across: dragged partway, our side is still showing under it. */
.shop-across .shop-langnote{opacity:1;transition:opacity .6s .7s ease}
.shop-inner{position:relative;max-width:1240px;height:100%;margin:0 auto;padding:0 40px;box-sizing:border-box}
.shop-txt{position:absolute;top:50%;transform:translateY(-50%)}
/* Same spot on both sides, so the swap reads as the same pitch in two languages. */
.shop-en .shop-txt,.shop-ag .shop-txt{left:40px;width:49%}
/* A little lower on their side, clear of the translate bar's note. */
.shop-ag .shop-txt{top:calc(50% + 32px)}
.shop-eyebrow{margin:0 0 20px;font-weight:700}
.shop-ag .shop-eyebrow{font-weight:400;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--s-mark)}
.shop-struck{position:relative;display:inline-block;margin:0 0 6px;font-family:var(--s-disp);font-size:clamp(20px,2.4vw,30px);font-weight:500;margin-bottom:10px}
.shop-struck::after{content:"";position:absolute;left:-3px;right:-3px;top:54%;height:5px;border-radius:3px;background:#c4452d;transform-origin:left;animation:shop-strike .45s .25s ease-out both}
@keyframes shop-strike{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.shop-hero h1{margin:0 0 26px;font-family:var(--s-disp);font-weight:var(--s-dw);font-size:clamp(38px,4.9vw,70px);line-height:1.02;letter-spacing:var(--s-track);color:inherit}
.shop-them-h{margin:0 0 22px;font-family:var(--s-disp);font-style:italic;font-size:clamp(38px,4.6vw,64px);line-height:1.08}
.shop-sub{max-width:32em;margin:0 0 32px;font-size:clamp(17px,1.6vw,20px);line-height:1.4}
.shop-under{margin:18px 0 0;font-size:14px;color:var(--s-body)}
.shop-ag .shop-under{color:#8ba6ab}
.shop-btn-row{display:flex;flex-wrap:wrap;gap:14px}
.shop-b,.hws .hwx-shop-btn,.hws .hwx-shop-btn-ghost{display:inline-flex;align-items:center;min-height:48px;padding:0 24px;border:var(--s-bw) solid var(--s-line);border-radius:var(--s-r);background:var(--s-line);color:#ffd060;font-weight:700;text-decoration:none;box-shadow:5px 5px 0 rgba(14,26,31,.9);transition:transform .1s ease,box-shadow .1s ease}
.shop-b.shop-ghost,.hws .hwx-shop-btn-ghost{background:#fff;color:#0e1a1f}
.shop-b:hover,.hws .hwx-shop-btn:hover,.hws .hwx-shop-btn-ghost:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 rgba(14,26,31,.9);text-decoration:none}
.shop-b:active,.hws .hwx-shop-btn:active,.hws .hwx-shop-btn-ghost:active{transform:translate(5px,5px);box-shadow:none}
.shop-ag .shop-b,:root[data-shop-agency] .hws .hwx-shop-btn,:root[data-shop-agency] .hws .hwx-shop-btn-ghost{background:transparent;color:var(--s-ink);border-color:#ffbd59;font-weight:400;letter-spacing:.05em;box-shadow:none}
.shop-s{stroke:#0e1a1f;stroke-width:5;stroke-linejoin:round;stroke-linecap:round;fill:none}
.shop-t{stroke:#0e1a1f;stroke-width:2.5;fill:none}
.shop-fw{fill:#fff}.shop-fi{fill:#0e1a1f}.shop-fr{fill:#c4452d}.shop-fy{fill:#ffd060}.shop-fb{fill:#a8d8f0}.shop-fm{fill:#c6f0da}
.shop-g{stroke:#ffbd59;stroke-width:1;fill:none}
.shop-big{position:absolute;display:block}
.shop-wig:hover{animation:shop-wiggle .35s ease-in-out}
.shop-wig:active{scale:1.15}
@keyframes shop-wiggle{25%{rotate:-6deg}75%{rotate:6deg}}
.shop-spin{transform-origin:60px 60px;animation:shop-spin 16s linear infinite}
@keyframes shop-spin{to{transform:rotate(360deg)}}
.shop-orb{position:absolute;right:6%;top:50%;width:min(400px,36cqw);aspect-ratio:1;translate:0 -50%;border-radius:50%;background:radial-gradient(circle at 34% 28%,#fef7e8 0%,#ffbd59 32%,#784a0d 70%,#0e1a1f 100%)}
.shop-orbcap{position:absolute;right:6%;bottom:36px;margin:0;color:#8ba6ab;font:italic 400 16px var(--s-fancy)}
/* The drawing stops where the agency's sliver starts (seam.tsx), so the line never cuts a caption. The ground runs on under it. */
.shop-summit{position:absolute;inset:0;z-index:1;width:95%;height:100%;overflow:visible}
.shop-en .shop-txt,.shop-en .shop-big{z-index:2}
/* The mountain rises once as the page opens, then the climber turns up (summit.tsx). */
.shop-rise{animation:shop-rise 1.1s .2s cubic-bezier(.2,.7,.2,1) both}
.shop-flagup{animation:shop-flagup 1.1s .2s cubic-bezier(.2,.7,.2,1) both}
.shop-climb{animation:shop-fade .5s 1.1s ease both}
@keyframes shop-rise{from{transform:scaleY(.22)}}
@keyframes shop-flagup{from{transform:translateY(374px)}}
.shop-summit-words p,.shop-summit-cap{margin:0;color:#0e1a1f;font:600 25px/1.15 var(--s-hand);text-align:right}
.shop-summit-next{display:block;width:100%;min-height:44px;padding:0;border:0;background:none;color:#0e1a1f;font:600 21px/1.1 var(--s-hand);text-align:right;text-decoration:underline;cursor:pointer}
.shop-summit-words{position:absolute;z-index:2;transform-origin:0 0}
.shop-summit-phone{display:none}
.shop-hl{position:relative;display:inline-block}
.shop-hl svg{position:absolute;left:-2%;bottom:-.16em;width:104%;height:.24em;overflow:visible}
.shop-hl path{fill:none;stroke:#c4452d;stroke-width:7;stroke-linecap:round;stroke-dasharray:700;animation:shop-squiggle 1s .5s ease-out both}
@keyframes shop-squiggle{from{stroke-dashoffset:700}to{stroke-dashoffset:0}}
.shop-ticker{overflow:hidden;background:#0e1a1f;color:#ffd060;padding:12px 0;font-family:var(--s-disp);font-weight:var(--s-dw);font-size:21px;white-space:nowrap}
:root[data-shop-agency] .shop-ticker{color:#ffbd59;font-style:italic;font-size:17px;border-top:1px solid #355158;border-bottom:1px solid #355158}
.shop-tick{display:inline-block;animation:shop-tick 34s linear infinite}
:root[data-shop-agency] .shop-tick{animation-duration:90s}
@keyframes shop-tick{to{transform:translateX(-50%)}}

/* the words on every band */
.hws .hwx-shop-job{margin:0;font:500 13px var(--s-mono);letter-spacing:.04em;color:#a8680f}
:root[data-shop-agency] .hws .hwx-shop-job{color:var(--s-mark);letter-spacing:.2em;text-transform:uppercase;font-size:12px;font-weight:400}
.hws .hwx-shop-h2{margin:0;font-family:var(--s-disp);font-weight:var(--s-dw);font-size:clamp(34px,5vw,66px);line-height:1.03;letter-spacing:var(--s-track);color:inherit}
.hws .hwx-shop-h1{margin:0;font-family:var(--s-disp);font-weight:var(--s-dw);font-size:clamp(44px,6.6vw,92px);line-height:1;letter-spacing:var(--s-track);color:var(--s-ink)}
:root[data-shop-agency] .hws .hwx-shop-h1{font-style:italic;line-height:1.08}
.hws .hwx-shop-h3{margin:0;font-family:var(--s-disp);font-weight:var(--s-dw);font-size:clamp(25px,3vw,34px);line-height:1.1;color:inherit}
.hws .hwx-shop-lede{margin:0 0 26px;max-width:38em;color:var(--s-mut);font-size:17px;line-height:1.55}
.hws .hwx-shop-kick{margin:0;font-weight:700;color:#ffd060}
.hws .hwx-shop-paper{background:var(--s-page);color:var(--s-ink)}
.hws .hwx-shop-white{background:var(--s-band);color:var(--s-ink);overflow:clip}
.hws .hwx-shop-dark{background:var(--s-dark);color:var(--s-ondark)}
.hws .hwx-shop-dark .hwx-shop-lede{color:inherit}

/* the logos */
.hws .hwx-shop-logos{background:#fff;color:#0e1a1f}
:root[data-shop-agency] .hws .hwx-shop-logos{background:#16282e;color:#faf8f2}
.hws .hwx-shop-logos .hwx-shop-lede{margin-bottom:8px;font-weight:600;color:inherit;max-width:none}
:root[data-shop-agency] .hws .hwx-shop-logos .hwx-shop-lede{font-family:var(--s-disp);font-style:italic;font-weight:400}
.hws .hwx-shop-logo-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px 26px;align-items:center;width:100%}
.hws .hwx-shop-logo-img{display:block;width:100%;height:70px;object-fit:contain}
:root[data-shop-agency] .hws .hwx-shop-logo-img{filter:grayscale(1) invert(1) brightness(1.4) contrast(.7);mix-blend-mode:screen}

/* the job board */
.hws .hwx-shop-peg{background-color:var(--s-page);color:var(--s-ink)}
:root:not([data-shop-agency]) .hws .hwx-shop-peg{background-color:#16282e;background-image:radial-gradient(#25424c 2.5px,transparent 3px);background-size:26px 26px;color:#faf8f2}
:root:not([data-shop-agency]) .hws .hwx-shop-peg .hwx-shop-job{color:#ffd060}
:root:not([data-shop-agency]) .hws .hwx-shop-peg .hwx-shop-lede{color:#dde6e8}
.hws .hwx-shop-job-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;width:100%}
:root:not([data-shop-agency]) .hws .hwx-shop-job-list{padding-top:26px;row-gap:52px}
.hws .hwx-shop-job-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:112px 24px 24px;border:var(--s-bw) solid var(--s-line);border-radius:var(--s-r);background:var(--s-band);color:var(--s-ink);transition:transform .15s ease,box-shadow .15s ease}
:root:not([data-shop-agency]) .hws .hwx-shop-job-card{padding-top:124px;color:#0e1a1f;transform-origin:50% -18px;border-radius:14px 14px 18px 18px;transform:rotate(-.7deg)}
:root:not([data-shop-agency]) .hws .hws-grid>:nth-child(even) .hwx-shop-job-card,:root:not([data-shop-agency]) .hws .hwx-shop-job-list>:nth-child(even).hwx-shop-job-card{transform:rotate(.6deg)}
:root:not([data-shop-agency]) .hws .hwx-shop-job-card::before{content:"";position:absolute;top:12px;left:50%;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:#16282e;box-shadow:inset 0 0 0 2px #8ba6ab}
:root:not([data-shop-agency]) .hws .hwx-shop-job-card::after{content:"";position:absolute;top:-28px;left:50%;width:2px;height:44px;margin-left:-1px;background:#bccbce}
:root:not([data-shop-agency]) .hws .hwx-shop-job-card:hover{transform:rotate(0deg);box-shadow:0 16px 0 -6px #ffbd59;animation:shop-swing .6s ease-in-out}
@keyframes shop-swing{25%{rotate:3deg}60%{rotate:-2deg}85%{rotate:1deg}}
.hws .hwx-shop-job-card h3{margin:0;font-family:var(--s-disp);font-weight:var(--s-dw);font-size:27px;line-height:1.1;color:inherit}
.hws .hwx-shop-job-card p{margin:0;flex:1;font-size:16px}
.hws .hwx-shop-job-card .hwx-shop-price{flex:0 0 auto;margin:0;font-family:var(--s-disp);font-weight:var(--s-dw);font-size:32px;line-height:1.2}
:root[data-shop-agency] .hws .hwx-shop-job-card .hwx-shop-price{font-size:15px;font-style:italic;color:var(--s-mark)}
.shop-sticker{position:absolute;top:14px;left:20px;width:90px;height:90px;transition:transform .45s cubic-bezier(.5,-.3,.7,1),opacity .3s ease}
:root:not([data-shop-agency]) .shop-sticker{left:auto;right:14px;top:26px}
:root[data-shop-agency] .shop-sticker{transform:translateY(-30px) rotate(28deg) scale(.5);opacity:0;pointer-events:none}
.shop-goldshape{position:absolute;top:14px;left:20px;width:90px;height:90px;opacity:0;transition:opacity .6s .2s ease;pointer-events:none}
:root[data-shop-agency] .shop-goldshape{opacity:1}
.shop-edge{display:block;width:100%;height:70px;margin-bottom:-1px}
:root[data-shop-agency] .shop-edge{display:none}

/* finished jobs */
.shop-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 34px}
.shop-fbtn{min-height:44px;padding:0 16px;border:2px solid var(--s-line);border-radius:999px;background:transparent;color:var(--s-ink);font:600 14px var(--hws-font-body,'Poppins'),sans-serif;cursor:pointer}
.shop-fbtn.on{background:#0e1a1f;color:#ffd060}
:root[data-shop-agency] .shop-fbtn.on{background:transparent;color:var(--s-mark);border-color:var(--s-mark)}
.shop-cases{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:34px}
@media (min-width:1024px){.shop-cases:has(>:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}}
.shop-case{position:relative;min-width:0}
:root:not([data-shop-agency]) .shop-case{padding:14px 14px 22px;background:#fff;box-shadow:0 10px 24px rgba(14,26,31,.14);transition:transform .2s ease;color:#0e1a1f}
:root:not([data-shop-agency]) .shop-case:nth-child(odd){transform:rotate(-1deg)}
:root:not([data-shop-agency]) .shop-case:nth-child(even){transform:rotate(.8deg)}
:root:not([data-shop-agency]) .shop-case:hover{transform:rotate(0deg) scale(1.015);z-index:2}
:root:not([data-shop-agency]) .shop-case::before{content:"";position:absolute;z-index:2;top:-14px;left:50%;width:110px;height:30px;margin-left:-55px;background:rgba(255,208,96,.8);transform:rotate(-2deg)}
.shop-shot{display:block;position:relative;height:330px;overflow:hidden;background:#fff;transition:filter .6s ease}
:root[data-shop-agency] .shop-shot{filter:grayscale(1) contrast(.9) brightness(.85);border:1px solid #ffbd59;height:340px}
.shop-shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
:root[data-shop-agency] .shop-shot img{object-fit:contain}
.shop-case h3{margin:16px 0 4px;font-family:var(--s-disp);font-weight:var(--s-dw);font-size:28px;line-height:1.1;color:inherit}
.shop-case p{margin:0 0 8px;font-size:16px}
.shop-case a{color:inherit;font-weight:600;font-size:15px}

/* the blueprint */
.hws .hwx-shop-blueprint{background:var(--s-band);color:var(--s-ink)}
:root:not([data-shop-agency]) .hws .hwx-shop-blueprint{background-color:#1f5a80;background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:28px 28px;color:#fff}
:root:not([data-shop-agency]) .hws .hwx-shop-blueprint .hwx-shop-job{color:#ffd060}
:root:not([data-shop-agency]) .hws .hwx-shop-blueprint .hwx-shop-lede{color:#fff}
.hws .hwx-shop-steprow{display:grid;grid-template-columns:84px minmax(0,1fr);gap:4px 24px;padding:24px 0;border-top:var(--s-bw) solid var(--s-line)}
:root:not([data-shop-agency]) .hws .hwx-shop-blueprint .hwx-shop-steprow{border-top:2px solid rgba(255,255,255,.7)}
.hws .hwx-shop-steprow>:not(.hwx-shop-num){grid-column:2}
.hws .hwx-shop-num{grid-row:1/span 2;margin:0;font-family:var(--s-disp);font-weight:var(--s-dw);font-size:76px;line-height:.85;color:#ffd060}
:root[data-shop-agency] .hws .hwx-shop-num{font-size:44px;font-style:italic;line-height:1.1;color:var(--s-mark)}
.hws .hwx-shop-mvrow{display:flex;flex-direction:column;gap:10px;padding:24px 0;border-top:var(--s-bw) solid var(--s-line)}
:root:not([data-shop-agency]) .hws .hwx-shop-blueprint .hwx-shop-mvrow{border-top:2px solid rgba(255,255,255,.7)}
.hws .hwx-shop-mvrow h3{margin:0;font-family:var(--s-disp);font-weight:var(--s-dw);font-size:27px;line-height:1.1;color:inherit}
:root:not([data-shop-agency]) .hws .hwx-shop-mvrow h3{color:#ffd060}
.hws .hwx-shop-mvbody{margin:0;max-width:34em;font-size:clamp(19px,1.8vw,23px);line-height:1.4}
.hws .hwx-shop-blueprint .hwx-shop-h3{margin-top:36px}
.hws .hwx-shop-notes{flex-wrap:wrap;align-items:flex-start;margin-top:28px}
.hws .hwx-shop-note{flex:1 1 260px;max-width:420px;margin:0;padding:18px 22px 20px;background:#ffd060;color:#0e1a1f;font:700 25px/1.15 var(--s-hand);transform:rotate(-1.5deg);box-shadow:0 12px 0 -5px rgba(14,26,31,.35)}
.hws .hwx-shop-note+.hwx-shop-note{transform:rotate(1.5deg)}
:root[data-shop-agency] .hws .hwx-shop-note{background:transparent;border:1px solid #ffbd59;color:#ffbd59;font:italic 400 19px/1.3 var(--s-fancy);transform:none;box-shadow:none}
.hws .hwx-shop-steprow h3{margin:0;font-family:var(--s-disp);font-weight:var(--s-dw);font-size:27px;line-height:1.1;color:inherit}
.hws .hwx-shop-rich,.hws .hwx-shop-rich p{margin:0;font-size:16px;color:inherit}
.hws .hwx-shop-steps-list{width:100%}
.shop-sheet{padding:22px;border:2px solid #fff;font-family:var(--s-mono);color:#fff}
:root[data-shop-agency] .shop-sheet{display:none}
.shop-sheethead{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 14px;margin:0 0 20px;padding:0 0 8px;border-bottom:2px solid #fff;font-size:12px}
.shop-bpnode{min-height:44px;padding:8px 12px;border:2px solid #fff;background:#1f5a80;color:#fff;font:500 13px var(--s-mono);cursor:pointer;transition:background .12s ease,color .12s ease}
.shop-bpnode:hover{background:#2e7dae}
.shop-bpnode.on{background:#ffd060;border-color:#ffd060;color:#0e1a1f}
.shop-bpnode.dyn{box-shadow:5px 5px 0 -2px #1f5a80,5px 5px 0 0 #fff,10px 10px 0 -2px #1f5a80,10px 10px 0 0 #fff}
.shop-bpnode.el{border-style:dashed;border-radius:999px}
.shop-bphome{display:flex;justify-content:center}
.shop-bpline{width:2px;height:22px;margin:0 auto;background:#fff}
.shop-bprow{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:18px 14px;padding-top:18px;border-top:2px solid #fff}
.shop-bpels{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px;padding-top:18px;border-top:2px dashed rgba(255,255,255,.6)}
.shop-bplegend{min-height:86px;margin:22px 0 0;padding:12px 14px;background:rgba(14,26,31,.3);font-size:13px;line-height:1.5}
.shop-bplegend b{display:block;color:#ffd060}
.shop-scrawl{margin:12px 0 0;font:700 25px/1.1 var(--s-hand);color:#ffd060;transform:rotate(-1deg)}

/* the wheat */
/* Two rows: a dimmer, shorter one behind, so it reads as a field and not a fence. Each stalk is a fixed
   width, so a phone shows fewer, not tinier. */
.shop-field{position:relative;height:250px;box-sizing:border-box;background:var(--s-dark);overflow:hidden;touch-action:pan-y;transition:background-color .5s ease}
.shop-wheatdefs{position:absolute}
.shop-row{position:absolute;left:0;right:0;bottom:-4px;display:flex;align-items:flex-end;justify-content:space-between;padding:0 4px}
.shop-row.shop-back{bottom:6px;padding-left:18px;opacity:.5}
.shop-stalk{display:block;flex:0 0 auto;width:30px;margin:0 -2px;overflow:visible;transform-origin:50% 100%;animation:shop-sway 3.6s ease-in-out infinite alternate;transition:rotate .2s ease}
.shop-back .shop-stalk{width:24px}
.shop-stalk:hover{rotate:24deg}
@keyframes shop-sway{from{transform:rotate(-5deg)}to{transform:rotate(6deg)}}
.shop-k1{fill:#ffbd59}.shop-k2{fill:#f0a43a}
.shop-awn{stroke:#ffd27a;stroke-width:1.2;stroke-linecap:round;fill:none;opacity:.85}
.shop-stem{stroke:#e39b34;stroke-width:3;stroke-linecap:round;fill:none}
.shop-blade{fill:#c98a2e}
:root[data-shop-agency] .shop-stalk{animation:none;opacity:.35}

/* the back shelf */
.hws .hwx-shop-shelf{background:var(--s-sunk);color:var(--s-ink)}
.hws .hwx-shop-shelf-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;width:100%;align-items:end}
:root:not([data-shop-agency]) .hws .hwx-shop-shelf-list{padding-bottom:22px;border-bottom:12px solid #16282e}
.shop-prod{display:flex;flex-direction:column;gap:14px;padding:26px;border:var(--s-bw) solid var(--s-line);border-radius:var(--s-r);background:#fff;color:#0e1a1f;text-decoration:none;transition:transform .15s ease}
.shop-prod:hover{transform:translateY(-6px);text-decoration:none;color:#0e1a1f}
:root:not([data-shop-agency]) .shop-prod{box-shadow:7px 7px 0 #16282e}
:root[data-shop-agency] .shop-prod{background:#faf8f2;border-color:#ffbd59}
.shop-prod img{display:block;height:42px;width:auto;max-width:100%;object-fit:contain;object-position:left}
.shop-prod p{margin:0;font-size:16px}

/* the prairie */
.shop-place{position:relative;aspect-ratio:1900/878;overflow:hidden;background:#2e7dae}
.shop-placephoto{display:block;width:100%;height:100%;object-fit:cover;transition:filter .6s ease}
:root[data-shop-agency] .shop-placephoto{filter:grayscale(.85) brightness(.5) contrast(1.1)}
.shop-placeedge{position:absolute;top:0;left:0;margin:0}
.shop-placemarks{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.shop-placemarks.phone{display:none}
.shop-placemarks.phone .shop-pk{font-size:16px;stroke-width:3px}
.shop-placemarks.phone .shop-pk.big{font-size:23px}
.shop-placemarks.phone .shop-pkghost{stroke-width:2;stroke-dasharray:6 5}
.shop-placemarks.phone .shop-pkline path{stroke-width:7}
.shop-placemarks.phone .shop-pkline path+path{stroke-width:2.5}
.shop-placemarks.phone .end{text-anchor:end}
:root[data-shop-agency] .shop-placemarks,:root[data-shop-agency] .shop-borrowed{display:none}
.shop-pk{font:700 54px var(--s-hand);fill:#fff;paint-order:stroke;stroke:rgba(14,26,31,.55);stroke-width:7px}
.shop-pk.big{font-size:92px}
.shop-pk.ink{fill:#0e1a1f;stroke:rgba(255,255,255,.8)}
.shop-pkghost{fill:rgba(255,255,255,.1);stroke:#fff;stroke-width:6;stroke-dasharray:18 15;stroke-linejoin:round;animation:shop-march 2s linear infinite}
@keyframes shop-march{to{stroke-dashoffset:-33}}
/* The arrow to the hay bales: ink with a white halo, like its label, so it shows on the grass. */
.shop-pkline path{fill:none;stroke:rgba(255,255,255,.85);stroke-width:15;stroke-linecap:round;stroke-linejoin:round}
.shop-pkline path+path{stroke:#0e1a1f;stroke-width:6}
.shop-borrowed{position:absolute;left:4%;top:25%;width:19%;margin:0;padding:8px 8px 10px;background:#fff;box-shadow:0 10px 22px rgba(14,26,31,.4);transform:rotate(-4deg);transition:transform .2s ease}
.shop-borrowed:hover{transform:rotate(0deg) scale(1.2);z-index:3}
.shop-borrowed::before{content:"";position:absolute;top:-12px;left:50%;width:76px;height:24px;margin-left:-38px;background:rgba(255,208,96,.85);transform:rotate(3deg)}
.shop-borrowed img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.shop-borrowed figcaption{margin-top:6px;color:#0e1a1f;font:700 clamp(14px,1.45vw,20px)/1.05 var(--s-hand)}
.shop-placequote{position:absolute;inset:0;display:none;align-items:center;justify-content:center;margin:0;padding:0 24px;text-align:center;color:#faf8f2;font:italic 400 clamp(26px,4.6vw,62px)/1.1 var(--s-fancy)}
:root[data-shop-agency] .shop-placequote{display:flex}

/* the contact band */
.hws .hwx-shop-gold{background:var(--s-page);color:var(--s-ink)}
:root:not([data-shop-agency]) .hws .hwx-shop-gold{background:#ffbd59;color:#0e1a1f}
:root:not([data-shop-agency]) .hws .hwx-shop-gold .hwx-shop-lede{color:#0e1a1f}
.shop-bigphone{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px;color:#0e1a1f;font:800 clamp(30px,3.6vw,46px)/1.05 var(--s-disp);letter-spacing:-.02em;text-decoration:none}
:root[data-shop-agency] .shop-bigphone,:root[data-shop-agency] .shop-holding{display:none}
.shop-bigphone:hover{color:#0e1a1f}
.shop-bigphone svg{width:46px;height:46px;animation:shop-ring 2.6s ease-in-out infinite;transform-origin:50% 40%}
@keyframes shop-ring{0%,78%,100%{transform:rotate(0)}82%{transform:rotate(-14deg)}86%{transform:rotate(14deg)}90%{transform:rotate(-10deg)}94%{transform:rotate(10deg)}}
.shop-holding{display:none;margin:8px 0 0;font:700 25px/1.1 var(--s-hand);color:#0e1a1f;transform:rotate(-1deg)}
.hws .hwx-shop-fact{gap:0}
.hws .hwx-shop-fact p{margin:0;font-size:15px}
.hws .hwx-shop-fact .hwx-shop-h3{font-family:inherit;font-weight:700;font-size:15px;letter-spacing:0;line-height:1.5}
.shop-cright{padding:28px;border:var(--s-bw) solid var(--s-line);border-radius:var(--s-r);background:var(--s-band);color:var(--s-ink);transition:background-color .5s ease}
.shop-cright form{margin:0}
.shop-intro{margin:0 0 14px;font-weight:600}
.shop-f{display:block;margin:0 0 14px;font-weight:600;font-size:14px}
.shop-f input,.shop-f select,.shop-f textarea{display:block;width:100%;box-sizing:border-box;min-height:46px;margin-top:4px;padding:10px 12px;border:2px solid var(--s-line);border-radius:10px;background:var(--s-page);color:var(--s-ink);font:400 15px var(--hws-font-body,'Poppins'),sans-serif}
.shop-f textarea{min-height:150px}
.shop-small{margin:10px 0 0;font-size:13px;color:var(--s-mut)}
.shop-err{margin:10px 0 0;font-size:14px;font-weight:600;color:#a93a25}
.shop-note{margin:0 0 14px;font-size:15px}
.shop-note b{display:block}
.shop-sent{padding:28px 0;font-family:var(--s-disp);font-weight:var(--s-dw);font-size:26px;line-height:1.2}
.shop-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* the footer */
.hws .hwx-shop-foot{background:#0e1a1f;color:#faf8f2}
:root[data-shop-agency] .hws .hwx-shop-foot{border-top:1px solid #355158}
.hws .hwx-shop-bigt{margin:0;font-family:var(--s-disp);font-weight:var(--s-dw);font-size:clamp(32px,5.6vw,78px);line-height:1;letter-spacing:var(--s-track);color:#ffbd59}
:root[data-shop-agency] .hws .hwx-shop-bigt{color:#faf8f2}
.hws .hwx-shop-foot-h{margin:0;font:700 13px var(--hws-font-body,'Poppins'),sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#ffbd59}
.hws .hwx-shop-foot-blurb{margin:0;max-width:34ch;color:#b8c7ca}
.hws .hwx-shop-foot-nav .hws-nav-a{color:#faf8f2;font-weight:500;font-size:16px}
.hws .hwx-shop-foot-nav .hws-nav-a:hover{color:#ffbd59}
.hws .hwx-shop-foot .shop-logo{color:#faf8f2;font-size:21px;gap:12px}
.shop-reach{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}
.shop-reach a{color:#faf8f2;font-weight:500;font-size:16px;text-decoration:none}
.shop-reach a:hover{color:#ffbd59}
.hws .hwx-shop-foot-fine{flex-wrap:wrap;padding-top:var(--hws-sp-m,24px);border-top:1px solid #355158;color:#8ba6ab;font-size:14px}
.shop-thumbbar,.shop-grab{display:none}
.shop-loader{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:#0e1a1f;color:#faf8f2;font:italic 400 clamp(26px,4vw,46px) var(--s-fancy);animation:shop-fade .25s ease both}
.shop-loadbar{width:min(320px,70vw);height:1px;background:#355158;overflow:hidden}
.shop-loadfill{height:100%;background:#ffbd59;transform-origin:left;animation:shop-fill 1.2s ease-in-out both}
@keyframes shop-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes shop-fade{from{opacity:0}to{opacity:1}}

/* About */
.hws .hwx-shop-about-hero{position:relative;overflow:hidden;background:var(--s-hero);color:var(--s-ink);background-repeat:no-repeat;background-position:bottom;background-size:100% 170px}
:root:not([data-shop-agency]) .hws .hwx-shop-about-hero{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 170' preserveAspectRatio='none'%3E%3Cg fill='none' stroke='%23ffd060' stroke-width='16'%3E%3Cpath d='M-20 50C300 0 800 20 1220 130'/%3E%3Cpath d='M-20 105C260 50 640 80 900 190'/%3E%3Cpath d='M1220 60C1040 80 900 120 820 190'/%3E%3C/g%3E%3C/svg%3E")}
:root:not([data-shop-agency]) .hws .hwx-shop-about-hero .hwx-shop-job{color:#0e1a1f}
.hws .hwx-shop-about-hero .hwx-shop-lede{margin:0;color:inherit;font-size:clamp(18px,1.8vw,22px);line-height:1.4;max-width:34em}
.shop-phonetest,.shop-titles{position:relative;padding:20px;border:3px solid #0e1a1f;border-radius:16px;background:#fff;color:#0e1a1f;box-shadow:8px 8px 0 #0e1a1f}
:root[data-shop-agency] :is(.shop-phonetest,.shop-titles){border:1px solid #ffbd59;border-radius:0;background:#16282e;color:#faf8f2;box-shadow:none}
:is(.shop-phonetest,.shop-titles) h2{margin:0 0 12px;font:800 24px/1.1 var(--s-disp);letter-spacing:-.02em;color:inherit}
:root[data-shop-agency] :is(.shop-phonetest,.shop-titles) h2{font-weight:400;font-style:italic}
/* The agency's business card (about): cream stock, a serif title, slightly crooked, and a fresh one drops in with each print. */
.shop-bizcard{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;aspect-ratio:1.75;margin:6px 4px 20px;padding:18px 22px;box-sizing:border-box;border:1px solid #d9cfba;border-radius:4px;background:#faf8f2;color:#0e1a1f;text-align:center;box-shadow:0 10px 24px rgba(14,26,31,.18);rotate:-2deg;animation:shop-card .45s cubic-bezier(.2,.7,.2,1)}
.shop-bizmaker{margin:0;font:600 11px/1 var(--s-mono);letter-spacing:.24em;text-transform:uppercase;color:#8a7a5c}
.shop-biztitle{margin:0;font:italic 400 clamp(24px,2.3vw,31px)/1.12 var(--s-fancy);text-wrap:balance}
.shop-bizboss{margin:0;font:italic 400 14px/1.3 var(--s-fancy);color:#6b6252;text-wrap:balance}
@keyframes shop-card{from{opacity:0;transform:translateY(-16px) rotate(5deg)}}
.shop-printbtn{display:block;width:100%;min-height:48px;border:3px solid #0e1a1f;border-radius:12px;background:#ffbd59;color:#0e1a1f;font:800 17px var(--hws-font-heading,'Bricolage Grotesque'),sans-serif;cursor:pointer;transition:transform .12s ease}
.shop-printbtn:hover{transform:translateY(-2px)}
:root[data-shop-agency] .shop-printbtn{border:1px solid #ffbd59;border-radius:0;background:#0e1a1f;color:#ffbd59;font:italic 400 17px var(--s-fancy)}
.shop-bizcount{margin:12px 0 0;font:500 14px/1.45 var(--s-mono)}
.shop-callbtns{display:flex;flex-wrap:wrap;gap:8px}
.shop-callbtn{flex:1 1 150px;min-height:48px;padding:6px 12px;cursor:pointer;transition:transform .12s ease}
.shop-callbtn:hover{transform:translateY(-2px)}
.shop-callbtn.shop-fancy{border:1px solid #ffbd59;border-radius:0;background:#0e1a1f;color:#ffbd59;font:italic 400 17px var(--s-fancy)}
.shop-callbtn.shop-real{border:3px solid #0e1a1f;border-radius:12px;background:#ffbd59;color:#0e1a1f;font:800 17px var(--hws-font-heading,'Bricolage Grotesque'),sans-serif}
.shop-bubble{min-height:76px;margin:16px 0 0;padding:12px 14px;border-radius:12px;background:#f3efe6;color:#0e1a1f;font:500 14px/1.45 var(--s-mono)}
.shop-bubble.hold{background:#0e1a1f;color:#ffd060}
.shop-bubble.hello{background:#fdecc6;font:700 25px/1.1 var(--s-hand)}
.hws .hwx-shop-entry,.hws .hwx-shop-entry-why{display:grid;grid-template-columns:84px minmax(0,1fr);gap:4px 18px;padding:18px 0;border-top:2px dashed var(--s-line);width:100%;align-items:start}
:root[data-shop-agency] .hws .hwx-shop-entry{border-top:1px solid var(--s-line)}
:root[data-shop-agency] .hws .hwx-shop-entry-why{display:none}
.hws .hwx-shop-tag{margin:0;font:500 13px/1.7 var(--s-mono);color:#a8680f}
:root[data-shop-agency] .hws .hwx-shop-tag{color:#ffbd59}
.hws .hwx-shop-entry-text{margin:0;color:var(--s-body);font-size:17px;line-height:1.55}
.hws .hwx-shop-taped{position:relative;max-width:440px;gap:8px;margin:12px 0 0;padding:12px 12px 14px;background:#fff;box-shadow:0 10px 24px rgba(14,26,31,.16);transform:rotate(1.5deg);transition:transform .2s ease}
.hws .hwx-shop-taped:hover{transform:rotate(0deg)}
.hws .hwx-shop-taped::before{content:"";position:absolute;top:-13px;left:50%;width:110px;height:28px;margin-left:-55px;background:rgba(255,208,96,.85);transform:rotate(-2deg);z-index:1}
.hws .hwx-shop-photo{display:block;width:100%;aspect-ratio:5/6;object-fit:cover;object-position:center top}
.hws .hwx-shop-caption{margin:0;color:#0e1a1f;font:700 24px/1.05 var(--s-hand)}
:root[data-shop-agency] .hws .hwx-shop-taped{padding:0;background:transparent;box-shadow:none;transform:none}
:root[data-shop-agency] .hws .hwx-shop-taped::before{display:none}
:root[data-shop-agency] .hws .hwx-shop-photo{filter:grayscale(1) brightness(.75)}
:root[data-shop-agency] .hws .hwx-shop-caption{color:#8ba6ab;font:italic 400 16px var(--s-fancy)}
.hws .hwx-shop-crew-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;width:100%}
@media (max-width:1180px){.hws .hwx-shop-crew-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hws .hwx-shop-time-card{position:relative;display:flex;flex-direction:column;gap:0;padding:0;border:var(--s-bw) solid #0e1a1f;border-radius:var(--s-r);overflow:hidden;background:#fff;color:#0e1a1f;transition:transform .15s ease}
:root[data-shop-agency] .hws .hwx-shop-time-card{border:1px solid #ffbd59;background:#16282e;color:#faf8f2}
:root:not([data-shop-agency]) .hws .hwx-shop-time-card{transform:rotate(-.7deg)}
:root:not([data-shop-agency]) .hws .hwx-shop-crew-list>:nth-child(even).hwx-shop-time-card{transform:rotate(.6deg)}
:root:not([data-shop-agency]) .hws .hwx-shop-time-card:hover{transform:rotate(0deg) translateY(-4px)}
.hws .hwx-shop-cardhead{width:100%;box-sizing:border-box;justify-content:space-between;gap:10px;padding:8px 12px;background:#0e1a1f;color:#ffd060;font:500 12px var(--s-mono)}
.hws .hwx-shop-cardhead p{margin:0;font:inherit;color:inherit}
:root[data-shop-agency] .hws .hwx-shop-cardhead{background:transparent;color:#ffbd59;border-bottom:1px solid #355158}
.shop-portrait{position:relative;aspect-ratio:1;overflow:hidden;background:#fdecc6}
:root[data-shop-agency] .shop-portrait{background:#0e1a1f}
.shop-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 8%}
.shop-portraitcap{position:absolute;left:12px;bottom:12px;margin:0;padding:2px 10px 4px;background:#faf8f2;color:#0e1a1f;font:700 20px/1.1 var(--s-hand);transform:rotate(-2deg);box-shadow:0 2px 0 rgba(14,26,31,.3)}
:root[data-shop-agency] .shop-portrait img{filter:grayscale(1) contrast(1.05) brightness(.8)}
.shop-nophoto{position:absolute;inset:14px;display:flex;align-items:center;justify-content:center;border:2px dashed #a8680f;color:#784a0d;font:500 13px var(--s-mono);text-align:center}
:root[data-shop-agency] .shop-nophoto{border-color:#355158;color:#8ba6ab}
.hws .hwx-shop-cardbody{flex:1;gap:0;padding:16px 16px 18px}
.hws .hwx-shop-cardbody h3{margin:0;font-family:var(--s-disp);font-weight:var(--s-dw);font-size:30px;line-height:1.05;letter-spacing:var(--s-track);color:inherit}
.hws .hwx-shop-cardtitle{margin:2px 0 10px;font:500 13px var(--s-mono);color:#a8680f}
:root[data-shop-agency] .hws .hwx-shop-cardtitle{color:#ffbd59}
.hws .hwx-shop-cardbody p:not(.hwx-shop-cardtitle){margin:0;font-size:16px}
.shop-overrule{min-height:44px;margin-top:12px;padding:0 14px;border:2px solid #0e1a1f;border-radius:10px;background:#fff;color:#0e1a1f;font:600 14px var(--hws-font-body,'Poppins'),sans-serif;cursor:pointer}
.shop-overrule:hover{background:#fdecc6}
:root[data-shop-agency] .shop-overrule{display:none}
.shop-denied{position:absolute;right:12px;top:58px;z-index:2;padding:6px 12px;border:4px solid #c4452d;border-radius:8px;background:rgba(255,255,255,.9);color:#a93a25;font:800 28px/1 var(--s-disp);transform:rotate(-11deg);animation:shop-stampin .22s cubic-bezier(.2,1.6,.5,1) both}
:root[data-shop-agency] .shop-denied{display:none}
@keyframes shop-stampin{from{transform:rotate(-11deg) scale(2.2);opacity:0}to{transform:rotate(-11deg) scale(1);opacity:1}}
.hws .hwx-shop-clock{gap:0;width:100%;padding:16px 18px;border:2px dashed #bccbce;color:#faf8f2}
.hws .hwx-shop-clock p{margin:0;color:inherit}
:root[data-shop-agency] .hws .hwx-shop-clock{border:1px solid #355158;color:var(--s-ink)}
.hws .hwx-shop-clock-h{margin:0;font:500 13px var(--s-mono);color:#ffd060}
.hws .hwx-shop-steps-list.hws-grid .hwx-shop-steprow{display:block;border-top:0;padding:0}
.hws .hwx-shop-steps-list.hws-grid .hwx-shop-num{font-size:78px;line-height:1}
.hws .hwx-shop-steps-list.hws-grid h3{font-size:30px;margin:0 0 6px}

@media (max-width:760px){
  .shop-wrap,.shop-inner{padding:0 16px}
  .hws:has(.shop-thumbbar){padding-bottom:66px}
  .shop-hero{min-height:880px}
  .shop-sub{margin-bottom:24px}
  .shop-en .shop-txt{top:92px;left:16px;right:16px;width:auto;transform:none}
  .shop-lang{top:18px}
  :root[data-shop-agency] .shop-lang{top:calc(var(--shop-top,120px) - var(--shop-strip,0px) + 12px)}
  .shop-langbar{gap:7px;padding:3px 3px 3px 11px;font-size:13px}
  /* The globe says it on a phone, and the menu gets the corner. */
  .shop-langlabel{display:none}
  /* The button steps left of the agency's sliver (90% on a phone) and down to the bar's middle. Only the
     button: the menu's panel spans the header here, and moving the whole menu would box the panel in. */
  :root:has(.shop-hero):not([data-shop-scrolled]):not([data-shop-agency]) .hws:not(.hws-edit) .hwx-shop-nav{translate:none}
  :root:has(.shop-hero):not([data-shop-scrolled]):not([data-shop-agency]) .hws:not(.hws-edit) .hwx-shop-nav .hws-nav-btn{translate:calc(var(--hws-gutter) - 10vw - 16px) 9px}
  .hws .hwx-shop-nav .hws-nav-btn{transition:translate .5s cubic-bezier(.2,.7,.2,1)}
  .shop-theirs .shop-langbar{padding-left:12px;font-size:15px}
  .shop-langseg button{min-height:36px;padding:0 11px}
  .shop-langnote{margin:8px 0 0 12px;font-size:14px}
  .shop-summit{inset:auto -60px 0 auto;width:730px;height:340px}
  /* Below the buttons, clear of the climber's flag. */
  .shop-nub{top:60%}
  .shop-summit-words{display:none}
  .shop-summit-phone{display:block;position:absolute;z-index:2;left:16px;width:205px;bottom:165px}
  .shop-summit-phone .shop-summit-cap{font-size:22px}
  .shop-summit-phone .shop-summit-cap,.shop-summit-phone .shop-summit-next{text-align:left}
  .shop-summit-phone .shop-summit-next{min-height:36px}
  .shop-ag .shop-txt{top:196px;left:16px;right:16px;width:auto;transform:none}
  .shop-big{display:none}
  /* The orb takes the mountain's spot at the bottom. */
  .shop-orb{top:auto;right:-40px;bottom:70px;width:220px;translate:none}
  .shop-orbcap{left:16px;right:16px;bottom:22px;font-size:14px}
  .shop-sw{min-height:40px;padding:0 12px 0 10px;gap:6px;font-size:13px}
  .shop-sw .shop-globe{width:17px;height:17px}
  .shop-logo{font-size:0;gap:0}
  .hws .hwx-shop-job-list,.shop-cases,.hws .hwx-shop-shelf-list,.hws .hwx-shop-crew-list{display:flex;flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;gap:18px;margin-inline:-16px;padding-inline:16px;scrollbar-width:none;width:calc(100% + 32px);box-sizing:border-box}
  :root:not([data-shop-agency]) .hws .hwx-shop-job-list{padding-top:46px;padding-bottom:20px}
  .hws .hwx-shop-job-card,.hws .hwx-shop-time-card{flex:0 0 80%;scroll-snap-align:center}
  .shop-cases{padding-top:22px;padding-bottom:18px}
  .shop-case{flex:0 0 86%;scroll-snap-align:center}
  .shop-shot{height:230px}
  .hws .hwx-shop-shelf-list{padding-bottom:22px;align-items:stretch}
  .shop-prod{flex:0 0 76%;scroll-snap-align:center}
  .shop-sheet{padding:14px}
  .shop-cright{padding:18px}
  .hws .hwx-shop-num{font-size:60px}
  .shop-place{aspect-ratio:4/3}
  .shop-placemarks.wide{display:none}
  .shop-placemarks.phone{display:block}
  :root[data-shop-agency] .shop-placemarks.phone{display:none}
  .shop-borrowed{left:3%;top:25%;width:31%;padding:5px 5px 6px}
  .shop-borrowed::before{width:48px;height:16px;margin-left:-24px;top:-8px}
  .shop-borrowed figcaption{margin-top:3px;font-size:12px}
  .shop-borrowed:hover{transform:rotate(-4deg)}
  .shop-holding{display:block}
  :root[data-shop-agency] .shop-holding{display:none}
  .shop-thumbbar{position:fixed;left:0;right:0;bottom:0;z-index:45;display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;padding:8px;background:#0e1a1f;box-shadow:0 -6px 18px rgba(14,26,31,.35)}
  .shop-thumbbar a{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:12px;background:#16282e;color:#faf8f2;font:600 14px var(--hws-font-body,'Poppins'),sans-serif;text-align:center;line-height:1.15;text-decoration:none}
  .shop-thumbbar a:active{transform:scale(.96)}
  .shop-thumbbar a.main{background:#ffbd59;color:#0e1a1f;font-weight:700}
}
/* The smallest phones: the translate bar stays on one line, and the mountain sits a little lower, clear of the buttons. */
@media (max-width:380px){
  .shop-hero{min-height:930px}
  .shop-langbar{gap:6px;padding-left:10px;font-size:12px}
  .shop-langseg button{padding:0 9px}
}
@media (prefers-reduced-motion:reduce){
  .shop-pkghost,.shop-nub,.shop-bizcard,.shop-sw.shop-panic,.shop-sw.shop-panic:hover,.shop-rise,.shop-flagup,.shop-climb,.shop-tick,.shop-spin,.shop-struck::after,.shop-loadfill,.shop-wig:hover,.shop-stalk,.shop-dot,.shop-hl path,.shop-bigphone svg,.hws .hwx-shop-job-card:hover,.shop-denied{animation:none!important}
  .shop-glide .shop-layer.shop-ag,.shop-glide .shop-grip,.shop-lang,.shop-sticker,.shop-goldshape,.shop-shot,.hws .hwx-shop-job-card,.shop-b,.hws .hwx-shop-btn,.shop-prod{transition:none}
}

.shop-calc-h{margin:0 0 18px;font-family:var(--s-disp);font-weight:var(--s-dw);font-size:34px;line-height:1.1;color:inherit}
.shop-calc-lede{margin:0 0 14px;max-width:38em;color:var(--s-mut)}
.shop-ballpark{margin:0 0 22px;padding:12px 16px;border:2px dashed #a8680f;border-radius:12px;background:#fef7e8;color:#0e1a1f;font-size:15px;line-height:1.45}
.shop-calc{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start}
.shop-ctrls{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:26px;padding:28px;border:3px solid #0e1a1f;border-radius:14px;background:#fff;color:#0e1a1f}
.shop-wprog{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:14px;font-weight:600;color:#355158}
.shop-wbar{flex:1 1 160px;height:8px;border-radius:999px;background:#e8e2d6;overflow:hidden}
.shop-wfill{height:100%;border-radius:999px;background:#f5a623;transition:width .25s ease}
.shop-wq{margin:0 0 6px;font:800 clamp(25px,3vw,34px)/1.12 var(--s-disp);letter-spacing:-.02em;color:#0e1a1f}
.shop-whelp{margin:0;font-size:16px;color:#1d353d}
.shop-wopts{display:flex;flex-direction:column;gap:10px}
.shop-wopt{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;width:100%;min-height:64px;padding:12px 16px;border:2px solid #bccbce;border-radius:12px;background:#fff;color:#0e1a1f;text-align:left;font:400 15px var(--hws-font-body,'Poppins'),sans-serif;cursor:pointer;transition:border-color .12s ease,background .12s ease}
.shop-wopt:hover{border-color:#0e1a1f;background:#fef7e8}
.shop-wopt.on{border-color:#0e1a1f;background:#fdecc6;box-shadow:inset 0 0 0 1px #0e1a1f}
.shop-wbox{display:none;flex:0 0 auto;width:22px;height:22px;border:2px solid #0e1a1f;border-radius:6px;background:#fff;box-sizing:border-box}
.multi .shop-wbox{display:block}
.multi.on .shop-wbox{background:#f5a623 linear-gradient(135deg,transparent 44%,#0e1a1f 44%,#0e1a1f 56%,transparent 56%)}
.shop-wot{flex:1 1 240px;min-width:0}
.shop-wot b{display:block;font-size:16px;font-weight:700}
.shop-wot span{display:block;color:#355158;font-size:14px;line-height:1.4}
.shop-wrec{display:inline-block;margin-top:6px;padding:2px 8px;border-radius:999px;background:#0e1a1f;color:#ffd060;font-size:12px;font-style:normal;font-weight:600}
.shop-wop{flex:0 0 auto;font-weight:700;font-size:15px;white-space:nowrap}
.shop-wnav{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.shop-wnext{margin-left:auto;min-height:50px;padding:0 22px;border:0;border-radius:12px;background:#ffbd59;color:#0e1a1f;font:700 16px var(--hws-font-body,'Poppins'),sans-serif;cursor:pointer}
.shop-wnext:hover{background:#ffd060}
.shop-wback{min-height:44px;padding:0 12px;border:0;background:transparent;color:#1d353d;font:600 14px var(--hws-font-body,'Poppins'),sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.shop-wrestart{min-height:32px;padding:0 4px}
.shop-wfoot{margin:0;font-size:13px;color:#355158}
.shop-wreview{display:flex;flex-direction:column;gap:18px}
.shop-wreview h5{margin:0 0 4px;font-size:15px;font-weight:700;color:#0e1a1f}
.shop-wreview p{margin:0;font-size:15px}
.shop-seg{display:flex;flex-wrap:wrap;gap:8px}
.shop-segb{flex:1 1 auto;min-height:44px;padding:0 14px;border:2px solid #0e1a1f;border-radius:10px;background:#fff;color:#0e1a1f;font:600 14px var(--hws-font-body,'Poppins'),sans-serif;cursor:pointer}
.shop-segb:hover{background:#fdecc6}
.shop-segb.on,.shop-segb.on:hover{background:#ffbd59}
.shop-estcta{display:block;width:100%;min-height:52px;margin-top:8px;border:0;border-radius:12px;background:#ffbd59;color:#0e1a1f;font:700 16px var(--hws-font-body,'Poppins'),sans-serif;cursor:pointer}
.shop-estcta:hover{background:#ffd060}
.shop-estcta:disabled{opacity:.6;cursor:default}
.shop-knobrow{display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.shop-knob{position:relative;width:130px;height:130px;cursor:ns-resize;touch-action:none;border-radius:50%}
.shop-knob:focus-visible{outline:3px solid #f5a623;outline-offset:2px}
.shop-knob svg{display:block;width:100%;height:100%}
.shop-ktrack,.shop-kfill{fill:none;stroke-width:7;stroke-linecap:round;transform:rotate(135deg);transform-origin:50px 50px}
.shop-ktrack{stroke:#e8e2d6}.shop-kfill{stroke:#ffbd59}.shop-kdot{fill:#0e1a1f}
.shop-kmid{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}
.shop-kmid b{font:800 34px/1 var(--s-disp)}
.shop-kmid span{font-size:12px;color:#355158}
.shop-steps{display:flex;gap:8px}
.shop-stepb{width:44px;height:44px;border:2px solid #0e1a1f;border-radius:10px;background:#fff;font:700 20px var(--hws-font-body,'Poppins'),sans-serif;color:#0e1a1f;cursor:pointer}
.shop-stepb:hover{background:#fdecc6}
.shop-est{position:sticky;top:16px;flex:1 1 340px;min-width:0;padding:28px;background:#fff;color:#0e1a1f;font-family:var(--s-mono);box-shadow:0 18px 34px rgba(14,26,31,.22)}
.shop-est::after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:12px;background-image:linear-gradient(135deg,#fff 50%,transparent 50%),linear-gradient(225deg,#fff 50%,transparent 50%);background-size:16px 12px;background-repeat:repeat-x}
.shop-est .eb{margin:0 0 2px;font-size:13px;font-weight:600;color:#a8680f}
.shop-est .sc{margin:12px 0 8px;font-size:14px;color:#1d353d}
.shop-est .fine{margin:10px 0 0;font-size:13px;color:#355158}
.shop-est .fine.note{margin-top:8px;color:#a93a25;font-weight:700}
.shop-amount{font:800 clamp(50px,6vw,72px)/1 var(--s-disp);letter-spacing:-.03em;color:#0e1a1f}
.shop-lines{padding:4px 0 10px}
.shop-mline{display:flex;justify-content:space-between;gap:14px;padding:3px 0;font-size:14px}
.shop-mline span:last-child{white-space:nowrap}
.shop-mline.zero{color:#557379}
.shop-dep{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-top:2px dashed #0e1a1f;font-size:14px}
.shop-churchnote{margin:28px 0 0;font-size:16px}
.shop-pkgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:22px;margin:0 0 56px}
.shop-pkg{display:flex;flex-direction:column;gap:8px;padding:28px;border:var(--s-bw) solid var(--s-line);background:var(--s-band);color:var(--s-ink)}
.shop-pkg h3{margin:0;font-family:var(--s-disp);font-weight:var(--s-dw);font-size:28px;line-height:1.1;color:inherit}
.shop-pkg p{margin:0;font-size:16px}
.shop-pkg ul{flex:1;margin:6px 0 12px;padding:0 0 0 20px;font-size:15px}
.shop-mega{font-family:var(--s-disp);font-size:22px;font-style:italic;color:var(--s-mark)}
.shop-pickbtn{min-height:48px;border:1px solid #ffbd59;background:transparent;color:var(--s-ink);font:500 15px var(--hws-font-body,'Poppins'),sans-serif;cursor:pointer}
.shop-nocalc{padding:40px;border:1px solid #ffbd59;text-align:center;font-family:var(--s-fancy);font-style:italic;font-size:26px;color:var(--s-ink)}
@media (max-width:760px){
  .shop-calc{gap:14px}
  .shop-ctrls{padding:18px}
  .shop-est{position:sticky;top:auto;bottom:66px;z-index:6;flex:1 1 100%;padding:12px 16px 16px;box-shadow:0 -10px 26px rgba(14,26,31,.26)}
  .shop-est::after{display:none}
  .shop-amount{font-size:36px}
  .shop-grab{display:block;width:100%;min-height:44px;margin-top:4px;border:0;background:transparent;color:#0e1a1f;text-align:left;font:700 14px var(--s-mono);text-decoration:underline;cursor:pointer}
  .shop-estmore{display:none;max-height:42vh;overflow-y:auto}
  .shop-estmore.open{display:block}
}
