@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,600&family=Public+Sans:wght@400;500;600;700&display=swap");

:root {
  --paper: #f5f0e7;
  --ink: #17231f;
  --muted: #59645f;
  --line: #c9c2b5;
  --accent: #bd4a2f;
  --card: #fffdf8;
  --sans: "Public Sans", sans-serif;
  --serif: "Newsreader", Georgia, serif;
  --mono: "DM Mono", monospace;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 88% 3%, rgba(220, 185, 100, .20), transparent 28rem),
    linear-gradient(115deg, rgba(255,255,255,.45), transparent 42%),
    var(--paper);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.55;
}

a { color: inherit; text-decoration: none; }
a:hover { color: var(--accent); }

.page-frame { width: min(1160px, calc(100% - 48px)); margin-inline: auto; }

.header-surface {
  position: sticky; top: 0; z-index: 50;
  border-bottom: 1px solid rgba(201,194,181,.75);
  background: rgba(245,240,231,.9);
  backdrop-filter: blur(14px);
}

.header-surface > .page-frame,
.flex.h-16 { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }

.flex.min-w-0 { display: flex; align-items: center; gap: 12px; min-width: 0; }

.header-surface > .page-frame > .flex > a {
  font-family: var(--serif); font-size: 1.35rem; font-weight: 600;
  letter-spacing: -.035em;
}

nav { display: flex; align-items: center; gap: 22px; }
nav a, .editorial-link { font-size: .78rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }

.menu-button { display: none; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--ink); }
.mobile-nav-surface { display: none; }

main { padding-bottom: 92px; }
section.page-frame { margin-top: 92px; }
section.page-frame.pt-8 { margin-top: 0; padding-top: 58px; }

.section-label, .text-xs.uppercase, .text-\[0\.72rem\].uppercase, .text-\[0\.7rem\].uppercase {
  font-family: var(--mono); font-size: .7rem; font-weight: 500;
  letter-spacing: .18em; text-transform: uppercase; color: var(--muted);
}
.eyebrow-accent, .text-accent { color: var(--accent); }

.display-title, .hero-title, h1, h2, h3, .font-heading {
  margin: 0; font-family: var(--serif); font-weight: 500; letter-spacing: -.055em; line-height: .96;
}
.hero-title { max-width: 900px; margin-top: 18px; font-size: clamp(3.8rem, 9.4vw, 8.4rem); }
.display-title { font-size: clamp(2.7rem, 5.5vw, 5.3rem); }
.font-heading { font-size: clamp(2rem, 3.5vw, 3.2rem); }

p { margin: 0; }
.text-muted-foreground { color: var(--muted); }
.text-foreground { color: var(--ink); }
.leading-8 { line-height: 1.9; }
.leading-7 { line-height: 1.75; }
.max-w-2xl { max-width: 690px; }
.max-w-3xl { max-width: 800px; }
.max-w-4xl { max-width: 970px; }
.max-w-xl { max-width: 590px; }
.max-w-lg { max-width: 500px; }
.max-w-md { max-width: 460px; }

.mt-2 { margin-top: 8px; }
.mt-3 { margin-top: 12px; }
.mt-4 { margin-top: 16px; }
.mt-5 { margin-top: 20px; }
.mt-6 { margin-top: 24px; }
.mt-8 { margin-top: 32px; }
.mt-10 { margin-top: 40px; }

.grid { display: grid; }
.gap-4 { gap: 16px; }
.gap-5 { gap: 20px; }
.gap-6 { gap: 24px; }
.gap-8 { gap: 32px; }
.gap-10 { gap: 40px; }
.gap-12 { gap: 48px; }

.paper-panel {
  background: rgba(255,253,248,.72); border: 1px solid var(--line);
  box-shadow: 0 12px 42px rgba(41,41,31,.045);
}
.paper-panel.p-6 { padding: 30px; }
.paper-panel.px-6 { padding: 50px 30px; }

