/* FR Impact · premium presentation. Append after the preserved site stylesheet. */
:root {
  color-scheme: dark;
  --premium-bg: #050b13;
  --premium-surface: #0c1522;
  --premium-raised: #122031;
  --premium-white: #f5efe2;
  --premium-muted: #acb7c6;
  --premium-line: #b9cae022;
  --premium-champagne: #d8c2a0;
  --premium-silver: #cad5df;
  --premium-red: #c52c32;
  --premium-red-light: #f18d92;
  --ink: var(--premium-white);
  --paper: var(--premium-bg);
  --night: #07101b;
  --cream: #0c1522;
  --surface: var(--premium-surface);
  --selection: #172536;
  --muted: var(--premium-muted);
  --line: var(--premium-line);
  --gold: var(--premium-champagne);
  --blue: var(--premium-champagne);
  --red: var(--premium-red);
  --on-dark: var(--premium-white);
  --v32-paper: var(--premium-bg);
  --v32-ink: var(--premium-white);
  --v32-muted: var(--premium-muted);
  --v32-line: var(--premium-line);
  --v32-accent: var(--premium-champagne);
  --v30-paper: var(--premium-surface);
  --v30-ink: var(--premium-white);
  --v30-muted: var(--premium-muted);
  --v30-line: var(--premium-line);
  --v30-red: var(--premium-champagne);
  --max: 1360px;
  --sans: 'Manrope', Arial, sans-serif;
  --serif: 'Cormorant Garamond', Georgia, serif;
  --premium-display: 'Manrope', 'Montserrat', Arial, sans-serif;
}
html {scroll-padding-top: 108px; background: var(--premium-bg);}
body {background: var(--premium-bg); color: var(--premium-white); font-family: var(--sans); font-size: 16px; line-height: 1.75;}
body main, body.page-index main {background: var(--premium-bg);}
body ::selection {background: #c52c32; color: #fff;}
body .wrap {width: min(var(--max), calc(100% - 112px));}
body h1, body h2, body h3 {color: var(--premium-white);}
body h1, body h2 {font-family: var(--premium-display); font-weight: 500; line-height: 1.075; letter-spacing: -.055em;}
body h1 {font-size: clamp(46px, 6.2vw, 90px);}
body h2 {font-size: clamp(36px, 4.4vw, 64px);}
body h3 {font-weight: 600; letter-spacing: -.035em;}
body h1 em, body h2 em {font-family: var(--serif); color: #e2ded6; font-weight: 400; letter-spacing: -.035em;}
body .eyebrow, body .kicker, body .label, body .v32-eyebrow, body .v30-kicker {color: #bdc0c8; font-size: 11px; letter-spacing: .14em; font-weight: 650;}
body .lead, body .fine, body .hint, body .visual-caption, body .tax-notice {color: var(--premium-muted);}
body .lead {font-size: 17px; line-height: 1.85;}
body .fine, body .hint, body .visual-caption {font-size: 13px; line-height: 1.75;}
body .section, body .v32-section, body .v30-section {padding: clamp(68px, 7.5vw, 112px) 0;}
body .cream, body .v30-soft {background: #0c1522;}
body .dark {background: #07101b; color: var(--premium-white);}
body .dark :is(h1,h2,h3,.price,.lead,.eyebrow,.kicker,.text-link) {color: var(--premium-white);}
body .dark :is(p,.fine,.hint) {color: var(--premium-muted);}
body .skip {background: var(--premium-white); color: var(--premium-bg); border-radius: 3px; box-shadow: 0 4px 24px #0008;}
body :is(a,button,input,select,textarea,summary):focus-visible {outline: 2px solid #f4f0e8; outline-offset: 5px;}
body :is(a,button,input,select,textarea,summary) {scroll-margin-top: 112px;}
body .button, body .v32-button, body .v30-button,
body .page-index .v25-offer .button, body .offer.featured .button,
body .signature-close .button, body .cta-panel .button {
  min-height: 54px; padding: 15px 22px; border: 1px solid var(--premium-champagne);
  border-radius: 3px; background: var(--premium-champagne); color: #0a1421;
  font-family: var(--sans); font-size: 13px; line-height: 1.55; font-weight: 650;
  box-shadow: none; gap: 20px; transition: background .2s, border-color .2s, transform .2s;
}
body .button.gold, body .dark .button.gold, body .cta-panel .button.gold {background: var(--premium-champagne); color: #0a1421; border-color: var(--premium-champagne);}
body .button:hover, body .v32-button:hover, body .v30-button:hover,
body .page-index .v25-offer .button:hover, body .offer.featured .button:hover,
body .signature-close .button:hover {background: #eee0c8; border-color: #eee0c8; color: #0a1421; transform: translateY(-1px);}
body .button.gold:hover, body .dark .button.gold:hover, body .cta-panel .button.gold:hover,
body .v36-screen-copy .v32-button:hover {background: #eee0c8; border-color: #eee0c8; color: #0a1421;}
body .button.outline, body .v32-button-secondary, body .v30-button-secondary,
body .page-index .v25-offer .button.outline {
  background: transparent; color: var(--premium-white); border-color: #ffffff4a;
}
body .button.outline:hover, body .v32-button-secondary:hover, body .v30-button-secondary:hover,
body .page-index .v25-offer .button.outline:hover {background: #ffffff0b; color: #fff; border-color: #ffffff88;}
body .button:disabled, body .project-summary .button:disabled {background: #232730; border-color: #343a45; color: #adb0b7; transform: none;}
body .text-link, body .v32-text-link, body .v32-external, body .v30-text-link, body .v36-detail-link {
  min-height: 44px; color: var(--premium-white); font-size: 13px; line-height: 1.6; border-color: #ffffff4a;
}
body .text-link:hover, body .v32-text-link:hover, body .v32-external:hover, body .v30-text-link:hover, body .v36-detail-link:hover {color: var(--premium-champagne); border-color: var(--premium-champagne);}
body .actions, body .v32-actions {gap: 12px;}

/* Persistent navigation: bright lettering, restrained border, clear controls. */
body .site-header, body .v32-header.site-header, body .site-header.harmony-header {
  height: 88px; top: 0; background: #050b13f5; color: var(--premium-white);
  backdrop-filter: blur(12px); border-bottom: 1px solid #b9cae012; box-shadow: none;
}
body .header-inner {gap: 30px;}
body .v32-header .brand, body .v32-header .brand img, body .brand {width: 192px;}
body .brand img {filter: brightness(0) invert(1); opacity: .96;}
body .main-nav {gap: 29px; margin-left: auto;}
body .v32-header .main-nav a {font-size: 12px; color: #dad9d6; font-weight: 550;}
body .v32-header .main-nav a:hover, body .v32-header .main-nav a[aria-current=page] {color: #fff;}
body .v32-header .main-nav .v32-nav-contact {
  margin-left: 14px; min-height: 46px; padding: 11px 0; border: 0;
  border-bottom: 1px solid #d8c2a050; border-radius: 0; color: var(--premium-white); background: transparent;
}
body .v32-header .main-nav .v32-nav-contact:hover {background: #d8c2a00c; border-color: #d8c2a070; color: #f5efe2;}
body .menu-toggle {border-color: #ffffff40; color: var(--premium-white); border-radius: 3px; background: transparent;}
body .menu-symbol:before, body .menu-symbol:after {background: currentColor;}

/* The opening keeps its exact words. The scene is the visual focal point. */
body .onyx-hero {position: relative; isolation: isolate; padding: 56px 0 0; overflow: hidden; background: var(--premium-bg);}
body .onyx-hero::before {content: ''; position: absolute; z-index: -1; pointer-events: none; inset: 0 0 auto; height: 850px; background: radial-gradient(ellipse at 79% 43%, #283d5718, transparent 60%);}
body .onyx-opening {grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); gap: 4%; align-items: center; padding-bottom: 32px; min-height: 620px;}
body .onyx-hero .v32-hero-copy {text-align: left; margin: 0; max-width: 680px; position: relative; z-index: 2;}
body .onyx-hero .v32-eyebrow {justify-content: flex-start; font-size: 10px!important; letter-spacing: .14em; margin-bottom: 32px; color: #b9bbc2;}
body .onyx-hero .v32-eyebrow>span {height: 6px; width: 6px; background: var(--premium-red); box-shadow: 0 0 16px #c52c3266;}
body .onyx-hero h1 {font-family: var(--premium-display); font-size: clamp(76px, 7.3vw, 108px); font-weight: 500; line-height: 1.045; letter-spacing: -.065em; color: var(--premium-white); text-wrap: initial;}
body .onyx-hero h1 em {display: inline-block; font-family: var(--serif); font-size: 1.21em; font-weight: 400; font-style: italic; letter-spacing: -.045em; color: #dcc9ad; line-height: .91; padding-bottom: .04em;}
body .onyx-hero .v32-intro {font-size: 16px; line-height: 1.85; max-width: 480px; color: #bfc0c6; margin: 30px 0 0;}
body .onyx-hero .v32-actions {justify-content: flex-start; align-items: stretch; margin: 28px 0 0; gap: 10px;}
body .onyx-hero .v32-button {font-size: 12px; padding: 15px 19px; gap: 17px;}
body .onyx-hero .v32-hero-note {font-size: 11px; color: #9b9ea7; line-height: 1.7; margin-top: 17px;}
body .onyx-art {
  position: relative; isolation: isolate; display: flex; align-items: center; justify-content: center;
  width: 100%; aspect-ratio: 1/1.04; border-radius: 0; overflow: hidden;
  background: radial-gradient(ellipse at 52% 48%, #1a2c432b 0%, #0b152218 46%, transparent 76%);
  border: 0; box-shadow: none;
}
body .onyx-art::before {content: ''; position: absolute; z-index: 1; pointer-events: none; inset: 0; width: auto; height: auto; transform: none; background: linear-gradient(180deg, transparent 78%, #050b1344);}
body .onyx-art::after {content: none;}
body .onyx-art canvas {position: absolute; z-index: 0; display: block; inset: 0; width: 100%; height: 100%; pointer-events: none;}
body .onyx-art img {position: relative; z-index: 2; width: 35%; height: auto; max-height: 75%; object-fit: contain; transform: rotate(-8deg); filter: drop-shadow(0 30px 24px #0009); pointer-events: none;}
body .onyx-art .impact-sculpture {position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0;}
body .sculpture-index {position: absolute; z-index: 3; top: 32px; left: auto; right: 25px; font-size: 9px; letter-spacing: .17em; color: #9bacc1;}
body .onyx-art-ring {z-index: 0; inset: 16%; border: 0; border-radius: 50%;}
body .onyx-art-caption {z-index: 3; bottom: 23px; left: 0; right: 0; color: #a8b6c7; text-align: center; letter-spacing: .21em; font-size: 9px;}
body .onyx-hero .v32-film-shell {margin: 48px 0 0; width: 100%; border-top: 0; padding-top: 12px;}
body .v32-film-caption {color: #adb0b8; font-size: 10px; padding: 0 0 14px; letter-spacing: .13em;}
body .v32-film-caption b {background: var(--premium-red);}
body .v32-motion-control {color: #d0d0d3; font-size: 11px;}
body .onyx-hero .v32-film {border-radius: 3px; border: 0; background: #0c1522; box-shadow: none; aspect-ratio: 2.12;}
body .v32-film>video {background: #050b13; object-fit: contain;}
body .v32-play {border-radius: 3px; left: 26px; bottom: 25px; background: #050b13db; border-color: #ffffff55; min-height: 50px; padding: 12px 18px; font-size: 12px;}
body .v32-play:hover {background: #d8c2a0; border-color: #d8c2a0; color: #0a1421;}
body .v32-film-note {font-size: 11px; color: #a9abb3; line-height: 1.8; margin: 14px 0 0;}
body .v32-hero-foot {justify-content: space-between; gap: 18px; margin-top: 31px; padding-bottom: 27px; font-size: 11px; color: #b5b7bf; border: 0; font-weight: 550; letter-spacing: .1em; text-transform: uppercase;}
body .v36-project-paths {margin-top: 28px; padding-block: 22px; gap: 34px; border-top: 0; border-bottom-color: var(--premium-line);}
body .v36-project-paths>span {font-size: 10px; color: #a9acb5;}
body .v36-project-paths a {font-size: 13px; color: #e8e5df; font-weight: 550;}
body .v36-project-paths a>span {color: var(--premium-champagne);}

/* Generous portfolio images with calm, readable captions. */
body .v32-section h2, body .v32-method-intro h2 {font-family: var(--premium-display); font-size: clamp(39px, 4.4vw, 66px); font-weight: 500; line-height: 1.12; letter-spacing: -.055em; color: var(--premium-white);}
body .v32-section h2 em {font-family: var(--serif); font-weight: 400; color: #d7c9b4;}
body .v32-section-head, body .section-head {margin-bottom: 46px; gap: 64px;}
body .v32-section-head>p, body .section-head>p {color: var(--premium-muted); font-size: 15px; line-height: 1.85;}
body .v32-section-head .v32-eyebrow {margin-bottom: 21px;}
body .v32-project-grid {grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px;}
body .v32-project-image {aspect-ratio: .93; background: #101d2d; border: 0; border-radius: 3px;}
body .v32-project-image img {transition: transform .55s cubic-bezier(.2,.7,.3,1);}
body .v32-project-image>span {right: 16px; bottom: 16px; background: #f4f0e8; color: #050b13; width: 45px; height: 45px; border-radius: 3px;}
body .v32-project-meta {padding: 23px 0 0;}
body .v32-project-meta>p {color: #a9acb5; font-size: 11px; margin-bottom: 8px;}
body .v32-project-meta h3 {font-size: 26px; font-weight: 550; line-height: 1.25; letter-spacing: -.04em;}
body .v32-project-meta .v32-external {font-size: 12px; color: #c1c3cb; margin-top: 6px;}
body .v32-project-meta .v32-external:hover {color: var(--premium-champagne);}
body .v32-more-projects {gap: 30px; margin-top: 42px; border-top-color: var(--premium-line); border-bottom: 0; padding: 20px 0;}
body .v32-more-projects>.v32-external {font-size: 15px;}
body .v32-more-projects small {font-size: 11px; color: #a9acb5;}
body .v32-section-tail {margin-top: 22px;}
body .v32-section-tail p {font-size: 11px; color: #a9acb5;}
body .v32-services {background: #091321; border: 0;}
body .v32-service-grid {column-gap: 66px;}
body .v32-service {border-top: 0; padding: 31px 0; gap: 22px; color: var(--premium-white);}
body .v32-service-number {color: #a4a7b0; font-size: 11px;}
body .v32-service h3 {font-size: 25px; font-weight: 550; margin-bottom: 13px;}
body .v32-service p {font-size: 14px; line-height: 1.85; color: #b2b5bd;}
body .v32-service>span:last-child {color: #c4c6cc; font-size: 24px;}
body .v32-service:hover h3, body .v32-service:hover>span:last-child {color: var(--premium-champagne);}
body .v32-bespoke {background: transparent; border: 0; border-top: 1px solid var(--premium-line); border-radius: 0; padding: 31px 0 0; margin-top: 35px;}
body .v32-bespoke h3 {font-size: 20px; color: var(--premium-white);}
body .v32-bespoke p {font-size: 13px; color: var(--premium-muted);}
body .v32-method-grid {gap: 100px;}
body .v32-method-intro>p:not(.v32-eyebrow) {font-size: 15px; color: var(--premium-muted); margin: 29px 0 16px;}
body .v32-signature {margin-top: 28px; gap: 16px;}
body .v32-signature-mark {width: 50px; height: 50px; color: #dcc9ad; background: transparent; border-color: #d8c2a04a; border-radius: 50%; font-family: var(--serif); font-style: italic; font-size: 31px;}
body .v32-signature strong {font-size: 13px; color: var(--premium-white);}
body .v32-signature small {font-size: 11px; color: #adb0b8;}
body .v32-process li {border-top-color: var(--premium-line); padding: 31px 0;}
body .v32-process li>span {color: #d8c2a0; font-size: 11px;}
body .v32-process h3 {font-size: 25px; color: var(--premium-white); font-weight: 550;}
body .v32-process p {font-size: 14px; color: var(--premium-muted);}

/* Existing moving-image work stays intact, with a clean cinematic frame. */
body .v36-screen-section, body .screen-section, body .shortfilm-section, body .signature-cinema {background: #07101c; color: var(--premium-white); border: 0; border-radius: 0;}
body .v36-screen-section {padding: 100px 0;}
body .v36-screen-grid {grid-template-columns: .85fr 1.15fr; gap: 76px;}
body .v36-screen-copy h2, body .v36-presenter-copy h2, body .v30-section h2 {color: var(--premium-white); font-family: var(--premium-display); font-size: clamp(36px,4.1vw,60px); font-weight: 550; line-height: 1.13; letter-spacing: -.06em;}
body .v36-screen-copy .v32-eyebrow {color: #adb0b8;}
body .v36-screen-copy p, body .v36-screen-copy li {font-size: 14px; color: #b9bbc3;}
body .v36-screen-copy .v32-button {background: var(--premium-champagne); color: #0a1421; border-color: var(--premium-champagne);}
body .v36-screen-frame {padding: 8px; background: #162435; border-color: #5b606b; border-radius: 6px; box-shadow: 0 30px 90px #0006;}
body .v36-screen-frame button {border-radius: 2px;}
body .v36-screen-play {border-radius: 3px; background: #050b13e8; border: 1px solid #ffffff55; font-size: 12px;}
body .v36-screen figcaption {color: #afb1b9; font-size: 11px; margin: 20px 0 0;}
body .v36-presenter-section {background: #0c1522;}
body .v36-presenter-copy>p:not(.v32-eyebrow), body .v36-presenter-figure figcaption {color: var(--premium-muted);}
body .v36-presenter-cover {background: #050b13; border-color: var(--premium-line); border-radius: 4px; box-shadow: none;}
body .v36-presenter-play {background: #050b13e6; border-color: #ffffff77; color: #fff;}
body .v25-film-card, body .video-card {background: #0c1522; border-color: var(--premium-line); color: var(--premium-white); border-radius: 3px;}
body .v25-film-cover, body .screen-cover, body .shortfilm-cover, body .real-film {border-radius: 3px; border-color: var(--premium-line); background: #050b13;}
body .v25-film-copy :is(h3,p), body .cinema-caption p {color: var(--premium-white);}
body .v25-film-copy p, body .v25-film-duration {color: var(--premium-muted);}
body .v25-film-play, body .real-film-play {color: var(--premium-white); background: #050b13e0; border-color: #ffffff66; border-radius: 3px;}

/* Pricing preserves the existing scope, terms and amounts. */
body.page-index .v25-offers {background: #091321; background-image: none; border: 0; padding: 100px 0;}
body.page-index .v25-offers h2 {font-family: var(--premium-display); font-size: clamp(38px,4.4vw,64px); color: var(--premium-white); font-weight: 550;}
body.page-index .v25-offers h2 em {font-family: var(--serif); color: #cacbd0; font-weight: 400;}
body.page-index .v25-offers .eyebrow {color: #b9bbc3; font-size: 10px;}
body.page-index .v25-offers .section-head>p {color: var(--premium-muted); font-size: 14px;}
body .v25-offer-grid {gap: 20px; align-items: stretch;}
body .v25-offer, body.page-index .v25-offer, body.page-index .v25-offer-focus,
body .offer, body .offer.featured, body .signature-price-grid article {
  background: transparent; color: var(--premium-white); border: 0; border-top: 1px solid #b9cae02a;
  padding: 32px; border-radius: 3px; box-shadow: none; transform: none;
}
body .v25-offer-focus, body.page-index .v25-offer-focus, body .offer.featured,
body .signature-price-grid article:nth-child(2) {background: #0e1c2d; border-color: #d8c2a070!important; color: var(--premium-white); box-shadow: none;}
body .v25-offer h3, body.page-index .v25-offer h3 {font-size: 28px; font-weight: 550; line-height: 1.25; color: var(--premium-white);}
body .v25-offer-description, body.page-index .v25-offer-description, body .v25-offer li, body.page-index .v25-offer li {font-size: 13px; line-height: 1.85; color: #b6b8c0;}
body .v25-offer-price {font-family: var(--sans); font-size: 56px; font-weight: 500; letter-spacing: -.07em; line-height: 1.1; color: var(--premium-white); margin-top: 29px;}
body .v25-offer-price>span, body.page-index .v25-offer-price>span {font-size: 11px; color: #aeb1b9; letter-spacing: 0; margin-bottom: 8px;}
body .v25-offer-price small {font-size: .48em; color: #aeb1b9; letter-spacing: -.02em;}
body .v25-offer .text-link, body.page-index .v25-offer .text-link {font-size: 12px; color: #d4d4d9; border-color: #ffffff35;}
body .v25-offer-terms, body.page-index .v25-offer-terms {font-size: 12px; line-height: 1.8; color: #b4b6be; margin-top: 28px;}
body .v25-budget-band {border-color: var(--premium-line); gap: 30px; padding-top: 28px;}
body .v25-budget-band h3 {font-size: 24px; color: var(--premium-white);}
body .v25-budget-band p {font-size: 14px; color: var(--premium-muted);}
body .offer.featured :is(h1,h2,h3,h2 em,.price,.label,.lead),
body .signature-price-grid article:nth-child(2) :is(h3,.signature-price,.kicker,p,.text-link) {color: var(--premium-white);}
body .offer.featured :is(p,ul,.eyebrow,.kicker), body .offer .price small {color: var(--premium-muted);}
body .offer li {border-top-color: var(--premium-line);}
body .signature-price-grid article {border-color: #ffffff27!important;}
body .signature-price-grid .signature-price, body .price {font-family: var(--sans); color: var(--premium-white); font-weight: 500; letter-spacing: -.06em;}
body .signature-price-grid .text-link {color: var(--premium-white); border-color: #ffffff44;}
body .signature-pricing {background: #050b13;}

/* Inner pages, actual project evidence, and long-form content. */
body .page-hero, body .inner-hero, body .harmony-inner-hero {background: #091321; background-image: linear-gradient(180deg,#091321,#050b13); padding: 50px 0 76px; border-bottom: 0;}
body .page-hero h1, body .page-hero h1 em, body .page-hero h2, body .page-hero h2 em {color: var(--premium-white); font-family: var(--premium-display); font-weight: 550;}
body .page-hero h1 em, body .page-hero h2 em {font-family: var(--serif); font-style: italic; font-weight: 400; color: #c2c4cb;}
body .breadcrumbs, body .breadcrumb {color: #a9acb5; font-size: 12px; margin-bottom: 34px;}
body .breadcrumbs a:hover {color: var(--premium-white);}
body .page-hero .hero-photo {border-radius: 3px; border: 1px solid #ffffff24;}
body .page-hero .lead {color: #b9bbc3;}
body .hero-price, body .hero-price strong {color: var(--premium-white);}
body .play-badge {background: #050b13e8; border: 1px solid #ffffff55; border-radius: 3px; color: var(--premium-white);}
body .copy h2 {font-family: var(--premium-display); font-weight: 550; font-size: clamp(28px,3vw,38px); line-height: 1.22; letter-spacing: -.045em;}
body .copy p, body .copy li {color: #b9bbc3;}
body .checklist li {border-color: var(--premium-line);}
body .checklist li:before {color: var(--premium-champagne);}
body .aside-card, body .service-card, body .expertise-card, body .journal-card, body .trust-founder-card,
body .intro-band, body .planner-teaser {background: #0c1522; border-color: var(--premium-line); color: var(--premium-white); border-radius: 3px; box-shadow: none;}
body .service-card:hover, body .expertise-card:hover {background: #122031;}
body .service-card :is(h3,.service-bottom), body .journal-card h3 {color: var(--premium-white);}
body .service-card p, body .journal-card p {color: var(--premium-muted);}
body .service-top {color: var(--premium-champagne);}
body .feature-image, body .article-image, body .case-visual img, body .case-detail img, body .harmony-project-cover {border-radius: 3px;}
body .related a, body .related article {border-color: var(--premium-line);}
body .evidence-case {background: #0c1522; border: 0;}
body .evidence-grid h2 {color: var(--premium-white);}
body .evidence-grid p, body .evidence-context .wrap>p:not(.eyebrow), body .evidence-note {color: var(--premium-muted);}
body .evidence-links a {color: #e9e7e2;}
body .browser-frame {background: #0e1b2b; border-color: #ffffff3d; border-radius: 4px;}
body .browser-top {background: #111e2e; border-bottom-color: #ffffff2a; color: #bbbfc9;}
body .browser-top span {color: #bbbfc9;}
body .work-card, body .work-picture {background: #101d2d; border-color: var(--premium-line); border-radius: 3px;}
body .work-caption :is(h3,p,.kicker), body .work-type {color: var(--premium-white);}
body .work-caption p, body .image-provenance, body .work-caption .fine {color: var(--premium-muted);}
body .work-open {color: #050b13; background: var(--premium-white); border-radius: 3px;}
body .work-card:hover .work-open {background: var(--premium-champagne); border-color: var(--premium-champagne); color: #0a1421;}
body .article-body, body .legal {color: #c4c6cc;}
body .article-body :is(h1,h2,h3), body .legal :is(h1,h2,h3,strong) {color: var(--premium-white);}
body .article-body a, body .legal a, body .sitemap-links a {color: #d8c2a0; text-decoration-color: #d8c2a055;}
body .sitemap-links a:hover {color: #fff;}
body .faq details, body .service-answers details {border-color: var(--premium-line); background: transparent; color: var(--premium-white); border-radius: 0;}
body .faq summary, body .service-answers summary {color: var(--premium-white);}
body .faq details p, body .service-answers details p {color: var(--premium-muted);}
body .v30-service {background: #0c1522; border-color: var(--premium-line); border-radius: 3px; color: var(--premium-white);}
body .v30-service.v30-content, body .v30-service.v30-local {background: #17151a;}
body .v30-service h3, body .v30-print-grid h2, body .v30-lead {color: var(--premium-white);}
body .v30-print-grid>div>p:not(.v30-kicker):not(.v30-lead):not(.v30-small), body .v30-service p {color: var(--premium-muted);}
body .v30-paper-scene {background: #0e1b2c; border-radius: 3px;}
body .v30-paper-back {background: #c52c32; color: #fff;}
body .v30-paper-front {background: #f4f0e8; color: #050b13;}
body .v30-paper-front strong {color: #050b13;}
body .recruitment-dossier, body .recruitment-facts, body .mission-summary-grid article {border-color: var(--premium-line); background: #0c1522; color: var(--premium-white);}

/* Budget tools remain legible and visually distinct from marketing imagery. */
body .planner-choice {background: #0c1522; border: 1px solid #ffffff2a; border-radius: 3px; padding: 25px;}
body .planner-choice b {color: var(--premium-white);}
body .planner-choice p {color: var(--premium-muted);}
body .planner-choice:has(input:checked) {background: #14263a; border-color: #d8c2a0;}
body .planner-choice input, body .consent input {accent-color: #d8c2a0;}
body .project-summary {background: #0e1b2c; color: var(--premium-white); border: 1px solid #ffffff3b; border-radius: 3px; box-shadow: none;}
body .project-summary :is(h1,h2,h3,.price,.lead,.summary-total strong) {color: var(--premium-white);}
body .project-summary :is(p,ul,.eyebrow,.kicker,.fine), body .planner-warning, body .planner-exclusions {color: var(--premium-muted);}
body .project-summary .text-link {color: #d8c2a0;}
body .gain-calculator-section, body .gain-calculator {background: var(--premium-bg);}
body .gain-fields, body .gain-result-panel, body .gain-explanation {background: #0c1522; border: 1px solid var(--premium-line); border-radius: 3px; box-shadow: none;}
body .gain-fields legend, body .gain-fields label, body .gain-primary-result>span {color: var(--premium-white);}
body .gain-fields input, body .gain-fields select {background: #050b13; color: var(--premium-white); border-color: #747986; border-radius: 3px;}
body .gain-primary-result strong {color: #f4f0e8; font-weight: 500;}
body .gain-primary-result, body .gain-result-list>div {border-color: var(--premium-line);}
body .gain-result-list strong {color: var(--premium-white);}
body .gain-reset {color: #d8c2a0; min-height: 44px; font-size: 13px;}
body .gain-status, body .gain-explanation p {color: var(--premium-muted);}

/* Conversion forms: clear labels, comfortable fields, visible errors. */
body .contact-layout {gap: 72px;}
body .contact-info h2 {font-size: clamp(33px,3.3vw,46px); line-height: 1.18;}
body .contact-info>a, body .contact-quick a {color: var(--premium-white);}
body .contact-info>a:hover, body .contact-quick a:hover {color: var(--premium-champagne);}
body .contact-form {background: #0b1625; color: var(--premium-white); border: 1px solid #ffffff33; border-radius: 3px; padding: 38px; box-shadow: none;}
body .form-required {color: #b7bac3; font-size: 13px;}
body .field label, body .gain-fields label {color: #f4f0e8; font-size: 14px; font-weight: 550;}
body .field input, body .field select, body .field textarea {
  min-height: 54px; background: #07101b; color: var(--premium-white); border: 1px solid #6b707c;
  border-radius: 3px; padding: 13px 14px; font-size: 16px; line-height: 1.55;
}
body .field textarea {min-height: 160px;}
body input::placeholder, body textarea::placeholder {color: #9499a5; opacity: 1;}
body .field :is(input,select,textarea):focus-visible {outline: 2px solid #f4f0e8; outline-offset: 3px; border-color: #f4f0e8;}
body .field :is(input,select,textarea)[aria-invalid=true] {border-color: #f18d92;}
body .field .hint {color: #aeb2be; font-size: 12px;}
body .optional-fields {border-color: var(--premium-line); border-radius: 3px; background: #ffffff03;}
body .optional-fields summary {color: var(--premium-white); min-height: 54px;}
body .optional-fields summary span {color: #adb0bb;}
body .consent {color: #bfc2cc; font-size: 13px; line-height: 1.8;}
body .consent a {color: #d8c2a0; text-decoration: underline; text-underline-offset: 3px;}
body .selected-offer, body .draft-notice {background: #172638; border-color: #d8c2a050; color: #e5dccb; border-radius: 3px;}
body .selected-offer :is(span,strong,p) {color: #e5dccb;}
body .form-status {color: #d8e3df; font-size: 14px; line-height: 1.7;}
body .form-status.error {color: #ffabb0;}

/* A deliberate final invitation and a quiet, complete footer. */
body .v32-faq summary {font-size: 15px; min-height: 76px; color: var(--premium-white);}
body .v32-faq summary>span {color: var(--premium-champagne);}
body .v32-faq details>p {color: #b7bac3; font-size: 14px; line-height: 1.85;}
body .v32-contact {background: #0b1625; color: var(--premium-white); padding: 112px 0; border-top: 1px solid var(--premium-line);}
body .v32-contact h2 {font-size: clamp(54px,7.3vw,108px); line-height: 1.04; color: var(--premium-white);}
body .v32-contact h2 em {font-family: var(--serif); color: #d7c9b4; font-weight: 400; font-style: italic; font-size: 1.14em;}
body .v32-contact .v32-eyebrow {color: #b6b9c2;}
body .v32-contact>.wrap>p:not(.v32-eyebrow) {font-size: 15px; color: #b4b7c0; margin: 30px auto 0;}
body .v32-contact .v32-button {background: var(--premium-champagne); border-color: var(--premium-champagne); color: #0a1421;}
body .v32-contact .v32-button-secondary {background: transparent; border-color: #ffffff44; color: var(--premium-white);}
body .v32-contact .v32-button:hover {background: #eee0c8; border-color: #eee0c8; color: #0a1421;}
body .v32-contact .v32-button-secondary:hover {background: #ffffff0c; border-color: #ffffff88; color: #fff;}
body .v32-contact>.wrap>.v32-contact-note {font-size: 12px; color: #a7aab5; margin-top: 24px;}
body .signature-close {background: #0b1625; border: 1px solid var(--premium-line); border-radius: 3px;}
body .signature-close :is(h2,h2 em), body .signature-close .text-link {color: var(--premium-white);}
body .signature-close :is(.close-label>.eyebrow,.close-bottom>p) {color: var(--premium-muted);}
body .site-footer {background: #050b13; color: var(--premium-white); padding: 64px 0 26px; border-top: 1px solid var(--premium-line);}
body .site-footer .footer-logo {width: 200px; filter: none!important;}
body .site-footer .footer-grid {gap: 40px;}
body .site-footer .footer-grid h3 {color: #afb2bc; font-size: 10px; font-weight: 600; letter-spacing: .15em;}
body .site-footer .footer-grid p {color: #aeb1bc; font-size: 13px; line-height: 1.9;}
body .site-footer .footer-grid a {color: #d2d3d8; font-size: 12px; min-height: 44px; line-height: 1.7;}
body .site-footer .footer-grid a:hover, body .site-footer .footer-bottom a:hover {color: #fff;}
body .site-footer .footer-bottom {color: #a6aab5; border-color: var(--premium-line); font-size: 11px; margin-top: 44px;}
body .site-footer .footer-bottom a {color: #aeb2bd;}
body dialog {background: #050b13; color: var(--premium-white); border: 1px solid #ffffff44; border-radius: 4px; box-shadow: 0 30px 120px #0009; width: min(1120px,94vw); max-height: 94dvh;}
body dialog::backdrop {background: #020306e6; backdrop-filter: blur(6px);}
body .dialog-bar {padding: 16px 20px; color: #d2d3d8; font-size: 12px; background: #12151b;}
body .dialog-bar button {border-color: #6b707c; color: #fff; border-radius: 3px; min-height: 44px;}
body dialog video {background: #050b13; max-height: 80dvh;}

/* Mobile dimensions are explicit so the original evolving templates stay stable. */
@media (min-width: 1600px) {
  body .onyx-opening {min-height: 690px;}
  body .onyx-hero h1 {font-size: 119px;}
}
@media (max-width: 1180px) {
  body .wrap {width: min(var(--max),calc(100% - 72px));}
  body .v32-header .brand, body .v32-header .brand img, body .brand {width: 174px;}
  body .v32-header .main-nav {gap: 20px;}
  body .v32-header .main-nav .v32-nav-contact {margin-left: 2px; padding-inline: 13px;}
  body .onyx-opening {min-height: 535px; gap: 3%;}
  body .onyx-hero h1 {font-size: clamp(70px,7.5vw,89px);}
  body .onyx-hero .v32-intro {font-size: 15px;}
  body .onyx-hero .v32-actions {flex-direction: column; align-items: flex-start;}
  body .onyx-art {aspect-ratio: .85;}
  body .v32-section-head, body .section-head, body .v32-method-grid, body .v32-faq-grid, body .contact-layout, body .v36-screen-grid {gap: 44px;}
  body .v25-offer, body.page-index .v25-offer {padding: 26px;}
  body .v25-offer h3, body.page-index .v25-offer h3 {font-size: 24px;}
}
@media (max-width: 900px) {
  body .wrap {width: calc(100% - 48px);}
  body .site-header, body .v32-header.site-header {height: 74px;}
  body .v32-header .brand, body .v32-header .brand img, body .brand {width: 166px;}
  body .v32-header .menu-toggle {
    display: inline-flex; margin-left: auto; color: var(--premium-white); border: 1px solid #ffffff44;
    background: transparent; border-radius: 3px; gap: 12px; height: 44px; min-width: 84px; padding: 10px 13px;
  }
  body .v32-header .menu-word {font-size: 11px;}
  body .v32-header .main-nav {
    display: none; position: absolute; top: 73px; left: 0; right: 0; width: 100%; margin: 0;
    padding: 16px 24px 26px; background: #0c0f15; border-bottom: 1px solid #ffffff3b;
    max-height: calc(100svh - 74px); overflow-y: auto;
  }
  body .v32-header .main-nav[data-open=true] {display: flex; flex-direction: column; align-items: stretch; gap: 0;}
  body .v32-header .main-nav a {font-size: 18px; min-height: 56px; padding: 13px 2px; border-bottom: 1px solid #ffffff24; color: var(--premium-white);}
  body .v32-header .main-nav .v32-nav-contact {margin: 18px 0 0; justify-content: center; min-height: 50px; padding-inline: 18px; border: 1px solid #d8c2a0; background: #d8c2a0; color: #0a1421; font-size: 13px;}
  body .v32-header .main-nav .v32-nav-contact:hover {background: #eee0c8; border-color: #eee0c8; color: #0a1421;}
  body .onyx-hero {padding-top: 38px;}
  body .onyx-opening {grid-template-columns: minmax(0,1fr) minmax(0,.84fr); min-height: 500px; gap: 20px; padding-bottom: 18px;}
  body .onyx-hero h1 {font-size: clamp(58px,8vw,76px);}
  body .onyx-hero .v32-eyebrow {font-size: 8px!important; letter-spacing: .1em; margin-bottom: 25px;}
  body .onyx-hero .v32-intro {font-size: 14px; margin-top: 24px;}
  body .onyx-hero .v32-button {font-size: 11px; padding-inline: 15px; min-height: 50px;}
  body .onyx-art {aspect-ratio: .7;}
  body .onyx-art img {width: 40%;}
  body .onyx-art-caption {left: 20px; bottom: 22px; font-size: 8px; letter-spacing: .13em;}
  body .v36-project-paths {gap: 22px; grid-template-columns: 1fr 1fr 1fr;}
  body .v36-project-paths>span {grid-column: 1/-1;}
  body .v36-project-paths a {font-size: 12px;}
  body .v32-section-head, body .section-head {gap: 26px; margin-bottom: 34px;}
  body .v32-section-head>p, body .section-head>p {font-size: 14px;}
  body .v32-project-grid {gap: 18px;}
  body .v32-project-meta h3 {font-size: 23px;}
  body .v32-project-meta>p {font-size: 10px;}
  body .v32-project-meta .v32-external {font-size: 11px; gap: 8px;}
  body .v32-service-grid {column-gap: 36px;}
  body .v32-service {gap: 13px; grid-template-columns: 20px 1fr 20px;}
  body .v32-service h3 {font-size: 23px;}
  body .v32-service p {font-size: 13px;}
  body .v32-method-grid, body .v32-faq-grid, body .v36-screen-grid, body .v36-presenter-grid {grid-template-columns: 1fr; gap: 38px;}
  body .v32-method-intro>p:not(.v32-eyebrow) {max-width: 650px;}
  body .v32-bespoke {display: block; padding: 29px 0 0;}
  body .v32-bespoke .v32-text-link {margin-top: 14px;}
  body .v25-offer-grid {grid-template-columns: 1fr; gap: 20px;}
  body .v25-offer, body.page-index .v25-offer {padding: 30px;}
  body .v25-offer h3, body.page-index .v25-offer h3 {font-size: 28px;}
  body .v25-offer-description {min-height: 0;}
  body .v25-offer .button, body.page-index .v25-offer .button {font-size: 13px;}
  body .contact-layout {grid-template-columns: 1fr; gap: 40px;}
  body .contact-info, body .aside-card {position: static;}
  body .site-footer .footer-grid {gap: 32px; grid-template-columns: 1fr 1fr;}
  body .v32-contact {padding: 80px 0;}
  body .v32-contact h2 {font-size: clamp(57px,8.5vw,82px);}
}
@media (max-width: 680px) {
  body .wrap {width: calc(100% - 40px);}
  body .onyx-opening {grid-template-columns: 1fr; min-height: 0; gap: 30px; padding-bottom: 0;}
  body .onyx-hero .v32-hero-copy {max-width: 100%;}
  body .onyx-hero h1 {font-size: clamp(59px,13.5vw,83px);}
  body .onyx-hero h1 em {font-size: 1.16em;}
  body .onyx-hero .v32-intro {font-size: 15px; line-height: 1.8; max-width: 480px;}
  body .onyx-hero .v32-eyebrow {font-size: 9px!important; margin-bottom: 27px;}
  body .onyx-hero .v32-actions {flex-direction: row; align-items: stretch; max-width: none; margin-top: 24px;}
  body .onyx-hero .v32-button {font-size: 12px; min-height: 52px; padding-inline: 17px;}
  body .onyx-art {aspect-ratio: 1.37; min-height: 235px; max-height: 410px;}
  body .onyx-art img {width: 35%; max-height: 70%;}
  body .onyx-art-ring {inset: 9% 25%;}
  body .onyx-art-caption {left: 0; right: 0; bottom: 18px; font-size: 8px;}
  body .sculpture-index {left: 22px; top: 21px; font-size: 8px;}
  body .onyx-art::after {inset: 12px;}
  body .onyx-hero .v32-film-shell {margin-top: 30px; padding-top: 20px;}
  body .onyx-hero .v32-film {aspect-ratio: 16/9;}
  body .v32-film-caption {gap: 12px; font-size: 9px; letter-spacing: .08em;}
  body .v32-motion-control {font-size: 10px; max-width: 155px; text-align: right;}
  body .v32-play {left: 14px; bottom: 14px; min-height: 44px; padding: 9px 13px; font-size: 11px;}
  body .v32-film-note {font-size: 10px; line-height: 1.8;}
  body .v32-hero-foot {justify-content: flex-start; gap: 13px 25px; margin-top: 25px; font-size: 10px; padding-bottom: 24px;}
  body .v36-project-paths {grid-template-columns: 1fr; gap: 0; margin-top: 20px; padding-block: 14px;}
  body .v36-project-paths>span {margin-bottom: 9px;}
  body .v36-project-paths a {border-top: 1px solid var(--premium-line); padding: 10px 0; font-size: 13px; min-height: 50px;}
  body .section, body .v32-section, body .v30-section {padding: 62px 0;}
  body .v32-section-head, body .section-head {display: grid; grid-template-columns: 1fr; gap: 23px; margin-bottom: 32px;}
  body .v32-section h2, body h2, body .v32-method-intro h2 {font-size: clamp(35px,8.8vw,48px); line-height: 1.14;}
  body .v32-section-head>p, body .section-head>p {font-size: 14px; max-width: 100%;}
  body .v32-section-head .v32-eyebrow {margin-bottom: 19px;}
  body .v32-project-grid {grid-template-columns: 1fr; gap: 36px;}
  body .v32-project-image {aspect-ratio: 1.16;}
  body .v32-project-meta {padding-top: 18px;}
  body .v32-project-meta h3 {font-size: 28px;}
  body .v32-project-meta>p {font-size: 11px;}
  body .v32-project-meta .v32-external {font-size: 12px; gap: 16px;}
  body .v32-more-projects {grid-template-columns: 1fr; gap: 0; margin-top: 28px; padding: 0;}
  body .v32-more-projects>.v32-external {padding: 16px 0; font-size: 15px; border-bottom: 1px solid var(--premium-line);}
  body .v32-more-projects>.v32-external:last-child {border-bottom: 0;}
  body .v32-section-tail {display: block; margin-top: 18px;}
  body .v32-section-tail p {font-size: 10px;}
  body .v32-section-tail .v32-text-link {margin-top: 13px;}
  body .v32-service-grid {grid-template-columns: 1fr;}
  body .v32-service {padding: 27px 0; grid-template-columns: 21px 1fr 20px; gap: 15px;}
  body .v32-service h3 {font-size: 24px;}
  body .v32-service p {font-size: 13px;}
  body .v32-bespoke {padding: 26px 0 0; margin-top: 24px;}
  body .v32-bespoke .v32-text-link {white-space: normal;}
  body .v32-method-grid {gap: 35px;}
  body .v32-method-intro>p:not(.v32-eyebrow) {font-size: 14px; margin-top: 25px;}
  body .v32-process li {padding: 26px 0; grid-template-columns: 23px 1fr; gap: 14px;}
  body .v32-process h3 {font-size: 23px;}
  body .v32-process p {font-size: 13px;}
  body .v36-screen-section {padding: 63px 0;}
  body .v36-screen-copy h2, body .v36-presenter-copy h2 {font-size: 39px;}
  body .v36-screen-frame {padding: 5px; border-radius: 4px;}
  body .v36-screen-play {left: 10px; bottom: 10px; font-size: 10px; padding: 8px 11px;}
  body .v36-screen figcaption {font-size: 10px; line-height: 1.8; margin-top: 15px;}
  body.page-index .v25-offers {padding: 63px 0;}
  body.page-index .v25-offers h2 {font-size: 38px;}
  body .v25-offer, body.page-index .v25-offer {padding: 27px;}
  body .v25-offer h3, body.page-index .v25-offer h3 {font-size: 28px;}
  body .v25-offer-price {font-size: 54px;}
  body .v25-offer-terms, body.page-index .v25-offer-terms {font-size: 11px;}
  body .v25-budget-band {display: block;}
  body .v25-budget-band .actions {margin-top: 17px; gap: 13px;}
  body .v32-faq summary {font-size: 14px; min-height: 74px;}
  body .v32-faq details>p {font-size: 13px; line-height: 1.85; padding-right: 10px;}
  body .v32-contact {padding: 68px 0;}
  body .v32-contact h2 {font-size: clamp(49px,12.5vw,72px);}
  body .v32-contact>.wrap>p:not(.v32-eyebrow) {font-size: 14px; margin-top: 26px;}
  body .v32-contact .v32-actions {max-width: 420px; margin-inline: auto; flex-direction: column; align-items: stretch;}
  body .v32-contact .v32-button {justify-content: space-between;}
  body .v32-contact>.wrap>.v32-contact-note {font-size: 11px;}
  body .page-hero, body .inner-hero, body .harmony-inner-hero {padding: 33px 0 53px;}
  body .page-hero h1, body h1 {font-size: clamp(37px,9.8vw,58px); line-height: 1.12;}
  body .breadcrumbs, body .breadcrumb {font-size: 11px; margin-bottom: 26px;}
  body .page-hero .lead, body .lead {font-size: 15px; line-height: 1.85;}
  body .page-hero .hero-photo {height: 300px;}
  body .content-grid, body .split, body .case-layout {gap: 32px;}
  body .copy h2 {font-size: 30px;}
  body .copy p {font-size: 15px;}
  body .aside-card, body .offer, body .offer.featured, body .signature-price-grid article {padding: 27px;}
  body .contact-form {padding: 25px 21px;}
  body .fields {grid-template-columns: 1fr; gap: 23px;}
  body .field input, body .field select, body .field textarea {font-size: 16px;}
  body .contact-form>.button {width: 100%; justify-content: space-between; gap: 12px;}
  body .contact-info>a {font-size: 20px; overflow-wrap: anywhere;}
  body .contact-info .fine {font-size: 12px;}
  body .gain-fields, body .gain-result-panel {padding: 27px 22px; border-radius: 3px;}
  body .gain-fields {padding-top: 34px;}
  body .gain-primary-result strong {font-size: clamp(40px,12vw,55px);}
  body .planner-choice {padding: 23px;}
  body .site-footer {padding-top: 45px;}
  body .site-footer .footer-grid {grid-template-columns: 1fr 1fr; gap: 32px 24px;}
  body .site-footer .footer-grid>div:first-child {grid-column: 1/-1;}
  body .site-footer .footer-grid>div:last-child {grid-column: 1/-1; padding-top: 25px; border-top: 1px solid var(--premium-line);}
  body .site-footer .footer-grid p {max-width: 100%;}
  body .site-footer .footer-grid a {font-size: 12px;}
  body .site-footer .footer-logo {width: 191px;}
  body .site-footer .footer-bottom {margin-top: 30px; gap: 13px;}
  body .dialog-bar {padding: 12px; font-size: 10px; gap: 12px;}
  body .dialog-bar span {max-width: 65%;}
  body .dialog-bar button {font-size: 12px; padding-inline: 10px; white-space: nowrap;}
}
@media (max-width: 430px) {
  body .wrap {width: calc(100% - 36px);}
  body .v32-header .brand, body .v32-header .brand img {width: 155px;}
  body .header-inner {gap: 15px;}
  body .onyx-hero {padding-top: 33px;}
  body .onyx-hero h1 {font-size: clamp(56px,14.45vw,62px); letter-spacing: -.075em;}
  body .onyx-hero h1 em {font-size: 1.14em; letter-spacing: -.05em;}
  body .onyx-hero .v32-eyebrow {font-size: 8px!important; letter-spacing: .1em; gap: 8px;}
  body .onyx-hero .v32-intro {font-size: 14px; margin-top: 24px;}
  body .v32-desktop-break {display: none;}
  body .onyx-hero .v32-actions {flex-direction: column; align-items: stretch; gap: 10px;}
  body .onyx-hero .v32-button {font-size: 12px; min-height: 52px; justify-content: space-between; padding-inline: 18px;}
  body .onyx-hero .v32-hero-note {font-size: 10px; margin-top: 16px;}
  body .onyx-opening {gap: 25px;}
  body .onyx-art {aspect-ratio: 1.31; min-height: 240px;}
  body .onyx-art img {width: 35%;}
  body .v32-hero-foot {font-size: 9px; gap: 13px 21px;}
  body .v32-section h2, body h2 {font-size: 35px;}
  body .v25-offer, body.page-index .v25-offer {padding: 24px;}
  body .v25-offer h3, body.page-index .v25-offer h3 {font-size: 26px;}
  body .v32-contact h2 {font-size: 47px;}
  body .v32-contact h2 em {font-size: 1.1em;}
  body .contact-form {padding: 24px 18px;}
  body .v36-screen-copy h2, body .v36-presenter-copy h2 {font-size: 35px;}
}
@media (prefers-reduced-motion: reduce) {
  html {scroll-behavior: auto;}
  body .button, body .v32-button, body .v30-button, body .v32-project-image img,
  body .work-card, body .work-open, body .onyx-art img {transition: none; animation: none;}
  body .button:hover, body .v32-button:hover, body .v30-button:hover {transform: none;}
  body .v32-project-image:hover img {transform: none;}
}
@media (forced-colors: active) {
  body .onyx-art {border: 1px solid CanvasText;}
  body .button, body .v32-button, body .v30-button, body .v32-header .main-nav .v32-nav-contact {border: 1px solid ButtonText;}
}
body .harmony-intro-picture figcaption { color: #f4f0e8; background: rgba(8,10,14,.88); border: 1px solid rgba(255,255,255,.16); }

/* V40: sculptural presentation, consistent curves and readable mobile details. */
:root {
  --impact-radius-sm: 12px;
  --impact-radius-card: 24px;
  --impact-radius-stage: 36px;
  --impact-ease: cubic-bezier(.2,.7,.2,1);
}
body .site-header, body .v32-header.site-header, body .site-header.harmony-header {
  position: sticky; top: 12px; width: min(1424px,calc(100% - 32px));
  height: 80px; margin: 12px auto 0; border: 1px solid #c7d1df26;
  border-radius: 24px; background: #08101ce8;
  box-shadow: 0 12px 48px #0003;
}
body .site-header .header-inner {width: calc(100% - 48px);}
body .v32-header .main-nav .v32-nav-contact {
  padding: 12px 20px; min-height: 46px; border: 1px solid #d8c2a05c;
  border-radius: 999px; background: #d8c2a009;
}
body :is(.button,.v32-button,.v30-button,.v32-play,.v25-film-play,.real-film-play,.v36-screen-play),
body .page-index .v25-offer .button, body .offer.featured .button,
body .signature-close .button, body .cta-panel .button {border-radius: 999px;}
body :is(.button,.v32-button,.v30-button)>span[aria-hidden=true] {
  transition: transform .3s var(--impact-ease);
}
body :is(.button,.v32-button,.v30-button):hover>span[aria-hidden=true] {transform: translate(2px,-2px);}
body .onyx-hero {padding-top: 64px;}
body .onyx-opening {min-height: 560px; gap: 5%; padding-bottom: 0;}
body .onyx-hero h1 {font-size: clamp(72px,7vw,104px); line-height: 1.04;}
body .onyx-hero .v32-intro {font-size: 17px; line-height: 1.8;}
body .onyx-hero .v32-actions {margin-top: 32px;}
body .onyx-art {
  aspect-ratio: 1; border: 1px solid #ced9e51a; border-radius: var(--impact-radius-stage);
  background: radial-gradient(ellipse at 52% 40%,#25395070,#0a142130 68%,#050b13 100%);
  box-shadow: inset 0 1px 0 #ffffff09,0 35px 90px #0002;
}
body .onyx-art::before {border-radius: inherit; background: linear-gradient(180deg,#d8c2a004,transparent 40%,#050b1344);}
body .onyx-art-caption {bottom: 28px; color: #b8c2cf;}
body .sculpture-index {right: 30px; top: 28px; color: #a7b3c5;}
body .onyx-hero .v32-film-shell {margin-top: 68px; padding-top: 0;}
body .v32-film-caption {padding-inline: 6px; font-size: 11px;}
body .onyx-hero .v32-film {
  aspect-ratio: 16/9; border: 1px solid #cad5df28; border-radius: var(--impact-radius-stage);
  box-shadow: 0 30px 90px #0005; overflow: hidden;
}
body .v32-play {left: 28px; bottom: 28px; padding-inline: 22px;}
body .v32-film-note {font-size: 12px; max-width: 800px; margin-top: 20px;}
body .v32-motion-control {
  border: 1px solid #c7d1df2e; padding: 9px 14px; border-radius: 999px;
  letter-spacing: 0; min-height: 40px; font-size: 11px; background: #ffffff04;
}
body .v32-hero-foot {justify-content: flex-start; flex-wrap: wrap; gap: 12px; margin-top: 30px; padding-bottom: 38px;}
body .v32-hero-foot>span {
  display: inline-flex; align-items: center; padding: 9px 16px; border-radius: 999px;
  border: 1px solid #b9cae023; background: #ffffff03; line-height: 1.5;
  letter-spacing: .06em; font-size: 10px; white-space: nowrap;
}
body .v36-project-paths {
  gap: 16px; padding: 24px; border: 1px solid #b9cae024; border-radius: 24px;
  background: linear-gradient(125deg,#101c2c,#091320); margin-top: 22px;
}
body .v36-project-paths a {padding: 12px 14px; border-radius: 14px; min-height: 48px; background: #ffffff04;}
body .v36-project-paths a:hover {background: #ffffff09;}
body .v32-section {padding: 112px 0;}
body .v32-project-grid {gap: 28px;}
body .v32-project {
  padding: 12px 12px 24px; background: linear-gradient(160deg,#101b2b,#0b1522);
  border: 1px solid #b9cae024; border-radius: 28px;
  transition: border-color .3s var(--impact-ease),transform .3s var(--impact-ease);
}
body .v32-project-image {border-radius: 18px; aspect-ratio: .96;}
body .v32-project-image>span, body .work-open {border-radius: 50%;}
body .v32-project-meta {padding: 23px 12px 0;}
body .v32-project-meta h3 {font-size: 27px;}
body .v32-project:hover {border-color: #d8c2a068;}
body .v32-service-grid {gap: 18px;}
body .v32-service {
  padding: 30px; border: 1px solid #b9cae024; border-radius: var(--impact-radius-card);
  background: #0d1929; gap: 20px; transition: background .3s,border-color .3s;
}
body .v32-service:hover {background: #122235; border-color: #d8c2a054;}
body .v32-service-number {width: 32px; height: 32px; border: 1px solid #ffffff26; border-radius: 50%; display: grid; place-items: center;}
body .v32-bespoke {border-radius: 24px; padding: 30px; border: 1px solid #b9cae024; background: #ffffff03;}
body .v32-process li {padding: 30px 26px; border: 1px solid #b9cae024; border-radius: 22px; background: #0c1624;}
body .v32-process {display: grid; gap: 16px;}
body .v36-screen-frame {border-radius: 28px; padding: 9px; background: #182536; border-color: #c7d1df36;}
body .v36-screen-frame button {border-radius: 19px; overflow: hidden;}
body .v36-screen-play {min-height: 44px; padding: 12px 18px;}
body .v25-offer, body.page-index .v25-offer, body.page-index .v25-offer-focus,
body .offer, body .offer.featured, body .signature-price-grid article {
  border: 1px solid #b9cae02a; border-radius: 28px; background: #0e1a29;
}
body .v25-offer-focus, body.page-index .v25-offer-focus, body .offer.featured {background: #14263a;}
body .v25-offer-visual {border-radius: 16px; background: #07101c;}
body .v25-offer-visual figcaption {color: #bcc5d1; font-size: 11px;}
body :is(.aside-card,.service-card,.expertise-card,.journal-card,.trust-founder-card,.intro-band,.planner-teaser,
  .work-card,.v30-service,.project-summary,.gain-fields,.gain-result-panel,.gain-explanation,.signature-close) {border-radius: 24px;}
body :is(.hero-photo,.feature-image,.article-image,.case-visual img,.case-detail img,.harmony-project-cover,
  .browser-frame,.work-picture,.v25-film-card,.video-card,.v25-film-cover,.screen-cover,.shortfilm-cover,.real-film,
  .v36-presenter-cover) {border-radius: 20px;}
body .contact-form {border-radius: 28px; box-shadow: 0 24px 72px #0003;}
body .field :is(input,select,textarea), body .gain-fields :is(input,select) {border-radius: 12px;}
body :is(.optional-fields,.selected-offer,.draft-notice,.planner-choice) {border-radius: 16px;}
body .v32-faq details {border-radius: 18px; border: 1px solid #b9cae026; padding-inline: 24px; background: #0c1624; margin-bottom: 12px;}
body .v32-faq details>p {padding-left: 0;}
body .v32-contact {position: relative; isolation: isolate; background: radial-gradient(ellipse at 50% 80%,#21334b66,transparent 70%),#091321;}
body dialog, body #film-dialog {border-radius: 24px; overflow: hidden;}
body .dialog-bar button {border-radius: 999px;}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  body .v32-project:hover {transform: translateY(-4px);}
}
@media (min-width:1600px) {
  body .onyx-opening {min-height: 600px;}
  body .onyx-hero h1 {font-size: 110px;}
}
@media (max-width:1180px) {
  body .site-header .header-inner {width: calc(100% - 40px);}
  body .v32-header .main-nav {gap: 20px;}
  body .v32-header .main-nav .v32-nav-contact {padding-inline: 16px;}
  body .onyx-opening {min-height: 520px;}
  body .onyx-hero h1 {font-size: clamp(67px,7.3vw,89px);}
  body .v32-service {padding: 26px; gap: 16px;}
}
@media (max-width:900px) {
  body .site-header, body .v32-header.site-header, body .site-header.harmony-header {height: 70px; top: 10px; width: calc(100% - 24px); margin-top: 10px; border-radius: 20px;}
  body .site-header .header-inner {width: calc(100% - 32px);}
  body .v32-header .menu-toggle {border-radius: 999px;}
  body .v32-header .main-nav {top: 80px; border: 1px solid #c7d1df30; border-radius: 20px; background: #0b1625f7; padding: 18px 24px 24px; max-height: calc(100svh - 106px); box-shadow: 0 24px 60px #0007;}
  body .v32-header .main-nav .v32-nav-contact {background: var(--premium-champagne); color: #0a1421; border-radius: 999px; padding-block: 15px;}
  body .onyx-hero {padding-top: 48px;}
  body .onyx-opening {min-height: 480px; gap: 24px;}
  body .onyx-hero h1 {font-size: clamp(57px,8vw,73px);}
  body .onyx-art {aspect-ratio: .75; border-radius: 28px;}
  body .onyx-hero .v32-intro {font-size: 15px;}
  body .v32-service {grid-template-columns: 32px 1fr 20px;}
  body .v32-project-grid {gap: 18px;}
  body .v32-project {padding: 9px 9px 22px; border-radius: 24px;}
  body .v32-project-meta {padding-inline: 8px;}
  body .v32-project-meta h3 {font-size: 23px;}
}
@media (max-width:680px) {
  :root {--impact-radius-stage: 24px; --impact-radius-card: 20px;}
  body .onyx-hero {padding-top: 36px;}
  body .onyx-opening {min-height: 0; gap: 32px;}
  body .onyx-hero h1 {font-size: clamp(59px,13.5vw,83px);}
  body .onyx-art {aspect-ratio: 1.25; min-height: 245px; border-radius: 28px;}
  body .onyx-art-caption {bottom: 20px;}
  body .sculpture-index {right: 20px; top: 20px; left: auto;}
  body .onyx-hero .v32-film-shell {margin-top: 40px;}
  body .v32-film-caption {align-items: flex-start; gap: 12px; font-size: 10px; letter-spacing: .07em; padding-inline: 0;}
  body .v32-film-caption>span {padding-top: 12px;}
  body .v32-motion-control {min-height: 44px; font-size: 11px; max-width: 164px; padding: 8px 12px; text-align: center; line-height: 1.6;}
  body .v32-play {left: 14px; bottom: 14px; min-height: 44px; padding: 10px 16px; font-size: 12px;}
  body .v32-film-note {font-size: 12px; line-height: 1.75; margin-top: 17px;}
  body .v32-hero-foot {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin-top: 24px; padding-bottom: 30px;}
  body .v32-hero-foot>span {justify-content: center; font-size: 9px; letter-spacing: .025em; padding: 9px 3px;}
  body .v36-project-paths {padding: 20px; margin-top: 12px; gap: 8px; border-radius: 22px;}
  body .v36-project-paths>span {margin-bottom: 6px;}
  body .v36-project-paths a {border: 0; padding: 12px 14px;}
  body .v32-section {padding: 72px 0;}
  body .v32-project-grid {gap: 24px;}
  body .v32-project {padding: 10px 10px 24px; border-radius: 24px;}
  body .v32-project-image {aspect-ratio: 1.12; border-radius: 16px;}
  body .v32-project-meta {padding: 20px 10px 0;}
  body .v32-project-meta h3 {font-size: 28px;}
  body .v32-service {padding: 24px 20px; grid-template-columns: 28px 1fr 18px; gap: 12px;}
  body .v32-service-number {width: 28px; height: 28px;}
  body .v32-service h3 {font-size: 22px;}
  body .v32-service p {font-size: 14px; line-height: 1.8;}
  body .v32-bespoke {padding: 24px; border-radius: 20px;}
  body .v32-process li {padding: 25px 20px; border-radius: 20px;}
  body .v32-process h3 {font-size: 22px;}
  body .v36-screen-frame {padding: 6px; border-radius: 22px;}
  body .v36-screen-frame button {border-radius: 16px;}
  body .v36-screen-play {padding: 10px 14px; font-size: 11px;}
  body .v36-screen figcaption {font-size: 12px; line-height: 1.75;}
  body .v25-offer, body.page-index .v25-offer, body .offer, body .offer.featured {border-radius: 24px;}
  body .v25-offer-terms, body.page-index .v25-offer-terms {font-size: 12px;}
  body .v32-faq details {padding-inline: 18px; border-radius: 16px;}
  body .v32-faq details>p {padding: 0 0 24px;}
  body .contact-form {border-radius: 24px;}
  body dialog, body #film-dialog {border-radius: 20px;}
}
@media (max-width:430px) {
  body .v32-header .brand, body .v32-header .brand img {width: 144px;}
  body .onyx-hero h1 {font-size: clamp(54px,14.2vw,62px);}
  body .onyx-hero .v32-actions {margin-top: 26px;}
  body .onyx-hero .v32-button {font-size: 12px;}
  body .v32-hero-foot>span {font-size: 8.5px;}
  body .v32-contact h2 {font-size: 47px;}
}
@media (prefers-reduced-motion:reduce) {
  body .v32-project, body .v32-service, body .v36-project-paths a,
  body :is(.button,.v32-button,.v30-button)>span[aria-hidden=true] {transition: none;}
  body .v32-project:hover, body :is(.button,.v32-button,.v30-button):hover>span[aria-hidden=true] {transform: none;}
}
