@font-face {
  font-family: "Mark of You Script";
  src: url("/assets/allura-latin.ttf") format("truetype");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: "Mark of You Display";
  src: url("/assets/cormorant-garamond-light-latin.ttf") format("truetype");
  font-display: swap;
  font-style: normal;
  font-weight: 300;
}

@font-face {
  font-family: "Mark of You Display";
  src: url("/assets/cormorant-garamond-light-italic-latin.ttf") format("truetype");
  font-display: swap;
  font-style: italic;
  font-weight: 300;
}

:root {
  color-scheme: dark;
  --night: #090809;
  --night-soft: #0f0d0f;
  --panel: #151114;
  --panel-raised: #1c1619;
  --ivory: #f3ede3;
  --ivory-soft: #d9cfc1;
  --muted: #a99e91;
  --line: rgba(235, 218, 194, 0.16);
  --line-strong: rgba(235, 218, 194, 0.32);
  --wine: #741f3b;
  --wine-bright: #9a3153;
  --gold: #c9a66b;
  --gold-soft: #e0c18b;
  --shadow: 0 28px 80px rgba(0, 0, 0, 0.42);
}

html {
  scroll-behavior: smooth;
  background: var(--night);
}

body {
  margin: 0;
  background: var(--night);
  color: var(--ivory);
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: 16px;
  line-height: 1.55;
}

body::before {
  position: fixed;
  z-index: 1000;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
  content: "";
  mix-blend-mode: soft-light;
  opacity: 0.035;
  pointer-events: none;
}

.spider-custom-root,
.spdr-native,
.mark-of-you-legal-root {
  background: var(--night);
  color: var(--ivory);
  overflow: hidden;
}

.spider-custom-root *,
.spider-custom-root *::before,
.spider-custom-root *::after,
.spdr-native *,
.spdr-native *::before,
.spdr-native *::after,
.mark-of-you-legal-root *,
.mark-of-you-legal-root *::before,
.mark-of-you-legal-root *::after {
  box-sizing: border-box;
}

.spider-custom-root img,
.spdr-native img,
.mark-of-you-legal-root img {
  display: block;
  width: 100%;
  max-width: 100%;
}

.spider-custom-root a,
.spdr-native a,
.mark-of-you-legal-root a {
  color: inherit;
}

.spider-custom-root h1,
.spider-custom-root h2,
.spider-custom-root h3,
.spider-custom-root p,
.spider-custom-root figure,
.spider-custom-root blockquote,
.spider-custom-root ul,
.spider-custom-root ol,
.spider-custom-root dl,
.spider-custom-root dd,
.spdr-native h1,
.spdr-native p,
.mark-of-you-legal-root h1,
.mark-of-you-legal-root h2,
.mark-of-you-legal-root p,
.mark-of-you-legal-root ul {
  margin: 0;
}

.spider-custom-root h1,
.spider-custom-root h2,
.spider-custom-root h3,
.spdr-native h1,
.mark-of-you-legal-root h1,
.mark-of-you-legal-root h2 {
  font-family: "Mark of You Display", Georgia, "Times New Roman", serif;
  font-synthesis: none;
  font-weight: 300;
}

.spider-custom-root em,
.spdr-native em,
.mark-of-you-legal-root em {
  color: var(--gold-soft);
  font-family: "Mark of You Display", Georgia, "Times New Roman", serif;
  font-synthesis: none;
  font-weight: 300;
}

.spider-custom-root .signature-word,
.spdr-native h1 em {
  display: inline-block;
  color: var(--gold-soft);
  font-family: "Mark of You Script", "Snell Roundhand", "Segoe Script", cursive;
  font-size: 1.08em;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 0.76;
}

.skip-link {
  position: absolute;
  z-index: 100;
  top: -90px;
  left: 20px;
  padding: 12px 16px;
  background: var(--ivory);
  color: var(--night) !important;
}

.skip-link:focus { top: 20px; }

:is(.site-header, .about-header, .method-header, .foundation-header, .direction-header, .business-header, .rooms-header, .contact-header, .thanks-header, .legal-header) {
  position: absolute;
  z-index: 30;
  top: 0;
  left: 0;
  display: flex;
  width: 100%;
  min-height: 112px;
  align-items: center;
  justify-content: space-between;
  padding: 0 5vw;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(180deg, rgba(6, 5, 6, 0.78), rgba(6, 5, 6, 0));
  color: var(--ivory);
}

.site-header {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
}

.site-header .header-cta { justify-self: end; }

.brand-lockup,
.brand-lockup:hover,
.brand-lockup:focus,
.brand-lockup:visited {
  width: max-content;
  text-decoration: none !important;
}

.wordmark,
.legal-wordmark,
.mark-of-you-form-wordmark {
  width: max-content;
  color: var(--ivory) !important;
  font-family: "Mark of You Script", "Snell Roundhand", "Segoe Script", cursive !important;
  font-size: clamp(56px, 4.7vw, 74px) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  text-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
}

:is(.site-nav, .about-header nav, .method-header nav, .foundation-header nav, .direction-header nav, .business-header nav, .rooms-header nav, .legal-header nav) {
  display: flex;
  align-items: center;
  gap: clamp(20px, 2.5vw, 42px);
}

:is(.site-nav, .about-header nav, .method-header nav, .foundation-header nav, .direction-header nav, .business-header nav, .rooms-header nav, .contact-header, .legal-header nav) a,
.thanks-header > span {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-decoration: none;
  text-transform: uppercase;
}

