:root {
  --ink: #000000;
  --yellow: #f6d034;
  --yellow-deep: #e3bd1f;
  --paper: #fdfbf5;
  --paper-dim: #f4f0e4;
  --body: #2a2a26;
  --body-soft: #55554e;
  --line: rgba(0, 0, 0, 0.18);
  --shadow: 10px 10px 0 var(--ink);
  --shadow-small: 6px 6px 0 var(--ink);
  --wrap: 1180px;
}

/* Editorial service pages: distinct from the three approved anchor compositions. */
.story-page{background:var(--paper);overflow:hidden}.story-hero{position:relative;padding:clamp(108px,12vw,180px) 0 46px;background:var(--ink);color:var(--paper)}
.story-hero:before{content:"";position:absolute;width:34vw;height:34vw;right:-8vw;top:-12vw;border:1px solid rgba(246,208,52,.34);border-radius:50%;box-shadow:0 0 0 5vw rgba(246,208,52,.025),0 0 0 10vw rgba(246,208,52,.02)}
.story-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:clamp(44px,8vw,130px);align-items:end}
.story-hero h1{max-width:900px;margin:18px 0 0;color:var(--paper);font:500 clamp(54px,7.3vw,116px)/.88 "Newsreader",Georgia,serif;letter-spacing:-.045em}.story-hero h1 em{color:var(--yellow);font-weight:400}
.story-lede{margin:0 0 10px;border-left:2px solid var(--yellow);padding-left:24px;color:rgba(253,251,245,.7);font-size:clamp(16px,1.35vw,20px);line-height:1.75}
.story-marquee{position:relative;margin-top:82px;border-top:1px solid rgba(253,251,245,.16);border-bottom:1px solid rgba(253,251,245,.16);overflow:hidden;white-space:nowrap;color:var(--yellow);font:700 10px/1 Poppins,sans-serif;letter-spacing:.22em;text-transform:uppercase;padding:16px 0}.story-marquee span{display:inline-block;min-width:200%;animation:storyDrift 24s linear infinite}
@keyframes storyDrift{to{transform:translateX(-50%)}}
.story-intro{padding:clamp(82px,10vw,150px) 0}.story-intro-grid,.story-aside-grid{display:grid;grid-template-columns:.48fr 1.52fr;gap:clamp(38px,8vw,130px)}
.story-intro h2,.story-aside h2,.story-convert h2{max-width:900px;margin:0 0 28px;color:var(--ink);font:500 clamp(42px,6vw,86px)/.98 "Newsreader",Georgia,serif;letter-spacing:-.035em}.story-intro-grid>div>p,.story-aside-grid>div>p{max-width:760px;margin:0;color:var(--body-soft);font-size:clamp(17px,1.5vw,21px);line-height:1.75}
.story-steps{padding:0;background:var(--ink);color:var(--paper)}.story-step{display:grid;grid-template-columns:90px minmax(220px,.7fr) 1.3fr;gap:clamp(24px,5vw,80px);align-items:start;border-top:1px solid rgba(253,251,245,.18);padding:clamp(42px,6vw,76px) 0}.story-step:last-child{border-bottom:1px solid rgba(253,251,245,.18)}
.story-step>span{color:var(--yellow);font-size:12px;font-weight:800;letter-spacing:.18em}.story-step h3{margin:0;color:var(--paper);font:500 clamp(30px,3.4vw,52px)/1.02 "Newsreader",Georgia,serif}.story-step p{max-width:620px;margin:0;color:rgba(253,251,245,.64);font-size:16px;line-height:1.75}
.story-aside{position:relative;padding:clamp(90px,12vw,170px) 0;background:var(--yellow)}.story-aside:after{content:"?";position:absolute;right:2vw;bottom:-.28em;color:rgba(0,0,0,.06);font:500 32vw/1 "Newsreader",Georgia,serif}.story-aside-grid{position:relative;z-index:1}.story-aside h2{max-width:760px}
.story-convert{padding:clamp(72px,9vw,120px) 0;background:var(--paper-dim)}.story-convert-grid{display:grid;grid-template-columns:1fr auto;gap:36px;align-items:end}.story-convert h2{margin:16px 0 0;max-width:780px}.story-convert .btn{margin-bottom:8px}
.story-answers{padding:clamp(88px,11vw,150px) 0;background:var(--paper)}.story-answers-grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(44px,8vw,120px)}.story-answers h2{margin:18px 0 20px;color:var(--ink);font:500 clamp(38px,5vw,70px)/1 "Newsreader",Georgia,serif;letter-spacing:-.035em}.story-answers-grid>div:first-child>p:last-child{max-width:480px;color:var(--body-soft)}.story-answer-list{border-top:2px solid var(--ink)}.story-answer-list details{border-bottom:1px solid rgba(0,0,0,.22)}.story-answer-list summary{position:relative;list-style:none;padding:28px 52px 28px 0;color:var(--ink);font-weight:700;cursor:pointer}.story-answer-list summary::-webkit-details-marker{display:none}.story-answer-list summary:after{content:"+";position:absolute;right:4px;top:21px;font:400 30px/1 "Newsreader",Georgia,serif}.story-answer-list details[open] summary:after{content:"−"}.story-answer-list details p{max-width:680px;margin:0;padding:0 52px 30px 0;color:var(--body-soft);line-height:1.75}
.story-next{padding:58px 0;background:var(--paper-dim);border-top:1px solid rgba(0,0,0,.14);border-bottom:1px solid rgba(0,0,0,.14)}.story-next-links{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}.story-next-links a{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:94px;border:2px solid var(--ink);padding:20px;background:var(--paper);color:var(--ink);font-weight:700;transition:transform .2s,box-shadow .2s,background .2s}.story-next-links a:hover,.story-next-links a:focus-visible{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--ink);background:var(--yellow)}.story-next-links span{font-size:22px;font-weight:400}
.story-review{padding:26px 0;background:var(--ink);color:rgba(253,251,245,.7);font-size:12px}.story-review .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px}.story-review p{max-width:900px;margin:0}.story-review strong{color:var(--paper)}.story-review a{flex:0 0 auto;color:var(--yellow);font-weight:700;text-decoration:underline;text-underline-offset:4px}
@media(max-width:800px){.story-hero-grid,.story-intro-grid,.story-aside-grid,.story-convert-grid{grid-template-columns:1fr}.story-hero h1{font-size:clamp(52px,15vw,82px)}.story-step{grid-template-columns:48px 1fr}.story-step p{grid-column:2}.story-convert .btn{justify-self:start}.story-marquee{margin-top:52px}}
@media(max-width:800px){.story-answers-grid{grid-template-columns:1fr}.story-next-links{grid-template-columns:1fr}}
@media(max-width:800px){.story-review .wrap{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.story-marquee span{animation:none}}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  color: var(--body);
  background: var(--paper);
  font-family: "Poppins", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  letter-spacing: 0;
}