.grid.border-y { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding-block: 58px; }
.border-b { border-bottom: 1px solid var(--line); }
.border-t { border-top: 1px solid var(--line); }

.primary-button, .secondary-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  min-height: 46px; padding: 0 19px; font-size: .76rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; transition: transform .18s ease, background .18s ease;
}
.primary-button { background: var(--ink); color: var(--paper); }
.primary-button:hover { color: #fff; background: var(--accent); transform: translateY(-2px); }
.secondary-button { border: 1px solid var(--ink); }
.secondary-button:hover { color: var(--paper); background: var(--ink); transform: translateY(-2px); }

.module-link { display: block; padding: 30px 0; border-bottom: 1px solid var(--line); }
.module-link:hover { padding-left: 10px; }
.panel-link { display: flex; flex-direction: column; justify-content: space-between; min-height: 100%; }
.panel-link:hover { color: var(--ink); border-color: var(--accent); transform: translateY(-3px); }
.transition { transition: all .22s ease; }

ul { margin: 22px 0 0; padding-left: 20px; }
li + li { margin-top: 5px; }
footer { margin-top: 92px; padding: 40px 0; }
footer .page-frame { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }

.reveal { animation: settle .7s both; }
.reveal:nth-child(2) { animation-delay: .1s; }
.reveal:nth-child(3) { animation-delay: .2s; }
@keyframes settle { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }

@media (min-width: 768px) {
  .md\:flex { display: flex; }
  .md\:hidden { display: none; }
  .grid.gap-8.sm\:grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
  .lg\:grid-cols-\[minmax\(0\,1fr\)_420px\] { grid-template-columns: minmax(0,1fr) 420px; }
  .lg\:grid-cols-\[0\.85fr_minmax\(0\,1fr\)\] { grid-template-columns: .85fr minmax(0,1fr); }
  .lg\:grid-cols-\[minmax\(0\,1\.15fr\)_320px\] { grid-template-columns: minmax(0,1.15fr) 320px; }
  .lg\:grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
  .lg\:grid-cols-\[72px_minmax\(0\,1fr\)_minmax\(0\,0\.95fr\)_auto\] { grid-template-columns: 72px minmax(0,1fr) minmax(0,.95fr) auto; }
  .lg\:gap-16 { gap: 64px; }
}

@media (max-width: 767px) {
  .page-frame { width: min(100% - 32px, 1160px); }
  .header-surface > .page-frame, .flex.h-16 { min-height: auto; }
  .header-surface > .page-frame > .flex { padding-block: 16px; align-items: flex-start; flex-direction: column; gap: 10px; }
  nav.hidden { display: flex; flex-wrap: wrap; gap: 8px 16px; }
  .menu-button { display: inline-flex; width: 42px; height: 42px; }
  .mobile-nav-surface { margin: 0 16px 14px; padding: 16px; border: 1px solid var(--line); }
  .mobile-nav-surface a { display: block; padding: 9px 0; }
  section.page-frame { margin-top: 66px; }
  section.page-frame.pt-8 { padding-top: 38px; }
  .hero-title { font-size: clamp(3.35rem, 17vw, 5.2rem); }
  .paper-panel.p-6 { padding: 23px; }
  .grid.border-y { padding-block: 38px; }
}

.work-hero { padding: 100px 0 66px; background: linear-gradient(125deg, #18231f 0%, #243d35 48%, #c77b49 170%); color: #f8f2e8; }
.work-hero .display-title { max-width: 760px; }
.work-intro { max-width: 640px; margin-top: 26px; color: #d6d9d1; font-size: 1.1rem; line-height: 1.75; }
.portfolio-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin-top: 64px; margin-bottom: 100px; }
.portfolio-card { overflow: hidden; min-height: 560px; background: #fffdf8; border: 1px solid var(--line); display: flex; flex-direction: column; transition: transform .25s ease, box-shadow .25s ease; }
.portfolio-card:hover { color: var(--ink); transform: translateY(-6px); box-shadow: 0 22px 50px rgba(23,35,31,.14); }
.portfolio-art { height: 275px; position: relative; overflow: hidden; }
.portfolio-art img { width: 100%; height: 100%; object-fit: cover; }
.portfolio-copy { padding: 30px; }.portfolio-copy h2 { margin: 14px 0 18px; font-family: var(--serif); font-size: clamp(2rem,3vw,3rem); font-weight:500; line-height:.92; letter-spacing:-.05em; }.portfolio-copy p:not(.section-label) { color: var(--muted); line-height:1.7; }.portfolio-copy span { display:block; margin-top:26px; font-family:var(--mono); font-size:.72rem; letter-spacing:.11em; text-transform:uppercase; }
.btb .portfolio-art { background:#d9ba74; }.brief-map { position:absolute; inset:25px; border:1px solid #17231f; background:repeating-linear-gradient(90deg,transparent 0 49px,rgba(23,35,31,.22) 50px),repeating-linear-gradient(0deg,transparent 0 49px,rgba(23,35,31,.22) 50px); }.brief-map b { position:absolute; right:18px; bottom:16px; font-family:var(--mono); font-size:1.3rem; line-height:1.05; }.brief-map i { position:absolute; width:10px; height:10px; background:#bd4a2f; border-radius:50%; }.brief-map i:nth-child(1){left:20%;top:30%}.brief-map i:nth-child(2){left:55%;top:48%}.brief-map i:nth-child(3){left:72%;top:22%}
.bmmb .portfolio-art { background:#e6dfcf; padding:32px; }.brief-number { font-family:var(--serif); font-size:5.8rem; letter-spacing:-.1em; color:#1c2925; }.brief-number span { display:block; margin-top:-12px; font-family:var(--mono); font-size:.7rem; letter-spacing:.35em; }.signal-line { height:3px; background:#bd4a2f; width:80%; margin-top:18px; box-shadow:90px -35px 0 -1px #17231f,170px 24px 0 -1px #17231f; }
.mrpi .portfolio-art { display:grid; place-items:center; background:#1a332f; }.mrpi-ring { width:180px; height:180px; display:grid; place-content:center; text-align:center; border:2px solid #e2c77d; border-radius:50%; outline:1px solid #e2c77d; outline-offset:15px; color:#f7f1e7; }.mrpi-ring b { font-family:var(--serif); font-size:2.6rem; letter-spacing:-.06em; }.mrpi-ring small { font-family:var(--mono); font-size:.56rem; letter-spacing:.2em; }
.mortgage .portfolio-art { background:#bb4f35; display:grid; place-items:center; }.home-mark { width:170px; height:140px; padding:40px 22px 0; background:#fff8ef; position:relative; }.home-mark:before { content:""; position:absolute; left:12px; top:-70px; border-left:73px solid transparent; border-right:73px solid transparent; border-bottom:70px solid #fff8ef; }.home-mark b { font-family:var(--mono); font-size:1.2rem; line-height:1; }.home-mark span { position:absolute; right:20px; bottom:20px; width:28px; height:28px; border:2px solid #bd4a2f; }
@media (max-width:767px){.work-hero{padding:64px 0 45px}.portfolio-grid{grid-template-columns:1fr;margin-top:32px;margin-bottom:64px}.portfolio-card{min-height:0}.portfolio-art{height:230px}}

.home-short { padding: 112px 0 76px; background: radial-gradient(circle at 85% 10%, rgba(220,185,100,.32), transparent 28rem); }
.home-short .display-title { max-width: 900px; font-size: clamp(3.5rem, 7.5vw, 7rem); }
.home-positioning { max-width: 650px; margin-top: 28px; color: var(--muted); font-size: 1.15rem; line-height: 1.75; }
.home-signals { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-bottom: 100px; }
.signal-card { min-height: 240px; padding: 28px; border: 1px solid var(--line); background: rgba(255,253,248,.65); display: flex; flex-direction: column; justify-content: space-between; transition: .2s ease; }.signal-card:hover { color:var(--ink); transform:translateY(-4px); border-color:var(--accent); }.signal-card h2 { font-family:var(--serif); font-weight:500; font-size:1.9rem; line-height:1; letter-spacing:-.045em; }.signal-card span { font: .68rem var(--mono); letter-spacing:.12em; text-transform:uppercase; }
.about-hero { padding: 92px 0 72px; background: linear-gradient(135deg,#f5f0e7,#e6ddcc); }.about-intro { display:grid; grid-template-columns:minmax(0,1fr) 390px; gap:70px; align-items:end; }.about-intro .display-title { max-width:740px; }.about-lede { max-width:560px; margin-top:26px; color:var(--muted); font-size:1.1rem; line-height:1.7; }.about-intro figure { margin:0; }.about-intro img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; filter:saturate(.9); }.about-intro figcaption { margin-top:12px; font: .65rem var(--mono); color:var(--muted); letter-spacing:.12em; text-transform:uppercase; }
.story { display:grid; grid-template-columns:280px minmax(0,680px); gap:100px; padding:100px 0; }.story-label { color:var(--muted); line-height:1.7; }.story-label p:last-child { margin-top:15px; font-family:var(--serif); font-size:1.45rem; line-height:1.1; color:var(--ink); }.story-copy p { margin-bottom:28px; color:var(--muted); font-size:1.1rem; line-height:1.9; }.story-copy a { color:var(--accent); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }.story-copy .story-note { padding-top:25px; border-top:1px solid var(--line); font-size:.82rem; line-height:1.7; }.about-cta { padding:72px 0 108px; border-top:1px solid var(--line); }.about-cta .display-title { max-width:720px; margin:14px 0 32px; }
@media(max-width:767px){.home-short{padding:65px 0 48px}.home-signals{grid-template-columns:1fr;margin-bottom:65px}.about-hero{padding:58px 0 48px}.about-intro,.story{grid-template-columns:1fr;gap:38px}.about-intro figure{max-width:420px}.story{padding:64px 0}.story-copy p{font-size:1rem}.about-cta{padding:50px 0 70px}}

/* Unified Troy Pulli editorial system. */
:root { --paper:#f4f1ea; --ink:#303638; --red:#9e493f; --stone:#d8d3c9; --muted:#6e716f; }
body { background:var(--paper); color:var(--ink); }
.shell { width:min(1120px, calc(100% - 48px)); margin-inline:auto; }
.site-header { border-bottom:1px solid var(--stone); background:rgba(244,241,234,.96); }.site-header .shell { min-height:72px; display:flex; justify-content:space-between; align-items:center; gap:28px; }.wordmark { font:500 .72rem var(--mono); letter-spacing:.2em; }.site-header nav { gap:24px; }.site-header nav a { font:.67rem var(--sans); font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--ink); }.site-header nav a:hover { color:var(--red); }.inverse { color:var(--paper); background:var(--ink); border-color:#54595a; }.inverse .wordmark,.inverse nav a { color:var(--paper); }
.kicker { margin:0; color:var(--red); font:500 .66rem var(--mono); letter-spacing:.17em; text-transform:uppercase; }.hero { padding:112px 0 82px; }.hero h1,.page-hero h1,.work-hero h1,.about-hero h1 { margin:22px 0 0; font:500 clamp(3.4rem,7vw,6.8rem) var(--serif); letter-spacing:-.07em; line-height:.88; }.hero-lines { margin-top:26px; font:500 clamp(3.5rem,8.5vw,8rem) var(--serif); letter-spacing:-.08em; line-height:.83; }.intro,.work-hero p,.page-hero .intro { max-width:650px; margin:30px 0 0; color:var(--muted); font-size:1.08rem; line-height:1.75; }.actions { display:flex; align-items:center; gap:26px; margin-top:36px; }.button { display:inline-block; padding:15px 20px; font:600 .68rem var(--sans); letter-spacing:.12em; text-transform:uppercase; }.button.dark { color:var(--paper); background:var(--ink); }.button.dark:hover { background:var(--red); color:#fff; }.text-link { font:600 .7rem var(--sans); letter-spacing:.12em; text-transform:uppercase; }
.home-index { border-top:1px solid var(--stone); margin-bottom:90px; }.home-index>a,.work-list>a { display:grid; grid-template-columns:58px minmax(0,1fr) auto; gap:25px; align-items:start; padding:30px 0; border-bottom:1px solid var(--stone); }.home-index>a:hover,.work-list>a:hover { color:var(--ink); padding-left:8px; }.home-index span,.work-list span { font:.65rem var(--mono); letter-spacing:.1em; }.home-index h2,.work-list h2,.chapters h2,.editorial-grid h2 { margin:11px 0 0; font:500 clamp(1.7rem,3vw,2.65rem) var(--serif); letter-spacing:-.055em; line-height:.96; }.home-index b,.work-list b { font:600 .68rem var(--mono); letter-spacing:.08em; white-space:nowrap; }
.work-hero { padding:92px 0 78px; background:var(--ink); color:var(--paper); }.work-hero .kicker { color:#d98a7e; }.work-hero p { color:#d8d3c9; }.work-list { margin:56px auto 90px; }.work-list>a { grid-template-columns:58px minmax(0,1fr) 180px; }.work-list p:not(.kicker) { max-width:580px; margin:13px 0 0; color:var(--muted); line-height:1.65; }.compact { margin-top:0; }.page-hero { padding:105px 0 76px; border-bottom:1px solid var(--stone); }.page-hero h1 { max-width:900px; }.page-hero .button { margin-top:32px; }
.about-hero { padding:88px 0; display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:72px; align-items:end; }.about-hero figure { margin:0; }.about-hero img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; filter:saturate(.82); }.about-hero figcaption { margin-top:10px; color:var(--muted); font:.62rem var(--mono); letter-spacing:.11em; text-transform:uppercase; }.chapters { padding:28px 0 96px; }.chapters article { display:grid; grid-template-columns:260px minmax(0,650px); gap:70px; padding:60px 0; border-top:1px solid var(--stone); }.chapters article div { grid-column:2; }.chapters article p:not(.kicker),.editorial-grid p { color:var(--muted); font-size:1.02rem; line-height:1.8; }.disclosure { color:var(--muted); font-size:.75rem!important; line-height:1.65!important; }.editorial-grid { display:grid; grid-template-columns:.7fr 1fr; gap:110px; padding:80px 0; }.editorial-grid p+p { margin-top:20px; }.bottom { padding-bottom:80px; }.contact-list { max-width:700px; margin-top:42px; border-top:1px solid var(--stone); }.contact-list a { display:flex; justify-content:space-between; padding:22px 0; border-bottom:1px solid var(--stone); font:500 1.7rem var(--serif); letter-spacing:-.04em; }.site-footer { border-top:1px solid var(--stone); padding:28px 0; }.site-footer .shell { display:flex; justify-content:space-between; color:var(--muted); font:.65rem var(--mono); letter-spacing:.1em; text-transform:uppercase; }
@media(max-width:720px){.shell{width:min(100% - 32px,1120px)}.site-header .shell{min-height:auto;padding:17px 0;align-items:flex-start;flex-direction:column;gap:11px}.site-header nav{flex-wrap:wrap;gap:10px 16px}.hero{padding:72px 0 58px}.hero h1{font-size:3.2rem}.hero-lines{font-size:clamp(3.35rem,16vw,5.3rem)}.home-index{margin-bottom:60px}.home-index>a,.work-list>a{grid-template-columns:30px minmax(0,1fr);gap:15px}.home-index b,.work-list b{grid-column:2}.work-hero,.page-hero{padding:64px 0 54px}.work-hero h1,.page-hero h1,.about-hero h1{font-size:clamp(3rem,14vw,4.8rem)}.work-list{margin:25px auto 60px}.about-hero{padding:58px 0;grid-template-columns:1fr;gap:35px}.about-hero figure{max-width:310px}.chapters{padding-bottom:60px}.chapters article,.editorial-grid{grid-template-columns:1fr;gap:24px;padding:42px 0}.site-footer .shell{gap:14px;flex-direction:column}}

/* A quiet, centered portrait keeps the About page personal without competing with the story. */
.about-hero { grid-template-columns:1fr; gap:40px; }
.about-hero figure { justify-self:center; width:226px; padding:7px; border:1px solid var(--stone); border-radius:50%; background:rgba(255,253,248,.55); overflow:hidden; }
.about-hero img { aspect-ratio:1; border-radius:50%; object-position:center 20%; }
.about-hero figcaption { display:none; }
@media(max-width:720px){.about-hero{grid-template-columns:1fr;gap:30px}.about-hero figure{width:162px;padding:5px}}

/* Shared wordmark and homepage two-column composition. */
.wordmark { width:230px; height:38px; background:url('/assets/troy-pulli-wordmark-cropped.png') center/contain no-repeat; font-size:0; flex:0 0 auto; }
.inverse .wordmark { filter:invert(1); }
.home-composition { display:grid; grid-template-columns:minmax(0,1.22fr) minmax(330px,.78fr); gap:78px; align-items:center; min-height:calc(100vh - 128px); padding:72px 0; }.home-composition .hero { padding:0; }.home-composition .home-index { margin:0; }.home-composition .home-index>a { padding:25px 0; grid-template-columns:34px minmax(0,1fr) auto; gap:16px; }.home-composition .home-index h2 { font-size:clamp(1.55rem,2.2vw,2.15rem); }.home-composition .home-index b { align-self:center; }
@media(max-width:720px){.wordmark{width:132px;height:26px}.home-composition{display:block;min-height:0;padding:0}.home-composition .hero{padding:70px 0 52px}.home-composition .home-index{margin-bottom:60px}.home-composition .home-index>a{grid-template-columns:30px minmax(0,1fr);gap:15px}.home-composition .home-index b{grid-column:2}}

.proof { display:grid; grid-template-columns:.7fr 1.3fr; gap:80px; padding:72px 0 96px; border-top:1px solid var(--stone); }.proof h2 { margin:14px 0 0; font:500 clamp(2rem,3.2vw,3.1rem) var(--serif); letter-spacing:-.06em; line-height:.94; }.proof-intro { max-width:270px; margin-top:22px; color:var(--muted); line-height:1.65; }.proof-cta { display:inline-block; margin-top:22px; }.proof-list { border-top:1px solid var(--stone); }.proof-list a { display:block; padding:24px 0; border-bottom:1px solid var(--stone); }.proof-list a:hover { color:var(--ink); padding-left:6px; }.proof-list h3 { margin:11px 0; font:500 1.75rem var(--serif); letter-spacing:-.045em; }.proof-list p:not(.kicker) { max-width:520px; color:var(--muted); line-height:1.65; }.proof-list span { display:block; margin-top:16px; font:600 .66rem var(--mono); letter-spacing:.1em; text-transform:uppercase; }
@media(max-width:720px){.proof{grid-template-columns:1fr;gap:32px;padding:52px 0 68px}}

/* Final hierarchy refinements. */
.wordmark { width:230px; height:38px; }
.proof-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:38px; }
.proof-list a { border-top:1px solid var(--stone); }
.proof-list h3 { font-size:1.52rem; }
.preparation-list { margin:30px 0; padding:0; list-style:none; border-top:1px solid var(--stone); }
.preparation-list li { display:grid; grid-template-columns:42px 1fr; gap:14px; padding:13px 0; border-bottom:1px solid var(--stone); color:var(--ink); }
.preparation-list li + li { margin:0; }
.preparation-list b { color:var(--red); font:500 .65rem var(--mono); letter-spacing:.1em; }
.preparation-list span { font-size:.94rem; line-height:1.45; }
.site-footer { padding:26px 0 30px; }
.site-footer .shell { display:grid; grid-template-columns:auto minmax(0,560px); align-items:start; gap:24px 48px; }
.site-footer .shell > div { display:flex; gap:18px; }
.site-footer p { margin:0; color:var(--muted); font:.63rem/1.6 var(--sans); letter-spacing:.02em; text-transform:none; }
@media(max-width:720px){.wordmark{width:170px;height:29px}.proof-list{grid-template-columns:1fr}.proof-list h3{font-size:1.5rem}.site-footer .shell{grid-template-columns:1fr;gap:14px}.site-footer .shell>div{flex-direction:column;gap:5px}}

/* Editorial connective tissue across the current routes. */
.home-index p:not(.kicker) { margin:10px 0 0; color:var(--muted); font-size:.86rem; line-height:1.55; }
.bridge { display:grid; grid-template-columns:.8fr 1.2fr; gap:110px; padding:88px 0; border-top:1px solid var(--stone); border-bottom:1px solid var(--stone); }
.bridge h2,.research-philosophy h2 { margin:13px 0 0; font:500 clamp(2.3rem,4vw,4.1rem) var(--serif); letter-spacing:-.065em; line-height:.91; }
.bridge > div:last-child { max-width:570px; padding-top:7px; color:var(--muted); font-size:1.1rem; line-height:1.78; }
.bridge > div:last-child p + p { margin-top:22px; }
.proof-closing { grid-column:2; max-width:570px; margin:2px 0 0; color:var(--muted); font:500 1.12rem/1.6 var(--serif); letter-spacing:-.02em; }
.research-philosophy { display:grid; grid-template-columns:.8fr 1.2fr; gap:110px; padding:80px 0; border-top:1px solid var(--stone); }
.research-philosophy > p { max-width:600px; color:var(--muted); font-size:1.08rem; line-height:1.8; }
.mortgage-sections { padding:28px 0 0; }
.mortgage-sections article { display:grid; grid-template-columns:.85fr 1fr; gap:110px; padding:54px 0; border-bottom:1px solid var(--stone); }
.mortgage-sections h2 { margin:12px 0 0; font:500 clamp(1.8rem,3vw,2.7rem) var(--serif); letter-spacing:-.055em; line-height:.96; }
.mortgage-sections article > p { max-width:580px; margin:0; color:var(--muted); font-size:1.03rem; line-height:1.8; }
.mortgage-disclosure { padding:36px 0 88px; }
.about-closing { max-width:650px; margin:4px 0 42px 330px; color:var(--ink); font:500 clamp(1.45rem,2.4vw,2rem)/1.1 var(--serif); letter-spacing:-.04em; }
.contact-list small { display:block; margin-bottom:8px; color:var(--red); font:500 .63rem var(--mono); letter-spacing:.15em; text-transform:uppercase; }
.contact-list a { gap:28px; line-height:1.15; }
.contact-list a span { max-width:600px; }
.site-footer.inverse .shell,.site-footer.inverse p { color:#d8d3c9; }
@media(max-width:720px){.bridge,.research-philosophy,.mortgage-sections article{grid-template-columns:1fr;gap:24px;padding:48px 0}.proof-closing{grid-column:auto}.about-closing{margin:2px 0 36px}.home-index p:not(.kicker){font-size:.84rem}.mortgage-disclosure{padding:30px 0 58px}}
