@font-face {
  font-family: "Inter";
  src: local("Inter Regular"), local("Inter"), url("../fonts/inter-400.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: local("Inter Semi Bold"), local("Inter Semibold"), local("Inter"), url("../fonts/inter-600.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "Noe Display";
  src: local("Noe Display Bold"), local("NoeDisplay-Bold"), url("../fonts/noe-display-bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  --ink: #090909;
  --paper: #f7f7f4;
  --muted: #6d6c68;
  --orange: #ff7a22;
  --aqua: #29d6c3;
  --line: #d8d8d3;
  --surface-paper: var(--paper);
  --surface-soft: #efefed;
  --surface-white: #fff;
  --surface-ink: #080808;
  --surface-accent: var(--orange);
  --surface-card: #f8f8f5;
  --text-on-dark: #fff;
  --text-muted-dark: #aaa;
  --text-primary: var(--ink);
  --text-secondary: #3d3d3a;
  --text-muted: var(--muted);
  --text-accent: var(--orange);
  --surface-section: var(--surface-paper);
  --surface-card-semantic: var(--surface-card);
  --surface-panel-semantic: var(--surface-white);
  --border-color: var(--line);
  --action-color: var(--orange);
  --focus-color: var(--orange);
  --shadow-color: rgba(0,0,0,.12);
  --layout-max: 1540px;
  --layout-gutter: 40px;
  --layout-prose-max: 900px;
  --measure-section-heading: 1120px;
  --measure-section-body: 980px;
  --measure-editorial-body: 980px;
  --site-header-offset: 112px;
  --section-space-compact: 96px;
  --section-space: 105px;
  --section-space-roomy: 120px;
  --grid-gap-tight: 18px;
  --grid-gap: 24px;
  --grid-gap-wide: 44px;
  --grid-gap-loose: 70px;
  --grid-gap-feature: 80px;
  --card-grid-gap-compact: var(--grid-gap-tight);
  --card-grid-gap-standard: var(--grid-gap);
  --card-grid-gap-spacious: var(--grid-gap-wide);
  --card-grid-gap-feature: var(--grid-gap-loose);
  --space-header-to-grid: 48px;
  --radius-card-sm: 20px;
  --radius-card: 24px;
  --radius-card-lg: 28px;
  --radius-panel: 36px;
  --radius-feature: 48px;
  --radius-feature-compact: 32px;
  --radius-pill: 999px;
  --card-padding-compact: 28px;
  --card-padding: 32px;
  --card-padding-roomy: 48px;
  --card-inset-wide: 40px;
  --card-inset-standard: var(--card-padding);
  --card-inset-dense: var(--card-padding-compact);
  --card-inset-compact: 24px;
  --card-content-gap: 12px;
  --manual-card-lead-gap: 18px;
  --manual-card-icon-zone: 112px;
  --manual-card-icon-size: 96px;
  --control-radius: 14px;
  --control-height: 58px;
  --carousel-edge: var(--layout-gutter);
  --type-display-small: clamp(42px, 3.8vw, 62px);
  --type-display-medium: clamp(48px, 4.3vw, 76px);
  --type-display-large: clamp(58px, 7vw, 96px);
  --type-title-small: clamp(32px, 3.4vw, 48px);
  --type-title-medium: clamp(45px, 4vw, 68px);
  --type-title-large: clamp(50px, 5vw, 78px);
  --type-suptitle: 11px;
  --type-subtitle: clamp(20px, 2vw, 26px);
  --type-body: 17px;
  --type-card-body: 15px;
  --type-heading-3: 26px;
  --type-heading-4: 21px;
  --type-heading-5: 18px;
  --type-heading-6: 16px;
  --type-card-title: 22px;
  --type-card-title-compact: 20px;
  --type-card-title-large: 27px;
  --type-editorial-card-title: clamp(24px, 1.8vw, 27px);
  --type-feature-title: clamp(34px, 3vw, 50px);
  --type-card-meta: 11px;
  --type-card-action: 12px;
  --type-metric: clamp(56px, 6vw, 88px);
  --type-metric-label: 17px;
  --card-min-standard: 240px;
  --card-min-process: 250px;
  --card-min-metric: 260px;
  --card-min-feature: 420px;
  --logo-cell-min: 120px;
  --type-quote: clamp(38px, 5.4vw, 72px);
  --type-editorial-quote: clamp(30px, 4vw, 48px);
  --media-aspect-split: 4 / 3;
  --media-aspect-card: 16 / 10;
  --media-aspect-feature: 1 / 1;
  --card-aspect-landscape: 4 / 3;
  --card-aspect-square: 1 / 1;
  --card-aspect-portrait: 4 / 5;
  --font-display: "Noe Display", Georgia, "Times New Roman", serif;
  --font-sans: "Inter", Arial, Helvetica, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--font-sans); font-weight: 400; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
.layout-shell { width: min(var(--layout-max), calc(100% - (var(--layout-gutter) * 2))); margin-inline: auto; }
.block-container--prose { width: min(var(--layout-prose-max), calc(100% - (var(--layout-gutter) * 2))); margin-inline: auto; }
.block-section { padding-block: var(--block-section-space, var(--section-space)); color: var(--text-primary); background-color: var(--surface-section); }
.block-theme--paper { --surface-section: var(--surface-paper); --surface-card: #fff; --surface-card-semantic: var(--surface-card); --surface-panel-semantic: #fff; --text-primary: var(--ink); --text-secondary: #3d3d3a; --text-muted: #666; --border-color: var(--line); --action-color: var(--orange); --focus-color: var(--orange); --shadow-color: rgba(0,0,0,.1); }
.block-theme--soft-grey { --surface-section: var(--surface-soft); --surface-card: #f8f8f5; --surface-card-semantic: var(--surface-card); --surface-panel-semantic: #fff; --text-primary: var(--ink); --text-secondary: #3d3d3a; --text-muted: #666; --border-color: #d5d5d1; --action-color: var(--orange); --focus-color: var(--orange); --shadow-color: rgba(0,0,0,.1); }
.block-theme--white { --surface-section: var(--surface-white); --surface-card: #f8f8f5; --surface-card-semantic: var(--surface-card); --surface-panel-semantic: #fff; --text-primary: var(--ink); --text-secondary: #3d3d3a; --text-muted: #666; --border-color: var(--line); --action-color: var(--orange); --focus-color: var(--orange); --shadow-color: rgba(0,0,0,.1); }
.block-theme--ink { --surface-section: var(--surface-ink); --surface-card: #111; --surface-card-semantic: var(--surface-card); --surface-panel-semantic: #111; --text-primary: var(--text-on-dark); --text-secondary: #d5d5d5; --text-muted: var(--text-muted-dark); --border-color: #303030; --action-color: var(--orange); --focus-color: var(--orange); --shadow-color: rgba(0,0,0,.45); }
.block-theme--accent { --surface-section: var(--surface-accent); --surface-card: rgba(255,255,255,.18); --surface-card-semantic: var(--surface-card); --surface-panel-semantic: rgba(255,255,255,.18); --text-primary: #111; --text-secondary: #29231f; --text-muted: #3f3028; --border-color: rgba(17,17,17,.25); --action-color: #111; --focus-color: #111; --shadow-color: rgba(0,0,0,.18); }
.semantic-surface--ink { --surface-card: #111; --surface-card-semantic: #111; --surface-panel-semantic: #111; --text-primary: var(--text-on-dark); --text-secondary: #d5d5d5; --text-muted: var(--text-muted-dark); --border-color: #303030; --action-color: var(--orange); --focus-color: var(--orange); --shadow-color: rgba(0,0,0,.45); color: var(--text-primary); }
.semantic-surface--accent { --surface-card: rgba(255,255,255,.18); --surface-card-semantic: rgba(255,255,255,.18); --surface-panel-semantic: rgba(255,255,255,.18); --text-primary: #111; --text-secondary: #29231f; --text-muted: #3f3028; --border-color: rgba(17,17,17,.25); --action-color: #111; --focus-color: #111; --shadow-color: rgba(0,0,0,.18); color: var(--text-primary); }
.block-spacing--none { --block-section-space: 0px; }
.block-spacing--compact { --block-section-space: var(--section-space-compact); }
.block-spacing--normal { --block-section-space: var(--section-space); }
.block-spacing--roomy { --block-section-space: var(--section-space-roomy); }
.block-spacing--bottom { padding-top: 0; padding-bottom: var(--section-space); }
.block-align--left { --content-align: left; --content-items: flex-start; --card-action-align: flex-start; }
.block-align--center { --content-align: center; --content-items: center; --card-action-align: center; text-align: center; }
.block-align--center :is(h1,h2,.button-row) { margin-inline: auto; }
.block-align--center :is(.block-body,.block-subtitle) { margin-left: auto; margin-right: auto; }
.block-align--center :is(.section-header,.block-grid) { margin-inline: auto; }
.block-align--center .button-row { justify-content: center; }
.block-align--right { --content-align: right; --content-items: flex-end; --card-action-align: flex-end; text-align: right; }
.block-align--right :is(h1,h2,.button-row) { margin-left: auto; }
.block-align--right :is(.block-body,.block-subtitle) { margin-left: auto; margin-right: 0; }
.block-align--right .button-row { justify-content: flex-end; }
.block-align--center.ariser-block--ctaBand p:not(.block-suptitle), .block-align--center.quote-block blockquote { margin-inline: auto; }
.block-align--right.ariser-block--ctaBand p:not(.block-suptitle), .block-align--right.quote-block blockquote { margin-right: 0; margin-left: auto; }
.block-heading--small { --section-heading-size: var(--type-title-small); --hero-heading-size: var(--type-display-small); }
.block-heading--medium { --section-heading-size: var(--type-title-medium); --hero-heading-size: var(--type-display-medium); }
.block-heading--large { --section-heading-size: var(--type-title-large); --hero-heading-size: var(--type-display-large); }
.section-header .block-title { font-size: var(--section-heading-size, var(--type-title-medium)); }
.section-header--compact { --section-heading-size: var(--type-title-small); }
.ariser-block--hero h1 { font-size: var(--hero-heading-size, var(--type-display-medium)); }
.block-section .block-suptitle { color: var(--text-muted); }
.block-theme--accent :is(h1,h2,h3,h4,h5,h6,p,.block-suptitle) { color: var(--text-primary); }
.block-grid { --card-grid-inset: var(--card-inset-standard); --card-grid-gap-cap: var(--card-grid-gap-feature); --card-grid-radius: var(--radius-card); --card-grid-radius-emphasis: var(--radius-card-lg); --card-feature-radius: var(--radius-feature); --card-grid-action-gap: 24px; display: grid; width: 100%; gap: min(var(--block-grid-gap, var(--grid-gap)), var(--card-grid-gap-cap)); align-items: stretch; }
.card-grid-gap--compact { --block-grid-gap: var(--card-grid-gap-compact); }
.card-grid-gap--standard { --block-grid-gap: var(--card-grid-gap-standard); }
.card-grid-gap--spacious { --block-grid-gap: var(--card-grid-gap-spacious); }
.card-grid-gap--feature { --block-grid-gap: var(--card-grid-gap-feature); }
.card-grid--cols-1, .card-grid--cols-2 { --card-grid-inset: var(--card-inset-wide); --card-grid-gap-cap: var(--card-grid-gap-feature); --card-grid-radius: var(--radius-card-lg); --card-grid-radius-emphasis: var(--radius-card-lg); --card-feature-radius: var(--radius-feature); --card-grid-action-gap: 24px; }
.card-grid--cols-1 { grid-template-columns: minmax(0,1fr); }
.card-grid--cols-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.card-grid--cols-3 { --card-grid-inset: var(--card-inset-standard); --card-grid-gap-cap: var(--card-grid-gap-spacious); --card-grid-radius: var(--radius-card); --card-grid-radius-emphasis: var(--radius-card-lg); --card-feature-radius: var(--radius-panel); --card-grid-action-gap: 22px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.card-grid--cols-4 { --card-grid-inset: var(--card-inset-dense); --card-grid-gap-cap: var(--card-grid-gap-standard); --card-grid-radius: var(--radius-card-sm); --card-grid-radius-emphasis: var(--radius-card); --card-feature-radius: var(--radius-feature-compact); --card-grid-action-gap: 20px; grid-template-columns: repeat(4,minmax(0,1fr)); }
.card-grid--cols-5 { --card-grid-inset: var(--card-inset-compact); --card-grid-gap-cap: var(--card-grid-gap-compact); --card-grid-radius: var(--radius-card-sm); --card-grid-radius-emphasis: var(--radius-card-sm); --card-feature-radius: var(--radius-feature-compact); --card-grid-action-gap: 18px; grid-template-columns: repeat(5,minmax(0,1fr)); }
.split-layout { --split-content-size: .82fr; --split-companion-size: 1.45fr; --split-companion-min: 0px; --split-gap: var(--grid-gap-feature); display: grid; width: 100%; min-width: 0; grid-template-columns: minmax(0,var(--split-content-size)) minmax(var(--split-companion-min),var(--split-companion-size)); grid-template-areas: "content companion"; gap: var(--split-gap); align-items: center; }
.split-layout--companion-left { grid-template-columns: minmax(var(--split-companion-min),var(--split-companion-size)) minmax(0,var(--split-content-size)); grid-template-areas: "companion content"; }
.split-layout--align-start { align-items: start; }
.split-layout__content { grid-area: content; min-width: 0; }
.split-layout__companion { grid-area: companion; min-width: 0; }
.block-card { border-radius: var(--block-card-radius, var(--card-grid-radius, var(--radius-card))); }
.card-shell { --card-title-size: var(--type-card-title); --card-title-family: var(--font-sans); --card-title-weight: 600; --card-title-line-height: 1.15; --card-title-letter-spacing: normal; min-width: 0; min-height: 0; max-width: 100%; padding: var(--card-grid-inset, var(--card-inset-standard)); border: 1px solid var(--border-color); color: var(--text-primary); background: var(--surface-card-semantic); container-type: inline-size; overflow-wrap: anywhere; text-align: var(--content-align, left); }
.card-shell[data-card-shape] { display: grid; padding: 0; }
.card-shell[data-card-shape]::before, .card-shell[data-card-shape] > .card-shell__content { grid-area: 1 / 1; min-width: 0; }
.card-shell[data-card-shape]::before { width: 100%; aspect-ratio: var(--card-shape-ratio); content: ""; pointer-events: none; visibility: hidden; }
.card-shell__content { position: relative; z-index: 1; display: flex; min-width: 0; min-height: 100%; flex-direction: column; }
.card-shape--landscape { --card-shape-ratio: var(--card-aspect-landscape); }
.card-shape--square { --card-shape-ratio: var(--card-aspect-square); }
.card-shape--portrait { --card-shape-ratio: var(--card-aspect-portrait); }
.card-presentation--content { min-block-size: var(--card-min-standard); }
.card-presentation--process { --card-title-size: var(--type-card-title-large); min-block-size: var(--card-min-process); }
.card-presentation--content .block-card-title { font-size: clamp(19px,4.8cqi,var(--card-title-size)); }
.card-presentation--process .block-card-title { margin-top: 65px; font-size: clamp(22px,5.5cqi,var(--card-title-size)); }
.card-presentation--editorial { --card-title-size: var(--type-editorial-card-title); --card-title-family: var(--font-display); --card-title-weight: 700; --card-title-line-height: 1.05; --card-title-letter-spacing: -.025em; }
.card-presentation--editorial .block-card-title { margin: 26px 0 15px; font-size: clamp(22px,5.5cqi,27px); }
.card-presentation--editorial .block-card-title + .block-card-copy { margin-top: 0; }
.card-presentation--feature { --card-title-size: var(--type-feature-title); --card-title-family: var(--font-display); --card-title-weight: 700; --card-title-line-height: 1.05; --card-title-letter-spacing: -.035em; min-block-size: var(--card-min-feature); padding: 0; border: 0; background: #111; aspect-ratio: var(--media-aspect-feature); }
.card-presentation--metric { min-block-size: var(--card-min-metric); }
.card-presentation--metric > strong { display: block; color: var(--orange); font: 700 var(--type-metric)/.9 var(--font-display); letter-spacing: -.05em; }
.card-presentation--metric > .block-body { max-width: 290px; margin: 54px 0 0; font-size: var(--type-metric-label); font-weight: 600; line-height: 1.4; }
.block-card--with-action:not([data-card-shape]) { display: flex; flex-direction: column; }
.block-card-action { display: inline-flex; align-self: var(--card-action-align, flex-start); margin-top: auto; padding-top: var(--block-card-action-gap, var(--card-grid-action-gap, 24px)); color: var(--action-color); font-size: var(--type-card-action); font-weight: 600; text-align: var(--content-align, left); }
.block-card--feature { --block-card-radius: var(--card-feature-radius, var(--radius-feature)); }
.block-panel { border-radius: var(--block-panel-radius, var(--radius-panel)); }
.block-card-title { min-width: 0; max-width: 100%; color: var(--text-primary); font-family: var(--card-title-family); font-size: var(--card-title-size); font-weight: var(--card-title-weight); hyphens: auto; line-height: var(--card-title-line-height); letter-spacing: var(--card-title-letter-spacing); overflow-wrap: anywhere; text-wrap: balance; }
.card-media-image { display: block; width: 100%; min-width: 0; object-fit: cover; }
.card-media-image--top { height: auto; aspect-ratio: var(--media-aspect-card); }
.card-media-image--cover { position: absolute; inset: 0; width: 100%; height: 100%; }
.card-with-top-media { display: flex; padding: 0; overflow: hidden; flex-direction: column; }
.card-with-top-media > .card-media-image--top { width: 100%; flex: 0 0 auto; border-radius: 0; }
.card-with-top-media > .card-content { display: flex; min-width: 0; padding: var(--card-grid-inset, var(--card-inset-standard)); flex: 1; flex-direction: column; }
.card-with-top-media > .block-card-action { margin: 0 var(--card-grid-inset, var(--card-inset-standard)) var(--card-grid-inset, var(--card-inset-standard)); padding-top: 0; }
.ariser-block--manualCardGrid .card-grid .card-shell__content { padding: var(--card-grid-inset, var(--card-inset-standard)); }
.ariser-block--manualCardGrid .card-grid .card-shell__content > * { min-width: 0; max-width: 100%; }
.ariser-block--manualCardGrid .card-grid .block-card-copy, .ariser-block--manualCardGrid .card-grid .block-card-copy p, .ariser-block--manualCardGrid .card-grid .card-shell__content p { overflow-wrap: anywhere; }
.manual-card__media { margin: calc(var(--card-grid-inset, var(--card-inset-standard)) * -1) calc(var(--card-grid-inset, var(--card-inset-standard)) * -1) var(--card-grid-inset, var(--card-inset-standard)); overflow: hidden; border-radius: var(--block-card-radius, var(--card-grid-radius, var(--radius-card))) var(--block-card-radius, var(--card-grid-radius, var(--radius-card))) 0 0; }
.manual-card__media .card-media-image { width: 100%; }
.manual-card__metadata { margin-bottom: var(--card-content-gap); letter-spacing: .1em; text-transform: uppercase; }
.manual-card__number { display: inline-grid; width: 48px; height: 48px; margin-bottom: var(--manual-card-lead-gap); place-items: center; border: 1px solid var(--border-color); border-radius: 50%; color: var(--text-accent); font-size: var(--type-card-meta); font-weight: 600; }
.manual-card__icon { display: grid; min-width: 0; min-height: var(--manual-card-icon-zone); max-width: 100%; place-items: center; overflow: hidden; color: var(--orange); }
.manual-card__icon img { display: block; width: auto; height: auto; max-width: min(100%, var(--manual-card-icon-size)); max-height: var(--manual-card-icon-size); object-fit: contain; }
.manual-card__icon + .block-card-title { margin-top: var(--manual-card-lead-gap); }

.ariser-block--manualCardGrid[data-block-layout="five"] .manual-card { --card-title-size: var(--type-card-title-compact); }
.section-header { display: flex; width: 100%; flex-direction: column; align-items: var(--content-items, flex-start); color: var(--text-primary); text-align: var(--content-align, left); }
.section-header--stacked { gap: 24px; }
.section-header--center { --content-align: center; --content-items: center; }
.section-header--right { --content-align: right; --content-items: flex-end; }
.section-header--split { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,560px); column-gap: var(--grid-gap-feature); row-gap: 24px; align-items: end; }
.section-header--split.section-header--center { grid-template-columns: minmax(0,900px); justify-content: center; gap: 24px; }
.section-header--split.section-header--center .section-header__support { width: min(100%,760px); justify-self: center; }
.section-header--editorial { display: grid; grid-template-columns: minmax(0,1fr) auto; column-gap: var(--grid-gap-feature); row-gap: 24px; align-items: start; }
.section-header--editorial .section-header__actions { justify-self: end; align-self: start; }
.section-header--editorial .section-header__body { grid-column: 1 / -1; width: min(100%, var(--measure-editorial-body)); min-width: 0; }
.section-header--editorial .section-header__body > .block-body { margin: 0; color: var(--text-secondary); }
.section-header__content, .section-header__support, .section-header__actions, .section-header__body { min-width: 0; }
.section-header--stacked .section-header__content { width: min(100%, var(--measure-section-heading)); }
.section-header--stacked .section-header__support { width: min(100%, var(--measure-section-body)); }
.section-header--split .section-header__content, .section-header--split .section-header__support { max-width: none; }
.section-header__support { display: flex; flex-direction: column; align-items: var(--content-items, flex-start); gap: 24px; }
.section-header__support .block-body { margin: 0; color: var(--text-secondary); }
.section-header__content .block-subtitle { margin: 18px 0 0; color: var(--text-accent); }
.section-header + :is(.responsive-carousel, .block-grid, .contact-form, .block-grid-wrap) { margin-top: var(--space-header-to-grid); }
.block-grid-wrap > .responsive-carousel { margin-top: 0; }
.news-featured + .responsive-carousel { margin-top: var(--card-grid-gap-standard); }
.ariser-block--articleListing .section-header + .news-featured { margin-top: var(--space-header-to-grid); }
.block-media { position: relative; min-width: 0; overflow: hidden; border-radius: var(--radius-card-lg); }
.block-media > img { width: 100%; height: 100%; object-fit: cover; }
.block-media__play { position: absolute; right: 24px; bottom: 24px; display: inline-flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: var(--radius-pill); color: #111; background: rgba(255,255,255,.9); font-size: 12px; font-weight: 600; }
.block-media__play i { width: 0; height: 0; border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-left: 8px solid currentColor; }
.form-system { --form-control-height: var(--control-height); --form-control-radius: var(--control-radius); --form-focus-color: var(--orange); }
.block-suptitle { margin: 0 0 14px; color: #fff; font-size: var(--type-suptitle); font-weight: 600; letter-spacing: .19em; line-height: 1.2; text-transform: uppercase; }
.block-subtitle { font-size: var(--type-subtitle); font-weight: 600; line-height: 1.3; }
.block-body { color: var(--text-secondary); font-size: var(--type-body); line-height: 1.5; }
.block-card-copy { min-width: 0; max-width: 100%; color: var(--text-secondary); font-size: var(--type-card-body); hyphens: auto; line-height: 1.45; overflow-wrap: anywhere; text-wrap: pretty; }
.card-shell .block-card-title + .block-card-copy { margin: var(--card-content-gap) 0 0; }
.block-card-meta { margin: 0; color: var(--text-muted); font-size: var(--type-card-meta); font-weight: 600; }
h1, h2 { margin: 0; font-family: var(--font-display); font-weight: 700; letter-spacing: -.048em; }
h1 { max-width: 900px; font-size: var(--type-display-medium); line-height: .98; }
h2 { font-size: var(--type-title-medium); line-height: 1.02; }
h3, h4, h5, h6 { margin: 0; font-family: var(--font-sans); font-weight: 600; }
h3 { font-size: var(--type-heading-3); }
h4 { font-size: var(--type-heading-4); }
h5 { font-size: var(--type-heading-5); }
h6 { font-size: var(--type-heading-6); }
em { color: var(--orange); font-style: normal; }
p { line-height: 1.65; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 23px; border: 0; border-radius: var(--radius-pill); font-size: 13px; font-weight: 600; cursor: pointer; transition: transform .2s, filter .2s; }
.button:hover { transform: translateY(-2px); filter: brightness(.96); }
.button-small { min-height: 39px; padding-inline: 18px; font-size: 12px; }
.button-light { color: #111; background: #fff; }
.button-dark { color: #fff; background: #111; }
.button-orange { color: #fff; background: var(--orange); }
.button-row { display: flex; flex-wrap: wrap; gap: 10px; }

.site-header { position: fixed; z-index: 100; top: 0; right: 0; left: 0; isolation: isolate; color: white; background: transparent; }
.site-header::before { position: absolute; z-index: 0; inset: 0 0 -22px; content: ""; pointer-events: none; opacity: 0; background: linear-gradient(180deg, rgba(7,7,7,.78) 0%, rgba(7,7,7,.72) 68%, rgba(7,7,7,0) 100%); backdrop-filter: blur(18px) saturate(125%); -webkit-backdrop-filter: blur(18px) saturate(125%); mask-image: linear-gradient(180deg, #000 0%, #000 68%, transparent 100%); -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 68%, transparent 100%); transition: opacity .28s ease; }
.header-dark { color: white; }
.nav { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 26px; height: 112px; transition: height .28s ease; }
.brand { display: inline-flex; align-items: center; }
.nav > .brand { grid-column: 1; justify-self: start; }
.brand-logo { display: block; width: auto; height: 72px; transition: height .28s ease; }
.header-dark .brand-logo, footer .brand-logo { filter: invert(1); }
footer .brand-logo { height: 96px; }
.nav-links { display: flex; grid-column: 2; align-items: center; justify-self: center; gap: 27px; color: #c9c9c9; font-size: 12px; }
.header-light .nav-links { color: #555; }
.nav-links a { padding-block: 10px; }
.nav-links a:hover { color: var(--orange); }
.nav-actions { display: flex; grid-column: 3; align-items: center; justify-self: end; gap: 16px; }
.header-contact { min-height: 34px; padding-inline: 15px; border: 1px solid rgba(255,255,255,.85); color: #fff; background: transparent; font-size: 11px; white-space: nowrap; }
.header-contact:hover { color: #111; background: #fff; filter: none; }
.header-scrolled { color: #fff; }
.header-scrolled::before { opacity: 1; }
.header-scrolled .nav { height: 76px; }
.header-scrolled .brand-logo { height: 52px; filter: invert(1); }
.header-light.header-scrolled .nav-links { color: #d0d0d0; }
.mobile-header-system { display: none; }
.mobile-header-controls { display: flex; align-items: center; gap: 8px; }
.mobile-header-control { position: relative; display: grid; width: 42px; height: 42px; padding: 0; place-items: center; border: 1px solid color-mix(in srgb,currentColor 72%,transparent); border-radius: 50%; color: inherit; background: color-mix(in srgb,var(--surface-card-semantic) 10%,transparent); cursor: pointer; transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease; }
.mobile-header-control:hover, .mobile-header-control:focus-visible, .mobile-header-control.is-active, .mobile-header-control.is-open { color: var(--orange); border-color: var(--orange); }
.mobile-header-control:focus-visible { outline: 0; box-shadow: 0 0 0 2px #080808, 0 0 0 4px var(--orange); }
.mobile-search-toggle .search-icon { width: 18px; height: 18px; }
.mobile-menu-toggle { align-content: center; gap: 6px; }
.mobile-menu-toggle > span { display: block; width: 19px; height: 1.5px; background: currentColor; transition: transform .22s ease, width .22s ease; }
.mobile-menu-toggle.is-open > span:first-child { transform: translateY(3.75px) rotate(45deg); }
.mobile-menu-toggle.is-open > span:last-child { transform: translateY(-3.75px) rotate(-45deg); }
.mobile-header-overlay { position: fixed; z-index: -1; inset: 0; padding-top: var(--mobile-header-height,68px); overflow-y: auto; overscroll-behavior: contain; color: #f7f7f4; background: radial-gradient(circle at 82% 18%,rgba(41,214,195,.1),transparent 24%), radial-gradient(circle at 12% 70%,rgba(255,122,34,.13),transparent 30%), #080808; }
.mobile-header-screen { min-height: calc(100dvh - var(--mobile-header-height,68px)); padding-top: clamp(34px,7vh,70px); padding-bottom: max(34px,env(safe-area-inset-bottom)); }
.mobile-menu-screen { display: flex; flex-direction: column; }
.mobile-screen-kicker { margin: 0 0 28px; color: #888; font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.mobile-primary-nav { display: grid; }
.mobile-primary-nav a { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; min-height: 62px; gap: 20px; border: 0; font-family: var(--font-sans); font-size: clamp(20px,4.8vw,24px); font-weight: 600; letter-spacing: 0; line-height: 1.15; transition: color .18s ease, padding-left .18s ease; }
.mobile-primary-nav a:hover, .mobile-primary-nav a:focus-visible { padding-left: 8px; color: var(--orange); outline: 0; }
.mobile-primary-nav a b { color: var(--orange); font: 500 20px/1 var(--font-sans); }
.mobile-menu-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: auto; padding-top: 32px; }
.mobile-menu-footer .button { flex: 0 0 auto; }
.mobile-menu-footer p { margin: 0; color: #777; font-size: 12px; line-height: 1.3; text-align: right; }
.mobile-search-form { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 16px; min-height: 70px; padding-inline: 22px 16px; border: 1px solid #393939; border-radius: 999px; background: #111; transition: border-color .2s ease, box-shadow .2s ease; }
.mobile-search-form:focus-within { border-color: var(--orange); box-shadow: 0 0 0 3px rgba(255,122,34,.12); }
.mobile-search-form .search-icon { color: #bdbdbd; }
.mobile-search-form input { min-width: 0; width: 100%; padding: 0; border: 0; outline: 0; color: #fff; background: transparent; font-size: clamp(19px,5vw,24px); font-weight: 500; }
.mobile-search-form input::placeholder { color: #777; opacity: 1; }
.mobile-search-form > button { display: grid; width: 38px; height: 38px; padding: 0; place-items: center; border: 0; border-radius: 50%; color: #aaa; background: #242424; font-size: 24px; cursor: pointer; }
.mobile-search-suggestions, .mobile-search-results { margin-top: 34px; }
.mobile-search-suggestions > p, .mobile-search-count { margin: 0 0 14px; color: #777; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.mobile-search-suggestions > div { display: flex; flex-wrap: wrap; gap: 9px; }
.mobile-search-suggestions button { min-height: 42px; padding-inline: 16px; border: 1px solid #343434; border-radius: 999px; color: #dedede; background: #111; font-weight: 600; cursor: pointer; }
.mobile-search-suggestions button:hover, .mobile-search-suggestions button:focus-visible { border-color: var(--aqua); color: #fff; outline: 0; }
.mobile-search-results { display: grid; }
.mobile-search-results > a { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 5px 20px; padding: 20px 4px; border-bottom: 1px solid #292929; }
.mobile-search-results > a:first-of-type { border-top: 1px solid #292929; }
.mobile-search-results > a > span { grid-column: 1; color: var(--orange); font-size: 10px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.mobile-search-results > a > strong { grid-column: 1; font-size: clamp(20px,5.4vw,25px); line-height: 1.08; }
.mobile-search-results > a > b { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--orange); font-size: 18px; }
.mobile-search-results > a:hover strong, .mobile-search-results > a:focus-visible strong { color: var(--orange); }
.mobile-search-empty { padding-top: 18px; color: #aaa; }
.mobile-search-empty strong { color: #fff; font-size: 20px; }
.mobile-search-empty p { margin: 6px 0 0; color: #777; }


.sub-hero { position: relative; overflow: hidden; color: var(--text-primary); background: var(--surface-section); }
.sub-hero, .sketch-hero { padding-top: 112px; }
.sub-hero::before { position: absolute; inset: 0; content: ""; opacity: .42; background-image: radial-gradient(circle, color-mix(in srgb,var(--text-primary) 45%,transparent) 0 1px, transparent 2px); background-size: 57px 61px; mask-image: linear-gradient(90deg, black, transparent 65%); }

.contact-detail { display: grid; gap: 6px; margin-top: 38px; }
.contact-detail span { color: var(--text-muted); font-size: 11px; text-transform: uppercase; }
.contact-detail a { font: 600 19px var(--font-sans); }
.responsive-carousel { width: 100%; min-width: 0; }

.sub-hero { min-height: 700px; background-image: radial-gradient(circle at 78% 58%, rgba(41,214,195,.2), transparent 20%), radial-gradient(circle at 19% 62%, rgba(255,122,34,.24), transparent 20%); }
.sub-hero-copy { position: relative; z-index: 2; padding-top: 125px; }
.sub-hero-copy h1 { max-width: 960px; }
.sub-hero-copy > .block-body { max-width: 650px; margin-top: 28px; margin-bottom: 32px; color: var(--text-secondary); }
.sub-hero-visual { position: absolute; right: -90px; bottom: -230px; width: 570px; aspect-ratio: 1; border: 1px solid var(--border-color); border-radius: 50%; box-shadow: 0 0 80px rgba(255,122,34,.12); }
.sub-hero-visual::before, .sub-hero-visual::after { position: absolute; inset: 16%; content: ""; border: 1px solid var(--border-color); border-radius: 50%; }
.sub-hero-visual::after { inset: 32%; }
.sub-hero-visual span { position: absolute; top: 20%; left: 7%; width: 14px; height: 14px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 24px var(--orange); }
.sub-hero-visual i { position: absolute; top: 5%; right: 28%; width: 9px; height: 9px; border-radius: 50%; background: var(--aqua); box-shadow: 0 0 22px var(--aqua); }
.ariser-block--contentListing[data-block-variant="pages"] .page-listing-card { box-shadow: 0 9px 22px var(--shadow-color); }
.ariser-block--contentListing[data-block-variant="pages"] .page-listing-card[href] { transition: transform .2s, box-shadow .2s; }
.ariser-block--contentListing[data-block-variant="pages"] .page-listing-card[href]:hover { transform: translateY(-4px); box-shadow: 0 14px 30px var(--shadow-color); }
.ariser-block--contentListing[data-block-variant="pages"] .page-listing-card .block-card-title { margin-top: 52px; color: var(--orange); }

.ariser-block--steps .card-grid article { position: relative; overflow: hidden; }
.ariser-block--steps .card-grid article::after { position: absolute; right: -45px; bottom: -45px; width: 145px; height: 145px; content: ""; border: 1px solid color-mix(in srgb,var(--border-color) 82%,var(--orange)); border-radius: 50%; box-shadow: 0 0 35px rgba(255,122,34,.14); }
.process-card__number { color: var(--orange); }
.ariser-block--ctaBand { background: radial-gradient(circle at 75% 50%, rgba(255,122,34,.22), transparent 22%), var(--surface-section); }
.ariser-block--ctaBand h2 { max-width: 780px; }
.ariser-block--ctaBand p:not(.block-suptitle) { max-width: 570px; margin-top: 24px; margin-bottom: 30px; color: var(--text-secondary); }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.search-icon { position: relative; flex: 0 0 auto; width: 21px; height: 21px; border: 1.5px solid currentColor; border-radius: 50%; }
.search-icon::after { position: absolute; right: -7px; bottom: -4px; width: 9px; height: 1.5px; content: ""; background: currentColor; transform: rotate(45deg); transform-origin: left center; }
.search-toggle { display: grid; flex: 0 0 auto; width: 34px; height: 34px; padding: 0; place-items: center; border: 0; color: inherit; background: transparent; cursor: pointer; }
.search-toggle:hover { color: var(--orange); }
.search-overlay { position: fixed; z-index: 100; inset: 0; display: grid; padding: 30px; place-items: start center; overflow-y: auto; color: var(--ink); background: rgba(0,0,0,.76); backdrop-filter: blur(10px); }
.search-panel { width: min(900px, 100%); margin-top: min(10vh, 90px); padding: 48px; border-radius: 30px; background: var(--paper); box-shadow: 0 30px 90px rgba(0,0,0,.45); }
.search-panel-head { display: flex; align-items: start; justify-content: space-between; gap: 30px; }
.search-panel-head p { margin: 0 0 7px; color: var(--orange); font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .11em; }
.search-panel-head h2 { font-size: var(--type-title-small); }
.search-close { width: 44px; height: 44px; padding: 0; border: 1px solid #ccc; border-radius: 50%; color: #111; background: transparent; font-size: 31px; line-height: 1; cursor: pointer; }
.search-close:hover { color: white; background: #111; }
.site-search-form { display: flex; grid-template-columns: none; gap: 18px; align-items: center; margin-top: 34px; padding: 0 24px; border: 1px solid #ccc; border-radius: 999px; background: white; }
.site-search-form .search-icon { color: #444; }
.site-search-form input { min-width: 0; width: 100%; min-height: 60px; padding: 0; border: 0; outline: 0; color: #111; background: transparent; font-size: 17px; }
.site-search-form input:focus { box-shadow: none; }
.site-search-form:focus-within { border-color: var(--orange); box-shadow: 0 0 0 3px rgba(255,122,34,.15); }
.search-suggestions { margin-top: 34px; }
.search-suggestions > p, .result-count { margin: 0 0 14px; color: #777; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.search-suggestions > div { display: flex; flex-wrap: wrap; gap: 10px; }
.search-suggestions button { padding: 10px 16px; border: 0; border-radius: 999px; color: #222; background: #e8e8e5; font-weight: 600; cursor: pointer; }
.search-suggestions button:hover { background: var(--aqua); }
.search-results { display: grid; gap: 12px; margin-top: 30px; }
.search-results > a { position: relative; display: grid; padding: 22px 90px 22px 24px; border: 1px solid #ddd; border-radius: 18px; background: rgba(255,255,255,.66); transition: border-color .2s, transform .2s; }
.search-results > a:hover { border-color: var(--orange); transform: translateY(-2px); }
.search-results > a > span { color: var(--orange); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.search-results h3 { margin-top: 5px; font-size: 20px; }
.search-results > a > p { margin: 6px 0 0; color: #666; font-size: 14px; line-height: 1.35; }
.search-results > a > b { position: absolute; top: 50%; right: 24px; font-size: 12px; transform: translateY(-50%); }
.empty-search { padding: 32px; border-radius: 18px; background: #ececea; text-align: center; }
.empty-search p { margin-bottom: 0; color: #666; }

.sketch-hero { min-height: 840px; color: white; background: #050505 url("../images/ariser-hero.jpg") center/cover no-repeat; }
.sketch-hero-inner { min-width: 0; padding-top: 170px; padding-left: 38%; }
.sketch-hero h1 { width: min(100%, 1040px); max-width: 100%; line-height: 1; overflow-wrap: normal; text-wrap: balance; white-space: normal; }
.sketch-hero-lead { margin: 20px 0 0; }
.sketch-hero-copy { max-width: 575px; margin-top: 62px; margin-bottom: 34px; color: var(--text-secondary); }

.ariser-block--splitContent .section-header { max-width: 550px; }
.ariser-block--splitContent .section-header__support, .ariser-block--splitContent .section-header__support .block-body { width: 100%; margin-inline: 0; padding-inline: 0; text-indent: 0; }
.split-content-copy { display: grid; gap: 18px; width: 100%; }
.split-content-copy p { margin: 0; padding: 0; text-indent: 0; }
.ariser-block--splitContent .block-media { aspect-ratio: var(--media-aspect-split); min-height: 0; border-radius: var(--radius-panel); }

.ariser-block--manualCardGrid[data-block-variant="illustrated"] .card-grid .card-shell { box-shadow: 0 14px 30px var(--shadow-color); text-align: var(--content-align, center); }

.ariser-block--manualCardGrid[data-block-variant="image-backed"] { position: relative; overflow: hidden; }
.ariser-block--manualCardGrid[data-block-variant="image-backed"]::before { position: absolute; inset: 0; content: ""; opacity: .14; background: url("../images/ariser-expect.jpg") center/cover no-repeat; filter: grayscale(.25); transform: scaleX(-1); }
.ariser-block--manualCardGrid[data-block-variant="image-backed"]::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, color-mix(in srgb,var(--surface-section) 82%,transparent), color-mix(in srgb,var(--surface-section) 54%,transparent)); }
.ariser-block--manualCardGrid[data-block-variant="image-backed"].block-theme--ink::before { opacity: 1; filter: none; }
.ariser-block--manualCardGrid[data-block-variant="image-backed"].block-theme--ink::after { background: linear-gradient(90deg, rgba(0,0,0,.55), rgba(0,0,0,.12)); }
.ariser-block--manualCardGrid[data-block-variant="image-backed"] > .block-section__inner { position: relative; z-index: 1; }
.ariser-block--manualCardGrid[data-block-variant="image-backed"] .card-grid .card-shell { background: color-mix(in srgb, var(--surface-card-semantic) 72%, transparent); box-shadow: inset 0 -10px 24px rgba(255,170,100,.09), 0 10px 26px var(--shadow-color); backdrop-filter: blur(8px); }
.ariser-block--manualCardGrid[data-block-variant="image-backed"] .card-grid .block-card-title { color: var(--text-accent); }


.offer-top { display: grid; grid-template-columns: 420px 1fr; gap: var(--grid-gap-feature); align-items: center; }
.offer-chips { display: flex; flex-wrap: wrap; gap: 24px 30px; align-content: center; }
.offer-chips a { padding: 10px 22px; border: 1px solid var(--border-color); border-radius: var(--radius-pill); background: var(--surface-card-semantic); font-size: 18px; transition: background-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.offer-chips a:hover, .offer-chips a:focus-visible { box-shadow: 0 8px 18px var(--shadow-color); transform: translateY(-3px); }
.offer-chips .active { border-color: var(--aqua); background: var(--aqua); box-shadow: none; }
.offer-service-tile { position: relative; }
.offer-service-tile--current { outline: 2px solid var(--aqua); outline-offset: -2px; }
.offer-divider { position: relative; height: 1px; margin: 85px 0 80px; background: var(--border-color); }
.offer-divider span { position: absolute; top: -15px; left: 0; width: 30px; height: 30px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 10px rgba(255,122,34,.85); animation: offer-dot-bounce 9s ease-in-out infinite alternate; }
@keyframes offer-dot-bounce { to { left: calc(100% - 30px); } }
.ariser-block--serviceNavigation[data-block-variant="areas-with-services"] .card-grid a { --block-card-radius: var(--card-grid-radius-emphasis, var(--radius-card-lg)); --card-title-size: var(--type-card-title); display: grid; min-width: 0; min-height: 270px; border: 0; place-items: center; overflow: hidden; color: white; background: radial-gradient(circle at 22% 18%, rgba(255,255,255,.25), transparent 38%), radial-gradient(circle at 80% 75%, rgba(255,255,255,.08), transparent 42%), linear-gradient(135deg,#626262,#171717); background-position: 50% 50%; background-size: 115% 115%; box-shadow: inset 0 0 45px rgba(255,255,255,.06); overflow-wrap: anywhere; hyphens: auto; text-align: center; transition: transform .3s ease, background-position .45s ease, box-shadow .3s ease, filter .3s ease; }
.ariser-block--serviceNavigation[data-block-variant="areas-with-services"] .card-grid a:nth-child(2) { background-image: radial-gradient(circle at 78% 22%, rgba(255,255,255,.22), transparent 40%), linear-gradient(140deg,#575757,#141414); }
.ariser-block--serviceNavigation[data-block-variant="areas-with-services"] .card-grid a:nth-child(3) { background-image: radial-gradient(circle at 35% 75%, rgba(255,255,255,.18), transparent 42%), linear-gradient(130deg,#696969,#1a1a1a); }
.ariser-block--serviceNavigation[data-block-variant="areas-with-services"] .card-grid a:hover, .ariser-block--serviceNavigation[data-block-variant="areas-with-services"] .card-grid a:focus-visible { background-position: 56% 44%; box-shadow: inset 0 0 50px rgba(255,255,255,.1), 0 16px 28px rgba(0,0,0,.18); filter: brightness(1.07); transform: translateY(-6px) scale(1.012); }
.calculator { display: grid; margin-top: 90px; padding: var(--card-padding-roomy) clamp(32px,6vw,100px); border-radius: var(--radius-panel); background: linear-gradient(90deg,#f2f2f2,#e8e8e8); box-shadow: 12px 16px 28px rgba(0,0,0,.22); text-align: center; }
.ariser-block--calculator .calculator { margin-top: 0; }
.calculator h3 { font-size: 30px; }
.calculator > p { max-width: 880px; margin: 20px auto 0; color: #444; font-size: 16px; line-height: 1.35; }
.calculator label { display: grid; gap: 8px; margin-top: 30px; color: #222; font-size: 16px; font-weight: 600; text-align: left; }
.calculator label span { color: #777; font-size: 13px; font-weight: 400; }
.calculator select { width: 100%; padding: 13px 0; border: 0; border-bottom: 1px solid #fff; background: transparent; }
.calculator .range-field { gap: 14px; }
.calculator .range-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; color: #222; font-size: 16px; font-weight: 600; }
.calculator .range-head strong { display: grid; gap: 7px; font-size: 16px; }
.calculator .range-head small { color: #777; font-size: 13px; font-weight: 400; }
.calculator .range-head output { display: grid; flex: 0 0 auto; width: 46px; height: 46px; place-items: center; border-radius: 50%; color: #fff; background: #111; font-size: 17px; font-weight: 600; }
.calculator input[type="range"] { width: 100%; height: 7px; padding: 0; border-radius: var(--radius-pill); outline: 0; appearance: none; background: linear-gradient(90deg, var(--orange) 0 var(--range-progress), #d0d0cd var(--range-progress) 100%); }
.calculator input[type="range"]::-webkit-slider-thumb { width: 23px; height: 23px; border: 4px solid #fff; border-radius: 50%; appearance: none; background: var(--orange); box-shadow: 0 3px 9px rgba(0,0,0,.28); cursor: grab; }
.calculator input[type="range"]::-moz-range-thumb { width: 17px; height: 17px; border: 4px solid #fff; border-radius: 50%; background: var(--orange); box-shadow: 0 3px 9px rgba(0,0,0,.28); cursor: grab; }
.calculator .button { justify-self: center; margin-top: 36px; }
.estimate-overlay { position: fixed; z-index: 120; inset: 0; display: grid; padding: 24px; place-items: center; overflow-y: auto; background: rgba(0,0,0,.76); backdrop-filter: blur(10px); }
.estimate-modal { position: relative; width: min(690px, 100%); padding: 48px; border-radius: 34px; background: var(--paper); box-shadow: 0 32px 100px rgba(0,0,0,.48); }
.estimate-close { position: absolute; top: 20px; right: 20px; display: grid; width: 42px; height: 42px; padding: 0; place-items: center; border: 1px solid #ccc; border-radius: 50%; color: #111; background: transparent; font-size: 29px; cursor: pointer; }
.estimate-close:hover { color: #fff; background: #111; }
.estimate-kicker { margin: 0 0 10px; color: var(--orange); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.estimate-modal h2 { max-width: 530px; padding-right: 45px; font-size: var(--type-title-small); }
.estimate-modal > p:not(.estimate-kicker) { margin: 22px 0 0; color: #666; font-size: 15px; line-height: 1.45; }
.estimate-price { display: grid; gap: 5px; margin-top: 30px; padding: 26px 28px; border-radius: 24px; color: #fff; background: #0b0b0b; }
.estimate-price span, .estimate-price small { color: #aaa; font-size: 12px; }
.estimate-price strong { color: var(--orange); font: 600 var(--type-heading-3)/1.1 var(--font-sans); }
.estimate-details { display: grid; grid-template-columns: 1.5fr .8fr .8fr; gap: 12px; margin: 18px 0 0; }
.estimate-details div { padding: 17px; border-radius: 16px; background: #e9e9e6; }
.estimate-details dt { color: #777; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.estimate-details dd { margin: 7px 0 0; font-size: 14px; font-weight: 600; }
.estimate-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.estimate-actions .button { margin: 0; }
.estimate-secondary { border: 1px solid #bbb; color: #222; background: transparent; }

.ariser-block--manualCardGrid[data-block-variant="navigation"] .card-grid > .card-shell { position: relative; overflow: hidden; box-shadow: 0 12px 24px var(--shadow-color); }
.ariser-block--manualCardGrid[data-block-variant="navigation"] .card-grid > a { transition: box-shadow .25s ease, transform .25s ease; }
.ariser-block--manualCardGrid[data-block-variant="navigation"] .card-grid > a:hover, .ariser-block--manualCardGrid[data-block-variant="navigation"] .card-grid > a:focus-visible { box-shadow: 0 18px 32px var(--shadow-color); transform: translateY(-5px); }
.ariser-block--manualCardGrid[data-block-variant="navigation"] .card-grid .block-card-title { color: var(--text-accent); }
.ariser-block--manualCardGrid[data-block-variant="navigation"] .card-grid > a .block-card-action { display: grid; width: 38px; height: 38px; margin-top: auto; margin-left: auto; padding-top: 0; place-items: center; align-self: flex-end; border: 1px solid; border-radius: 50%; font-size: 24px; transition: color .2s ease, background-color .2s ease, transform .2s ease; }
.ariser-block--manualCardGrid[data-block-variant="navigation"] .card-grid > a:hover .block-card-action, .ariser-block--manualCardGrid[data-block-variant="navigation"] .card-grid > a:focus-visible .block-card-action { color: #fff; background: #111; transform: translateX(3px); }

.cases-panel { --cases-panel-inline: clamp(45px,6vw,100px); padding: 72px var(--cases-panel-inline) 0; background: var(--surface-accent); }
.cases-panel > .responsive-carousel { transform: translateY(80px); }
.ariser-block--caseListing[data-block-variant="cards"] { padding-bottom: calc(var(--section-space) + 80px); }
.case-copy { color: #111; }
.case-copy .section-header__support { max-width: 1300px; }
.ariser-block--caseListing .case-feature-card { aspect-ratio: 1 / 1; container-type: inline-size; }
@media (min-width: 901px) {
  .ariser-block--caseListing .case-feature-card--single { grid-column: 1 / -1; aspect-ratio: 2 / 1; }
}
.ariser-block--caseListing .card-grid a { position: relative; overflow: hidden; color: #fff; background: #111; box-shadow: 0 16px 28px rgba(0,0,0,.25); transition: box-shadow .35s ease, transform .35s ease; }
.ariser-block--caseListing .card-grid .card-media-image { transition: filter .45s ease, transform .45s ease; }
.ariser-block--caseListing .card-grid a::after { position: absolute; inset: 35% 0 0; content: ""; background: linear-gradient(transparent,rgba(0,0,0,.9)); }
.ariser-block--caseListing .case-feature-content { position: absolute; z-index: 1; right: var(--card-grid-inset, var(--card-inset-wide)); right: clamp(24px,6cqi,40px); bottom: var(--card-grid-inset, var(--card-inset-wide)); bottom: clamp(24px,6cqi,40px); left: var(--card-grid-inset, var(--card-inset-wide)); left: clamp(24px,6cqi,40px); display: grid; min-width: 0; grid-template-columns: minmax(0,1fr) auto; gap: 18px; gap: clamp(14px,4cqi,24px); align-items: end; transition: transform .35s ease; }
.ariser-block--caseListing .case-feature-content .block-card-title { min-width: 0; max-width: none; color: #fff; font-size: 34px; font-size: clamp(28px,7.5cqi,42px); hyphens: auto; line-height: 1.02; overflow-wrap: anywhere; text-align: left; text-shadow: 0 3px 18px rgba(0,0,0,.7); text-wrap: balance; }
.ariser-block--caseListing .case-feature-arrow { display: grid; width: 56px; width: clamp(48px,12cqi,64px); height: 56px; height: clamp(48px,12cqi,64px); place-items: center; align-self: end; border: 2px solid white; border-radius: 50%; color: #fff; background: transparent; font-family: var(--font-sans); font-size: 32px; font-size: clamp(28px,7cqi,38px); line-height: 1; transition: color .25s ease, background-color .25s ease, transform .25s ease; }
.ariser-block--caseListing .card-grid a:hover, .ariser-block--caseListing .card-grid a:focus-visible { box-shadow: 0 23px 38px rgba(0,0,0,.34); transform: translateY(-6px); }
.ariser-block--caseListing .card-grid a:hover .card-media-image, .ariser-block--caseListing .card-grid a:focus-visible .card-media-image { filter: brightness(.82); transform: scale(1.035); }
.ariser-block--caseListing .card-grid a:hover .case-feature-content, .ariser-block--caseListing .card-grid a:focus-visible .case-feature-content { transform: translateY(-4px); }
.ariser-block--caseListing .card-grid a:hover .case-feature-arrow, .ariser-block--caseListing .card-grid a:focus-visible .case-feature-arrow { color: #111; background: #fff; transform: translateX(3px); }

/* Case archive: same 1:1 case card language, without the accent panel. */
.ariser-block--caseListing[data-block-variant="archive"] { background: var(--surface-section); }
.case-filter-pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px 30px; margin: 0 auto clamp(42px,5vw,72px); }
.case-filter-pills button { padding: 10px 22px; border: 1px solid var(--border-color); border-radius: var(--radius-pill); color: var(--text-primary); background: var(--surface-card-semantic); font: 400 18px/1.2 var(--font-sans); cursor: pointer; transition: background-color .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.case-filter-pills button:hover, .case-filter-pills button:focus-visible { box-shadow: 0 8px 18px var(--shadow-color); outline: 0; transform: translateY(-3px); }
.case-filter-pills button.active { border-color: var(--aqua); background: var(--aqua); box-shadow: none; transform: none; }
.client-caption { margin: 140px 0 26px; color: var(--text-muted); font-size: 21px; text-align: center; }
.client-marquee { width: 100%; min-height: 115px; overflow: hidden; }
.client-marquee-track { display: flex; width: max-content; animation: client-logo-scroll 36s linear infinite; will-change: transform; }
.client-logo-set { display: flex; flex: none; align-items: center; gap: clamp(48px, 5vw, 92px); padding-right: clamp(48px, 5vw, 92px); }
.client-logo-set img { display: block; width: auto; height: 115px; object-fit: contain; }
@keyframes client-logo-scroll { to { transform: translateX(-50%); } }

.ariser-block--manualCardGrid[data-block-variant="icon-split"] .section-header { align-items: var(--content-items, flex-start); }
.ariser-block--manualCardGrid[data-block-variant="icon-split"] .section-header h2 { line-height: 1.08; }
.button-aqua { color: #0b0b0b; background: var(--aqua); }
.why-copy { display: grid; grid-template-columns: minmax(0,1fr); gap: 18px; width: min(100%, var(--measure-editorial-body)); max-width: var(--measure-editorial-body); margin-top: 0; }
.why-copy p { margin: 0; }
.ariser-block--manualCardGrid[data-block-variant="icon-split"] .card-grid .card-shell { --block-card-radius: var(--card-grid-radius-emphasis, var(--radius-card-lg)); text-align: var(--content-align, left); }
.ariser-block--manualCardGrid[data-block-variant="icon-split"] .card-grid .block-card-title { color: var(--text-accent); }

.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 30px 50px; }
.contact-form fieldset { display: grid; align-content: start; gap: 20px; min-width: 0; padding: 0; border: 0; }
.contact-form legend { margin-bottom: 18px; color: var(--text-secondary); font-size: 16px; font-weight: 600; }
.contact-form label { display: grid; gap: 10px; }
.contact-form .name-company { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.contact-form input:not([type="checkbox"]), .contact-form textarea, .contact-form select { width: 100%; min-height: var(--form-control-height); padding: 16px 22px; border: 0; border-radius: var(--radius-pill); outline: 0; color: #222; background: linear-gradient(90deg,#f2f2f2,#e6e6e6); font: 400 16px var(--font-sans); }
.contact-form input:not([type="checkbox"]):focus, .contact-form textarea:focus, .contact-form select:focus { box-shadow: 0 0 0 2px var(--form-focus-color); }
.contact-form textarea { min-height: 196px; border-radius: var(--radius-card); resize: vertical; }
.contact-form .select-label { margin-top: 4px; }
.contact-form .select-label strong { color: var(--text-secondary); font-size: 16px; font-weight: 600; }
.contact-form .consent { display: grid; grid-template-columns: 22px 1fr; align-items: start; color: var(--text-muted); font-size: 12px; line-height: 1.35; }
.contact-form .consent input { width: 22px; height: 22px; accent-color: #111; }
.contact-form > button { grid-column: 2; justify-self: end; min-width: 205px; }
.contact-form .success { grid-column: 1 / -1; }

.site-footer { position: relative; min-height: 469px; overflow: hidden; color: white; background: #060606; }
.footer-shell { position: relative; z-index: 1; width: min(1410px, calc(100% - 100px)); margin-inline: auto; }
.footer-grid { display: grid; grid-template-columns: 130px 220px minmax(440px, 1fr) 410px; gap: 35px; padding-top: 145px; }
.footer-symbol { position: absolute; top: -82px; left: 30px; width: 850px; height: auto; opacity: .12; filter: invert(1); }
.footer-nav { display: grid; align-content: start; gap: 10px; font-size: 16px; font-weight: 600; line-height: 1.1; }
.footer-nav a, .footer-offices a, .social-links a { transition: color .2s, opacity .2s; }
.footer-nav a:hover, .footer-offices a:hover { color: var(--orange); }
.footer-offices { display: grid; align-content: start; gap: 32px; color: #b8b8b8; font-size: 16px; line-height: 1.18; }
.footer-offices address { display: grid; font-style: normal; }
.footer-offices strong { color: #fff; font-weight: 600; }
.footer-contact { color: #aaa; font-size: 16px; }
.footer-contact p { margin: 0; line-height: 1.35; }
.footer-button { display: inline-flex; align-items: center; justify-content: center; width: 196px; min-height: 39px; margin-top: 18px; border-radius: var(--radius-pill); color: #0b0b0b; background: var(--orange); font-weight: 600; }
.footer-button:hover { filter: brightness(.96); }
.footer-contact .social-label { margin-top: 27px; }
.social-links { display: flex; align-items: center; gap: 27px; margin-top: 12px; }
.social-links a { display: grid; width: 24px; height: 28px; place-items: center; color: #fff; }
.social-links a:hover { opacity: .65; }
.facebook-icon { font-size: 37px; font-weight: 600; line-height: 1; font-family: Arial, sans-serif; }
.instagram-icon { position: relative; display: block; width: 24px; height: 24px; border: 3px solid currentColor; border-radius: 7px; }
.instagram-icon::before { position: absolute; inset: 5px; content: ""; border: 2px solid currentColor; border-radius: 50%; }
.instagram-icon::after { position: absolute; top: 3px; right: 3px; width: 3px; height: 3px; content: ""; border-radius: 50%; background: currentColor; }
.linkedin-icon { font: 700 22px/1 Arial, sans-serif; letter-spacing: -.06em; }
.footer-brand-block { display: grid; grid-template-columns: 100px 1fr; gap: 34px; align-items: center; margin-top: 0; }
.footer-brand-block .brand-logo { height: 108px; }
.footer-brand-block h2 { font-size: 24px; line-height: 1; letter-spacing: -.045em; white-space: nowrap; }
.footer-brand-block p { margin: 20px 0 0; color: #969696; font-size: 16px; line-height: 1.35; }

@media (max-width: 1200px) {
  .card-grid--cols-1, .card-grid--cols-2, .card-grid--cols-3, .card-grid--cols-4 { --card-grid-inset: var(--card-inset-wide); --card-grid-gap-cap: var(--card-grid-gap-spacious); --card-grid-radius: var(--radius-card-lg); --card-grid-radius-emphasis: var(--radius-card-lg); --card-feature-radius: var(--radius-panel); --card-grid-action-gap: 22px; }
  .card-grid--cols-5 { --card-grid-inset: var(--card-inset-dense); --card-grid-gap-cap: var(--card-grid-gap-standard); --card-grid-radius: var(--radius-card-sm); --card-grid-radius-emphasis: var(--radius-card); --card-feature-radius: var(--radius-feature-compact); --card-grid-action-gap: 20px; }
  .offer-top { grid-template-columns: 340px 1fr; gap: 55px; }
  .card-grid--cols-3, .card-grid--cols-4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .card-grid--cols-5 { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .site-footer { min-height: auto; }
  .footer-shell { width: min(100% - 40px, 1160px); }
  .footer-grid { grid-template-columns: 100px 160px minmax(210px,1fr) 280px; gap: 18px; padding-block: 76px; }
  .footer-symbol { top: 0; left: -170px; width: 700px; }
  .footer-nav, .footer-offices, .footer-contact, .footer-brand-block p { font-size: 14px; }
  .footer-brand-block { grid-column: auto; grid-template-columns: 72px 1fr; gap: 20px; }
  .footer-brand-block .brand-logo { height: 80px; }
  .footer-brand-block h2 { font-size: 20px; white-space: normal; }
  .footer-brand-block p { margin-top: 14px; }
}

@media (max-width: 1100px) {
  :root { --site-header-offset: 68px; }
  .site-header { --mobile-header-height: 68px; }
  .nav, .header-scrolled .nav { grid-template-columns: auto 1fr; gap: 18px; height: var(--mobile-header-height); }
  .nav-links { display: none; }
  .nav-actions { grid-column: 2; gap: 8px; }
  .header-contact, .desktop-search { display: none; }
  .mobile-header-system { display: block; }
  .brand-logo, .header-scrolled .brand-logo { height: 48px; }
  .site-header:has(.mobile-header-system[data-mode]:not([data-mode="closed"])) { color: #fff; background: transparent; }
  .site-header:has(.mobile-header-system[data-mode]:not([data-mode="closed"]))::before { opacity: 0; }
  .site-header:has(.mobile-header-system[data-mode]:not([data-mode="closed"])) .brand-logo { filter: invert(1); }
}

@media (max-width: 900px) {
  .card-grid--cols-1, .card-grid--cols-2, .card-grid--cols-3, .card-grid--cols-4, .card-grid--cols-5 { --card-grid-inset: var(--card-inset-standard); --card-grid-gap-cap: var(--card-grid-gap-standard); --card-grid-radius: var(--radius-card); --card-grid-radius-emphasis: var(--radius-card); --card-feature-radius: var(--radius-feature-compact); --card-grid-action-gap: 20px; }
  .mobile-header-overlay { animation: mobile-header-overlay-enter .2s ease-out; }
  .mobile-primary-nav a { animation: mobile-nav-row-enter .22s ease-out both; }
  .mobile-primary-nav a:nth-child(2) { animation-delay: .025s; }
  .mobile-primary-nav a:nth-child(3) { animation-delay: .05s; }
  .mobile-primary-nav a:nth-child(4) { animation-delay: .075s; }
  .mobile-primary-nav a:nth-child(5) { animation-delay: .1s; }
  .mobile-primary-nav a:nth-child(6) { animation-delay: .125s; }
  .sketch-hero { min-height: 760px; background-position: 32% center; }
  .sketch-hero-inner { padding-top: 130px; padding-left: 0; }
  .sketch-hero h1 { white-space: normal; }
  .sketch-hero-copy { max-width: 520px; }
  .split-layout, .split-layout--companion-left { grid-template-columns: 1fr; grid-template-areas: "content" "companion"; }
  .offer-top, .section-header--split, .section-header--editorial { grid-template-columns: 1fr; }
  .section-header--editorial .section-header__actions { justify-self: start; }
  .calculator { padding: 48px 40px; }
  .cases-panel { --cases-panel-inline: 45px; padding: 72px var(--cases-panel-inline) 0; }
  .why-copy { gap: 18px; }
  .contact-form { grid-template-columns: 1fr; }
  .contact-form > button { grid-column: 1; }
  .footer-shell { width: min(100% - 50px, 850px); }
  .footer-grid { grid-template-columns: .8fr 1.2fr; gap: 48px 60px; padding-block: 70px; }
  .footer-brand-block { grid-column: auto; }
  .compact-card-carousel { --compact-card-width: min(72vw,430px); display: flex; width: calc(100% + var(--carousel-edge)); align-items: stretch; gap: min(var(--block-grid-gap, var(--grid-gap)), var(--card-grid-gap-cap, var(--grid-gap))); margin-inline: 0; padding: 8px var(--carousel-edge) 18px 0; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scroll-padding-inline: 0; scrollbar-width: none; touch-action: pan-x pan-y pinch-zoom; -webkit-overflow-scrolling: touch; cursor: grab; }
  .compact-card-carousel > * { min-width: 0; flex: 0 0 var(--compact-card-width); }
  .compact-card-carousel:focus-visible { outline: 2px solid var(--orange); outline-offset: 5px; }
  .compact-card-carousel.is-dragging { cursor: grabbing; user-select: none; }
  .compact-card-carousel::-webkit-scrollbar { display: none; }
  .ariser-block--manualCardGrid[data-block-variant="illustrated"] .compact-card-carousel { width: calc(100% - var(--carousel-edge)); margin-left: var(--carousel-edge); margin-right: 0; }
  .cases-panel > .responsive-carousel .compact-card-carousel { width: calc(100% + var(--carousel-edge) + var(--cases-panel-inline)); }
  .ariser-block--caseListing .compact-card-carousel { --compact-card-width: min(78vw,calc(100% - 48px),540px); }
}
@keyframes mobile-header-overlay-enter { from { opacity: 0; } to { opacity: 1; } }
@keyframes mobile-nav-row-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 620px) {
  :root { --layout-gutter: 22px; --section-space-compact: 72px; --section-space: 72px; --section-space-roomy: 72px; --grid-gap-wide: 24px; --grid-gap-loose: 24px; --grid-gap-feature: 24px; --card-inset-wide: 28px; --card-inset-standard: 24px; --card-inset-dense: 22px; --card-inset-compact: 20px; }
  .card-grid--cols-1, .card-grid--cols-2, .card-grid--cols-3, .card-grid--cols-4, .card-grid--cols-5 { --card-grid-inset: var(--card-inset-standard); --card-grid-gap-cap: 16px; --card-grid-radius: var(--radius-card-sm); --card-grid-radius-emphasis: var(--radius-card-sm); --card-feature-radius: var(--radius-feature-compact); --card-grid-action-gap: 18px; }
  .mobile-header-control { width: 40px; height: 40px; }
  .mobile-header-controls { gap: 7px; }
  .mobile-header-screen { padding-top: 30px; }
  .mobile-primary-nav a { min-height: 60px; }
  .mobile-menu-footer { align-items: flex-start; flex-direction: column; }
  .mobile-menu-footer p { text-align: left; }
  .mobile-search-form { min-height: 62px; padding-inline: 18px 14px; }
  .nav-actions { gap: 8px; }
  .search-overlay { padding: 12px; }
  .search-panel { margin-top: 25px; padding: 28px 20px; border-radius: 24px; }
  .search-panel-head h2 { font-size: 36px; }
  .site-search-form { padding-inline: 18px; }
  .search-results > a { padding: 20px; }
  .search-results > a > b { position: static; margin-top: 12px; transform: none; }
  .sketch-hero { min-height: 680px; background-position: 28% center; }
  .sketch-hero-inner { padding-top: 85px; }
  .ariser-block--splitContent .split-layout { --split-gap: 45px; }
  .ariser-block--serviceNavigation[data-block-variant="areas-with-services"] .card-grid a { min-height: 220px; }
  .offer-chips { gap: 12px; }
  .offer-chips a { font-size: 14px; }
  .calculator { --block-panel-radius: var(--radius-card-lg); padding: 38px 22px; }
  .calculator .range-head { align-items: end; }
  .estimate-overlay { padding: 12px; }
  .estimate-modal { padding: 34px 20px 24px; border-radius: 26px; }
  .estimate-close { top: 15px; right: 15px; }
  .estimate-details { grid-template-columns: 1fr; }
  .estimate-actions { display: grid; }
  .estimate-actions .button { width: 100%; }
  .cases-panel { --block-panel-radius: var(--radius-card-lg); --cases-panel-inline: 20px; padding: 56px var(--cases-panel-inline) 0; }
  .client-logo-set { gap: 38px; padding-right: 38px; }
  .client-logo-set img { height: 80px; }
  .contact-form .name-company { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .compact-card-carousel { gap: min(var(--block-grid-gap, var(--grid-gap)), var(--card-grid-gap-cap, 16px)); padding-bottom: 20px; }
  .footer-shell { width: min(100% - 44px, 520px); }
  .footer-grid { gap: 42px; padding-block: 64px; }
  .footer-brand-block { grid-column: auto; grid-template-columns: 82px 1fr; gap: 24px; }
  .footer-brand-block .brand-logo { height: 92px; }
  .footer-brand-block h2 { white-space: normal; }
  .sub-hero { min-height: 650px; }
  .sub-hero-copy { padding-top: 90px; }
}
@media (prefers-reduced-motion: reduce) { html, .compact-card-carousel { scroll-behavior: auto; } * { transition: none !important; } .mobile-header-overlay, .mobile-primary-nav a { animation: none !important; } .client-marquee-track, .offer-divider span { animation-play-state: paused; } }

/* Career page carried forward from the designer's Gutenberg delivery. */
.ariser-content-page { overflow: hidden; background: var(--surface-paper); color: var(--ink); }
.ariser-content-hero { position: relative; isolation: isolate; display: grid; min-height: 580px; align-items: end; overflow: hidden; color: #fff; background: radial-gradient(circle at 78% 52%,rgba(255,122,34,.24),transparent 0 18%,transparent 43%),radial-gradient(circle at 78% 52%,transparent 0 27%,rgba(255,255,255,.16) 27.2% 27.45%,transparent 27.7% 41%,rgba(255,255,255,.09) 41.2% 41.45%,transparent 41.7%),linear-gradient(126deg,#050505 0%,#121212 66%,#201108 100%); }
.ariser-content-hero::before { position: absolute; z-index: -2; inset: 0; content: ""; opacity: .38; background-image: linear-gradient(90deg,transparent 49.85%,rgba(255,255,255,.12) 50%,transparent 50.15%),linear-gradient(0deg,transparent 49.85%,rgba(255,255,255,.08) 50%,transparent 50.15%); background-size: 170px 170px; mask-image: linear-gradient(90deg,transparent,#000 58%,#000); }
.ariser-content-hero::after { position: absolute; z-index: -1; inset: auto 0 0; height: 180px; content: ""; background: linear-gradient(180deg,transparent,rgba(0,0,0,.68)); }
.career-orbit { position: absolute; z-index: -1; top: 42px; right: -12vw; width: min(48vw,660px); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 0 0 72px rgba(255,255,255,.025),0 0 0 144px rgba(255,255,255,.018),inset 80px -40px 150px rgba(255,122,34,.12); }
.career-orbit::before, .career-orbit::after { position: absolute; content: ""; border-radius: 50%; }
.career-orbit::before { inset: 15%; border: 1px solid rgba(255,122,34,.52); }
.career-orbit::after { top: 55%; left: 12%; width: 18px; height: 18px; background: var(--orange); box-shadow: 0 0 34px rgba(255,122,34,.88); }
.ariser-content-hero-inner { position: relative; z-index: 2; padding-top: 125px; padding-bottom: 70px; }
.career-eyebrow { margin-bottom: 22px; color: var(--orange); }
.career-form-card .block-suptitle { color: var(--orange); }
.ariser-content-hero h1, .ariser-content-copy h2, .career-form-card h2 { font-family: var(--font-display); font-weight: 700; letter-spacing: -.045em; }
.ariser-content-hero h1 { max-width: 870px; margin: 0; line-height: .9; }
.ariser-content-hero h1 em, .ariser-content-copy h2 em { color: var(--orange); font-style: normal; }
.career-hero-lead { max-width: 640px; margin-top: 38px; margin-bottom: 34px; }
.ariser-content-copy { position: sticky; top: 120px; padding-top: 18px; }
.ariser-content-copy h2, .career-form-card h2 { margin: 0; line-height: .96; }
.ariser-content-copy h2 { max-width: 580px; }
.career-note { display: grid; grid-template-columns: 52px 1fr; gap: 18px; align-items: start; margin-top: 52px; padding-top: 26px; border-top: 1px solid rgba(0,0,0,.24); }
.career-note > span { width: 52px; height: 2px; margin-top: 11px; background: var(--orange); }
.career-note p { margin: 0; color: var(--text-secondary); }
.career-form-card { position: relative; overflow: hidden; padding: clamp(34px,5vw,70px); color: var(--text-primary); background: radial-gradient(circle at 100% 0,rgba(255,122,34,.18),transparent 36%),linear-gradient(145deg,#171717,#050505 78%); box-shadow: 0 28px 80px rgba(0,0,0,.16); }
.career-form-card::after { position: absolute; top: -80px; right: -80px; width: 240px; height: 240px; content: ""; pointer-events: none; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; box-shadow: 0 0 0 44px rgba(255,255,255,.025); }
.career-form-card h2 { position: relative; z-index: 1; max-width: 660px; }
.career-application-form { position: relative; z-index: 1; display: block; margin-top: 42px; }
.career-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 18px; }
.career-field { display: grid; gap: 10px; margin: 0; color: #efefef; font-size: 13px; font-weight: 600; }
.career-field > span { display: inline-flex; gap: 4px; align-items: baseline; }
.career-field b { color: var(--orange); }
.career-field-wide { grid-column: 1 / -1; }
.career-application-form input:not([type="checkbox"]), .career-application-form textarea { width: 100%; min-height: var(--form-control-height); box-sizing: border-box; padding: 16px 18px; border: 1px solid rgba(255,255,255,.22); border-radius: var(--form-control-radius); outline: none; color: #fff; background: rgba(255,255,255,.065); font-size: 16px; transition: border-color .2s,background .2s,box-shadow .2s; }
.career-application-form textarea { min-height: 170px; resize: vertical; }
.career-application-form input::placeholder, .career-application-form textarea::placeholder { color: #8e8e8e; }
.career-application-form input:focus, .career-application-form textarea:focus { border-color: var(--form-focus-color); background: rgba(255,255,255,.095); box-shadow: 0 0 0 3px rgba(255,122,34,.16); }
.career-consent { display: grid; grid-template-columns: 20px 1fr; gap: 12px; align-items: start; color: var(--text-muted); font-size: 13px; line-height: 1.45; }
.career-consent input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--orange); }
.career-submit { min-width: 150px; margin-top: 30px; }
.career-success { margin: 24px 0 0; color: #fff; font-weight: 600; }

@media (max-width: 980px) {
  .ariser-content-hero { min-height: 540px; }
  .career-orbit { top: 50px; right: -30vw; width: 78vw; }
  .ariser-content-hero-inner { padding-top: 125px; padding-bottom: 64px; }
  .ariser-content-copy { position: static; }
  .career-form-card { --block-panel-radius: var(--radius-panel); }
}

@media (max-width: 620px) {
  .ariser-content-hero { min-height: 500px; }
  .career-orbit { top: 82px; right: -62vw; width: 124vw; }
  .ariser-content-hero-inner { padding-top: 110px; padding-bottom: 52px; }
  .career-hero-lead { margin-top: 28px; }
    .ariser-content-copy h2 { font-size: 48px; }
  .career-note { margin-top: 38px; }
  .career-form-card { --block-panel-radius: var(--radius-card-lg); padding: 34px 22px 30px; }
  .career-form-card h2 { font-size: 44px; }
  .career-form-grid { grid-template-columns: 1fr; gap: 20px; }
  .career-field-wide { grid-column: auto; }
  .career-submit { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .career-application-form input, .career-application-form textarea { transition: none; }
}

#digital-utveckling, #erbjudande, #kontakt, #jobbansokan, #blockoversikt, .library-section-label, .block-library-page [id] { scroll-margin-top: 96px; }

/* Gutenberg-ready editorial and block-library additions. */
.split-decorative { position: relative; min-height: 470px; overflow: hidden; border-radius: var(--radius-panel); background: radial-gradient(circle at 53% 50%, #fff 0 1%, #ffb16d 2%, #a8421d 4%, transparent 10%), radial-gradient(circle at 48% 50%, rgba(41,214,195,.55), transparent 34%), #061016; box-shadow: 0 35px 70px rgba(0,0,0,.16); }
.split-decorative::before { position: absolute; inset: 0; content: ""; opacity: .32; background-image: radial-gradient(circle, white 0 1px, transparent 2px); background-size: 29px 34px; mask-image: radial-gradient(circle at 50% 50%, black, transparent 72%); }
.split-decorative::after { position: absolute; top: 50%; right: 0; left: 0; height: 1px; content: ""; background: linear-gradient(90deg, transparent, var(--aqua), white, var(--orange), transparent); box-shadow: 0 0 16px white; }

.news-archive-hero { position: relative; min-height: 680px; overflow: hidden; background: radial-gradient(circle at 75% 48%,rgba(41,214,195,.16),transparent 0 19%,transparent 38%),radial-gradient(circle at 18% 66%,rgba(255,122,34,.2),transparent 24%),var(--surface-ink); }
.news-archive-hero::before { position: absolute; inset: 0; content: ""; opacity: .28; background-image: radial-gradient(circle,rgba(255,255,255,.7) 0 1px,transparent 2px); background-size: 58px 61px; mask-image: linear-gradient(90deg,#000,transparent 72%); }
.news-archive-hero__inner { position: relative; z-index: 2; padding-top: 230px; padding-bottom: 100px; }
.news-archive-hero h1 { max-width: 940px; }
.news-archive-hero__inner > .block-body { max-width: 720px; margin-top: 28px; margin-bottom: 0; color: var(--text-secondary); }
.news-archive-hero__orbit { position: absolute; right: -110px; bottom: -270px; width: 590px; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; box-shadow: 0 0 0 68px rgba(255,255,255,.018),inset 60px 0 130px rgba(255,122,34,.09); }
.news-archive-hero__orbit::before { position: absolute; inset: 24%; content: ""; border: 1px solid rgba(255,122,34,.42); border-radius: 50%; }
.news-archive-hero__orbit span, .news-archive-hero__orbit i { position: absolute; border-radius: 50%; box-shadow: 0 0 24px currentColor; }
.news-archive-hero__orbit span { top: 15%; left: 10%; width: 13px; height: 13px; color: var(--orange); background: currentColor; }
.news-archive-hero__orbit i { top: 3%; right: 25%; width: 9px; height: 9px; color: var(--aqua); background: currentColor; }
.news-featured { display: grid; grid-template-columns: minmax(0,1.28fr) minmax(360px,.72fr); height: min(42vw,650px); min-height: 520px; overflow: hidden; color: var(--text-primary); background: #0b0d0e; box-shadow: 0 22px 60px rgba(0,0,0,.12); }
.news-featured > img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.news-featured > div { display: flex; padding: clamp(38px,5vw,70px); flex-direction: column; justify-content: center; }
.news-featured h3 { margin: 30px 0 20px; font: 700 var(--type-feature-title)/1 var(--font-display); letter-spacing: -.035em; }
.news-featured > div > p:not(.news-meta) { margin: 0; color: var(--text-secondary); }
.news-meta { display: flex; flex-wrap: wrap; gap: 9px 18px; letter-spacing: .08em; text-transform: uppercase; }
.news-meta span { color: var(--orange); }
.news-meta time { color: var(--text-muted); }
.news-card { display: flex; overflow: hidden; flex-direction: column; transition: transform .22s,box-shadow .22s; }
.news-card:hover { transform: translateY(-5px); box-shadow: 0 20px 45px rgba(0,0,0,.09); }
.news-card > .card-media-image { flex: 0 0 auto; }

.article-hero { padding-top: 112px; overflow: hidden; background: radial-gradient(circle at 82% 36%,rgba(255,122,34,.2),transparent 22%),var(--surface-ink); }
.article-hero__copy { padding-top: 130px; padding-bottom: 70px; }
.article-hero__copy h1 { max-width: 1150px; margin-top: 30px; }
.article-hero__copy > .block-subtitle { max-width: 800px; margin-top: 30px; margin-bottom: 0; color: var(--text-secondary); }
.article-hero__image { position: relative; z-index: 2; height: min(58vw,700px); overflow: hidden; transform: translateY(70px); box-shadow: 0 35px 80px rgba(0,0,0,.28); }
.article-hero__image img { width: 100%; height: 100%; object-fit: cover; }
.article-content { padding-top: calc(var(--section-space) + 70px); }
.editorial-prose { font-size: 18px; }
.editorial-prose > *:first-child { margin-top: 0; }
.editorial-prose > *:last-child { margin-bottom: 0; }
.editorial-prose h2 { margin: 70px 0 24px; font-size: var(--type-title-small); }
.editorial-prose h3 { margin: 48px 0 18px; font-size: 26px; }
.editorial-prose p { margin: 0 0 24px; color: #333; line-height: 1.75; }
.editorial-prose__lead { font-size: var(--type-subtitle); font-weight: 600; line-height: 1.5 !important; }
.editorial-prose a:not(.button) { color: #a8450c; text-decoration: underline; text-decoration-color: var(--orange); text-underline-offset: 4px; }
.editorial-prose ol, .editorial-prose ul { display: grid; gap: 18px; margin: 28px 0 42px; padding-left: 28px; line-height: 1.65; }
.editorial-prose li { padding-left: 7px; }
.editorial-prose li::marker { color: var(--orange); font-weight: 600; }
.editorial-prose__media { margin: 55px 0; }
.editorial-prose__media img { width: 100%; border-radius: var(--radius-panel); }
.editorial-prose figcaption { margin-top: 12px; color: #777; font-size: 12px; line-height: 1.5; }
.editorial-prose blockquote { margin: 62px 0; padding: 12px 0 12px 34px; border-left: 4px solid var(--orange); }
.editorial-prose blockquote p { margin: 0; font: 700 var(--type-editorial-quote)/1.08 var(--font-display); letter-spacing: -.035em; }
.editorial-table-wrap { margin: 34px 0 54px; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-card-sm); }
.editorial-prose table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 15px; }
.editorial-prose th, .editorial-prose td { padding: 17px 20px; border-bottom: 1px solid var(--line); text-align: left; }
.editorial-prose th { background: var(--surface-soft); }
.editorial-prose tr:last-child td { border-bottom: 0; }
.editorial-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 46px; }
.editorial-prose details { margin: 28px 0; padding: 22px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.editorial-prose summary { cursor: pointer; font-weight: 600; }
.editorial-prose details p { margin: 18px 0 0; }

.block-align--center .card-presentation--metric > .block-body { margin-inline: auto; text-align: center; }
.block-align--right .card-presentation--metric > .block-body { margin-left: auto; text-align: right; }
.quote-block__panel { padding: clamp(45px,7vw,96px); color: var(--text-primary); background: radial-gradient(circle at 88% 30%,rgba(255,122,34,.18),transparent 25%),var(--surface-panel-semantic); box-shadow: 0 28px 70px var(--shadow-color); }
.quote-block figure { margin-block: 0; }
.quote-block blockquote { max-width: 1120px; margin: 34px 0 46px; font: 700 var(--type-quote)/1.04 var(--font-display); letter-spacing: -.045em; }
.quote-block figcaption { display: grid; gap: 3px; color: var(--text-muted); font-size: 13px; }
.quote-block figcaption strong { color: currentColor; }
.faq-block__layout { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(480px,1.28fr); gap: var(--grid-gap-feature); }
.faq-block__heading { position: sticky; top: 120px; align-self: start; }
.faq-block__heading .section-header__support { max-width: 470px; }
.faq-list { display: grid; gap: 12px; align-content: start; }
.faq-item { border: 1px solid var(--border-color); border-radius: var(--radius-card); background: var(--surface-card-semantic); }
.faq-item summary { display: grid; min-height: 64px; padding: 14px var(--card-inset-standard); grid-template-columns: minmax(0,1fr) 28px; align-items: center; gap: 20px; cursor: pointer; font-weight: 600; line-height: 1.35; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary:focus { outline: 0; }
.faq-item summary:focus-visible { outline: 2px solid var(--focus-color); outline-offset: -2px; border-radius: inherit; }
.faq-item summary i { position: relative; width: 28px; height: 28px; border: 1px solid var(--border-color); border-radius: 50%; }
.faq-item summary i::before, .faq-item summary i::after { position: absolute; top: 50%; left: 50%; width: 10px; height: 1px; content: ""; background: currentColor; transform: translate(-50%,-50%); }
.faq-item summary i::after { transform: translate(-50%,-50%) rotate(90deg); transition: transform .2s; }
.faq-item[open] summary { padding-bottom: 10px; }
.faq-item[open] summary i::after { transform: translate(-50%,-50%) rotate(0); }
.faq-item:not([open]) > :not(summary) { display: none; }
.faq-item__answer { padding: 0 calc(var(--card-inset-standard) + 48px) 22px var(--card-inset-standard); color: var(--text-secondary); }
.faq-item__answer p { margin: 0; }
.logo-collection__inner { min-width: 0; overflow: hidden; }
.logo-collection__heading h2 { max-width: 850px; margin-inline: auto; }
.ariser-block--logoCollection[data-block-variant="marquee"] .logo-collection__heading { margin-bottom: var(--space-header-to-grid); }
.logo-grid { width: 100%; max-width: 100%; min-width: 0; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(28px,4vw,58px) clamp(24px,5vw,68px); align-items: center; }
.logo-grid__item { display: grid; min-width: 0; min-height: var(--logo-cell-min); padding: 18px 12px; place-items: center; overflow: hidden; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.logo-grid__optical { display: grid; width: min(100%,190px); height: 76px; min-width: 0; place-items: center; overflow: hidden; }
.logo-grid img { display: block; width: auto; max-width: 100%; height: auto; max-height: 100%; object-fit: contain; filter: grayscale(1) contrast(1.2); }
.ariser-block--logoCollection[data-block-variant="marquee"] { overflow: hidden; }

.ariser-block--ctaBand.block-theme--accent em { color: var(--text-primary); }

.library-hero { position: relative; min-height: 760px; overflow: hidden; background: radial-gradient(circle at 73% 50%,rgba(41,214,195,.14),transparent 21%),radial-gradient(circle at 20% 63%,rgba(255,122,34,.24),transparent 23%),#050505; }
.library-hero__inner { position: relative; z-index: 2; padding-top: 235px; }
.library-hero h1 { max-width: 1120px; }
.library-hero__inner > .block-body { max-width: 760px; margin: 30px 0; color: #bbb; }
.library-hero__grid { position: absolute; inset: 0; opacity: .23; background-image: linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px); background-size: 86px 86px; mask-image: linear-gradient(90deg,transparent,#000 58%,transparent); transform: perspective(700px) rotateY(-16deg) scale(1.2); transform-origin: right center; }
.library-heading, .library-example__head { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,570px); gap: var(--grid-gap-feature); align-items: end; margin-bottom: 48px; }
.library-heading > p, .library-example__head > p:last-child { margin: 0; color: var(--muted); }
.library-index-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.library-index-grid > a { display: flex; min-height: 225px; padding: var(--card-padding); flex-direction: column; border: 1px solid var(--line); background: rgba(255,255,255,.68); transition: transform .2s,background .2s; }
.library-index-grid > a:hover { transform: translateY(-4px); background: white; }
.library-index-grid span { color: var(--orange); font-size: 11px; font-weight: 600; }
.library-index-grid h3 { margin-top: 37px; font-size: 21px; }
.library-index-grid p { margin: 10px 0; color: #666; font-size: 13px; line-height: 1.45; }
.library-index-grid .block-card-action { --block-card-action-gap: 18px; font-size: 11px; }
.library-index-group + .library-index-group { margin-top: 58px; }
.library-index-group > h3 { margin-bottom: 22px; color: #666; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.library-example__head { display: block; }
.library-example__head h2 { max-width: 900px; }
.library-section-label { padding-block: 72px 20px; }
.library-section-label p { margin: 0 0 10px; color: var(--orange); font-size: 11px; font-weight: 600; letter-spacing: .14em; }
.library-section-label h2 { max-width: 850px; }
.library-section-label span { display: block; max-width: 740px; margin-top: 20px; color: #666; line-height: 1.6; }
.type-specimen-list { border-top: 1px solid var(--line); }
.type-specimen { display: grid; grid-template-columns: minmax(180px,.35fr) minmax(0,1fr); align-items: center; gap: var(--grid-gap-wide); padding-block: 28px; border-bottom: 1px solid var(--line); text-align: left; }
.type-specimen > div { display: grid; gap: 5px; }
.type-specimen b { color: var(--orange); font-size: 11px; letter-spacing: .12em; }
.type-specimen span { font-weight: 600; }
.type-specimen small { color: var(--muted); }
.type-specimen > p { margin: 0; font-family: var(--font-display); font-weight: 700; letter-spacing: -.045em; line-height: 1; }
.type-specimen > p.type-role--display-title { font-size: var(--type-display-medium); }
.type-specimen > p.type-role--block-title { font-size: var(--type-title-medium); }
.type-specimen > p.type-role--suptitle { font: 600 var(--type-suptitle)/1.2 var(--font-sans); letter-spacing: .19em; text-transform: uppercase; }
.type-specimen > p.type-role--subtitle { font: 600 var(--type-subtitle)/1.3 var(--font-sans); letter-spacing: normal; }
.type-specimen > p.type-role--body { font: 400 var(--type-body)/1.5 var(--font-sans); letter-spacing: normal; }
.type-specimen > p.type-role--card-title { font: 600 var(--type-card-title)/1.15 var(--font-sans); letter-spacing: normal; }
.type-specimen > p.type-role--card-body { font: 400 var(--type-card-body)/1.45 var(--font-sans); letter-spacing: normal; }
.type-specimen > p.type-role--card-title-large { font: 600 var(--type-card-title-large)/1.12 var(--font-sans); letter-spacing: normal; }
.type-specimen > p.type-role--editorial-card-title { font: 700 var(--type-editorial-card-title)/1.05 var(--font-display); letter-spacing: -.025em; }
.type-specimen > p.type-role--feature-title { font: 700 var(--type-feature-title)/1.05 var(--font-display); letter-spacing: -.035em; }
.type-specimen > p.type-role--card-meta { font: 600 var(--type-card-meta)/1.2 var(--font-sans); letter-spacing: .1em; text-transform: uppercase; }
.type-specimen > p.type-role--card-action { font: 600 var(--type-card-action)/1.2 var(--font-sans); letter-spacing: normal; }
.type-specimen > p.type-role--metric { font: 700 var(--type-metric)/.9 var(--font-display); letter-spacing: -.05em; }
.type-specimen > p.type-role--metric-label { font: 600 var(--type-metric-label)/1.4 var(--font-sans); letter-spacing: normal; }
.card-system-map { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--card-grid-gap-standard); align-items: start; }
.card-system-example { display: grid; grid-template-columns: minmax(180px,.65fr) minmax(0,1fr); gap: 24px; align-items: start; padding-top: 24px; border-top: 1px solid var(--line); }
.card-system-example__head { min-width: 0; }
.card-system-example__head b { display: block; font-size: 18px; }
.card-system-example__head span { display: block; margin-top: 4px; color: var(--muted); font-size: var(--type-card-meta); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.card-system-example__head p { margin-top: 14px; color: var(--text-secondary); font-size: 14px; line-height: 1.45; }
.card-system-specimen { min-width: 0; padding: var(--card-inset-standard); border: 1px solid var(--line); background: var(--surface-white); overflow: hidden; }
.card-system-specimen.card-with-top-media { padding: 0; }
.card-system-specimen--feature { position: relative; display: flex; min-height: 320px; padding: var(--card-inset-standard); justify-content: end; flex-direction: column; color: #fff; background: #111; }
.card-system-specimen--feature::after { position: absolute; inset: 35% 0 0; content: ""; background: linear-gradient(transparent,rgba(0,0,0,.88)); }
.card-system-specimen--feature .block-card-title { position: relative; z-index: 1; color: #fff; }
.card-system-logo { display: grid; min-height: 220px; padding: var(--card-inset-standard); place-items: center; overflow: hidden; border: 1px solid var(--line); background: var(--surface-white); }
.card-system-logo img { display: block; max-width: min(100%,190px); max-height: 76px; object-fit: contain; }
.card-media-modes { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--card-grid-gap-standard); margin-top: 48px; }
.card-media-modes > div { padding: 22px 0 0; border-top: 1px solid var(--line); }
.card-media-modes b { font-size: 16px; }
.card-media-modes p { margin-top: 8px; color: var(--text-secondary); font-size: 14px; line-height: 1.45; }
.card-system-rules { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--card-grid-gap-standard); margin-top: 30px; }
.card-system-rules > div { padding: var(--card-inset-standard); border: 1px solid var(--line); border-radius: var(--radius-card-sm); background: rgba(255,255,255,.58); }
.card-system-rules b { font-size: 16px; }
.card-system-rules p { margin: 8px 0 0; color: var(--text-secondary); font-size: 14px; line-height: 1.5; }
.heading-size-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--grid-gap); }
.heading-size-grid article { display: flex; min-height: 390px; padding: var(--card-padding); flex-direction: column; border: 1px solid #303030; background: #111; text-align: left; }
.heading-size-grid article > p { margin: 0 0 30px; color: var(--orange); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.heading-size-grid article h2 { margin-top: auto; font-size: var(--type-title-medium); }
.heading-size-grid article.block-heading--small h2 { font-size: var(--type-title-small); }
.heading-size-grid article.block-heading--large h2 { font-size: var(--type-title-large); }
.heading-size-grid article span { margin-top: 28px; color: var(--text-muted-dark); font-size: 13px; line-height: 1.5; }
.variant-matrix { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--grid-gap); }
.variant-matrix article { padding: var(--card-padding); border: 1px solid var(--line); background: rgba(255,255,255,.72); text-align: left; }
.variant-matrix article > div:first-child { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; align-items: baseline; }
.variant-matrix h3 { font-size: var(--type-heading-4); }
.variant-matrix code { color: var(--orange); font-size: 12px; }
.variant-matrix article > p { margin: 16px 0 24px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.variant-matrix__rules { display: grid; gap: 10px; }
.variant-matrix__rules > div { display: grid; grid-template-columns: minmax(110px,.35fr) minmax(0,1fr); gap: 14px; padding-top: 10px; border-top: 1px solid var(--line); font-size: 12px; line-height: 1.45; }
.variant-matrix__rules b { color: var(--ink); }
.variant-matrix__rules span { color: var(--muted); }
.editorial-preview { padding: clamp(35px,7vw,90px); background: white; box-shadow: 0 28px 70px rgba(0,0,0,.08); }
.editorial-preview .editorial-prose { max-width: 820px; margin-inline: auto; }
.editorial-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--grid-gap); margin-block: 52px; }
.editorial-columns > div { padding: var(--card-padding); border: 1px solid var(--line); border-radius: var(--radius-card-sm); background: var(--surface-soft); }
.editorial-columns h3 { margin-top: 0; }
.editorial-columns p { margin-bottom: 0; }
.editorial-cover { position: relative; margin: 55px 0; overflow: hidden; border-radius: var(--radius-panel); color: white; background: var(--surface-ink); }
.editorial-cover img { display: block; width: 100%; min-height: 360px; object-fit: cover; opacity: .72; }
.editorial-cover figcaption { position: absolute; right: 24px; bottom: 20px; left: 24px; color: white; }
.editorial-pullquote { margin-block: 58px !important; color: var(--ink) !important; font: 700 var(--type-editorial-quote)/1.08 var(--font-display); letter-spacing: -.035em; text-align: center; }
.editorial-file { display: flex; align-items: center; gap: 16px; margin-block: 34px; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius-card-sm); }
.editorial-file span { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 50%; color: white; background: var(--orange); font-size: 10px; font-weight: 600; }
.editorial-file a { font-weight: 600; }
.editorial-embed { display: grid; min-height: 260px; margin-block: 42px; place-items: center; border-radius: var(--radius-card); color: white; background: radial-gradient(circle at 68% 45%,rgba(41,214,195,.3),transparent 28%),var(--surface-ink); text-align: center; }
.editorial-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 42px; }

@media (max-width: 1200px) {
  .library-index-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .card-system-map { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .library-heading { grid-template-columns: 1fr; gap: 24px; }
  .news-featured { height: auto; grid-template-columns: 1fr; }
  .news-featured > img { height: 360px; min-height: 0; }
  .ariser-block--articleListing .compact-card-carousel, .ariser-block--stats .compact-card-carousel { --compact-card-width: min(74vw,430px); }
  .faq-block__layout { grid-template-columns: 1fr; }
  .faq-block__heading { position: static; }
  .library-index-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .variant-matrix { grid-template-columns: 1fr; }
  .heading-size-grid { grid-template-columns: 1fr; }
  .split-decorative { min-height: 390px; }
}

@media (max-width: 620px) {
  .type-specimen { grid-template-columns: 1fr; gap: 18px; overflow: hidden; }
  .news-archive-hero { min-height: 620px; }
  .news-archive-hero__inner { padding-top: 190px; padding-bottom: 80px; }
  .news-archive-hero__orbit { right: -270px; bottom: -260px; }
  .news-featured { min-height: 0; border-radius: var(--radius-card-lg); }
  .news-featured > img { height: 260px; min-height: 0; }
  .news-featured > div { padding: 30px 24px; }
  .article-hero { padding-top: 88px; }
  .article-hero__copy { padding-top: 90px; padding-bottom: 46px; }
  .article-hero__image { height: 72vw; border-radius: var(--radius-card-lg); transform: translateY(44px); }
  .article-content { padding-top: calc(var(--section-space) + 44px); }
  .editorial-prose { font-size: 16px; }
  .editorial-prose h2 { margin-top: 54px; }
  .editorial-prose blockquote { margin-block: 48px; padding-left: 22px; }
  .editorial-columns { grid-template-columns: 1fr; }
  .editorial-cover img { min-height: 260px; }
  .quote-block__panel { border-radius: var(--radius-card-lg); }
  .faq-item summary { min-height: 58px; padding: 12px var(--card-inset-standard); }
  .faq-item[open] summary { padding-bottom: 8px; }
  .faq-item__answer { padding: 0 calc(var(--card-inset-standard) + 36px) 20px var(--card-inset-standard); }
  .library-hero { min-height: 690px; }
  .library-hero__inner { padding-top: 180px; }
  .library-index-grid { grid-template-columns: 1fr; }
  .card-system-example { grid-template-columns: 1fr; }
  .card-media-modes, .card-system-rules { grid-template-columns: 1fr; }
  .logo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .library-heading { display: block; }
  .library-heading > p { margin-top: 22px; }
  .library-section-label { padding-top: 56px; }
  .split-decorative { min-height: 290px; }
  .block-media__play { right: 14px; bottom: 14px; }
}

/* Block-library-only QA labels. These are injected client-side from existing data-block-* metadata. */
.library-debug-toolbar { position: fixed; z-index: 1000; right: 18px; bottom: 18px; display: grid; max-width: min(360px,calc(100vw - 36px)); gap: 5px; padding: 10px 12px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; color: #fff; background: rgba(10,10,10,.9); box-shadow: 0 10px 35px rgba(0,0,0,.24); backdrop-filter: blur(14px); font: 500 11px/1.35 var(--font-sans); }
.library-debug-toolbar button { padding: 0; border: 0; color: inherit; background: transparent; font: inherit; text-align: left; cursor: pointer; }
.library-debug-toolbar button strong { color: var(--orange); }
.library-debug-toolbar > span { color: #aaa; font-size: 9px; }
.block-library-page .library-debug-target { position: relative; }
.block-library-page .library-debug-badge { position: absolute; z-index: 90; top: 12px; left: 12px; display: none; max-width: min(390px,calc(100% - 24px)); padding: 7px 9px 6px; border: 1px solid rgba(255,255,255,.22); border-radius: 7px; color: #fff; background: rgba(8,8,8,.86); box-shadow: 0 5px 18px rgba(0,0,0,.18); backdrop-filter: blur(12px); font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace; text-align: left; cursor: copy; }
.block-library-page.library-debug-enabled .library-debug-badge { display: grid; gap: 2px; }
.library-debug-badge__identity { overflow: hidden; font-size: 10px; font-weight: 700; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.library-debug-badge__meta { overflow: hidden; color: #bbb; font-size: 8px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.library-debug-badge[data-copied="true"]::after { margin-top: 2px; color: var(--orange); content: "kopierad ✓"; font-size: 8px; font-weight: 700; }
.block-library-page.library-debug-enabled::before { position: fixed; z-index: 80; top: 0; bottom: 0; left: 50%; width: min(var(--layout-max), calc(100vw - (var(--layout-gutter) * 2))); border-inline: 1px dashed rgba(0,170,255,.55); content: ""; pointer-events: none; transform: translateX(-50%); }
@media (max-width: 720px) {
  .library-debug-toolbar { right: 10px; bottom: 10px; max-width: calc(100vw - 20px); }
  .block-library-page .library-debug-badge { top: 8px; left: 8px; max-width: calc(100% - 16px); }
}

/* Portable site blueprint / content QA layer */
.blueprint-editorial .section-header__support{max-width:760px}
.blueprint-editorial__body{display:grid;gap:16px}
.blueprint-editorial__body p{margin:0}
.blueprint-editorial__body ul{margin:4px 0 0;padding-left:1.2em;display:grid;gap:10px}
.blueprint-details .card-grid{margin-top:32px}
.blueprint-details .block-card{align-content:start}
.blueprint-details .block-card .block-body{margin:5px 0 0}
.blueprint-preview-page{background:#f4f3ee}
.blueprint-preview-hero h1{font-size:clamp(54px,8vw,118px);margin:10px 0 18px}
.blueprint-preview-list{display:grid;gap:20px}
.blueprint-preview-item{padding:32px;background:#fff;border:1px solid rgba(0,0,0,.12)}
.blueprint-preview-item__head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}
.blueprint-preview-item__head h2{margin:4px 0 8px}
.blueprint-preview-item__head code{font-size:13px;opacity:.66}
.blueprint-preview-item>p{max-width:850px;margin:20px 0}
.blueprint-preview-blocks{display:flex;flex-wrap:wrap;gap:8px}
.blueprint-preview-blocks span{font-size:12px;padding:8px 10px;border:1px solid rgba(0,0,0,.14);border-radius:999px}
.blueprint-preview-blocks span[data-source-status="locked"]{font-weight:700}
.blueprint-preview-blocks span[data-source-status="needs-verification"]{outline:2px solid currentColor}
@media(max-width:720px){.blueprint-preview-item{padding:22px}.blueprint-preview-item__head{display:grid}.blueprint-preview-item__head .button{justify-self:start}}


/* Source-backed inner-page content: readable split copy and richer case listings. */
.split-content-bullets { display: grid; gap: 9px; margin: 18px 0 0; padding: 0 0 0 1.15em; color: var(--text-secondary); font-size: var(--type-body); line-height: 1.5; }
.split-content-bullets li::marker { color: var(--orange); }

/* Sitemap navigation hierarchy: desktop dropdowns + mobile nested groups */
.desktop-nav-group { position: relative; display: flex; align-items: center; }
.desktop-nav-group__control { display: inline-flex; align-items: center; gap: 1px; }
.desktop-nav-trigger { display: inline-flex; align-items: center; }
.desktop-nav-toggle { display: grid; width: 24px; height: 30px; padding: 0; place-items: center; border: 0; border-radius: 999px; color: currentColor; background: transparent; cursor: pointer; }
.desktop-nav-toggle:hover, .desktop-nav-toggle:focus-visible { color: var(--orange); outline: 0; }
.desktop-nav-toggle:focus-visible { box-shadow: 0 0 0 2px color-mix(in srgb,var(--orange) 72%,transparent); }
.desktop-nav-chevron { display: block; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transform-origin: 60% 60%; transition: transform .18s ease; }
.desktop-nav-group:hover .desktop-nav-chevron,
.desktop-nav-group[data-open="true"] .desktop-nav-chevron { transform: translateY(2px) rotate(225deg); }
.desktop-nav-menu { position: absolute; z-index: 120; top: calc(100% + 10px); left: 50%; width: 320px; padding: 10px; visibility: hidden; opacity: 0; transform: translate(-50%,8px); border: 1px solid rgba(255,255,255,.12); border-radius: 20px; color: #f7f7f4; background: rgba(9,9,9,.97); box-shadow: 0 24px 70px rgba(0,0,0,.28); backdrop-filter: blur(18px); transition: opacity .18s ease, transform .18s ease, visibility .18s ease; }
.desktop-nav-group:hover > .desktop-nav-menu,
.desktop-nav-group[data-open="true"] > .desktop-nav-menu { visibility: visible; opacity: 1; transform: translate(-50%,0); }
.desktop-nav-menu__inner { width: auto; display: block; padding: 10px; }
.desktop-nav-menu__columns { display: grid; gap: 18px; }
.desktop-nav-menu__column { display: grid; gap: 8px; }
.desktop-nav-menu__heading { padding: 0 !important; color: #fff; font-size: 14px; font-weight: 600; line-height: 1.25; }
.desktop-nav-menu__children { display: grid; gap: 7px; }
.desktop-nav-menu__children a { padding: 0 !important; color: #aaa; font-size: 12px; line-height: 1.35; }
.desktop-nav-menu__heading:hover,
.desktop-nav-menu__children a:hover { color: var(--orange); }
.desktop-nav-group--mega .desktop-nav-menu { position: fixed; top: 112px; right: 0; left: 0; width: auto; padding: 0; transform: translateY(8px); border-width: 1px 0 0; border-radius: 0 0 28px 28px; background: rgba(9,9,9,.985); }
.header-scrolled .desktop-nav-group--mega .desktop-nav-menu { top: 76px; }
.desktop-nav-group--mega:hover > .desktop-nav-menu,
.desktop-nav-group--mega[data-open="true"] > .desktop-nav-menu { transform: translateY(0); }
.desktop-nav-group--mega .desktop-nav-menu__inner { width: min(var(--layout-max),calc(100vw - (var(--layout-gutter) * 2))); padding: 34px 0 40px; }
.desktop-nav-group--mega .desktop-nav-menu__columns { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 26px; }
.desktop-nav-group--mega .desktop-nav-menu__column { align-content: start; }

@media (max-width: 1100px) {
  .mobile-primary-nav { border-top: 1px solid #2b2b2b; }
  .mobile-primary-nav > .mobile-primary-nav__single:not(:last-child),
  .mobile-primary-nav > .mobile-nav-group:not(:last-child) .mobile-nav-group__row { border-bottom: 1px solid #2b2b2b; }
  .mobile-primary-nav > .mobile-nav-group.is-expanded:not(:last-child) .mobile-nav-group__row { border-bottom: 0; }
  .mobile-primary-nav > .mobile-primary-nav__single,
  .mobile-nav-group__row > a { display: grid; min-height: 62px; align-items: center; padding: 0; border: 0; font-family: var(--font-sans); font-size: clamp(20px,4.8vw,24px); font-weight: 600; letter-spacing: 0; line-height: 1.15; }
  .mobile-primary-nav > .mobile-primary-nav__single { grid-template-columns: minmax(0,1fr) auto; gap: 24px; }
  .mobile-primary-nav > .mobile-primary-nav__single b { color: var(--orange); font: 500 20px/1 var(--font-sans); }
  .mobile-nav-group__row { display: grid; grid-template-columns: minmax(0,1fr) 42px; align-items: center; gap: 12px; }
  .mobile-nav-group__row > button { display: grid; width: 38px; height: 38px; padding: 0; place-items: center; border: 1px solid #343434; border-radius: 50%; color: #fff; background: #111; cursor: pointer; }
  .mobile-nav-group__row > button:focus-visible { outline: 0; border-color: var(--orange); box-shadow: 0 0 0 2px #080808, 0 0 0 4px var(--orange); }
  .mobile-nav-group__row > button span { display: block; font-size: 22px; line-height: 1; transition: transform .2s ease, color .2s ease; }
  .mobile-nav-group.is-expanded .mobile-nav-group__row > button span { color: var(--orange); transform: rotate(45deg); }
  .mobile-nav-group__children { display: grid; gap: 0; padding: 8px 0 28px 18px; }
  .mobile-primary-nav > .mobile-nav-group.is-expanded:not(:last-child) .mobile-nav-group__children { border-bottom: 1px solid #2b2b2b; }
  .mobile-nav-subgroup { display: grid; gap: 8px; padding-block: 20px; }
  .mobile-nav-subgroup:first-child { padding-top: 4px; }
  .mobile-nav-subgroup:last-child { padding-bottom: 0; }
  .mobile-nav-subgroup + .mobile-nav-subgroup { border-top: 1px solid #222; }
  .mobile-primary-nav .mobile-nav-subgroup__heading { display: block; min-height: 0; padding: 0; border: 0; color: #fff; font-family: var(--font-sans); font-size: 15px; font-weight: 700; letter-spacing: 0; line-height: 1.3; }
  .mobile-primary-nav .mobile-nav-subgroup__heading--single { padding-block: 4px; }
  .mobile-nav-subgroup__links { display: grid; gap: 8px; padding-left: 14px; }
  .mobile-primary-nav .mobile-nav-subgroup__links a { display: block; min-height: 0; padding: 0; border: 0; color: #929292; font-family: var(--font-sans); font-size: 14px; font-weight: 500; letter-spacing: 0; line-height: 1.35; }
  .mobile-primary-nav .mobile-nav-subgroup__heading:hover,
  .mobile-primary-nav .mobile-nav-subgroup__heading:focus-visible,
  .mobile-primary-nav .mobile-nav-subgroup__links a:hover,
  .mobile-primary-nav .mobile-nav-subgroup__links a:focus-visible { padding-left: 0; color: var(--orange); }
}

/* Utility information deliberately avoids the global marketing-card shell. */
.blueprint-details__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 38px; margin-top: 40px; border-top: 1px solid var(--border-color); }
.blueprint-detail-item { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; min-width: 0; gap: 28px; padding: 28px 0 30px; border-bottom: 1px solid var(--border-color); }
.blueprint-detail-item__copy { display: grid; gap: 4px; }
.blueprint-detail-item .block-suptitle { margin: 0 0 7px; color: var(--text-muted); font-size: 10px; }
.blueprint-detail-item h3 { font-family: var(--font-sans); font-size: clamp(20px,2vw,28px); line-height: 1.08; }
.blueprint-detail-item p { margin: 2px 0 0; color: var(--text-secondary); font-size: 14px; line-height: 1.45; }
.blueprint-detail-item > b { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid var(--border-color); border-radius: 50%; color: var(--orange); font-size: 18px; }
.blueprint-detail-item--link:hover h3 { color: var(--orange); }
.blueprint-detail-item--link:hover > b { border-color: var(--orange); }

@media (max-width: 720px) {
  .blueprint-details__grid { grid-template-columns: 1fr; margin-top: 30px; }
  .blueprint-detail-item { padding-block: 22px; }
}

@media (max-width: 900px) {
  .case-filter-pills { gap: 10px 12px; margin-bottom: 38px; }
  .case-filter-pills button { padding: 9px 16px; font-size: 14px; }
}

/* --------------------------------------------------------------------------
   WordPress integration — adapter only; visual rules stay sourced from V8.25.
   -------------------------------------------------------------------------- */
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block-start: 0; }
.site-main { min-height: 55vh; }
.site-main > .wp-block-post-content { margin-block-start: 0; }
.wp-block-post-content > :where(*) { margin-block-start: 0; }
img, svg, video { max-width: 100%; }
img { height: auto; }
[hidden] { display: none !important; }
body.ariser-overlay-open { overflow: hidden; }

/* Mobile header state is controlled by assets/js/site.js. */
.mobile-header-system[data-mode="closed"] .mobile-header-overlay { display: none; }
.mobile-header-system[data-mode="menu"] .mobile-header-overlay,
.mobile-header-system[data-mode="search"] .mobile-header-overlay { display: block; }
.mobile-header-system[data-mode="menu"] .mobile-search-screen,
.mobile-header-system[data-mode="search"] .mobile-menu-screen { display: none; }
.mobile-header-system[data-mode="search"] .mobile-search-screen { display: block; }
.mobile-header-system[data-mode="menu"] .mobile-menu-screen { display: flex; }
.mobile-header-system[data-mode="search"] .mobile-search-toggle { color: var(--orange); border-color: var(--orange); }
.mobile-header-system[data-mode]:not([data-mode="closed"]) .mobile-menu-toggle > span:first-child { transform: translateY(3.75px) rotate(45deg); }
.mobile-header-system[data-mode]:not([data-mode="closed"]) .mobile-menu-toggle > span:last-child { transform: translateY(-3.75px) rotate(-45deg); }

/* Native dialog reset keeps the approved calculator overlay geometry. */
dialog.estimate-overlay { width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; padding: 0; border: 0; color: inherit; }
dialog.estimate-overlay:not([open]) { display: none; }
dialog.estimate-overlay::backdrop { background: transparent; }

/* ACF/editor and external form transport states. */
.ariser-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important; }
.form-status { min-height: 1.5em; margin: 14px 0 0; font-size: 14px; }
.form-status[data-state="error"] { color: #b42318; }
.block-theme--ink .form-status[data-state="error"] { color: #ff9b82; }
.form-status[data-state="success"] { color: #167a3d; }
.block-empty-state { padding: 32px; border: 1px dashed var(--border-color); border-radius: var(--radius-card-sm); color: var(--text-muted); background: color-mix(in srgb,var(--surface-card-semantic) 72%,transparent); }
.acf-block-preview .layout-shell { max-width: calc(100vw - 64px); }

/* Independent Gutenberg spacing controls are an adapter extension to V8.25.
 * Hero top spacing is reserved for fixed-header compensation and must never be
 * zeroed by the generic block spacing control. */
.ariser-block:not(.ariser-block--hero).block-spacing-top--none{padding-top:0!important}.block-spacing-bottom--none{padding-bottom:0!important}
.ariser-block:not(.ariser-block--hero).block-spacing-top--compact{padding-top:var(--section-space-compact)!important}.block-spacing-bottom--compact{padding-bottom:var(--section-space-compact)!important}
.ariser-block:not(.ariser-block--hero).block-spacing-top--normal{padding-top:var(--section-space)!important}.block-spacing-bottom--normal{padding-bottom:var(--section-space)!important}
.ariser-block:not(.ariser-block--hero).block-spacing-top--roomy{padding-top:var(--section-space-roomy)!important}.block-spacing-bottom--roomy{padding-bottom:var(--section-space-roomy)!important}
.ariser-block--hero:is(.sketch-hero,.sub-hero,.article-hero){padding-top:var(--site-header-offset)!important}

/* Generic native-WP fallback screens. Canonical archives have dedicated block templates. */
.archive-shell { padding-block: 170px var(--section-space); }
.archive-shell > h1, .archive-shell > .wp-block-query-title { margin-bottom: 54px; }
.wp-query-card { height: 100%; padding: var(--card-inset-wide); border: 1px solid var(--line); border-radius: var(--radius-card-sm); background: #fff; }
.wp-query-card .wp-block-post-featured-image { margin: calc(var(--card-inset-wide) * -1) calc(var(--card-inset-wide) * -1) 28px; overflow: hidden; border-radius: var(--radius-card-sm) var(--radius-card-sm) 0 0; }
.wp-query-card .wp-block-post-date { color: var(--orange); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.wp-query-card .wp-block-post-title { margin-top: 12px; font-size: var(--type-card-title); }
.wp-query-card .wp-block-post-excerpt { color: var(--muted); font-size: 15px; }
.article-template-head { padding-top: 180px; padding-bottom: 70px; }
.article-template-head .wp-block-post-featured-image { margin-top: 45px; border-radius: var(--radius-panel); overflow: hidden; }
.editorial-single > .wp-block-post-content { padding-bottom: var(--section-space); }
.error-page { min-height: 76vh; padding-top: 190px; padding-bottom: var(--section-space); color: #fff; background: #080808; }
.error-page p { max-width: 650px; }
:where(.search,.error404,.single-post) .site-header { background: #080808; }
:where(.search,.error404,.single-post) .site-header::before { display: none; }
@media (max-width: 900px) { .archive-shell { padding-top: 120px; } }

/* External form providers inherit the same form geometry without requiring provider-specific markup. */
.external-form-slot form { display: grid; gap: 24px; }
.external-form-slot :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), textarea, select) { width: 100%; min-height: var(--form-control-height); padding: 16px 22px; border: 0; border-radius: var(--radius-pill); outline: 0; color: #222; background: linear-gradient(90deg,#f2f2f2,#e6e6e6); font: 400 16px var(--font-sans); }
.external-form-slot textarea { min-height: 196px; border-radius: var(--radius-card); resize: vertical; }
.external-form-slot :is(input,textarea,select):focus { box-shadow: 0 0 0 2px var(--form-focus-color); }
.external-form-slot :is(input[type="submit"],button[type="submit"]) { display: inline-flex; min-height: var(--button-height); padding: 0 28px; align-items: center; justify-content: center; border: 0; border-radius: var(--radius-pill); color: #111; background: var(--orange); font: 600 15px/1 var(--font-sans); cursor: pointer; }


/* WordPress dynamic post-template adapters: preserve the TS article DOM contract around core blocks. */
.article-hero .news-meta .wp-block-post-terms,
.article-hero .news-meta .wp-block-post-date { margin: 0; }
.article-hero .news-meta .wp-block-post-terms a { color: var(--orange); text-decoration: none; }
.article-hero .news-meta .wp-block-post-terms__separator { color: var(--text-muted); }
.article-hero__copy .wp-block-post-title { margin-bottom: 0; }
.article-hero__copy .wp-block-post-excerpt { margin-bottom: 0; }
.article-hero__copy .wp-block-post-excerpt__excerpt { margin: 0; }
.article-hero__image .wp-block-post-featured-image { width: 100%; height: 100%; margin: 0; }
.article-hero__image .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.article-content .wp-block-post-content.editorial-prose { margin: 0; padding: 0; }
.case-single > .wp-block-post-content { margin: 0; padding: 0; }