body.drawer-open,
body.lead-open {
  overflow: hidden;
}

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

img {
  display: block;
  max-width: 100%;
}

button,
input,
textarea {
  font: inherit;
  letter-spacing: 0;
}

button {
  cursor: pointer;
}

:focus-visible {
  outline: 3px solid var(--yellow);
  outline-offset: 3px;
}

.skip-link {
  position: fixed;
  left: 18px;
  top: 18px;
  z-index: 2000;
  transform: translateY(-140%);
  background: var(--yellow);
  color: var(--ink);
  border: 2px solid var(--ink);
  padding: 10px 14px;
  font-weight: 700;
}

.skip-link:focus {
  transform: translateY(0);
}

.wrap {
  width: min(calc(100% - 40px), var(--wrap));
  margin: 0 auto;
}

.narrow {
  max-width: 840px;
}

.center {
  text-align: center;
}

main {
  overflow: hidden;
}

section {
  padding: 94px 0;
}

.paper-dim {
  background: var(--paper-dim);
}

.topbar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 18px;
  min-height: 42px;
  padding: 0 24px;
  background: var(--ink);
  color: var(--paper);
  font-size: 12px;
  font-weight: 700;
}

.tb-left,
.tb-social {
  display: flex;
  align-items: center;
  gap: 16px;
}

.tb-social {
  justify-content: flex-end;
}

