@font-face {
  font-family: 'Source Sans 3';
  src: url('../fonts/source-sans-3-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}
@font-face {
  font-family: 'Gloock';
  src: url('../fonts/gloock-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
:root {
  --font-body: 'Source Sans 3', 'Helvetica Neue', Arial, sans-serif;
  --font-display: 'Gloock', Georgia, serif;
  --text-caption: .84rem;
  --text-small: .94rem;
  --text-body: 1.0625rem;
  --text-label: .82rem;
  --text-lead: 1.48rem;
  --text-claim: 1.22rem;
  --text-h1: 5.55rem;
  --text-h2: 3.72rem;
  --text-h3: 1.98rem;
  --leading-tight: 1.04;
  --leading-heading: 1.08;
  --leading-lead: 1.4;
  --leading-body: 1.65;
  --leading-small: 1.38;
  --weight-regular: 400;
  --weight-semibold: 600;
  --weight-bold: 700;
  --color-paper: #fff7ef;
  --color-paper-rgb: 255 247 239;
  --color-surface: #fffdfa;
  --color-ink: #333036;
  --color-ink-rgb: 51 48 54;
  --color-muted: #6e6868;
  --color-line: #ecdcc9;
  --color-primary: #e68019;
  --color-primary-dark: #9a4a13;
  --color-primary-text: #9a4a13;
  --color-primary-hover: oklch(68% 0.19 53);
  --color-primary-soft: oklch(95.2% 0.045 62);
  --color-primary-line: oklch(82% 0.095 58);
  --color-primary-veil: oklch(67% 0.16 56 / .16);
  --color-primary-hero-line: oklch(83% 0.11 62 / .84);
  --color-deep: #343036;
  --color-deep-rgb: 52 48 54;
  --color-accent: #2f7d78;
  --color-accent-dark: #216965;
  --color-accent-soft: oklch(95% 0.027 188);
  --color-accent-tint: oklch(97.4% 0.017 188);
  --color-accent-line: oklch(84% 0.048 188);
  --color-accent-muted: oklch(41% 0.052 188);
  --color-card-warm: oklch(98.5% 0.012 69);
  --color-clay: oklch(44% 0.082 38);
  --color-clay-soft: oklch(95.5% 0.03 48);
  --color-gold: oklch(84% 0.096 74);
  --color-berry: oklch(43% 0.078 18);
  --color-berry-soft: oklch(94.5% 0.026 21);
  --color-sage: oklch(91.5% 0.035 146);
  --color-black-22: rgb(0 0 0 / 0.22);
  --color-graphite: #2f2822;
  --color-badge-accent-soft: rgba(124, 58, 237, 0.64);
  --shadow-soft: 0 1rem 2.8rem rgb(var(--color-ink-rgb) / 0.12);
  --shadow-card: 0 .7rem 1.8rem rgb(var(--color-ink-rgb) / .06);
  --shadow-card-hover: 0 1.1rem 2.2rem rgb(var(--color-ink-rgb) / .1);
  --radius-sm: 6px;
  --radius-md: 8px;
  --shell: min(1120px, calc(100vw - 40px));
  --space-xs: .5rem;
  --space-sm: .75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --section-y: clamp(4.5rem, 8vw, 7.5rem);
  --section-y-tight: clamp(3.5rem, 6vw, 5.25rem);
  --z-sticky: 80;
  --z-skip: 100;
  --duration-base: 180ms;
  --duration-medium: 280ms;
  --duration-slow: 620ms;
  --ease-out: cubic-bezier(.2, .8, .2, 1);
  --ease-out-quart: cubic-bezier(.25, 1, .5, 1);
  --ease-out-quint: cubic-bezier(.22, 1, .36, 1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; overflow-x: clip; }
body { margin: 0; font-family: var(--font-body); color: var(--color-ink); background: var(--color-paper); font-size: var(--text-body); line-height: var(--leading-body); font-kerning: normal; font-optical-sizing: auto; text-rendering: optimizeLegibility; overflow-x: hidden; overflow-x: clip; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: .18em; transition: color var(--duration-base) var(--ease-out), text-decoration-color var(--duration-base) var(--ease-out); }
a:hover { color: var(--color-primary-dark); }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
::selection { background: var(--color-sage); color: var(--color-ink); }
.skip-link { position: absolute; left: var(--space-md); top: var(--space-xs); z-index: var(--z-skip); transform: translateY(-160%); background: var(--color-ink); color: var(--color-surface); padding: .7rem 1rem; border-radius: var(--radius-sm); }
.skip-link:focus { transform: translateY(0); }
.shell { width: var(--shell); margin-inline: auto; }
.shell, .hero__content, .contact-options, .contact-form, .split__text, .section-head, .text-flow { min-width: 0; }
.icon { width: 1.05em; height: 1.05em; flex: 0 0 auto; }
.site-header { position: -webkit-sticky; position: sticky; top: 0; left: 0; right: 0; z-index: var(--z-sticky); background: rgb(var(--color-paper-rgb) / .88); border-bottom: 1px solid rgb(var(--color-ink-rgb) / .08); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.site-header__inner { min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { display: inline-flex; align-items: center; gap: .8rem; text-decoration: none; min-width: 0; transition: transform var(--duration-base) var(--ease-out), opacity var(--duration-base) var(--ease-out); }
.brand:hover, .brand:focus-visible { color: var(--color-ink); transform: translateY(-1px); opacity: .82; }
.brand img { width: 108px; height: auto; transition: transform var(--duration-base) var(--ease-out); }
.brand:hover img, .brand:focus-visible img { transform: scale(1.025); }
.brand span { color: var(--color-muted); font-size: var(--text-caption); line-height: 1.12; max-width: 12rem; transition: color var(--duration-base) var(--ease-out); }
.brand:hover span, .brand:focus-visible span { color: var(--color-accent-dark); }
.site-nav { display: flex; align-items: center; gap: .35rem; }
.site-nav a { min-height: 44px; display: inline-flex; align-items: center; text-decoration: none; padding: .55rem .75rem; border-radius: var(--radius-sm); font-weight: var(--weight-semibold); font-size: .98rem; line-height: 1.2; color: var(--color-ink); }
.site-nav a:hover, .site-nav a:focus-visible, .site-nav a[aria-current='page'] { background: var(--color-accent-soft); color: var(--color-accent-dark); }
.nav-toggle { display: none; flex-direction: column; align-items: center; justify-content: center; gap: 4px; width: 46px; min-height: 44px; border: 1px solid var(--color-line); background: var(--color-surface); color: var(--color-ink); border-radius: var(--radius-sm); padding: 0; transition: transform var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out); }
.nav-toggle:hover, .nav-toggle:focus-visible { transform: translateY(-1px); background: var(--color-primary-soft); border-color: var(--color-primary-line); }
.nav-toggle__line { display: block; width: 20px; height: 2px; border-radius: 999px; background: currentColor; transition: transform var(--duration-base) var(--ease-out), opacity var(--duration-base) var(--ease-out); }
.nav-toggle[aria-expanded='true'] .nav-toggle__line:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.nav-toggle[aria-expanded='true'] .nav-toggle__line:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded='true'] .nav-toggle__line:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.hero { position: relative; min-height: clamp(480px, 66svh, 710px); display: grid; align-items: end; isolation: isolate; overflow: hidden; }
.hero--home { min-height: min(820px, calc(100svh - 30px)); }
.hero__media, .hero__shade { position: absolute; inset: 0; z-index: -2; }
.hero__image { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero__shade { z-index: -1; background: linear-gradient(90deg, rgb(var(--color-deep-rgb) / .68), rgb(var(--color-deep-rgb) / .46) 39%, rgb(var(--color-deep-rgb) / .16) 67%, rgb(var(--color-deep-rgb) / .03)), linear-gradient(180deg, rgb(var(--color-deep-rgb) / .02), rgb(var(--color-deep-rgb) / .2)); }
.hero__content { padding-block: clamp(5rem, 10vw, 8rem) clamp(4rem, 8vw, 6rem); color: var(--color-surface); max-width: var(--shell); text-shadow: 0 2px 18px rgb(36 26 20 / .45); }
.hero__content > * { max-width: 900px; }
h1, h2, h3 { font-family: var(--font-display); line-height: var(--leading-heading); letter-spacing: 0; margin: 0; font-weight: var(--weight-regular); overflow-wrap: normal; hyphens: manual; text-wrap: balance; }
h1 { font-size: var(--text-h1); line-height: var(--leading-tight); }
h2 { font-size: var(--text-h2); }
h3 { font-size: var(--text-h3); }
p { margin: 0; }
.hero h1 { max-width: 9.1em; }
.hero__lead { font-size: var(--text-lead); line-height: var(--leading-lead); margin-top: 1.1rem; max-width: 56ch; }
.hero__body { margin-top: 1rem; color: rgb(255 253 250 / .9); max-width: 62ch; line-height: 1.72; }
.hero__actions, .section-actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-top: var(--space-lg); }
.section-actions--center { justify-content: center; }
.eyebrow { margin-bottom: .75rem; color: var(--color-accent); font-size: var(--text-label); font-weight: var(--weight-bold); line-height: 1.2; text-transform: uppercase; letter-spacing: 0; }
.eyebrow--light { color: var(--color-gold); }
.hero .eyebrow--light { color: var(--color-primary); }
.button { min-height: 46px; max-width: 100%; display: inline-flex; align-items: center; justify-content: center; gap: .55rem; padding: .78rem 1.08rem; border-radius: var(--radius-sm); border: 1px solid transparent; text-decoration: none; font-weight: var(--weight-bold); line-height: 1.15; text-align: center; transition: transform var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out); }
.button:hover, .button:focus-visible { transform: translateY(-2px); }
.button:active, .contact-button:active { transform: translateY(0) scale(.985); }
.button .icon, .text-link .icon, .contact-button .icon { transition: transform var(--duration-base) var(--ease-out-quart); }
.button:hover .icon, .button:focus-visible .icon, .text-link:hover .icon, .text-link:focus-visible .icon { transform: translateX(.12rem); }
.button--primary { position: relative; overflow: hidden; background: var(--color-primary); color: var(--color-ink); }
.button--primary::before { content: ''; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 18%, rgb(255 253 250 / .34) 50%, transparent 82%); transform: translateX(-120%); transition: transform 520ms var(--ease-out-quint); pointer-events: none; }
.button--primary:hover::before, .button--primary:focus-visible::before { transform: translateX(120%); }
.button--primary:hover, .button--primary:focus-visible { background: var(--color-primary-hover); color: var(--color-ink); }
.button--ghost { color: var(--color-primary-dark); border-color: var(--color-primary-line); background: transparent; }
.button--ghost:hover, .button--ghost:focus-visible { background: var(--color-primary-soft); color: var(--color-primary-dark); }
.hero .button--ghost { color: var(--color-surface); border-color: var(--color-primary-hero-line); background: color-mix(in oklch, var(--color-primary-veil) 60%, transparent); }
.hero .button { text-shadow: none; }
.hero .button--ghost:hover, .hero .button--ghost:focus-visible { color: var(--color-surface); background: var(--color-primary-veil); border-color: var(--color-primary-hero-line); }
.button--secondary { color: var(--color-primary-dark); border-color: var(--color-primary-line); background: transparent; }
.button--secondary:hover, .button--secondary:focus-visible { background: var(--color-primary-soft); color: var(--color-primary-dark); }
.button--light { background: var(--color-surface); color: var(--color-primary-dark); }
.button--outline { color: var(--color-primary-dark); border-color: var(--color-primary-line); background: color-mix(in oklch, var(--color-surface) 72%, transparent); }
.button--outline:hover, .button--outline:focus-visible { color: var(--color-primary-dark); border-color: var(--color-primary-hover); background: var(--color-primary-soft); }
.section { padding-block: var(--section-y); background: var(--color-paper); }
.section--tint { background: linear-gradient(180deg, var(--color-surface), var(--color-clay-soft)); }
.section-head { max-width: 780px; margin-bottom: clamp(2rem, 4vw, 3rem); display: grid; gap: var(--space-sm); }
.section-head .eyebrow { margin-bottom: 0; }
.section-head p:not(.eyebrow) { color: var(--color-muted); font-size: 1.12rem; line-height: var(--leading-body); max-width: 64ch; margin-top: 0; }
.trust-strip { background: linear-gradient(90deg, var(--color-accent-soft), var(--color-accent-tint)), var(--color-paper); color: var(--color-ink); border-block: 1px solid var(--color-accent-line); }
.trust-strip__inner { display: grid; grid-template-columns: minmax(140px, .6fr) 2.4fr; gap: 1rem; align-items: stretch; padding-block: 1.05rem; }
.trust-strip h2 { font-family: var(--font-body); font-size: var(--text-small); line-height: 1.2; font-weight: var(--weight-bold); text-transform: uppercase; letter-spacing: 0; color: var(--color-accent-dark); align-self: center; }
.trust-strip__items { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: .8rem; }
.trust-strip__items div { border-left: 1px solid var(--color-accent-line); padding-left: .85rem; min-height: 58px; display: flex; flex-direction: column; justify-content: center; }
.trust-strip strong { display: block; font-size: 1.04rem; line-height: 1.18; font-variant-numeric: tabular-nums; }
.trust-strip span { color: var(--color-accent-muted); font-size: var(--text-small); line-height: var(--leading-small); }
.trust-strip a { min-height: 44px; display: inline-flex; align-items: center; }
.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .82fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.split--reverse { grid-template-columns: minmax(320px, .82fr) minmax(0, 1fr); }
.split--reverse .split__text { order: 2; }
.split__text { display: grid; align-content: start; gap: var(--space-md); }
.split__text .eyebrow { margin-bottom: 0; }
.split__text p:not(.eyebrow) { color: var(--color-muted); line-height: var(--leading-body); margin-top: 0; max-width: 64ch; }
.split__text .section-actions { margin-top: var(--space-xs); }
.split__figure { margin: 0; position: relative; }
.split__image { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius-md); box-shadow: var(--shadow-soft); }
.split__figure figcaption { margin-top: .65rem; color: var(--color-muted); font-size: var(--text-small); line-height: var(--leading-small); }
.service-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: clamp(1rem, 2vw, 1.5rem); align-items: stretch; }
.service-card, .case-card, .press-card { background: linear-gradient(180deg, var(--color-surface), var(--color-card-warm)); border: 1px solid var(--color-line); border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-card); transition: transform var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out); }
.service-card { display: grid; grid-template-rows: auto 1fr; }
.service-card:hover, .case-card:hover, .press-card:hover { transform: translateY(-3px); border-color: var(--color-accent-line); box-shadow: var(--shadow-card-hover); }
.section--tint .service-card, .section--tint .case-card { background: linear-gradient(180deg, var(--color-paper), var(--color-surface)); }
.service-card__media { display: block; overflow: hidden; }
.service-card__media:hover .service-card__image, .service-card__media:focus-visible .service-card__image { transform: scale(1.035); }
.service-card__image { width: 100%; aspect-ratio: 5 / 3.25; object-fit: cover; transition: transform 360ms var(--ease-out); }
.service-card:hover .service-card__image { transform: scale(1.035); }
.service-card__body { padding: clamp(1rem, 2vw, 1.35rem); display: grid; gap: var(--space-xs); align-content: start; }
.service-card__meta, .case-card__tag { color: var(--color-accent); font-size: var(--text-caption); line-height: 1.22; text-transform: uppercase; letter-spacing: 0; font-weight: var(--weight-bold); margin-bottom: .45rem; font-variant-numeric: tabular-nums; }
.case-card__tag { color: var(--color-clay); }
.service-card h3 a { min-height: 44px; display: inline-flex; align-items: center; text-decoration: none; transition: color var(--duration-base) var(--ease-out); }
.service-card h3 a:hover, .service-card h3 a:focus-visible { color: var(--color-accent-dark); }
.service-card__meta { margin-bottom: 0; }
.service-card p:not(.service-card__meta), .case-card p:not(.case-card__tag) { color: var(--color-muted); line-height: var(--leading-small); margin-top: 0; }
.text-link { min-height: 44px; display: inline-flex; align-items: center; gap: .35rem; margin-top: auto; padding-top: var(--space-xs); color: var(--color-accent-dark); font-weight: var(--weight-bold); line-height: 1.2; text-decoration: none; transition: color var(--duration-base) var(--ease-out), gap var(--duration-base) var(--ease-out); }
.text-link:hover, .text-link:focus-visible { color: var(--color-primary-dark); gap: .55rem; }
.service-detail { --section-y: var(--section-y-tight); background: var(--color-paper); border-top: 1px solid var(--color-line); }
.service-detail__grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.service-detail__copy { display: grid; gap: var(--space-md); align-content: start; }
.service-detail__copy .eyebrow { margin-bottom: 0; }
.service-detail__copy p { margin-top: 0; color: var(--color-muted); line-height: var(--leading-body); max-width: 68ch; }
.service-detail__copy .section-actions { margin-top: var(--space-xs); }
.claim { color: var(--color-primary-dark) !important; font-weight: var(--weight-bold); font-size: var(--text-claim); line-height: 1.42; }
.service-detail__meta { color: var(--color-ink) !important; font-weight: var(--weight-bold); font-variant-numeric: tabular-nums; }
.benefit-panel { position: sticky; top: 96px; background: linear-gradient(180deg, var(--color-surface), var(--color-accent-tint)); border: 1px solid var(--color-accent-line); border-radius: var(--radius-md); padding: clamp(1rem, 2vw, 1.35rem); box-shadow: 0 .7rem 1.8rem rgb(var(--color-ink-rgb) / .05); }
.benefit-panel h3 { font-family: var(--font-body); font-size: 1.02rem; line-height: 1.2; font-weight: var(--weight-bold); text-transform: uppercase; letter-spacing: 0; color: var(--color-accent); margin-bottom: .9rem; }
.benefit-panel ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .65rem; }
.benefit-panel li { display: flex; gap: .55rem; align-items: flex-start; color: var(--color-muted); line-height: var(--leading-small); }
.benefit-panel .icon { color: var(--color-accent); margin-top: .18rem; }
.case-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 245px), 1fr)); gap: clamp(1rem, 2vw, 1.35rem); }
.case-card { padding: clamp(1rem, 2vw, 1.35rem); min-height: 220px; }
.case-card h3 { font-size: 1.62rem; line-height: 1.12; }
.case-grid--featured { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.case-card--media { padding: 0; display: grid; grid-template-rows: auto 1fr; min-height: 0; }
.case-card__media { display: block; width: 100%; border: 0; padding: 0; background: transparent; overflow: hidden; }
.case-card__media img { width: 100%; aspect-ratio: 5 / 3.4; object-fit: cover; transition: transform 360ms var(--ease-out); }
.case-card__media:hover img, .case-card__media:focus-visible img, .case-card--media:hover .case-card__media img { transform: scale(1.035); }
.case-card__body { padding: clamp(1rem, 2vw, 1.35rem); display: grid; gap: var(--space-xs); align-content: start; }
.case-card--media blockquote { margin: .25rem 0 0; color: var(--color-primary-dark); font-weight: var(--weight-bold); line-height: var(--leading-small); }
.case-card--media blockquote::before { content: '"'; }
.case-card--media blockquote::after { content: '"'; }
.reference-stories { display: grid; gap: clamp(1rem, 2.4vw, 1.5rem); }
.reference-story { display: grid; grid-template-columns: minmax(290px, .78fr) minmax(0, 1fr); background: linear-gradient(180deg, var(--color-surface), var(--color-card-warm)); border: 1px solid var(--color-line); border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-card); transition: transform var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out); }
.reference-story:hover { transform: translateY(-3px); border-color: var(--color-accent-line); box-shadow: var(--shadow-card-hover); }
.reference-story--text-only { grid-template-columns: 1fr; }
.reference-story__media { display: grid; grid-template-columns: 1.15fr .85fr; grid-template-rows: repeat(2, minmax(0, 1fr)); width: 100%; min-height: 100%; border: 0; padding: 0; background: var(--color-accent-tint); overflow: hidden; }
.reference-story__media img { width: 100%; height: 100%; min-height: 180px; object-fit: cover; transition: transform 420ms var(--ease-out); }
.reference-story__media img:first-child { grid-row: 1 / span 2; min-height: 360px; }
.reference-story__media:hover img, .reference-story__media:focus-visible img { transform: scale(1.028); }
.reference-story__body { padding: clamp(1.05rem, 2.4vw, 1.7rem); display: grid; gap: var(--space-xs); align-content: start; }
.reference-story--text-only .reference-story__body { padding-block: clamp(1.2rem, 2.8vw, 2rem); }
.reference-story__meta { color: var(--color-accent); font-size: var(--text-caption); font-weight: var(--weight-bold); line-height: 1.22; text-transform: uppercase; letter-spacing: 0; }
.reference-story h3 { font-size: clamp(1.45rem, 2.4vw, 2rem); }
.reference-story__intro { color: var(--color-muted); line-height: var(--leading-body); max-width: 74ch; }
.reference-story__quote { margin: .35rem 0 0; padding: .9rem 1rem; border: 1px solid var(--color-accent-line); border-radius: var(--radius-sm); background: color-mix(in oklch, var(--color-accent-soft) 68%, var(--color-surface)); color: var(--color-accent-dark); font-weight: var(--weight-bold); line-height: var(--leading-small); }
.reference-story__quote p::before { content: '"'; }
.reference-story__quote p::after { content: '"'; }
.reference-story__more { color: var(--color-muted); line-height: var(--leading-small); }
.reference-story__more summary { width: max-content; max-width: 100%; min-height: 44px; display: inline-flex; align-items: center; color: var(--color-primary-dark); font-weight: var(--weight-bold); cursor: pointer; transition: color var(--duration-base) var(--ease-out); }
.reference-story__more summary:hover, .reference-story__more summary:focus-visible { color: var(--color-accent-dark); }
.reference-story__more[open] summary { margin-bottom: .55rem; }
.reference-story__more p + p { margin-top: .55rem; }
.reference-story__gallery-link { justify-self: start; border: 0; background: transparent; padding-inline: 0; }
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: clamp(1rem, 2vw, 1.35rem); align-items: stretch; }
.gallery-grid--mixed { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gallery-grid--press { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.gallery-item { margin: 0; min-height: 100%; display: grid; grid-template-rows: auto 1fr; background: linear-gradient(180deg, var(--color-surface), var(--color-card-warm)); border: 1px solid var(--color-line); border-radius: var(--radius-md); overflow: hidden; transition: transform var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out); }
.gallery-item:hover { transform: translateY(-3px); border-color: var(--color-primary-line); box-shadow: 0 1rem 2rem rgb(var(--color-ink-rgb) / .08); }
.gallery-item__button, .press-card__image { display: block; width: 100%; border: 0; padding: 0; background: transparent; }
.gallery-item__button { aspect-ratio: 4 / 3; overflow: hidden; }
.gallery-item__image, .press-card__img { transition: transform 360ms var(--ease-out); }
.gallery-item__button:hover .gallery-item__image, .gallery-item__button:focus-visible .gallery-item__image, .press-card__image:hover .press-card__img, .press-card__image:focus-visible .press-card__img { transform: scale(1.035); }
.gallery-item__image { display: block; width: 100%; height: 100%; object-fit: cover; }
.gallery-grid--mixed .comparison-card .gallery-item__button { aspect-ratio: 4 / 3; }
.gallery-item figcaption { padding: .95rem; display: grid; gap: .2rem; align-content: start; }
.gallery-item figcaption strong { color: var(--color-clay); }
.gallery-item span, .section-note { color: var(--color-muted); font-size: var(--text-small); line-height: var(--leading-small); }
.section-note { margin-top: 1rem; }
.comparison-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.comparison-card__button { position: relative; overflow: hidden; }
.comparison-card .gallery-item__button { aspect-ratio: 4 / 3.2; }
.comparison-card__label { position: absolute; left: .75rem; top: .75rem; z-index: 1; padding: .28rem .55rem; border-radius: var(--radius-sm); background: rgb(var(--color-paper-rgb) / .88); color: var(--color-primary-dark) !important; font-size: var(--text-caption) !important; font-weight: var(--weight-bold); line-height: 1.15 !important; box-shadow: 0 .35rem 1rem rgb(var(--color-ink-rgb) / .12); }
.press-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: var(--space-md); }
.press-card { background: linear-gradient(180deg, var(--color-paper), var(--color-berry-soft)); }
.press-card__image { overflow: hidden; }
.press-card__img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: top; }
.press-card__body { padding: .9rem; }
.press-card__body p { color: var(--color-berry); font-size: var(--text-caption); font-weight: var(--weight-bold); line-height: 1.2; text-transform: uppercase; letter-spacing: 0; margin-bottom: .35rem; font-variant-numeric: tabular-nums; }
.press-card__body h3 { font-family: var(--font-body); font-size: 1.02rem; line-height: 1.22; font-weight: var(--weight-bold); }
.press-card__body span { display: block; color: var(--color-muted); margin-top: .35rem; font-size: var(--text-small); line-height: var(--leading-small); }
.press-card__body .press-card__meta { color: var(--color-primary-dark); font-weight: var(--weight-bold); }
.cta-band { background: linear-gradient(135deg, var(--color-accent-soft), var(--color-accent-tint)), var(--color-paper); color: var(--color-ink); padding-block: clamp(3.5rem, 6vw, 5.5rem); border-top: 0; border-bottom: 1px solid var(--color-accent-line); }
.cta-band__inner { display: grid; grid-template-columns: 1fr auto; gap: clamp(1.25rem, 4vw, 3rem); align-items: center; }
.cta-band h2 { max-width: 760px; }
.cta-band p:not(.eyebrow) { color: var(--color-accent-muted); max-width: 720px; margin-top: .75rem; }
.cta-band .eyebrow--light { color: var(--color-accent-dark); }
.cta-band .button--light { background: var(--color-primary); color: var(--color-ink); }
.cta-band .button--light:hover, .cta-band .button--light:focus-visible { background: var(--color-primary-hover); color: var(--color-ink); }
.contact-grid { display: grid; grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.contact-options p { color: var(--color-muted); margin-top: 1rem; }
.contact-buttons { display: grid; gap: .7rem; margin-block: 1.4rem; }
.contact-button { min-height: 54px; display: flex; align-items: center; gap: .75rem; padding: .8rem 1rem; border-radius: var(--radius-sm); background: var(--color-surface); border: 1px solid var(--color-line); text-decoration: none; font-weight: var(--weight-bold); line-height: 1.2; transition: transform var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out); }
.contact-button:hover, .contact-button:focus-visible { transform: translateY(-2px); border-color: var(--color-accent-line); background: var(--color-accent-soft); color: var(--color-ink); }
.contact-button:hover .icon, .contact-button:focus-visible .icon { transform: scale(1.08); }
.contact-button .icon { color: var(--color-accent); }
.contact-button--whatsapp { background: var(--color-primary-soft); border-color: var(--color-primary-line); color: var(--color-ink); }
.contact-button--whatsapp .icon { color: var(--color-primary-dark); }
.contact-button--whatsapp:hover, .contact-button--whatsapp:focus-visible { border-color: var(--color-primary-hover); background: color-mix(in oklch, var(--color-primary-soft) 72%, var(--color-surface)); }
.address-block { font-style: normal; padding-top: 1rem; border-top: 1px solid var(--color-line); color: var(--color-muted); }
.address-block a { min-height: 44px; display: inline-flex; align-items: center; }
.english-note { color: var(--color-primary-dark) !important; font-weight: var(--weight-bold); }
.contact-form { position: relative; overflow: hidden; background: var(--color-surface); border: 1px solid var(--color-line); border-radius: var(--radius-md); padding: clamp(1rem, 3vw, 1.5rem); box-shadow: var(--shadow-soft); display: grid; gap: var(--space-sm); transition: border-color var(--duration-medium) var(--ease-out), box-shadow var(--duration-medium) var(--ease-out); }
.contact-form.is-success { border-color: var(--color-accent-line); box-shadow: 0 1rem 2.6rem rgb(var(--color-ink-rgb) / .09), 0 0 0 5px color-mix(in oklch, var(--color-accent) 10%, transparent); }
.form-row { display: grid; gap: var(--space-xs); margin-bottom: 0; }
.form-row--split { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-sm); }
label { font-weight: var(--weight-bold); line-height: 1.2; color: var(--color-ink); transition: color var(--duration-base) var(--ease-out); }
label span { color: var(--color-muted); font-weight: var(--weight-regular); }
input, textarea, select { width: 100%; border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: var(--color-paper); color: var(--color-ink); padding: .82rem .9rem; min-height: 46px; transition: background var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out); }
textarea { resize: vertical; min-height: 9rem; }
.form-row:focus-within label { color: var(--color-accent-dark); }
input:focus, textarea:focus, select:focus, .button:focus-visible, a:focus-visible, button:focus-visible { outline: 3px solid color-mix(in oklch, var(--color-accent) 34%, transparent); outline-offset: 3px; }
[aria-invalid='true'] { border-color: var(--color-berry); box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-berry) 18%, transparent); animation: fieldNudge 180ms var(--ease-out-quart); }
input:focus, textarea:focus, select:focus { background: var(--color-surface); box-shadow: 0 .45rem 1rem rgb(var(--color-ink-rgb) / .06); }
.form-note, .form-status { color: var(--color-muted); font-size: var(--text-small); line-height: var(--leading-small); }
.form-status { min-height: 1.5rem; margin-top: .8rem; }
.contact-form.is-success .form-status { color: var(--color-accent-dark); font-weight: var(--weight-bold); animation: statusIn var(--duration-medium) var(--ease-out-quart); }
.contact-form.is-error .form-status { color: var(--color-berry); font-weight: var(--weight-bold); animation: statusIn var(--duration-medium) var(--ease-out-quart); }
.legal-hero { padding-block: clamp(5rem, 10vw, 8rem) clamp(3rem, 6vw, 4rem); background: var(--color-surface); border-bottom: 1px solid var(--color-line); }
.legal-hero h1 { color: var(--color-ink); }
.legal-hero p:not(.eyebrow) { color: var(--color-muted); line-height: var(--leading-body); max-width: 66ch; margin-top: 1rem; }
.text-flow { max-width: 72ch; }
.text-flow h2 { font-family: var(--font-body); font-size: 1.12rem; line-height: 1.25; font-weight: var(--weight-bold); margin-top: 2rem; text-transform: uppercase; letter-spacing: 0; color: var(--color-primary-dark); }
.text-flow h2:first-child { margin-top: 0; }
.text-flow p { color: var(--color-muted); line-height: var(--leading-body); margin-top: .7rem; }
.redirect-page { min-height: 100svh; display: grid; align-content: center; gap: 1rem; width: min(680px, calc(100vw - 40px)); margin-inline: auto; }
.site-footer { background: var(--color-deep); color: var(--color-surface); padding-block: 3rem 1.4rem; }
.site-footer__grid { display: grid; grid-template-columns: 1.25fr repeat(3, .75fr); gap: 1.5rem; }
.site-footer__logo { width: 118px; background: var(--color-paper); border-radius: var(--radius-sm); padding: .2rem; margin-bottom: .9rem; }
.site-footer h2 { font-family: var(--font-body); font-size: var(--text-caption); line-height: 1.2; font-weight: var(--weight-bold); text-transform: uppercase; letter-spacing: 0; color: var(--color-gold); margin-bottom: .7rem; }
.site-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .35rem; }
.site-footer a:not(.site-footer__badge) { color: rgb(255 253 248 / .82); transition: color var(--duration-base) var(--ease-out), text-decoration-color var(--duration-base) var(--ease-out); text-decoration-color: transparent; }
.site-footer a:not(.site-footer__badge):hover, .site-footer a:not(.site-footer__badge):focus-visible { color: var(--color-surface); text-decoration-color: rgb(255 253 248 / .55); }
.site-footer p { color: rgb(255 253 248 / .72); }
.site-footer__bottom { display: flex; justify-content: space-between; align-items: center; gap: 1rem; border-top: 1px solid rgb(255 253 248 / .12); margin-top: 2rem; padding-top: 1.2rem; }
.site-footer__badge {
  --badge-orbit-duration: 6.8s;
  --badge-orbit-thickness: 1px;
  --badge-trace-length: 8;
  --badge-trace-opacity: 0.67;
  --badge-rail: color-mix(in srgb, var(--color-paper) 90%, var(--color-ink) 10%);
  position: relative;
  display: inline-flex;
  justify-self: start;
  align-items: center;
  width: max-content;
  max-width: 100%;
  padding: 0.24rem;
  border: 0;
  border-radius: 0.52rem;
  background: transparent;
  box-shadow: 0 0.45rem 1.3rem -0.65rem var(--color-black-22);
  isolation: isolate;
  overflow: visible;
  transition: transform var(--duration-base) var(--ease-out);
}
.site-footer__badge-orbit { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.site-footer__badge-orbit-fill { fill: var(--color-paper); }
.site-footer__badge-orbit-rail, .site-footer__badge-orbit-trace { fill: none; vector-effect: non-scaling-stroke; }
.site-footer__badge-orbit-rail { stroke: var(--badge-rail); stroke-width: 1; }
.site-footer__badge-orbit-trace { stroke: rgb(124, 58, 237); stroke-width: var(--badge-orbit-thickness); stroke-linecap: round; opacity: 0; filter: drop-shadow(0 0 1px var(--color-badge-accent-soft)); }
.site-footer__badge-orbit.is-ready .site-footer__badge-orbit-trace { opacity: var(--badge-trace-opacity); }
.site-footer__badge-core { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 0.24em; min-height: 1.32rem; padding: 0.24rem 0.88rem; border-radius: 0.28rem; background: transparent; color: var(--color-graphite); font-size: 0.66rem; line-height: 1; letter-spacing: 0; font-weight: 500; text-transform: none; white-space: nowrap; }
.site-footer__badge-core strong { font-weight: 600; }
.site-footer__badge:hover, .site-footer__badge:focus-visible { transform: translateY(-2px); }
.lightbox { border: 0; padding: 0; background: transparent; width: min(1160px, calc(100vw - 28px)); max-width: min(1160px, calc(100vw - 28px)); overflow: visible; }
.lightbox[open] { animation: lightboxIn var(--duration-medium) var(--ease-out-quart); }
.lightbox::backdrop { background: rgb(var(--color-ink-rgb) / .75); }
.lightbox[open]::backdrop { animation: backdropIn var(--duration-medium) var(--ease-out-quart); }
.lightbox__frame { position: relative; display: grid; place-items: center; }
.lightbox__figure { margin: 0; display: grid; justify-items: center; gap: .75rem; width: 100%; }
.lightbox img { max-width: 100%; max-height: 82svh; width: auto; height: auto; object-fit: contain; border-radius: var(--radius-md); background: var(--color-surface); box-shadow: 0 1.2rem 3.2rem rgb(0 0 0 / .28); }
.lightbox__caption { width: min(100%, 1120px); display: flex; justify-content: space-between; gap: 1rem; color: var(--color-surface); font-weight: var(--weight-bold); line-height: var(--leading-small); text-shadow: 0 2px 12px rgb(0 0 0 / .42); }
.lightbox__counter { color: rgb(255 253 248 / .76); white-space: nowrap; }
.lightbox__close { position: fixed; right: 1rem; top: 1rem; width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--color-surface); color: var(--color-ink); font-size: 1.5rem; transition: transform var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out); }
.lightbox__close:hover, .lightbox__close:focus-visible { transform: translateY(-1px) scale(1.04); background: var(--color-primary-soft); }
.lightbox__nav { position: fixed; top: 50%; width: 46px; height: 46px; border: 0; border-radius: 50%; background: var(--color-surface); color: var(--color-primary-dark); font-size: 1.85rem; line-height: 1; display: inline-flex; align-items: center; justify-content: center; transform: translateY(-50%); transition: transform var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out); }
.lightbox__nav:hover, .lightbox__nav:focus-visible { background: var(--color-primary-soft); color: var(--color-ink); transform: translateY(-50%) scale(1.04); }
.lightbox__nav--prev { left: 1rem; }
.lightbox__nav--next { right: 1rem; }
.lightbox__nav[hidden] { display: none; }
@media (prefers-reduced-motion: no-preference) {
  .hero__image { animation: heroImageSettle 900ms var(--ease-out-quint) both; }
  .hero__content > * { animation: heroContentIn var(--duration-slow) var(--ease-out-quint) both; }
  .hero__content > *:nth-child(2) { animation-delay: 70ms; }
  .hero__content > *:nth-child(3) { animation-delay: 140ms; }
  .hero__content > *:nth-child(4) { animation-delay: 210ms; }
  .hero__content > *:nth-child(5) { animation-delay: 280ms; }
  html.reveal-prep .trust-strip__inner,
  html.reveal-prep .section-head,
  html.reveal-prep .split__text,
  html.reveal-prep .split__figure,
  html.reveal-prep .service-card,
  html.reveal-prep .service-detail__copy,
  html.reveal-prep .benefit-panel,
  html.reveal-prep .case-card,
  html.reveal-prep .reference-story,
  html.reveal-prep .gallery-item,
  html.reveal-prep .press-card,
  html.reveal-prep .cta-band__inner,
  html.reveal-prep .contact-options,
  html.reveal-prep .contact-form,
  html.reveal-prep .legal-hero .shell,
  html.reveal-prep .text-flow,
  .reveal-ready { --reveal-x: 0; --reveal-y: 1.85rem; --reveal-scale: 1; opacity: 0; transform: translate3d(var(--reveal-x), var(--reveal-y), 0) scale(var(--reveal-scale)); transform-origin: center top; transition: opacity 720ms var(--ease-out-quint), transform 720ms var(--ease-out-quint); transition-delay: var(--reveal-delay, 0ms); will-change: opacity, transform; }
  html.reveal-prep .section-head, html.reveal-prep .legal-hero .shell, html.reveal-prep .text-flow, .section-head.reveal-ready, .legal-hero .shell.reveal-ready, .text-flow.reveal-ready { --reveal-y: 1.15rem; }
  html.reveal-prep .trust-strip__inner, html.reveal-prep .cta-band__inner, .trust-strip__inner.reveal-ready, .cta-band__inner.reveal-ready { --reveal-y: 1rem; --reveal-scale: .99; }
  html.reveal-prep .split__text, html.reveal-prep .service-detail__copy, html.reveal-prep .contact-options, .split__text.reveal-ready, .service-detail__copy.reveal-ready, .contact-options.reveal-ready { --reveal-x: -1.35rem; --reveal-y: .65rem; }
  html.reveal-prep .split__figure, html.reveal-prep .benefit-panel, html.reveal-prep .contact-form, .split__figure.reveal-ready, .benefit-panel.reveal-ready, .contact-form.reveal-ready { --reveal-x: 1.35rem; --reveal-y: .65rem; --reveal-scale: .975; }
  html.reveal-prep .service-card, html.reveal-prep .case-card, html.reveal-prep .reference-story, html.reveal-prep .gallery-item, html.reveal-prep .press-card, .service-card.reveal-ready, .case-card.reveal-ready, .reference-story.reveal-ready, .gallery-item.reveal-ready, .press-card.reveal-ready { --reveal-y: 1.55rem; --reveal-scale: .972; }
  .reveal-ready.is-visible { opacity: 1; transform: translate3d(0, 0, 0) scale(1); will-change: auto; }
  .has-nav-open .site-nav a { animation: navItemIn var(--duration-medium) var(--ease-out-quart) both; }
  .has-nav-open .site-nav a:nth-child(2) { animation-delay: 35ms; }
  .has-nav-open .site-nav a:nth-child(3) { animation-delay: 70ms; }
  .has-nav-open .site-nav a:nth-child(4) { animation-delay: 105ms; }
  .has-nav-open .site-nav a:nth-child(5) { animation-delay: 140ms; }
}
@keyframes heroImageSettle {
  from { opacity: .88; transform: scale(1.035); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes heroContentIn {
  from { opacity: 0; transform: translateY(.85rem); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes navItemIn {
  from { opacity: 0; transform: translateY(-.35rem); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fieldNudge {
  0%, 100% { transform: translateX(0); }
  35% { transform: translateX(-.18rem); }
  70% { transform: translateX(.18rem); }
}
@keyframes statusIn {
  from { opacity: 0; transform: translateY(-.25rem); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes lightboxIn {
  from { opacity: 0; transform: translateY(.5rem) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes backdropIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@media (min-width: 981px) {
  .hero:not(.hero--home) h1 { font-size: 5.05rem; max-width: 9.8em; }
  .service-grid:has(> .service-card:nth-child(7)) { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .service-grid:has(> .service-card:nth-child(7)) .service-card { grid-column: span 2; }
  .service-grid:has(> .service-card:nth-child(7)) .service-card:nth-child(1),
  .service-grid:has(> .service-card:nth-child(7)) .service-card:nth-child(2),
  .service-grid:has(> .service-card:nth-child(7)) .service-card:nth-child(6),
  .service-grid:has(> .service-card:nth-child(7)) .service-card:nth-child(7) { grid-column: span 3; }
}
@media (max-width: 980px) {
  :root {
    --text-h1: 4.45rem;
    --text-h2: 3.2rem;
    --text-h3: 1.74rem;
    --text-lead: 1.3rem;
  }
  .service-grid, .case-grid, .gallery-grid, .comparison-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .case-grid--featured { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .reference-story { grid-template-columns: 1fr; }
  .reference-story__media { min-height: 340px; }
  .press-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .split, .split--reverse, .service-detail__grid, .contact-grid, .cta-band__inner { grid-template-columns: 1fr; }
  .split--reverse .split__text { order: initial; }
  .benefit-panel { position: static; }
  .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trust-strip__inner { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  :root {
    --text-h1: clamp(3.05rem, 8.4vw, 4.45rem);
    --text-h2: clamp(2.35rem, 5.8vw, 3.2rem);
    --text-lead: clamp(1.12rem, 2.4vw, 1.3rem);
  }
  .site-header__inner { min-height: 68px; }
  .brand img { width: 94px; }
  .brand span { display: none; }
  .nav-toggle { display: inline-flex; }
  .site-nav { position: fixed; inset: 68px 0 auto 0; background: var(--color-paper); border-bottom: 1px solid var(--color-line); display: grid; gap: .1rem; padding: .75rem 14px 1rem; transform: translateY(-120%); opacity: 0; pointer-events: none; transition: transform var(--duration-base) var(--ease-out), opacity var(--duration-base) var(--ease-out); }
  .has-nav-open .site-nav { transform: translateY(0); opacity: 1; pointer-events: auto; }
  .site-nav a { display: flex; min-height: 44px; align-items: center; }
  .hero { min-height: clamp(620px, 76svh, 720px); align-items: end; }
  .hero--home { min-height: min(780px, calc(100svh - 20px)); }
  .hero__shade { background: linear-gradient(180deg, rgb(var(--color-deep-rgb) / .14), rgb(var(--color-deep-rgb) / .52) 34%, rgb(var(--color-deep-rgb) / .82) 74%, rgb(var(--color-deep-rgb) / .88)); }
  .hero__content { padding-block: clamp(6rem, 13vw, 8rem) clamp(3.4rem, 8vw, 5rem); text-shadow: 0 2px 10px rgb(24 20 18 / .72), 0 12px 32px rgb(24 20 18 / .48); }
  .hero__content > * { max-width: 100%; }
  .hero h1 { max-width: 8.6em; }
  .form-note a, .text-flow a, .site-footer a:not(.site-footer__badge) { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; vertical-align: middle; }
}
@media (max-width: 760px) {
  :root {
    --shell: min(1120px, calc(100vw - 28px));
    --text-body: 1rem;
    --text-h1: 2.42rem;
    --text-h2: 2.04rem;
    --text-h3: 1.44rem;
    --text-lead: 1.03rem;
    --text-claim: 1.14rem;
    --leading-tight: 1.08;
    --leading-heading: 1.12;
    --leading-lead: 1.48;
  }
  .site-header__inner { min-height: 68px; }
  .brand img { width: 94px; }
  .brand span { display: none; }
  .nav-toggle { display: inline-flex; }
  .site-nav { position: fixed; inset: 68px 0 auto 0; background: var(--color-paper); border-bottom: 1px solid var(--color-line); display: grid; gap: .1rem; padding: .75rem 14px 1rem; transform: translateY(-120%); opacity: 0; pointer-events: none; transition: transform var(--duration-base) var(--ease-out), opacity var(--duration-base) var(--ease-out); }
  .has-nav-open .site-nav { transform: translateY(0); opacity: 1; pointer-events: auto; }
  .site-nav a { min-height: 44px; display: flex; align-items: center; }
  .hero { min-height: clamp(560px, 70svh, 620px); align-items: end; }
  .hero--home { min-height: 640px; }
  .hero__shade { background: linear-gradient(180deg, rgb(var(--color-deep-rgb) / .14), rgb(var(--color-deep-rgb) / .52) 34%, rgb(var(--color-deep-rgb) / .82) 74%, rgb(var(--color-deep-rgb) / .88)); }
  .hero__content { padding-block: clamp(6rem, 16vw, 7rem) 2.4rem; text-shadow: 0 2px 10px rgb(24 20 18 / .72), 0 12px 32px rgb(24 20 18 / .48); }
  .hero__content > * { max-width: 100%; }
  .hero h1 { max-width: 8.6em; }
  .case-card h3 { font-size: var(--text-h3); line-height: var(--leading-heading); }
  .hero__body { font-size: .95rem; }
  .hero__actions { width: 100%; max-width: 23rem; }
  .hero__actions .button { flex: 1 1 100%; }
  .section { padding-block: clamp(3.25rem, 11vw, 4rem); }
  .section-head { margin-bottom: var(--space-xl); }
  .service-grid, .case-grid, .case-grid--featured, .gallery-grid, .comparison-grid, .press-grid, .trust-strip__items { grid-template-columns: 1fr; }
  .reference-story__media { grid-template-columns: 1fr 1fr; min-height: 0; }
  .reference-story__media img, .reference-story__media img:first-child { min-height: 180px; }
  .reference-story__media img:first-child { grid-column: 1 / span 2; grid-row: auto; }
  .lightbox { width: calc(100vw - 20px); max-width: calc(100vw - 20px); }
  .lightbox img { max-height: 76svh; }
  .lightbox__caption { flex-direction: column; align-items: flex-start; gap: .2rem; font-size: var(--text-small); }
  .lightbox__nav { width: 42px; height: 42px; font-size: 1.55rem; }
  .form-row--split { grid-template-columns: 1fr; }
  .site-footer__grid, .site-footer__bottom { grid-template-columns: 1fr; display: grid; }
}
@media (max-width: 900px) and (max-height: 520px) {
  :root {
    --text-h1: clamp(2.75rem, 7vw, 3.6rem);
    --text-lead: 1.08rem;
  }
  .hero { min-height: max(560px, calc(100svh - 68px)); }
  .hero__content { padding-block: 5.2rem 2.5rem; }
  .hero h1 { max-width: 10em; }
  .hero__body { font-size: .95rem; }
  .hero__actions { max-width: none; }
  .hero__actions .button { flex: 0 1 auto; }
}
@media (max-width: 360px) {
  :root {
    --shell: min(1120px, calc(100vw - 24px));
    --text-h1: 2.16rem;
    --text-h2: 1.86rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
  .reveal-ready { opacity: 1 !important; transform: none !important; }
}
