@font-face {
  font-family: Inter;
  src: url("fonts/Inter.ttf") format("truetype");
  font-weight: 100 900;
  font-display: swap;
}

/* Shared site width and the same type families in both saved modules. */
.journey-module, .perspective {
  --ink: #2a201b;
  --gold: #f0c78f;
  --serif: "Playfair Display", Georgia, serif;
  --sans: Inter, Arial, sans-serif;
  font-synthesis: none;
}
.journey-module {
  --accent: #682638;
  --line: #a58178;
  background: var(--milk);
  color: var(--ink);
  font: 430 17px/1.63 var(--sans);
}
.journey-module h2, .journey-module h3 {
  font-family: var(--serif);
  font-weight: 480;
  letter-spacing: -.035em;
  line-height: 1.05;
}
.journey-module ol { margin: 0; }
.perspective {
  --muted: #d7c8b7;
  color: var(--milk);
  font-family: var(--sans);
}
@media (max-width: 760px) {
  .journey-module { font-size: 16px; }
}

.journey-module .journey {padding-block:clamp(48px,6.7vw,96px)}
.journey-module .journey-heading {margin-block-end:clamp(43px,6.4vw,91px)}
.journey-module .journey-heading h2 {font-size:clamp(42px,5.1vw,73px);max-width:18ch;text-wrap:balance}
.journey-module .lead {margin-block-start:16px;color:var(--accent);font:italic 455 clamp(21px,2.2vw,31px)/1.26 var(--serif);max-width:40ch}
.journey-module .route {position:relative;isolation:isolate}
.journey-module .thread {position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:-1}
.journey-module .thread path {fill:none;stroke:var(--line);stroke-width:1.1;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.journey-module .nodes {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(57px,7vw,100px) clamp(45px,6.5vw,92px);list-style:none;padding:0
}
.journey-module .node {position:relative;min-width:0;padding-top:32px}
.journey-module .node:nth-child(3), .journey-module .node:nth-child(4) {grid-column:1/-1}
.journey-module .node:nth-child(3) {justify-self:center;width:min(100%,645px)}
.journey-module .node:nth-child(4) {width:min(calc(100% - 116px),780px);margin-left:116px}
.journey-module .pin {
  position:absolute;top:0;left:0;width:10px;height:10px;transform:translate(-50%,-50%);
  border:1px solid var(--accent);border-radius:50%;background:var(--milk)
}
.journey-module .period .task {color:var(--accent);font:italic 500 clamp(19px,1.7vw,24px)/1.27 var(--serif);margin-bottom:9px}
.journey-module .period :is(h2, h3) {font-size:clamp(31px,3.35vw,48px);margin-bottom:16px}
.journey-module .period {text-align:left}
.journey-module .period > :is(.task,h2,h3,.description),
.journey-module .period .description p {text-align:left;margin-inline:0}
.journey-module .description p {max-width:70ch}
.journey-module .description p+p {margin-top:15px}
.journey-module .journey-result {font-weight:650;color:var(--accent)}
.journey-module .education {background:var(--wine);color:var(--milk);padding-block:clamp(50px,6.8vw,98px)}
.journey-module .education :is(h2,h3,p,li,strong) {color:var(--milk);text-align:left;margin-inline:0}
.journey-module .education h2 {font-size:clamp(40px,4.4vw,64px);margin-bottom:30px}
.journey-module .education .foundation {display:grid;gap:18px;margin-bottom:38px}
.journey-module .education .foundation h3 {font-size:clamp(27px,2.65vw,38px);line-height:1.16;letter-spacing:-.025em}
.journey-module .education .education-extra {max-width:870px;font-size:16px;line-height:1.55}
.journey-module .education .additional-title {font:650 17px/1.4 var(--sans);letter-spacing:0;margin-bottom:14px}
.journey-module .education ul {list-style:none;margin:0;padding:0}
.journey-module .education li+li {margin-top:9px}
.journey-module .education .education-extra > p {margin-top:17px}
.journey-module .education .education-extra > .membership {margin-top:26px;font-weight:600}
@media(max-width:760px){
.journey-module .journey-heading h2 {font-size:clamp(36px,10vw,57px)}
.journey-module .nodes {display:block;padding:0}
.journey-module .node:nth-child(n) {width:100%;margin:0;padding:0}
.journey-module .node+.node {margin-top:37px}
.journey-module .pin {top:12px;left:-12px;width:9px;height:9px}
}
@font-face {
  font-family: "Miama Nueva";
  src: url("fonts/MiamaNueva.otf") format("opentype");
  font-style: normal;
  font-weight: 400;
  font-display: block;
}
.journey-module .bridge {
  background: var(--milk);
  padding-block: clamp(6px, 1vw, 14px) clamp(24px, 3.2vw, 46px);
}
.journey-module .signature-wrap {
  width: 100%;
  margin-inline: auto;
}
.journey-module .bridge .signature-svg {
  display: block;
  width: 100%;
  height: auto;
  margin-inline: auto;
  overflow: visible;
  visibility: hidden;
}
.journey-module .signature-word {
  fill: color-mix(in srgb, #3C131B 35%, var(--milk));
  font: 400 100px/1 "Miama Nueva";
  font-synthesis: none;
}
.journey-module .signature-svg[data-font-ready="true"] { visibility: visible; }



.perspective {
  position:relative;
  isolation:isolate;
  background:radial-gradient(ellipse at 98% 15%,#3d2b22 0%,transparent 60%),var(--ink);
  padding-block:clamp(52px,7.1vw,102px) clamp(62px,7.8vw,112px);
}
.perspective::before {
  position:absolute;
  z-index:-1;
  inset:0;
  content:"";
  opacity:.05;
  pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' seed='9' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='white' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");
}
/* SITE07_COMPACT_AUTHOR_QUOTE · 12.11.2026 */
.perspective.author-quote {padding-block:44px;color:var(--milk)}
.author-quote .author-quote-grid {
  display:grid;grid-template-columns:170px minmax(0,1fr);
  gap:44px;align-items:center;
}
.author-quote .author-quote-portrait {margin:0;width:170px}
.author-quote .author-quote-portrait img {display:block;width:100%;height:auto;border-radius:0}
.author-quote blockquote {min-width:0;margin:0;padding:0;border:0}
.author-quote blockquote p {
  margin:0;max-width:37ch;color:var(--milk);
  font:italic 450 clamp(29px,2.92vw,42px)/1.25 var(--serif);
  letter-spacing:-.025em;text-wrap:balance;
}
.author-quote cite {
  display:block;margin-top:20px;color:var(--milk);
  font:400 15px/1.5 var(--sans);letter-spacing:.015em;
}
@media(max-width:700px){
  .perspective.author-quote {padding-block:36px}
  .author-quote .author-quote-grid {grid-template-columns:minmax(0,1fr);gap:24px}
  .author-quote .author-quote-portrait {width:112px}
  .author-quote blockquote p {max-width:24ch;font-size:27px;line-height:1.28}
  .author-quote cite {margin-top:16px;font-size:14px}
}

/* SITE07_EDUCATION_APPROACH_BLOG_PREVIEW · 11.11.2026 */
.journey-module .education .education-approach {
  max-width:70ch;margin:0 0 34px;color:var(--milk);
  font:430 clamp(17px,1.35vw,19px)/1.68 var(--sans);
}
.journey-module .education .foundation {margin-bottom:25px}
.personal-blog .blog-previews {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--module-gap);margin-top:clamp(30px,3.3vw,48px);
}
.blog-preview {min-width:0}
.blog-preview > a {display:block;color:inherit;text-decoration:none}
.blog-preview-image {aspect-ratio:1.75;overflow:hidden;background:var(--paper)}
.blog-preview-image img {width:100%;height:100%;object-fit:cover}
.blog-preview:nth-child(1) img {object-position:60% 36%}
.blog-preview:nth-child(2) img {object-position:50% 47%}
.blog-preview:nth-child(3) img {object-position:50% 9%}
.blog-preview-copy {padding-top:17px}
.blog-preview h3 {font:440 clamp(24px,2.05vw,29px)/1.13 var(--serif);letter-spacing:-.025em}
.blog-preview p {font-size:14px;line-height:1.6;color:var(--muted);margin-top:11px;max-width:43ch}
.blog-preview a:hover h3 {text-decoration:underline;text-underline-offset:4px}
.contact-panel {grid-template-columns:minmax(0,1.618fr) minmax(0,1fr);align-items:center}
.contact-copy {max-width:65ch}
.contact-panel .contact-copy h2 {margin-bottom:23px}
.contact-copy p {font-size:16px;line-height:1.65;color:var(--milk);max-width:62ch}
.contact-copy p+p {margin-top:16px}
.contact-panel .contact-actions {justify-self:end}
@media(max-width:680px){
  .personal-blog .blog-previews {grid-template-columns:minmax(0,1fr);gap:30px;margin-top:29px}
  .blog-preview-image {aspect-ratio:1.85}
  .blog-preview-copy {padding-top:13px}
  .blog-preview h3 {font-size:27px}
  .blog-preview p {margin-top:9px}
  .contact-panel {grid-template-columns:minmax(0,1fr)}
  .contact-panel .contact-actions {justify-self:start}
  .contact-panel .contact-copy h2 {margin-bottom:20px}
  .journey-module .education .education-approach {margin-bottom:29px}
}