.tb-social span {
  color: rgba(253, 251, 245, 0.68);
}

.tb-eval {
  border: 0;
  background: var(--yellow);
  color: var(--ink);
  min-height: 42px;
  padding: 0 22px;
  font-weight: 800;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(253, 251, 245, 0.96);
  border-bottom: 2px solid var(--ink);
  backdrop-filter: blur(14px);
}

.nav-wrap {
  display: flex;
  align-items: center;
  gap: 24px;
  width: min(calc(100% - 36px), 1360px);
  min-height: 88px;
  margin: 0 auto;
}

.brand {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}

.brand img {
  width: 64px;
  height: 64px;
  object-fit: contain;
}

.primary-nav {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-left: auto;
  font-size: 13px;
  font-weight: 700;
}

.primary-nav a {
  position: relative;
  padding: 30px 0;
}

.primary-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 22px;
  height: 2px;
  background: var(--ink);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
}

.primary-nav a:hover::after,
.primary-nav a:focus-visible::after {
  transform: scaleX(1);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  min-width: 148px;
  border: 2px solid var(--ink);
  border-radius: 0;
  padding: 13px 22px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.btn:hover,
.btn:focus-visible {
  transform: translate(-2px, -2px);
  box-shadow: 5px 5px 0 var(--ink);
}

.btn-yellow {
  background: var(--yellow);
}

.btn-yellow:hover,
.btn-yellow:focus-visible {
  background: var(--yellow-deep);
}

.btn-ink {
  background: var(--ink);
  color: var(--paper);
}

.btn-ghost {
  background: transparent;
  color: currentColor;
}

.btn-book {
  min-width: 132px;
}

.burger {
  display: none;
  width: 48px;
  height: 48px;
  border: 2px solid var(--ink);
  background: transparent;
  padding: 10px;
}

.burger span {
  display: block;
  height: 2px;
  margin: 7px 0;
  background: var(--ink);
}

.drawer-back,
.lead-back {
  position: fixed;
  inset: 0;
  z-index: 1500;
  background: rgba(0, 0, 0, 0.42);
}

.drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1600;
  width: min(520px, 100vw);
  height: 100svh;
  overflow-y: auto;
  background: var(--paper);
  border-left: 3px solid var(--ink);
  transform: translateX(100%);
  transition: transform 240ms ease;
}

.drawer.is-open {
  transform: translateX(0);
}

.drawer-head,
.drawer-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 24px;
  border-bottom: 2px solid var(--ink);
}

.drawer-foot {
  align-items: flex-start;
  border-top: 2px solid var(--ink);
  border-bottom: 0;
}

.drawer-close,
.lead-close {
  width: 44px;
  height: 44px;
  border: 2px solid var(--ink);
  background: var(--yellow);
  color: var(--ink);
  font-size: 30px;
  line-height: 1;
}

.drawer-groups {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-bottom: 2px solid var(--ink);
}

.drawer-group {
  min-height: 420px;
  padding: 26px;
  border-right: 2px solid var(--ink);
}

.drawer-group:last-child {
  border-right: 0;
}

.drawer-group p {
  margin: 0 0 18px;
  color: var(--body-soft);
  font-size: 12px;
  font-weight: 800;
}

.drawer-group a {
  display: block;
  padding: 11px 0;
  color: var(--ink);
  font-size: 21px;
  font-weight: 800;
  line-height: 1.2;
}

.drawer-foot p {
  margin: 0;
  color: var(--body-soft);
  font-size: 13px;
}

.home-hero {
  position: relative;
  min-height: 86svh;
  display: flex;
  align-items: flex-end;
  padding: 0;
  color: var(--paper);
  background: var(--ink);
}

.home-hero > img,
.home-hero-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.home-hero > img {
  object-fit: cover;
}

.home-hero-overlay {
  background: rgba(0, 0, 0, 0.48);
}

.home-hero-content {
  position: relative;
  z-index: 1;
  padding: 0 0 86px;
}

.home-hero h1,
.split-hero h1 {
  max-width: 900px;
  margin: 18px 0 20px;
  color: inherit;
  font-family: "Poppins", Arial, sans-serif;
  font-size: 74px;
  line-height: 0.96;
  font-weight: 800;
  letter-spacing: 0;
}

