
@font-face {
  font-family: 'Cormorant Garamond';
  src: url('./fonts/cormorant-garamond-regular.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Cormorant Garamond';
  src: url('./fonts/cormorant-garamond-italic.woff2') format('woff2');
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Cormorant Garamond';
  src: url('./fonts/cormorant-garamond-500.woff2') format('woff2');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: 'Proza Libre';
  src: url('./fonts/proza-libre-regular.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Proza Libre';
  src: url('./fonts/proza-libre-500.woff2') format('woff2');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

:root {
  --ink: #2c2c2c;
  --paper: #f0ebec;
  --paper-2: #e3dadd;
  --smoke: #45454d;
  --primary: #736665;
  --mauve: #825d65;
  --slate: #4b698c;
  --mist: #b1a3a1;
  --line: rgba(44, 44, 44, 0.2);
  --serif: 'Cormorant Garamond', 'Iowan Old Style', 'Baskerville', serif;
  --sans: 'Proza Libre', 'Helvetica Neue', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  height: 92px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 3.5vw;
  border-bottom: 1px solid var(--line);
  background: rgba(240, 235, 236, 0.94);
  backdrop-filter: blur(14px);
}
.wordmark { display: flex; flex-direction: column; width: max-content; }
.wordmark-name { font-family: var(--serif); font-size: 1.4rem; line-height: 1; letter-spacing: -0.02em; }
.wordmark-role { margin-top: 7px; font-size: 0.57rem; text-transform: uppercase; letter-spacing: 0.2em; color: #71696a; }
.desktop-nav { display: flex; align-items: center; gap: 2.4rem; font-size: 0.69rem; text-transform: uppercase; letter-spacing: 0.12em; }
.desktop-nav a { position: relative; padding: 12px 0; }
.desktop-nav a::after { content: ''; position: absolute; left: 0; bottom: 6px; width: 0; height: 1px; background: var(--ink); transition: width 300ms ease; }
.desktop-nav a:hover::after { width: 100%; }
.header-cta { justify-self: end; display: flex; gap: 1.5rem; align-items: center; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.13em; }
.header-cta span { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid var(--line); border-radius: 50%; transition: transform 300ms ease, background 300ms ease, color 300ms ease; }
.header-cta:hover span { transform: rotate(45deg); background: var(--ink); color: var(--paper); }

.hero {
  min-height: calc(100vh - 92px);
  display: grid;
  grid-template-columns: 7vw minmax(0, .92fr) minmax(420px, 1.08fr) 9vw;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 68% 28%, rgba(255,255,255,.62), transparent 26%),
    linear-gradient(115deg, rgba(255,255,255,.35), transparent 48%),
    var(--paper);
}
.hero::before { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .19; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' 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='.17'/%3E%3C/svg%3E"); }
.hero-rail { padding: 4rem 0 2rem; border-right: 1px solid var(--line); display: flex; flex-direction: column; align-items: center; gap: 1rem; font-size: .55rem; letter-spacing: .18em; writing-mode: vertical-rl; transform: rotate(180deg); color: #807779; }
.hero-rail .rail-line { flex: 1; width: 1px; background: var(--line); }
.hero-copy { position: relative; z-index: 1; align-self: center; padding: 4.5vw 4vw 5vw 4.5vw; }
.eyebrow { display: flex; align-items: center; gap: 14px; margin: 0 0 2rem; font-size: .63rem; font-weight: 600; letter-spacing: .19em; text-transform: uppercase; color: var(--slate); }
.eyebrow span { width: 35px; height: 1px; background: var(--slate); }
.hero h1 { margin: 0; max-width: 760px; font-family: var(--serif); font-weight: 500; font-size: clamp(4.1rem, 6.5vw, 7.4rem); line-height: .78; letter-spacing: -.055em; }
.hero h1 em { display: block; max-width: 560px; margin: 1.25rem 0 0 4.5vw; color: var(--mauve); font-size: .44em; line-height: 1.02; letter-spacing: -.035em; font-weight: 400; }
.hero-intro { max-width: 560px; margin: 2.4rem 0 0 4.5vw; font-family: var(--serif); font-size: clamp(1.15rem, 1.5vw, 1.5rem); line-height: 1.6; color: #534c4d; }
.hero-actions { margin: 2.2rem 0 0 4.5vw; display: flex; align-items: center; gap: 2rem; }
.button { display: inline-flex; align-items: center; gap: 2.4rem; min-height: 54px; padding: 0 1.4rem; font-size: .67rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; transition: transform 250ms ease, background 250ms ease; }
.button-dark { background: var(--ink); color: var(--paper); }
.button-dark:hover { transform: translateY(-3px); background: var(--mauve); }
.text-link { padding-bottom: 5px; border-bottom: 1px solid var(--line); font-size: .68rem; letter-spacing: .08em; }

.hero-visual { position: relative; z-index: 1; align-self: stretch; min-height: 620px; margin: 2.4vw 0; overflow: hidden; background: var(--primary); box-shadow: 0 30px 80px rgba(44,44,44,.15); animation: card-in 900ms cubic-bezier(.22,.8,.24,1) both; }
.hero-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(44,44,44,.48)); pointer-events: none; }
.hero-visual img { object-fit: cover; object-position: 55% center; transition: transform 900ms cubic-bezier(.2,.8,.2,1); }
.hero-visual:hover img { transform: scale(1.025); }
.hero-visual figcaption { position: absolute; z-index: 2; left: 2rem; right: 2rem; bottom: 1.6rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.42); color: #fff; font-size: .58rem; letter-spacing: .17em; text-transform: uppercase; }
.aurum-endorsement { display: grid; grid-template-columns: 58px 1fr; gap: 1rem; align-items: center; max-width: 440px; margin: 2rem 0 0 4.5vw; padding-top: 1.1rem; border-top: 1px solid var(--line); }
.aurum-endorsement img { width: 58px; height: 58px; border-radius: 50%; }
.aurum-endorsement p { margin: 0; font-family: var(--serif); font-size: .9rem; line-height: 1.4; color: var(--primary); }
.aurum-endorsement p span { display: block; margin-bottom: .35rem; font-family: var(--sans); font-size: .52rem; letter-spacing: .15em; text-transform: uppercase; color: var(--mauve); }
.hero-note { align-self: end; padding: 2rem 2vw 2.4rem; border-left: 1px solid var(--line); }
.note-number { font-family: var(--serif); font-size: 2.8rem; color: var(--slate); }
.hero-note p { margin: 1rem 0 0; font-family: var(--serif); font-size: .95rem; line-height: 1.45; }

.service-strip { display: grid; grid-template-columns: 1.2fr repeat(3, 1fr); background: var(--smoke); color: var(--paper); }
.strip-label, .service-strip > a { min-height: 148px; padding: 2rem; border-right: 1px solid rgba(255,255,255,.16); display: flex; flex-direction: column; justify-content: space-between; }
.strip-label { background: var(--primary); }
.strip-label span { font-family: var(--serif); font-size: 1.35rem; }
.strip-label small, .service-strip > a span, .service-strip > a small { font-size: .57rem; letter-spacing: .16em; color: #aeb1ab; }
.service-strip > a { font-family: var(--serif); font-size: 1.25rem; transition: background 250ms ease, padding-left 250ms ease; }
.service-strip > a:hover { background: var(--ink); padding-left: 2.35rem; }
.service-strip > a small { align-self: flex-end; }

.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 750ms ease, transform 750ms cubic-bezier(.22,.8,.24,1);
}
.reveal.is-visible { opacity: 1; transform: none; }
.kicker { margin: 0 0 1.4rem; font-size: .62rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--slate); }
.section-code { display: flex; flex-direction: column; justify-content: space-between; padding: 1rem 0; font-size: .52rem; letter-spacing: .17em; color: #777870; writing-mode: vertical-rl; transform: rotate(180deg); }

.positioning {
  display: grid;
  grid-template-columns: 7vw 1.4fr .8fr;
  gap: 5vw;
  padding: 8rem 5vw 8rem 0;
  border-bottom: 1px solid var(--line);
}
.positioning-title-wrap h2, .services-heading h2, .method h2, .trust-panel h2, .faq h2, .contact h2 {
  margin: 0;
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -.04em;
}
.positioning-title-wrap h2 { max-width: 810px; font-size: clamp(3.4rem, 5.3vw, 6.7rem); line-height: .98; }
.positioning-title-wrap h2 em, .services-heading h2 em, .method h2 em, .trust-panel h2 em, .faq h2 em, .contact h2 em { color: var(--slate); font-weight: 400; }
.positioning-copy { align-self: end; }
.positioning-copy > p { max-width: 440px; margin: 0 0 3rem; font-family: var(--serif); font-size: 1.22rem; line-height: 1.65; color: #4f524e; }
.principles { border-top: 1px solid var(--line); }
.principles span { display: block; padding: .9rem 0; border-bottom: 1px solid var(--line); font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; }

.territory { background: var(--paper); border-bottom: 1px solid var(--line); }
.territory-panorama { position: relative; min-height: clamp(250px, 28vw, 430px); margin: 0; overflow: hidden; background: var(--slate); }
.territory-panorama::after, .territory-landmark::after, .document-image::after { content: ''; position: absolute; inset: 0; pointer-events: none; }
.territory-panorama::after { background: linear-gradient(180deg, rgba(44,44,44,.05) 35%, rgba(44,44,44,.7)); }
.territory-panorama img { object-fit: cover; object-position: center; transition: transform 1000ms cubic-bezier(.2,.8,.2,1); }
.territory:hover .territory-panorama img { transform: scale(1.015); }
.territory-panorama figcaption, .territory-landmark figcaption { position: absolute; z-index: 2; left: 3.5vw; right: 3.5vw; bottom: 1.6rem; display: flex; justify-content: space-between; gap: 2rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.52); color: #fff; font-size: .54rem; letter-spacing: .15em; text-transform: uppercase; }
.territory-panorama figcaption a, .territory-landmark figcaption a { opacity: .82; transition: opacity 250ms ease; }
.territory-panorama figcaption a:hover, .territory-landmark figcaption a:hover { opacity: 1; }
.territory-content { display: grid; grid-template-columns: 1.1fr .9fr; gap: 7vw; align-items: center; padding: 8rem 7vw; }
.territory-copy { padding-left: 4vw; }
.territory-copy h2 { margin: 0; max-width: 760px; font-family: var(--serif); font-size: clamp(4rem, 6.4vw, 7.5rem); font-weight: 400; line-height: .82; letter-spacing: -.05em; }
.territory-copy h2 em { display: block; max-width: 610px; margin: 1.2rem 0 0 4vw; color: var(--primary); font-size: .56em; line-height: 1; font-weight: 400; }
.territory-copy > p { max-width: 590px; margin: 2.7rem 0 0 4vw; font-family: var(--serif); font-size: 1.2rem; line-height: 1.65; color: #564f50; }
.territory-data { display: grid; grid-template-columns: 1fr 1fr; max-width: 530px; margin: 2.8rem 0 0 4vw; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.territory-data span { padding: 1.1rem 1.4rem 1.1rem 0; font-size: .57rem; letter-spacing: .12em; text-transform: uppercase; color: #6b6263; }
.territory-data span + span { padding-left: 1.4rem; border-left: 1px solid var(--line); }
.territory-data b { display: block; margin-bottom: .45rem; color: var(--ink); font-weight: 500; }
.territory-landmark { position: relative; min-height: 620px; margin: 0; overflow: hidden; background: var(--primary); box-shadow: 0 32px 80px rgba(44,44,44,.14); }
.territory-landmark::after { background: linear-gradient(180deg, transparent 48%, rgba(44,44,44,.67)); }
.territory-landmark img { object-fit: cover; transition: transform 900ms cubic-bezier(.2,.8,.2,1); }
.territory-landmark:hover img { transform: scale(1.025); }
.territory-landmark figcaption { left: 2rem; right: 2rem; }

.brand-bridge { display: grid; grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr); min-height: 720px; background: var(--smoke); color: var(--paper); }
.brand-bridge-image { position: relative; min-height: 720px; margin: 0; overflow: hidden; }
.brand-bridge-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(44,44,44,.48)); }
.brand-bridge-image img { object-fit: cover; transition: transform 900ms cubic-bezier(.2,.8,.2,1); }
.brand-bridge:hover .brand-bridge-image img { transform: scale(1.025); }
.brand-bridge-image figcaption { position: absolute; z-index: 2; left: 3vw; right: 3vw; bottom: 2.3rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.4); font-size: .55rem; letter-spacing: .17em; text-transform: uppercase; }
.brand-bridge-copy { align-self: center; padding: 7rem 8vw; }
.brand-bridge-copy .kicker { color: #c2b6b5; }
.brand-bridge-copy h2 { margin: 0; max-width: 740px; font-family: var(--serif); font-size: clamp(3.8rem, 6vw, 7rem); font-weight: 400; line-height: .84; letter-spacing: -.045em; }
.brand-bridge-copy h2 em { display: block; margin: 1.3rem 0 0 4vw; color: #c5b8bc; font-size: .58em; line-height: 1; font-weight: 400; }
.brand-bridge-copy > p { max-width: 570px; margin: 2.8rem 0 0 4vw; font-family: var(--serif); font-size: 1.18rem; line-height: 1.65; color: #d1c9cb; }
.institutional-note { display: grid; grid-template-columns: 68px 1fr; gap: 1.2rem; align-items: center; max-width: 470px; margin: 2.5rem 0 0 4vw; padding-top: 1.3rem; border-top: 1px solid rgba(255,255,255,.22); }
.institutional-note img { width: 68px; height: 68px; border-radius: 50%; }
.institutional-note span { max-width: 300px; font-size: .56rem; line-height: 1.6; letter-spacing: .13em; text-transform: uppercase; color: #c7bfc1; }

.services-editorial { padding: 8rem 7vw; background: var(--paper-2); }
.services-heading { display: grid; grid-template-columns: 1.4fr .6fr; gap: 8vw; align-items: end; margin-bottom: 6rem; }
.services-heading h2 { font-size: clamp(3.5rem, 5.7vw, 7rem); line-height: .9; }
.services-heading > p { max-width: 430px; margin: 0; font-family: var(--serif); font-size: 1.18rem; line-height: 1.65; color: #4b4d49; }
.service-row { display: grid; grid-template-columns: 80px 1.25fr .9fr auto; gap: 3vw; align-items: center; min-height: 176px; border-top: 1px solid rgba(16,17,15,.33); }
.service-row:last-child { border-bottom: 1px solid rgba(16,17,15,.33); }
.service-number { align-self: start; padding-top: 2rem; font-size: .56rem; letter-spacing: .16em; color: #62645f; }
.service-title p { margin: 0 0 .65rem; font-size: .57rem; letter-spacing: .17em; text-transform: uppercase; color: var(--slate); }
.service-title h3 { margin: 0; font-family: var(--serif); font-size: clamp(1.8rem, 3vw, 3.4rem); font-weight: 400; letter-spacing: -.03em; }
.service-desc { max-width: 400px; font-family: var(--serif); font-size: 1.03rem; line-height: 1.55; color: #565853; }
.service-row > a { display: flex; align-items: center; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); font-size: .6rem; letter-spacing: .13em; text-transform: uppercase; }
.service-row > a span { transition: transform 250ms ease; }
.service-row > a:hover span { transform: translate(3px,-3px); }

.document-story { padding: 9rem 7vw 10rem; overflow: hidden; background: #d9ced1; }
.document-story-heading { display: grid; grid-template-columns: 1.25fr .75fr; gap: 9vw; align-items: end; margin-bottom: 6rem; }
.document-story-heading h2 { margin: 0; max-width: 900px; font-family: var(--serif); font-size: clamp(4rem, 6.4vw, 7.5rem); font-weight: 400; line-height: .84; letter-spacing: -.05em; }
.document-story-heading h2 em { display: block; margin: 1.1rem 0 0 6vw; color: var(--primary); font-size: .58em; line-height: 1; font-weight: 400; }
.document-story-heading > p { max-width: 480px; margin: 0; font-family: var(--serif); font-size: 1.12rem; line-height: 1.65; color: #5c5355; }
.document-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4vw; align-items: start; }
.document-card { min-width: 0; }
.document-card-offset { margin-top: 7rem; }
.document-image { position: relative; min-height: clamp(380px, 42vw, 680px); margin: 0; overflow: hidden; background: var(--primary); }
.document-image::after { background: linear-gradient(180deg, transparent 68%, rgba(44,44,44,.23)); }
.document-image img { object-fit: cover; transition: transform 800ms cubic-bezier(.2,.8,.2,1); }
.document-card:hover .document-image img { transform: scale(1.025); }
.document-card-copy { display: grid; grid-template-columns: 100px 1fr; gap: 1.5rem 2rem; padding: 2rem 0 0; border-top: 1px solid var(--line); }
.document-card-copy > span { grid-row: 1 / 3; padding-top: .4rem; font-size: .54rem; letter-spacing: .15em; color: var(--primary); }
.document-card-copy h3 { margin: 0; font-family: var(--serif); font-size: clamp(2rem, 3vw, 3.5rem); font-weight: 400; letter-spacing: -.03em; }
.document-card-copy p { max-width: 480px; margin: 0; font-family: var(--serif); font-size: 1rem; line-height: 1.6; color: #5c5355; }

.method { display: grid; grid-template-columns: .78fr 1.22fr; gap: 8vw; padding: 9rem 7vw; background: var(--ink); color: var(--paper); }
.method-heading { position: sticky; top: 150px; align-self: start; }
.method .kicker { color: #9fa79f; }
.method h2 { font-size: clamp(3.5rem, 5.4vw, 6.5rem); line-height: .94; }
.method h2 em { color: #9aa7ac; }
.method-steps { counter-reset: method; }
.method-step { display: grid; grid-template-columns: 72px 1fr; gap: 2rem; padding: 3rem 0; border-top: 1px solid rgba(255,255,255,.2); }
.method-step:last-child { border-bottom: 1px solid rgba(255,255,255,.2); }
.method-step > span { grid-row: 1 / 3; font-family: var(--serif); font-size: 2.6rem; color: #6f7878; }
.method-step h3 { margin: 0; font-family: var(--serif); font-size: clamp(1.7rem, 2.6vw, 2.7rem); font-weight: 400; }
.method-step p { max-width: 490px; margin: .8rem 0 0; line-height: 1.7; color: #acada7; }

.trust-panel { min-height: 650px; display: grid; grid-template-columns: .45fr 1fr .7fr; gap: 6vw; align-items: center; padding: 8rem 7vw; background: var(--primary); color: var(--paper); }
.trust-mark { align-self: start; font-family: var(--serif); font-size: clamp(12rem, 24vw, 25rem); line-height: .75; color: rgba(255,255,255,.12); }
.trust-panel .kicker { color: #b9c1c1; }
.trust-panel h2 { font-size: clamp(3.7rem, 5.8vw, 7rem); line-height: .92; }
.trust-panel h2 em { color: #c7ced0; }
.trust-list { border-top: 1px solid rgba(255,255,255,.22); }
.trust-list span { display: grid; grid-template-columns: 55px 1fr; padding: 1.2rem 0; border-bottom: 1px solid rgba(255,255,255,.22); font-family: var(--serif); font-size: 1rem; line-height: 1.4; }
.trust-list b { font-family: var(--sans); font-size: .54rem; letter-spacing: .17em; color: #afb7b8; }

.faq { display: grid; grid-template-columns: .78fr 1.22fr; gap: 9vw; padding: 9rem 7vw; background: var(--paper); }
.faq-intro h2 { font-size: clamp(3.4rem, 5.4vw, 6.4rem); line-height: .95; }
.faq-intro > p:last-child { max-width: 430px; margin: 2.5rem 0 0; font-family: var(--serif); font-size: 1.05rem; line-height: 1.6; color: #5b5d58; }
.faq-list { border-top: 1px solid var(--line); }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center; padding: 2rem 0; font-family: var(--serif); font-size: clamp(1.2rem, 1.8vw, 1.7rem); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary span { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 50%; font-family: var(--sans); font-size: .8rem; transition: transform 250ms ease; }
.faq details[open] summary span { transform: rotate(45deg); }
.faq details p { max-width: 650px; margin: -0.5rem 4rem 2.2rem 0; line-height: 1.7; color: #5f615c; }

.contact { display: grid; grid-template-columns: 7vw 1fr .42fr; min-height: 670px; background: #d9ced1; border-top: 1px solid var(--line); }
.contact-rail { display: flex; flex-direction: column; justify-content: space-between; align-items: center; padding: 3rem 0; border-right: 1px solid var(--line); writing-mode: vertical-rl; transform: rotate(180deg); font-size: .56rem; letter-spacing: .18em; }
.contact-main { align-self: center; padding: 7rem 7vw; }
.contact h2 { max-width: 950px; font-size: clamp(4rem, 7vw, 8rem); line-height: .86; }
.contact-main > p:not(.kicker) { max-width: 560px; margin: 3rem 0 2rem; font-family: var(--serif); font-size: 1.15rem; line-height: 1.65; }
.contact-status { display: inline-flex; padding: 1rem 1.3rem; border: 1px solid var(--line); font-size: .58rem; letter-spacing: .13em; text-transform: uppercase; }
.contact-side { display: flex; flex-direction: column; justify-content: flex-end; padding: 3rem; border-left: 1px solid var(--line); }
.contact-side p { margin: 0 0 .8rem; font-size: .57rem; letter-spacing: .15em; text-transform: uppercase; color: #62645e; }
.contact-side strong { font-family: var(--serif); font-size: 1.7rem; font-weight: 400; line-height: 1.2; }
.contact-side small { margin-top: 1.2rem; line-height: 1.5; color: #6d6f68; }

footer { min-height: 150px; display: grid; grid-template-columns: 1fr auto 1fr; gap: 3rem; align-items: center; padding: 2.5rem 3.5vw; background: var(--smoke); color: var(--paper); }
footer > p { font-size: .58rem; letter-spacing: .08em; color: #8e918b; text-align: center; }
footer > a:last-child { justify-self: end; font-size: .6rem; letter-spacing: .13em; text-transform: uppercase; }
.footer-wordmark .wordmark-role { color: #90958f; }

@keyframes card-in { from { opacity: 0; transform: translateY(35px) rotate(.7deg); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }

@media (max-width: 1050px) {
  .site-header { grid-template-columns: 1fr auto; }
  .desktop-nav { display: none; }
  .hero { grid-template-columns: 52px 1fr minmax(320px, .9fr); }
  .hero-note { display: none; }
  .hero h1 { font-size: clamp(4rem, 8vw, 6rem); }
  .service-strip { grid-template-columns: 1fr 1fr; }
  .service-strip > :nth-child(2) { border-bottom: 1px solid rgba(255,255,255,.16); }
  .strip-label { border-bottom: 1px solid rgba(255,255,255,.16); }
  .positioning { grid-template-columns: 52px 1fr; }
  .positioning-copy { grid-column: 2; max-width: 660px; }
  .territory-content { grid-template-columns: 1fr 1fr; gap: 5vw; padding: 7rem 5vw; }
  .territory-copy { padding-left: 0; }
  .territory-landmark { min-height: 560px; }
  .brand-bridge { grid-template-columns: .9fr 1.1fr; }
  .brand-bridge-copy { padding: 6rem 5vw; }
  .service-row { grid-template-columns: 55px 1fr auto; }
  .service-desc { grid-column: 2; margin-top: -1.5rem; }
  .document-story { padding: 7rem 5vw 8rem; }
  .document-story-heading { grid-template-columns: 1fr .75fr; gap: 6vw; }
  .document-card-copy { grid-template-columns: 72px 1fr; }
  .method, .faq { grid-template-columns: 1fr; }
  .method-heading { position: static; }
  .trust-panel { grid-template-columns: .35fr 1fr; }
  .trust-list { grid-column: 2; }
  .contact { grid-template-columns: 52px 1fr; }
  .contact-side { grid-column: 2; border-left: 0; border-top: 1px solid var(--line); }
}

@media (max-width: 760px) {
  .site-header { height: 78px; padding: 0 1.2rem; }
  .wordmark-name { font-size: 1.15rem; }
  .header-cta { font-size: 0; gap: 0; }
  .header-cta span { font-size: .8rem; }
  .hero { display: block; min-height: auto; padding: 4.5rem 1.25rem 3rem; }
  .hero-rail { display: none; }
  .hero-copy { padding: 0; }
  .hero h1 { font-size: clamp(3.6rem, 17vw, 5.4rem); line-height: .86; }
  .hero h1 em { margin-left: 8vw; }
  .hero-intro { margin: 2rem 0 0 8vw; max-width: 84%; }
  .hero-actions { margin: 2.2rem 0 3rem 8vw; align-items: flex-start; flex-direction: column; gap: 1.2rem; }
  .hero-visual { min-height: 430px; margin: 0 0 0 8vw; }
  .aurum-endorsement { margin-left: 8vw; }
  .service-strip { display: block; }
  .strip-label, .service-strip > a { min-height: 124px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
  .positioning { display: block; padding: 5.5rem 1.25rem; }
  .section-code { display: none; }
  .positioning-title-wrap h2 { font-size: 3.35rem; }
  .positioning-copy { margin-top: 3rem; }
  .territory-panorama { min-height: 280px; }
  .territory-panorama figcaption, .territory-landmark figcaption { left: 1.25rem; right: 1.25rem; flex-direction: column; gap: .5rem; }
  .territory-content { display: block; padding: 5.5rem 1.25rem; }
  .territory-copy h2 { font-size: 3.75rem; }
  .territory-copy h2 em, .territory-copy > p, .territory-data { margin-left: 8vw; }
  .territory-data { grid-template-columns: 1fr; }
  .territory-data span + span { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .territory-landmark { min-height: 470px; margin: 4.5rem 0 0 8vw; }
  .brand-bridge { display: block; min-height: auto; }
  .brand-bridge-image { min-height: 430px; }
  .brand-bridge-copy { padding: 5.5rem 1.25rem; }
  .brand-bridge-copy h2 { font-size: 3.7rem; }
  .brand-bridge-copy h2 em { margin-left: 8vw; }
  .brand-bridge-copy > p, .institutional-note { margin-left: 8vw; }
  .services-editorial { padding: 5.5rem 1.25rem; }
  .services-heading { display: block; margin-bottom: 4rem; }
  .services-heading h2 { font-size: 3.5rem; }
  .services-heading > p { margin-top: 2.2rem; }
  .service-row { grid-template-columns: 42px 1fr; gap: 1rem; padding: 2rem 0; }
  .service-number { padding-top: .45rem; }
  .service-desc, .service-row > a { grid-column: 2; margin: 0; }
  .service-row > a { justify-self: start; }
  .document-story { padding: 5.5rem 1.25rem 6.5rem; }
  .document-story-heading { display: block; margin-bottom: 4rem; }
  .document-story-heading h2 { font-size: 3.65rem; }
  .document-story-heading h2 em { margin-left: 8vw; }
  .document-story-heading > p { margin: 2.5rem 0 0 8vw; }
  .document-grid { display: block; }
  .document-card-offset { margin-top: 4.5rem; }
  .document-image { min-height: 420px; }
  .document-card-copy { grid-template-columns: 56px 1fr; }
  .method { padding: 5.5rem 1.25rem; }
  .method h2, .trust-panel h2, .faq h2 { font-size: 3.5rem; }
  .method-steps { margin-top: 4rem; }
  .method-step { grid-template-columns: 52px 1fr; }
  .trust-panel { display: block; min-height: auto; padding: 5.5rem 1.25rem; }
  .trust-mark { display: none; }
  .trust-list { margin-top: 4rem; }
  .faq { padding: 5.5rem 1.25rem; }
  .faq-list { margin-top: 4rem; }
  .faq summary { font-size: 1.25rem; }
  .contact { display: block; min-height: auto; }
  .contact-rail { display: none; }
  .contact-main { padding: 5.5rem 1.25rem; }
  .contact h2 { font-size: 3.75rem; }
  .contact-side { padding: 2.5rem 1.25rem; }
  footer { display: flex; flex-direction: column; align-items: flex-start; gap: 2rem; }
  footer > p { text-align: left; }
  footer > a:last-child { align-self: flex-start; }
}

/* Aislamiento frente a estilos globales guardados por WordPress. */
body.home .ks-reference-home :is(h1, h2, h3) {
  font-family: var(--serif);
}

body.home .ks-reference-home .hero h1 {
  max-width: 760px;
  font-size: clamp(4.1rem, 6.5vw, 7.4rem) !important;
  line-height: .78 !important;
  letter-spacing: -.055em !important;
}

body.home .ks-reference-home .positioning-title-wrap h2 { line-height: .98 !important; }
body.home .ks-reference-home .territory-copy h2 { line-height: .82 !important; }
body.home .ks-reference-home .brand-bridge-copy h2 { line-height: .84 !important; }
body.home .ks-reference-home .services-heading h2 { line-height: .9 !important; }
body.home .ks-reference-home .document-story-heading h2 { line-height: .84 !important; }
body.home .ks-reference-home .method h2 { line-height: .94 !important; }
body.home .ks-reference-home .trust-panel h2 { line-height: .92 !important; }
body.home .ks-reference-home .faq h2 { line-height: .95 !important; }
body.home .ks-reference-home .contact h2 { line-height: .86 !important; }

@media (max-width: 1050px) {
  body.home .ks-reference-home .hero h1 {
    font-size: clamp(4rem, 8vw, 6rem) !important;
  }
}

@media (max-width: 760px) {
  body.home .ks-reference-home .hero h1 {
    font-size: clamp(3.6rem, 17vw, 5.4rem) !important;
    line-height: .86 !important;
  }
}
