/* Complete public site: shared navigation and calm editorial page rhythm. */
.complete-header {
  gap:24px;
  position:relative;
  z-index:5
}

.complete-header nav {
  gap:22px;
  align-items:center
}

.complete-header nav a {
  white-space:nowrap
}

.complete-header nav a[aria-current=page] {
  text-decoration:underline;
  text-decoration-color:var(--clay);
  text-underline-offset:8px
}

.complete-header .header-actions {
  gap:14px
}

.complete-header .logo img {
  width:163px
}

.menu-toggle,.mobile-start {
  display:none
}

.complete-footer {
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr 1.2fr;
  gap:42px;
  padding-block:65px 48px
}

.footer-brand p {
  max-width:270px;
  color:#d2dfd6;
  margin-top:24px;
  font-size:19px
}

.footer-brand .footer-status {
  font-size:14px;
  line-height:1.6;
  margin-top:18px
}

.footer-column {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  min-width:0
}

.footer-column h2 {
  font:600 14px/1.4 Source Sans,Arial,sans-serif;
  color:#c2d1c7;
  letter-spacing:.05em;
  margin:0 0 9px
}

.footer-column a,.footer-column button {
  font-size:15px;
  line-height:1.5;
  color:var(--paper);
  text-decoration:none;
  min-height:25px
}

.footer-column a:hover,.footer-column button:hover {
  text-decoration:underline
}

.footer-column button {
  padding:0
}

.complete-page {
  padding-bottom:0
}

.breadcrumbs {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding-top:30px;
  font-size:14px;
  color:var(--muted)
}

.breadcrumbs a {
  text-decoration:none
}

.breadcrumbs a:hover {
  text-decoration:underline
}

.breadcrumbs span[aria-current] {
  color:var(--ink)
}

.detail-hero {
  padding:72px 0 46px;
  max-width:900px
}

.detail-hero h1 {
  font-size:clamp(42px,4.8vw,70px);
  max-width:900px;
  text-wrap:balance
}

.detail-lead {
  font-size:22px;
  line-height:1.55;
  max-width:780px;
  color:var(--muted)
}

.detail-hero .actions {
  margin-bottom:0
}

.page-contents {
  border-block:1px solid var(--line);
  padding:22px 0;
  display:flex;
  flex-wrap:wrap;
  gap:9px 24px;
  font-size:15px;
  align-items:baseline
}

.page-contents p {
  width:100%;
  margin:0 0 4px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:var(--muted);
  font-weight:600
}

.page-contents a {
  text-decoration:none;
  max-width:100%
}

.page-contents a:hover {
  text-decoration:underline
}

.detail-section {
  padding:64px 0;
  border-bottom:1px solid var(--line);
  scroll-margin-top:24px
}

.detail-section-heading {
  display:grid;
  grid-template-columns:54px 1fr;
  gap:22px;
  margin-bottom:30px;
  max-width:920px
}

.section-index {
  font-family:Source Serif,Georgia,serif;
  color:var(--clay);
  font-size:27px;
  line-height:1.2;
  padding-top:6px
}

.detail-section-heading h2 {
  font-size:clamp(30px,3.2vw,43px);
  margin-bottom:16px;
  text-wrap:balance
}

.detail-section-heading p {
  max-width:780px;
  color:var(--muted);
  font-size:19px;
  margin:0
}

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

.detail-item {
  min-width:0
}

.detail-items .detail-item {
  border:1px solid var(--line);
  border-radius:18px;
  padding:29px;
  background:var(--white)
}

.detail-items .detail-item:nth-child(3n+2) {
  background:var(--sage)
}

.detail-item h3 {
  font-size:23px
}

.detail-item p {
  font-size:17px;
  color:var(--muted);
  margin-bottom:0;
  line-height:1.65
}

.detail-item blockquote {
  margin:19px 0 21px;
  font:400 25px/1.35 Source Serif,Georgia,serif;
  letter-spacing:-.025em
}