.home-hero p:not(.chip) {
  max-width: 650px;
  margin: 0;
  font-size: 22px;
  line-height: 1.45;
}

.chip,
.p-chip,
.card-tag {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  border: 2px solid currentColor;
  padding: 5px 12px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
}

.home-hero .chip,
.split-hero-ink .chip {
  color: var(--yellow);
}

.hero-ctas {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.mission {
  background: var(--yellow);
  border-top: 3px solid var(--ink);
  border-bottom: 3px solid var(--ink);
}

.mission-grid,
.two-col {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 54px;
  align-items: center;
}

.chain {
  margin: 0;
  color: var(--ink);
  font-family: "Newsreader", Georgia, serif;
  font-size: 38px;
  font-style: italic;
  font-weight: 500;
  line-height: 1.18;
}

.kicker {
  margin: 0 0 12px;
  color: var(--body-soft);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

h1,
h2,
h3,
h4,
p {
  overflow-wrap: anywhere;
}

h2 {
  margin: 0;
  color: var(--ink);
  font-size: 42px;
  line-height: 1.06;
  font-weight: 800;
  letter-spacing: 0;
}

h3 {
  margin: 0;
  color: var(--ink);
  font-size: 24px;
  line-height: 1.16;
  font-weight: 800;
  letter-spacing: 0;
}

.mission h2,
.feature-card h2,
.ch-ink h2,
.final h2,
.guide-strip h2 {
  margin-bottom: 18px;
}

.feature-band {
  background: var(--paper-dim);
}

.feature-card,
.swo-card,
.promise-box,
.fid,
.fees,
.contact-card,
.lead-form,
.keep-five,
.community-card {
  background: var(--paper);
  border: 3px solid var(--ink);
  box-shadow: var(--shadow);
}

.feature-card {
  min-height: 460px;
  padding: 36px;
}

.feature-card:nth-child(2) {
  background: var(--yellow);
}

.feature-card p:not(.chip) {
  margin: 0 0 24px;
  max-width: 560px;
}

.split-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.96fr) minmax(360px, 0.74fr);
  min-height: 650px;
  padding: 0;
  background: var(--paper);
  border-bottom: 3px solid var(--ink);
}

.split-hero-ink {
  background: var(--ink);
  color: var(--paper);
}

.split-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 90px max(40px, calc((100vw - var(--wrap)) / 2)) 90px;
}

.split-hero h1 span {
  display: block;
  color: var(--yellow);
}

.split-hero:not(.split-hero-ink) h1 span {
  color: var(--ink);
  font-family: "Newsreader", Georgia, serif;
  font-style: italic;
  font-weight: 500;
}

.split-hero .hero-sub {
  max-width: 680px;
  margin: 0;
  color: inherit;
  font-size: 19px;
}

.split-image {
  min-height: 650px;
  border-left: 3px solid var(--ink);
}

.split-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.section-head {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  margin-bottom: 36px;
}

.section-head .num {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  background: var(--yellow);
  border: 3px solid var(--ink);
  color: var(--ink);
  font-size: 18px;
  font-weight: 800;
}

.section-head p:last-child {
  max-width: 780px;
  margin: 16px 0 0;
  color: var(--body-soft);
}

.card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.card-grid.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.swo-card,
.community-card {
  min-height: 260px;
  padding: 28px;
}

.swo-card p,
.community-card p {
  margin: 18px 0 0;
  color: var(--body-soft);
}

.card-tag {
  margin-bottom: 18px;
  color: var(--body-soft);
}

.ch-ink {
  background: var(--ink);
  color: var(--paper);
}

.ch-ink h2,
.ch-ink h3,
.ch-ink .swo-card h3,
.ch-ink .section-head p:last-child {
  color: var(--paper);
}

.ch-ink .kicker,
.ch-ink .swo-card p {
  color: rgba(253, 251, 245, 0.7);
}

.ch-ink .swo-card,
.ch-ink .promise-box,
.ch-ink .fid,
.ch-ink .fees {
  background: #10100f;
  border-color: var(--yellow);
  box-shadow: 10px 10px 0 var(--yellow);
}

