
:root {
--red-500: #d12d34;  
--red-400: #e04a50;  
--red-600: #cf1a21;  
--red-900: #650208;  
--ink-900: #070605;  
--ink-800: #141211;  
--ink-700: #262320;  
--ink-600: #332f2b;  
--ink-500: #5e5853;
--ink-400: #9b948c;  
--paper-000: #ffffff;
--paper-050: #faf8f5; 
--paper-100: #f4f1ec;
--paper-200: #d8d2c9; 
--cream-100: #f0e7dd; 
--blue-900: #002a78;
--blue-200: #bbd3ff;
--rose-200: #ffa4a4;
--indigo-500: #5762ff;
--slate-800: #232f3b;
--gold-500: #c69f47;    
--gold-200: #f2e1a4;
--gold-800: #6b5420;    
--indigo-600: #3d47d9;  
--indigo-200: #c9ccff;
--indigo-800: #1e2580;
--green-400: #60e095;   
--green-100: #d7f7e4;
--green-800: #1f6b45;
--gradient-heading-light: linear-gradient(
104.6deg, var(--blue-900) 3.35%, var(--red-500) 50.68%, var(--ink-700) 100.93%);
--gradient-heading-dark: linear-gradient(
96.19deg, var(--blue-200) 3.35%, var(--paper-000) 50.68%, var(--rose-200) 100.93%);
--bg-page: var(--paper-050);
--bg-raised: var(--paper-050);
--bg-inset: var(--paper-000);
--fg-default: var(--ink-900);
--fg-small: var(--ink-600);   
--fg-body: var(--ink-600);
--fg-muted: var(--ink-500);
--fg-accent: var(--red-500);
--border-hairline: var(--paper-200);
--gradient-heading: var(--gradient-heading-light);
--btn-solid-bg: var(--ink-800);
--btn-solid-fg: var(--paper-000);
--btn-ghost-fg: var(--ink-900);
--btn-ghost-border: var(--ink-900);
--focus-ring: var(--red-500);
--shadow-brand: 4px 4px 0 0 var(--red-500);
--shadow-deep: 4px 4px 0 0 var(--red-900);
--shadow-ink: 4px 4px 0 0 var(--ink-900);
--shadow-offset: 4px;
--radius-none: 0px;
--radius-pill: 999px; 
--border-width: 1px;
--font-display: "Glancyr", "Outfit", "Century Gothic", system-ui, sans-serif;
--font-text: "Satoshi", "Inter", system-ui, -apple-system, sans-serif;
--text-display: clamp(2.75rem, 1.2rem + 5.2vw, 4.7rem);   
--text-h2:      clamp(2.125rem, 1.15rem + 2.9vw, 3.375rem);
--text-h3:      clamp(1.625rem, 1.1rem + 1.1vw, 2rem);     
--text-h4:      1.5rem;                                    
--text-caption: 1.4375rem;                                 
--text-stat:    clamp(2rem, 1.2rem + 2vw, 3rem);           
--text-lead:    clamp(1rem, 0.9rem + 0.3vw, 1.125rem);      
--text-body:    1rem;                                      
--text-ui:      1.125rem;                                  
--text-sm:      0.875rem;                                  
--text-label:   0.75rem;                                   
--text-micro:   0.6875rem;                                 
--leading-display: 1.01;
--leading-tight: 1.13;
--leading-snug: 1.2;
--leading-normal: 1.32;
--leading-relaxed: 1.43;
--leading-flat: 0.874;  
--tracking-display: -0.01em;
--tracking-title: -0.05em;  
--tracking-body: -0.01em;
--tracking-label: 0.14em;   
--weight-light: 300;
--weight-regular: 400;
--weight-medium: 500;
--weight-bold: 700;
--space-1: 0.25rem;  
--space-2: 0.5rem;   
--space-3: 0.75rem;  
--space-4: 1rem;     
--space-5: 1.25rem;  
--space-6: 1.5rem;   
--space-8: 2rem;     
--space-10: 2.5rem;  
--space-11: 2.8125rem;
--space-14: 3.375rem;
--space-16: 4rem;    
--space-20: 5rem;    
--space-24: 6rem;    
--space-30: 7.5rem;  
--section-padding-block: clamp(4rem, 2rem + 6vw, 7.5rem);
--stack-gap: var(--space-8);   
--block-gap: var(--space-11);  
--container: 1200px;
--gutter: clamp(1.25rem, 0.4rem + 3.6vw, 7.5rem);
--nav-height: 65px;
--ease-out: cubic-bezier(0.22, 0.61, 0.36, 1);
--ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
--dur-fast: 160ms;
--dur-base: 320ms;
--dur-slow: 640ms;
--z-base: 0;
--z-decor: 1;
--z-content: 2;
--z-nav: 50;
}
.page-audit     { --page-accent: var(--ink-900);    --page-accent-deep: var(--ink-700); }
.page-leads     { --page-accent: var(--blue-900);   --page-accent-deep: var(--ink-900); }
.page-local     { --page-accent: var(--gold-500);   --page-accent-deep: var(--gold-800); }
.page-web       { --page-accent: var(--indigo-600); --page-accent-deep: var(--indigo-800); }
.page-whatsapp  { --page-accent: var(--green-400);  --page-accent-deep: var(--green-800); }
.on-dark {
--bg-page: var(--ink-900);
--bg-raised: var(--ink-900);
--bg-inset: var(--ink-800);
--fg-default: var(--cream-100);
--fg-small: var(--ink-400);
--fg-body: var(--ink-400);
--fg-muted: var(--ink-400);
--border-hairline: #262a2e;
--fg-accent: var(--red-400);   
--gradient-heading: var(--gradient-heading-dark);
--btn-solid-bg: var(--paper-000);
--btn-solid-fg: var(--ink-900);
--btn-ghost-fg: var(--paper-000);
--btn-ghost-border: var(--paper-000);
--focus-ring: var(--rose-200);
color: var(--fg-body);
background-color: var(--bg-page);
}
.on-brand {
--bg-page: var(--red-500);
--bg-raised: var(--red-500);
--bg-inset: var(--ink-800);
--fg-default: var(--cream-100);
--fg-small: var(--paper-000);  
--fg-body: var(--paper-000);   
--fg-muted: rgba(240, 231, 221, 0.78);
--fg-accent: var(--paper-000);
--border-hairline: rgba(255, 255, 255, 0.35);
--btn-solid-bg: var(--ink-800);
--btn-solid-fg: var(--paper-000);
--btn-ghost-fg: var(--paper-000);
--btn-ghost-border: var(--paper-000);
--focus-ring: var(--paper-000);
color: var(--fg-body);
background-color: var(--bg-page);
}
@font-face {
font-family: "Glancyr"; font-style: normal; font-weight: 300; font-display: swap;
src: local("Glancyr Light"), url("../fonts/Glancyr-Light.otf") format("opentype");
}
@font-face {
font-family: "Glancyr"; font-style: normal; font-weight: 400; font-display: swap;
src: local("Glancyr Regular"), url("../fonts/Glancyr-Regular.otf") format("opentype");
}
@font-face {
font-family: "Glancyr"; font-style: normal; font-weight: 500; font-display: swap;
src: local("Glancyr Medium"), url("../fonts/Glancyr-Medium.otf") format("opentype");
}
@font-face {
font-family: "Satoshi"; font-style: normal; font-weight: 300; font-display: swap;
src: local("Satoshi Light"), url("../fonts/Satoshi-Light.otf") format("opentype");
}
@font-face {
font-family: "Satoshi"; font-style: normal; font-weight: 400; font-display: swap;
src: local("Satoshi Regular"), url("../fonts/Satoshi-Regular.otf") format("opentype");
}
@font-face {
font-family: "Satoshi"; font-style: normal; font-weight: 500; font-display: swap;
src: local("Satoshi Medium"), url("../fonts/Satoshi-Medium.otf") format("opentype");
}
@font-face {
font-family: "Satoshi"; font-style: normal; font-weight: 700; font-display: swap;
src: local("Satoshi Bold"), url("../fonts/Satoshi-Bold.otf") format("opentype");
}
*, *::before, *::after { box-sizing: border-box; }
html {
-webkit-text-size-adjust: 100%;
scroll-behavior: smooth;
scroll-padding-top: calc(var(--nav-height) + var(--space-6));
}
body {
margin: 0;
background-color: var(--bg-page);
color: var(--fg-body);
font-family: var(--font-text);
font-size: var(--text-body);
font-weight: var(--weight-regular);
line-height: var(--leading-normal);
letter-spacing: var(--tracking-body);
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
overflow-x: hidden;
}
h1, h2, h3, h4, p, figure, blockquote { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
img, svg { display: block; max-width: 100%; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
a, button, summary, label, input, select, textarea, [role="button"] {
touch-action: manipulation;
}
input { font: inherit; }
a {
color: inherit;
text-decoration: none;
transition: color var(--dur-fast) var(--ease-out);
}
:focus-visible {
outline: 2px solid var(--focus-ring);
outline-offset: 3px;
}
::selection {
background: var(--red-500);
color: var(--paper-000);
}
.on-brand::selection, .on-brand ::selection {
background: var(--ink-900);
color: var(--paper-000);
}
.on-dark::selection, .on-dark ::selection {
background: var(--red-400);
color: var(--ink-900);
}
.display {
font-family: var(--font-display);
font-weight: var(--weight-regular);
font-size: var(--text-display);
line-height: var(--leading-display);
letter-spacing: var(--tracking-display);
color: var(--fg-default);
text-wrap: balance;
}
.heading {
font-family: var(--font-display);
font-weight: var(--weight-regular);
font-size: var(--text-h2);
line-height: var(--leading-display);
letter-spacing: var(--tracking-display);
color: var(--fg-default);
text-wrap: balance;
}
.heading--gradient {
background-image: var(--gradient-heading);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
}
.heading--gradient,
.reason__n,
.m-h2,
.m-reason__n {
padding-block: 0.28em;
margin-block: -0.28em;
}
.title {
font-family: var(--font-text);
font-weight: var(--weight-bold);
font-size: var(--text-h3);
line-height: var(--leading-tight);
letter-spacing: var(--tracking-title);
color: var(--fg-default);
text-wrap: balance;
}
.lead {
font-family: var(--font-text);
font-weight: var(--weight-medium);
font-size: var(--text-lead);
line-height: var(--leading-normal);
color: var(--fg-body);
text-wrap: pretty;
}
.body {
font-weight: var(--weight-light);
font-size: var(--text-body);
line-height: var(--leading-relaxed);
letter-spacing: var(--tracking-body);  
color: var(--fg-body);
text-wrap: pretty;
}
.micro {
font-size: var(--text-sm);
line-height: var(--leading-relaxed);
color: var(--fg-small);
}
.eyebrow {
display: inline-flex;
align-items: center;
gap: var(--space-3);
font-family: var(--font-text);
font-weight: var(--weight-bold);
font-size: var(--text-label);
line-height: 1;
letter-spacing: var(--tracking-label);
text-transform: uppercase;
color: var(--fg-accent);
}
.eyebrow::before {
content: "";
inline-size: var(--space-6);
block-size: 2px;
background: currentColor;
}
.eyebrow--bare::before { display: none; }
.index-label {
font-family: ui-monospace, "SF Mono", Menlo, monospace;
font-size: var(--text-micro);
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--fg-accent);
}
.section {
position: relative;
padding-block: var(--section-padding-block);
background-color: var(--bg-page);
}
.section:not(.on-dark):not(.on-brand) + .section:not(.on-dark):not(.on-brand) {
padding-block-start: calc(var(--section-padding-block) * 0.45);
}
.container {
inline-size: min(var(--container), 100% - (2 * var(--gutter)));
margin-inline: auto;
}
.stack { display: flex; flex-direction: column; gap: var(--stack-gap); }
.stack--tight { gap: var(--space-4); }
.stack--loose { gap: var(--block-gap); }
.section-head { max-inline-size: 800px; }
.section-head .lead { max-inline-size: 66ch; }
.section-head--center { max-inline-size: 995px; margin-inline: auto; text-align: center; }
.section-head--center .lead { max-inline-size: 72ch; margin-inline: auto; }
.section-head--center .eyebrow { justify-content: center; }
.measure { max-inline-size: 62ch; }
[data-reveal] {
opacity: 0;
transform: translateY(18px);
transition:
opacity var(--dur-slow) var(--ease-out),
transform var(--dur-slow) var(--ease-out);
transition-delay: var(--reveal-delay, 0ms);
}
[data-reveal].is-revealed { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
*, *::before, *::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
[data-reveal] { opacity: 1; transform: none; }
}
.sr-only {
position: absolute;
inline-size: 1px; block-size: 1px;
padding: 0; margin: -1px;
overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}
.skip-link {
position: absolute;
inset-inline-start: var(--space-4);
inset-block-start: -100%;
z-index: 100;
padding: var(--space-3) var(--space-5);
background: var(--ink-900);
color: var(--paper-000);
font-size: var(--text-sm);
}
.skip-link:focus-visible { inset-block-start: var(--space-4); }
.btn {
--btn-block: 56px;
display: inline-flex;
align-items: center;
justify-content: center;
gap: var(--space-2);
min-block-size: var(--btn-block);
min-inline-size: 209px;
padding-inline: var(--space-6);
border: var(--border-width) solid transparent;
border-radius: var(--radius-none);
font-family: var(--font-display);
font-weight: var(--weight-medium);
font-size: var(--text-ui);
line-height: var(--leading-flat);
letter-spacing: -0.01em;
text-align: center;
white-space: nowrap;
transition:
background-color var(--dur-fast) var(--ease-out),
color var(--dur-fast) var(--ease-out),
box-shadow var(--dur-fast) var(--ease-out),
transform var(--dur-fast) var(--ease-out);
}
.btn--solid {
background-color: var(--btn-solid-bg);
color: var(--btn-solid-fg);
}
.btn--solid:hover { box-shadow: var(--shadow-brand); transform: translate(-2px, -2px); }
.btn--solid:active { box-shadow: none; transform: translate(0, 0); }
.btn--ghost {
border-color: var(--btn-ghost-border);
color: var(--btn-ghost-fg);
}
.btn--ghost:hover { background-color: var(--btn-ghost-border); color: var(--bg-page); }
.btn--accent {
background-color: var(--red-500);
color: var(--paper-000);
}
.btn--accent:hover { box-shadow: var(--shadow-deep); transform: translate(-2px, -2px); }
.btn--accent:active { box-shadow: none; transform: translate(0, 0); }
.btn--sm { --btn-block: 44px; min-inline-size: 0; font-size: var(--text-sm); }
.field {
position: relative;
display: flex;
align-items: center;
inline-size: min(617px, 100%);
block-size: 72px;
padding: 7px;
background-color: rgba(255, 255, 255, 0.9);
border: var(--border-width) solid var(--paper-000);
box-shadow: var(--shadow-deep);
transition: box-shadow var(--dur-base) var(--ease-out);
}
.field:focus-within { box-shadow: 6px 6px 0 0 var(--red-900); }
.field__input {
flex: 1 1 auto;
min-inline-size: 0;
block-size: 100%;
padding-inline: var(--space-4);
border: 0;
background: transparent;
font-family: var(--font-display);
font-weight: var(--weight-light);
font-size: var(--text-ui);
letter-spacing: -0.01em;
color: var(--ink-900);
}
.field__input::placeholder { color: rgba(0, 0, 0, 0.4); }
.field__input:focus { outline: none; }
.field__submit { flex: 0 0 auto; }
.trust {
display: flex;
flex-wrap: wrap;
gap: var(--space-2) var(--space-11);
}
.trust__item {
display: inline-flex;
align-items: center;
gap: var(--space-2);
font-size: var(--text-sm);
line-height: var(--leading-relaxed);
color: var(--fg-small);
}
.trust__item img { inline-size: 20px; block-size: 20px; flex: 0 0 auto; }
.cluster {
display: grid;
grid-template-columns: repeat(3, 1fr);
border: var(--border-width) solid var(--border-hairline);
box-shadow: var(--shadow-brand);
background-color: var(--bg-raised);
}
.cluster__card {
display: flex;
flex-direction: column;
gap: var(--space-5);
padding: var(--space-8);
border-inline-end: var(--border-width) solid var(--border-hairline);
transition: background-color var(--dur-base) var(--ease-out);
}
.cluster__card:last-child { border-inline-end: 0; }
.cluster__card:hover { background-color: var(--paper-100); }
.cluster__media {
block-size: 160px;
display: flex;
align-items: flex-end;
justify-content: flex-start;
overflow: hidden;
}
.cluster__media img {
block-size: 100%;
inline-size: auto;
max-inline-size: 100%;
object-fit: contain;
object-position: left bottom;
transition: transform var(--dur-base) var(--ease-out);
}
.cluster__card:hover .cluster__media img { transform: translateY(-4px); }
.cluster__body { display: flex; flex-direction: column; gap: var(--space-4); }
.progress { display: flex; flex-direction: column; gap: var(--space-2); inline-size: 223px; }
.progress__track { display: flex; align-items: center; gap: var(--space-1); }
.progress__seg {
block-size: 8px;
flex: 1 1 0;
min-inline-size: 0;
background-color: var(--border-hairline);
transition: background-color var(--dur-base) var(--ease-out),
opacity var(--dur-base) var(--ease-out);
}
.progress__seg.is-done   { background-color: var(--fg-accent); opacity: 0.4; }
.progress__seg.is-active { background-color: var(--fg-accent); opacity: 1; }
.progress__label {
font-weight: var(--weight-bold);
font-size: var(--text-body);
line-height: 1.28;
color: var(--fg-default);
}
.stepview { display: flex; flex-direction: column; gap: var(--space-5); align-items: center; inline-size: 100%; }
.stepview__stage {
position: relative;
inline-size: 100%;
aspect-ratio: 541 / 403;
overflow: hidden;
}
.stepview__frame {
position: absolute;
inset: 0;
display: grid;
place-items: center;
opacity: 0;
transform: translateX(calc(var(--offset, 0) * 100%));
transition: transform var(--dur-slow) var(--ease-out),
opacity var(--dur-base) var(--ease-out);
will-change: transform, opacity;
}
.stepview__frame.is-active { opacity: 1; }
.stepview__frame.is-adjacent { opacity: 0.18; }
.stepview__frame img {
inline-size: 100%;
block-size: 100%;
object-fit: contain;
}
.stepview__caption {
position: relative;
overflow: clip;
min-block-size: 3.2em;
inline-size: min(360px, 100%);
text-align: center;
font-size: var(--text-caption);
line-height: 1.28;
letter-spacing: -0.01em;
color: var(--fg-default);
}
.stepview__caption span {
position: absolute;
inset-inline: 0;
inset-block-start: 0;
opacity: 0;
transform: translateX(calc(var(--offset, 0) * 40%));
transition: transform var(--dur-slow) var(--ease-out),
opacity var(--dur-base) var(--ease-out);
}
.stepview__caption span.is-active { opacity: 1; transform: none; }
.carousel { position: relative; }
.carousel__viewport { overflow: hidden; perspective: 1800px; }
.carousel__track {
display: flex;
gap: var(--space-6);
transition: transform var(--dur-slow) var(--ease-out);
transform-style: preserve-3d;
padding-block: var(--space-6);
}
.jcard {
--fg-accent: var(--red-400);   
flex: 0 0 auto;
inline-size: 384px;
display: flex;
flex-direction: column;
gap: var(--space-5);
padding: var(--space-6);
background-color: var(--ink-900);
color: var(--cream-100);
border: var(--border-width) solid #221f1c;
transform: rotateY(9deg) scale(0.95);
transform-origin: center;
opacity: 0.9;
transition: transform var(--dur-slow) var(--ease-out),
opacity var(--dur-slow) var(--ease-out),
box-shadow var(--dur-base) var(--ease-out);
}
.jcard.is-current { transform: none; opacity: 1; box-shadow: var(--shadow-brand); }
.jcard.is-before { transform: rotateY(-9deg) scale(0.95); }
.jcard__media {
block-size: 190px;
display: grid;
place-items: center;
background-color: #0d0b09;
overflow: hidden;
}
.jcard__media img { block-size: 100%; inline-size: 100%; object-fit: contain; padding: var(--space-4); }
.jcard__index { color: var(--fg-accent); }
.jcard__title {
font-family: var(--font-text);
font-weight: var(--weight-bold);
font-size: var(--text-h4);
line-height: var(--leading-tight);
letter-spacing: var(--tracking-title);
color: var(--cream-100);
}
.jcard__body {
font-weight: var(--weight-light);
font-size: var(--text-sm);
line-height: 1.35;
color: var(--ink-400);
}
.jcard__channel {
margin-block-start: auto;
padding-block-start: var(--space-4);
border-block-start: var(--border-width) solid var(--border-hairline);
font-family: ui-monospace, "SF Mono", Menlo, monospace;
font-size: var(--text-micro);
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--ink-400);
}
.carousel__controls {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--space-4);
margin-block-start: var(--space-6);
}
.carousel__dots { display: flex; gap: var(--space-1); }
.carousel__dot {
inline-size: 28px;
min-block-size: 24px;
padding: 10px 0;
background: none;
display: flex;
align-items: center;
}
.carousel__dot::before {
content: "";
inline-size: 100%;
block-size: 4px;
background-color: var(--paper-200);
transition: background-color var(--dur-fast) var(--ease-out);
}
.carousel__dot.is-active::before { background-color: var(--red-500); }
.carousel__dot:hover::before { background-color: var(--ink-400); }
.carousel__arrows { display: flex; gap: var(--space-2); }
.carousel__arrow {
inline-size: 48px;
block-size: 48px;
display: grid;
place-items: center;
border: var(--border-width) solid var(--ink-900);
color: var(--ink-900);
transition: background-color var(--dur-fast) var(--ease-out),
color var(--dur-fast) var(--ease-out),
opacity var(--dur-fast) var(--ease-out);
}
.carousel__arrow:hover:not(:disabled) { background-color: var(--ink-900); color: var(--paper-000); }
.carousel__arrow:disabled { opacity: 0.3; cursor: not-allowed; }
.panel {
display: flex;
flex-direction: column;
gap: var(--space-5);
padding: var(--space-8);
background-color: var(--bg-inset);
border: var(--border-width) solid var(--border-hairline);
transition: box-shadow var(--dur-base) var(--ease-out),
transform var(--dur-base) var(--ease-out);
}
.panel:hover { box-shadow: var(--shadow-brand); transform: translate(-2px, -2px); }
.panel__foot {
margin-block-start: auto;
padding-block-start: var(--space-5);
border-block-start: var(--border-width) solid var(--border-hairline);
font-family: ui-monospace, "SF Mono", Menlo, monospace;
font-size: var(--text-micro);
letter-spacing: -0.01em;
color: var(--fg-default);
}
.panel__foot b { color: var(--fg-accent); font-weight: inherit; }
.checklist { border-block-start: var(--border-width) solid var(--border-hairline); }
.checklist li {
display: flex;
gap: var(--space-4);
padding-block: var(--space-5);
border-block-end: var(--border-width) solid var(--border-hairline);
font-size: var(--text-lead);
line-height: var(--leading-snug);
color: var(--fg-default);
}
.checklist li::before {
content: "↗";
flex: 0 0 auto;
color: var(--red-500);
font-weight: var(--weight-bold);
}
.portrait {
position: relative;
aspect-ratio: 4 / 5;
background-color: var(--ink-900);
border: var(--border-width) solid var(--border-hairline);
box-shadow: var(--shadow-brand);
display: grid;
place-items: center;
overflow: hidden;
}
.portrait::after {
content: "";
position: absolute;
inset: 0;
background-image: url("../assets/img/texture-noise.webp");
background-size: 160px;
mix-blend-mode: screen;
opacity: 0.07;
pointer-events: none;
}
.portrait img { inline-size: 100%; block-size: 100%; object-fit: cover; position: relative; z-index: 1; }
.portrait__placeholder {
font-family: ui-monospace, "SF Mono", Menlo, monospace;
font-size: var(--text-micro);
letter-spacing: 0.14em;
text-transform: uppercase;
color: rgba(240, 231, 221, 0.5);
text-align: center;
padding: var(--space-6);
}
.signature {
font-family: var(--font-display);
font-weight: var(--weight-medium);
font-size: var(--text-h3);
letter-spacing: -0.02em;
color: var(--fg-default);
}
.navbar {
position: sticky;
inset-block-start: 0;
z-index: var(--z-nav);
padding-block: var(--space-6);
transition: background-color var(--dur-base) var(--ease-out),
padding var(--dur-base) var(--ease-out),
border-color var(--dur-base) var(--ease-out);
border-block-end: var(--border-width) solid transparent;
}
.navbar__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); }
.navbar__logo { inline-size: 102px; flex: 0 0 auto; }
.navbar__logo img { inline-size: 100%; block-size: auto; }
.navbar.is-stuck {
background-color: rgba(209, 45, 52, 0.94);
backdrop-filter: blur(14px);
padding-block: var(--space-3);
border-block-end-color: rgba(255, 255, 255, 0.2);
}
.footer { padding-block: var(--space-16) var(--space-10); text-align: center; }
.footer__top {
display: flex;
flex-direction: column;
align-items: center;
gap: var(--space-4);
padding-block-end: var(--space-10);
}
.footer__logo { display: inline-block; line-height: 0; }
.footer__logo-anim { inline-size: 150px; block-size: auto; display: block; }  
.footer__logo-static { inline-size: 102px; block-size: auto; display: none; }
@media (prefers-reduced-motion: reduce) {
.footer__logo-anim { display: none; }
.footer__logo-static { display: block; }
}
.footer__tagline { font-size: var(--text-sm); line-height: var(--leading-relaxed); color: var(--fg-small); }
.footer__tel a {
display: inline-flex;
align-items: center;
justify-content: center;
min-block-size: 44px;
padding-inline: var(--space-5);
border: var(--border-width) solid var(--border-hairline);
font-family: ui-monospace, "SF Mono", Menlo, monospace;
font-size: var(--text-sm);
color: var(--fg-default);
transition: border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.footer__tel a:hover { border-color: var(--fg-accent); color: var(--fg-accent); }
.footer__tel a:focus-visible { outline-offset: -3px; }
.footer__nav {
display: grid;
grid-template-columns: repeat(7, 1fr);
gap: var(--border-width);
background-color: var(--border-hairline);
border-block: var(--border-width) solid var(--border-hairline);
}
.footer__nav a {
display: flex;
align-items: center;
justify-content: center;
min-block-size: 48px;
padding-inline: var(--space-2);
background-color: var(--bg-page);
font-size: var(--text-sm);
color: var(--fg-body);
transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.footer__nav a:hover { color: var(--fg-accent); background-color: var(--bg-inset); }
.footer__nav a:focus-visible { outline-offset: -3px; }
.footer__bottom {
display: flex;
flex-direction: column;
align-items: center;
gap: var(--space-4);
padding-block-start: var(--space-10);
}
.footer__strap {
font-family: var(--font-display);
font-size: var(--text-ui);
letter-spacing: -0.01em;
color: var(--fg-default);
}
.footer__legal {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: var(--space-2) var(--space-5);
font-size: var(--text-sm);
color: var(--fg-muted);
}
.footer__legal a {
display: inline-flex;
align-items: center;
justify-content: center;
min-block-size: 44px;
min-inline-size: 44px;   
color: var(--fg-small);
text-decoration: underline;
text-underline-offset: 3px;
}
.footer__legal a:hover { color: var(--fg-accent); }
.footer__legal a:focus-visible { outline-offset: -3px; }
@media (max-width: 900px) {
.cluster { grid-template-columns: 1fr; }
.cluster__card { border-inline-end: 0; border-block-end: var(--border-width) solid var(--border-hairline); }
.cluster__card:last-child { border-block-end: 0; }
.field { block-size: auto; flex-direction: column; align-items: stretch; gap: var(--space-2); }
.field__input { block-size: 52px; }
.field__submit { inline-size: 100%; }
.jcard { inline-size: 300px; }
.carousel__viewport { perspective: none; }
.jcard, .jcard.is-before { transform: none; opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
.jcard, .jcard.is-before { transform: none; }
.carousel__track { transition: none; }
}
.stats {
display: grid;
grid-template-columns: repeat(4, 1fr);
border-block: var(--border-width) solid var(--border-hairline);
}
.stats__item {
display: flex;
flex-direction: column;
gap: var(--space-2);
padding: var(--space-8) var(--space-6);
border-inline-end: var(--border-width) solid var(--border-hairline);
}
.stats__item:last-child { border-inline-end: 0; }
.stats__figure {
font-family: var(--font-display);
font-weight: var(--weight-regular);
font-size: var(--text-stat);
line-height: 1;
letter-spacing: -0.02em;
color: var(--fg-default);
}
.stats__label {
font-size: var(--text-sm);
line-height: 1.35;
color: var(--fg-muted);
}
.stats__note {
margin-block-start: var(--space-5);
font-family: ui-monospace, "SF Mono", Menlo, monospace;
font-size: var(--text-micro);
line-height: 1.5;
letter-spacing: 0.02em;
color: var(--fg-muted);
}
.compare { border-block-start: var(--border-width) solid var(--border-hairline); }
.compare__head,
.compare__row {
display: grid;
grid-template-columns: minmax(150px, 1fr) minmax(0, 1.5fr) minmax(0, 1.5fr);
gap: var(--space-8);
padding-block: var(--space-6);
border-block-end: var(--border-width) solid var(--border-hairline);
}
.compare__head { padding-block: var(--space-4); }
.compare__col {
font-family: ui-monospace, "SF Mono", Menlo, monospace;
font-size: var(--text-micro);
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--fg-muted);
}
.compare__col--good { color: var(--fg-accent); }
.compare__label {
font-weight: var(--weight-bold);
font-size: var(--text-body);
letter-spacing: -0.02em;
color: var(--fg-default);
}
.compare__bad,
.compare__good {
display: flex;
gap: var(--space-3);
font-size: var(--text-body);
line-height: 1.35;
}
.compare__bad { color: var(--fg-muted); }
.compare__good { color: var(--fg-default); }
.compare__bad::before  { content: "✕"; flex: 0 0 auto; color: var(--fg-muted); }
.compare__good::before { content: "↗"; flex: 0 0 auto; color: var(--red-500); font-weight: var(--weight-bold); }
.route {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--space-3);
}
.route__node {
padding: var(--space-3) var(--space-4);
border: var(--border-width) solid var(--border-hairline);
font-family: ui-monospace, "SF Mono", Menlo, monospace;
font-size: var(--text-micro);
letter-spacing: 0.04em;
text-transform: uppercase;
color: var(--fg-small);
white-space: nowrap;
}
.route__arrow { color: var(--fg-accent); font-weight: var(--weight-bold); }
.route--center { justify-content: center; }
.deliverables {
display: grid;
grid-template-columns: repeat(4, 1fr);
border-block-start: var(--border-width) solid var(--border-hairline);
}
.deliverables__item {
display: flex;
flex-direction: column;
gap: var(--space-4);
padding: var(--space-8) var(--space-6);
border-inline-end: var(--border-width) solid var(--border-hairline);
border-block-end: var(--border-width) solid var(--border-hairline);
}
.deliverables__item:last-child { border-inline-end: 0; }
.deliverables__name {
font-family: var(--font-display);
font-size: var(--text-h4);
letter-spacing: -0.02em;
color: var(--fg-default);
}
.numbered {
display: grid;
grid-template-columns: repeat(var(--numbered-cols, 3), minmax(0, 1fr));
gap: var(--border-width);
background-color: var(--border-hairline);
border: var(--border-width) solid var(--border-hairline);
}
.numbered__item {
display: flex;
flex-direction: column;
gap: var(--space-3);
padding: var(--space-6);
background-color: var(--bg-page);
}
.numbered__n {
font-family: ui-monospace, "SF Mono", Menlo, monospace;
font-size: var(--text-micro);
letter-spacing: 0.1em;
color: var(--red-500);
}
.numbered__title {
font-weight: var(--weight-bold);
font-size: var(--text-ui);
letter-spacing: -0.03em;
color: var(--fg-default);
}
.numbered__body { font-size: var(--text-sm); line-height: 1.4; color: var(--fg-muted); }
.numbered--2 { --numbered-cols: 2; }
.numbered--3 { --numbered-cols: 3; }
.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-6); }
.steps__item {
display: flex;
flex-direction: column;
gap: var(--space-4);
padding-block-start: var(--space-5);
border-block-start: 2px solid var(--red-500);
}
.steps__n {
font-family: ui-monospace, "SF Mono", Menlo, monospace;
font-size: var(--text-micro);
letter-spacing: 0.1em;
color: var(--red-500);
}
.steps__title {
font-family: var(--font-display);
font-size: var(--text-h4);
letter-spacing: -0.02em;
color: var(--fg-default);
}
.steps__body { font-size: var(--text-sm); line-height: 1.45; color: var(--fg-muted); }
.faq { border-block-start: var(--border-width) solid var(--border-hairline); }
.faq--center { inline-size: 100%; max-inline-size: 800px; margin-inline: auto; }
.faq__item { border-block-end: var(--border-width) solid var(--border-hairline); }
.faq__q {
display: flex;
align-items: baseline;
gap: var(--space-4);
padding-block: var(--space-5);
cursor: pointer;
list-style: none;
font-weight: var(--weight-bold);
font-size: var(--text-lead);
letter-spacing: -0.02em;
color: var(--fg-default);
transition: color var(--dur-fast) var(--ease-out);
}
.faq__q::-webkit-details-marker { display: none; }
.faq__q:hover { color: var(--red-500); }
.faq__q::before {
content: "+";
flex: 0 0 auto;
inline-size: 1ch;
color: var(--red-500);
font-weight: var(--weight-bold);
}
.faq__item[open] .faq__q::before { content: "−"; }
.faq__a {
padding-inline-start: calc(1ch + var(--space-4));
padding-block-end: var(--space-6);
max-inline-size: 78ch;
font-size: var(--text-body);
line-height: 1.45;
color: var(--fg-body);
}
.enquiry {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: var(--space-5);
padding: var(--space-8);
background-color: rgba(255, 255, 255, 0.95);
border: var(--border-width) solid var(--paper-000);
box-shadow: var(--shadow-deep);
text-align: start;
}
.enquiry__field { display: flex; flex-direction: column; gap: var(--space-2); }
.enquiry__field--wide { grid-column: 1 / -1; }
.enquiry__label {
font-family: ui-monospace, "SF Mono", Menlo, monospace;
font-size: var(--text-micro);
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--ink-500);
}
.enquiry__input,
.enquiry__textarea {
min-block-size: 48px;
padding: var(--space-3) var(--space-4);
background-color: var(--paper-000);
border: var(--border-width) solid var(--paper-200);
border-radius: var(--radius-none);
font-family: var(--font-text);
font-size: var(--text-body);
color: var(--ink-900);
transition: border-color var(--dur-fast) var(--ease-out);
}
.enquiry__textarea { min-block-size: 110px; resize: vertical; }
.enquiry__input:focus,
.enquiry__textarea:focus { outline: none; border-color: var(--red-500); }
.enquiry__actions {
grid-column: 1 / -1;
display: flex;
flex-wrap: wrap;
gap: var(--space-3);
align-items: center;
}
.callband {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: var(--space-6);
padding: var(--space-8);
border: var(--border-width) solid var(--border-hairline);
box-shadow: var(--shadow-brand);
background-color: var(--bg-inset);
}
.prose + .callband {
max-inline-size: var(--measure);
margin-inline: auto;
margin-block-start: var(--space-16);
}
.navbar__links { display: flex; gap: var(--space-6); font-size: var(--text-sm); }
.navbar__links a { color: var(--fg-small); }  
.navbar__links a:hover { color: var(--paper-000); }
@media (max-width: 1100px) {
.numbered { --numbered-cols: 2; }
.stats, .deliverables { grid-template-columns: repeat(2, 1fr); }
.stats__item:nth-child(2n), .deliverables__item:nth-child(2n) { border-inline-end: 0; }
.stats__item:nth-child(-n+2) { border-block-end: var(--border-width) solid var(--border-hairline); }
.steps { grid-template-columns: repeat(2, 1fr); gap: var(--space-8); }
.navbar__links { display: none; }
}
@media (max-width: 900px) {
.numbered { --numbered-cols: 1; }
.stats, .deliverables, .steps { grid-template-columns: 1fr; }
.stats__item, .deliverables__item {
border-inline-end: 0;
border-block-end: var(--border-width) solid var(--border-hairline);
}
.stats__item:last-child { border-block-end: 0; }
.compare__head { display: none; }
.compare__row { grid-template-columns: 1fr; gap: var(--space-3); }
.compare__bad::before  { content: "✕ Disconnected — "; white-space: pre; }
.compare__good::before { content: "↗ Connected — "; white-space: pre; }
.enquiry { grid-template-columns: 1fr; padding: var(--space-5); }
.callband { flex-direction: column; align-items: flex-start; }
}
.enquiry__summary {
grid-column: 1 / -1;
padding: var(--space-5);
border: 2px solid var(--red-500);
background-color: var(--paper-000);
}
.enquiry__summary[hidden] { display: none; }
.enquiry__summary:focus-visible { outline: 2px solid var(--red-500); outline-offset: 2px; }
.enquiry__summary-title {
font-weight: var(--weight-bold);
font-size: var(--text-ui);
letter-spacing: -0.02em;
color: var(--ink-900);
margin-block-end: var(--space-3);
}
.enquiry__summary ul { display: flex; flex-direction: column; gap: var(--space-2); }
.enquiry__summary a {
font-size: var(--text-sm);
color: var(--red-500);
text-decoration: underline;
text-underline-offset: 3px;
}
.enquiry__error {
font-size: var(--text-sm);
line-height: 1.35;
color: #a3161c;   
}
.enquiry__error[hidden] { display: none; }
.enquiry__input[aria-invalid="true"],
.enquiry__textarea[aria-invalid="true"] {
border-color: var(--red-500);
border-width: 2px;
}
.navbar__links a,
.enquiry__summary a {
display: inline-flex;
align-items: center;
min-block-size: 44px;
}
@media (max-width: 720px) {
.footer__nav { grid-template-columns: repeat(2, 1fr); }
.footer__nav a:last-child { grid-column: 1 / -1; }
.footer__strap { font-size: var(--text-body); max-inline-size: 22ch; }
}
.leak__track.is-static .stepview__stage { display: none; }
.leak__track.is-static .stepview__caption {
position: static;
min-block-size: 0;
inline-size: 100%;
display: flex;
flex-direction: column;
gap: var(--space-3);
text-align: start;
}
.leak__track.is-static .stepview__caption span {
position: static;
opacity: 1;
transform: none;
padding-inline-start: var(--space-4);
border-inline-start: 2px solid var(--fg-accent);
}
.leak__track.is-static .progress { display: none; }
.cookie-consent {
position: fixed;
z-index: var(--z-nav);
inset-inline: var(--space-5);
inset-block-end: var(--space-5);
max-inline-size: 760px;
margin-inline: auto;
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--space-6);
padding: var(--space-5) var(--space-6);
border: var(--border-width) solid var(--border-hairline);
border-radius: var(--radius-none);
box-shadow: var(--shadow-deep);
font-family: var(--font-text);
font-size: var(--text-sm);
line-height: var(--leading-normal);
}
.cookie-consent[hidden] { display: none; }
.cookie-consent strong {
font-weight: var(--weight-bold);
color: var(--fg-default);
}
.cookie-consent p {
margin-block: var(--space-2);
color: var(--fg-body);
}
.cookie-consent a {
color: var(--fg-accent);
text-decoration: underline;
text-underline-offset: 0.18em;
}
.cookie-consent a:hover { color: var(--fg-default); }
.cookie-actions {
display: flex;
gap: var(--space-3);
flex-shrink: 0;
}
@media (max-width: 620px) {
.cookie-consent {
display: block;
inset-inline: var(--space-3);
inset-block-end: var(--space-3);
}
.cookie-actions { margin-block-start: var(--space-5); }
.cookie-actions .btn { flex: 1 1 0; }
}
.enquiry[hidden],
.enquiry__done[hidden],
.enquiry__failed[hidden] { display: none; }
.btn[aria-busy="true"] {
opacity: 0.75;
cursor: progress;
pointer-events: none;
}
.btn[aria-busy="true"]::after {
content: "";
inline-size: 0.85em;
block-size: 0.85em;
margin-inline-start: var(--space-3);
border: 2px solid currentColor;
border-block-start-color: transparent;
border-radius: 50%;
animation: btn-spin 700ms linear infinite;
}
@keyframes btn-spin { to { transform: rotate(360deg); } }
.enquiry__done {
margin-block-start: var(--space-8);
padding: var(--space-10) var(--space-8);
background-color: var(--bg-inset);
border: var(--border-width) solid var(--border-hairline);
box-shadow: var(--shadow-offset);
text-align: center;
}
.enquiry__done:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
.enquiry__done-mark {
inline-size: 52px;
block-size: 52px;
margin-inline: auto;
margin-block-end: var(--space-5);
display: grid;
place-items: center;
font-size: 1.5rem;
line-height: 1;
color: var(--paper-000);
background-color: var(--red-500);
border-radius: 50%;
}
.enquiry__done-title {
font-family: var(--font-display);
font-weight: var(--weight-regular);
font-size: var(--text-h3);
line-height: var(--leading-snug);
letter-spacing: var(--tracking-title);
color: var(--cream-100);
}
.enquiry__done-line {
margin-block-start: var(--space-4);
margin-inline: auto;
max-inline-size: 48ch;
font-size: var(--text-body);
line-height: var(--leading-relaxed);
color: var(--ink-400);
}
.enquiry__done-alt {
margin-block-start: var(--space-6);
padding-block-start: var(--space-5);
border-block-start: var(--border-width) solid var(--border-hairline);
font-size: var(--text-sm);
color: var(--ink-400);
}
.enquiry__done-alt a {
color: var(--red-400);
text-decoration: underline;
text-underline-offset: 0.18em;
}
.enquiry__done-alt a:hover { color: var(--paper-000); }
.enquiry__failed {
margin-block-start: var(--space-5);
padding: var(--space-4) var(--space-5);
background-color: var(--bg-inset);
border-inline-start: 3px solid var(--red-400);
font-size: var(--text-sm);
line-height: var(--leading-relaxed);
color: var(--cream-100);
}
.enquiry__failed a { color: var(--red-400); text-decoration: underline; }
@media (prefers-reduced-motion: reduce) {
.btn[aria-busy="true"]::after { animation: none; }
}
.enquiry__legend {
grid-column: 1 / -1;
margin: 0;
font-size: var(--text-sm);
color: var(--ink-500);
}
.enquiry__req {
color: #a3161c;       
font-weight: var(--weight-medium);
}
.enquiry__optional {
text-transform: none;
letter-spacing: 0;
color: var(--ink-500);
}
.enquiry__labelrow {
display: flex;
align-items: baseline;
justify-content: space-between;
gap: var(--space-3);
}
.enquiry__labelrow .enquiry__label { flex: 1 1 auto; }
.enquiry__count {
flex: 0 0 auto;
font-family: ui-monospace, "SF Mono", Menlo, monospace;
font-size: var(--text-micro);
font-variant-numeric: tabular-nums;
color: var(--ink-500);
transition: color var(--dur-fast) var(--ease-out);
}
.enquiry__count[data-near="1"] { color: #a3161c; }
.enquiry__input::placeholder,
.enquiry__textarea::placeholder {
color: var(--ink-500);
opacity: 1;           
}
.icon {
inline-size: 1em;
block-size: 1em;
fill: currentColor;
flex: 0 0 auto;
display: inline-block;
vertical-align: -0.125em;
}
.icon--lg { font-size: 2rem; }      
.icon--xl { font-size: 2.5rem; }    
.icon--accent { color: var(--red-500); }
.hero__copy { align-items: center; }
.hero__copy .eyebrow { justify-content: center; }
.hero__lead { max-inline-size: 52ch; }
.ledger {
border: var(--border-width) solid var(--border-hairline);
box-shadow: var(--shadow-brand);
background-color: var(--bg-inset);
}
.ledger__head,
.ledger__row {
display: grid;
grid-template-columns: 40px minmax(120px, 0.8fr) minmax(0, 1.2fr) minmax(0, 1.2fr);
gap: var(--space-5);
align-items: center;
padding: var(--space-4) var(--space-6);
border-block-end: var(--border-width) solid var(--border-hairline);
}
.ledger__row:last-child { border-block-end: 0; }
.ledger__head {
background-color: var(--bg-page);
font-family: ui-monospace, "SF Mono", Menlo, monospace;
font-size: var(--text-micro);
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--fg-muted);
}
.ledger__head .is-good { color: var(--red-500); }
.ledger__icon { color: var(--red-500); font-size: 1.375rem; }
.ledger__label { font-weight: var(--weight-bold); letter-spacing: -0.02em; color: var(--fg-default); }
.ledger__bad,
.ledger__good {
display: flex;
align-items: center;
gap: var(--space-3);
font-size: var(--text-sm);
line-height: 1.3;
}
.ledger__bad { color: var(--fg-muted); }
.ledger__good { color: var(--fg-default); }
.ledger__mark {
inline-size: 20px;
block-size: 20px;
display: grid;
place-items: center;
font-size: 0.75rem;
flex: 0 0 auto;
}
.ledger__bad .ledger__mark { color: var(--fg-muted); border: var(--border-width) solid var(--border-hairline); }
.ledger__good .ledger__mark { color: var(--paper-000); background-color: var(--red-500); }
.bento {
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-auto-rows: 300px;
gap: var(--border-width);
background-color: #2a2622;
border: var(--border-width) solid #2a2622;
box-shadow: var(--shadow-brand);
}
.tile {
--fg-accent: var(--red-400);
--fg-muted: var(--ink-400);
position: relative;
display: flex;
flex-direction: column;
justify-content: flex-end;
gap: var(--space-2);
padding: var(--space-6);
background-color: var(--ink-900);
color: var(--cream-100);
overflow: hidden;
isolation: isolate;
}
.tile--span2 { grid-column: span 2; grid-row: span 2; }
.tile__art {
position: absolute;
inset-inline-end: var(--space-4);
inset-block-start: var(--space-4);
inline-size: 60%;
max-inline-size: 300px;
block-size: auto;
z-index: -1;
transition: transform var(--dur-slow) var(--ease-out);
}
.tile--span2 .tile__art { inline-size: 64%; max-inline-size: 440px; inset-block-start: var(--space-6); }
.tile:hover .tile__art { transform: translateY(-6px); }
.tile__index { color: var(--fg-accent); }
.tile__title {
font-family: var(--font-text);
font-weight: var(--weight-bold);
font-size: var(--text-h4);
line-height: var(--leading-tight);
letter-spacing: var(--tracking-title);
}
.tile--span2 .tile__title { font-size: var(--text-h3); }
.tile__line { font-size: var(--text-sm); color: var(--ink-400); max-inline-size: 30ch; }
.tile__numeral {
position: absolute;
inset-inline-end: var(--space-5);
inset-block-start: var(--space-3);
font-family: var(--font-display);
font-size: var(--text-display);
line-height: 1;
letter-spacing: -0.02em;
color: #1a1714;
z-index: -1;
user-select: none;
}
.kit {
display: grid;
grid-template-columns: repeat(4, 1fr);
border-block: var(--border-width) solid var(--border-hairline);
}
.kit__item {
display: flex;
flex-direction: column;
gap: var(--space-4);
padding: var(--space-8) var(--space-6);
border-inline-end: var(--border-width) solid var(--border-hairline);
}
.kit__item:last-child { border-inline-end: 0; }
.kit__name {
font-family: var(--font-display);
font-size: var(--text-h4);
letter-spacing: -0.02em;
color: var(--fg-default);
}
.kit__line { font-size: var(--text-sm); line-height: 1.4; color: var(--fg-muted); }
.evidence { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.readout {
display: flex;
flex-direction: column;
gap: var(--space-4);
padding: var(--space-6);
background-color: var(--bg-inset);
border: var(--border-width) solid var(--border-hairline);
box-shadow: var(--shadow-brand);
}
.readout__source {
font-family: ui-monospace, "SF Mono", Menlo, monospace;
font-size: var(--text-micro);
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--fg-muted);
padding-block-end: var(--space-3);
border-block-end: var(--border-width) solid var(--border-hairline);
}
.readout__figure {
font-family: var(--font-display);
font-size: var(--text-stat);
line-height: 1;
letter-spacing: -0.02em;
color: var(--fg-default);
}
.readout__unit { font-size: var(--text-body); color: var(--fg-body); margin-block-start: calc(-1 * var(--space-2)); }
.readout__sub {
display: flex;
gap: var(--space-3);
align-items: baseline;
font-family: ui-monospace, "SF Mono", Menlo, monospace;
font-size: var(--text-sm);
color: var(--fg-default);
}
.readout__sub b { font-family: var(--font-display); font-size: var(--text-h4); font-weight: var(--weight-regular); }
.readout__proves {
margin-block-start: auto;
padding-block-start: var(--space-4);
border-block-start: var(--border-width) solid var(--border-hairline);
display: flex;
gap: var(--space-3);
align-items: flex-start;
font-size: var(--text-sm);
line-height: 1.35;
color: var(--fg-default);
}
.readout__proves .icon { color: var(--red-500); font-size: 1.125rem; margin-block-start: 1px; }
.route-v { display: flex; flex-direction: column; gap: 0; margin-block: var(--space-2); }
.route-v__node {
display: flex;
align-items: center;
gap: var(--space-3);
padding-block: var(--space-2);
font-size: var(--text-sm);
color: var(--fg-default);
}
.route-v__node .icon { color: var(--red-500); font-size: 1.125rem; }
.route-v__node + .route-v__node { border-block-start: var(--border-width) dashed var(--border-hairline); }
.route-v__check { margin-inline-start: auto; color: var(--red-500); font-size: 0.875rem; }
.evidence__cta { margin-block-start: var(--space-6); text-align: center; }
.evidence__note {
margin-block-start: var(--space-6);
font-family: ui-monospace, "SF Mono", Menlo, monospace;
font-size: var(--text-micro);
letter-spacing: 0.04em;
color: var(--fg-muted);
text-align: center;
}
.reasons { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-5); }
.reason {
display: flex;
flex-direction: column;
gap: var(--space-3);
padding: var(--space-6);
background-color: var(--bg-inset);
border: var(--border-width) solid var(--border-hairline);
border-block-start: 3px solid var(--fg-accent);
}
.reason:hover { box-shadow: var(--shadow-brand); }
.reason__n {
font-family: var(--font-display);
font-size: var(--text-stat);   
line-height: 1;
letter-spacing: -0.02em;
background-image: var(--gradient-heading);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
}
.reason .icon { color: var(--red-500); font-size: 1.5rem; }
.reason__title { font-weight: var(--weight-bold); font-size: var(--text-ui); letter-spacing: -0.03em; color: var(--fg-default); }
.reason__line { font-size: var(--text-sm); line-height: 1.4; color: var(--fg-muted); }
.pull {
font-family: var(--font-display);
font-size: var(--text-h3);
line-height: 1.15;
letter-spacing: -0.02em;
color: var(--fg-default);
padding-inline-start: var(--space-5);
border-inline-start: 3px solid var(--red-500);
}
.services {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: var(--border-width);
background-color: var(--border-hairline);
border: var(--border-width) solid var(--border-hairline);
}
.service {
display: grid;
grid-template-columns: auto 1fr;
gap: var(--space-2) var(--space-4);
align-items: start;
padding: var(--space-6);
background-color: var(--bg-page);
transition: background-color var(--dur-fast) var(--ease-out);
}
.service:hover { background-color: var(--bg-inset); }
.service .icon { grid-row: span 2; color: var(--red-500); font-size: 1.75rem; margin-block-start: 2px; }
.service__title { font-weight: var(--weight-bold); font-size: var(--text-body); letter-spacing: -0.02em; color: var(--fg-default); }
.service__line { font-size: var(--text-sm); line-height: 1.35; color: var(--fg-muted); }
.timeline {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: var(--space-5);
position: relative;
}
.tstep {
position: relative;
display: flex;
flex-direction: column;
gap: var(--space-3);
padding: var(--space-6);
background-color: var(--bg-inset);
border: var(--border-width) solid var(--border-hairline);
}
.tstep + .tstep::before {
content: "";
position: absolute;
inset-inline-start: calc(var(--space-5) * -1);
inset-block-start: calc(var(--space-6) + 0.6em);
inline-size: var(--space-5);
block-size: var(--border-width);
background-color: var(--border-hairline);
}
.tstep__n {
display: flex;
align-items: center;
gap: var(--space-3);
font-family: ui-monospace, "SF Mono", Menlo, monospace;
font-size: var(--text-sm);
letter-spacing: 0.12em;
color: var(--red-500);
position: relative;
z-index: 1;
}
.tstep__n::after {
content: "";
flex: 1 1 auto;
block-size: var(--border-width);
background-color: var(--border-hairline);
}
.tstep .icon { color: var(--red-500); font-size: 1.625rem; margin-block-start: var(--space-2); }
.tstep__title { font-family: var(--font-display); font-size: var(--text-h3); letter-spacing: -0.02em; line-height: 1.15; color: var(--fg-default); }
.tstep__line { font-size: var(--text-body); line-height: 1.5; color: var(--fg-muted); max-inline-size: 26ch; }
@media (max-width: 1100px) {
.bento { grid-template-columns: repeat(2, 1fr); }
.tile--span2 { grid-column: span 2; grid-row: span 1; }
.bento { grid-auto-rows: auto; }
.tile { min-block-size: 240px; }
.tile__art,
.tile--span2 .tile__art {
position: static;
align-self: flex-end;
inline-size: min(136px, 30vw);
max-inline-size: none;
margin-block-end: auto;
z-index: auto;
}
.tile__numeral {
position: static;
align-self: flex-end;
margin-block-end: auto;
font-size: 4.5rem;
line-height: 1.1;
}
.kit, .reasons, .timeline { grid-template-columns: repeat(2, 1fr); }
.kit__item:nth-child(2n) { border-inline-end: 0; }
.kit__item:nth-child(-n+2) { border-block-end: var(--border-width) solid var(--border-hairline); }
.timeline::before { display: none; }
.evidence, .services { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
.bento, .kit, .reasons, .timeline, .evidence, .services { grid-template-columns: 1fr; }
.tile--span2 { grid-column: span 1; }
.tile { min-block-size: 220px; }
.kit__item { border-inline-end: 0; border-block-end: var(--border-width) solid var(--border-hairline); }
.kit__item:last-child { border-block-end: 0; }
.ledger__head { display: none; }
.ledger__row { grid-template-columns: 32px 1fr; grid-template-areas: "i l" "i b" "i g"; gap: var(--space-2) var(--space-4); }
.ledger__icon { grid-area: i; }
.ledger__label { grid-area: l; }
.ledger__bad { grid-area: b; }
.ledger__good { grid-area: g; }
}
@media (prefers-reduced-motion: reduce) {
.tile:hover .tile__art { transform: none; }
}
.hero__actions {
display: inline-grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: var(--space-3);
max-inline-size: 100%;
margin-inline: auto;
}
.hero__actions .btn { inline-size: 100%; min-inline-size: 0; white-space: normal; }
.enquiry__actions {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
align-items: stretch;
}
.enquiry__actions .btn { inline-size: 100%; min-inline-size: 0; }
.tstep .icon { margin-block-start: 0; }
.tstep__title { min-block-size: 2.4em; }   
@media (max-width: 1100px) {
.tstep__title { min-block-size: 0; }
}
@media (max-width: 720px) {
.hero__actions,
.enquiry__actions { grid-template-columns: 1fr; }
.hero__actions { display: grid; inline-size: 100%; }
.section-head,
.section-head--center { text-align: center; margin-inline: auto; }
.section-head .eyebrow,
.section-head--center .eyebrow { justify-content: center; }
.section-head .lead { margin-inline: auto; }
.stats__item { align-items: center; text-align: center; }
.stats__note, .evidence__cta { margin-block-start: var(--space-6); text-align: center; }
.evidence__note { text-align: center; }
.cluster__card,
.kit__item,
.service,
.reason,
.readout,
.panel {
text-align: center;
align-items: center;
}
.cluster__media { justify-content: center; }
.cluster__media img { object-position: center bottom; }
.service { grid-template-columns: 1fr; justify-items: center; gap: var(--space-2); }
.service .icon { grid-row: auto; }
.readout__proves,
.panel__foot { text-align: center; justify-content: center; }
.route-v__node { justify-content: center; }
.route-v__check { margin-inline-start: var(--space-2); }
.leak__copy { align-items: center; text-align: center; }
.leak__copy .lead { margin-inline: auto; }
.progress { margin-inline: auto; }
.founder__grid { justify-items: center; text-align: center; }
.founder__prose p { margin-inline: auto; }
.pull { border-inline-start: 0; padding-inline-start: 0; border-block-start: 3px solid var(--red-500); padding-block-start: var(--space-4); }
.founder__sign { align-items: center; }
.callband { text-align: center; align-items: center; }
.callband .btn { inline-size: 100%; }
.timeline { gap: 0; }
.timeline::before { display: none; }
.tstep {
align-items: center;
text-align: center;
padding-inline-end: 0;
padding-block: var(--space-8) 0;
border-block-start: var(--border-width) solid var(--border-hairline);
gap: var(--space-3);
}
.tstep:first-child { border-block-start: 0; padding-block-start: 0; }
.tstep__n { align-self: stretch; }
.tstep__n::before {
content: "";
flex: 1 1 auto;
block-size: var(--border-width);
background-color: var(--border-hairline);
}
.tstep__line { max-inline-size: 32ch; margin-inline: auto; }
.journey__head,
.evidence,
.reasons,
.kit { text-align: center; }
}
@media (max-width: 720px) {
.timeline { gap: 0; }
.tstep {
align-items: center;
text-align: center;
padding-inline: 0;
padding-block: var(--space-10);
border-block-start: var(--border-width) solid var(--border-hairline);
gap: var(--space-3);
}
.tstep:first-child { border-block-start: 0; padding-block-start: var(--space-2); }
.tstep__n { align-self: stretch; }
.tstep .icon { font-size: 1.75rem; }
.tstep__title { min-block-size: 0; font-size: var(--text-h3); }
.tstep__line { max-inline-size: 30ch; margin-inline: auto; }
}
.masthead {
position: relative;
padding-block-end: clamp(var(--space-14), 6vw, var(--space-24));
}
:root {
--measure: 46rem;
}
.masthead__inner {
padding-block-start: clamp(var(--space-10), 5vw, var(--space-16));
max-inline-size: var(--measure);
margin-inline: auto;
}
.masthead__title {
margin-block-start: var(--space-5);
font-family: var(--font-display);
font-weight: var(--weight-regular);
font-size: var(--text-h2);
line-height: var(--leading-tight);
letter-spacing: var(--tracking-display);
color: var(--fg-default);
text-wrap: balance;
}
.masthead__lead {
margin-block-start: var(--space-6);
max-inline-size: 62ch;
}
.masthead__meta {
margin-block-start: var(--space-8);
padding-block-start: var(--space-5);
border-block-start: var(--border-width) solid var(--border-hairline);
font-family: ui-monospace, "SF Mono", Menlo, monospace;
font-size: var(--text-micro);
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--fg-small);
}
.prose {
max-inline-size: var(--measure);
margin-inline: auto;
font-weight: var(--weight-light);
font-size: var(--text-body);
line-height: var(--leading-relaxed);
letter-spacing: var(--tracking-body);
color: var(--fg-body);
text-wrap: pretty;
}
.prose > * + * { margin-block-start: var(--space-5); }
.prose > section > * + * { margin-block-start: var(--space-5); }
.prose h2 {
margin-block-start: var(--space-11);
font-family: var(--font-display);
font-weight: var(--weight-regular);
font-size: var(--text-h3);
line-height: var(--leading-snug);
letter-spacing: var(--tracking-title);
color: var(--fg-default);
text-wrap: balance;
}
.prose > h2:first-child { margin-block-start: 0; }
.prose h3 {
margin-block-start: var(--space-8);
font-family: var(--font-text);
font-weight: var(--weight-bold);
font-size: var(--text-h4);
line-height: var(--leading-snug);
color: var(--fg-default);
}
.prose h2 + p,
.prose h3 + p { margin-block-start: var(--space-4); }
.prose ul {
padding-inline-start: var(--space-6);
list-style: disc;
}
.prose ol {
padding-inline-start: var(--space-6);
list-style: decimal;
}
.prose li { margin-block-start: var(--space-3); }
.prose li::marker { color: var(--fg-accent); }
.prose a {
color: var(--fg-accent);
text-decoration: underline;
text-underline-offset: 0.18em;
text-decoration-thickness: from-font;
}
.prose a:hover { color: var(--fg-default); }
.prose strong { font-weight: var(--weight-bold); color: var(--fg-default); }
.prose .notice {
margin-block: var(--space-10);
padding: var(--space-6) var(--space-8);
background-color: var(--bg-inset);
border: var(--border-width) solid var(--border-hairline);
box-shadow: var(--shadow-offset);
color: var(--fg-body);
}
.prose .notice > * + * { margin-block-start: var(--space-4); }
.legal-more {
max-inline-size: var(--measure);   
margin-block-start: clamp(var(--space-16), 7vw, var(--space-24));
margin-inline: auto;
padding-block-start: var(--space-10);
border-block-start: var(--border-width) solid var(--border-hairline);
}
.legal-more__title {
font-family: var(--font-text);
font-weight: var(--weight-bold);
font-size: var(--text-label);
line-height: 1;
letter-spacing: var(--tracking-label);
text-transform: uppercase;
color: var(--fg-accent);
}
.legal-more__grid {
margin-block-start: var(--space-6);
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: var(--space-5);
}
.legal-more__card {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--space-4);
min-block-size: 64px;
padding: var(--space-5) var(--space-6);
background-color: var(--bg-inset);
border: var(--border-width) solid var(--border-hairline);
font-family: var(--font-text);
font-weight: var(--weight-medium);
font-size: var(--text-sm);
color: var(--fg-default);
transition:
background-color var(--dur-fast) var(--ease-out),
box-shadow var(--dur-base) var(--ease-out),
transform var(--dur-base) var(--ease-out);
}
.legal-more__card::after {
content: "↗";
color: var(--fg-accent);
}
.legal-more__card:hover {
transform: translate(-3px, -3px);
box-shadow: var(--shadow-offset);
}
@media (max-width: 900px) {
.legal-more__grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
.masthead__title { font-size: var(--text-h3); }
.prose { max-inline-size: none; }
}
@media (prefers-reduced-motion: reduce) {
.legal-more__card:hover { transform: none; }
}
@media print {
.navbar,
.legal-more,
.skip-link,
.cookie-consent,
.footer__logo,
.footer__nav,
.footer__strap { display: none !important; }
.footer {
padding-block: var(--space-5) 0;
background: none !important;
border-block-start: 1px solid #000;
}
.footer,
.footer__tagline,
.footer__tel,
.footer__tel a,
.footer__legal,
.footer__legal a { color: #000 !important; }
.masthead {
padding-block: 0 var(--space-6);
background: none !important;
color: #000 !important;
border-block-end: 1px solid #000;
}
.masthead__title,
.masthead__lead,
.masthead__meta,
.eyebrow { color: #000 !important; }
.prose { max-inline-size: none; color: #000; }
.prose h2, .prose h3 { color: #000; break-after: avoid; }
.prose p, .prose li { break-inside: avoid; }
.prose a { color: #000; text-decoration: underline; }
.prose a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 0.85em; }
}
.contact-list {
display: grid;
grid-template-columns: max-content 1fr;
gap: var(--space-3) var(--space-6);
margin-block: var(--space-6);
padding: 0;
}
.contact-list dt {
font-family: ui-monospace, "SF Mono", Menlo, monospace;
font-size: var(--text-micro);
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--ink-500);
padding-block-start: 0.35em;   
}
.contact-list dd {
margin: 0;
font-size: var(--text-body);
color: var(--fg-default);
}
@media (max-width: 560px) {
.contact-list { grid-template-columns: 1fr; gap: var(--space-1) 0; }
.contact-list dd { margin-block-end: var(--space-4); }
.contact-list dt { padding-block-start: 0; }
}
