*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: Inter, system-ui, -apple-system, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: JetBrains Mono, Consolas, monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 2rem;
  padding-left: 2rem;
}
@media (min-width: 1400px) {

  .container {
    max-width: 1400px;
  }
}
.visible {
  visibility: visible;
}
.fixed {
  position: fixed;
}
.hidden {
  display: none;
}
.outline {
  outline-style: solid;
}
.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
@keyframes enter {

  from {
    opacity: var(--tw-enter-opacity, 1);
    transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
  }
}
@keyframes exit {

  to {
    opacity: var(--tw-exit-opacity, 1);
    transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
  }
}
.paused {
  animation-play-state: paused;
}

:root {
  color-scheme: light;
  --paper: #faf9f5;
  --ink: #24352c;
  --muted: #62675d;
  --line: #dedfd5;
  --orange: #b9512c;
  --sage: #e7ebde;
  --glass-shadow: 0 16px 44px -24px #34493330, inset 0 1px 0 #ffffff;
  font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body {
  margin: 0;
  min-width: 320px;
  background:
    radial-gradient(ellipse 850px 650px at 95% 5%, #e4ebd77a, transparent 75%),
    radial-gradient(ellipse 750px 700px at 0% 22%, #f5dac65c, transparent 75%),
    radial-gradient(ellipse 800px 850px at 100% 60%, #e6e1f35c, transparent 75%),
    var(--paper);
}
::-moz-selection { background: #edc7a5; color: #24352c; }
::selection { background: #edc7a5; color: #24352c; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button, input, textarea, select { border-radius: 0; }
button:disabled { cursor: wait; }
svg { flex-shrink: 0; }
img, svg { max-width: 100%; }
button, a { touch-action: manipulation; }
:focus-visible { outline: 2px solid #ac4927; outline-offset: 5px; }
main:focus { outline: none; }
h1, h2, h3, p { margin: 0; }
h1, h2, h3 { font-weight: 500; text-wrap: balance; }
h1 { font-size: clamp(42px, 5.2vw, 74px); line-height: 1.08; letter-spacing: -.055em; }
h2 { font-size: clamp(31px, 3.4vw, 46px); line-height: 1.15; letter-spacing: -.045em; }
h3 { font-size: 24px; line-height: 1.25; letter-spacing: -.035em; }
p { color: var(--muted); font-size: 16px; line-height: 1.8; }
address { font-style: normal; font-size: 15px; line-height: 1.9; color: var(--muted); }
.container { width: min(1240px, calc(100% - 96px)); max-width: 1240px; margin-inline: auto; padding-inline: 0; }
.serif { font-family: Georgia, 'Times New Roman', serif; font-style: italic; font-weight: 400; letter-spacing: -.055em; }
.eyebrow { display: flex; align-items: center; gap: 10px; color: #56604e; font-size: 10px; font-weight: 600; letter-spacing: .17em; line-height: 1.5; text-transform: uppercase; }
.eyebrow > span:not(.serif) { width: 6px; height: 6px; flex-shrink: 0; border-radius: 50%; background: var(--orange); }
.section-space { padding-block: 100px; }
.body-large { font-size: 20px; line-height: 1.65; color: #455245; }
.button { min-height: 48px; padding: 13px 22px; border: 1px solid transparent; display: inline-flex; align-items: center; justify-content: center; gap: 18px; font-size: 13px; font-weight: 500; line-height: 1.5; border-radius: 5px; transition: background .2s, transform .2s, border-color .2s; }
.button:hover { transform: translateY(-2px); }
.button-dark { background: var(--ink); color: #fffdf4; }
.button-dark:hover { background: #3b5140; }
.button-outline { border-color: #adb5a6; background: transparent; }
.button-outline:hover { background: #e9eddf; border-color: #6d7d62; }
.button-text { padding-inline: 8px; }
.button-text:hover { color: var(--orange); }
.button-row { display: flex; align-items: center; gap: 15px; flex-wrap: wrap; }
.text-link { display: inline-flex; align-items: center; gap: 20px; font-size: 14px; padding-block: 10px; border-bottom: 1px solid #9b9f8d; }
.text-link:hover { color: var(--orange); border-color: var(--orange); }
.skip-link { position: fixed; top: -100px; left: 15px; z-index: 100; padding: 15px 22px; background: var(--ink); color: white; }
.skip-link:focus { top: 10px; }
.site-header { position: sticky; top: 0; z-index: 40; background: #faf9f5f2; border-bottom: 1px solid var(--line); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.header-inner { height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-block; font-weight: 650; font-size: 24px; letter-spacing: -.055em; white-space: nowrap; }
.desktop-nav { display: flex; gap: 38px; margin-left: auto; margin-right: 70px; }
.desktop-nav a { font-size: 13px; padding: 12px 0; position: relative; color: #5b6055; }
.desktop-nav a:hover, .desktop-nav a.active { color: var(--ink); }
.desktop-nav a.active::after { content: ''; position: absolute; height: 2px; background: var(--orange); bottom: 2px; left: 0; right: 0; }
.header-contact { min-height: 42px; padding: 10px 18px; }
.menu-toggle { display: none; background: transparent; border: 1px solid var(--line); padding: 10px; color: var(--ink); }
.mobile-nav { display: none; }
.home-hero { padding-block: 75px 55px; display: grid; grid-template-columns: 1.06fr 1fr; gap: 44px; align-items: center; }
.hero-copy > .eyebrow { margin-bottom: 28px; }
.hero-copy h1 { font-size: clamp(48px, 5.7vw, 82px); }
.hero-india { position: relative; color: var(--orange); display: inline-block; }
.hero-india svg { position: absolute; width: 100%; height: 13px; left: 0; bottom: -8px; fill: none; stroke: #cb7650; stroke-width: 2; }
.hero-description { color: #42523f; font-size: 19px; margin-top: 30px; line-height: 1.65; }
.hero-detail { margin-top: 14px; max-width: 450px; font-size: 14px; line-height: 1.8; }
.hero-copy .button-row { margin-top: 30px; }
.hero-footnote { display: flex; align-items: center; gap: 9px; margin-top: 35px; font-size: 11px; color: #67715f; }
.india-flag { display: inline-block; width: 20px; height: 13px; border: 1px solid #d6d5c8; background: linear-gradient(#d77a3f 33.33%, #fffdf6 33.33%, #fffdf6 66.66%, #658b5f 66.66%); }
.hero-bottom { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--line); padding: 20px 0 25px; font-size: 10px; color: #747a6b; }
.hero-bottom a { display: inline-flex; gap: 18px; align-items: center; font-size: 12px; color: var(--ink); }
.hero-bottom > span { letter-spacing: .12em; }
.intelligence-art { position: relative; height: 530px; isolation: isolate; background: radial-gradient(ellipse at 50% 40%, #fae9d1 0, #f3f0e4 46%, #e9eee0 100%); overflow: hidden; border-radius: 8px 8px 70px 8px; border: 1px solid #e4e5d7; }
.art-grid { position: absolute; inset: 0; opacity: .42; background-image: linear-gradient(#8b997619 1px, transparent 1px), linear-gradient(90deg, #8b997619 1px, transparent 1px); background-size: 35px 35px; }
.art-caption { position: absolute; top: 25px; left: 25px; display: flex; gap: 8px; align-items: center; letter-spacing: .11em; font-size: 8px; color: #6e775c; }
.tiny-dot { display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: #668567; }
.model-sculpture { position: absolute; width: 100%; height: 100%; inset: 0; }
.sculpture-layers { animation: breathe 8s ease-in-out infinite; }
@keyframes breathe { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
.art-orbit { border: 1px solid #939e7530; position: absolute; width: 400px; height: 400px; top: 70px; left: calc(50% - 200px); border-radius: 50%; transform: rotate(-35deg) scaleX(.6); }
.orbit-two { transform: rotate(40deg) scaleX(.7); }
.art-language { position: absolute; font-family: Georgia, serif; font-size: 35px; color: #526346; }
.language-one { top: 80px; left: 55px; transform: rotate(-8deg); }
.language-two { right: 35px; top: 145px; color: #a56143; }
.language-three { left: 35px; bottom: 125px; font-size: 27px; }
.art-label { position: absolute; border: 1px solid #d0d4c3; border-radius: 3px; padding: 9px 12px; font-size: 9px; background: #fcfcf2e8; box-shadow: 0 6px 18px #334a3610; }
.label-model { display: flex; align-items: center; gap: 8px; top: 94px; right: 40px; letter-spacing: .05em; }
.label-efficiency { bottom: 76px; right: 25px; }
.art-footer { position: absolute; bottom: 27px; left: 25px; right: 40px; display: flex; justify-content: space-between; gap: 12px; font-size: 8px; letter-spacing: .05em; color: #637359; }
.focus-section { background: #f1f2ea; border-block: 1px solid var(--line); }
.section-heading { display: flex; justify-content: space-between; gap: 36px; align-items: flex-end; margin-bottom: 44px; }
.section-heading .eyebrow { margin-bottom: 20px; }
.section-heading > p { max-width: 355px; font-size: 14px; }
.focus-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.warm { background: #f5e9dc; --diagram: #b46b42; }
.sage { background: #e3e9dc; --diagram: #64806a; }
.lavender { background: #e9e7ef; --diagram: #80728f; }
.focus-card { padding: 28px; border: 1px solid #31463214; border-radius: 7px; display: flex; flex-direction: column; position: relative; overflow: hidden; transition: transform .25s, box-shadow .25s; }
.focus-card:hover { transform: translateY(-5px); box-shadow: 0 16px 30px #34482c0c; }
.card-top { display: flex; justify-content: space-between; color: #475643; align-items: center; }
.card-top > span { font-size: 11px; opacity: .65; }
.card-diagram { height: 155px; display: flex; align-items: center; justify-content: center; position: relative; color: var(--diagram); margin-block: 10px 22px; }
.diagram-01 i { position: absolute; border: 1px solid currentColor; width: 108px; height: 108px; transform: rotate(30deg) skew(-20deg); background: #ffffff0a; }
.diagram-01 i:nth-child(1) { translate: 0 -24px; opacity: .3; }
.diagram-01 i:nth-child(2) { translate: 0 -16px; opacity: .4; }
.diagram-01 i:nth-child(3) { translate: 0 -8px; opacity: .5; }
.diagram-01 i:nth-child(4) { opacity: .6; }
.diagram-01 i:nth-child(5) { translate: 0 8px; opacity: .7; }
.diagram-01 i:nth-child(6) { translate: 0 16px; opacity: .8; }
.diagram-01 i:nth-child(7) { translate: 0 24px; }
.diagram-02 { gap: 7px; }
.diagram-02 i { width: 17px; height: 112px; background: currentColor; opacity: .2; border: 1px solid currentColor; }
.diagram-02 i:nth-child(2) { height: 96px; opacity: .3; }
.diagram-02 i:nth-child(3) { height: 80px; opacity: .4; }
.diagram-02 i:nth-child(4) { height: 64px; opacity: .5; }
.diagram-02 i:nth-child(5) { height: 48px; opacity: .6; }
.diagram-02 i:nth-child(6) { height: 32px; opacity: .7; }
.diagram-02 i:nth-child(7) { height: 16px; opacity: .8; }
.diagram-03 i { width: 112px; height: 112px; border: 1px solid currentColor; position: absolute; border-radius: 50%; opacity: .45; }
.diagram-03 i:nth-child(1) { translate: -32px 0; }.diagram-03 i:nth-child(2) { translate: 32px 0; }.diagram-03 i:nth-child(3) { translate: -16px -28px; }.diagram-03 i:nth-child(4) { translate: 16px -28px; }.diagram-03 i:nth-child(5) { translate: -16px 28px; }.diagram-03 i:nth-child(6) { translate: 16px 28px; }.diagram-03 i:nth-child(7) { width: 12px; height: 12px; background: currentColor; opacity: 1; }
.card-tag { font-size: 9px; letter-spacing: .14em; color: #636455; }
.focus-card h3 { margin-top: 12px; font-size: 24px; }
.focus-card p { margin-top: 14px; font-size: 13px; line-height: 1.8; }
.card-link { margin-top: auto; padding-top: 26px; display: flex; justify-content: space-between; align-items: center; font-size: 12px; }
.home-perspective { display: grid; grid-template-columns: 1fr 1.1fr; gap: 90px; align-items: center; }
.home-perspective .eyebrow { margin-bottom: 23px; }
.home-perspective .body-large { margin-block: 25px 14px; }
.home-perspective .text-link { margin-top: 20px; }
.perspective-art { background: #e6eadc; height: 410px; border-radius: 50% 50% 6px 6px; display: flex; align-items: center; justify-content: center; flex-direction: column; position: relative; overflow: hidden; }
.perspective-word { font-family: Georgia, serif; font-size: clamp(80px, 9vw, 132px); color: #496546; position: relative; z-index: 1; }
.perspective-ring { position: absolute; width: 270px; height: 270px; border: 1px solid #94a283; border-radius: 50%; top: 45px; }
.perspective-ring::before, .perspective-ring::after { content: ''; position: absolute; inset: -22px; border: 1px solid #94a28366; border-radius: 50%; }
.perspective-ring::after { inset: -44px; opacity: .4; }
.art-small-label { font-size: 8px; letter-spacing: .13em; margin-top: 15px; position: relative; }
.script-line { position: absolute; bottom: 0; padding: 22px; width: 100%; text-align: center; border-top: 1px solid #9ba89144; font-size: 18px; color: #7c8c6e; }
.script-line span { margin-inline: 30px; }
.research-strip { padding-block: 65px; background: #ebeee3; border-block: 1px solid var(--line); }
.research-strip-inner { display: grid; grid-template-columns: 1.4fr 1fr; gap: 80px; align-items: center; }
.research-strip .eyebrow { margin-bottom: 20px; }
.research-strip h2 { font-size: 36px; }
.research-strip .button { margin-top: 24px; }
.cta-section { padding-block: 90px; }
.cta-panel { background: #f3e8d8; border: 1px solid #e8ddcd; padding: 65px; border-radius: 7px; display: grid; grid-template-columns: 1.3fr 1fr; gap: 50px; align-items: center; overflow: hidden; }
.cta-panel .eyebrow { margin-bottom: 22px; color: #885439; }
.cta-panel h2 { font-size: clamp(36px, 4vw, 56px); }
.cta-panel p:not(.eyebrow) { margin-top: 22px; font-size: 14px; }
.cta-panel .button { margin-top: 27px; }
.cta-art { position: relative; width: 310px; height: 310px; margin: auto; display: grid; place-items: center; }
.cta-art div { position: absolute; width: 100%; height: 100%; border: 1px solid #bd8e5f66; border-radius: 40%; transform: rotate(20deg); }
.cta-art div:nth-child(2) { transform: rotate(40deg); width: 85%; height: 85%; }.cta-art div:nth-child(3) { transform: rotate(60deg); width: 70%; height: 70%; }.cta-art div:nth-child(4) { transform: rotate(80deg); width: 55%; height: 55%; }.cta-art div:nth-child(5) { transform: rotate(100deg); width: 40%; height: 40%; }
.cta-art span { color: #a76642; font-size: 76px; font-family: Georgia, serif; }
.site-footer { background: #f0f1e9; border-top: 1px solid var(--line); }
.footer-top { display: grid; grid-template-columns: 1.5fr .7fr 1fr 1.2fr; gap: 40px; padding-block: 65px; }
.footer-brand p { font-family: Georgia, serif; font-style: italic; font-size: 21px; margin-top: 18px; line-height: 1.45; color: #4e5b48; }
.footer-top h2 { font-size: 11px; font-weight: 600; letter-spacing: .02em; margin-block: 9px 20px; }
.footer-top > div:not(.footer-brand) a { font-size: 12px; display: flex; align-items: center; gap: 6px; margin-top: 13px; color: #626b5c; width: -moz-fit-content; width: fit-content; }
.footer-top a:hover { color: var(--orange); }
.footer-top address { font-size: 12px; }
.location-dot { margin-top: 22px; display: inline-flex; align-items: center; gap: 8px; font-size: 10px; color: #637459; }
.location-dot::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: #718a59; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid #d9ddcf; padding-block: 22px; font-size: 10px; color: #737b6b; }
.footer-bottom > div { display: flex; gap: 26px; }
.page-intro { padding-block: 85px 65px; }
.page-intro .eyebrow { margin-bottom: 30px; }
.page-intro h1 { max-width: 1050px; }
.page-intro h1 .serif { color: #6f7e59; }
.intro-description { max-width: 610px; margin-top: 28px; }
.intro-description p { font-size: 18px; }
.about-story { display: grid; grid-template-columns: 1fr 1.1fr; gap: 100px; padding-block: 55px 60px; border-top: 1px solid var(--line); }
.story-title .eyebrow { display: block; margin-bottom: 25px; }
.story-copy p + p { margin-top: 20px; }
.company-facts { display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid var(--line); padding-block: 25px; margin-bottom: 70px; }
.company-facts > div { border-left: 1px solid var(--line); padding-left: 25px; }
.company-facts > div:first-child { border: 0; padding-left: 0; }
.company-facts span { display: block; font-size: 9px; letter-spacing: .1em; color: #7e806e; margin-bottom: 12px; }
.company-facts strong { font-size: 15px; font-weight: 500; }
.founder-section { background: #eeefe7; }
.founder-grid { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 90px; }
.founder-portrait { background: #e1e5d5; min-height: 435px; display: flex; flex-direction: column; justify-content: space-between; padding: 30px; position: relative; overflow: hidden; border-radius: 6px; border: 1px solid #cdd4be; background-image: repeating-linear-gradient(45deg, transparent, transparent 25px, #68764b0a 25px, #68764b0a 26px); }
.founder-monogram { font-family: Georgia, serif; font-size: 140px; letter-spacing: -.1em; align-self: center; color: #617253; }
.founder-monogram span { color: #b7784d; }
.founder-portrait > div { display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.founder-portrait > div span:last-child { color: #718062; font-size: 10px; }
.founder-copy h2 { margin-top: 20px; font-size: 50px; }
.founder-role { margin: 8px 0 25px; font-size: 13px; color: #8b6549; }
.founder-copy p + p { margin-top: 17px; }
.founder-copy .button-row { margin-top: 28px; }
.principles-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 45px; }
.principles-grid article { border-top: 1px solid #cbd1c0; padding-top: 25px; }
.principles-grid svg { color: #7c885d; margin-bottom: 25px; }
.principles-grid h3 { margin-bottom: 14px; }
.principles-grid p { font-size: 14px; }
.location-note { display: flex; align-items: center; gap: 12px; margin-top: 50px; padding: 22px; background: #eff0e8; font-size: 13px; color: #58684c; }
.work-status { display: flex; gap: 25px; align-items: center; padding-block: 20px; border-block: 1px solid var(--line); }
.status-pill { display: inline-flex; align-items: center; gap: 9px; white-space: nowrap; border: 1px solid #dbcaac; border-radius: 30px; padding: 8px 13px; font-size: 11px; color: #85613c; background: #f7eedd; }
.status-pill > span { width: 5px; height: 5px; background: #ba844d; border-radius: 50%; }
.work-status p { font-size: 13px; }.work-status a { text-decoration: underline; text-underline-offset: 3px; }
.project-section { display: grid; grid-template-columns: .85fr 1.15fr; align-items: start; gap: 80px; padding-block: 80px; border-bottom: 1px solid var(--line); scroll-margin-top: 115px; }
.project-visual { position: sticky; top: 120px; height: 410px; padding: 27px; border-radius: 6px; border: 1px solid #26392c14; display: flex; flex-direction: column; }
.project-visual-top { display: flex; justify-content: space-between; gap: 15px; font-size: 9px; letter-spacing: .07em; color: #5a634f; }
.project-visual .card-diagram { height: 240px; transform: scale(1.35); margin-block: 0; }
.project-visual > svg { margin-top: auto; color: var(--diagram); }
.visual-caption { position: absolute; right: 24px; bottom: 28px; font-size: 8px; letter-spacing: .04em; }
.project-copy h2 { margin-block: 20px; font-size: 39px; }
.project-copy .body-large { font-size: 17px; }
.project-copy h3 { font-size: 15px; letter-spacing: 0; margin-block: 27px 10px; font-weight: 600; }
.project-copy p { font-size: 14px; }
.feature-list { list-style: none; padding: 0; margin: 25px 0; }
.feature-list li { padding-block: 10px; border-bottom: 1px solid var(--line); font-size: 13px; display: flex; gap: 12px; align-items: center; }
.feature-list li::before { content: '+'; color: var(--orange); font-size: 18px; }
.audience strong { display: block; color: var(--ink); margin-bottom: 4px; font-weight: 500; }
.project-copy .text-link { margin-top: 20px; }
.question-row { display: grid; grid-template-columns: 50px 1.1fr 1fr; gap: 35px; padding-block: 46px; border-top: 1px solid var(--line); }
.question-number { font-family: Georgia, serif; font-size: 30px; color: #9d9f87; }
.question-row h2 { font-size: 30px; margin-top: 18px; max-width: 410px; }
.question-row p:not(.eyebrow) { font-size: 14px; }
.tag-list { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 23px; }
.tag-list span { font-size: 10px; background: #eceee5; border: 1px solid #d9ddce; border-radius: 3px; padding: 6px 10px; }
.research-questions { padding-bottom: 35px; }
.method-section { background: #eef0e6; }
.method-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.method-grid article { border-top: 1px solid #adb99a; padding-top: 18px; }
.method-grid article > div { display: flex; justify-content: space-between; color: #839171; font-size: 12px; }
.method-grid h3 { margin-block: 35px 15px; }.method-grid p { font-size: 13px; }
.public-work { display: grid; grid-template-columns: 1fr 1fr; gap: 110px; align-items: center; }
.public-work h2 { margin-block: 20px; }.public-work p { font-size: 14px; }
.profile-links a { display: flex; align-items: center; gap: 20px; padding-block: 30px; border-bottom: 1px solid var(--line); }
.profile-links a:first-child { border-top: 1px solid var(--line); }.profile-links a:hover { color: var(--orange); }
.profile-symbol { width: 47px; height: 47px; display: grid; place-items: center; background: #e9eadd; font-family: Georgia, serif; font-size: 18px; }
.profile-links h3 { font-size: 20px; }.profile-links p { font-size: 11px; margin-top: 6px; }.profile-links a > svg { margin-left: auto; }
.contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; padding-block: 15px 100px; align-items: start; }
.contact-details > div { margin-bottom: 38px; }.contact-details > div > svg { color: #8a906a; margin-bottom: 17px; }
.contact-details h2 { font-size: 24px; margin-bottom: 15px; }.contact-email { font-size: 18px; display: flex; align-items: center; gap: 10px; color: var(--orange); }
.contact-details p { font-size: 14px; margin-top: 13px; max-width: 330px; }
.contact-small-card { padding: 24px; border: 1px solid var(--line); background: #eff0e8; }
.contact-small-card p.eyebrow { font-size: 9px; margin-top: 0; }
.contact-form-card { padding: 35px; border: 1px solid var(--line); border-radius: 7px; background: #fffefa; }
.contact-form-card > h2 { font-size: 28px; }.contact-form-card > p { font-size: 13px; margin-top: 14px; }
.contact-form-card form { margin-top: 25px; }.contact-form-card label { display: block; font-size: 12px; font-weight: 500; margin-bottom: 20px; }
.contact-form-card label > span { color: #a35634; }.contact-form-card label > .optional { font-weight: 400; color: #808573; }
.contact-form-card input, .contact-form-card select, .contact-form-card textarea { display: block; width: 100%; margin-top: 9px; padding: 12px; border: 1px solid #d6dacb; background: #fafbf6; color: var(--ink); border-radius: 4px; font-size: 16px; min-height: 46px; }
.contact-form-card textarea { resize: vertical; line-height: 1.6; }.contact-form-card input:focus, .contact-form-card select:focus, .contact-form-card textarea:focus { outline: 2px solid #8c9b72; outline-offset: 2px; border-color: #8c9b72; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }.contact-form-card .form-note { font-size: 11px; margin: 12px 0; line-height: 1.7; }
.form-note a { text-decoration: underline; text-underline-offset: 3px; }.contact-form-card form > .button { margin-top: 10px; }
.form-status:empty { display: none; }.contact-form-card .form-status { color: #52673f; padding-top: 10px; }
.email-draft { margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--line); }.email-draft h3 { font-size: 20px; }.email-draft .button-row { margin-top: 15px; }
.legal-layout { display: grid; grid-template-columns: 260px 1fr; gap: 85px; padding-bottom: 100px; align-items: start; }
.legal-layout aside { position: sticky; top: 120px; padding-top: 20px; }.legal-layout nav { margin-top: 20px; display: flex; flex-direction: column; gap: 14px; }
.legal-layout nav a { font-size: 12px; color: #5e6a50; }.legal-layout nav a:hover { color: var(--orange); }.legal-date { margin-top: 25px; font-size: 11px; }
.legal-content > section { padding-block: 32px; border-top: 1px solid var(--line); scroll-margin-top: 115px; }.legal-content h2 { font-size: 26px; margin-bottom: 20px; }.legal-content p { font-size: 15px; }.legal-content p + p { margin-top: 17px; }
.legal-contact { padding: 27px; background: #edf0e4; margin-top: 25px; }.legal-contact h3 { font-size: 23px; margin-bottom: 15px; }.legal-contact a { text-decoration: underline; }.legal-contact address { margin-top: 20px; font-size: 13px; }
.not-found { padding-block: 70px 110px; text-align: center; }.not-found .eyebrow, .not-found .button-row { justify-content: center; }.error-number { display: block; font-family: Georgia, serif; font-size: 150px; line-height: 1.25; color: #78865e; }.error-number span { color: var(--orange); }.not-found h1 { font-size: 44px; }.not-found p:not(.eyebrow) { margin-top: 22px; }.not-found .button-row { margin-top: 30px; }

/* Light frosted surfaces: static colour underneath, translucent material above. */
.site-header {
  border-bottom-color: #ffffff;
  box-shadow: 0 8px 32px -24px #3449333d, inset 0 -1px 0 #3449330d;
}
.focus-section {
  background:
    radial-gradient(ellipse at 10% 65%, #f1d5bc80, transparent 45%),
    radial-gradient(ellipse at 60% 55%, #ccdcbc70, transparent 45%),
    radial-gradient(ellipse at 100% 80%, #d8cfe680, transparent 40%),
    #f1f2eacc;
}
.focus-card,
.project-visual,
.contact-form-card,
.contact-small-card,
.cta-panel,
.legal-contact {
  border: 1px solid #ffffff;
  border-radius: 18px;
  box-shadow: var(--glass-shadow);
}
.focus-card:hover {
  box-shadow: 0 22px 48px -22px #34493340, inset 0 1px 0 #ffffff;
  border-color: #fff;
}
.intelligence-art {
  border-color: #ffffff;
  box-shadow: var(--glass-shadow);
}
.art-label {
  border-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 8px 24px -12px #34493340, inset 0 1px 0 #ffffff;
}
.button-outline {
  background: #ffffff75;
  border-color: #cbd3c1;
  box-shadow: inset 0 1px 0 #ffffff;
}
.button-outline:hover { background: #ffffffb8; }
.contact-form-card input,
.contact-form-card select,
.contact-form-card textarea {
  border-radius: 8px;
  background: #ffffffe6;
  box-shadow: inset 0 1px 3px #34493308;
}
.research-strip, .method-section, .founder-section {
  background: linear-gradient(125deg, #e8eddfb8, #f8f8f0d9 55%, #e9e6f180);
}
.site-footer { background: #eef1e6e6; }

@supports (((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) or (-webkit-backdrop-filter: blur(1px))) {
  .site-header,
  .mobile-nav:not([hidden]),
  .focus-card,
  .project-visual,
  .contact-form-card,
  .contact-small-card,
  .cta-panel,
  .legal-contact,
  .art-label {
    -webkit-backdrop-filter: blur(20px) saturate(125%);
    backdrop-filter: blur(20px) saturate(125%);
  }
  .site-header { background: #faf9f5c2; }
  .mobile-nav:not([hidden]) { background: #fafbf5eb; }
  .focus-card.warm, .project-visual.warm { background: linear-gradient(140deg, #ffffffb8, #f5e0c878); }
  .focus-card.sage, .project-visual.sage { background: linear-gradient(140deg, #ffffffb8, #dce8cf80); }
  .focus-card.lavender, .project-visual.lavender { background: linear-gradient(140deg, #ffffffb8, #e3dcf080); }
  .contact-form-card { background: linear-gradient(135deg, #ffffffd9, #fafbf5a6); }
  .contact-small-card, .legal-contact { background: linear-gradient(140deg, #ffffffe0, #e7edd4a6); }
  .cta-panel { background: linear-gradient(125deg, #fff9f0db, #f2ddc4a6); }
  .art-label { background: #fffef2ad; }
}

@media (prefers-contrast: more) {
  .site-header, .mobile-nav:not([hidden]), .focus-card,
  .focus-card:is(.warm, .sage, .lavender),
  .project-visual:is(.warm, .sage, .lavender),
  .project-visual, .contact-form-card, .contact-small-card,
  .cta-panel, .legal-contact, .art-label, .button-outline {
    background: #fffdf7;
    border-color: #7d876e;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

@media (min-width: 1500px) { .home-hero { padding-block: 100px 75px; }.intelligence-art { height: 570px; } }
@media (max-width: 1100px) {
  .container { width: calc(100% - 64px); }.home-hero { gap: 26px; }.hero-copy h1 { font-size: 62px; }.intelligence-art { height: 480px; }.hero-description { font-size: 17px; }.hero-copy .button-row { gap: 5px; }.button { padding-inline: 18px; }.desktop-nav { margin-right: 25px; gap: 25px; }.home-perspective, .founder-grid, .about-story, .project-section, .public-work, .contact-grid { gap: 45px; }.cta-panel { padding: 45px; }.cta-art { width: 255px; height: 255px; }.focus-card { padding: 22px; }.focus-card h3 { font-size: 21px; }.research-strip-inner { gap: 40px; }.footer-top { gap: 25px; }.company-facts strong { font-size: 13px; }.legal-layout { gap: 40px; grid-template-columns: 230px 1fr; }
}
@media (max-width: 800px) {
  .container { width: calc(100% - 40px); }.header-inner { height: 74px; }.brand { font-size: 22px; }.desktop-nav, .header-contact { display: none; }.menu-toggle { display: inline-flex; }.mobile-nav:not([hidden]) { display: flex; flex-direction: column; padding: 10px 20px 20px; border-top: 1px solid var(--line); }.mobile-nav a { display: flex; justify-content: space-between; padding: 14px 10px; font-size: 15px; }.mobile-nav a.active { background: #ecefe4; color: #a55330; }
  .home-hero { grid-template-columns: 1fr; gap: 40px; padding-top: 50px; }.hero-copy h1 { font-size: clamp(51px, 9vw, 74px); }.hero-copy { max-width: 650px; }.hero-description { font-size: 20px; }.hero-detail { max-width: 540px; }.hero-copy .button-row { gap: 15px; }.hero-footnote { margin-top: 26px; }.intelligence-art { height: 490px; }.model-sculpture { left: 10%; width: 80%; }.art-language.language-one { left: 12%; }.hero-bottom > span { font-size: 8px; letter-spacing: .05em; }
  .section-space { padding-block: 65px; }.section-heading { align-items: start; gap: 22px; flex-direction: column; }.section-heading > p { max-width: 500px; }.focus-grid { grid-template-columns: 1fr; gap: 18px; }.focus-card { padding: 28px; min-height: 270px; display: grid; grid-template-columns: 1fr 180px; -moz-column-gap: 20px; column-gap: 20px; }.card-top { grid-column: 1 / -1; }.focus-card .card-diagram { grid-column: 2; grid-row: 2 / 6; margin: 0; align-self: center; }.card-tag { margin-top: 20px; }.focus-card h3 { font-size: 26px; }.card-link { padding-top: 20px; justify-content: flex-start; gap: 22px; }
  .home-perspective { grid-template-columns: 1fr; gap: 38px; }.perspective-art { height: 360px; max-width: 480px; width: 100%; margin: auto; }.home-perspective h2 { font-size: 38px; }.research-strip-inner { grid-template-columns: 1fr; gap: 28px; }.research-strip h2 { font-size: 34px; }.cta-panel { gap: 25px; grid-template-columns: 1.2fr .8fr; padding: 35px; }.cta-art { width: 180px; height: 180px; }.cta-art span { font-size: 56px; }.cta-section { padding-block: 60px; }.footer-top { grid-template-columns: 1.2fr 1fr; gap: 40px; padding-block: 45px; }.footer-bottom { flex-wrap: wrap; }.page-intro { padding-block: 60px 45px; }.page-intro h1 { font-size: 51px; }.about-story { grid-template-columns: 1fr; gap: 30px; }.company-facts { grid-template-columns: 1fr 1fr; gap: 30px; }.company-facts > div { padding-left: 15px; }.company-facts > div:nth-child(3) { border: none; padding-left: 0; }.founder-grid { grid-template-columns: 1fr; }.founder-portrait { min-height: 360px; max-width: 480px; width: 100%; }.founder-monogram { font-size: 110px; }.principles-grid { gap: 22px; }.principles-grid h3 { font-size: 21px; }.work-status { align-items: flex-start; }.project-section { gap: 30px; grid-template-columns: 1fr; padding-block: 55px; }.project-visual { position: relative; top: auto; height: 310px; }.project-visual .card-diagram { height: 200px; transform: scale(1.1); }.question-row { grid-template-columns: 35px 1fr; gap: 20px; }.question-row > div:last-child { grid-column: 2; }.method-grid { grid-template-columns: 1fr 1fr; gap: 35px; }.public-work { grid-template-columns: 1fr; gap: 30px; }.contact-grid { grid-template-columns: 1fr; gap: 25px; }.contact-details { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }.contact-small-card { grid-column: 1 / -1; }.contact-details .contact-small-card p { max-width: none; }.legal-layout { grid-template-columns: 1fr; gap: 35px; }.legal-layout aside { position: static; }.legal-layout nav { display: grid; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .hero-copy h1 { font-size: 51px; }.hero-copy > .eyebrow { font-size: 8px; letter-spacing: .12em; }.hero-description { font-size: 18px; }.desktop-break { display: none; }.button { padding-inline: 16px; font-size: 12px; gap: 12px; }.hero-copy .button-row { gap: 8px; }.hero-footnote { font-size: 9px; }.intelligence-art { height: 400px; border-bottom-right-radius: 50px; }.model-sculpture { left: 0; width: 100%; }.art-caption { font-size: 7px; left: 16px; }.art-footer { left: 16px; font-size: 6px; }.language-one { top: 65px; }.language-two { right: 15px; top: 125px; }.language-three { left: 15px; bottom: 95px; }.label-model { right: 15px; top: 65px; font-size: 7px; }.label-efficiency { right: 16px; bottom: 55px; font-size: 7px; }.hero-bottom > span { display: none; }.focus-card { display: flex; padding: 25px; }.focus-card .card-diagram { width: 100%; height: 130px; margin-block: 15px 25px; }.card-tag { margin-top: 0; }.focus-card h3 { margin-top: 12px; }.card-link { justify-content: space-between; }.home-perspective h2 { font-size: 33px; }.cta-panel { grid-template-columns: 1fr; padding: 30px 25px; }.cta-art { display: none; }.cta-panel h2 { font-size: 38px; }.research-strip h2 { font-size: 31px; }.footer-top { gap: 30px 18px; }.footer-brand { grid-column: 1 / -1; }.footer-address { grid-column: 1 / -1; }.footer-bottom > span:nth-child(2) { display: none; }.page-intro h1 { font-size: 42px; }.intro-description p { font-size: 16px; }.company-facts { gap: 25px 15px; }.company-facts strong { font-size: 12px; }.principles-grid { grid-template-columns: 1fr; gap: 35px; }.principles-grid svg { margin-bottom: 18px; }.location-note { padding: 18px; font-size: 11px; }.work-status { flex-direction: column; gap: 14px; }.project-copy h2 { font-size: 34px; }.project-visual-top { font-size: 8px; }.visual-caption { font-size: 7px; }.question-row h2 { font-size: 27px; }.method-grid { gap: 25px; }.profile-links a { gap: 12px; }.contact-details { grid-template-columns: 1fr; gap: 0; }.contact-form-card { padding: 25px 20px; }.form-row { grid-template-columns: 1fr; gap: 0; }.legal-layout nav { grid-template-columns: 1fr; }.error-number { font-size: 120px; }.not-found h1 { font-size: 35px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
@media (prefers-contrast: more) { :root { --muted: #374330; --line: #7d876e; }.eyebrow, .card-tag, .hero-footnote, .footer-bottom { color: #35482c; } }
/* Small additions use the established fonts, colors and page components. */
.company-faq details { border-bottom: 1px solid var(--line); padding-block: 14px; }
.company-faq summary { cursor: pointer; min-height: 48px; display: list-item; align-content: center; font-weight: 500; }
.company-faq details p { padding: 8px 0 18px; max-width: 850px; }
.faq-links { margin-top: 24px; }
.content-updated { font-size: 12px; padding-bottom: 24px; }
.analytics-consent { padding-block: 24px; }
.analytics-consent p { max-width: 700px; margin-bottom: 16px; }
.analytics-consent button.text-link { border: 0; background: transparent; color: var(--ink); }
.site-header nav a, .site-footer a, .text-link, .motion-control, .atlas-controls button, .next-process-steps button, .menu-toggle { min-height: 48px; }
.site-header nav a, .site-footer a, .text-link { align-content: center; }
.menu-toggle, .motion-control { min-width: 48px; }
.home-next .atlas-controls button { min-height: 48px; }
.atlas-topline, .next-origin, .next-stage-label, .next-question-number { color: var(--muted); }
@media (prefers-reduced-motion: no-preference) {
  /* SSR content stays visible at first paint; only decorative motion remains. */
  .home-next .atlas, .home-next .next-hero-copy { animation: none; }
}