.ch-ink .section-head .num {
  border-color: var(--yellow);
}

.ch-ink .btn-ghost {
  border-color: var(--yellow);
  color: var(--yellow);
}

.portrait-card {
  background: var(--yellow);
  border: 3px solid var(--ink);
  box-shadow: var(--shadow);
  padding: 38px;
  min-height: 440px;
  display: grid;
  align-content: center;
  justify-items: center;
  text-align: center;
}

.portrait-card img {
  width: 220px;
  height: 220px;
  object-fit: contain;
  background: var(--paper);
  border: 3px solid var(--ink);
  padding: 18px;
}

.portrait-card p {
  margin: 26px 0 0;
  color: var(--ink);
  font-size: 24px;
  font-weight: 800;
  line-height: 1.2;
}

.portrait-card span {
  font-size: 14px;
  font-weight: 600;
}

.journey {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 3px solid var(--ink);
  border-left: 3px solid var(--ink);
}

.journey article {
  min-height: 230px;
  padding: 24px;
  border-right: 3px solid var(--ink);
  border-bottom: 3px solid var(--ink);
  background: var(--paper);
}

.journey span {
  display: inline-block;
  margin-bottom: 24px;
  color: var(--yellow-deep);
  font-size: 15px;
  font-weight: 800;
}

.journey p {
  margin: 14px 0 0;
  color: var(--body-soft);
  font-size: 14px;
}

.talk-list {
  border-top: 3px solid var(--ink);
}

.talk-row {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr);
  align-items: center;
  border-bottom: 3px solid var(--ink);
  background: var(--paper);
}

.talk-row span {
  display: grid;
  place-items: center;
  min-height: 90px;
  background: var(--yellow);
  border-right: 3px solid var(--ink);
  color: var(--ink);
  font-size: 24px;
  font-weight: 800;
}

.talk-row p {
  margin: 0;
  padding: 22px 28px;
  color: var(--ink);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.28;
}

.promise-box,
.fid,
.fees,
.contact-card,
.lead-form,
.keep-five {
  padding: 34px;
}

.promise-box p,
.fid p,
.fees p {
  margin: 0 0 16px;
  color: inherit;
  font-size: 18px;
}

.promise-box p:last-child,
.fid p:last-child,
.fees p:last-child {
  margin-bottom: 0;
}

.fees {
  margin-top: 24px;
  background: var(--yellow);
}

.fees p {
  color: var(--ink);
}

.guide-strip {
  background: var(--yellow);
  border-top: 3px solid var(--ink);
  border-bottom: 3px solid var(--ink);
}

.guide-grid {
  display: grid;
  grid-template-columns: 330px minmax(0, 1fr);
  gap: 54px;
  align-items: center;
}

.book-cover {
  aspect-ratio: 3 / 4;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: var(--ink);
  color: var(--paper);
  border: 3px solid var(--ink);
  box-shadow: var(--shadow);
  padding: 34px;
}

.book-cover span {
  color: var(--yellow);
  font-size: 44px;
  font-weight: 800;
  line-height: 0.96;
}

.book-cover b {
  color: var(--paper);
  font-family: "Newsreader", Georgia, serif;
  font-size: 26px;
  font-style: italic;
  font-weight: 500;
}

.small-note {
  margin: 14px 0 0;
  color: rgba(0, 0, 0, 0.68);
  font-size: 13px;
  font-weight: 700;
}

.faq-list {
  border: 3px solid var(--ink);
  background: var(--paper);
  box-shadow: var(--shadow);
}

.faq-list details + details {
  border-top: 2px solid var(--ink);
}

.faq-list summary {
  cursor: pointer;
  padding: 24px 28px;
  color: var(--ink);
  font-size: 20px;
  font-weight: 800;
}

.faq-list p {
  margin: 0;
  padding: 0 28px 28px;
  color: var(--body-soft);
}

.final {
  background: var(--ink);
  color: var(--paper);
  border-top: 3px solid var(--ink);
}

.final h2 {
  color: var(--paper);
}

.final p:not(.chip) {
  max-width: 760px;
  margin: 18px auto 0;
  color: rgba(253, 251, 245, 0.76);
}