.detail-item .quiet-link {
  display:inline-block;
  margin-top:24px;
  font-size:16px
}

.detail-items--split {
  grid-template-columns:repeat(2,minmax(0,1fr))
}

.detail-items--split .detail-item {
  border:none;
  padding:32px;
  background:var(--sage)
}

.detail-items--split .detail-item:nth-child(even) {
  background:#f0e2d5
}

.detail-items--note {
  grid-template-columns:1fr
}

.detail-items--note .detail-item {
  background:var(--sage);
  border:none
}

.detail-section--note {
  background:var(--sage);
  border-radius:20px;
  padding:36px;
  margin-block:45px;
  border:0
}

.detail-section--note .detail-section-heading {
  margin-bottom:0
}

.detail-section--note .detail-items:not(:empty) {
  margin-top:24px
}

.detail-section--note .detail-item {
  padding:16px 0 0
}

.detail-section--note .detail-item+.detail-item {
  border-top:1px solid var(--line);
  margin-top:20px
}

.detail-steps {
  list-style:none;
  counter-reset:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 50px
}

.detail-steps>li {
  display:flex;
  gap:22px;
  position:relative;
  padding:28px 0;
  border-top:1px solid var(--line);
  min-width:0
}

.step-count {
  flex:0 0 36px;
  color:var(--clay);
  font:400 27px/1.2 Source Serif,Georgia,serif
}

.detail-faq {
  max-width:900px;
  margin-left:76px
}

.detail-faq details {
  border-top:1px solid var(--line)
}

.detail-faq details:last-child {
  border-bottom:1px solid var(--line)
}

.detail-faq summary {
  padding:23px 35px 23px 0;
  font-size:22px;
  line-height:1.4;
  font-weight:600;
  cursor:pointer;
  position:relative;
  list-style:none
}

.detail-faq summary::-webkit-details-marker {
  display:none
}

.detail-faq summary:after {
  content:'+';
  position:absolute;
  right:2px;
  top:22px;
  font-size:24px;
  color:var(--clay)
}

.detail-faq details[open] summary:after {
  content:'−'
}

.detail-faq details>div {
  padding-bottom:23px;
  max-width:760px;
  color:var(--muted)
}

.detail-faq details p {
  margin:0
}

.detail-table {
  width:100%;
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:14px
}

.detail-table table {
  border-collapse:collapse;
  width:100%;
  font-size:16px;
  line-height:1.6;
  text-align:left;
  min-width:580px
}

.detail-table th,.detail-table td {
  padding:20px 24px;
  vertical-align:top;
  border-bottom:1px solid var(--line)
}

.detail-table th {
  background:var(--sage);
  font-weight:600
}

.detail-table tr:last-child td {
  border:0
}

.detail-table td:first-child {
  font-weight:600;
  color:var(--ink);
  width:23%
}

.detail-table td {
  color:var(--muted)
}

.related {
  padding-top:56px
}

.related h2 {
  font-size:30px
}

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

.related-card {
  border:1px solid var(--line);
  border-radius:12px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:23px;
  text-decoration:none;
  font-weight:600
}

.related-card:hover {
  background:var(--sage)
}

.detail-final {
  text-align:center;
  max-width:750px;
  margin:0 auto;
  padding:90px 0
}

.detail-final h2 {
  font-size:clamp(36px,3.8vw,50px);
  text-wrap:balance;
  margin-top:22px
}

.detail-final p {
  max-width:610px;
  margin:0 auto 28px;
  color:var(--muted)
}

.policy-page .detail-hero {
  max-width:950px
}

.policy-page .detail-body {
  max-width:1050px
}

.policy-page .detail-section {
  padding-block:43px
}

.policy-page .detail-section-heading h2 {
  font-size:30px
}

.policy-page .detail-section-heading p,.policy-page .detail-item p {
  font-size:17px
}

.policy-page .detail-items--split .detail-item {
  background:transparent;
  padding:12px 0 12px 76px
}

.policy-page .related {
  padding-bottom:70px
}