:is(.site-nav, .about-header nav, .method-header nav, .foundation-header nav, .direction-header nav, .business-header nav, .rooms-header nav, .legal-header nav) a:not(:last-child) {
  position: relative;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

:is(.site-nav, .about-header nav, .method-header nav, .foundation-header nav, .direction-header nav, .business-header nav, .rooms-header nav, .legal-header nav) a:not(:last-child)::after {
  position: absolute;
  right: 0;
  bottom: 5px;
  left: 0;
  height: 1px;
  background: var(--gold);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s ease;
}

:is(.site-nav, .about-header nav, .method-header nav, .foundation-header nav, .direction-header nav, .business-header nav, .rooms-header nav, .legal-header nav) a:not(:last-child):hover::after,
:is(.site-nav, .about-header nav, .method-header nav, .foundation-header nav, .direction-header nav, .business-header nav, .rooms-header nav, .legal-header nav) a:not(:last-child):focus-visible::after {
  transform: scaleX(1);
}

.header-cta,
:is(.about-header, .method-header, .foundation-header, .direction-header, .business-header, .rooms-header) nav a:last-child {
  position: relative;
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 0 22px;
  border: 1px solid var(--wine-bright);
  background: rgba(116, 31, 59, 0.85);
  color: #fff;
}

.roman-label,
.legal-kicker,
.mark-of-you-form-kicker {
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--gold);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

:is(.roman-label, .legal-kicker, .mark-of-you-form-kicker) > span {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid rgba(201, 166, 107, 0.48);
  border-radius: 50%;
  color: var(--ivory);
  font-family: Georgia, serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0;
}

.button,
.mark-of-you-submit {
  position: relative;
  display: inline-flex;
  min-height: 58px;
  width: max-content;
  align-items: center;
  justify-content: center;
  gap: 18px;
  overflow: hidden;
  padding: 0 28px;
  border: 1px solid var(--wine-bright);
  border-radius: 0;
  background: var(--wine);
  color: #fff !important;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.35s ease, border-color 0.35s ease, transform 0.35s ease;
}

.button::after,
.mark-of-you-submit::after,
.header-cta::after,
:is(.about-header, .method-header, .foundation-header, .direction-header, .business-header, .rooms-header) nav a:last-child::after {
  position: absolute;
  inset: 50%;
  border: 1px solid rgba(255, 255, 255, 0.82);
  content: "";
  opacity: 0;
  pointer-events: none;
  transition: inset 0.42s cubic-bezier(0.2, 0.75, 0.25, 1), opacity 0.18s ease;
}

.button:hover::after,
.button:focus-visible::after,
.mark-of-you-submit:hover::after,
.mark-of-you-submit:focus-visible::after,
.header-cta:hover::after,
.header-cta:focus-visible::after,
:is(.about-header, .method-header, .foundation-header, .direction-header, .business-header, .rooms-header) nav a:last-child:hover::after,
:is(.about-header, .method-header, .foundation-header, .direction-header, .business-header, .rooms-header) nav a:last-child:focus-visible::after {
  inset: 6px;
  opacity: 1;
}

.button:hover,
.mark-of-you-submit:hover { background: var(--wine-bright); transform: translateY(-2px); }

.button-outline { border-color: var(--line-strong); background: transparent; }

.text-link,
.quiet-link,
.back-link {
  display: inline-flex;
  width: max-content;
  min-height: 44px;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid var(--gold);
  color: var(--ivory) !important;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
}

.material-code {
  position: absolute;
  z-index: 5;
  top: 18px;
  left: 18px;
  padding: 8px 10px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(8, 7, 8, 0.7);
  color: var(--ivory-soft);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.17em;
  line-height: 1;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
}

.spider-custom-root figcaption {
  display: flex;
  justify-content: space-between;
  padding-top: 14px;
  color: var(--muted);
  font-family: Georgia, serif;
  font-size: 11px;
  font-style: italic;
}

/* Homepage: cinematic portrait first. */
.hero {
  position: relative;
  min-height: min(940px, 100svh);
  overflow: hidden;
  background: var(--night);
  isolation: isolate;
}

.hero::before {
  position: absolute;
  z-index: 2;
  inset: 0;
  background:
    linear-gradient(90deg, #090809 0%, rgba(9, 8, 9, 0.96) 34%, rgba(9, 8, 9, 0.46) 59%, rgba(9, 8, 9, 0.05) 83%),
    linear-gradient(0deg, #090809 0%, transparent 34%);
  content: "";
  pointer-events: none;
}

.hero-copy {
  position: relative;
  z-index: 4;
  display: flex;
  width: min(680px, 58vw);
  min-height: min(940px, 100svh);
  flex-direction: column;
  justify-content: center;
  padding: 150px 0 64px 5vw;
}

.hero h1 {
  max-width: 760px;
  margin-top: 34px;
  color: var(--ivory);
  font-size: clamp(70px, 7.7vw, 132px);
  letter-spacing: -0.065em;
  line-height: 0.84;
}

.hero-lead {
  max-width: 570px;
  margin-top: 38px;
  color: var(--ivory-soft);
  font-size: clamp(16px, 1.3vw, 20px);
  line-height: 1.68;
}

.hero-actions {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-top: 38px;
}

.hero-footnote {
  margin-top: auto;
  padding-top: 42px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.hero-figure {
  position: absolute;
  z-index: 1;
  inset: 0 0 0 35%;
}

.arch-frame {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: #0e0c0e;
}

.arch-frame::after {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 72% 34%, transparent 0 28%, rgba(5, 4, 5, 0.32) 65%, rgba(5, 4, 5, 0.82) 100%);
  content: "";
  pointer-events: none;
}

.arch-frame img {
  height: 100%;
  object-fit: cover;
  object-position: 64% 35%;
  filter: saturate(0.88) contrast(1.04) brightness(0.9);
  transform: translateX(6%) scale(1.12);
  transition: transform 1.2s cubic-bezier(0.2, 0.75, 0.2, 1), filter 0.8s ease;
}

.hero:hover .arch-frame img { filter: saturate(0.98) contrast(1.02) brightness(0.94); transform: translateX(6%) scale(1.145); }
.hero-figure > figcaption { display: none; }

.museum-directory {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #0d0b0d;
}

.museum-directory a {
  position: relative;
  display: grid;
  min-height: 88px;
  grid-template-columns: 26px 1fr;
  gap: 10px;
  align-items: center;
  padding: 16px 18px;
  border-right: 1px solid var(--line);
  text-decoration: none;
}

.museum-directory a:last-child { border-right: 0; }
.museum-directory span { color: var(--gold); font-family: Georgia, serif; font-size: 11px; font-style: italic; }
.museum-directory strong { font-family: Georgia, serif; font-size: 14px; font-weight: 400; }
.museum-directory a::after { position: absolute; right: 18px; bottom: 14px; left: 54px; height: 1px; background: var(--wine-bright); content: ""; transform: scaleX(0); transform-origin: left; transition: transform 0.35s ease; }
.museum-directory a:hover::after, .museum-directory a:focus-visible::after { transform: scaleX(1); }

.material-ledger {
  display: grid;
  min-height: 112px;
  grid-template-columns: 1fr 70px 1fr;
  align-items: center;
  padding: 20px 6vw;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(90deg, #0f0c0f, #181216 50%, #0f0c0f);
}

.material-ledger p { display: grid; gap: 6px; }
.material-ledger p:last-child { justify-self: end; text-align: right; }
.material-ledger p span { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; }
.material-ledger p strong { color: var(--ivory); font-family: Georgia, serif; font-size: 17px; font-weight: 400; }
.material-ledger__sample { justify-self: center; width: 46px; height: 46px; border: 1px solid rgba(201, 166, 107, 0.42); border-radius: 50%; background: radial-gradient(circle at 35% 30%, #d7b476, #702039 55%, #130e12 100%); box-shadow: 0 0 36px rgba(154, 49, 83, 0.24); }

.museum-room { position: relative; }
.museum-room::before { position: absolute; z-index: 8; top: 30px; left: 12px; padding: 8px 5px; border: 1px solid var(--line); background: rgba(9, 8, 9, 0.74); color: var(--gold); content: attr(data-room); font-size: 8px; font-weight: 800; letter-spacing: 0.2em; line-height: 1; text-transform: uppercase; transform: rotate(180deg); writing-mode: vertical-rl; backdrop-filter: blur(8px); }
.museum-room::after { position: absolute; z-index: 3; top: 0; bottom: 0; left: 40px; width: 1px; background: var(--line); content: ""; pointer-events: none; }

.declaration {
  position: relative;
  min-height: 760px;
  padding: clamp(110px, 13vw, 190px) 7vw;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background: radial-gradient(circle at 78% 12%, rgba(116, 31, 59, 0.2), transparent 32%), var(--night);
}

.declaration-mark { position: absolute; top: -18%; right: -2vw; color: rgba(201, 166, 107, 0.045); font-family: Georgia, serif; font-size: 45vw; line-height: 1; }
.declaration-content { position: relative; z-index: 2; }
.declaration h2,
.colonnade h2,
.services h2,
.method h2,
.for-business h2,
.final-cta h2 {
  color: var(--ivory);
  font-size: clamp(52px, 6.2vw, 104px);
  letter-spacing: -0.055em;
  line-height: 0.97;
}
.declaration h2 { max-width: 1160px; margin-top: 50px; }
.declaration-copy { display: grid; max-width: 880px; grid-template-columns: 1fr 1fr; gap: 50px; margin: 60px 0 0 auto; }
.declaration-copy p { color: var(--ivory-soft); font-size: 16px; line-height: 1.75; }
.declaration-copy p:first-child { color: var(--ivory); font-family: Georgia, serif; font-size: 20px; }

.colonnade,
.method {
  display: grid;
  min-height: 860px;
  grid-template-columns: 1.02fr 0.98fr;
  border-bottom: 1px solid var(--line);
  background: var(--panel);
}

.colonnade-image,
.method-figure {
  display: grid;
  min-width: 0;
  grid-template-rows: minmax(0, 1fr) auto;
  padding: 30px;
  border-right: 1px solid var(--line);
}

.material-frame,
.plinth-frame {
  position: relative;
  min-height: 650px;
  overflow: hidden;
  background: #0e0c0d;
  box-shadow: var(--shadow);
}

.material-frame::after,
.plinth-frame::after,
:is(.about-hero, .method-hero, .foundation-hero, .direction-hero, .business-hero, .contact-hero, .thanks-hero) figure::after,
:is(.about-principle, .subtraction, .coherence, .foundation-work, .foundation-outcome, .direction-system, .direction-outcome, .compatibility, .business-cta, .room) figure::after {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(0deg, rgba(5, 4, 5, 0.68), transparent 42%);
  content: "";
  pointer-events: none;
}

.material-frame img,
.plinth-frame img,
.colonnade-image img,
.method-figure img {
  height: 100%;
  object-fit: cover;
  object-position: 50% 30%;
  filter: saturate(0.85) brightness(0.86) contrast(1.05);
  transition: transform 0.9s cubic-bezier(0.2, 0.75, 0.2, 1), filter 0.6s ease;
}

.material-frame:hover img,
.plinth-frame:hover img { filter: saturate(0.98) brightness(0.92) contrast(1.04); transform: scale(1.025); }
.colonnade-copy, .method-copy { display: flex; flex-direction: column; justify-content: center; padding: 88px 6vw; }
.colonnade h2, .method h2 { margin-top: 38px; font-size: clamp(48px, 5.4vw, 88px); }
.colonnade-copy > p:not(.roman-label) { max-width: 570px; margin-top: 30px; color: var(--muted); font-size: 17px; line-height: 1.72; }
.colonnade dl { margin-top: 56px; border-top: 1px solid var(--line); }
.colonnade dl div { display: grid; grid-template-columns: 130px 1fr; gap: 22px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.colonnade dt { color: var(--ivory); font-family: Georgia, serif; font-size: 16px; }
.colonnade dd { color: var(--muted); font-size: 13px; }

.services {
  padding: clamp(110px, 11vw, 170px) 4vw;
  border-bottom: 1px solid var(--line);
  background: #090809;
}

.section-intro { display: grid; grid-template-columns: 0.65fr 1.35fr; gap: 5vw; align-items: start; }
.services h2 { font-size: clamp(54px, 6vw, 98px); }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 80px; }

.service-card {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: 600px;
  flex-direction: column;
  justify-content: flex-end;
  padding: 30px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #161216;
  box-shadow: 0 16px 50px rgba(0, 0, 0, 0.2);
  isolation: isolate;
  transition: transform 0.55s cubic-bezier(0.2, 0.75, 0.2, 1), border-color 0.35s ease;
}

.service-card::before {
  position: absolute;
  z-index: -2;
  inset: 0;
  background-position: 50% 30%;
  background-size: cover;
  content: "";
  filter: saturate(0.78) brightness(0.74);
  transform: scale(1.01);
  transition: transform 0.8s cubic-bezier(0.2, 0.75, 0.2, 1), filter 0.5s ease;
}

.service-card:nth-child(1)::before { background-image: url("/assets/portrait-founder-pexels-6570059.webp"); }
.service-card:nth-child(2)::before { background-image: url("/assets/portrait-director-pexels-6371797.webp"); }
.service-card:nth-child(3)::before { background-image: url("/assets/portrait-creator-pexels-26524778.webp"); }
.service-card::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(0deg, rgba(7, 5, 7, 0.98) 0%, rgba(7, 5, 7, 0.78) 38%, rgba(7, 5, 7, 0.08) 75%); content: ""; }
.service-card:hover, .service-card:focus-within { border-color: var(--line-strong); transform: translateY(-10px); }
.service-card:hover::before, .service-card:focus-within::before { filter: saturate(0.98) brightness(0.85); transform: scale(1.045); }
.service-index { position: absolute; top: 24px; right: 24px; color: var(--gold); font-family: Georgia, serif; font-style: italic; }
.service-kicker { color: var(--gold); font-size: 9px; font-weight: 800; letter-spacing: 0.15em; text-transform: uppercase; }
.service-card h3 { max-width: 390px; margin-top: 15px; color: #fff; font-size: clamp(34px, 3.2vw, 52px); letter-spacing: -0.045em; line-height: 0.98; }
.service-card > p:not(.service-kicker) { max-width: 390px; margin-top: 22px; color: var(--ivory-soft); font-size: 14px; line-height: 1.65; }
.service-card a { width: max-content; margin-top: 26px; padding-bottom: 5px; border-bottom: 1px solid var(--gold); color: #fff; font-size: 10px; font-weight: 800; letter-spacing: 0.06em; text-decoration: none; text-transform: uppercase; }
.service-card a span { margin-left: 16px; }

.method { grid-template-columns: 1.08fr 0.92fr; }
.method-copy { background: radial-gradient(circle at 12% 18%, rgba(116, 31, 59, 0.18), transparent 34%), var(--panel); }
.method-list { margin: 64px 0 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.method-list li { display: grid; grid-template-columns: 55px 1fr; gap: 18px; padding: 20px 0; border-bottom: 1px solid var(--line); transition: padding-left 0.35s ease, background 0.35s ease; }
.method-list li:hover { padding-left: 16px; background: linear-gradient(90deg, rgba(116, 31, 59, 0.18), transparent); }
.method-list li > span { color: var(--gold); font-family: Georgia, serif; font-style: italic; }
.method-list h3 { color: var(--ivory); font-size: 21px; }
.method-list p { margin-top: 5px; color: var(--muted); font-size: 13px; }
.method-figure { border-right: 0; border-left: 1px solid var(--line); }

.for-business {
  padding: clamp(110px, 12vw, 180px) 5vw;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(145deg, #181216, #0d0b0d 72%);
}

.for-business header { max-width: 1120px; }
.for-business h2 { margin-top: 44px; }
.for-business header > p:not(.roman-label) { max-width: 690px; margin-top: 32px; color: var(--muted); font-size: 17px; line-height: 1.7; }
.business-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 72px; }
.business-grid article { position: relative; display: flex; min-height: 410px; flex-direction: column; justify-content: flex-end; padding: 24px; overflow: hidden; border: 1px solid var(--line); isolation: isolate; }
.business-grid article::before { position: absolute; z-index: -2; inset: 0; background-position: 50% 30%; background-size: cover; content: ""; filter: saturate(0.7) brightness(0.55); transition: filter 0.45s ease, transform 0.65s ease; }
.business-grid article:nth-child(1)::before { background-image: url("/assets/portrait-founder-pexels-6570059.webp"); }
.business-grid article:nth-child(2)::before { background-image: url("/assets/portrait-leader-pexels-2474307.webp"); }
.business-grid article:nth-child(3)::before { background-image: url("/assets/portrait-expert-pexels-9654889.webp"); }
.business-grid article:nth-child(4)::before { background-image: url("/assets/portrait-creator-pexels-26524778.webp"); }
.business-grid article::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(0deg, rgba(5, 4, 5, 0.96), rgba(5, 4, 5, 0.08) 72%); content: ""; }
.business-grid article:hover::before { filter: saturate(0.95) brightness(0.68); transform: scale(1.04); }
.business-grid article > span { color: var(--gold); font-family: Georgia, serif; font-style: italic; }
.business-grid h3 { margin-top: 14px; color: #fff; font-size: 28px; }
.business-grid p { max-width: 245px; margin-top: 8px; color: var(--ivory-soft); font-size: 12px; line-height: 1.55; }
.for-business .button { margin-top: 38px; }

.final-cta,
.rooms-cta,
.method-cta,
.direct-contact,
.thanks-note {
  position: relative;
  padding: clamp(125px, 15vw, 220px) 6vw;
  overflow: hidden;
  border-top: 1px solid var(--line);
  background: radial-gradient(circle at 50% 0%, rgba(154, 49, 83, 0.28), transparent 44%), #0b090b;
  text-align: center;
}

.final-cta::before,
.rooms-cta::before,
.method-cta::before,
.direct-contact::before,
.thanks-note::before { position: absolute; top: -280px; left: 50%; width: 560px; height: 560px; border: 1px solid rgba(201, 166, 107, 0.16); border-radius: 50%; content: ""; transform: translateX(-50%); }
.final-cta .roman-label, .rooms-cta .roman-label, .method-cta .roman-label, .direct-contact .roman-label, .thanks-note .roman-label { position: relative; z-index: 1; justify-content: center; }
.final-cta h2, .rooms-cta h2, .method-cta h2, .direct-contact h2, .thanks-note h2 { position: relative; z-index: 1; max-width: 1120px; margin: 42px auto 0; color: var(--ivory); font-size: clamp(54px, 6.5vw, 108px); letter-spacing: -0.055em; line-height: 0.94; }
.final-cta > p:not(.roman-label), .rooms-cta > p:not(.roman-label), .method-cta > p:not(.roman-label), .direct-contact > p:not(.roman-label) { position: relative; z-index: 1; max-width: 620px; margin: 30px auto 0; color: var(--muted); }
.final-cta .button, .rooms-cta .button, .method-cta .button, .direct-contact .button { position: relative; z-index: 1; margin-top: 34px; }
.pediment { display: none; }

/* Shared interior-page composition. */
:is(.about-hero, .method-hero, .foundation-hero, .direction-hero, .business-hero, .contact-hero, .thanks-hero) {
  display: grid;
  min-height: 820px;
  grid-template-columns: 1.08fr 0.92fr;
  padding-top: 112px;
  border-bottom: 1px solid var(--line);
  background: radial-gradient(circle at 18% 20%, rgba(116, 31, 59, 0.17), transparent 35%), var(--night);
}

:is(.about-hero, .method-hero, .foundation-hero, .direction-hero, .business-hero) .hero-copy,
.contact-copy,
.thanks-copy {
  display: flex;
  width: auto;
  min-height: auto;
  flex-direction: column;
  justify-content: center;
  padding: 80px 6vw;
}

:is(.about-hero, .method-hero, .foundation-hero, .direction-hero, .business-hero, .contact-hero, .thanks-hero) h1 {
  max-width: 870px;
  margin-top: 38px;
  color: var(--ivory);
  font-size: clamp(58px, 6.4vw, 104px);
  letter-spacing: -0.06em;
  line-height: 0.92;
}

:is(.about-hero, .method-hero, .foundation-hero, .direction-hero, .business-hero) .hero-copy > p:not(.roman-label),
.contact-copy > p:not(.roman-label),
.thanks-copy > p:not(.roman-label) {
  max-width: 620px;
  margin-top: 30px;
  color: var(--ivory-soft);
  font-size: 17px;
  line-height: 1.72;
}

:is(.about-hero, .method-hero, .foundation-hero, .direction-hero, .business-hero) .text-link,
.contact-copy .text-link { margin-top: 34px; }

:is(.about-hero, .method-hero, .foundation-hero, .direction-hero, .business-hero, .contact-hero, .thanks-hero) > figure {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border-left: 1px solid var(--line);
  background: #0d0b0d;
}

:is(.about-hero, .method-hero, .foundation-hero, .direction-hero, .business-hero, .contact-hero, .thanks-hero) > figure > img {
  height: 100%;
  object-fit: cover;
  object-position: 50% 28%;
  filter: saturate(0.84) brightness(0.86) contrast(1.04);
  transition: transform 0.85s ease, filter 0.6s ease;
}

:is(.about-hero, .method-hero, .foundation-hero, .direction-hero, .business-hero, .contact-hero, .thanks-hero) > figure:hover > img { filter: saturate(0.98) brightness(0.93); transform: scale(1.025); }
:is(.about-hero, .method-hero, .foundation-hero, .direction-hero, .business-hero, .contact-hero, .thanks-hero) > figure > figcaption { position: absolute; z-index: 4; right: 24px; bottom: 20px; left: 24px; padding: 0; color: var(--ivory-soft); }

:is(.about-vision, .foundation-signals, .direction-tension, .business-problem, .method-steps, .foundation-process, .direction-cycle, .business-process, .contact-paths) {
  padding: clamp(105px, 11vw, 170px) 5vw;
  border-bottom: 1px solid var(--line);
  background: var(--night-soft);
}

:is(.about-vision, .foundation-signals, .direction-tension, .business-problem, .method-steps, .foundation-process, .direction-cycle, .business-process, .contact-paths) h2 {
  max-width: 1080px;
  margin-top: 42px;
  color: var(--ivory);
  font-size: clamp(50px, 5.7vw, 92px);
  letter-spacing: -0.055em;
  line-height: 0.98;
}

.about-vision { display: grid; grid-template-columns: 0.62fr 1.38fr; gap: 7vw; }
.about-vision > div > p { max-width: 780px; margin-top: 36px; color: var(--muted); font-size: 17px; line-height: 1.75; }
.about-vision blockquote { max-width: 900px; margin-top: 70px; padding: 32px 0 8px 34px; border-left: 1px solid var(--gold); color: var(--ivory); font-family: Georgia, serif; font-size: clamp(29px, 3.5vw, 52px); font-style: italic; line-height: 1.14; }

:is(.about-principle, .subtraction, .coherence, .foundation-work, .foundation-outcome, .direction-system, .direction-outcome, .compatibility, .business-cta) {
  display: grid;
  min-height: 800px;
  grid-template-columns: 0.94fr 1.06fr;
  border-bottom: 1px solid var(--line);
  background: var(--panel);
}

:is(.about-principle, .subtraction, .coherence, .foundation-work, .foundation-outcome, .direction-system, .direction-outcome, .compatibility, .business-cta) > figure {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border-right: 1px solid var(--line);
}

:is(.about-principle, .subtraction, .coherence, .foundation-work, .foundation-outcome, .direction-system, .direction-outcome, .compatibility, .business-cta) > figure > img {
  height: 100%;
  object-fit: cover;
  object-position: 50% 28%;
  filter: saturate(0.82) brightness(0.82) contrast(1.06);
  transition: filter 0.55s ease, transform 0.75s ease;
}

:is(.about-principle, .subtraction, .coherence, .foundation-work, .foundation-outcome, .direction-system, .direction-outcome, .compatibility, .business-cta) > figure:hover > img { filter: saturate(0.98) brightness(0.9); transform: scale(1.025); }

:is(.about-principle, .subtraction, .coherence, .foundation-work, .foundation-outcome, .direction-system, .direction-outcome, .compatibility, .business-cta) > :not(figure) {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 90px 6vw;
}

:is(.about-principle, .subtraction, .coherence, .foundation-work, .foundation-outcome, .direction-system, .direction-outcome, .compatibility, .business-cta) h2 {
  margin-top: 38px;
  color: var(--ivory);
  font-size: clamp(48px, 5.3vw, 86px);
  letter-spacing: -0.055em;
  line-height: 0.98;
}

:is(.about-principle, .subtraction, .coherence, .foundation-work, .foundation-outcome, .direction-system, .direction-outcome, .compatibility, .business-cta) > :not(figure) > p:not(.roman-label) { max-width: 620px; margin-top: 28px; color: var(--muted); font-size: 16px; line-height: 1.72; }
:is(.about-principle, .coherence-copy, .foundation-work, .direction-system, .compatibility) ul { margin: 50px 0 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
:is(.about-principle, .coherence-copy, .foundation-work, .direction-system, .compatibility) li { display: grid; grid-template-columns: 48px 1fr; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--line); }
:is(.about-principle, .coherence-copy, .foundation-work, .direction-system, .compatibility) li > span { color: var(--gold); font-family: Georgia, serif; font-style: italic; }
:is(.about-principle, .coherence-copy, .foundation-work, .direction-system, .compatibility) li strong { color: var(--ivory); font-family: Georgia, serif; font-size: 19px; font-weight: 400; }
:is(.about-principle, .coherence-copy, .foundation-work, .direction-system, .compatibility) li p { margin-top: 5px; color: var(--muted); font-size: 13px; }
:is(.foundation-outcome, .direction-outcome, .business-cta) .button { margin-top: 34px; }

.subtraction { grid-template-columns: 1.06fr 0.94fr; }
.subtraction > div { order: 1; }
.subtraction > figure { order: 2; border-right: 0; border-left: 1px solid var(--line); }
.coherence > figure, .foundation-outcome > figure, .direction-outcome > figure, .business-cta > figure { border-right: 1px solid var(--line); }

.foundation-signals > header,
.direction-tension > header,
.method-steps > header,
.foundation-process > header,
.direction-cycle > header,
.business-process > header,
.contact-paths > header { max-width: 1120px; }

.signals-grid,
.tension-grid,
.problem-grid,
.steps-grid,
.process-grid,
.cycle-grid,
.process-line,
.path-grid {
  display: grid;
  gap: 10px;
  margin-top: 72px;
}

.signals-grid,
.tension-grid,
.problem-grid,
.cycle-grid,
.process-line { grid-template-columns: repeat(4, 1fr); }
.steps-grid,
.process-grid { grid-template-columns: repeat(5, 1fr); }

:is(.signals-grid, .tension-grid, .problem-grid, .steps-grid, .process-grid, .cycle-grid, .process-line) article {
  min-height: 290px;
  padding: 26px;
  border: 1px solid var(--line);
  background: linear-gradient(150deg, rgba(255, 255, 255, 0.035), transparent);
  transition: border-color 0.35s ease, background 0.35s ease, transform 0.35s ease;
}

:is(.signals-grid, .tension-grid, .problem-grid, .steps-grid, .process-grid, .cycle-grid, .process-line) article:hover { border-color: var(--line-strong); background: rgba(116, 31, 59, 0.13); transform: translateY(-6px); }
:is(.signals-grid, .tension-grid, .problem-grid, .steps-grid, .process-grid, .cycle-grid, .process-line) article > span { color: var(--gold); font-family: Georgia, serif; font-style: italic; }
:is(.steps-grid, .process-grid, .cycle-grid, .process-line) small { display: block; margin-top: 52px; color: var(--gold); font-size: 8px; font-weight: 800; letter-spacing: 0.15em; text-transform: uppercase; }
:is(.signals-grid, .tension-grid, .problem-grid, .steps-grid, .process-grid, .cycle-grid, .process-line) h3 { margin-top: 46px; color: var(--ivory); font-size: clamp(23px, 2vw, 31px); letter-spacing: -0.03em; line-height: 1.08; }
:is(.steps-grid, .process-grid, .cycle-grid, .process-line) h3 { margin-top: 14px; }
:is(.signals-grid, .tension-grid, .problem-grid, .steps-grid, .process-grid, .cycle-grid, .process-line) p { margin-top: 16px; color: var(--muted); font-size: 13px; line-height: 1.62; }

.business-problem { display: grid; grid-template-columns: 0.82fr 1.18fr; gap: 6vw; }
.business-problem .problem-copy h2 { margin-top: 42px; }
.business-problem .problem-copy > p:not(.roman-label) { max-width: 560px; margin-top: 30px; color: var(--muted); font-size: 16px; line-height: 1.72; }
.business-problem .problem-grid { grid-template-columns: 1fr 1fr; margin-top: 0; }
.business-problem .problem-grid article { min-height: 250px; }

.about-team {
  padding: clamp(110px, 12vw, 180px) 5vw;
  border-bottom: 1px solid var(--line);
  background: radial-gradient(circle at 78% 12%, rgba(116, 31, 59, 0.16), transparent 34%), var(--night);
}

.about-team header { display: grid; grid-template-columns: 0.55fr 1.1fr 0.65fr; gap: 5vw; align-items: start; }
.about-team h2 { color: var(--ivory); font-size: clamp(50px, 5.7vw, 92px); letter-spacing: -0.055em; line-height: 0.98; }
.about-team header > p:not(.roman-label) { color: var(--muted); font-size: 15px; line-height: 1.7; }
.team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 70px; }
.team-grid article { min-height: 430px; padding: 30px; border: 1px solid var(--line); background: linear-gradient(145deg, rgba(116, 31, 59, 0.14), rgba(255, 255, 255, 0.018)); }
.team-grid article > span { color: var(--gold); font-family: Georgia, serif; font-style: italic; }
.team-grid h3 { margin-top: 84px; color: var(--ivory); font-size: clamp(34px, 3vw, 48px); letter-spacing: -0.04em; line-height: 0.96; }
.team-grid .role { margin-top: 24px; color: var(--gold); font-size: 9px; font-weight: 800; letter-spacing: 0.11em; text-transform: uppercase; }
.team-grid article > p:last-child { margin-top: 22px; color: var(--muted); font-size: 14px; line-height: 1.68; }

.about-cta { grid-template-columns: 1.1fr 0.9fr; }
.about-cta > div { order: 1; }
.about-cta > figure { order: 2; border-right: 0; border-left: 1px solid var(--line); }

/* Rooms keep their three pathways but become portrait-led editorial panels. */
.rooms-hero {
  min-height: 760px;
  padding: 190px 6vw 100px;
  border-bottom: 1px solid var(--line);
  background: radial-gradient(circle at 80% 25%, rgba(116, 31, 59, 0.25), transparent 32%), var(--night);
}

.rooms-hero h1 { max-width: 1180px; margin-top: 48px; color: var(--ivory); font-size: clamp(62px, 7vw, 116px); letter-spacing: -0.06em; line-height: 0.9; }
.rooms-hero > p:not(.roman-label) { max-width: 760px; margin: 34px 0 0 auto; color: var(--muted); font-size: 17px; line-height: 1.72; }
.room-index { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 70px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.room-index a { display: flex; min-height: 72px; align-items: center; gap: 18px; padding: 0 20px; border-right: 1px solid var(--line); font-family: Georgia, serif; text-decoration: none; }
.room-index a:last-child { border-right: 0; }
.room-index span { color: var(--gold); font-style: italic; }

.room { display: grid; min-height: 810px; grid-template-columns: 0.94fr 1.06fr; border-bottom: 1px solid var(--line); background: var(--panel); }
.room:nth-of-type(odd) { background: #0e0c0e; }
.room > figure { position: relative; min-width: 0; overflow: hidden; }
.room > figure img { height: 100%; object-fit: cover; object-position: 50% 28%; filter: saturate(0.82) brightness(0.82); transition: filter 0.5s ease, transform 0.75s ease; }
.room > figure:hover img { filter: saturate(1) brightness(0.9); transform: scale(1.025); }
.room > figure figcaption { position: absolute; z-index: 3; right: 24px; bottom: 20px; left: 24px; padding: 0; color: var(--ivory-soft); }
.room-copy { display: flex; flex-direction: column; justify-content: center; padding: 90px 6vw; }
.room-copy h2 { margin-top: 38px; color: var(--ivory); font-size: clamp(50px, 5.5vw, 90px); letter-spacing: -0.055em; line-height: 0.98; }
.room-copy > p:not(.roman-label) { max-width: 620px; margin-top: 28px; color: var(--muted); font-size: 16px; line-height: 1.72; }
.room-copy ul { margin: 46px 0 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.room-copy li { padding: 14px 0; border-bottom: 1px solid var(--line); color: var(--ivory-soft); font-size: 13px; }
.room-copy .text-link { margin-top: 30px; }
.room-direction > .room-copy { order: 1; }
.room-direction > figure { order: 2; }

/* Contact, form, confirmation and legal surfaces. */
.contact-hero { grid-template-columns: 1.02fr 0.98fr; }
.contact-copy { min-height: 708px; }
.contact-figure { min-height: 708px; }
.contact-paths { background: var(--night-soft); }
.path-grid { grid-template-columns: repeat(3, 1fr); }
.path-grid a { position: relative; display: flex; min-height: 430px; flex-direction: column; padding: 28px; border: 1px solid var(--line); background: linear-gradient(145deg, rgba(116, 31, 59, 0.15), rgba(255, 255, 255, 0.02)); text-decoration: none; transition: border-color 0.35s ease, transform 0.4s ease; }
.path-grid a:hover { border-color: var(--line-strong); transform: translateY(-8px); }
.path-grid a > span { color: var(--gold); font-family: Georgia, serif; font-style: italic; }
.path-grid small { margin-top: 74px; color: var(--gold); font-size: 8px; font-weight: 800; letter-spacing: 0.15em; text-transform: uppercase; }
.path-grid h3 { margin-top: 15px; color: var(--ivory); font-size: clamp(31px, 3vw, 48px); letter-spacing: -0.04em; line-height: 1; }
.path-grid p { margin-top: 20px; color: var(--muted); font-size: 14px; line-height: 1.65; }
.path-grid b { margin-top: auto; padding-top: 30px; color: var(--ivory); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; }
.path-grid i { float: right; color: var(--gold); font-style: normal; }

.spdr-native.spdr-mark-of-you-form {
  --sf-ink: var(--ivory);
  --sf-paper: var(--night);
  --sf-white: #fff;
  --sf-muted: var(--muted);
  --sf-line: var(--line);
  display: grid;
  min-height: 100vh;
  grid-template-columns: 1.02fr 0.98fr;
  background: radial-gradient(circle at 12% 12%, rgba(116, 31, 59, 0.22), transparent 34%), var(--night);
  color: var(--ivory);
  font-family: Arial, Helvetica, sans-serif;
}

.spdr-native.spdr-mark-of-you-form .mark-of-you-form-copy { min-height: 100vh; padding: clamp(48px, 6vw, 95px); border-right: 1px solid var(--line); }
.spdr-native.spdr-mark-of-you-form .mark-of-you-form-panel { min-height: 100vh; padding: clamp(110px, 12vw, 180px) clamp(34px, 7vw, 110px) 80px; background: linear-gradient(145deg, rgba(255, 255, 255, 0.025), transparent); }
.spdr-native.spdr-mark-of-you-form .mark-of-you-form-kicker { margin: clamp(105px, 13vh, 160px) 0 36px; }
.spdr-native.spdr-mark-of-you-form h1 { max-width: 760px; color: var(--ivory); font-size: clamp(62px, 6.6vw, 108px); letter-spacing: -0.06em; line-height: 0.91; }
.spdr-native.spdr-mark-of-you-form .mark-of-you-form-intro { max-width: 610px; margin-top: 42px; color: var(--ivory-soft); font-size: clamp(16px, 1.25vw, 20px); line-height: 1.7; }
.spdr-native.spdr-mark-of-you-form .mark-of-you-form-note { display: grid; max-width: 610px; grid-template-columns: 36px 1fr; gap: 18px; margin-top: 50px; padding-top: 22px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; line-height: 1.6; }
.spdr-native.spdr-mark-of-you-form .mark-of-you-form-note span { color: var(--gold); font-family: Georgia, serif; font-style: italic; }
.spdr-native.spdr-mark-of-you-form .mark-of-you-form-back { display: inline-block; margin-top: 48px; padding-bottom: 4px; border-bottom: 1px solid var(--gold); color: var(--ivory); font-size: 9px; font-weight: 800; letter-spacing: 0.1em; text-decoration: none; text-transform: uppercase; }
.spdr-native.spdr-mark-of-you-form .mark-of-you-form-panel::before { display: block; margin-bottom: 55px; color: var(--gold); content: "THE ESSENTIAL DETAILS · 02"; font-size: 9px; font-weight: 800; letter-spacing: 0.17em; }
.spdr-native.spdr-mark-of-you-form .mark-of-you-field label { display: block; margin-top: 24px; color: var(--gold); font-size: 9px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.spdr-native.spdr-mark-of-you-form .mark-of-you-field label span { color: var(--muted); font-weight: 400; }
.spdr-native.spdr-mark-of-you-form .mark-of-you-field input,
.spdr-native.spdr-mark-of-you-form .mark-of-you-field textarea { display: block; width: 100%; min-height: 74px; padding: 18px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--ivory); font-family: Georgia, serif; font-size: clamp(20px, 2vw, 30px); box-shadow: none; resize: vertical; }
.spdr-native.spdr-mark-of-you-form .mark-of-you-field textarea { min-height: 150px; }
.spdr-native.spdr-mark-of-you-form .mark-of-you-field input::placeholder,
.spdr-native.spdr-mark-of-you-form .mark-of-you-field textarea::placeholder { color: #756c65; opacity: 1; }
.spdr-native.spdr-mark-of-you-form .mark-of-you-field input:focus,
.spdr-native.spdr-mark-of-you-form .mark-of-you-field textarea:focus { border-bottom-color: var(--gold); outline: 0; }
.spdr-native.spdr-mark-of-you-form .mark-of-you-consent { display: flex; gap: 12px; align-items: flex-start; margin-top: 32px; color: var(--muted); font-size: 11px; line-height: 1.55; }
.spdr-native.spdr-mark-of-you-form .mark-of-you-consent input { width: 18px; height: 18px; margin-top: 1px; flex: 0 0 auto; accent-color: var(--wine-bright); }
.spdr-native.spdr-mark-of-you-form .mark-of-you-submit { display: flex; width: 100%; justify-content: space-between; margin-top: 32px; }
.spdr-native.spdr-mark-of-you-form .mark-of-you-honeypot { position: absolute; left: -10000px; }
.spdr-native.spdr-mark-of-you-form .spider-lead-message { min-height: 22px; margin: 18px 0 0; color: #9bc4a4; font-size: 12px; }
.spdr-native.spdr-mark-of-you-form .spider-lead-message[data-state="error"] { color: #e69a9a; }

.thanks-copy .button { margin-top: 34px; }
.thanks-note { min-height: 520px; }

.mark-of-you-legal-root { min-height: 100vh; font-family: Arial, Helvetica, sans-serif; }
.legal-header { position: relative; background: var(--night); }
.legal-hero { padding: 130px 6vw 110px; border-bottom: 1px solid var(--line); background: radial-gradient(circle at 80% 20%, rgba(116, 31, 59, 0.25), transparent 34%), var(--night-soft); }
.legal-hero h1 { margin-top: 36px; color: var(--ivory); font-size: clamp(72px, 9vw, 144px); letter-spacing: -0.065em; line-height: 0.82; }
.legal-hero > p:not(.legal-kicker) { max-width: 650px; margin-top: 36px; color: var(--ivory-soft); font-size: 17px; line-height: 1.7; }
.legal-hero small { display: block; margin-top: 26px; color: var(--muted); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; }
.legal-content { max-width: 980px; margin: 0 auto; padding: 90px 6vw 130px; }
.legal-content section { padding: 34px 0; border-bottom: 1px solid var(--line); }
.legal-content h2 { color: var(--ivory); font-size: clamp(24px, 2.7vw, 38px); letter-spacing: -0.03em; }
.legal-content p, .legal-content li { color: var(--muted); line-height: 1.8; }
.legal-content p, .legal-content ul { margin-top: 18px; }
.legal-content li + li { margin-top: 10px; }
.legal-content a { color: var(--gold-soft); }
.legal-content code { color: var(--gold-soft); }

:is(.site-footer, .spider-about-root footer, .spider-method-root footer, .spider-foundation-root footer, .spider-direction-root footer, .spider-business-root footer, .spider-rooms-root footer, .spider-contact-root footer, .spider-thanks-root footer, .mark-of-you-legal-root footer) {
  display: grid;
  min-height: 170px;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 30px;
  padding: 36px 5vw;
  border-top: 1px solid var(--line);
  background: #070607;
  color: var(--muted);
}

:is(.site-footer, .spider-about-root footer, .spider-method-root footer, .spider-foundation-root footer, .spider-direction-root footer, .spider-business-root footer, .spider-rooms-root footer, .spider-contact-root footer, .spider-thanks-root footer, .mark-of-you-legal-root footer) > :last-child { justify-self: end; }
.footer-links { display: flex; gap: 22px; }
.footer-links a, .mark-of-you-legal-root footer a:last-child { font-size: 10px; font-weight: 800; letter-spacing: 0.1em; text-decoration: none; text-transform: uppercase; }

.spider-custom-root a:focus-visible,
.spdr-native a:focus-visible,
.spdr-native input:focus-visible,
.spdr-native textarea:focus-visible,
.spdr-native button:focus-visible,
.mark-of-you-legal-root a:focus-visible { outline: 2px solid var(--gold-soft); outline-offset: 4px; }

@media (max-width: 1100px) {
  .site-header { grid-template-columns: 1fr auto; }
  .site-header .site-nav { display: none; }
  .hero-copy { width: min(720px, 70vw); }
  .hero-figure { left: 28%; }
  .hero::before { background: linear-gradient(90deg, #090809 0%, rgba(9, 8, 9, 0.96) 42%, rgba(9, 8, 9, 0.35) 70%, rgba(9, 8, 9, 0.08)), linear-gradient(0deg, #090809, transparent 38%); }
  .museum-directory { grid-template-columns: repeat(3, 1fr); }
  .museum-directory a:nth-child(3) { border-right: 0; }
  .museum-directory a:nth-child(-n + 3) { border-bottom: 1px solid var(--line); }
  .service-grid { grid-template-columns: 1fr 1fr; }
  .service-card:last-child { grid-column: 1 / -1; min-height: 560px; }
  .business-grid, .signals-grid, .tension-grid, .cycle-grid, .process-line { grid-template-columns: 1fr 1fr; }
  .steps-grid, .process-grid { grid-template-columns: repeat(3, 1fr); }
  .business-problem { grid-template-columns: 1fr; }
  .business-problem .problem-grid { grid-template-columns: repeat(4, 1fr); }
  .about-team header { grid-template-columns: 1fr 1.3fr; }
  .about-team header > p:not(.roman-label) { grid-column: 2; }
}

@media (max-width: 820px) {
  :is(.site-header, .about-header, .method-header, .foundation-header, .direction-header, .business-header, .rooms-header, .contact-header, .thanks-header, .legal-header) { min-height: 94px; padding: 0 24px; }
  :is(.about-header, .method-header, .foundation-header, .direction-header, .business-header, .rooms-header) nav a:first-child,
  .legal-header nav a:first-child { display: none; }
  .hero { min-height: 820px; }
  .hero-figure { inset: 0; }
  .hero::before { background: linear-gradient(90deg, rgba(9, 8, 9, 0.94) 0%, rgba(9, 8, 9, 0.58) 74%, rgba(9, 8, 9, 0.28)), linear-gradient(0deg, #090809 0%, rgba(9, 8, 9, 0.72) 38%, transparent 72%); }
  .hero-copy { width: 100%; min-height: 820px; justify-content: flex-end; padding: 128px 28px 48px; }
  .hero h1 { font-size: clamp(66px, 14vw, 104px); }
  .hero-lead { max-width: 600px; }
  .hero-footnote { margin-top: 42px; }
  .material-ledger { grid-template-columns: 1fr 1fr; }
  .material-ledger__sample { display: none; }
  .declaration { min-height: auto; padding: 110px 32px; }
  .declaration-copy { grid-template-columns: 1fr; margin-top: 44px; }
  .colonnade, .method { grid-template-columns: 1fr; }
  .colonnade-image, .method-figure { min-height: 680px; border-right: 0; border-bottom: 1px solid var(--line); }
  .method-copy { order: 2; }
  .method-figure { order: 1; border-left: 0; }
  .section-intro { grid-template-columns: 1fr; }
  .services h2 { margin-top: 38px; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card:last-child { grid-column: auto; }
  .business-grid { grid-template-columns: 1fr 1fr; }
  :is(.about-hero, .method-hero, .foundation-hero, .direction-hero, .business-hero, .contact-hero, .thanks-hero),
  :is(.about-principle, .subtraction, .coherence, .foundation-work, .foundation-outcome, .direction-system, .direction-outcome, .compatibility, .business-cta),
  .room,
  .about-cta { grid-template-columns: 1fr; }
  :is(.about-hero, .method-hero, .foundation-hero, .direction-hero, .business-hero, .contact-hero, .thanks-hero) > figure { min-height: 650px; border-left: 0; border-top: 1px solid var(--line); }
  :is(.about-principle, .subtraction, .coherence, .foundation-work, .foundation-outcome, .direction-system, .direction-outcome, .compatibility, .business-cta) > figure,
  .room > figure { min-height: 650px; border: 0; border-bottom: 1px solid var(--line); }
  :is(.about-principle, .subtraction, .coherence, .foundation-work, .foundation-outcome, .direction-system, .direction-outcome, .compatibility, .business-cta) > :not(figure),
  .room-copy { padding: 80px 32px; }
  .subtraction > figure, .about-cta > figure, .room-direction > figure { order: 1; }
  .subtraction > div, .about-cta > div, .room-direction > .room-copy { order: 2; }
  .about-vision { grid-template-columns: 1fr; }
  .about-team header { grid-template-columns: 1fr; }
  .about-team header > p:not(.roman-label) { grid-column: auto; }
  .team-grid { grid-template-columns: 1fr; }
  .steps-grid, .process-grid { grid-template-columns: 1fr 1fr; }
  .business-problem .problem-grid { grid-template-columns: 1fr 1fr; }
  .room-index { grid-template-columns: 1fr; }
  .room-index a { border-right: 0; border-bottom: 1px solid var(--line); }
  .room-index a:last-child { border-bottom: 0; }
  .path-grid { grid-template-columns: 1fr; }
  .spdr-native.spdr-mark-of-you-form { grid-template-columns: 1fr; }
  .spdr-native.spdr-mark-of-you-form .mark-of-you-form-copy, .spdr-native.spdr-mark-of-you-form .mark-of-you-form-panel { min-height: auto; }
  .spdr-native.spdr-mark-of-you-form .mark-of-you-form-copy { padding: 50px 32px 88px; border-right: 0; border-bottom: 1px solid var(--line); }
  .spdr-native.spdr-mark-of-you-form .mark-of-you-form-panel { padding: 80px 32px; }
}

@media (max-width: 560px) {
  .wordmark, .legal-wordmark, .mark-of-you-form-wordmark { font-size: 52px !important; }
  .header-cta, :is(.about-header, .method-header, .foundation-header, .direction-header, .business-header, .rooms-header) nav a:last-child { min-height: 44px; padding: 0 16px; }
  .hero { min-height: 780px; }
  .hero-copy { min-height: 780px; padding: 124px 20px 38px; }
  .hero h1 { font-size: clamp(60px, 18vw, 86px); }
  .hero-lead { font-size: 15px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; }
  .hero .button { width: 100%; }
  .hero-footnote { font-size: 8px; }
  .museum-directory { grid-template-columns: 1fr 1fr; }
  .museum-directory a:nth-child(3) { border-right: 1px solid var(--line); }
  .museum-directory a:nth-child(even) { border-right: 0; }
  .museum-directory a:nth-child(-n + 4) { border-bottom: 1px solid var(--line); }
  .material-ledger { min-height: 96px; padding: 18px 20px; }
  .material-ledger p strong { font-size: 14px; }
  .museum-room::before, .museum-room::after { display: none; }
  .declaration { padding: 88px 20px; }
  .declaration h2, .colonnade h2, .services h2, .method h2, .for-business h2, .final-cta h2 { font-size: clamp(46px, 13vw, 68px); }
  .colonnade-image, .method-figure { min-height: 520px; padding: 14px; }
  .material-frame, .plinth-frame { min-height: 480px; }
  .colonnade-copy, .method-copy { padding: 74px 20px; }
  .colonnade dl div { grid-template-columns: 1fr; gap: 5px; }
  .services, .for-business, :is(.about-vision, .foundation-signals, .direction-tension, .business-problem, .method-steps, .foundation-process, .direction-cycle, .business-process, .contact-paths), .about-team { padding: 86px 20px; }
  .service-grid { margin-top: 55px; }
  .service-card { min-height: 530px; padding: 24px; }
  .business-grid, .signals-grid, .tension-grid, .problem-grid, .steps-grid, .process-grid, .cycle-grid, .process-line, .business-problem .problem-grid { grid-template-columns: 1fr; }
  .business-grid article { min-height: 520px; }
  .final-cta, .rooms-cta, .method-cta, .direct-contact, .thanks-note { padding: 100px 20px; }
  :is(.about-hero, .method-hero, .foundation-hero, .direction-hero, .business-hero, .contact-hero, .thanks-hero) { padding-top: 94px; }
  :is(.about-hero, .method-hero, .foundation-hero, .direction-hero, .business-hero) .hero-copy, .contact-copy, .thanks-copy { padding: 72px 20px; }
  :is(.about-hero, .method-hero, .foundation-hero, .direction-hero, .business-hero, .contact-hero, .thanks-hero) h1 { font-size: clamp(52px, 15vw, 78px); }
  :is(.about-hero, .method-hero, .foundation-hero, .direction-hero, .business-hero, .contact-hero, .thanks-hero) > figure,
  :is(.about-principle, .subtraction, .coherence, .foundation-work, .foundation-outcome, .direction-system, .direction-outcome, .compatibility, .business-cta) > figure,
  .room > figure { min-height: 520px; }
  :is(.about-principle, .subtraction, .coherence, .foundation-work, .foundation-outcome, .direction-system, .direction-outcome, .compatibility, .business-cta) > :not(figure), .room-copy { padding: 72px 20px; }
  :is(.about-principle, .subtraction, .coherence, .foundation-work, .foundation-outcome, .direction-system, .direction-outcome, .compatibility, .business-cta) h2,
  :is(.about-vision, .foundation-signals, .direction-tension, .business-problem, .method-steps, .foundation-process, .direction-cycle, .business-process, .contact-paths) h2,
  .about-team h2,
  .room-copy h2 { font-size: clamp(44px, 12.8vw, 66px); }
  .rooms-hero { min-height: auto; padding: 158px 20px 78px; }
  .rooms-hero h1 { font-size: clamp(54px, 15vw, 78px); }
  .rooms-hero > p:not(.roman-label) { margin-left: 0; }
  .team-grid article { min-height: 390px; }
  .path-grid a { min-height: 390px; }
  .spdr-native.spdr-mark-of-you-form .mark-of-you-form-copy { padding: 36px 20px 72px; }
  .spdr-native.spdr-mark-of-you-form .mark-of-you-form-panel { padding: 72px 20px; }
  .spdr-native.spdr-mark-of-you-form h1 { font-size: clamp(52px, 15vw, 74px); }
  .spdr-native.spdr-mark-of-you-form .mark-of-you-form-kicker { margin-top: 72px; }
  .legal-header nav { gap: 0; }
  .legal-hero { padding: 94px 20px 80px; }
  .legal-hero h1 { font-size: clamp(66px, 20vw, 96px); }
  .legal-content { padding: 65px 20px 95px; }
  :is(.site-footer, .spider-about-root footer, .spider-method-root footer, .spider-foundation-root footer, .spider-direction-root footer, .spider-business-root footer, .spider-rooms-root footer, .spider-contact-root footer, .spider-thanks-root footer, .mark-of-you-legal-root footer) { grid-template-columns: 1fr; min-height: 230px; align-content: center; justify-items: start; gap: 12px; padding: 38px 20px; }
  :is(.site-footer, .spider-about-root footer, .spider-method-root footer, .spider-foundation-root footer, .spider-direction-root footer, .spider-business-root footer, .spider-rooms-root footer, .spider-contact-root footer, .spider-thanks-root footer, .mark-of-you-legal-root footer) > :last-child { justify-self: start; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