.final .hero-ctas {
  justify-content: center;
}

.final .btn-ghost {
  color: var(--yellow);
  border-color: var(--yellow);
}

.verify {
  border: 3px solid var(--ink);
  background: var(--yellow);
  box-shadow: var(--shadow-small);
  margin: 0 0 44px;
  padding: 18px 22px;
  color: var(--ink);
  font-weight: 800;
}

.keep-five {
  margin-top: 34px;
}

.keep-five h3 {
  font-size: 34px;
}

.keep-five p {
  margin: 8px 0 0;
  color: var(--body-soft);
}

.keep-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 24px 0;
}

.keep-pill {
  min-height: 58px;
  border: 2px solid var(--ink);
  background: var(--paper-dim);
  color: var(--ink);
  padding: 10px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
}

.keep-pill.is-selected {
  background: var(--yellow);
  box-shadow: 4px 4px 0 var(--ink);
}

.keep-five.is-shaking {
  animation: shake 260ms linear;
}

@keyframes shake {
  0%,
  100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-8px);
  }
  75% {
    transform: translateX(8px);
  }
}

.community-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.community-card a {
  display: inline-flex;
  margin-top: 18px;
  border-bottom: 2px solid var(--ink);
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}

.contact-card h2 {
  margin-bottom: 24px;
}

.contact-card p {
  margin: 0 0 18px;
  color: var(--body-soft);
}

.contact-card a {
  color: var(--ink);
  font-size: 22px;
  font-weight: 800;
}

.lead-form {
  display: grid;
  gap: 16px;
}

.field {
  display: grid;
  gap: 8px;
}

.swo-hp {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.field label,
.consent {
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
}

.field input,
.field textarea {
  width: 100%;
  min-height: 52px;
  border: 2px solid var(--ink);
  border-radius: 0;
  background: var(--paper);
  color: var(--ink);
  padding: 12px 14px;
}

.field textarea {
  min-height: 124px;
  resize: vertical;
}

.consent {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.consent input {
  width: 18px;
  height: 18px;
  margin-top: 3px;
  accent-color: var(--yellow);
}

.lead-back {
  display: grid;
  place-items: center;
  padding: 24px;
}

.lead-back[hidden] {
  display: none;
}

.lead-modal {
  position: relative;
  width: min(560px, 100%);
  max-height: calc(100svh - 48px);
  overflow-y: auto;
  background: var(--paper);
  border: 3px solid var(--ink);
  box-shadow: var(--shadow);
  padding: 34px;
}

.lead-close {
  position: absolute;
  top: 16px;
  right: 16px;
}

.lead-modal h2 {
  margin: 12px 54px 14px 0;
}

.lead-context {
  margin: 0 0 22px;
  color: var(--body-soft);
}

.p-chip {
  margin: 0;
  color: var(--body-soft);
}

.site-footer {
  background: var(--paper);
  border-top: 3px solid var(--ink);
  padding: 64px 0 28px;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
  gap: 34px;
}

.site-footer img {
  width: 92px;
  height: 92px;
  object-fit: contain;
  margin-bottom: 18px;
}

.site-footer h4 {
  margin: 0 0 16px;
  color: var(--ink);
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
}

.site-footer a {
  display: block;
  margin-bottom: 10px;
  color: var(--body);
  font-weight: 700;
}

.site-footer p {
  margin: 0;
  color: var(--body-soft);
}

.footer-legal {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  border-top: 2px solid var(--ink);
  margin-top: 44px;
  padding-top: 20px;
  font-size: 12px;
}

.sent-toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 2200;
  max-width: 360px;
  border: 3px solid var(--ink);
  background: var(--yellow);
  box-shadow: var(--shadow-small);
  padding: 16px 18px;
  color: var(--ink);
  font-weight: 800;
}

.beat {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 520ms ease, transform 520ms ease;
}

.beat.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 1180px) {
  .primary-nav {
    display: none;
  }

  .burger {
    display: block;
  }

  .nav-wrap {
    min-height: 78px;
  }

  .btn-book {
    margin-left: auto;
  }

  .drawer-groups {
    grid-template-columns: 1fr;
  }

  .drawer-group {
    min-height: 0;
    border-right: 0;
    border-bottom: 2px solid var(--ink);
  }
}