.detail-body .focus-section {
  width:100%;
  padding-block:45px
}

.detail-body .journey-connected {
  width:100%;
  padding:40px
}

.detail-body .name-story {
  max-width:800px;
  margin:52px auto
}

.detail-direct-visual {
  background:#f0e2d5;
  border-radius:24px;
  padding:30px;
  margin:45px 0 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:35px
}

.detail-direct-visual svg {
  max-height:280px;
  width:100%
}

.detail-direct-visual figcaption {
  font-size:20px;
  line-height:1.65;
  max-width:500px
}

.contact-tool {
  max-width:760px;
  margin-left:76px;
  padding:32px;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:18px
}

.focus-card__details {
  display:block;
  font-size:15px;
  margin-top:14px;
  color:var(--muted)
}

.home-page-links {
  display:flex;
  gap:22px;
  flex-wrap:wrap;
  margin-top:30px
}

.home-questions {
  padding-block:70px
}

.home-questions .detail-faq {
  margin:0;
  max-width:950px
}

.home-questions h2 {
  max-width:800px
}

.complete-page .focus-heading {
  display:none
}

.standalone-example {
  padding:45px 0
}

.standalone-example .journey-example {
  max-width:600px;
  margin:auto
}

.standalone-example .journey-example__title {
  font-family:Source Serif,Georgia,serif;
  font-weight:400;
  font-size:35px
}

.standalone-example .guide-phone {
  background:var(--white)
}

.policy-page .detail-hero .actions:empty {
  display:none
}

.detail-items--cards.detail-items--count-4 {
  grid-template-columns:repeat(2,minmax(0,1fr));
}