@media (max-width: 900px) {
  section {
    padding: 68px 0;
  }

  .topbar {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0;
    text-align: center;
  }

  .tb-left,
  .tb-social {
    display: none;
  }

  .tb-eval {
    width: 100%;
  }

  .home-hero {
    min-height: 78svh;
  }

  .home-hero h1,
  .split-hero h1 {
    font-size: 46px;
    line-height: 1;
  }

  .home-hero p:not(.chip),
  .split-hero .hero-sub {
    font-size: 18px;
  }

  .split-hero,
  .mission-grid,
  .two-col,
  .guide-grid {
    grid-template-columns: 1fr;
  }

  .split-image {
    min-height: 380px;
    border-left: 0;
    border-top: 3px solid var(--ink);
  }

  .split-copy {
    padding: 68px 24px;
  }

  .chain {
    font-size: 30px;
  }

  h2 {
    font-size: 34px;
  }

  .card-grid,
  .card-grid.two,
  .community-grid,
  .journey,
  .keep-grid,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .book-cover {
    max-width: 320px;
  }

  .footer-legal {
    flex-direction: column;
  }
}

@media (max-width: 620px) {
  .wrap {
    width: min(calc(100% - 28px), var(--wrap));
  }

  .nav-wrap {
    width: min(calc(100% - 22px), 1360px);
    gap: 10px;
  }

  .brand img {
    width: 54px;
    height: 54px;
  }

  .btn-book {
    display: none;
  }

  .home-hero-content {
    padding-bottom: 54px;
  }

  .home-hero h1,
  .split-hero h1 {
    font-size: 38px;
  }

  .section-head {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .feature-card,
  .swo-card,
  .promise-box,
  .fid,
  .fees,
  .contact-card,
  .lead-form,
  .keep-five,
  .lead-modal {
    padding: 24px;
    box-shadow: var(--shadow-small);
  }

  .talk-row {
    grid-template-columns: 58px minmax(0, 1fr);
  }

  .talk-row span {
    min-height: 78px;
  }

  .talk-row p {
    padding: 18px;
    font-size: 18px;
  }

  .drawer {
    width: 100vw;
  }

  .drawer-foot {
    display: grid;
  }
}

/* Editorial secondary-page system: related language, distinct composition. */
.editorial-hub{background:var(--paper);color:var(--ink);overflow:hidden}
.editorial-hero{position:relative;padding:clamp(120px,14vw,210px) 0 clamp(72px,9vw,130px);background:var(--ink);color:var(--paper)}
.editorial-hero:after{content:"";position:absolute;inset:auto -8vw -18vw auto;width:44vw;height:44vw;border-radius:50%;background:radial-gradient(circle at 38% 38%,rgba(246,214,74,.38),rgba(246,214,74,0) 64%);pointer-events:none}
.editorial-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);gap:7vw;align-items:center}
.editorial-hero h1{font-size:clamp(48px,7.2vw,108px);line-height:.92;letter-spacing:-.055em;max-width:11ch;margin:24px 0}
.editorial-lede{max-width:58ch;font-size:clamp(16px,1.55vw,21px);line-height:1.65;color:rgba(247,243,232,.72)}
.editorial-orbit{aspect-ratio:1;position:relative;border:1px solid rgba(247,243,232,.22);border-radius:50%;display:grid;place-items:center;animation:swoOrbit 18s linear infinite}
.editorial-orbit:before,.editorial-orbit:after{content:"";position:absolute;border:1px solid rgba(247,243,232,.14);border-radius:50%}.editorial-orbit:before{inset:14%}.editorial-orbit:after{inset:30%}
.editorial-orbit span{width:18px;height:18px;border-radius:50%;background:var(--yellow);position:absolute;top:9%;left:50%;box-shadow:0 0 0 10px rgba(246,214,74,.12)}
.editorial-orbit b{font:600 clamp(28px,4vw,58px)/1 Poppins,sans-serif;letter-spacing:-.04em}.editorial-orbit i{position:absolute;bottom:18%;font:400 11px/1 Poppins,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:rgba(247,243,232,.52)}
@keyframes swoOrbit{to{transform:rotate(360deg)}}
.editorial-sequence{padding:clamp(70px,9vw,140px) 0}
.editorial-row{display:grid;grid-template-columns:80px minmax(220px,.8fr) minmax(260px,1.2fr);gap:clamp(24px,4vw,70px);align-items:start;padding:clamp(34px,4.6vw,68px) 0;border-top:1px solid rgba(10,10,10,.18)}
.editorial-row:last-child{border-bottom:1px solid rgba(10,10,10,.18)}
.editorial-number{font:600 11px/1 Poppins,sans-serif;letter-spacing:.2em;color:#766400;padding-top:10px}
.editorial-row h2{font-size:clamp(30px,3.4vw,54px);line-height:1;letter-spacing:-.045em;margin:0}
.editorial-row p{font-size:clamp(15px,1.35vw,19px);line-height:1.7;margin:0;max-width:54ch;color:rgba(10,10,10,.68)}
.editorial-free-home-evaluation .editorial-hero{background:linear-gradient(120deg,#0a0a0a 0 62%,#2c2510 100%)}
.editorial-the-bridge-method .editorial-orbit span{top:50%;left:4%}
.editorial-search-listings .editorial-hero:before{content:"SEARCH / SHORTLIST / SEE CLEARLY";position:absolute;left:0;right:0;bottom:18px;white-space:nowrap;overflow:hidden;font:600 clamp(22px,4vw,66px)/1 Poppins,sans-serif;letter-spacing:.08em;color:rgba(247,243,232,.045)}
@media(max-width:820px){.editorial-hero-grid{grid-template-columns:1fr}.editorial-orbit{width:min(72vw,330px);justify-self:end}.editorial-row{grid-template-columns:54px 1fr}.editorial-row p{grid-column:2}}
@media(max-width:560px){.editorial-orbit{width:240px}.editorial-row{grid-template-columns:1fr;gap:14px}.editorial-row p{grid-column:1}.editorial-number{padding:0}.editorial-hero h1{font-size:50px}}
@media(prefers-reduced-motion:reduce){.editorial-orbit{animation:none}}
/* Policy pages */
.policy-page{background:var(--swo-paper);color:var(--swo-ink);font-family:var(--swo-font-sans)}
.policy-hero{padding:clamp(9rem,16vw,14rem) 0 clamp(4rem,8vw,7rem);background:var(--swo-ink);color:var(--swo-paper)}
.policy-hero h1{max-width:900px;margin:.5rem 0 1rem;font-size:var(--swo-step-5);line-height:.94;letter-spacing:-.055em}
.policy-hero>div>p:not(.chip):not(.policy-date){max-width:760px;font-size:var(--swo-step-2);line-height:1.7}
.policy-date{margin-top:2rem;color:rgba(247,242,232,.62);font-size:var(--swo-step-1)}
.policy-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(240px,1fr);gap:clamp(3rem,8vw,8rem);align-items:start;padding-top:clamp(4rem,8vw,7rem);padding-bottom:clamp(5rem,10vw,9rem)}
.policy-content section{padding:0 0 2.5rem;margin:0 0 2.5rem;border-bottom:1px solid var(--swo-line)}
.policy-content h2,.policy-contact h2{font-size:var(--swo-step-3);line-height:1.15;letter-spacing:-.03em}
.policy-content p,.policy-contact{font-size:var(--swo-step-2);line-height:1.75}
.policy-notice{padding:1.5rem;border:2px solid var(--swo-ink);box-shadow:var(--swo-shadow-hard);background:var(--swo-yellow)}
.policy-contact{position:sticky;top:9rem;padding:2rem;border:1px solid var(--swo-line);background:#fffaf1}
.policy-contact a{display:block;margin-top:1rem;color:inherit;overflow-wrap:anywhere}
.footer-legal nav{display:flex;gap:1.25rem;flex-wrap:wrap}.footer-legal nav a{color:inherit}
@media(max-width:800px){.policy-layout{grid-template-columns:1fr}.policy-contact{position:static}}