@media(max-width:1120px) {
  .complete-header {
    flex-wrap:wrap;
    gap:14px;
    padding-block:18px
  }

  .complete-header .logo {
    margin-right:auto
  }

  .complete-header .header-actions {
    order:2
  }

  .complete-header .header-actions>.button {
    display:none
  }

  .menu-toggle {
    order:3;
    display:none;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:44px;
    border:1px solid var(--line);
    border-radius:8px;
    padding:8px 12px;
    font-size:14px;
    background:transparent
  }

  .complete-header.menu-ready .menu-toggle {
    display:inline-flex
  }

  .menu-glyph {
    width:16px;
    height:10px;
    border-block:1.5px solid;
    position:relative
  }

  .menu-glyph:after {
    content:'';
    position:absolute;
    top:3px;
    left:0;
    right:0;
    border-top:1.5px solid
  }

  .menu-open .menu-glyph {
    height:12px;
    border:0
  }

  .menu-open .menu-glyph:after {
    inset:5px 0 auto;
    transform:rotate(45deg)
  }

  .menu-open .menu-glyph:before {
    content:'';
    position:absolute;
    top:5px;
    left:0;
    right:0;
    border-top:1.5px solid;
    transform:rotate(-45deg)
  }

  .complete-header nav {
    order:4;
    width:100%;
    padding:22px 0 4px;
    border-top:1px solid var(--line);
    gap:7px;
    display:grid;
    grid-template-columns:1fr 1fr
  }

  .complete-header nav a {
    font-size:17px;
    padding:10px 0;
    white-space:normal
  }

  .complete-header nav .mobile-start {
    display:inline-flex;
    grid-column:1/-1;
    padding:15px;
    margin-top:10px;
    max-width:440px
  }

  .complete-footer {
    gap:28px;
    grid-template-columns:1.15fr 1fr 1fr
  }

  .footer-brand {
    grid-column:1/-1
  }

  .footer-brand p {
    max-width:550px
  }

  .detail-items {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

}

@media(min-width:1121px) {
  .complete-header nav[hidden] {
    display:flex!important
  }

  .complete-header nav .mobile-start {
    display:none
  }

}

@media(max-width:760px) {
  .complete-header nav {
    justify-content:initial
  }

  .complete-header .logo img {
    width:150px
  }

  .complete-header .header-actions {
    margin:0
  }

  .complete-header .language select {
    max-width:102px;
    font-size:13px
  }

  .complete-footer {
    grid-template-columns:1fr 1fr;
    gap:35px 22px;
    padding-top:45px
  }

  .footer-column:last-child {
    grid-column:1/-1
  }

  .footer-column:last-child {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px 20px
  }

  .footer-column:last-child h2 {
    grid-column:1/-1
  }

  .breadcrumbs {
    padding-top:24px;
    font-size:13px;
    gap:7px
  }

  .detail-hero {
    padding-block:44px 32px
  }

  .detail-hero h1 {
    font-size:clamp(39px,8vw,58px);
    overflow-wrap:anywhere
  }

  .detail-lead {
    font-size:19px
  }

  .detail-hero .actions {
    align-items:flex-start;
    flex-direction:column;
    gap:20px
  }

  .page-contents {
    font-size:14px;
    gap:10px 20px;
    padding-block:20px
  }

  .detail-section {
    padding-block:42px
  }

  .detail-section-heading {
    grid-template-columns:29px 1fr;
    gap:14px;
    margin-bottom:24px
  }

  .section-index {
    font-size:22px;
    padding-top:3px
  }

  .detail-section-heading h2 {
    font-size:32px
  }

  .detail-section-heading p {
    font-size:18px
  }

  .detail-items,.detail-items--split {
    grid-template-columns:1fr
  }

  .detail-items .detail-item {
    padding:25px
  }

  .detail-item blockquote {
    font-size:24px
  }

  .detail-steps {
    grid-template-columns:1fr;
    gap:0
  }

  .detail-steps>li {
    padding-block:23px;
    gap:14px
  }

  .step-count {
    flex-basis:29px;
    font-size:23px
  }

  .detail-faq {
    margin-left:0
  }

  .detail-faq summary {
    font-size:20px
  }

  .detail-section--note {
    padding:25px;
    margin-block:30px
  }

  .detail-table th,.detail-table td {
    padding:16px
  }

  .detail-final {
    padding-block:65px
  }

  .related-grid {
    grid-template-columns:1fr
  }

  .related-card {
    padding:20px
  }

  .related {
    padding-top:37px
  }

  .related h2 {
    font-size:29px
  }

  .policy-page .detail-items--split .detail-item {
    padding-left:0
  }

  .contact-tool {
    margin-left:0;
    padding:23px
  }

  .detail-direct-visual {
    grid-template-columns:1fr;
    padding:25px;
    gap:15px
  }

  .detail-direct-visual svg {
    max-height:230px
  }

  .detail-direct-visual figcaption {
    font-size:18px
  }

  .detail-body .journey-connected {
    padding:25px
  }

  .home-page-links {
    gap:16px
  }

  .home-questions {
    padding-block:40px
  }

  .standalone-example {
    padding:30px 0
  }

  .complete-page .focus-section {
    padding-top:25px
  }

  .standalone-example .guide-phone {
    padding:23px
  }

}

@media(max-width:380px) {
  .complete-header {
    gap:8px
  }

  .complete-header .logo img {
    width:128px
  }

  .complete-header .language select {
    max-width:83px;
    font-size:12px
  }

  .menu-toggle {
    padding:7px 9px;
    font-size:13px;
    gap:8px
  }

  .complete-header nav a {
    font-size:16px
  }

  .detail-hero h1 {
    font-size:39px
  }

  .detail-section-heading h2 {
    font-size:29px
  }

  .detail-items .detail-item {
    padding:22px
  }

  .contact-tool {
    padding:19px
  }

  .detail-body .journey-connected {
    padding:20px
  }

  .detail-faq summary {
    font-size:19px
  }

  .complete-footer {
    column-gap:18px
  }

  .footer-column a {
    font-size:14px
  }

}

.journey-connected>.home-page-links {
  grid-column:1;
  grid-row:3;
  margin-top:0
}

.method h3 a {
  text-decoration:none
}

.method h3 a:hover {
  text-decoration:underline
}

.license-links {
  font-size:15px;
  margin-top:30px
}

.policy-page .page-contents {
  max-width:1050px
}

@media(max-width:760px) {
  .journey-connected>.home-page-links {
    grid-column:1;
    grid-row:auto;
    margin-top:0
  }

}

@media(max-width:760px) {
  .detail-items--cards.detail-items--count-4 {
    grid-template-columns:1fr;
  }
}

/* Public typography and actions follow the paper, sage and sand design system. */
h1,h2,h3 { font-family:"Source Sans",Arial,sans-serif; font-weight:600; }
h1 { letter-spacing:-.04em; line-height:1.08; }
h2 { letter-spacing:-.035em; line-height:1.15; }
h3 { letter-spacing:-.015em; line-height:1.25; }
p { line-height:1.65; }
.hero h1 { font-size:clamp(44px,4.5vw,64px); letter-spacing:-.04em; line-height:1.08; max-width:680px; text-wrap:balance; }
.hero .lead { font-size:21px; font-weight:400; line-height:1.6; }
.hero { min-height:620px; padding-block:66px 72px; }
.eyebrow { font-size:12px; letter-spacing:.1em; margin-bottom:18px; }
.button { border-radius:999px; font-size:16px; font-weight:600; min-height:52px; padding:15px 24px; gap:16px; box-shadow:0 5px 16px #183d3609; transition:background .16s,box-shadow .16s,transform .16s; }
.button:hover { transform:translateY(-1px); box-shadow:0 7px 20px #183d3614; }
.button:active { transform:translateY(0); }
.button.small { min-height:46px; padding:12px 20px; font-size:15px; }
.button.ghost { background:transparent; box-shadow:none; }
.quiet-link { display:inline-flex; align-items:center; gap:13px; font-size:16px; font-weight:600; text-decoration:none; border-bottom:1px solid #245c4f55; padding-block:5px; line-height:1.5; }
.quiet-link:hover { border-color:var(--green); }
.complete-header { padding-block:20px; }
.complete-header nav { gap:27px; }
.complete-header nav a { font-size:16px; }
.complete-header .header-actions { gap:22px; }
.detail-hero { padding-block:64px 42px; }
.detail-hero h1 { font-size:clamp(40px,4.5vw,62px); max-width:900px; }
.detail-lead { font-size:21px; line-height:1.65; max-width:760px; }
.detail-section-heading h2 { font-size:clamp(29px,3vw,40px); }
.detail-items .detail-item { border-radius:24px; box-shadow:0 5px 18px #183d3604; }
.detail-item blockquote { font-family:"Source Serif",Georgia,serif; }
.section-index,.step-count { font-family:"Source Sans",Arial,sans-serif; font-size:19px; font-weight:600; color:var(--clay); }
.detail-section--note { border-radius:24px; }
.detail-faq summary { font-size:21px; }
.related { padding-block:48px 70px; }
.related h2 { font-size:28px; }
.related-card { border-radius:16px; background:var(--white); }
.policy-page .detail-hero h1 { font-size:clamp(38px,4vw,54px); }
.policy-page .detail-section-heading h2 { font-size:28px; }
.standalone-example { margin-block:45px; border:1px solid var(--line); border-radius:32px; background:var(--sage); padding:45px; }
.standalone-example .journey-example { max-width:640px; }
.standalone-example .journey-example__title { font-family:"Source Sans",Arial,sans-serif; font-weight:600; font-size:35px; }
.standalone-example .guide-tone { max-width:560px; margin-inline:0; }
.standalone-example .guide-phone { max-width:560px; border:1px solid var(--line); box-shadow:0 15px 35px #183d3608; }
.focus-card { border-radius:24px; padding:27px; }
.focus-card h3 { font-family:"Source Sans",Arial,sans-serif; font-weight:600; }
.focus-card__quote { font-size:22px; }
.contact-tool { border-radius:24px; }
.footer-column h2 { font-family:"Source Sans",Arial,sans-serif; }

/* A country flag is the compact state; the open list names language and country. */
.language-picker { position:relative; }
.language-toggle { display:inline-flex; align-items:center; justify-content:center; gap:8px; height:46px; min-width:58px; padding:8px 10px; border:1px solid var(--line); border-radius:999px; background:var(--white); }
.language-toggle:hover { border-color:var(--green); }
.language-flag { font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif; font-size:23px; line-height:1.15; }
.language-menu { list-style:none; margin:0; padding:6px; background:var(--white); border:1px solid var(--line); border-radius:20px; box-shadow:0 14px 42px #183d3618; }
.language-picker.is-ready .language-menu { position:fixed; left:var(--language-left,16px); top:var(--language-top,80px); width:min(300px,calc(100vw - 32px)); max-height:calc(100dvh - var(--language-top,80px) - 16px); overflow-y:auto; z-index:40; }
.language-menu a { display:flex; gap:13px; align-items:center; text-decoration:none; border-radius:13px; padding:12px 13px; min-height:68px; }
.language-menu a:hover,.language-menu a:focus-visible { background:var(--sage); }
.language-menu a[aria-current] { background:#eef2e8; }
.language-menu a>span:nth-child(2) { display:grid; gap:2px; }
.language-menu b { font-size:15px; font-weight:600; line-height:1.4; }
.language-menu a>span:nth-child(2)>span { font-size:14px; color:var(--muted); line-height:1.4; }
.language-check { margin-left:auto; color:var(--green); font-size:17px; }
.language-picker:not(.is-ready) .language-menu { display:flex; flex-wrap:wrap; }
.language-picker:not(.is-ready) { max-width:100%; }

/* The home offers a brief introduction, leaving full explanations to their pages. */
.home-value { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:88px; }
.home-value__copy h2 { font-size:clamp(34px,3.6vw,48px); max-width:620px; }
.home-value__copy>p:not(.eyebrow) { max-width:580px; color:var(--muted); font-size:19px; margin-bottom:25px; }
.thought-space { margin:0; position:relative; padding:34px; border:1px solid var(--line); border-radius:32px; background:#efe8df; transform:rotate(1.5deg); box-shadow:0 15px 40px #183d3608; }
.thought-space__before { padding:28px; border-radius:21px; background:var(--white); }
.thought-space .note-label { margin:0 0 13px; text-transform:uppercase; font-size:11px; letter-spacing:.08em; font-weight:600; color:var(--muted); }
.thought-space blockquote { font:400 30px/1.28 "Source Serif",Georgia,serif; letter-spacing:-.025em; margin:0; }
.thought-space__before svg { width:100%; max-width:270px; height:65px; margin:10px 0 -8px; }
.thought-space__before svg path { stroke:#b87953; stroke-width:1.8; fill:none; stroke-linecap:round; }
.thought-space__after { margin:15px -4px 0 14px; padding:23px 26px; background:var(--sage); border:1px solid #c8d7c3; border-radius:21px; transform:rotate(-3deg); }
.thought-space__after>span { float:right; color:var(--green); font-size:27px; line-height:1; }
.thought-space__after blockquote { font-size:29px; }
.thought-space>figcaption { font-size:12px; line-height:1.5; color:var(--muted); margin:22px 0 0; text-align:center; }
.home-focus { background:var(--sage); padding-block:80px; }
.home-focus__heading { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:90px; }
.home-focus__heading h2 { max-width:590px; font-size:clamp(34px,3.4vw,46px); }
.home-focus__heading>div:last-child>p { color:var(--muted); font-size:19px; max-width:520px; }
.home-areas { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:35px; }
.home-area { position:relative; border:1px solid #cbd7c6; border-radius:24px; padding:28px 24px; background:var(--white); text-decoration:none; box-shadow:0 6px 18px #183d3604; transition:border-color .16s,transform .16s; }
.home-area:hover { border-color:var(--green); transform:translateY(-2px); }
.home-area h3 { font-size:23px; margin:22px 0 11px; }
.home-area p { font-size:17px; color:var(--muted); margin:0 0 28px; }
.home-area>span { position:absolute; bottom:20px; right:24px; font-size:20px; color:var(--green); }
.home-method-line { display:flex; align-items:center; justify-content:space-between; gap:45px; border-top:1px solid #c1cebb; padding-top:26px; margin-top:36px; }
.home-method-line p { color:var(--muted); max-width:640px; margin:0; font-size:17px; }
.home-method-line .quiet-link { flex-shrink:0; }
.direct-panel { border-radius:32px; padding:48px 55px; }
.direct-panel h2 { font-size:clamp(35px,3.5vw,48px); }
.direct-panel__copy>p:not(.eyebrow) { font-size:19px; line-height:1.65; }
.home-people { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; padding-block:90px; }
.home-people__copy h2 { font-size:clamp(34px,3.4vw,46px); }
.home-people__copy>p:not(.eyebrow) { font-size:19px; color:var(--muted); max-width:570px; margin-bottom:24px; }
.home-signature { margin:0; padding:28px; border:1px solid var(--line); border-radius:32px; background:var(--white); text-align:center; }
.home-signature>p { margin:0; font-size:13px; letter-spacing:.03em; color:var(--muted); }
.home-signature .domain-story__puzzle { max-width:300px; margin-top:-20px; margin-bottom:-8px; }
.home-signature figcaption { display:flex; gap:15px 25px; align-items:center; justify-content:center; flex-wrap:wrap; }
.home-signature figcaption>span { font-size:14px; }
.home-signature b { color:var(--clay); margin-right:5px; font-size:20px; }
.home-signature figcaption>span+span b { color:var(--green); }
.detail-section--brand { border:0; padding-bottom:25px; }
@media(max-width:1120px) {
  .complete-header { padding-block:17px; }
  .complete-header .header-actions { gap:12px; }
  .complete-header nav { gap:9px; }
  .home-value { gap:42px; }
  .home-focus__heading,.home-people { gap:45px; }
  .home-areas { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-method-line { flex-direction:column; align-items:flex-start; gap:17px; }
}
@media(max-width:760px) {
  .hero { padding-block:42px 25px; min-height:0; }
  .hero h1 { font-size:clamp(41px,8.5vw,58px); line-height:1.09; }
  .hero .lead { font-size:19px; }
  .hero .actions .button { font-size:16px; }
  .complete-header { padding-block:15px; }
  .detail-hero { padding-block:40px 30px; }
  .detail-hero h1 { font-size:clamp(37px,8vw,53px); line-height:1.1; }
  .detail-lead { font-size:19px; }
  .detail-section-heading h2 { font-size:29px; }
  .home-value,.home-focus__heading,.home-people { grid-template-columns:1fr; gap:34px; }
  .home-value { padding-block:60px; }
  .home-value__copy h2,.home-focus__heading h2,.home-people__copy h2 { font-size:35px; }
  .home-value__copy>p:not(.eyebrow),.home-focus__heading>div:last-child>p,.home-people__copy>p:not(.eyebrow) { font-size:18px; }
  .thought-space { padding:25px; max-width:480px; width:calc(100% - 8px); margin:8px auto; }
  .thought-space__before { padding:24px; }
  .thought-space blockquote { font-size:28px; }
  .thought-space__after { margin-left:6px; padding:23px; }
  .thought-space__after blockquote { font-size:27px; }
  .home-focus { padding-block:58px; }
  .home-focus__heading { gap:0; }
  .home-areas { gap:12px; margin-top:28px; }
  .home-area { padding:25px 20px; }
  .home-area h3 { font-size:22px; }
  .home-area p { font-size:16px; }
  .home-method-line { margin-top:28px; }
  .direct-panel { padding:29px; border-radius:24px; }
  .direct-panel h2 { font-size:36px; }
  .direct-panel__copy>p:not(.eyebrow) { font-size:18px; }
  .home-people { padding-block:65px; }
  .home-signature { border-radius:24px; padding:24px; }
  .related { padding-block:35px 55px; }
  .standalone-example { padding:25px; border-radius:24px; margin-block:30px; }
  .standalone-example .journey-example__title { font-size:29px; }
  .standalone-example .guide-phone { padding:23px; }
  .detail-faq summary { font-size:20px; }
}
@media(max-width:480px) {
  .home-areas { grid-template-columns:1fr; }
  .home-area { display:grid; grid-template-columns:32px 1fr; gap:0 17px; padding:24px 40px 24px 23px; }
  .home-area img { grid-row:1 / span 2; margin-top:4px; }
  .home-area h3 { margin:0 0 8px; }
  .home-area p { margin:0; }
  .home-area>span { bottom:24px; right:18px; }
  .home-signature figcaption { display:grid; gap:9px; }
}
@media(max-width:380px) {
  .hero h1 { font-size:40px; }
  .complete-header .logo img { width:128px; }
  .complete-header .header-actions { gap:0; }
  .language-toggle { min-width:50px; height:44px; padding:7px; }
  .home-value__copy h2,.home-focus__heading h2,.home-people__copy h2 { font-size:32px; }
  .thought-space { padding:19px; }
  .thought-space__before { padding:21px; }
  .thought-space blockquote { font-size:25px; }
  .thought-space__after { padding:20px; }
  .quiet-link { font-size:15px; }
}
@media(prefers-reduced-motion:reduce) {
  .button:hover,.home-area:hover { transform:none; }
  .button,.home-area { transition:none; }
}

/* The public example is an illustration; conversation controls belong to the app. */
.conversation-example { display:grid; grid-template-columns:.85fr 1.15fr; gap:55px; align-items:start; padding-block:60px; border-bottom:1px solid var(--line); }
.conversation-example>div { padding-top:20px; }
.conversation-example h2 { font-size:clamp(32px,3.2vw,43px); }
.conversation-sheet { margin:0; padding:30px; border:1px solid var(--line); border-radius:28px; background:var(--white); box-shadow:0 14px 40px #183d3608; }
.conversation-identity { display:flex; align-items:center; gap:12px; padding-bottom:20px; border-bottom:1px solid var(--line); margin-bottom:24px; }
.conversation-identity>div { display:grid; gap:2px; }
.conversation-identity b { font-weight:600; font-size:16px; }
.conversation-identity span { font-size:12px; color:var(--muted); }
.conversation-messages { display:grid; gap:18px; }
.conversation-message { padding:18px 20px; border-radius:18px; background:var(--paper); max-width:92%; }
.conversation-message--you { margin-left:auto; background:var(--sage); }
.conversation-message>p:not(.note-label) { font-size:17px; margin:0; line-height:1.6; }
.conversation-sheet .note-label { font-size:10px; line-height:1.4; color:var(--muted); font-weight:600; margin:0 0 7px; text-transform:uppercase; letter-spacing:.06em; }
.conversation-result { border-top:1px solid var(--line); margin-top:25px; padding-top:22px; }
.conversation-result blockquote { font:400 25px/1.4 "Source Serif",Georgia,serif; margin:8px 0 0; }
.conversation-sheet figcaption { font-size:12px; color:var(--muted); margin-top:23px; line-height:1.5; }
@media(max-width:760px) {
  .conversation-example { grid-template-columns:1fr; gap:24px; padding-block:40px; }
  .conversation-example>div { padding-top:0; }
  .conversation-example h2 { font-size:31px; }
  .conversation-sheet { padding:23px; border-radius:24px; }
  .conversation-message { padding:16px 18px; max-width:95%; }
  .conversation-message>p:not(.note-label) { font-size:16px; }
  .conversation-result blockquote { font-size:23px; }
}
a.focus-card { color:var(--ink); text-decoration:none; transition:border-color .16s,box-shadow .16s; }
a.focus-card:hover { border-color:var(--green); box-shadow:0 9px 25px #183d3609; }
a.focus-card .quiet-link { margin-top:auto; }
a.focus-card .focus-card__quote { margin-bottom:25px; }
