:root {
  --paper: #f5f0e7;
  --paper-deep: #e9e1d4;
  --white: #fffdf8;
  --ink: #173a35;
  --ink-dark: #0f2c28;
  --ink-soft: #566b65;
  --mint: #bfd8c9;
  --mint-pale: #dde9df;
  --coral: #e7785f;
  --coral-dark: #c85f49;
  --line: rgba(23,58,53,.16);
  --line-light: rgba(255,255,255,.16);
  --shadow: 0 28px 80px rgba(23,58,53,.12);
  --serif: "Newsreader", Georgia, serif;
  --sans: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; color: var(--ink); background: var(--paper); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
button, input, textarea, select { font: inherit; }
a, button { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
img, svg { display: block; max-width: 100%; }
h1, h2, h3, h4, p { margin-top: 0; }
.page-pad { padding-left: max(28px, calc((100vw - 1180px) / 2)); padding-right: max(28px, calc((100vw - 1180px) / 2)); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; top: 12px; left: 12px; padding: 10px 14px; background: var(--ink); color: white; transform: translateY(-160%); transition: transform .2s ease; }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid var(--coral); outline-offset: 4px; }

.site-header { position: fixed; z-index: 100; top: 18px; left: 50%; width: min(1180px, calc(100% - 36px)); height: 68px; transform: translateX(-50%); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 12px 0 22px; border: 1px solid rgba(255,255,255,.58); border-radius: 20px; background: rgba(255,253,248,.82); box-shadow: 0 12px 42px rgba(23,58,53,.06); backdrop-filter: blur(18px); transition: background .2s, box-shadow .2s; }
.site-header.scrolled { background: rgba(255,253,248,.96); box-shadow: 0 12px 42px rgba(23,58,53,.12); }
.brand { display: inline-flex; align-items: center; gap: 11px; width: max-content; font-weight: 700; text-decoration: none; letter-spacing: -.02em; }
.brand-mark { position: relative; display: grid; place-items: center; width: 28px; height: 28px; }
.brand-mark i { position: absolute; display: block; width: 19px; height: 7px; border: 1.8px solid currentColor; border-radius: 50%; transform-origin: center; }
.brand-mark i:nth-child(2) { transform: rotate(60deg); }
.brand-mark i:nth-child(3) { transform: rotate(-60deg); }
.brand-text { display: grid; line-height: 1.05; }
.brand-text strong { font-size: .9rem; }
.brand-text small { margin-top: 4px; color: var(--ink-soft); font-size: .58rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.desktop-nav { display: flex; gap: 32px; }
.desktop-nav a { position: relative; color: var(--ink-soft); font-size: .86rem; font-weight: 600; text-decoration: none; }
.desktop-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -8px; height: 1px; background: var(--coral); transition: right .2s; }
.desktop-nav a:hover, .desktop-nav a.active { color: var(--ink); }
.desktop-nav a:hover::after, .desktop-nav a.active::after { right: 0; }
.header-cta { justify-self: end; padding: 13px 20px; border-radius: 13px; background: var(--ink); color: white; font-size: .84rem; font-weight: 700; text-decoration: none; transition: transform .2s, background .2s; }
.header-cta:hover { background: var(--ink-dark); transform: translateY(-1px); }
.menu-toggle, .mobile-nav { display: none; }

.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 22px; color: var(--coral-dark); font-size: .69rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.eyebrow span { display: inline-block; width: 28px; height: 1px; background: currentColor; }
.eyebrow-light { color: #efb4a7; }
.mini-label { margin-bottom: 13px; color: var(--coral-dark); font-size: .67rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.lead { color: var(--ink-soft); font-size: 1.1rem; line-height: 1.72; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 13px; min-height: 54px; padding: 0 22px; border: 0; border-radius: 14px; font-weight: 700; text-decoration: none; cursor: pointer; transition: transform .2s, background .2s, border .2s, box-shadow .2s; }
.button:hover { transform: translateY(-2px); }
.button svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.button-primary { background: var(--ink); color: white; box-shadow: 0 12px 28px rgba(23,58,53,.2); }
.button-primary:hover { background: var(--ink-dark); box-shadow: 0 15px 32px rgba(23,58,53,.25); }
.button-coral { background: var(--coral); color: white; box-shadow: 0 12px 28px rgba(200,95,73,.2); }
.button-coral:hover { background: var(--coral-dark); }
.button-light { background: var(--white); color: var(--ink); }
.button-light:hover { background: var(--paper); }
.button-outline { border: 1px solid var(--line); background: transparent; color: var(--ink); }
.button-outline:hover { border-color: var(--ink); background: rgba(255,255,255,.35); }
.text-link { display: inline-flex; gap: 8px; padding: 9px 0; color: var(--ink); font-size: .86rem; font-weight: 700; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.text-link-light { color: white; }
.hero-actions { display: flex; align-items: center; gap: 27px; }

/* Home */
.home-hero { position: relative; min-height: 860px; display: grid; grid-template-columns: 1.04fr .96fr; align-items: center; gap: 70px; padding-top: 142px; padding-bottom: 78px; overflow: hidden; }
.home-hero::before { content: ""; position: absolute; z-index: -1; top: 5%; right: -17%; width: 68%; height: 850px; border-radius: 45% 0 0 53%; background: var(--mint-pale); transform: rotate(-5deg); }
.home-hero-copy h1 { max-width: 690px; margin-bottom: 28px; font-family: var(--serif); font-size: clamp(3.7rem,5.25vw,5.7rem); font-weight: 500; line-height: .94; letter-spacing: -.055em; }
.home-hero-copy .lead { max-width: 635px; margin-bottom: 34px; }
.credential-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 48px; color: var(--ink-soft); font-size: .69rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.credential-row i { display: block; width: 4px; height: 4px; border-radius: 50%; background: var(--coral); }
.home-portrait { position: relative; min-height: 620px; display: grid; place-items: center; }
.portrait-orbit { position: absolute; border: 1px solid rgba(23,58,53,.17); border-radius: 50%; }
.orbit-a { width: 570px; height: 570px; }
.orbit-b { width: 455px; height: 455px; border-style: dashed; animation: rotate 40s linear infinite; }
.portrait-frame { position: relative; z-index: 2; width: min(390px,80%); height: 500px; overflow: hidden; border: 1px solid rgba(255,255,255,.9); border-radius: 180px 180px 22px 22px; background: linear-gradient(180deg,#f0f5ef,#c6dacd); box-shadow: var(--shadow); }
.portrait-line { position: absolute; inset: 24px 5% 0; width: 90%; height: 95%; fill: none; stroke: var(--ink); stroke-width: 1.5; stroke-linecap: round; opacity: .68; }
.portrait-label { position: absolute; left: 18px; right: 18px; bottom: 18px; display: grid; gap: 4px; padding: 15px 17px; border: 1px solid rgba(255,255,255,.75); border-radius: 14px; background: rgba(255,253,248,.8); backdrop-filter: blur(10px); }
.portrait-label span { font-family: var(--serif); font-size: 1.25rem; font-weight: 600; }
.portrait-label small { color: var(--ink-soft); font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.photo-note { position: absolute; z-index: 4; right: 6px; bottom: 32px; margin: 0; color: var(--ink-soft); font-size: .58rem; letter-spacing: .06em; text-transform: uppercase; writing-mode: vertical-rl; }
.floating-note { position: absolute; z-index: 3; padding: 11px 15px; border: 1px solid rgba(255,255,255,.75); border-radius: 12px; background: rgba(255,253,248,.83); box-shadow: 0 8px 24px rgba(23,58,53,.08); backdrop-filter: blur(10px); font-size: .68rem; font-weight: 700; }
.note-a { top: 110px; left: 4px; transform: rotate(-4deg); }
.note-b { right: 3px; bottom: 118px; transform: rotate(4deg); }
@keyframes rotate { to { transform: rotate(360deg); } }

.path-section { display: grid; grid-template-columns: .68fr 1.32fr; gap: 90px; padding-top: 115px; padding-bottom: 115px; background: var(--ink); color: white; }
.path-intro { padding-top: 20px; }
.path-intro h2 { margin-bottom: 22px; font-family: var(--serif); font-size: clamp(3rem,4.3vw,4.4rem); font-weight: 500; line-height: .98; letter-spacing: -.045em; }
.path-intro > p:last-child { max-width: 390px; color: #b6cbc3; line-height: 1.7; }
.path-selector { min-height: 500px; display: grid; grid-template-columns: .85fr 1.15fr; overflow: hidden; border: 1px solid var(--line-light); border-radius: 25px; background: rgba(255,255,255,.04); }
.path-options { display: flex; flex-direction: column; border-right: 1px solid var(--line-light); }
.path-options button { flex: 1; display: grid; grid-template-columns: 32px 1fr; gap: 13px; align-items: center; padding: 25px; border: 0; border-bottom: 1px solid var(--line-light); background: transparent; color: #b8ccc5; font-weight: 600; line-height: 1.35; text-align: left; cursor: pointer; transition: background .2s,color .2s; }
.path-options button:last-child { border-bottom: 0; }
.path-options button span { color: #809b91; font-size: .65rem; letter-spacing: .1em; }
.path-options button[aria-selected="true"] { background: var(--white); color: var(--ink); }
.path-options button[aria-selected="true"] span { color: var(--coral-dark); }
.path-result { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 50px 48px; background: var(--paper); color: var(--ink); outline: none; }
.path-result h3 { margin-bottom: 18px; font-family: var(--serif); font-size: 2.55rem; font-weight: 500; line-height: 1.05; letter-spacing: -.035em; }
.path-result > p:not(.mini-label) { color: var(--ink-soft); line-height: 1.68; }
.path-result ul { display: grid; gap: 9px; margin: 10px 0 28px; padding: 0; list-style: none; color: var(--ink); font-size: .79rem; font-weight: 600; }
.path-result li::before { content: "✓"; display: inline-grid; place-items: center; width: 19px; height: 19px; margin-right: 8px; border-radius: 50%; background: var(--mint-pale); font-size: .68rem; }

.featured-service { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; align-items: center; padding-top: 125px; padding-bottom: 125px; background: var(--white); }
.featured-copy h2 { max-width: 510px; margin-bottom: 24px; font-family: var(--serif); font-size: clamp(3rem,4.2vw,4.4rem); font-weight: 500; line-height: .98; letter-spacing: -.045em; }
.featured-copy > p:not(.eyebrow) { max-width: 500px; color: var(--ink-soft); line-height: 1.72; }
.feature-pills { display: flex; flex-wrap: wrap; gap: 8px; margin: 31px 0; }
.feature-pills span { padding: 9px 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); font-size: .72rem; font-weight: 700; }
.featured-map-preview { position: relative; min-height: 570px; display: grid; place-items: center; }
.featured-map-preview::before, .featured-map-preview::after { content: ""; position: absolute; border: 1px solid rgba(23,58,53,.16); border-radius: 50%; }
.featured-map-preview::before { width: 565px; height: 565px; }
.featured-map-preview::after { width: 440px; height: 440px; border-style: dashed; }
.map-sheet { position: relative; z-index: 2; width: min(100%,510px); padding: 29px 31px 24px; border-radius: 8px 38px 8px 8px; background: var(--paper); box-shadow: var(--shadow); transform: rotate(1.3deg); }
.sheet-head { display: flex; justify-content: space-between; padding-bottom: 17px; border-bottom: 1px solid var(--line); color: var(--ink-soft); font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.map-sheet svg { width: 100%; height: auto; }
.map-sheet svg path { fill: none; stroke: #92afa2; stroke-width: 1.8; stroke-dasharray: 5 5; }
.map-sheet svg circle { fill: #edf3ed; stroke: #88a99a; stroke-width: 1.4; }
.map-sheet svg .core { fill: var(--ink); }
.map-word { position: absolute; font-size: .65rem; font-weight: 700; transform: translate(-50%,-50%); }
.mw-a { left: 24.3%; top: 28.5%; }.mw-b { left: 78.7%; top: 28.5%; }.mw-c { left: 78.7%; top: 71%; }.mw-d { left: 24.3%; top: 71%; }.mw-core { left: 51.4%; top: 50%; color: white; text-align: center; line-height: 1.15; }
.map-sheet > p { margin: 0; padding-top: 17px; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .72rem; }

.therapy-preview { display: grid; grid-template-columns: .9fr 1.1fr; min-height: 650px; padding-top: 0; padding-bottom: 0; background: var(--ink); color: white; }
.therapy-card { align-self: center; padding: 85px 70px 85px 0; }
.therapy-card h2 { max-width: 560px; margin-bottom: 24px; font-family: var(--serif); font-size: clamp(3rem,4.2vw,4.35rem); font-weight: 500; line-height: .98; letter-spacing: -.045em; }
.therapy-card > p:not(.eyebrow) { max-width: 500px; margin-bottom: 30px; color: #b5cac2; line-height: 1.7; }
.therapy-facts { display: grid; align-self: stretch; background: #214943; }
.therapy-facts article { display: grid; grid-template-columns: 46px 1fr; column-gap: 20px; align-content: center; padding: 35px 55px; border-bottom: 1px solid var(--line-light); }
.therapy-facts article:last-child { border-bottom: 0; }
.therapy-facts article > span { grid-row: 1/3; color: #8faf9f; font-size: .68rem; letter-spacing: .1em; }
.therapy-facts h3 { margin-bottom: 8px; font-family: var(--serif); font-size: 1.65rem; font-weight: 500; }
.therapy-facts p { margin: 0; color: #aec5bc; font-size: .82rem; line-height: 1.65; }

.testimonials { padding-top: 110px; padding-bottom: 110px; background: var(--paper); }
.quote-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.quote-grid blockquote { margin: 0; padding: 36px 40px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); }
.quote-grid blockquote p { margin-bottom: 25px; font-family: var(--serif); font-size: 1.75rem; line-height: 1.25; letter-spacing: -.02em; }
.quote-grid blockquote footer { color: var(--coral-dark); font-size: .69rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

.about-home { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; align-items: center; padding-top: 120px; padding-bottom: 120px; background: var(--white); }
.about-visual { position: relative; min-height: 480px; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; padding: 40px; border-radius: 220px 220px 20px 20px; background: var(--mint-pale); }
.about-number { position: absolute; top: 70px; left: 50%; font-family: var(--serif); font-size: 5.8rem; line-height: .75; text-align: center; transform: translateX(-50%); }
.about-lines { position: absolute; inset: 45px; border: 1px solid rgba(23,58,53,.18); border-radius: 50%; }
.about-lines::before, .about-lines::after { content: ""; position: absolute; border: 1px solid rgba(23,58,53,.14); border-radius: 50%; }
.about-lines::before { inset: 35px; }.about-lines::after { inset: 75px; }
.about-visual p { position: relative; z-index: 2; max-width: 280px; margin: 0 auto; padding: 17px; border-radius: 12px; background: rgba(255,253,248,.78); color: var(--ink-soft); font-size: .78rem; line-height: 1.6; text-align: center; }
.about-copy h2 { max-width: 630px; margin-bottom: 26px; font-family: var(--serif); font-size: clamp(3rem,4.3vw,4.5rem); font-weight: 500; line-height: .98; letter-spacing: -.045em; }
.about-copy > p:not(.eyebrow) { max-width: 620px; color: var(--ink-soft); line-height: 1.72; }
.about-credentials { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; }
.about-credentials span { padding: 9px 12px; border-radius: 9px; background: var(--paper); font-size: .7rem; font-weight: 700; }

.abroad-home { position: relative; min-height: 520px; display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; overflow: hidden; padding-top: 80px; padding-bottom: 80px; background: #214943; color: white; }
.abroad-copy h2 { max-width: 610px; margin-bottom: 24px; font-family: var(--serif); font-size: clamp(3rem,4.4vw,4.6rem); font-weight: 500; line-height: .96; letter-spacing: -.045em; }
.abroad-copy > p:not(.eyebrow) { max-width: 560px; color: #b7cbc3; line-height: 1.7; }
.abroad-stamps { position: relative; min-height: 350px; display: grid; place-items: center; }
.abroad-stamps::before, .abroad-stamps::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; }
.abroad-stamps::before { width: 345px; height: 345px; }.abroad-stamps::after { width: 250px; height: 250px; border-style: dashed; }
.abroad-stamps span { position: absolute; z-index: 2; display: grid; place-items: center; width: 145px; height: 145px; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; background: rgba(255,255,255,.05); font-size: .67rem; font-weight: 700; letter-spacing: .13em; line-height: 1.7; text-align: center; transform: rotate(-8deg); }
.abroad-stamps span:nth-child(1) { left: 65px; top: 34px; }.abroad-stamps span:nth-child(2) { right: 62px; bottom: 30px; border-color: #eea997; transform: rotate(9deg); }
.abroad-stamps small { color: #b5c9c1; font-size: .61rem; }
.abroad-stamps i { width: 9px; height: 9px; border-radius: 50%; background: var(--coral); }

.content-home { padding-top: 120px; padding-bottom: 120px; background: var(--paper); }
.section-heading { display: grid; grid-template-columns: 1.13fr .87fr; gap: 25px 90px; align-items: end; margin-bottom: 55px; }
.section-heading .eyebrow { grid-column: 1/-1; margin-bottom: -3px; }
.section-heading h2 { margin-bottom: 0; font-family: var(--serif); font-size: clamp(3rem,4.3vw,4.5rem); font-weight: 500; line-height: .98; letter-spacing: -.045em; }
.section-heading > p:last-child { max-width: 430px; margin-bottom: 4px; color: var(--ink-soft); line-height: 1.7; }
.content-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 30px; }
.youtube-card { overflow: hidden; border-radius: 22px; background: var(--white); box-shadow: 0 18px 50px rgba(23,58,53,.08); text-decoration: none; }
.video-scene { position: relative; min-height: 335px; display: grid; place-items: center; overflow: hidden; background: var(--ink); }
.video-scene::before { content: ""; position: absolute; width: 380px; height: 380px; border: 1px solid rgba(255,255,255,.19); border-radius: 50%; }
.video-scene::after { content: ""; position: absolute; width: 260px; height: 260px; border: 1px dashed rgba(255,255,255,.19); border-radius: 50%; }
.play { position: relative; z-index: 2; display: grid; place-items: center; width: 72px; height: 72px; padding-left: 5px; border-radius: 50%; background: var(--coral); color: white; box-shadow: 0 12px 35px rgba(0,0,0,.22); transition: transform .2s; }
.youtube-card:hover .play { transform: scale(1.08); }
.video-tag { position: absolute; z-index: 2; left: 22px; bottom: 20px; color: rgba(255,255,255,.72); font-size: .62rem; font-weight: 700; letter-spacing: .12em; }
.youtube-card > div:last-child { padding: 29px 32px 33px; }
.youtube-card h3 { margin-bottom: 13px; font-family: var(--serif); font-size: 2rem; font-weight: 500; line-height: 1.08; }
.youtube-card p:last-child { margin: 0; color: var(--ink-soft); font-size: .8rem; }
.article-stack { display: grid; gap: 12px; }
.article-stack a { display: grid; grid-template-columns: 1fr auto; gap: 8px 20px; align-items: end; padding: 27px 28px; border: 1px solid var(--line); border-radius: 17px; background: rgba(255,253,248,.65); text-decoration: none; transition: transform .2s,background .2s,border .2s; }
.article-stack a:hover { border-color: var(--ink); background: var(--white); transform: translateX(4px); }
.article-stack span { grid-column: 1/-1; color: var(--coral-dark); font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.article-stack h3 { margin: 0; font-family: var(--serif); font-size: 1.4rem; font-weight: 500; }
.article-stack small { color: var(--ink-soft); font-size: .66rem; font-weight: 700; }
.article-stack .books-row { background: var(--mint-pale); }
.center-button { display: flex; width: max-content; margin: 45px auto 0; }

.closing-cta { display: flex; justify-content: space-between; align-items: center; gap: 45px; padding-top: 70px; padding-bottom: 70px; background: var(--mint); }
.closing-cta h2 { max-width: 720px; margin: 0; font-family: var(--serif); font-size: clamp(2.5rem,4vw,4rem); font-weight: 500; line-height: 1; letter-spacing: -.04em; }

.site-footer { display: grid; grid-template-columns: 1.6fr repeat(3,1fr); gap: 55px; padding-top: 65px; padding-bottom: 35px; background: var(--ink-dark); color: white; }
.footer-brand p { max-width: 285px; margin: 20px 0 0; color: #96ada5; font-size: .75rem; line-height: 1.6; }
.site-footer .brand-text small { color: #96ada5; }
.site-footer nav { display: grid; align-content: start; gap: 11px; }
.site-footer nav strong { margin-bottom: 7px; color: white; font-size: .69rem; letter-spacing: .1em; text-transform: uppercase; }
.site-footer nav a, .site-footer nav span { color: #96ada5; font-size: .73rem; text-decoration: none; }
.site-footer nav a:hover { color: white; }
.footer-note { grid-column: 1/-1; margin: 15px 0 0; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.1); color: #7f9990; font-size: .67rem; }
.inline-link { color: inherit; text-decoration-color: rgba(168,111,74,.58); text-decoration-thickness: 1px; text-underline-offset: .2em; transition: color .2s ease, text-decoration-color .2s ease; }
.inline-link:hover { color: var(--coral-dark); text-decoration-color: currentColor; }

/* Inner heroes */
.service-page, .therapy-page, .blog-page, .contact-page { background: var(--white); }
.inner-hero { min-height: 730px; display: grid; grid-template-columns: 1.12fr .88fr; gap: 90px; align-items: center; padding-top: 150px; padding-bottom: 85px; background: var(--paper); }
.inner-hero-copy h1, .blog-hero h1, .contact-intro h1 { max-width: 760px; margin-bottom: 27px; font-family: var(--serif); font-size: clamp(3.7rem,5.4vw,5.8rem); font-weight: 500; line-height: .93; letter-spacing: -.055em; }
.inner-hero-copy .lead { max-width: 650px; margin-bottom: 32px; }

/* Comprenderme */
.comprenderme-hero { min-height: 860px; display: grid; grid-template-columns: 1.04fr .96fr; gap: 80px; align-items: center; padding-top: 145px; padding-bottom: 85px; background: var(--paper); }
.service-hero-copy h1 { margin-bottom: 25px; font-family: var(--serif); font-size: clamp(4.1rem,6.2vw,6.5rem); font-weight: 500; line-height: .9; letter-spacing: -.06em; }
.service-hero-copy .lead { max-width: 650px; margin-bottom: 34px; }
.process-steps { display: grid; overflow: hidden; border: 1px solid var(--line); border-radius: 25px; background: var(--white); box-shadow: var(--shadow); }
.process-steps article { display: grid; grid-template-columns: 46px 1fr; gap: 17px; padding: 32px 34px; border-bottom: 1px solid var(--line); }
.process-steps article:last-child { border-bottom: 0; }
.process-steps article > span { color: var(--coral-dark); font-size: .66rem; font-weight: 700; letter-spacing: .1em; }
.process-steps h2 { margin-bottom: 9px; font-family: var(--serif); font-size: 1.72rem; font-weight: 500; }
.process-steps p { margin: 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.65; }
.fit-simple { display: grid; grid-template-columns: .8fr 1.2fr; gap: 85px; padding-top: 115px; padding-bottom: 120px; background: var(--white); }
.fit-simple-copy h2 { max-width: 470px; margin: 0; font-family: var(--serif); font-size: clamp(3rem,4.4vw,4.6rem); font-weight: 500; line-height: .97; letter-spacing: -.045em; }
.fit-simple-list { display: grid; align-content: start; border-top: 1px solid var(--line); }
.fit-simple-list p { display: grid; grid-template-columns: 48px 1fr; gap: 8px; margin: 0; padding: 26px 0; border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: 1.55rem; line-height: 1.27; }
.fit-simple-list span { color: var(--coral-dark); font-family: var(--sans); font-size: .65rem; font-weight: 700; letter-spacing: .1em; }
.fit-note { grid-column: 1/-1; display: grid; grid-template-columns: .8fr 1.2fr; gap: 85px; margin-top: 10px; padding: 42px 45px; border-radius: 20px; background: var(--mint-pale); }
.fit-note h3 { max-width: 410px; margin: 0; font-family: var(--serif); font-size: 2.15rem; font-weight: 500; line-height: 1.08; }
.fit-note > div:last-child > p { color: var(--ink-soft); line-height: 1.65; }
.fit-note .button { margin-top: 8px; }
.deliverable { display: grid; grid-template-columns: .9fr 1.1fr; gap: 75px; padding-top: 115px; padding-bottom: 105px; background: var(--ink); color: white; }
.deliverable-copy h2 { max-width: 550px; margin-bottom: 22px; font-family: var(--serif); font-size: clamp(3rem,4.3vw,4.5rem); font-weight: 500; line-height: .97; letter-spacing: -.045em; }
.deliverable-copy > p:not(.eyebrow) { max-width: 515px; color: #b4c9c1; line-height: 1.7; }
.deliverable-items { margin-top: 38px; border-top: 1px solid var(--line-light); }
.deliverable-items article { display: grid; grid-template-columns: 42px 1fr; gap: 8px; padding: 22px 0; border-bottom: 1px solid var(--line-light); }
.deliverable-items article > span { color: #eeb0a2; font-size: .63rem; letter-spacing: .1em; }
.deliverable-items h3 { margin-bottom: 6px; font-family: var(--serif); font-size: 1.45rem; font-weight: 500; }
.deliverable-items p { margin: 0; color: #a9c0b7; font-size: .78rem; line-height: 1.6; }
.interactive-map { align-self: center; overflow: hidden; border: 1px solid rgba(255,255,255,.22); border-radius: 24px; background: var(--paper); color: var(--ink); }
.map-demo-head { display: flex; justify-content: space-between; align-items: center; padding: 18px 22px; border-bottom: 1px solid var(--line); color: var(--ink-soft); font-size: .62rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.map-demo-head button { border: 0; background: transparent; color: var(--ink); font-size: .62rem; font-weight: 700; cursor: pointer; }
.map-demo-canvas { position: relative; min-height: 440px; overflow: hidden; }
.map-demo-canvas svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.map-demo-canvas path { fill: none; stroke: #9ab2a7; stroke-width: 2; stroke-dasharray: 5 6; opacity: .28; transition: opacity .3s,stroke .3s; }
.map-demo-canvas path.active { opacity: 1; stroke: var(--coral); }
.map-node { position: absolute; z-index: 2; display: grid; place-items: center; width: 106px; height: 64px; padding: 0; border: 1px solid #a8bdb4; border-radius: 50%; background: var(--white); color: var(--ink); font-size: .72rem; font-weight: 700; cursor: pointer; transition: background .2s,color .2s,transform .2s; }
.map-node:hover { transform: translateY(-2px); }.map-node.active { border-color: var(--ink); background: var(--ink); color: white; }
.map-node span { position: absolute; top: -5px; right: 2px; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--coral); color: white; font-size: .55rem; }
.node-history { top: 30px; left: calc(50% - 53px); }.node-meaning { top: 158px; left: calc(50% - 53px); }.node-emotion { top: 282px; left: 11%; }.node-protect { top: 282px; right: 11%; }.node-direction { top: 375px; left: calc(50% - 53px); }
.map-demo-explanation { min-height: 210px; padding: 27px 30px 30px; border-top: 1px solid var(--line); background: var(--white); }
.map-demo-explanation h3 { margin-bottom: 10px; font-family: var(--serif); font-size: 1.65rem; font-weight: 500; }
.map-demo-explanation > p:not(.mini-label) { color: var(--ink-soft); font-size: .8rem; line-height: 1.62; }
.map-next { padding: 7px 0; border: 0; border-bottom: 1px solid var(--ink); background: transparent; color: var(--ink); font-size: .71rem; font-weight: 700; cursor: pointer; }
.deliverable-close { grid-column: 1/-1; display: flex; justify-content: space-between; align-items: center; gap: 40px; margin-top: 25px; padding-top: 35px; border-top: 1px solid var(--line-light); }
.deliverable-close p { max-width: 650px; margin: 0; color: #b8ccc5; line-height: 1.65; }

/* Therapy */
.therapy-price { align-self: center; padding: 37px 40px; border: 1px solid var(--line); border-radius: 23px; background: var(--white); box-shadow: var(--shadow); }
.therapy-price > strong { display: block; margin: 16px 0 0; font-family: var(--serif); font-size: 5rem; font-weight: 500; line-height: 1; }
.therapy-price > span { color: var(--ink-soft); font-size: .78rem; }
.therapy-price div { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin: 27px 0 22px; }
.therapy-price div p { margin: 0; padding: 12px 5px; border-radius: 9px; background: var(--paper); font-size: .67rem; font-weight: 700; text-align: center; }
.therapy-price small { display: block; padding-top: 18px; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .65rem; line-height: 1.55; }
.work-on { padding-top: 115px; padding-bottom: 120px; background: var(--white); }
.work-on .section-heading {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  align-items: center;
  gap: 22px clamp(32px, 5vw, 72px);
}
.work-on .section-heading .eyebrow { font-size: .875rem; }
.work-on .section-heading h2 { font-size: clamp(2.4rem, 4vw, 3.6rem); line-height: 1.04; }
.work-intro { max-width: 31rem; padding: 8px 0 8px 28px; border-left: 2px solid #b7855e; }
.work-intro-lead { margin: 0 0 18px; color: var(--ink); font-family: var(--serif); font-size: clamp(1.6rem, 2.35vw, 2.1rem); line-height: 1.2; letter-spacing: -.02em; text-wrap: balance; }
.work-intro-next { margin: 0; color: var(--ink-soft); font-size: clamp(1.125rem, 1.5vw, 1.25rem); line-height: 1.55; }
@media (max-width: 760px) {
  .work-on .section-heading { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .work-on .section-heading .eyebrow { grid-column: 1; margin: 0; }
  .work-on .section-heading h2 { font-size: clamp(2rem, 8vw, 2.5rem); }
  .work-intro { max-width: none; padding: 4px 0 4px 20px; }
  .work-intro-lead { margin-bottom: 14px; font-size: clamp(1.5rem, 6.4vw, 1.8rem); }
  .work-intro-next { font-size: 1.125rem; }
}
.issue-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.issue-grid article { min-height: 250px; padding: 30px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.issue-grid article > span { color: var(--coral-dark); font-size: .63rem; letter-spacing: .1em; }
.issue-grid h3 { margin: 38px 0 12px; font-family: var(--serif); font-size: 1.65rem; font-weight: 500; }
.issue-grid p { margin: 0; color: var(--ink-soft); font-size: .79rem; line-height: 1.65; }
.method { display: grid; grid-template-columns: .9fr 1.1fr; gap: 85px; padding-top: 110px; padding-bottom: 110px; background: var(--ink); color: white; }
.method-copy h2 { margin-bottom: 24px; font-family: var(--serif); font-size: clamp(3rem,4.2vw,4.35rem); font-weight: 500; line-height: .98; letter-spacing: -.045em; }
.method-copy > p:not(.eyebrow) { color: #b5cac2; line-height: 1.7; }
.method-steps { border-top: 1px solid var(--line-light); }
.method-steps article { display: grid; grid-template-columns: 52px 1fr; gap: 10px; padding: 26px 0; border-bottom: 1px solid var(--line-light); }
.method-steps article > span { color: #e9aa9b; font-size: .65rem; }
.method-steps h3 { margin-bottom: 8px; font-family: var(--serif); font-size: 1.55rem; font-weight: 500; }
.method-steps p { margin: 0; color: #a9c0b7; font-size: .79rem; line-height: 1.62; }
.therapy-reviews { padding-top: 110px; padding-bottom: 110px; background: #e9e3d9; }
.therapy-reviews-head { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 65px; align-items: end; margin-bottom: 45px; }
.therapy-reviews-head h2 { max-width: 730px; margin: 0; font-family: var(--serif); font-size: clamp(2.85rem,4.2vw,4.35rem); font-weight: 500; line-height: 1; letter-spacing: -.045em; }
.reviews-source { display: grid; min-width: 220px; gap: 5px; padding: 21px 23px; border: 1px solid rgba(39,38,33,.18); border-radius: 8px; background: rgba(245,241,233,.76); color: var(--ink); text-decoration: none; transition: border-color .2s,transform .2s,background .2s; }
.reviews-source:hover { border-color: var(--ink); background: var(--white); transform: translateY(-2px); }
.reviews-source > span { color: #a86f4a; font-size: .8rem; letter-spacing: .14em; }
.reviews-source strong { font-family: var(--serif); font-size: 1.35rem; font-weight: 500; }
.reviews-source small { color: var(--ink-soft); font-size: .66rem; font-weight: 700; }
.therapy-review-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.therapy-review-card { display: flex; min-height: 250px; flex-direction: column; margin: 0; padding: 30px; border: 1px solid rgba(39,38,33,.15); border-radius: 8px; background: #f4efe7; }
.therapy-review-card .review-focus { margin: 0 0 38px; color: var(--coral-dark); font-size: .63rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.therapy-review-card .review-excerpt { margin: 0 0 34px; font-family: var(--serif); font-size: clamp(1.55rem,2.15vw,2rem); line-height: 1.18; letter-spacing: -.025em; }
.therapy-review-card footer { display: grid; gap: 7px; margin-top: auto; color: var(--ink-soft); font-size: .64rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.therapy-review-card footer span { color: #a86f4a; font-size: .68rem; letter-spacing: .12em; }
.reviews-note { max-width: 760px; margin: 28px 0 0; color: var(--ink-soft); font-size: .72rem; line-height: 1.6; }
.therapy-faq { display: grid; grid-template-columns: .62fr 1.38fr; gap: 80px; padding-top: 110px; padding-bottom: 120px; background: var(--white); }
.faq-heading h2 { margin: 0; font-family: var(--serif); font-size: 3.6rem; font-weight: 500; }
.accordion { border-top: 1px solid var(--line); }
.accordion details { border-bottom: 1px solid var(--line); }
.accordion summary { position: relative; padding: 23px 40px 23px 2px; font-weight: 700; list-style: none; cursor: pointer; }
.accordion summary::-webkit-details-marker { display: none; }
.accordion summary i::before, .accordion summary i::after { content: ""; position: absolute; right: 4px; top: 50%; width: 14px; height: 1px; background: var(--ink); transition: transform .2s; }
.accordion summary i::after { transform: rotate(90deg); }.accordion details[open] summary i::after { transform: rotate(0); }
.accordion details p { margin: -2px 44px 23px 2px; color: var(--ink-soft); font-size: .85rem; line-height: 1.65; }

/* Blog */
.blog-hero { padding-top: 165px; padding-bottom: 65px; background: var(--paper); }
.blog-hero > div:first-child { max-width: 850px; }
.blog-hero .lead { max-width: 660px; }
.topic-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 45px; padding-top: 22px; border-top: 1px solid var(--line); }
.topic-filter button { padding: 9px 14px; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--ink-soft); font-size: .69rem; font-weight: 700; cursor: pointer; }
.topic-filter button.active, .topic-filter button:hover { border-color: var(--ink); background: var(--ink); color: white; }
.articles { padding-top: 60px; padding-bottom: 120px; background: var(--white); }
.featured-article { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; margin-bottom: 70px; text-decoration: none; }
.featured-article h2 { margin-bottom: 18px; font-family: var(--serif); font-size: clamp(2.7rem,4vw,4.1rem); font-weight: 500; line-height: 1; letter-spacing: -.04em; }
.featured-article > div:last-child > p:not(.mini-label) { color: var(--ink-soft); line-height: 1.7; }
.article-link { color: var(--ink); font-size: .72rem; font-weight: 700; text-decoration: underline; text-underline-offset: 5px; }
.article-art { position: relative; min-height: 330px; display: grid; place-items: center; overflow: hidden; border-radius: 22px; background: var(--mint-pale); }
.article-art span { position: relative; z-index: 2; font-family: var(--serif); font-size: 5.4rem; }
.article-art i { position: absolute; border: 1px solid rgba(23,58,53,.18); border-radius: 50%; }
.art-therapy i:nth-of-type(1) { width: 280px; height: 280px; }.art-therapy i:nth-of-type(2) { width: 190px; height: 190px; }.art-therapy i:nth-of-type(3) { width: 100px; height: 100px; background: var(--paper); }
.article-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 30px; }
.article-card { display: block; padding: 0 0 30px; border-bottom: 1px solid var(--line); text-decoration: none; transition: transform .2s; }
a.article-card:hover { transform: translateY(-4px); }
.article-card .article-art { min-height: 250px; margin-bottom: 24px; }
.article-card h2 { margin-bottom: 12px; font-family: var(--serif); font-size: 2rem; font-weight: 500; line-height: 1.08; }
.article-card > p:not(.mini-label) { color: var(--ink-soft); font-size: .8rem; line-height: 1.65; }
.article-card small { color: var(--ink); font-size: .67rem; font-weight: 700; }
.art-australia { background: #ead6b9; }.art-australia i { width: 310px; height: 170px; border-radius: 50% 50% 12% 50%; transform: rotate(-12deg); }.art-cold { background: #d7e4e6; }.art-cold i { width: 220px; height: 220px; border-style: dashed; }.art-relationship { background: #eddad6; }.art-relationship i:first-of-type { left: 25%; width: 140px; height: 140px; }.art-relationship i:last-of-type { right: 25%; width: 140px; height: 140px; }.art-pattern { background: #dfe6d6; }.art-pattern i { width: 250px; height: 150px; border-radius: 50%; transform: rotate(25deg); }
.filter-empty { padding: 45px; border-radius: 16px; background: var(--paper); color: var(--ink-soft); text-align: center; }
.blog-resources { display: grid; grid-template-columns: 1.4fr .6fr; gap: 28px; padding-top: 110px; padding-bottom: 110px; background: var(--paper); }
.youtube-feature { display: grid; grid-template-columns: .82fr 1.18fr; overflow: hidden; border-radius: 24px; background: var(--ink); color: white; }
.video-scene.large { min-height: 430px; background: #214943; }
.youtube-feature > div:last-child { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 50px; }
.youtube-feature h2 { margin-bottom: 18px; font-family: var(--serif); font-size: 3rem; font-weight: 500; line-height: 1; }
.youtube-feature p:not(.eyebrow) { color: #b3c9c0; line-height: 1.65; }
.books-feature { display: flex; flex-direction: column; justify-content: space-between; padding: 40px; border-radius: 24px; background: var(--mint); text-decoration: none; }
.books-feature h2 { margin-bottom: 15px; font-family: var(--serif); font-size: 2.45rem; font-weight: 500; line-height: 1.02; }
.books-feature p:not(.mini-label) { color: var(--ink-soft); font-size: .8rem; line-height: 1.6; }
.books-feature > span { align-self: flex-end; display: grid; place-items: center; width: 55px; height: 55px; border-radius: 50%; background: var(--ink); color: white; font-size: 1.3rem; }

/* Contact */
.contact-shell { min-height: 870px; display: grid; grid-template-columns: .9fr 1.1fr; gap: 85px; align-items: center; padding-top: 140px; padding-bottom: 80px; background: var(--paper); }
.contact-intro h1 { max-width: 650px; }
.contact-intro .lead { max-width: 570px; }
.contact-direct { display: grid; gap: 8px; margin-top: 35px; }
.contact-direct span { color: var(--ink-soft); font-size: .72rem; }.contact-direct a { width: max-content; font-family: var(--serif); font-size: 1.7rem; font-weight: 600; text-underline-offset: 5px; }
.contact-trust { display: grid; gap: 9px; margin-top: 30px; }
.contact-trust p { margin: 0; color: var(--ink-soft); font-size: .75rem; font-weight: 600; }.contact-trust i { display: inline-grid; place-items: center; width: 19px; height: 19px; margin-right: 7px; border-radius: 50%; background: var(--mint-pale); color: var(--ink); font-style: normal; }
.contact-form { padding: 38px 40px; border: 1px solid var(--line); border-radius: 24px; background: var(--white); box-shadow: var(--shadow); }
.form-head { display: flex; justify-content: space-between; }.form-head span { color: var(--ink-soft); font-size: .62rem; }
.contact-form label { display: grid; gap: 7px; margin-bottom: 18px; color: var(--ink); font-size: .7rem; font-weight: 700; }
.contact-form input, .contact-form textarea, .contact-form select { width: 100%; padding: 14px 15px; border: 1px solid var(--line); border-radius: 10px; outline: none; background: var(--paper); color: var(--ink); font-size: .82rem; font-weight: 500; transition: border .2s,background .2s; }
.contact-form textarea { min-height: 130px; resize: vertical; }.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus { border-color: var(--coral); background: white; }
.contact-form .check-label { grid-template-columns: 18px 1fr; align-items: start; color: var(--ink-soft); font-weight: 500; line-height: 1.45; }
.check-label input { width: 16px; height: 16px; padding: 0; }
.form-submit { width: 100%; margin-top: 5px; }
.form-note { margin: 14px 0 0; color: var(--ink-soft); font-size: .61rem; line-height: 1.5; text-align: center; }
.contact-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.form-submit:disabled { opacity: .65; cursor: not-allowed; }
.contact-status { margin: 16px 0 0; font-size: .9rem; line-height: 1.5; color: var(--ink); }
.contact-status:empty { display: none; }
.contact-status[data-kind="error"] { color: #9a302b; }
.contact-status[data-kind="success"] { color: #23633e; }
.contact-email-fallback { display: block; margin-top: 14px; font-size: .875rem; line-height: 1.5; text-align: center; text-decoration: underline; text-underline-offset: 3px; }
.contact-options { padding-top: 105px; padding-bottom: 115px; background: var(--white); }
.contact-option-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.contact-option-grid a { min-height: 260px; padding: 30px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); text-decoration: none; transition: transform .2s,border .2s; }
.contact-option-grid a:hover { border-color: var(--ink); transform: translateY(-4px); }
.contact-option-grid a > span { color: var(--coral-dark); font-size: .62rem; }.contact-option-grid h3 { margin: 40px 0 12px; font-family: var(--serif); font-size: 1.8rem; font-weight: 500; }.contact-option-grid p { color: var(--ink-soft); font-size: .79rem; line-height: 1.6; }.contact-option-grid small { font-size: .68rem; font-weight: 700; }
.urgent-note { display: flex; gap: 17px; margin-top: 40px; padding: 19px 22px; border-radius: 13px; background: var(--mint-pale); font-size: .72rem; line-height: 1.5; }.urgent-note span { color: var(--ink-soft); }
.toast { position: fixed; z-index: 200; right: 24px; bottom: 24px; padding: 14px 17px; border-radius: 11px; background: var(--ink-dark); color: white; box-shadow: 0 15px 40px rgba(0,0,0,.2); font-size: .76rem; font-weight: 700; opacity: 0; pointer-events: none; transform: translateY(12px); transition: opacity .25s,transform .25s; }.toast.visible { opacity: 1; transform: none; }

/* Living abroad */
.abroad-page { background: var(--ink); color: white; }
.abroad-hero { min-height: 840px; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; padding-top: 145px; padding-bottom: 85px; }
.abroad-hero h1 { max-width: 760px; margin-bottom: 26px; font-family: var(--serif); font-size: clamp(3.8rem,5.6vw,5.9rem); font-weight: 500; line-height: .92; letter-spacing: -.055em; }
.abroad-hero .lead { max-width: 650px; margin-bottom: 33px; color: #b6cbc3; }
.world-visual { position: relative; min-height: 560px; display: grid; place-items: center; }
.world-visual svg { width: 88%; fill: rgba(255,255,255,.025); stroke: #79968b; stroke-width: 1.3; }.world-visual svg path + path { fill: none; stroke-dasharray: 6 8; }
.world-ring { position: absolute; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; }.wr-a { width: 510px; height: 510px; }.wr-b { width: 400px; height: 400px; border-style: dashed; }
.place { position: absolute; z-index: 2; padding: 10px 13px; border: 1px solid rgba(255,255,255,.2); border-radius: 10px; background: rgba(255,255,255,.07); color: white; font-size: .63rem; font-weight: 700; letter-spacing: .08em; }.p-a { left: 10%; top: 24%; }.p-b { right: 7%; top: 39%; }.p-c { left: 25%; bottom: 18%; color: #f2bcaf; }
.abroad-feelings { padding-top: 115px; padding-bottom: 120px; background: var(--white); color: var(--ink); }
.feeling-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.feeling-grid article { min-height: 225px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.feeling-grid span { color: var(--coral-dark); font-size: .62rem; }.feeling-grid h3 { margin: 34px 0 11px; font-family: var(--serif); font-size: 1.6rem; font-weight: 500; }.feeling-grid p { margin: 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.62; }
.lived-experience { display: grid; grid-template-columns: .82fr 1.18fr; gap: 90px; align-items: center; padding-top: 115px; padding-bottom: 115px; background: var(--paper); color: var(--ink); }
.experience-card { position: relative; min-height: 500px; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 42px; border-radius: 22px 220px 22px 22px; background: var(--mint); }.experience-year { font-family: var(--serif); font-size: 3.4rem; line-height: .8; }.experience-route { position: absolute; inset: 30px; border: 1px solid rgba(23,58,53,.15); border-radius: 50%; }.experience-route i { position: absolute; width: 15px; height: 15px; border-radius: 50%; background: var(--coral); }.experience-route i:nth-child(1) { top: 15%; left: 50%; }.experience-route i:nth-child(2) { top: 46%; right: 5%; }.experience-route i:nth-child(3) { bottom: 7%; left: 40%; }.experience-route i:nth-child(4) { top: 42%; left: 4%; }.experience-card p { position: relative; z-index: 2; margin: 0; font-size: .69rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.experience-copy h2 { margin-bottom: 24px; font-family: var(--serif); font-size: clamp(3rem,4.2vw,4.35rem); font-weight: 500; line-height: .98; letter-spacing: -.045em; }.experience-copy > p:not(.eyebrow) { color: var(--ink-soft); line-height: 1.7; }
.abroad-resource { display: grid; grid-template-columns: .72fr 1.28fr; gap: 80px; align-items: center; padding-top: 105px; padding-bottom: 105px; background: #e7ded1; color: var(--ink); }
.abroad-resource-intro h2 { max-width: 490px; margin-bottom: 23px; font-family: var(--serif); font-size: clamp(2.8rem,3.8vw,4rem); font-weight: 500; line-height: .99; letter-spacing: -.043em; }
.abroad-resource-intro > p:last-child { max-width: 470px; margin: 0; color: var(--ink-soft); line-height: 1.7; }
.abroad-resource-card { display: grid; grid-template-columns: .82fr 1.18fr; min-height: 390px; overflow: hidden; border: 1px solid rgba(39,38,33,.14); border-radius: 8px; background: #f8f3eb; box-shadow: 0 24px 60px rgba(39,38,33,.1); }
.abroad-resource-card figure { min-height: 390px; margin: 0; overflow: hidden; }
.abroad-resource-card img { width: 100%; height: 100%; object-fit: cover; object-position: 48% center; transition: transform .5s ease; }
.abroad-resource-card:hover img { transform: scale(1.025); }
.abroad-resource-card > div { align-self: center; padding: 42px 40px; }
.abroad-resource-meta { display: flex; gap: 8px; margin: 0 0 25px; color: #8a5b3f; font-size: .61rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.abroad-resource-card h3 { margin: 0 0 19px; font-family: var(--serif); font-size: clamp(1.8rem,2.35vw,2.45rem); font-weight: 500; line-height: 1.05; letter-spacing: -.025em; }
.abroad-resource-card h3 a { text-decoration: none; }
.abroad-resource-card h3 a span { display: inline-block; margin-left: 5px; color: #a86f4a; font-family: var(--sans); font-size: .72em; transition: transform .2s; }
.abroad-resource-card h3 a:hover span { transform: translateX(4px); }
.abroad-resource-card > div > p:last-child { margin: 0; color: var(--ink-soft); font-size: .84rem; line-height: 1.68; }
.abroad-help { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; padding-top: 110px; padding-bottom: 110px; background: #214943; }.abroad-help h2 { margin-bottom: 23px; font-family: var(--serif); font-size: clamp(3rem,4.25vw,4.4rem); font-weight: 500; line-height: .98; letter-spacing: -.045em; }.abroad-help > div:first-child > p:not(.eyebrow) { color: #b3c8c0; line-height: 1.7; }.abroad-help-list { border-top: 1px solid var(--line-light); }.abroad-help-list p { display: grid; grid-template-columns: 42px 1fr; gap: 10px; margin: 0; padding: 21px 0; border-bottom: 1px solid var(--line-light); color: #d5e2dd; line-height: 1.55; }.abroad-help-list p span { color: #eab0a2; font-size: .62rem; }.abroad-help-list .button { margin-top: 28px; }

.reveal { opacity: 0; transform: translateY(20px); transition: opacity .7s ease,transform .7s ease; }.reveal.visible { opacity: 1; transform: none; }

@media (max-width: 1020px) {
  .site-header { grid-template-columns: 1fr auto; }.desktop-nav,.header-cta { display: none; }
  .menu-toggle { justify-self: end; display: grid; align-content: center; gap: 5px; width: 42px; height: 42px; padding: 0 11px; border: 0; border-radius: 12px; background: var(--ink); cursor: pointer; }.menu-toggle span:not(.sr-only) { display: block; width: 20px; height: 1.5px; background: white; transition: transform .2s; }.menu-toggle[aria-expanded="true"] span:nth-of-type(1) { transform: translateY(3.3px) rotate(45deg); }.menu-toggle[aria-expanded="true"] span:nth-of-type(2) { transform: translateY(-3.3px) rotate(-45deg); }
  .mobile-nav { position: absolute; top: 76px; left: 0; right: 0; display: grid; gap: 4px; padding: 13px; border: 1px solid var(--line); border-radius: 16px; background: var(--white); box-shadow: var(--shadow); }.mobile-nav[hidden] { display: none; }.mobile-nav a { padding: 13px 12px; border-radius: 10px; color: var(--ink-soft); font-weight: 600; text-decoration: none; }.mobile-nav a:hover,.mobile-nav a.active { background: var(--paper); color: var(--ink); }
  .home-hero,.comprenderme-hero,.inner-hero,.abroad-hero { grid-template-columns: 1fr; gap: 60px; min-height: 0; padding-top: 155px; }
  .home-hero::before { top: 48%; width: 100%; height: 700px; }.home-portrait { min-height: 580px; }
  .path-section,.featured-service,.about-home,.fit-simple,.deliverable,.method,.therapy-faq,.contact-shell,.lived-experience,.abroad-help { grid-template-columns: 1fr; gap: 55px; }
  .path-selector { max-width: 760px; }.featured-service { padding-top: 100px; padding-bottom: 100px; }.featured-map-preview { min-height: 560px; }
  .therapy-preview { grid-template-columns: 1fr; }.therapy-card { padding-right: 0; }.therapy-facts article { min-height: 175px; }
  .about-visual { min-height: 500px; max-width: 580px; width: 100%; margin: auto; }
  .abroad-home { grid-template-columns: 1fr; }.abroad-stamps { min-height: 380px; max-width: 620px; width: 100%; margin: auto; }
  .section-heading { grid-template-columns: 1fr; gap: 20px; }.section-heading .eyebrow { grid-column: auto; }.content-grid { grid-template-columns: 1fr; }.site-footer { grid-template-columns: 1.4fr repeat(3,1fr); gap: 35px; }
  .fit-note { grid-column: auto; grid-template-columns: 1fr; gap: 22px; }.interactive-map { width: min(100%,700px); margin: auto; }
  .issue-grid,.feeling-grid { grid-template-columns: repeat(2,1fr); }.featured-article { gap: 45px; }.blog-resources { grid-template-columns: 1fr; }.books-feature { min-height: 350px; }
  .contact-form { max-width: 700px; width: 100%; }.contact-option-grid { grid-template-columns: repeat(3,1fr); }.world-visual { min-height: 530px; max-width: 650px; width: 100%; margin: auto; }.experience-card { max-width: 600px; width: 100%; margin: auto; }
}

@media (max-width: 700px) {
  .page-pad { padding-left: 20px; padding-right: 20px; }.site-header { top: 10px; width: calc(100% - 20px); height: 60px; padding-left: 16px; border-radius: 16px; }.brand-text strong { font-size: .82rem; }
  .eyebrow { margin-bottom: 18px; font-size: .61rem; }.lead { font-size: .98rem; line-height: 1.63; }.hero-actions { align-items: stretch; flex-direction: column; gap: 12px; }.text-link { justify-content: center; }
  .home-hero,.comprenderme-hero,.inner-hero,.abroad-hero { padding-top: 125px; padding-bottom: 70px; }.home-hero-copy h1,.service-hero-copy h1,.inner-hero-copy h1,.blog-hero h1,.contact-intro h1,.abroad-hero h1 { font-size: clamp(3.1rem,15vw,4.2rem); }.credential-row { gap: 8px; margin-top: 35px; font-size: .58rem; }
  .home-portrait { min-height: 460px; }.portrait-frame { width: 78%; height: 400px; }.orbit-a { width: 420px; height: 420px; }.orbit-b { width: 330px; height: 330px; }.floating-note { font-size: .57rem; }.note-a { top: 48px; }.note-b { bottom: 50px; }.photo-note { display: none; }
  .path-section,.featured-service,.testimonials,.about-home,.content-home,.work-on,.fit-simple,.deliverable,.method,.therapy-reviews,.therapy-faq,.contact-options,.lived-experience,.abroad-help,.abroad-feelings,.blog-resources { padding-top: 82px; padding-bottom: 85px; }
  .path-intro h2,.featured-copy h2,.therapy-card h2,.about-copy h2,.abroad-copy h2,.section-heading h2,.fit-simple-copy h2,.deliverable-copy h2,.method-copy h2,.experience-copy h2,.abroad-help h2 { font-size: 2.65rem; }
  .path-selector { grid-template-columns: 1fr; min-height: 0; }.path-options { border-right: 0; border-bottom: 1px solid var(--line-light); }.path-options button { min-height: 84px; }.path-result { min-height: 430px; padding: 35px 24px; }.path-result h3 { font-size: 2.15rem; }
  .map-preview { min-height: 440px; }.map-preview::before { width: 430px; height: 430px; }.map-preview::after { width: 330px; height: 330px; }.map-sheet { padding: 22px 20px 18px; }.map-word { font-size: .53rem; }
  .therapy-card { padding-top: 0; padding-bottom: 30px; }.therapy-facts article { grid-template-columns: 37px 1fr; padding: 31px 22px; }
  .quote-grid { grid-template-columns: 1fr; }.quote-grid blockquote { padding: 28px 25px; }.quote-grid blockquote p { font-size: 1.5rem; }
  .about-home { gap: 50px; }.about-visual { min-height: 410px; padding: 26px; }.about-number { top: 58px; font-size: 4.6rem; }
  .abroad-home { padding-top: 80px; padding-bottom: 80px; }.abroad-stamps { min-height: 310px; }.abroad-stamps::before { width: 310px; height: 310px; }.abroad-stamps::after { width: 220px; height: 220px; }.abroad-stamps span { width: 120px; height: 120px; font-size: .55rem; }.abroad-stamps span:nth-child(1) { left: 4%; }.abroad-stamps span:nth-child(2) { right: 4%; }
  .section-heading { margin-bottom: 40px; }.video-scene { min-height: 260px; }.youtube-card > div:last-child { padding: 25px; }.article-stack a { grid-template-columns: 1fr; }.center-button { width: 100%; }
  .closing-cta { align-items: stretch; flex-direction: column; padding-top: 55px; padding-bottom: 55px; }.closing-cta h2 { font-size: 2.4rem; }
  .site-footer { grid-template-columns: 1fr 1fr; gap: 40px 25px; padding-top: 50px; }.footer-brand { grid-column: 1/-1; }.site-footer nav:last-of-type { grid-column: 1/-1; }.footer-note { grid-column: 1/-1; }
  .process-steps article { padding: 27px 22px; }.fit-simple-list p { grid-template-columns: 37px 1fr; padding: 22px 0; font-size: 1.28rem; }.fit-note { padding: 27px 23px; }.fit-note h3 { font-size: 1.8rem; }
  .deliverable { gap: 52px; }.interactive-map { margin-left: -5px; margin-right: -5px; width: auto; }.map-demo-canvas { min-height: 420px; }.map-node { width: 90px; height: 58px; font-size: .63rem; }.node-history { left: calc(50% - 45px); }.node-meaning { left: calc(50% - 45px); }.node-emotion { left: 4%; }.node-protect { right: 4%; }.node-direction { left: calc(50% - 45px); }.map-demo-explanation { min-height: 230px; padding: 25px 22px; }.deliverable-close { align-items: stretch; flex-direction: column; }
  .therapy-price { padding: 30px 25px; }.therapy-price > strong { font-size: 4.2rem; }.issue-grid,.feeling-grid { grid-template-columns: 1fr; }.issue-grid article,.feeling-grid article { min-height: 210px; }.therapy-faq { gap: 38px; }.faq-heading h2 { font-size: 2.8rem; }
  .therapy-reviews-head { grid-template-columns: 1fr; gap: 28px; }.reviews-source { min-width: 0; width: 100%; }.therapy-review-grid { grid-template-columns: 1fr; }.therapy-review-card { min-height: 225px; padding: 27px 24px; }
  .blog-hero { padding-top: 130px; }.topic-filter { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 6px; }.topic-filter button { flex: 0 0 auto; }.articles { padding-top: 45px; padding-bottom: 85px; }.featured-article { grid-template-columns: 1fr; gap: 32px; }.featured-article h2 { font-size: 2.6rem; }.article-grid { grid-template-columns: 1fr; }.youtube-feature { grid-template-columns: 1fr; }.video-scene.large { min-height: 280px; }.youtube-feature > div:last-child { padding: 32px 25px; }.youtube-feature h2 { font-size: 2.5rem; }.books-feature { min-height: 310px; padding: 30px 25px; }
  .contact-shell { padding-top: 125px; padding-bottom: 80px; }.contact-direct a { font-size: 1.3rem; }.contact-form { padding: 28px 20px; }.form-head { align-items: flex-start; gap: 15px; }.contact-option-grid { grid-template-columns: 1fr; }.contact-option-grid a { min-height: 220px; }.urgent-note { align-items: flex-start; flex-direction: column; }
  .world-visual { min-height: 410px; }.world-visual .wr-a { width: 390px; height: 390px; }.world-visual .wr-b { width: 300px; height: 300px; }.place { font-size: .55rem; }.experience-card { min-height: 410px; padding: 28px; }.experience-year { font-size: 2.7rem; }.abroad-help-list p { grid-template-columns: 35px 1fr; }
  .toast { left: 20px; right: 20px; bottom: 18px; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; } *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }.reveal { opacity: 1; transform: none; }
}

/* Editorial graphite redesign */
:root {
  --paper: #e9e3d9;
  --paper-deep: #d8d0c3;
  --white: #f5f1e9;
  --ink: #272621;
  --ink-dark: #191917;
  --ink-soft: #6c6961;
  --mint: #c7baa2;
  --mint-pale: #ded6c9;
  --coral: #a86f4a;
  --coral-dark: #895638;
  --line: rgba(39,38,33,.17);
  --line-light: rgba(245,241,233,.19);
  --shadow: 0 28px 80px rgba(25,25,23,.17);
  --ivory: #f5f1e9;
  --stone: #bdb4a5;
}

body { background: var(--paper); color: var(--ink); }
::selection { background: #b98967; color: white; }
:focus-visible { outline-color: #c48a62; }

.site-header {
  height: 66px;
  border-color: rgba(245,241,233,.16);
  border-radius: 10px;
  background: rgba(29,29,27,.78);
  color: var(--ivory);
  box-shadow: 0 15px 50px rgba(0,0,0,.16);
  backdrop-filter: blur(18px) saturate(.8);
}
.site-header.scrolled { background: rgba(29,29,27,.95); box-shadow: 0 15px 48px rgba(0,0,0,.24); }
.site-header .brand-text small, .site-header .desktop-nav a { color: #bbb3a7; }
.site-header .desktop-nav a:hover, .site-header .desktop-nav a.active { color: var(--ivory); }
.site-header .desktop-nav a::after { background: #c28b65; }
.header-cta { border-radius: 6px; background: #a86f4a; color: white; }
.header-cta:hover { background: #8f5939; }
.button { border-radius: 6px; }
.button-primary { background: var(--ink-dark); box-shadow: 0 13px 34px rgba(25,25,23,.21); }
.button-primary:hover { background: #37352f; }
.button-coral { background: var(--coral); box-shadow: 0 13px 32px rgba(137,86,56,.2); }
.button-coral:hover { background: var(--coral-dark); }
.button-outline { border-color: rgba(39,38,33,.26); }
.eyebrow, .mini-label { color: var(--coral-dark); }
.eyebrow-light { color: #d3a17f; }

/* Home cover: portrait becomes part of the atmosphere */
.home-hero {
  isolation: isolate;
  min-height: 900px;
  grid-template-columns: 1.03fr .97fr;
  gap: 45px;
  padding-top: 142px;
  padding-bottom: 0;
  background: #24231f;
  color: var(--ivory);
}
.home-hero::before {
  inset: 0;
  z-index: -2;
  width: auto;
  height: auto;
  border-radius: 0;
  background:
    radial-gradient(circle at 75% 27%, rgba(174,121,80,.24), transparent 32%),
    radial-gradient(circle at 14% 84%, rgba(255,255,255,.05), transparent 28%),
    linear-gradient(118deg,#1e1e1b 0%,#2a2925 55%,#38322b 100%);
  transform: none;
}
.home-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(90deg,rgba(24,24,22,.2),transparent 52%),
    linear-gradient(0deg,rgba(16,16,15,.52),transparent 32%),
    repeating-linear-gradient(110deg,rgba(255,255,255,.012) 0 1px,transparent 1px 6px);
}
.home-hero-copy { position: relative; z-index: 4; padding-bottom: 95px; }
.home-hero-copy h1 { max-width: 720px; color: var(--ivory); font-size: clamp(4rem,5.45vw,6rem); }
.home-hero-copy .lead { color: #c9c1b5; font-size: 1.12rem; }
.home-hero .eyebrow { color: #d3a17f; }
.home-hero .button-primary { background: #ad7650; }
.home-hero .button-primary:hover { background: #94603f; }
.home-hero .text-link { color: var(--ivory); }
.home-hero .credential-row { color: #b9b0a3; }
.home-portrait { align-self: stretch; min-height: 758px; overflow: visible; place-items: end center; }
.portrait-aura {
  position: absolute;
  right: -5%;
  bottom: 11%;
  width: 620px;
  height: 620px;
  border: 1px solid rgba(242,227,207,.15);
  border-radius: 50%;
  background: radial-gradient(circle,rgba(194,139,101,.16),transparent 62%);
}
.portrait-aura::before, .portrait-aura::after { content: ""; position: absolute; border: 1px solid rgba(242,227,207,.1); border-radius: 50%; }
.portrait-aura::before { inset: 62px; border-style: dashed; }
.portrait-aura::after { inset: 126px; }
.portrait-image {
  position: absolute;
  z-index: 2;
  right: -2%;
  bottom: -3px;
  width: auto;
  height: min(720px,73vw);
  max-width: none;
  object-fit: contain;
  filter: drop-shadow(-24px 24px 36px rgba(0,0,0,.3));
}
.home-portrait .portrait-label {
  z-index: 4;
  left: 12px;
  right: auto;
  bottom: 44px;
  min-width: 250px;
  border-color: rgba(245,241,233,.18);
  border-radius: 6px;
  background: rgba(30,30,28,.68);
  color: var(--ivory);
}
.home-portrait .portrait-label small { color: #bdb4a7; }
.home-portrait .floating-note {
  border-color: rgba(245,241,233,.16);
  border-radius: 5px;
  background: rgba(29,29,27,.62);
  color: #ddd5ca;
  box-shadow: none;
}
.home-portrait .note-a { top: 105px; left: 5%; }
.home-portrait .note-b { right: -2%; bottom: 135px; }

/* Light and dark editorial rhythm */
.path-section { background: #22221f; }
.path-intro > p:last-child { color: #bcb4a8; }
.path-selector { border-radius: 10px; background: rgba(255,255,255,.025); }
.path-options button { color: #bcb4a8; }
.path-options button span { color: #857e73; }
.path-options button[aria-selected="true"] { background: rgba(245,241,233,.1); color: var(--ivory); }
.path-result { background: #ded6c9; }
.path-result li::before { background: #c9bda9; }
.featured-service, .about-home, .therapy-faq { background: #f3eee6; }
.featured-service { border-bottom: 1px solid var(--line); }
.featured-map-preview::before, .featured-map-preview::after { border-color: rgba(39,38,33,.14); }
.map-sheet { border: 1px solid rgba(39,38,33,.12); background: #e6ded2; border-radius: 5px 28px 5px 5px; }
.map-sheet svg path { stroke: #97836f; }
.map-sheet svg circle { fill: #efe9df; stroke: #a58b73; }
.map-sheet svg .core { fill: #2b2925; }
.feature-pills span, .about-credentials span { background: #e4ddd2; }
.therapy-preview {
  isolation: isolate;
  position: relative;
  overflow: hidden;
  background: url('/assets/hero-terapia.webp') center/cover no-repeat;
}
.therapy-preview::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(27,27,25,.92) 0%,rgba(27,27,25,.74) 45%,rgba(27,27,25,.34) 100%); }
.therapy-card > p:not(.eyebrow) { color: #c8c0b4; }
.therapy-facts { background: rgba(25,25,23,.78); backdrop-filter: blur(9px); }
.therapy-facts article { border-color: rgba(245,241,233,.15); }
.therapy-facts article > span { color: #c39a7d; }
.therapy-facts p { color: #c3bbb0; font-size: .94rem; }
.testimonials, .content-home { background: #e9e3d9; }
.quote-grid blockquote, .youtube-card { border-radius: 8px; background: #f4efe7; box-shadow: none; }
.quote-grid blockquote { border-color: rgba(39,38,33,.15); }
.about-visual {
  border-radius: 220px 220px 8px 8px;
  background:
    radial-gradient(circle at 50% 35%,rgba(190,142,104,.2),transparent 36%),
    linear-gradient(145deg,#33312c,#1f1f1c);
  color: var(--ivory);
}
.about-lines, .about-lines::before, .about-lines::after { border-color: rgba(245,241,233,.14); }
.about-visual p { border-radius: 5px; background: rgba(245,241,233,.9); }
.abroad-home {
  isolation: isolate;
  background: url('/assets/hero-vivir-fuera.webp') center/cover no-repeat;
}
.abroad-home::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(25,25,23,.93) 0%,rgba(25,25,23,.72) 48%,rgba(25,25,23,.25) 100%); }
.abroad-copy > p:not(.eyebrow) { color: #c8c0b4; }
.abroad-stamps span { border-color: rgba(245,241,233,.33); background: rgba(28,28,26,.52); backdrop-filter: blur(8px); }
.video-scene { background: linear-gradient(rgba(26,26,24,.36),rgba(26,26,24,.7)),url('/assets/hero-blog.webp') center/cover no-repeat; }
.video-scene::before, .video-scene::after { border-color: rgba(245,241,233,.22); }
.play { background: #a86f4a; }
.article-stack a { border-radius: 7px; background: rgba(245,241,233,.68); }
.article-stack .books-row { background: #ddd3c3; }
.closing-cta { background: #c9bba4; }
.site-footer { background: #181816; }
.footer-brand p, .site-footer .brand-text small, .site-footer nav a, .site-footer nav span { color: #aaa195; }
.footer-note { color: #8e867b; }

/* Full-bleed photographic covers with a controlled veil */
.comprenderme-hero, .inner-hero, .blog-hero, .contact-shell, .abroad-hero {
  isolation: isolate;
  position: relative;
  overflow: hidden;
  color: var(--ivory);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.comprenderme-hero::before, .inner-hero::before, .blog-hero::before, .contact-shell::before, .abroad-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 53% 23%,rgba(235,220,198,.1),transparent 28%),
    linear-gradient(90deg,rgba(23,23,21,.94) 0%,rgba(23,23,21,.82) 40%,rgba(23,23,21,.43) 72%,rgba(23,23,21,.22) 100%),
    linear-gradient(0deg,rgba(16,16,15,.48),transparent 55%);
}
.comprenderme-hero { min-height: 880px; background-image: url('/assets/hero-comprenderme.webp'); background-position: center; }
.inner-hero { min-height: 790px; background-image: url('/assets/hero-terapia.webp'); background-position: center; }
.blog-hero { min-height: 740px; display: flex; flex-direction: column; justify-content: flex-end; padding-top: 160px; padding-bottom: 45px; background-image: url('/assets/hero-blog.webp'); background-position: center; }
.contact-shell { min-height: 910px; background-image: url('/assets/hero-contacto.webp'); background-position: center; }
.abroad-hero { min-height: 850px; grid-template-columns: 1.08fr .92fr; background-image: url('/assets/hero-vivir-fuera.webp'); background-position: center; }
.comprenderme-hero .eyebrow, .inner-hero .eyebrow, .blog-hero .eyebrow, .contact-shell .eyebrow { color: #d2a17f; }
.comprenderme-hero .lead, .inner-hero .lead, .blog-hero .lead, .contact-shell .lead, .abroad-hero .lead { color: #d0c8bd; }
.comprenderme-hero .credential-row { color: #c1b8ab; }
.comprenderme-hero .button-primary, .inner-hero .button-primary { background: #a86f4a; }
.comprenderme-hero .button-primary:hover, .inner-hero .button-primary:hover { background: #8f5939; }
.process-steps {
  border-color: rgba(245,241,233,.2);
  border-radius: 9px;
  background: rgba(30,29,27,.7);
  color: var(--ivory);
  box-shadow: 0 25px 80px rgba(0,0,0,.25);
  backdrop-filter: blur(12px) saturate(.8);
}
.process-steps article { border-color: rgba(245,241,233,.16); }
.process-steps article > span { color: #d2a17f; }
.process-steps p { color: #c6beb2; font-size: .94rem; }
.therapy-price { border-color: rgba(245,241,233,.42); border-radius: 8px; background: rgba(245,241,233,.92); color: var(--ink); box-shadow: 0 28px 80px rgba(0,0,0,.25); backdrop-filter: blur(10px); }
.therapy-price div p { background: #ddd4c7; color: #5f5b54; }
.blog-hero > div:first-child { position: relative; z-index: 1; }
.topic-filter { position: relative; z-index: 1; margin-top: 65px; border-color: rgba(245,241,233,.23); }
.topic-filter button { border-color: rgba(245,241,233,.3); background: rgba(25,25,23,.24); color: #d8d0c5; backdrop-filter: blur(7px); }
.topic-filter button.active, .topic-filter button:hover { border-color: #c69674; background: #a86f4a; color: white; }
.contact-intro { position: relative; z-index: 1; }
.contact-direct span, .contact-trust p { color: #c6beb2; }
.contact-direct a { color: var(--ivory); }
.contact-trust i { background: rgba(245,241,233,.15); color: #e4c1a7; }
.contact-form { position: relative; z-index: 1; border-color: rgba(245,241,233,.35); border-radius: 9px; background: rgba(245,241,233,.94); color: var(--ink); box-shadow: 0 30px 90px rgba(0,0,0,.28); backdrop-filter: blur(12px); }
.contact-form label { font-size: .82rem; }
.contact-form input, .contact-form textarea, .contact-form select { border-radius: 5px; background: #e7dfd4; font-size: .94rem; }
.hero-place-note { align-self: end; justify-self: end; display: flex; align-items: center; gap: 14px; margin-bottom: 26px; padding: 13px 16px; border: 1px solid rgba(245,241,233,.22); border-radius: 5px; background: rgba(25,25,23,.52); color: #ddd4c8; backdrop-filter: blur(9px); font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.hero-place-note i { width: 4px; height: 4px; border-radius: 50%; background: #c28b65; }

/* Inner content */
.fit-simple, .work-on, .articles, .contact-options, .abroad-feelings { background: #f3eee6; }
.fit-note { border: 1px solid rgba(39,38,33,.12); border-radius: 8px; background: #ddd3c4; }
.deliverable, .method, .abroad-help { background: #24231f; }
.deliverable-copy > p:not(.eyebrow), .method-copy > p:not(.eyebrow), .abroad-help > div:first-child > p:not(.eyebrow) { color: #c3bbb0; }
.deliverable-items p, .method-steps p { color: #bbb2a6; font-size: .94rem; }
.interactive-map { border-radius: 9px; background: #e6ded2; }
.map-demo-canvas path { stroke: #9e8773; }
.map-demo-canvas path.active { stroke: #a86f4a; }
.map-node { border-color: #a9917c; border-radius: 50%; background: #f1ece4; }
.map-node.active { background: #2b2925; }
.map-demo-explanation { background: #f3eee6; }
.issue-grid article, .feeling-grid article { background: rgba(255,255,255,.16); }
.issue-grid p, .feeling-grid p { font-size: .94rem; }
.therapy-faq details p { font-size: .95rem; }
.article-art { border-radius: 8px; background: linear-gradient(145deg,#d0c3b2,#a99078); }
.art-australia { background: linear-gradient(145deg,#c9b495,#806f5e); }
.art-cold { background: linear-gradient(145deg,#d8d3ca,#9e9b92); }
.art-relationship { background: linear-gradient(145deg,#cfb6a7,#907064); }
.art-pattern { background: linear-gradient(145deg,#c8c1b0,#777569); }
.article-card > p:not(.mini-label), .featured-article > div:last-child > p:not(.mini-label) { font-size: .96rem; }
.youtube-feature { border-radius: 8px; background: #24231f; }
.youtube-feature p:not(.eyebrow) { color: #c2baae; }
.books-feature { border-radius: 8px; background: #c9bba4; }
.contact-option-grid a { border-radius: 7px; background: #e6ded2; }
.urgent-note { border-radius: 6px; background: #ddd3c4; font-size: .86rem; }
.abroad-page { background: #24231f; }
.lived-experience { background: #e9e3d9; }
.experience-card { border-radius: 8px 190px 8px 8px; background: #c8b89f; }
.experience-route { border-color: rgba(39,38,33,.16); }
.experience-route i { background: #a86f4a; }
.abroad-help-list p { color: #d0c8bc; }

@media (max-width: 1020px) {
  .site-header { grid-template-columns: 1fr auto; }
  .menu-toggle { border-radius: 6px; background: #a86f4a; }
  .mobile-nav { border-color: rgba(245,241,233,.16); border-radius: 7px; background: rgba(29,29,27,.98); }
  .mobile-nav a { color: #bdb4a7; }
  .mobile-nav a:hover, .mobile-nav a.active { background: rgba(245,241,233,.09); color: var(--ivory); }
  .home-hero { grid-template-columns: 1fr .86fr; gap: 20px; min-height: 830px; padding-top: 135px; padding-bottom: 0; }
  .home-hero-copy { padding-bottom: 80px; }
  .home-portrait { min-height: 690px; }
  .portrait-image { right: -18%; height: 650px; }
  .portrait-aura { right: -34%; width: 570px; height: 570px; }
  .home-portrait .note-a { left: -8%; }
  .home-portrait .note-b { right: -8%; }
  .comprenderme-hero, .inner-hero, .abroad-hero { min-height: 0; grid-template-columns: 1fr; padding-top: 165px; padding-bottom: 90px; }
  .process-steps, .therapy-price { width: min(100%,680px); }
  .hero-place-note { justify-self: start; margin-top: 30px; }
  .contact-shell { min-height: 0; padding-top: 160px; padding-bottom: 95px; }
  .contact-form { max-width: 720px; }
}

@media (max-width: 760px) {
  .home-hero { display: block; min-height: 0; padding-top: 126px; padding-bottom: 405px; }
  .home-hero::before { background: radial-gradient(circle at 82% 78%,rgba(174,121,80,.23),transparent 28%),linear-gradient(155deg,#20201d 0%,#2c2a26 66%,#383129 100%); }
  .home-hero::after { background: linear-gradient(180deg,rgba(24,24,22,.08) 0%,rgba(24,24,22,.1) 48%,rgba(17,17,16,.52) 78%,rgba(17,17,16,.78) 100%); }
  .home-hero-copy { max-width: none; padding: 0; }
  .home-hero-copy h1 { font-size: clamp(3.15rem,14.5vw,4.2rem); }
  .home-hero-copy .lead { font-size: 1rem; }
  .home-hero .hero-actions { align-items: stretch; }
  .home-hero .credential-row { max-width: 330px; margin-top: 32px; }
  .home-portrait { position: absolute; inset: auto 0 0; min-height: 385px; }
  .portrait-image { right: -18%; bottom: 0; height: 430px; }
  .portrait-aura { right: -37%; bottom: -8%; width: 420px; height: 420px; }
  .home-portrait .portrait-label { left: 20px; bottom: 25px; min-width: 220px; }
  .home-portrait .floating-note { display: none; }
  .comprenderme-hero, .inner-hero, .blog-hero, .contact-shell, .abroad-hero { background-position: 62% center; }
  .comprenderme-hero::before, .inner-hero::before, .blog-hero::before, .contact-shell::before, .abroad-hero::before { background: linear-gradient(90deg,rgba(22,22,20,.94),rgba(22,22,20,.73)),linear-gradient(0deg,rgba(16,16,15,.42),transparent 55%); }
  .comprenderme-hero, .inner-hero, .abroad-hero { padding-top: 130px; padding-bottom: 75px; }
  .service-hero-copy h1, .inner-hero-copy h1, .blog-hero h1, .contact-intro h1, .abroad-hero h1 { font-size: clamp(3rem,14vw,4rem); }
  .process-steps { margin-top: 8px; }
  .process-steps article { padding: 25px 21px; }
  .process-steps p { font-size: .92rem; }
  .blog-hero { min-height: 690px; padding-top: 128px; padding-bottom: 34px; }
  .topic-filter { margin-top: 45px; }
  .contact-shell { padding-top: 125px; padding-bottom: 75px; background-position: 69% center; }
  .contact-form { background: rgba(245,241,233,.97); }
  .hero-place-note { align-items: flex-start; flex-direction: column; gap: 7px; }
  .hero-place-note i { display: none; }
  .path-result { background: #ded6c9; }
  .therapy-preview::before, .abroad-home::before { background: linear-gradient(90deg,rgba(26,26,24,.93),rgba(26,26,24,.55)); }
  .therapy-facts { background: rgba(25,25,23,.9); }
}

@media (prefers-reduced-motion: reduce) {
  .portrait-aura::before, .portrait-aura::after { animation: none !important; }
}

html { overflow-x: hidden; }
[hidden] { display: none !important; }
.home-hero { overflow: hidden; }

@media (max-width: 760px) {
  .home-hero { padding-bottom: 315px; }
  .home-portrait { min-height: 315px; }
  .portrait-image { right: -8%; height: 395px; }
  .portrait-aura { right: -28%; bottom: -18%; width: 390px; height: 390px; }
}

/* Comprenderme: balanced editorial composition */
.fit-simple {
  grid-template-columns: 1fr;
  gap: 0;
}
.fit-simple-copy {
  width: min(100%, 860px);
  margin: 0 auto 58px;
  text-align: center;
}
.fit-section-label {
  margin: 0 0 18px;
  color: var(--coral-dark);
  font-size: clamp(.95rem, 1.25vw, 1.08rem);
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.fit-simple-copy h2 {
  max-width: 860px;
  margin: 0 auto;
  font-size: clamp(3.3rem, 5.2vw, 5.25rem);
  text-wrap: balance;
}
.fit-simple-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--line);
}
.fit-simple-list p {
  display: block;
  min-height: 205px;
  padding: 30px 32px 34px;
  border-right: 1px solid var(--line);
  border-bottom: 0;
  font-size: 1.45rem;
}
.fit-simple-list p:last-child { border-right: 0; }
.fit-simple-list span {
  display: block;
  margin-bottom: 28px;
}
.fit-note {
  grid-column: auto;
  margin-top: 50px;
}

.deliverable {
  grid-template-columns: minmax(0, 1fr) minmax(440px, .95fr);
  align-items: center;
  gap: 72px;
  padding-top: 100px;
  padding-bottom: 92px;
}
.deliverable-copy h2 {
  margin-bottom: 28px;
  font-size: clamp(3rem, 3.7vw, 3.85rem);
}
.deliverable-items { margin-top: 0; }
.deliverable-items article { padding: 20px 0; }
.interactive-map {
  justify-self: end;
  width: min(100%, 460px);
}
.map-demo-head { padding: 14px 18px; }
.map-demo-canvas { min-height: 285px; }
.map-node {
  width: 82px;
  height: 50px;
  font-size: .64rem;
}
.node-history { top: 16px; left: calc(50% - 41px); }
.node-meaning { top: 88px; left: calc(50% - 41px); }
.node-emotion { top: 164px; left: 9%; }
.node-protect { top: 164px; right: 9%; }
.node-direction { top: 226px; left: calc(50% - 41px); }
.map-demo-explanation {
  min-height: 148px;
  padding: 18px 22px 20px;
}
.map-demo-explanation h3 { font-size: 1.34rem; }
.deliverable-action {
  grid-column: 1 / -1;
  display: flex;
  justify-content: center;
  margin-top: 4px;
}

@media (max-width: 1020px) {
  .deliverable {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 45px;
  }
  .deliverable-copy { width: min(100%, 650px); margin: 0 auto; }
  .interactive-map { justify-self: center; }
}

@media (max-width: 760px) {
  .fit-simple-copy { margin-bottom: 40px; }
  .fit-section-label { margin-bottom: 14px; font-size: .9rem; }
  .fit-simple-copy h2 { font-size: 2.8rem; }
  .fit-simple-list {
    grid-template-columns: 1fr;
    border-right: 0;
    border-left: 0;
  }
  .fit-simple-list p {
    display: grid;
    grid-template-columns: 37px 1fr;
    min-height: 0;
    padding: 22px 0;
    border-right: 0;
    border-bottom: 1px solid var(--line);
    font-size: 1.28rem;
  }
  .fit-simple-list p:last-child { border-bottom: 0; }
  .fit-simple-list span { margin: 0; }
  .fit-note { margin-top: 38px; }
  .deliverable { gap: 38px; padding-top: 78px; padding-bottom: 78px; }
  .deliverable-copy h2 { font-size: 2.65rem; }
  .interactive-map { width: 100%; margin: 0; }
  .map-demo-canvas { min-height: 295px; }
  .map-node { width: 80px; height: 52px; font-size: .62rem; }
  .node-history { top: 18px; left: calc(50% - 40px); }
  .node-meaning { top: 94px; left: calc(50% - 40px); }
  .node-emotion { top: 174px; left: 6%; }
  .node-protect { top: 174px; right: 6%; }
  .node-direction { top: 238px; left: calc(50% - 40px); }
  .map-demo-explanation { min-height: 0; padding: 20px 21px 22px; }
  .map-demo-explanation h3 { font-size: 1.35rem; }
  .deliverable-action { margin-top: 0; }
  .deliverable-action .button { width: min(100%, 260px); }
}

/* Comprenderme: explorable conceptual map */
body.map-open { overflow: hidden; }
.interactive-map { box-shadow: 0 30px 90px rgba(0,0,0,.22); }
.map-demo-head button { display: inline-flex; align-items: center; gap: 7px; }
.map-preview {
  position: relative;
  display: block;
  width: 100%;
  min-height: 350px;
  overflow: hidden;
  border: 0;
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at 50% 46%,rgba(168,111,74,.19),transparent 25%),
    linear-gradient(145deg,#e8e0d5,#cfc1ae);
  color: var(--ink);
  cursor: zoom-in;
}
.map-preview::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .24;
  background-image: radial-gradient(rgba(48,45,40,.42) .7px,transparent .7px);
  background-size: 15px 15px;
}
.map-preview-orbit { position: absolute; border: 1px solid rgba(68,59,49,.2); border-radius: 50%; }
.orbit-one { left: 17%; top: 18%; width: 66%; height: 62%; transform: rotate(-8deg); }
.orbit-two { left: 29%; top: 8%; width: 43%; height: 78%; border-style: dashed; transform: rotate(13deg); }
.map-preview-line { position: absolute; z-index: 1; height: 1px; background: rgba(91,69,52,.35); transform-origin: left center; }
.line-one { left: 27%; top: 36%; width: 48%; transform: rotate(26deg); }
.line-two { left: 28%; top: 70%; width: 46%; transform: rotate(-31deg); }
.map-preview-node {
  position: absolute;
  z-index: 2;
  display: grid;
  place-content: center;
  width: 126px;
  min-height: 65px;
  padding: 10px 12px;
  border: 1px solid rgba(72,61,50,.34);
  border-radius: 50%;
  background: rgba(246,241,233,.94);
  box-shadow: 0 9px 26px rgba(58,47,38,.09);
  font-size: .76rem;
  font-weight: 700;
  line-height: 1.22;
  text-align: center;
}
.map-preview-node small { margin-bottom: 3px; color: #95603f; font-size: .58rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.preview-history { left: 4%; top: 11%; }
.preview-rule { left: 35%; top: 5%; }
.preview-core { left: 34%; top: 39%; width: 142px; min-height: 76px; background: #292824; color: #f7f1e8; }
.preview-core small { color: #d7a481; }
.preview-emotion { right: 4%; top: 19%; }
.preview-protection { right: 6%; top: 59%; }
.preview-direction { left: 9%; top: 64%; border-color: #728475; background: #dce2d7; }
.map-preview-invite { position: absolute; z-index: 3; left: 50%; bottom: 13px; display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.55); border-radius: 999px; background: rgba(38,37,33,.86); color: #f7f1e8; font-size: .67rem; font-weight: 700; transform: translateX(-50%); white-space: nowrap; }
.map-preview-invite i { width: 5px; height: 5px; border-radius: 50%; background: #d4a07b; box-shadow: 0 0 0 5px rgba(212,160,123,.18); }
.map-preview:hover .preview-core { transform: scale(1.045); }
.map-preview-node { transition: transform .28s ease,box-shadow .28s ease; }
.map-preview:hover .map-preview-node { box-shadow: 0 13px 32px rgba(58,47,38,.14); }
.map-demo-explanation { min-height: 0; }
.map-demo-explanation > p:not(.mini-label) { font-size: .93rem; }
.map-next { display: inline-flex; align-items: center; gap: 9px; padding: 8px 0; border: 0; background: transparent; color: var(--ink); font-weight: 700; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; cursor: pointer; }

.concept-map-dialog {
  width: 100vw;
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: #1e1d1a;
  color: #f6f0e7;
}
.concept-map-dialog::backdrop { background: rgba(12,12,11,.84); backdrop-filter: blur(5px); }
.concept-map-shell { display: grid; grid-template-rows: auto minmax(0,1fr); height: 100%; }
.concept-map-header {
  position: relative;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  min-height: 92px;
  padding: 16px 24px 16px 30px;
  border-bottom: 1px solid rgba(246,240,231,.14);
  background: #24231f;
}
.concept-map-header .mini-label { margin-bottom: 4px; color: #d5a17d; }
.concept-map-header h2 { margin: 0; font-family: var(--serif); font-size: clamp(1.8rem,2.5vw,2.8rem); font-weight: 500; line-height: 1; }
.concept-map-header-actions { display: flex; align-items: center; gap: 20px; color: #bcb3a7; font-size: .72rem; }
.map-icon-button { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid rgba(246,240,231,.25); border-radius: 50%; background: transparent; color: #f6f0e7; font-size: 1.75rem; line-height: 1; cursor: pointer; }
.map-icon-button:hover { border-color: #d5a17d; background: rgba(213,161,125,.1); }
.concept-map-layout { min-height: 0; display: grid; grid-template-columns: minmax(0,1fr) 370px; }
.concept-map-stage { position: relative; min-width: 0; min-height: 0; display: grid; grid-template-rows: minmax(0,1fr) auto; overflow: hidden; background: #1e1d1a; }
.concept-map-stage::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .15; background-image: radial-gradient(rgba(245,238,228,.55) .65px,transparent .65px); background-size: 18px 18px; }
.concept-map-viewport { position: relative; z-index: 1; min-height: 0; overflow: hidden; outline: none; cursor: grab; touch-action: none; }
.concept-map-viewport.dragging { cursor: grabbing; }
.concept-map-world { position: absolute; top: 0; left: 0; width: 1420px; height: 880px; transform-origin: 0 0; will-change: transform; }
.concept-map-connections,.concept-map-nodes { position: absolute; inset: 0; width: 100%; height: 100%; }
.concept-map-connections path:not([d^="M 0"]) { fill: none; stroke: #766a5d; stroke-width: 2; opacity: .36; transition: opacity .25s,stroke .25s,stroke-width .25s; }
.concept-map-connections marker path { fill: #9a8069; }
.concept-map-connections path.active { stroke: #d4a07b; stroke-width: 3.5; opacity: 1; }
.concept-node {
  position: absolute;
  left: var(--node-x);
  top: var(--node-y);
  display: grid;
  align-content: center;
  width: 224px;
  min-height: 90px;
  padding: 15px 18px;
  border: 1px solid #70675d;
  border-radius: 12px;
  background: #2d2b27;
  color: #f6f0e7;
  box-shadow: 0 15px 40px rgba(0,0,0,.16);
  text-align: left;
  cursor: pointer;
  transition: opacity .22s,transform .22s,border-color .22s,background .22s,box-shadow .22s;
}
.concept-node small { margin-bottom: 7px; color: #c8bfb3; font-size: .65rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.concept-node span { font-family: var(--serif); font-size: 1.2rem; font-weight: 600; line-height: 1.08; }
.concept-node:hover,.concept-node.related { border-color: #c3a386; transform: translateY(-3px); }
.concept-node.active { z-index: 3; border-color: #e1b18e; background: #9b6442; box-shadow: 0 0 0 5px rgba(212,160,123,.13),0 20px 48px rgba(0,0,0,.28); transform: translateY(-4px) scale(1.035); }
.concept-node.active small { color: #f7e0d0; }
.concept-node.muted { opacity: .3; }
.concept-node-history { border-radius: 45px 12px 12px 45px; }
.concept-node-history small { color: #d9ab8b; }
.concept-node-pattern { border-color: #8d7764; }
.concept-node-pattern small { color: #d4a07b; }
.concept-node-emotion { border-color: #8a7470; background: #302927; }
.concept-node-emotion small { color: #d9a698; }
.concept-node-protection { border-color: #817c6b; background: #2d2d28; }
.concept-node-protection small { color: #c6bc8f; }
.concept-node-direction { border-color: #758778; background: #27302a; }
.concept-node-direction small { color: #a9c1aa; }
.map-toolbar { position: absolute; z-index: 4; top: 18px; left: 18px; display: flex; align-items: center; overflow: hidden; border: 1px solid rgba(246,240,231,.17); border-radius: 8px; background: rgba(37,35,31,.88); box-shadow: 0 10px 30px rgba(0,0,0,.2); backdrop-filter: blur(10px); }
.map-toolbar button,.map-toolbar output { display: grid; place-items: center; min-width: 42px; height: 40px; padding: 0 11px; border: 0; border-right: 1px solid rgba(246,240,231,.14); background: transparent; color: #f6f0e7; font-size: .86rem; font-weight: 700; }
.map-toolbar button { cursor: pointer; }
.map-toolbar button:hover { background: rgba(246,240,231,.09); }
.map-toolbar output { color: #c9bfb2; font-size: .68rem; }
.map-toolbar .map-fit { border-right: 0; color: #ddb08f; font-size: .68rem; }
.map-key { position: relative; z-index: 3; display: flex; flex-wrap: wrap; gap: 14px 20px; padding: 12px 20px; border-top: 1px solid rgba(246,240,231,.12); background: rgba(30,29,26,.94); color: #bbb2a7; font-size: .65rem; }
.map-key span { display: inline-flex; align-items: center; gap: 7px; }
.map-key i { width: 8px; height: 8px; border-radius: 50%; background: #d4a07b; }
.map-key .key-pattern { background: #b88b69; }.map-key .key-emotion { background: #c68f84; }.map-key .key-protection { background: #aaa26f; }.map-key .key-direction { background: #88a18a; }
.concept-map-inspector { position: relative; z-index: 3; overflow: auto; padding: 38px 34px 30px; background: #f1ece4; color: var(--ink); box-shadow: -18px 0 50px rgba(0,0,0,.16); }
.concept-map-inspector .mini-label { padding-right: 48px; }
.map-detail-count { position: absolute; top: 39px; right: 34px; color: #8d8276; font-size: .7rem; font-weight: 700; letter-spacing: .08em; }
.concept-map-inspector h3 { margin: 36px 0 17px; font-family: var(--serif); font-size: 2.25rem; font-weight: 500; line-height: 1.02; letter-spacing: -.025em; }
.concept-map-inspector > p:not(.mini-label):not(.map-detail-count):not(.map-disclaimer) { color: #655f57; font-size: 1rem; line-height: 1.68; }
.map-detail-connection { margin: 30px 0; padding: 20px 0; border-top: 1px solid rgba(39,38,33,.16); border-bottom: 1px solid rgba(39,38,33,.16); }
.map-detail-connection span { display: block; margin-bottom: 9px; color: #9a6442; font-size: .65rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.map-detail-connection p { margin: 0; font-size: .88rem; line-height: 1.58; }
.map-detail-next { width: 100%; }
.map-disclaimer { margin: 25px 0 0; color: #827a70; font-size: .72rem; line-height: 1.55; }

@media (max-width: 1020px) {
  .concept-map-header { min-height: 82px; }
  .concept-map-header-actions > span { display: none; }
  .concept-map-layout { grid-template-columns: 1fr; grid-template-rows: minmax(0,1fr) minmax(270px,39%); }
  .concept-map-inspector { padding: 25px 28px 22px; box-shadow: 0 -18px 50px rgba(0,0,0,.18); }
  .concept-map-inspector h3 { margin: 18px 0 10px; font-size: 1.75rem; }
  .concept-map-inspector > p:not(.mini-label):not(.map-detail-count):not(.map-disclaimer) { margin-bottom: 12px; }
  .map-detail-connection { margin: 15px 0; padding: 13px 0; }
  .map-disclaimer { margin-top: 16px; }
}

@media (max-width: 760px) {
  .map-preview { min-height: 315px; }
  .map-preview-node { width: 103px; min-height: 58px; padding: 8px; font-size: .68rem; }
  .map-preview-node small { font-size: .52rem; }
  .preview-history { left: 2%; }.preview-rule { left: 35%; }.preview-emotion { right: 2%; }.preview-protection { right: 3%; }.preview-direction { left: 4%; }
  .preview-core { left: 31%; width: 132px; }
  .map-preview-invite { bottom: 10px; font-size: .61rem; }
  .concept-map-header { min-height: 74px; padding: 12px 14px 12px 18px; }
  .concept-map-header .mini-label { font-size: .54rem; }
  .concept-map-header h2 { font-size: 1.55rem; }
  .map-icon-button { width: 40px; height: 40px; }
  .concept-map-layout { grid-template-rows: minmax(230px,55%) minmax(0,45%); }
  .map-toolbar { top: 10px; left: 10px; }
  .map-toolbar button,.map-toolbar output { min-width: 38px; height: 37px; padding: 0 8px; }
  .map-key { flex-wrap: nowrap; gap: 14px; overflow-x: auto; padding: 9px 12px; white-space: nowrap; }
  .concept-map-inspector { padding: 19px 20px 22px; }
  .concept-map-inspector .mini-label { margin-bottom: 0; }
  .map-detail-count { top: 20px; right: 20px; }
  .concept-map-inspector h3 { margin: 14px 0 9px; font-size: 1.48rem; }
  .concept-map-inspector > p:not(.mini-label):not(.map-detail-count):not(.map-disclaimer) { font-size: .9rem; line-height: 1.5; }
  .map-detail-connection { margin: 12px 0; padding: 10px 0; }
  .map-detail-connection p { font-size: .82rem; }
  .map-detail-next { min-height: 47px; }
  .map-disclaimer { font-size: .67rem; }
}

@media (prefers-reduced-motion: reduce) {
  .map-preview-node,.concept-node,.concept-map-connections path { transition: none !important; }
}

/* Home: clearer choices and compact visual narratives */
.button-ghost-light {
  border: 1px solid rgba(245,241,233,.34);
  background: rgba(245,241,233,.04);
  color: var(--ivory);
  box-shadow: none;
}
.button-ghost-light:hover { border-color: rgba(245,241,233,.7); background: rgba(245,241,233,.1); }
.home-portrait { top: 0; min-height: 730px; }
.portrait-aura { right: -1%; bottom: 9%; width: 570px; height: 570px; }
.portrait-image { right: 1%; height: min(700px,72vw); }
.home-portrait .portrait-label { left: 24px; bottom: 42px; }
.home-portrait .note-b { right: 1%; bottom: 150px; }

.path-section { grid-template-columns: 1fr; gap: 50px; }
.path-intro { width: min(100%,820px); margin: 0 auto; padding-top: 0; text-align: center; }
.path-intro .eyebrow { justify-content: center; }
.path-intro h2 { margin: 0; font-size: clamp(3.3rem,5vw,5.1rem); text-wrap: balance; }
.path-selector { width: min(100%,1040px); margin: 0 auto; }

.featured-service { grid-template-columns: .9fr 1.1fr; gap: 72px; }
.featured-map-preview { min-height: 590px; }
.selfcrit-map { width: min(100%,560px); padding: 26px 28px 23px; transform: rotate(.6deg); }
.selfcrit-canvas { position: relative; min-height: 430px; margin: 52px 0 2px; }
.selfcrit-canvas svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.selfcrit-canvas svg > path { fill: none; stroke: #9a816b; stroke-width: 2; stroke-dasharray: 5 6; marker-end: url(#selfcrit-arrow); }
.selfcrit-canvas svg > path.cost-link { stroke: #a86f4a; stroke-width: 2.5; }
.selfcrit-canvas marker path { fill: #9a816b; stroke: none; }
.selfcrit-node {
  position: absolute;
  display: grid;
  place-content: center;
  min-height: 66px;
  padding: 10px 12px;
  border: 1px solid #a9917c;
  border-radius: 50%;
  background: #f3eee6;
  color: var(--ink);
  box-shadow: 0 8px 24px rgba(39,38,33,.07);
  font-size: .71rem;
  font-weight: 700;
  line-height: 1.22;
  text-align: center;
}
.selfcrit-node small { margin-bottom: 3px; color: #936245; font-size: .55rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.sc-trigger { top: -42px; left: 50%; width: 166px; min-height: 38px; border-radius: 999px; background: #eaded2; transform: translateX(-50%); }
.sc-core { top: 12px; left: 50%; width: 194px; min-height: 76px; border-radius: 12px; background: #2b2925; color: #f5f1e9; transform: translateX(-50%); }
.sc-core small { color: #d9a784; }
.sc-guilt { top: 145px; left: 0; width: 132px; }
.sc-control { top: 145px; left: 50%; width: 142px; transform: translateX(-50%); }
.sc-shield { top: 145px; right: 0; width: 143px; }
.sc-relief { top: 282px; left: 50%; width: 190px; border-color: #9d8b69; background: #e4dccb; transform: translateX(-50%); }
.sc-cost { bottom: 0; left: 50%; width: 335px; min-height: 67px; border-color: #a86f4a; border-radius: 12px; background: #ded1c4; transform: translateX(-50%); }
.selfcrit-map > p { font-size: .8rem; line-height: 1.55; }

.about-home { grid-template-columns: minmax(280px,.7fr) 1.3fr; gap: 90px; }
.about-visual { width: min(100%,370px); min-height: 430px; justify-self: center; padding: 24px; border: 1px solid rgba(39,38,33,.17); border-radius: 180px 180px 8px 8px; box-shadow: 0 24px 55px rgba(39,38,33,.16); }
.about-visual::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg,rgba(26,26,24,.02) 32%,rgba(26,26,24,.18) 64%,rgba(26,26,24,.62) 100%); pointer-events: none; }
.about-lines { z-index: 2; inset: 28px; }
.about-photo { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% 34%; filter: saturate(.78) contrast(1.03) brightness(.88); transform: scale(1.18); transform-origin: 50% 34%; }
.about-visual p { z-index: 3; max-width: 265px; padding: 14px 15px; font-size: .74rem; }

.abroad-stamps { min-height: 390px; }
.abroad-stamps span { display: flex; flex-direction: column; justify-content: center; gap: 4px; width: 112px; height: 112px; padding: 12px; background: linear-gradient(145deg,rgba(245,241,233,.11),rgba(28,28,26,.5)); box-shadow: inset 0 0 0 5px rgba(245,241,233,.025),0 14px 34px rgba(0,0,0,.12); line-height: 1.05; transform: none; }
.abroad-stamps strong { max-width: 90px; font-family: var(--serif); font-size: .78rem; font-weight: 500; letter-spacing: .01em; line-height: 1.05; text-transform: none; }
.abroad-stamps small { min-width: 42px; margin-top: 1px; padding-top: 4px; border-top: 1px solid rgba(245,241,233,.22); color: #d1c8bb; font-size: .51rem; font-weight: 700; letter-spacing: .11em; line-height: 1; }
.abroad-stamps span:nth-child(1) { left: 5%; top: 45px; }
.abroad-stamps span:nth-child(2) { right: 18%; top: 14px; border-color: rgba(245,241,233,.33); transform: none; }
.abroad-stamps span:nth-child(3) { left: 20%; top: auto; bottom: 18px; border-color: #d3a17f; transform: none; }
.abroad-stamps span:nth-child(4) { right: 1%; top: auto; bottom: 56px; border-color: #eea997; transform: none; }

@media (max-width: 1020px) {
  .home-portrait { top: 0; min-height: 650px; }
  .portrait-image { right: -2%; height: 650px; }
  .portrait-aura { right: -12%; width: 530px; height: 530px; }
  .path-section { gap: 42px; }
  .featured-service { grid-template-columns: 1fr; gap: 55px; }
  .featured-map-preview { width: min(100%,680px); margin: 0 auto; }
  .about-home { grid-template-columns: 1fr; }
  .about-visual { min-height: 430px; max-width: 370px; }
}

@media (max-width: 760px) {
  .home-hero { padding-bottom: 380px; }
  .home-portrait { top: auto; min-height: 285px; }
  .portrait-image { right: 0; height: 355px; }
  .portrait-aura { right: -20%; bottom: -23%; width: 350px; height: 350px; }
  .home-portrait .portrait-label { left: 20px; bottom: 20px; min-width: 205px; }
  .home-hero .hero-actions .button { width: 100%; }
  .path-section { gap: 34px; }
  .path-intro h2 { font-size: 2.85rem; }
  .path-selector { width: 100%; }
  .featured-map-preview { min-height: 485px; }
  .selfcrit-map { padding: 20px 17px 18px; }
  .selfcrit-map .sheet-head { gap: 12px; font-size: .5rem; }
  .selfcrit-canvas { min-height: 375px; }
  .selfcrit-node { min-height: 58px; padding: 8px 7px; font-size: .58rem; }
  .selfcrit-node small { font-size: .48rem; }
  .sc-trigger { top: -38px; width: 150px; min-height: 34px; }
  .sc-core { width: 170px; min-height: 66px; }
  .sc-guilt { top: 126px; width: 94px; }
  .sc-control { top: 126px; width: 96px; }
  .sc-shield { top: 126px; width: 98px; }
  .sc-relief { top: 245px; width: 168px; }
  .sc-cost { width: 285px; min-height: 63px; }
  .about-visual { width: min(100%,330px); min-height: 390px; }
  .about-photo { right: auto; height: 100%; object-position: 50% 32%; transform: scale(1.2); }
  .abroad-stamps { min-height: 355px; }
  .abroad-stamps::before { width: 315px; height: 315px; }
  .abroad-stamps::after { width: 225px; height: 225px; }
  .abroad-stamps span { width: 96px; height: 96px; gap: 3px; padding: 9px; }
  .abroad-stamps strong { max-width: 78px; font-size: .7rem; }
  .abroad-stamps small { min-width: 37px; padding-top: 3px; font-size: .46rem; }
  .abroad-stamps span:nth-child(1) { left: 1%; top: 47px; }
  .abroad-stamps span:nth-child(2) { right: 14%; top: 5px; }
  .abroad-stamps span:nth-child(3) { left: 18%; bottom: 3px; }
  .abroad-stamps span:nth-child(4) { right: 0; bottom: 48px; }
}

/* Vivir fuera: international route and cleaner travel details */
.abroad-hero .hero-place-note {
  align-self: start;
  justify-self: end;
  display: block;
  width: min(100%,610px);
  margin: 14px 0 0;
  padding: 20px;
  overflow: hidden;
  border-color: rgba(245,241,233,.32);
  background: rgba(22,22,20,.66);
  box-shadow: 0 24px 70px rgba(0,0,0,.28);
}
.hero-place-note > p {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 14px;
  color: #d2a17f;
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.hero-place-note > p::before { content: ""; width: 28px; height: 1px; background: currentColor; }
.hero-place-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid rgba(245,241,233,.16); border-left: 1px solid rgba(245,241,233,.16); }
.hero-place-grid > span {
  display: grid;
  gap: 7px;
  align-content: center;
  min-height: 88px;
  padding: 15px;
  border-right: 1px solid rgba(245,241,233,.16);
  border-bottom: 1px solid rgba(245,241,233,.16);
}
.hero-place-grid strong { color: var(--ivory); font-family: var(--serif); font-size: 1.2rem; font-weight: 500; letter-spacing: -.015em; line-height: 1.05; text-transform: none; }
.hero-place-grid small { color: #c9a486; font-size: .64rem; font-weight: 700; letter-spacing: .1em; line-height: 1; }

.abroad-feelings .section-heading > .feelings-intro {
  position: relative;
  max-width: 500px;
  margin: 0 0 3px;
  padding: 23px 27px 23px 31px;
  border-left: 2px solid #a86f4a;
  background: rgba(168,111,74,.08);
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(1.25rem,1.65vw,1.55rem);
  line-height: 1.38;
}

.abroad-help { grid-template-columns: 1fr 1fr; align-items: center; gap: 80px; }
.abroad-help > div:first-child { max-width: 600px; }
.abroad-help-list { align-self: center; width: 100%; }

.journey-card {
  isolation: isolate;
  min-height: 540px;
  padding: 30px;
  border: 1px solid rgba(39,38,33,.13);
  background:
    radial-gradient(circle at 76% 24%,rgba(255,255,255,.25),transparent 26%),
    linear-gradient(150deg,#cfc0a7 0%,#bca88c 100%);
  box-shadow: 0 28px 65px rgba(39,38,33,.13);
}
.journey-card::before { content: ""; position: absolute; inset: 27px; z-index: -1; border: 1px solid rgba(39,38,33,.1); border-radius: 50%; }
.journey-card-head { position: relative; z-index: 3; display: flex; align-items: baseline; justify-content: space-between; gap: 20px; }
.journey-card-head span { font-size: .59rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.journey-path { position: absolute; inset: 52px 20px 34px; width: calc(100% - 40px); height: calc(100% - 86px); }
.journey-path path { fill: none; stroke: rgba(65,55,44,.42); stroke-width: 1.5; stroke-dasharray: 6 7; vector-effect: non-scaling-stroke; }
.journey-stop { position: absolute; z-index: 2; display: grid; min-width: 132px; padding: 11px 13px; border: 1px solid rgba(55,47,39,.16); border-radius: 7px; background: rgba(242,235,223,.78); box-shadow: 0 12px 28px rgba(55,47,39,.09); backdrop-filter: blur(7px); }
.journey-stop::before { content: ""; position: absolute; top: 50%; left: -7px; width: 11px; height: 11px; border: 3px solid #d9c9b0; border-radius: 50%; background: #9b6443; transform: translateY(-50%); }
.journey-stop span { color: #8a5b3f; font-size: .52rem; font-weight: 700; letter-spacing: .09em; }
.journey-stop strong { margin: 3px 0 2px; font-family: var(--serif); font-size: 1.08rem; font-weight: 500; line-height: 1; }
.journey-stop small { color: #686159; font-size: .58rem; line-height: 1.25; }
.stop-ecuador { left: 7%; bottom: 7%; }
.stop-austria { right: 7%; bottom: 29%; }
.stop-australia { top: 31%; left: 22%; }
.stop-korea { top: 10%; right: 4%; }
.experience-card p.journey-card-note { position: absolute; z-index: 3; top: 52%; left: 50%; color: rgba(55,47,39,.72); font-size: .53rem; letter-spacing: .11em; white-space: nowrap; transform: translate(-50%,-50%); }
.experience-video-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 27px 0 25px; }
.experience-video-links a {
  position: relative;
  display: grid;
  gap: 7px;
  min-height: 112px;
  padding: 17px 38px 17px 18px;
  border: 1px solid rgba(39,38,33,.15);
  border-radius: 7px;
  background: rgba(244,239,231,.64);
  text-decoration: none;
  transition: border-color .2s,background .2s,transform .2s;
}
.experience-video-links a:hover { border-color: rgba(39,38,33,.4); background: rgba(244,239,231,.95); transform: translateY(-2px); }
.experience-video-links span { color: #8a5b3f; font-size: .55rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.experience-video-links strong { align-self: end; font-family: var(--serif); font-size: 1.08rem; font-weight: 500; line-height: 1.15; }
.experience-video-links i { position: absolute; top: 16px; right: 16px; font-style: normal; font-size: .86rem; }

@media (max-width: 1020px) {
  .abroad-hero .hero-place-note { align-self: auto; justify-self: center; width: min(100%,560px); margin-top: 12px; }
  .hero-place-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .abroad-resource { grid-template-columns: 1fr; gap: 45px; }
  .abroad-resource-intro h2, .abroad-resource-intro > p:last-child { max-width: 720px; }
  .abroad-resource-card { width: min(100%,840px); }
  .abroad-help { grid-template-columns: 1fr; align-items: stretch; gap: 55px; }
  .journey-card { max-width: 560px; }
}

@media (max-width: 760px) {
  .abroad-hero .hero-place-note { width: 100%; max-width: 390px; margin-bottom: 0; padding: 18px; }
  .hero-place-note > p { margin-bottom: 14px; }
  .hero-place-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hero-place-grid > span { gap: 5px; padding: 15px; }
  .hero-place-grid strong { font-size: 1.12rem; }
  .journey-card { min-height: 540px; padding: 23px; border-radius: 7px 145px 7px 7px; }
  .journey-card::before { inset: 22px; }
  .journey-path { inset: 45px 10px 30px; width: calc(100% - 20px); height: calc(100% - 75px); }
  .journey-stop { min-width: 122px; padding: 10px 11px; }
  .journey-stop strong { font-size: 1rem; }
  .journey-stop small { max-width: 102px; font-size: .54rem; }
  .stop-ecuador { left: 3%; bottom: 5%; }
  .stop-austria { right: 3%; bottom: 28%; }
  .stop-australia { top: 31%; left: 8%; }
  .stop-korea { top: 9%; right: 0; }
  .experience-card p.journey-card-note { top: 54%; left: 50%; font-size: .48rem; }
  .abroad-feelings .section-heading > .feelings-intro { max-width: none; padding: 20px 21px 20px 24px; font-size: 1.2rem; }
  .experience-video-links { grid-template-columns: 1fr; }
  .experience-video-links a { min-height: 98px; }
  .abroad-resource { gap: 34px; padding-top: 80px; padding-bottom: 80px; }
  .abroad-resource-card { grid-template-columns: 1fr; }
  .abroad-resource-card figure { min-height: 270px; max-height: 330px; }
  .abroad-resource-card > div { padding: 32px 25px 35px; }
  .abroad-resource-card h3 { font-size: 2rem; }
}

/* Long-form article: editorial rhythm, generous reading width and visual pauses */
.article-page { background: #f3eee6; }
.article-hero {
  isolation: isolate;
  position: relative;
  min-height: 660px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  padding-top: 155px;
  padding-bottom: 68px;
  background: url('/assets/hero-vivir-fuera.webp') center 56%/cover no-repeat;
  color: var(--ivory);
}
.article-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg,rgba(20,20,18,.94) 0%,rgba(20,20,18,.79) 48%,rgba(20,20,18,.32) 82%),
    linear-gradient(0deg,rgba(15,15,14,.64),transparent 66%);
}
.article-hero-adaptation { background-image: url('/assets/vinculos-costa-australia.jpg'); background-position: center 30%; }
.article-hero-copy { width: min(980px,100%); }
.article-back { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 48px; color: #d7cfc3; font-size: .73rem; font-weight: 700; text-decoration: none; }
.article-back:hover { color: white; }
.article-hero h1 { max-width: 960px; margin-bottom: 26px; font-family: var(--serif); font-size: clamp(3.65rem,5.15vw,5.55rem); font-weight: 500; line-height: .95; letter-spacing: -.052em; }
.article-hero .lead { max-width: 710px; margin-bottom: 28px; color: #d4ccc0; font-size: 1.12rem; line-height: 1.7; }
.article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 11px; margin: 0; color: #bdb4a7; font-size: .66rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.article-meta i { width: 4px; height: 4px; border-radius: 50%; background: #bd8057; }

.article-layout { max-width: none; display: block; padding-top: 72px; padding-bottom: 112px; }
.article-toc { max-width: 1080px; display: grid; grid-template-columns: 150px 1fr; gap: 25px; align-items: start; margin: 0 auto 78px; padding: 20px 23px; border: 1px solid rgba(39,38,33,.14); border-radius: 8px; background: rgba(255,253,248,.42); }
.article-toc > p { margin: 4px 0 0; color: var(--coral-dark); font-size: .64rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.article-toc nav { display: flex; flex-wrap: wrap; gap: 8px; }
.article-toc a { padding: 8px 11px; border: 1px solid rgba(39,38,33,.13); border-radius: 999px; background: rgba(255,253,248,.46); color: #625d56; font-size: .7rem; font-weight: 600; line-height: 1.35; text-decoration: none; transition: color .2s,border-color .2s,background .2s; }
.article-toc a:hover { border-color: rgba(39,38,33,.36); background: #fffaf2; color: var(--ink); }

.article-body { max-width: 1000px; min-width: 0; margin: 0 auto; color: #34312c; font-size: 1.12rem; line-height: 1.72; }
.article-body p { margin-bottom: 21px; }
.article-opening { display: grid; grid-template-columns: .92fr 1.08fr; gap: 72px; align-items: start; padding-bottom: 76px; }
.article-opening-lead { margin: 0; font-family: var(--serif); font-size: clamp(1.9rem,2.6vw,2.35rem); line-height: 1.3; letter-spacing: -.024em; }
.article-opening-copy p:last-child { margin-bottom: 0; }
.article-opening-copy p:nth-child(2) { margin: 31px 0; padding-left: 22px; border-left: 2px solid #a86f4a; font-family: var(--serif); font-size: 1.45rem; line-height: 1.4; }
.article-section { scroll-margin-top: 100px; padding: 74px 0; border-top: 1px solid rgba(39,38,33,.15); }
.article-kicker { margin-bottom: 17px !important; color: #8d5c3e; font-size: .64rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.article-body h2 { margin-bottom: 29px; font-family: var(--serif); font-size: clamp(2.75rem,3.9vw,3.75rem); font-weight: 500; line-height: 1; letter-spacing: -.042em; }
.article-body h3 { font-family: var(--serif); font-size: 1.65rem; font-weight: 500; line-height: 1.16; letter-spacing: -.02em; }
.article-body a:not(.button) { text-underline-offset: 4px; text-decoration-thickness: 1px; }
.article-section-lead { display: grid; grid-template-columns: .93fr 1.07fr; gap: 72px; align-items: start; margin-bottom: 52px; }
.article-section-lead h2 { margin: 0; }
.article-section-lead > div { padding-top: 5px; }
.article-section-lead > div p { color: #5e5952; }
.article-section-lead > div p:last-child { margin-bottom: 0; }
.article-breakout { width: 100%; margin: 56px 0; transform: none; }

.adaptation-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); overflow: hidden; border: 1px solid rgba(39,38,33,.15); border-radius: 8px; background: #e5ddd0; }
.adaptation-pair article { min-height: 245px; padding: 31px 33px; border-right: 1px solid rgba(39,38,33,.15); }
.adaptation-pair article:nth-child(2) { border-right: 0; }
.adaptation-pair article > span { color: #966345; font-size: .62rem; font-weight: 700; }
.adaptation-pair h3 { margin: 45px 0 13px; }
.adaptation-pair article p { margin: 0; color: #69635b; font-size: .88rem; line-height: 1.65; }
.adaptation-pair > p { grid-column: 1/-1; margin: 0; padding: 23px 33px; border-top: 1px solid rgba(39,38,33,.15); background: #2b2925; color: #d5cdc1; font-size: .85rem; line-height: 1.65; }

.phase-route { overflow: hidden; border-radius: 8px; background: #272621; color: var(--ivory); }
.phase-route-head { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding: 24px 27px; border-bottom: 1px solid rgba(245,241,233,.16); }
.phase-route-head span { color: #b7afa3; font-size: .63rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.phase-route-head strong { color: #d1a081; font-family: var(--serif); font-size: 1.36rem; font-weight: 500; }
.phase-route ol { display: grid; grid-template-columns: repeat(5,1fr); margin: 0; padding: 0; list-style: none; }
.phase-route li { position: relative; min-height: 165px; display: flex; flex-direction: column; justify-content: flex-end; padding: 23px 18px; border-right: 1px solid rgba(245,241,233,.13); }
.phase-route li:last-child { border-right: 0; }
.phase-route li::before { content: ""; position: absolute; top: 39px; left: 22px; right: -1px; height: 1px; background: rgba(245,241,233,.24); }
.phase-route li::after { content: ""; position: absolute; top: 35px; left: 19px; width: 8px; height: 8px; border-radius: 50%; background: #bd8057; }
.phase-route li > span { position: absolute; top: 17px; right: 16px; color: #8f877b; font-size: .57rem; }
.phase-route strong { margin-bottom: 3px; font-family: var(--serif); font-size: 1.08rem; font-weight: 500; }
.phase-route small { color: #aaa195; font-size: .62rem; }
.article-subsections { display: grid; gap: 0; }
.article-phase-grid { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 56px; border-top: 1px solid rgba(39,38,33,.14); border-left: 1px solid rgba(39,38,33,.14); }
.article-subsections > section { padding: 34px 35px 30px; border-right: 1px solid rgba(39,38,33,.14); border-bottom: 1px solid rgba(39,38,33,.14); }
.article-subsections h3 { margin-bottom: 18px; }
.article-subsections h3 span { display: inline-block; min-width: 31px; color: #986345; }
.article-subsections p { color: #625d56; font-size: .95rem; line-height: 1.68; }
.article-subsections p:last-child { margin-bottom: 0; }

.article-identity-feature { display: grid; grid-template-columns: 1.08fr .92fr; overflow: hidden; margin-top: 58px; border-radius: 8px; background: #292824; color: var(--ivory); }
.article-identity-feature figure { position: relative; min-height: 610px; margin: 0; overflow: hidden; }
.article-identity-feature figure::after { content: ""; position: absolute; inset: 40% 0 0; background: linear-gradient(0deg,rgba(15,15,14,.85),transparent); pointer-events: none; }
.article-identity-feature figure img { width: 100%; height: 100%; object-fit: cover; object-position: 4% center; }
.article-identity-feature figcaption { position: absolute; z-index: 2; left: 28px; right: 28px; bottom: 25px; color: #ddd5ca; font-size: .76rem; line-height: 1.55; }
.article-identity-feature > section { align-self: center; padding: 48px 46px; }
.article-identity-feature h3 { margin: 0 0 22px; font-size: 2.25rem; }
.article-identity-feature h3 span { color: #ca8d68; }
.article-identity-feature > section > p:not(.article-kicker) { color: #c9c1b6; font-size: .94rem; line-height: 1.7; }
.article-identity-feature > section > p:last-child { margin-bottom: 0; }

.article-quote { padding: 68px 74px; border-radius: 8px; background: #c9bba4; }
.article-quote p { max-width: 720px; margin: 0 auto; font-family: var(--serif); font-size: clamp(2.2rem,4vw,3.6rem); line-height: 1.08; letter-spacing: -.04em; text-align: center; }
.article-quote p::before { content: "“"; display: block; margin-bottom: 8px; color: #986345; font-size: 4.8rem; line-height: .5; }

/* Identity reveal: the new place turns, the person remains */
.identity-turn { position: relative; display: grid; grid-template-columns: minmax(280px,.82fr) minmax(0,1.18fr); gap: 68px; align-items: center; min-height: 460px; overflow: hidden; padding: 54px 68px; border-radius: 8px; background: #24231f; color: var(--ivory); isolation: isolate; }
.identity-turn::before { content: ""; position: absolute; z-index: -1; width: 520px; height: 520px; left: -245px; bottom: -330px; border: 1px solid rgba(209,155,120,.14); border-radius: 50%; box-shadow: 0 0 0 72px rgba(209,155,120,.025),0 0 0 145px rgba(209,155,120,.018); }
.identity-turn-stage { position: relative; display: grid; place-items: center; width: min(100%,330px); aspect-ratio: 1; margin: 0 auto; padding: 0; border: 0; border-radius: 50%; background: transparent; color: inherit; font: inherit; cursor: pointer; perspective: 1200px; -webkit-tap-highlight-color: transparent; }
.identity-turn-stage:focus-visible { outline: 2px solid #d19b78; outline-offset: 11px; }
.identity-turn-orbit { position: absolute; inset: -14px; border: 1px dashed rgba(225,211,194,.35); border-radius: 50%; animation: identity-orbit 22s linear infinite; }
.identity-turn-orbit::before { content: ""; position: absolute; top: 15%; right: 1.5%; width: 8px; height: 8px; border-radius: 50%; background: #d19b78; box-shadow: 0 0 0 5px rgba(209,155,120,.11); }
.identity-turn-card { position: relative; display: block; width: 88%; aspect-ratio: 1; border-radius: 50%; transform-style: preserve-3d; transition: transform 1.15s cubic-bezier(.2,.72,.2,1); }
.identity-turn.is-revealed .identity-turn-card { transform: rotateY(180deg); }
.identity-turn-face { position: absolute; inset: 0; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(236,225,211,.23); border-radius: 50%; box-shadow: 0 24px 60px rgba(0,0,0,.35); backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.identity-turn-front { background: radial-gradient(circle at 35% 28%,#4c4a43 0,#34332e 42%,#1c1c19 100%); }
.identity-globe { width: 75%; height: 75%; overflow: visible; fill: none; stroke: rgba(237,226,210,.72); stroke-width: 1.15; }
.identity-globe ellipse,.identity-globe path { stroke: rgba(209,155,120,.62); }
.identity-turn-face small { position: absolute; left: 20%; right: 20%; bottom: 25px; color: #e2d8ca; font-size: .58rem; font-weight: 700; letter-spacing: .12em; line-height: 1.35; text-align: center; text-transform: uppercase; }
.identity-turn-back { background: #171714; transform: rotateY(180deg); }
.identity-turn-back::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(18,18,16,.78),transparent 48%),linear-gradient(115deg,rgba(19,18,16,.2),transparent 55%); }
.identity-turn-back img { width: 100%; height: 100%; object-fit: cover; object-position: 27% center; filter: saturate(.78) contrast(1.05); transform: scale(1.04); }
.identity-turn-back small { z-index: 1; color: #f0e8de; }
.identity-turn-hint { position: absolute; top: calc(100% + 19px); display: flex; align-items: center; gap: 9px; color: #bdb3a7; font-size: .58rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.identity-turn-hint i { display: inline-block; width: 22px; height: 12px; border-top: 1px solid #d19b78; border-radius: 50%; transform: rotate(-12deg); }
.identity-turn-hint i::after { content: ""; display: block; width: 4px; height: 4px; margin: -2px 0 0 17px; border-top: 1px solid #d19b78; border-right: 1px solid #d19b78; transform: rotate(24deg); }
.identity-turn-copy { position: relative; z-index: 1; max-width: 530px; }
.identity-turn-copy .article-kicker { margin-bottom: 21px; color: #d19b78; }
.identity-turn-copy > p:last-child { margin: 0; color: #eee6db; font-family: var(--serif); font-size: clamp(1.75rem,2.65vw,2.45rem); line-height: 1.18; letter-spacing: -.025em; }

@keyframes identity-orbit { to { transform: rotate(360deg); } }

.article-concepts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 55px; border-top: 1px solid rgba(39,38,33,.16); border-left: 1px solid rgba(39,38,33,.16); }
.article-concepts section { min-height: 255px; padding: 27px 28px; border-right: 1px solid rgba(39,38,33,.16); border-bottom: 1px solid rgba(39,38,33,.16); }
.article-concepts h3 { margin: 37px 0 12px; }
.article-concepts h3::before { content: ""; display: block; width: 24px; height: 1px; margin-bottom: 22px; background: #a86f4a; }
.article-concepts p { margin: 0 0 12px; color: #625d56; font-size: .88rem; line-height: 1.65; }

.key-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 50px; border-top: 1px solid rgba(39,38,33,.17); border-left: 1px solid rgba(39,38,33,.17); }
.key-list > section { display: grid; grid-template-columns: 48px 1fr; gap: 15px; padding: 31px 28px; border-right: 1px solid rgba(39,38,33,.17); border-bottom: 1px solid rgba(39,38,33,.17); }
.key-list > section > span { padding-top: 5px; color: #986345; font-size: .62rem; font-weight: 700; }
.key-list h3 { margin-bottom: 12px; }
.key-list p { margin-bottom: 10px; color: #625d56; font-size: .96rem; line-height: 1.68; }
.key-list-continuation { margin-top: 0; }
.article-photo { overflow: hidden; margin-top: 58px; margin-bottom: 58px; border-radius: 8px; background: #262521; }
.article-photo img { width: 100%; height: 520px; object-fit: cover; }
.article-photo figcaption { display: grid; grid-template-columns: 180px 1fr; gap: 30px; margin: 0; padding: 24px 28px; color: #c6beb2; font-size: .78rem; line-height: 1.6; }
.article-photo figcaption span { color: #d19b78; font-size: .62rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.article-community-photo img { object-position: center 46%; }
.article-farm-photo { width: min(100%,760px); margin-left: auto; margin-right: auto; }
.article-farm-photo img { height: 460px; object-position: center 58%; }
.article-route-photo { max-width: 750px; margin-left: auto; margin-right: auto; }
.article-route-photo img { height: 420px; }
.article-observe-photo img { object-position: center 80%; }

.help-section { padding: 68px 72px; border: 0; border-radius: 8px; background: #24231f; color: var(--ivory); }
.help-section > div { max-width: 720px; }
.help-section p:not(.article-kicker) { color: #cbc3b8; }
.help-section .help-urgent { margin: 34px 0; padding: 20px 22px; border-left: 2px solid #b97951; background: rgba(245,241,233,.06); color: #e4ddd3; font-size: .88rem; }

.personal-article-story { display: grid; grid-template-columns: .88fr 1.12fr; overflow: hidden; border-radius: 8px; background: #ded5c8; }
.personal-story-image { min-height: 630px; }
.personal-story-image img { width: 100%; height: 100%; object-fit: cover; object-position: 50% center; }
.personal-article-story > div:last-child { padding: 54px 50px; }
.personal-article-story h2 { font-size: clamp(2.7rem,4.1vw,3.8rem); }
.personal-article-story p { color: #625d56; font-size: .94rem; line-height: 1.7; }
.story-video-link { display: grid; grid-template-columns: 42px 1fr 20px; gap: 13px; align-items: center; margin: 27px 0; padding: 17px 18px; border: 1px solid rgba(39,38,33,.17); border-radius: 7px; background: rgba(245,241,233,.62); text-decoration: none !important; transition: transform .2s,background .2s; }
.story-video-link:hover { background: #f4efe7; transform: translateY(-2px); }
.story-video-link > span { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 50%; background: #a86f4a; color: white; font-size: .72rem; }
.story-video-link div { display: grid; }
.story-video-link small { color: #8a5b3f; font-size: .55rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.story-video-link strong { font-family: var(--serif); font-size: 1.1rem; font-weight: 500; }
.story-video-link i { font-style: normal; }
.article-faq details, .article-references { border-top: 1px solid rgba(39,38,33,.17); }
.article-faq details:last-child { border-bottom: 1px solid rgba(39,38,33,.17); }
.article-faq summary, .article-references summary { display: flex; justify-content: space-between; gap: 25px; padding: 23px 0; font-family: var(--serif); font-size: 1.42rem; line-height: 1.25; cursor: pointer; list-style: none; }
.article-faq summary::-webkit-details-marker, .article-references summary::-webkit-details-marker { display: none; }
.article-faq summary span, .article-references summary span { color: #986345; font-family: var(--sans); font-weight: 400; transition: transform .2s; }
.article-faq details[open] summary span, .article-references[open] summary span { transform: rotate(45deg); }
.article-faq details > div { padding: 0 0 25px; }
.article-faq details p { color: #625d56; font-size: .96rem; }
.article-references { margin-top: 28px; border-bottom: 1px solid rgba(39,38,33,.17); }
.article-references summary { font-size: 1.15rem; }
.article-references ol { display: grid; gap: 16px; margin: 0; padding: 0 0 28px 22px; color: #716b62; font-size: .76rem; line-height: 1.65; }

.article-cta { display: grid; grid-template-columns: 1.25fr .75fr; gap: 70px; align-items: end; margin-bottom: 0; padding: 63px 67px; border-radius: 8px; background: #24231f; color: var(--ivory); }
.article-cta h2 { max-width: 590px; font-size: clamp(2.7rem,4vw,3.8rem); }
.article-cta p:not(.eyebrow) { max-width: 570px; margin: 0; color: #c3bbb0; }
.article-cta-actions { display: flex; flex-direction: column; align-items: stretch; gap: 7px; }
.article-cta .button-coral { background: #9b623f; }
.article-cta .button-coral:hover { background: var(--coral-dark); }
.article-cta a:focus-visible { outline-color: #f6cfad; }

.article-art-photo { background: linear-gradient(110deg,rgba(32,31,28,.28),rgba(32,31,28,.52)),url('/assets/vinculos-costa-australia.jpg') center 63%/cover no-repeat; }
.article-art-photo span { color: rgba(255,255,255,.78); }
.article-art-image { background: #252521; }
.article-art-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(22,22,19,.62),transparent 62%); }
.article-art-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.article-art-first-month img { object-position: 17% center; }
.article-art-origin img { object-position: center 82%; }
.article-art-featured img { object-position: center 63%; }
.article-art-online img { object-position: center 52%; }
.article-art-australia img { object-position: center 68%; }
.article-art-cold img { object-position: center 48%; }
.article-art-relationship img { object-position: center 54%; }
.article-art-pattern img { object-position: center 52%; }
a.article-card:hover .article-art-image img { transform: scale(1.025); }
.featured-article:hover .article-art-image img { transform: scale(1.025); }
.article-art-image span { position: absolute; z-index: 2; left: 22px; bottom: 20px; color: white; font-family: var(--sans); font-size: .67rem; font-weight: 700; letter-spacing: .12em; }

/* Practical article: first month abroad */
.article-hero-first-month { background-image: url('/assets/victor-playa-australia.jpg'); background-position: center 43%; }
.article-hero-first-month::before { background: linear-gradient(90deg,rgba(20,20,18,.14),rgba(20,20,18,.45) 40%,rgba(20,20,18,.89) 65%,rgba(20,20,18,.96)),linear-gradient(0deg,rgba(15,15,14,.65),transparent 70%); }
.article-hero-first-month .article-hero-copy { width: min(690px,55%); margin-left: auto; }
.article-hero-first-month h1 { max-width: 690px; font-size: clamp(3rem,4.25vw,4.4rem); }
.article-body-routines { max-width: 1040px; }
.routine-stack { border-top: 1px solid rgba(39,38,33,.17); }
.routine-card { display: grid; grid-template-columns: .78fr 1.22fr; gap: 58px; padding: 42px 38px; border-right: 1px solid rgba(39,38,33,.17); border-bottom: 1px solid rgba(39,38,33,.17); border-left: 1px solid rgba(39,38,33,.17); background: rgba(255,253,248,.34); }
.routine-card:nth-child(even) { background: rgba(225,216,203,.34); }
.routine-card-heading { align-self: start; }
.routine-card-heading > span { display: inline-grid; place-items: center; width: 39px; height: 39px; margin-bottom: 34px; border: 1px solid rgba(39,38,33,.24); border-radius: 50%; color: #955f3f; font-size: .63rem; font-weight: 700; }
.routine-card-heading small { display: block; margin-bottom: 11px; color: #8d5c3e; font-size: .58rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.routine-card-heading h3 { margin: 0; font-size: clamp(1.7rem,2.5vw,2.15rem); }
.routine-card-copy > p { color: #5e5952; font-size: .99rem; line-height: 1.72; }
.routine-card-copy > p:last-child { margin-bottom: 0; }
.routine-action { display: grid; grid-template-columns: 100px 1fr; gap: 18px; margin-top: 29px !important; padding-top: 21px; border-top: 1px solid rgba(39,38,33,.14); }
.routine-action strong { color: #8d5c3e; font-size: .61rem; letter-spacing: .1em; text-transform: uppercase; }
.routine-action span { color: #3f3b35; font-size: .86rem; line-height: 1.6; }
.article-route-photo img { object-position: center 52%; }
.first-month-intro { max-width: 690px; color: #5e5952; }
.month-plan-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 45px; border-top: 1px solid rgba(39,38,33,.17); border-left: 1px solid rgba(39,38,33,.17); }
.month-plan-grid section { min-height: 225px; padding: 27px 24px; border-right: 1px solid rgba(39,38,33,.17); border-bottom: 1px solid rgba(39,38,33,.17); }
.month-plan-grid span { color: #8d5c3e; font-size: .59rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.month-plan-grid h3 { margin: 53px 0 12px; }
.month-plan-grid p { margin: 0; color: #625d56; font-size: .84rem; line-height: 1.65; }
.month-plan-close { max-width: 790px; margin: 46px auto 0 !important; font-family: var(--serif); font-size: 1.75rem; line-height: 1.35; text-align: center; }
.article-related { display: grid; grid-template-columns: .7fr 1.3fr; gap: 60px; padding: 48px 50px; border-radius: 8px; background: #ded5c8; }
.article-related-heading h2 { margin: 0; font-size: clamp(2.3rem,3.3vw,3.15rem); }
.article-related-grid { display: grid; gap: 12px; }
.article-related-grid a { display: grid; gap: 11px; padding: 24px 25px; border: 1px solid rgba(39,38,33,.15); border-radius: 7px; background: rgba(255,253,248,.45); text-decoration: none !important; transition: background .2s,transform .2s; }
.article-related-grid a:hover { background: #f5efe6; transform: translateY(-2px); }
.article-related-grid small { color: #8d5c3e; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.article-related-grid strong { font-family: var(--serif); font-size: 1.4rem; font-weight: 500; line-height: 1.2; }
.article-related-grid span { color: #4d4943; font-size: .75rem; font-weight: 700; }
.article-related .article-kicker { color: #75462e; font-size: .75rem; }
.article-related a:focus-visible { outline-color: #75462e; }

.abroad-resource-list { display: grid; gap: 20px; }
.abroad-resource-list .abroad-resource-card { min-height: 300px; }
.abroad-resource-list .abroad-resource-card figure { min-height: 300px; }
.abroad-resource-list .abroad-resource-card > div { padding: 33px 34px; }
.abroad-resource-list .abroad-resource-card h3 { font-size: clamp(1.65rem,2vw,2.05rem); }
.abroad-resource-list .abroad-resource-card:nth-child(2) img { object-position: 13% center; }

.abroad-resource-secondary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.abroad-resource-story { display: grid; grid-template-columns: 110px minmax(0,1fr); min-height: 174px; overflow: hidden; border: 1px solid rgba(39,38,33,.14); border-radius: 8px; background: rgba(248,243,235,.7); color: var(--ink); text-decoration: none; transition: background .25s,box-shadow .25s,transform .25s; }
.abroad-resource-story:hover { background: #f8f3eb; box-shadow: 0 17px 38px rgba(39,38,33,.09); transform: translateY(-2px); }
.abroad-resource-story figure { min-height: 174px; margin: 0; overflow: hidden; }
.abroad-resource-story img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 54%; transition: transform .45s ease; }
.abroad-resource-story:nth-child(2) img { object-position: 48% center; }
.abroad-resource-story:hover img { transform: scale(1.03); }
.abroad-resource-story > div { align-self: center; min-width: 0; padding: 22px 20px; }
.abroad-resource-story .abroad-resource-meta { margin-bottom: 13px; font-size: .53rem; }
.abroad-resource-story h3 { margin: 0 0 14px; font-family: var(--serif); font-size: 1.34rem; font-weight: 500; line-height: 1.12; letter-spacing: -.018em; }
.abroad-resource-story > div > span { color: #8a5b3f; font-size: .65rem; font-weight: 700; letter-spacing: .03em; }
.abroad-resource-story > div > span i { display: inline-block; margin-left: 3px; font-style: normal; transition: transform .2s; }
.abroad-resource-story:hover > div > span i { transform: translateX(4px); }

@media (max-width: 760px) {
  .abroad-resource-secondary { grid-template-columns: 1fr; gap: 14px; }
  .abroad-resource-story { grid-template-columns: 112px minmax(0,1fr); min-height: 158px; }
  .abroad-resource-story figure { min-height: 158px; }
  .abroad-resource-story > div { padding: 20px 18px; }
}

/* Story: the origin of Vivir Fuera */
.article-hero-origin { background: #211f1b url('/assets/victor-descanso-brisbane.jpg') left 84% / 86% auto no-repeat; }
.article-hero-origin::before { background: linear-gradient(90deg,rgba(20,20,18,.2) 0%,rgba(20,20,18,.38) 38%,rgba(20,20,18,.88) 64%,rgba(20,20,18,.99) 84%,rgba(20,20,18,.99) 100%),linear-gradient(0deg,rgba(15,15,14,.65),transparent 70%); }
.article-hero-origin .article-hero-copy { width: min(620px,55%); margin-left: auto; }
.article-hero-origin h1 { max-width: 830px; }
.article-body-origin { --origin-reading-width: 760px; max-width: 1000px; }
.origin-opening { display: block; width: min(100%,var(--origin-reading-width)); margin: 0 auto; padding: 10px 0 76px; }
.origin-opening-lead { max-width: 720px; margin: 0 0 32px; font-family: var(--serif); font-size: clamp(2rem,2.75vw,2.5rem); line-height: 1.24; letter-spacing: -.03em; }
.origin-opening > div { max-width: 700px; }
.origin-opening > div p { color: #625d56; }
.origin-opening > div p:last-child { margin-bottom: 0; }
.origin-scene > .article-kicker,.origin-scene > h2,.origin-prose { width: min(100%,var(--origin-reading-width)); margin-left: auto; margin-right: auto; }
.origin-scene h2 { margin-bottom: 39px; }
.origin-prose { max-width: none; }
.origin-prose p { margin-bottom: 27px; }
.origin-prose p:last-child { margin-bottom: 0; }
.origin-scene-thought { margin: 38px 0 !important; padding: 20px 0 20px 27px; border-left: 2px solid #a86f4a; color: #3d3933 !important; font-family: var(--serif); font-size: clamp(1.55rem,2.25vw,1.95rem); line-height: 1.35; }
.origin-photo { width: min(100%,var(--origin-reading-width)); margin: 49px auto; }
.origin-photo img { height: 440px; object-position: center 53%; }
.origin-lens .article-section-lead { display: block; width: min(100%,var(--origin-reading-width)); margin: 0 auto 46px; }
.origin-lens .article-section-lead h2 { max-width: 720px; margin-bottom: 30px; }
.origin-lens .article-section-lead > div { max-width: 700px; padding-top: 0; }
.origin-lens-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: min(100%,var(--origin-reading-width)); margin: 46px auto 0; overflow: hidden; border-radius: 8px; background: #292823; color: #f5f0e7; }
.origin-lens-grid > div { padding: 38px 40px 34px; }
.origin-lens-grid > div + div { border-left: 1px solid rgba(245,241,233,.17); }
.origin-lens-grid span { display: block; margin-bottom: 22px; color: #d3a382; font-size: .69rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.origin-lens-grid p { max-width: 355px; margin-bottom: 0; color: #d0c8bc; font-size: 1rem; line-height: 1.65; }
.origin-feelings { width: min(100%,var(--origin-reading-width)); margin: 55px auto 0; }
.origin-feelings h3 { max-width: 570px; margin: 0 0 29px; font-size: clamp(1.8rem,2.7vw,2.25rem); }
.origin-feelings ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; padding: 0; border-top: 1px solid rgba(39,38,33,.17); border-left: 1px solid rgba(39,38,33,.17); list-style: none; }
.origin-feelings li { display: grid; align-content: start; gap: 11px; min-height: 165px; padding: 25px 27px; border-right: 1px solid rgba(39,38,33,.17); border-bottom: 1px solid rgba(39,38,33,.17); }
.origin-feelings strong { font-family: var(--serif); font-size: 1.3rem; font-weight: 500; line-height: 1.2; }
.origin-feelings span { color: #625d56; font-size: .86rem; line-height: 1.62; }
.origin-lens-close { max-width: 710px; margin: 36px auto 0; font-family: var(--serif); font-size: clamp(1.5rem,2.3vw,2rem); line-height: 1.34; text-align: center; }
.origin-birth { display: grid; grid-template-columns: 1.35fr .65fr; gap: 56px; align-items: center; }
.origin-birth h2 { max-width: 625px; }
.origin-birth-copy p:not(.article-kicker) { max-width: 605px; }
.origin-birth figure { align-self: stretch; min-height: 500px; margin: 0; overflow: hidden; border-radius: 8px; background: #343b39; }
.origin-birth figure img { width: 100%; height: calc(100% - 48px); min-height: 450px; max-height: 550px; object-fit: cover; object-position: 25% 42%; }
.origin-birth figcaption { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 14px 17px; color: #e4dfd6; font-size: .72rem; }
.origin-birth figcaption a { flex: 0 0 auto; color: #f6cfad; font-weight: 700; white-space: nowrap; }
.origin-birth figcaption a:hover { color: white; }
.origin-guidance > .article-kicker,.origin-guidance > h2,.origin-guidance > p { width: min(100%,var(--origin-reading-width)); margin-left: auto; margin-right: auto; }
.origin-guidance > p:not(.article-kicker) { max-width: none; }
.origin-guidance > p:last-child { margin-bottom: 0; }
.experience-more-links { display: flex; flex-wrap: wrap; align-items: center; column-gap: 27px; row-gap: 0; margin-top: 21px; }
.experience-more-links .text-link { font-size: .78rem; }

@media (max-width: 1020px) {
  .article-hero-first-month .article-hero-copy { width: min(620px,64%); }
  .article-hero-origin .article-hero-copy { width: min(620px,65%); }
  .article-toc { margin-bottom: 66px; }
  .article-opening, .article-section-lead { gap: 48px; }
  .article-concepts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .article-identity-feature { grid-template-columns: 1fr 1fr; }
  .personal-article-story { grid-template-columns: .9fr 1.1fr; }
  .personal-story-image { min-height: 660px; }
  .article-cta { grid-template-columns: 1fr; gap: 35px; align-items: start; }
  .article-cta-actions { width: min(100%,320px); }
  .month-plan-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .article-related { grid-template-columns: 1fr; gap: 32px; }
  .identity-turn { gap: 44px; padding: 50px 44px; }
  .identity-turn-stage { width: min(100%,300px); }
  .origin-opening { gap: 42px; }
  .origin-birth { gap: 34px; }
}

@media (max-width: 820px) {
  .article-hero-first-month .article-hero-copy { width: 100%; }
  .article-hero-first-month::before { background: linear-gradient(90deg,rgba(20,20,18,.93),rgba(20,20,18,.78)),linear-gradient(0deg,rgba(15,15,14,.68),transparent 66%); }
  .article-hero-first-month h1 { font-size: clamp(3rem,6vw,3.8rem); }
  .article-opening, .article-section-lead { grid-template-columns: 1fr; gap: 30px; }
  .article-opening-lead { max-width: 690px; }
  .article-section-lead { margin-bottom: 45px; }
  .article-phase-grid, .key-list { grid-template-columns: 1fr; }
  .article-identity-feature { grid-template-columns: 1fr; }
  .article-identity-feature figure { min-height: 430px; }
  .article-identity-feature > section { padding: 43px 38px; }
  .personal-article-story { grid-template-columns: 1fr; }
  .personal-story-image { min-height: 520px; max-height: 620px; }
  .routine-card { grid-template-columns: 1fr; gap: 26px; padding: 36px 30px; }
  .routine-card-heading > span { margin-bottom: 26px; }
  .identity-turn { grid-template-columns: 1fr; gap: 58px; padding: 50px 44px 54px; text-align: center; }
  .identity-turn-stage { width: min(78vw,300px); }
  .identity-turn-copy { max-width: 590px; margin: 0 auto; }
  .origin-opening { grid-template-columns: 1fr; gap: 26px; }
  .origin-birth { grid-template-columns: 1fr; }
  .origin-birth figure { width: min(100%,480px); min-height: 0; }
  .origin-birth figure img { height: 480px; min-height: 0; }
}

@media (max-width: 700px) {
  .article-hero { min-height: 640px; padding-top: 125px; padding-bottom: 55px; background-position: 68% center; }
  .article-hero::before { background: linear-gradient(90deg,rgba(20,20,18,.94),rgba(20,20,18,.64)),linear-gradient(0deg,rgba(15,15,14,.68),transparent 65%); }
  .article-back { margin-bottom: 38px; }
  .article-hero h1 { font-size: clamp(3.05rem,14vw,4rem); }
  .article-hero-adaptation { background-position: 63% center; }
  .article-hero-first-month { background-position: 14% center; }
  .article-hero-first-month .article-hero-copy { width: 100%; margin-left: 0; }
  .article-hero-first-month h1 { font-size: clamp(2.7rem,12vw,3.55rem); }
  .article-hero-origin { background-size: cover; background-position: 20% 80%; }
  .article-hero-origin::before { background: linear-gradient(90deg,rgba(20,20,18,.88),rgba(20,20,18,.72)),linear-gradient(0deg,rgba(15,15,14,.84),transparent 75%); }
  .article-hero-origin .article-hero-copy { width: 100%; margin-left: 0; }
  .article-hero-origin h1 { font-size: clamp(3rem,13vw,3.8rem); }
  .article-hero .lead { font-size: 1rem; }
  .article-layout { padding-top: 55px; padding-bottom: 80px; }
  .article-toc { grid-template-columns: 1fr; gap: 13px; margin-bottom: 54px; padding: 18px; }
  .article-toc > p { margin-top: 0; }
  .article-toc nav { display: flex; overflow-x: auto; gap: 8px; border: 0; padding-bottom: 7px; scrollbar-width: thin; }
  .article-toc a { flex: 0 0 auto; padding: 10px 12px; border: 1px solid var(--line); border-radius: 999px; background: #e6ded2; }
  .article-body { font-size: 1rem; line-height: 1.72; }
  .article-opening { gap: 24px; padding-bottom: 60px; }
  .article-opening-lead { font-size: 1.7rem; }
  .article-opening-copy p:nth-child(2) { margin: 28px 0; font-size: 1.32rem; }
  .article-section { padding: 67px 0; }
  .article-body h2 { font-size: 2.7rem; }
  .article-body h3 { font-size: 1.48rem; }
  .article-breakout { width: auto; margin: 50px 0; transform: none; }
  .adaptation-pair { grid-template-columns: 1fr; }
  .adaptation-pair article { min-height: 205px; border-right: 0; border-bottom: 1px solid rgba(39,38,33,.15); }
  .adaptation-pair h3 { margin-top: 32px; }
  .phase-route-head { align-items: flex-start; flex-direction: column; }
  .phase-route ol { grid-template-columns: 1fr; }
  .phase-route li { min-height: 105px; padding-left: 75px; border-right: 0; border-bottom: 1px solid rgba(245,241,233,.13); }
  .phase-route li::before { top: 0; bottom: -1px; left: 38px; right: auto; width: 1px; height: auto; }
  .phase-route li::after { top: 48px; left: 34px; }
  .phase-route li > span { top: 42px; right: 18px; }
  .article-subsections > section { padding: 30px 24px; }
  .article-identity-feature figure { min-height: 330px; }
  .article-identity-feature figcaption { left: 20px; right: 20px; bottom: 18px; }
  .article-identity-feature > section { padding: 38px 23px; }
  .article-identity-feature h3 { font-size: 1.9rem; }
  .article-quote { padding: 50px 25px; }
  .article-quote p { font-size: 2.18rem; }
  .identity-turn { gap: 54px; padding: 42px 21px 45px; }
  .identity-turn-stage { width: min(74vw,260px); }
  .identity-turn-copy .article-kicker { margin-bottom: 16px; }
  .identity-turn-copy > p:last-child { font-size: 1.72rem; line-height: 1.22; }
  .identity-turn-face small { bottom: 21px; font-size: .53rem; }
  .article-concepts { grid-template-columns: 1fr; }
  .article-concepts section { min-height: 0; }
  .key-list { grid-template-columns: 1fr; }
  .key-list > section { grid-template-columns: 43px 1fr; gap: 11px; }
  .article-photo img { height: 300px; }
  .article-farm-photo img { height: 340px; }
  .article-route-photo img { height: 270px; }
  .article-photo figcaption { grid-template-columns: 1fr; gap: 10px; padding: 20px; }
  .help-section { padding: 46px 23px; }
  .personal-article-story { grid-template-columns: 1fr; }
  .personal-story-image { min-height: 440px; max-height: 520px; }
  .personal-article-story > div:last-child { padding: 41px 23px; }
  .article-faq summary { font-size: 1.25rem; }
  .article-cta { padding: 45px 24px; }
  .article-cta h2 { font-size: 2.65rem; }
  .routine-card { gap: 22px; padding: 31px 21px; }
  .routine-card-heading h3 { font-size: 1.75rem; }
  .routine-action { grid-template-columns: 1fr; gap: 7px; }
  .month-plan-grid { grid-template-columns: 1fr; }
  .month-plan-grid section { min-height: 185px; }
  .month-plan-grid h3 { margin-top: 36px; }
  .month-plan-close { font-size: 1.5rem; }
  .article-related { gap: 27px; padding: 39px 22px; }
  .article-related-grid a { padding: 22px 19px; }
  .origin-opening { padding-bottom: 61px; }
  .origin-opening-lead { font-size: 1.8rem; }
  .origin-scene h2 { margin-bottom: 28px; }
  .origin-scene-thought { margin: 31px 0 !important; padding: 16px 0 16px 20px; font-size: 1.5rem; }
  .origin-photo { margin: 38px 0; }
  .origin-photo img { height: 285px; }
  .origin-lens .article-section-lead { margin-bottom: 37px; }
  .origin-lens-grid { grid-template-columns: 1fr; }
  .origin-lens-grid > div { padding: 31px 25px; }
  .origin-lens-grid > div + div { border-top: 1px solid rgba(245,241,233,.17); border-left: 0; }
  .origin-feelings { margin-top: 43px; }
  .origin-feelings h3 { font-size: 1.7rem; }
  .origin-feelings ul { grid-template-columns: 1fr; }
  .origin-feelings li { min-height: 0; padding: 23px 22px; }
  .origin-lens-close { font-size: 1.5rem; }
  .origin-birth figure img { height: 380px; }
}

/* Online psychology article: aligned reading column and responsive typography. */
.online-article-page { --online-reading-width: 44rem; background: #f3eee6; }
.online-article-hero {
  isolation: isolate;
  position: relative;
  min-height: 30rem;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  padding-top: 8.5rem;
  padding-bottom: 3.5rem;
  background:
    radial-gradient(circle at 80% 28%,rgba(184,129,89,.15),transparent 24%),
    radial-gradient(circle at 68% 80%,rgba(213,198,176,.08),transparent 31%),
    linear-gradient(128deg,#1c1d1b 0%,#2c2c28 57%,#383630 100%);
  color: var(--ivory);
}
.online-article-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .22;
  background-image: repeating-linear-gradient(105deg,transparent 0 54px,rgba(255,255,255,.03) 55px 56px);
}
.online-article-hero-copy { position: relative; z-index: 2; width: 100%; max-width: var(--online-reading-width); min-width: 0; margin-inline: auto; }
.online-article-hero .article-back { min-height: 2.75rem; margin-bottom: 1.75rem; font-size: .875rem; line-height: 1.4; }
.online-article-hero .eyebrow { margin-bottom: 1rem; font-size: .875rem; line-height: 1.5; letter-spacing: .08em; }
.online-article-title { margin: 0 0 1rem; color: #c9bfb2; font-size: .9375rem; font-weight: 500; line-height: 1.5; letter-spacing: 0; text-transform: none; }
.online-article-hero h1 { max-width: 100%; margin: 0; font-family: var(--serif); font-size: clamp(2.75rem,4.25vw,4rem); font-weight: 500; line-height: 1.08; letter-spacing: -.035em; text-wrap: balance; overflow-wrap: break-word; }
.online-article-hero-mark { position: absolute; z-index: 0; right: max(2rem,calc((100vw - 1180px) / 2)); bottom: 3.5rem; width: 10rem; aspect-ratio: 1; border: 1px solid rgba(241,232,220,.24); border-radius: 50%; opacity: .5; pointer-events: none; }
.online-article-hero-mark::before,.online-article-hero-mark::after,.online-article-hero-mark span,.online-article-hero-mark i,.online-article-hero-mark b { content: ""; position: absolute; display: block; }
.online-article-hero-mark::before { inset: 31px; border: 1px solid rgba(241,232,220,.18); border-radius: 50%; }
.online-article-hero-mark::after { top: 50%; left: -44px; width: calc(100% + 88px); height: 1px; background: rgba(241,232,220,.17); transform: rotate(-20deg); }
.online-article-hero-mark span { top: 21px; right: 15px; width: 13px; height: 13px; border-radius: 50%; background: #bd8057; }
.online-article-hero-mark i { left: 37px; bottom: 25px; width: 8px; height: 8px; border-radius: 50%; background: #d8cdbc; }
.online-article-hero-mark b { top: 50%; left: 50%; width: 33px; height: 33px; border: 1px solid rgba(241,232,220,.4); border-radius: 50%; transform: translate(-50%,-50%); }

.online-article-layout { padding-top: 3.5rem; padding-bottom: 5rem; }
.online-article-body { width: 100%; max-width: var(--online-reading-width); min-width: 0; margin: 0 auto; color: #34312c; font-size: 1.125rem; line-height: 1.8; overflow-wrap: break-word; }
.online-article-body p { margin: 0 0 1.25rem; }
.online-article-body p:last-child { margin-bottom: 0; }
.online-article-body strong { font-weight: 700; }
.online-article-section { display: block; padding: 2.75rem 0; border-top: 1px solid rgba(39,38,33,.15); }
.online-article-opening { padding: 0 0 2.25rem; border-top: 0; }
.online-article-section h2 { max-width: 100%; margin: 0 0 1.5rem; font-family: var(--serif); font-size: clamp(2rem,2.8vw,2.5rem); font-weight: 500; line-height: 1.18; letter-spacing: -.025em; text-wrap: balance; }
.online-article-copy { max-width: none; min-width: 0; color: #49453e; }
.online-article-copy a { color: #7e4f34; font-weight: 700; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.online-article-photo { margin: 0; overflow: hidden; border-radius: 8px; background: #2b2a26; }
.online-article-photo img { display: block; width: 100%; height: auto; }
.online-article-photo-wide { margin: 0; box-shadow: 0 16px 40px rgba(47,41,34,.1); }
.online-article-photo-wide + .online-article-section { border-top: 0; }
.online-article-abroad-grid { display: grid; grid-template-columns: minmax(0,1fr) 13.5rem; gap: 2rem; align-items: start; }
.online-article-photo-portrait { width: 100%; padding: .625rem; background: #292824; box-shadow: 0 12px 32px rgba(36,31,26,.12); }
.online-article-cta { display: flex; justify-content: center; padding: 2.75rem 0 0; border-top: 1px solid rgba(39,38,33,.15); text-align: center; }
.online-article-cta .button { max-width: 100%; min-height: 3.375rem; padding: .875rem 1.5rem; font-size: 1rem; line-height: 1.45; white-space: normal; text-wrap: balance; }
.online-article-cta .button span { flex-shrink: 0; }

@media (max-width: 1100px) {
  .online-article-hero-mark { display: none; }
}

@media (max-width: 760px) {
  .online-article-hero { min-height: 0; padding-top: 7rem; padding-bottom: 2.75rem; }
  .online-article-hero .article-back { margin-bottom: 1.25rem; }
  .online-article-hero h1 { font-size: clamp(2.25rem,8vw,3.125rem); line-height: 1.12; letter-spacing: -.03em; }
  .online-article-layout { padding-top: 2.75rem; padding-bottom: 3.75rem; }
  .online-article-body { font-size: 1.0625rem; line-height: 1.78; }
  .online-article-section { padding: 2.25rem 0; }
  .online-article-opening { padding: 0 0 1.75rem; }
  .online-article-section h2 { margin-bottom: 1.25rem; font-size: clamp(1.875rem,5.5vw,2.25rem); line-height: 1.2; }
  .online-article-abroad-grid { grid-template-columns: minmax(0,1fr); gap: 1.75rem; }
  .online-article-photo-portrait { width: min(100%,15rem); margin-inline: auto; }
  .online-article-cta { padding-top: 2.25rem; }
  .online-article-cta .button { width: 100%; }
}

/* Australia — personal travel article */
.travel-article-page { background: #f2ede4; }
.article-hero-australia {
  min-height: 735px;
  background-image: url('/assets/victor-playa-australia.jpg');
  background-position: center 42%;
}
.article-hero-australia::before {
  background:
    linear-gradient(90deg,rgba(21,21,19,.08) 0%,rgba(21,21,19,.27) 39%,rgba(21,21,19,.88) 69%,rgba(21,21,19,.97) 100%),
    linear-gradient(0deg,rgba(15,15,14,.7),transparent 62%);
}
.article-hero-australia .article-hero-copy { width: min(700px,55%); margin-left: auto; }
.article-hero-australia h1 { max-width: 700px; font-size: clamp(3.5rem,5vw,5.35rem); }
.travel-article-body { --travel-reading-width: 780px; max-width: 1040px; }
.travel-opening { display: grid; grid-template-columns: .95fr 1.05fr; gap: 72px; padding: 8px 0 78px; }
.travel-opening-lead { margin: 0; font-family: var(--serif); font-size: clamp(2rem,2.8vw,2.55rem); line-height: 1.22; letter-spacing: -.03em; }
.travel-opening > div { color: #605b53; }
.travel-opening > div p:last-child { margin-bottom: 0; }
.travel-map { overflow: hidden; border-radius: 8px; background: #163d4c; }
.travel-map img { display: block; width: 100%; aspect-ratio: 2 / 1; object-fit: cover; }
.travel-map figcaption { display: grid; grid-template-columns: 170px 1fr; gap: 25px; margin: 0; padding: 22px 27px; background: #262925; color: #d0c8bc; font-size: .79rem; line-height: 1.6; }
.travel-map figcaption span { color: #d2a07e; font-size: .63rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.travel-prose { width: min(100%,var(--travel-reading-width)); margin: 0 auto; color: #5b564f; }
.travel-checklist { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid rgba(39,38,33,.17); border-left: 1px solid rgba(39,38,33,.17); }
.travel-checklist section { min-height: 235px; padding: 27px 25px; border-right: 1px solid rgba(39,38,33,.17); border-bottom: 1px solid rgba(39,38,33,.17); }
.travel-checklist section > span { color: #966346; font-size: .63rem; font-weight: 700; letter-spacing: .1em; }
.travel-checklist h3 { margin: 43px 0 14px; font-size: 1.5rem; }
.travel-checklist p { margin: 0; color: #625d56; font-size: .85rem; line-height: 1.62; }
.travel-work-feature { display: grid; grid-template-columns: 400px minmax(0,1fr); gap: 68px; align-items: center; width: min(100%,890px); margin: 65px auto 0; }
.travel-work-feature figure { position: relative; height: 525px; margin: 0; overflow: hidden; border-radius: 8px; background: #282824; }
.travel-work-feature img { width: 100%; height: 100%; object-fit: cover; object-position: center 50%; }
.travel-work-feature figure::after { content: ""; position: absolute; inset: 60% 0 0; background: linear-gradient(0deg,rgba(15,15,14,.78),transparent); }
.travel-work-feature figcaption { position: absolute; z-index: 1; left: 22px; bottom: 19px; color: #e3dbd0; font-size: .7rem; }
.travel-work-feature h3 { margin: 0 0 20px; font-size: clamp(2rem,3vw,2.75rem); }
.travel-work-feature p { color: #625d56; }
.travel-video { position: relative; min-height: 330px; display: flex; align-items: flex-end; overflow: hidden; padding: 36px; border-radius: 8px; background: linear-gradient(90deg,rgba(19,20,18,.76),rgba(19,20,18,.26)),url('/assets/victor-tren-australia.jpg') center 49% / cover no-repeat; color: white; text-decoration: none !important; }
.travel-video::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.14); border-radius: inherit; pointer-events: none; }
.travel-video-play { position: relative; z-index: 1; width: 57px; height: 57px; display: grid; place-items: center; flex: 0 0 auto; margin-right: 20px; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; background: rgba(29,29,26,.34); font-size: .9rem; transition: transform .2s,background .2s; }
.travel-video:hover .travel-video-play { background: #a86f4a; transform: scale(1.05); }
.travel-video > div { position: relative; z-index: 1; display: grid; gap: 5px; }
.travel-video small { color: #d4ccc1; font-size: .61rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.travel-video strong { max-width: 530px; font-family: var(--serif); font-size: clamp(1.85rem,3vw,2.7rem); font-weight: 500; line-height: 1.06; }
.travel-video > div > span { margin-top: 4px; font-size: .68rem; font-weight: 700; }
.travel-group-photo { width: min(100%,760px); margin-left: auto; margin-right: auto; }
.travel-group-photo img { height: 600px; object-position: center 76%; }
.travel-prose-two { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 65px; width: 100%; }
.travel-prose-two > div:last-child { padding-top: 70px; }
.travel-field-photo { width: min(100%,650px); margin-left: auto; margin-right: auto; }
.travel-field-photo img { height: 610px; object-position: center 55%; }
.travel-lessons { display: grid; grid-template-columns: repeat(5,1fr); overflow: hidden; border-radius: 8px; background: #2a2925; color: #efe8dd; }
.travel-lessons span { min-height: 120px; display: grid; place-items: center; padding: 20px; border-right: 1px solid rgba(255,255,255,.13); font-family: var(--serif); font-size: 1.2rem; }
.travel-lessons span:last-child { border-right: 0; }
.travel-close { width: min(100%,var(--travel-reading-width)); margin: 58px auto 0; }
.travel-close-lead { max-width: 680px; color: #37332e; font-family: var(--serif); font-size: clamp(1.8rem,2.7vw,2.35rem); line-height: 1.28; }

/* Cold exposure — evidence-led personal article */
.cold-article-page { background: #edf0ee; }
.article-hero-cold {
  min-height: 715px;
  background-image: url('/assets/article-frio-depresion.webp');
  background-position: center 52%;
}
.article-hero-cold::before {
  background:
    linear-gradient(90deg,rgba(15,24,27,.15),rgba(15,24,27,.41) 40%,rgba(15,24,27,.91) 69%,rgba(15,24,27,.98)),
    linear-gradient(0deg,rgba(12,18,20,.72),transparent 65%);
}
.article-hero-cold .article-hero-copy { width: min(700px,58%); margin-left: auto; }
.article-hero-cold h1 { max-width: 700px; font-size: clamp(3.7rem,5.3vw,5.65rem); }
.cold-article-body { --cold-reading-width: 780px; max-width: 1040px; }
.cold-opening { display: grid; grid-template-columns: .95fr 1.05fr; gap: 72px; padding: 8px 0 68px; }
.cold-opening-lead { margin: 0; font-family: var(--serif); font-size: clamp(2rem,2.8vw,2.55rem); line-height: 1.22; letter-spacing: -.03em; }
.cold-opening > div { color: #59605d; }
.cold-editorial-note { display: grid; grid-template-columns: 160px 1fr; gap: 35px; align-items: start; padding: 30px 33px; border: 1px solid rgba(32,51,56,.2); border-left: 4px solid #627f84; border-radius: 6px; background: rgba(255,255,255,.45); }
.cold-editorial-note span { color: #49676c; font-size: .63rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.cold-editorial-note p { margin: 0; color: #4d5553; font-size: .9rem; line-height: 1.65; }
.cold-self-photo img { height: 520px; object-position: center 48%; }
.cold-prose { width: min(100%,var(--cold-reading-width)); margin: 0 auto; color: #565d5a; }
.cold-prose h3 { margin: 48px 0 17px; color: #313735; font-size: clamp(1.8rem,2.7vw,2.3rem); }
.cold-experience-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-bottom: 58px; overflow: hidden; border-radius: 8px; background: #233035; color: #edf2ef; }
.cold-experience-grid section { min-height: 245px; padding: 29px 30px; border-right: 1px solid rgba(255,255,255,.13); }
.cold-experience-grid section:last-child { border-right: 0; }
.cold-experience-grid span { color: #9cb5b8; font-size: .63rem; font-weight: 700; letter-spacing: .1em; }
.cold-experience-grid h3 { margin: 48px 0 13px; font-size: 1.65rem; }
.cold-experience-grid p { margin: 0; color: #c8d0cd; font-size: .87rem; line-height: 1.63; }
.cold-illustration { display: grid; grid-template-columns: minmax(0,1fr) 250px; align-items: stretch; overflow: hidden; border-radius: 8px; background: #2c3434; }
.cold-illustration img { width: 100%; height: 520px; object-fit: cover; }
.cold-illustration figcaption { display: flex; align-items: flex-end; margin: 0; padding: 30px; color: #d1d9d6; font-family: var(--serif); font-size: 1.35rem; line-height: 1.3; }
.cold-evidence-intro { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 62px; width: min(100%,900px); color: #565d5a; }
.cold-evidence-balance { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); overflow: hidden; border-radius: 8px; background: #d6ddda; }
.cold-evidence-balance section { min-height: 290px; padding: 38px 42px; }
.cold-evidence-balance section + section { border-left: 1px solid rgba(32,51,56,.16); background: #263236; color: #eff3f1; }
.cold-evidence-balance span { color: #527076; font-size: .64rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.cold-evidence-balance section + section span { color: #a9c1c3; }
.cold-evidence-balance h3 { margin: 46px 0 15px; font-size: 1.8rem; }
.cold-evidence-balance p { margin: 0; color: #53605d; font-size: .9rem; line-height: 1.65; }
.cold-evidence-balance section + section p { color: #c9d2cf; }
.cold-quote { padding: 62px 70px; border-radius: 8px; background: #9eb1b0; }
.cold-quote p { max-width: 760px; margin: 0 auto; color: #202a2b; font-family: var(--serif); font-size: clamp(2.15rem,3.8vw,3.45rem); line-height: 1.08; letter-spacing: -.035em; text-align: center; }
.cold-practice-list { margin-top: 52px; padding: 0; border-top: 1px solid rgba(32,51,56,.2); list-style: none; }
.cold-practice-list li { display: grid; grid-template-columns: 65px 1fr; gap: 25px; padding: 28px 6px; border-bottom: 1px solid rgba(32,51,56,.2); }
.cold-practice-list li > span { padding-top: 5px; color: #5e7b80; font-size: .67rem; font-weight: 700; letter-spacing: .1em; }
.cold-practice-list h3 { margin: 0 0 8px; font-size: 1.55rem; }
.cold-practice-list p { max-width: 760px; margin: 0; color: #59605d; font-size: .94rem; }
.cold-water-photo img { height: 560px; object-position: center 45%; }
.cold-closing-line { margin-top: 40px !important; padding-left: 23px; border-left: 2px solid #637f84; color: #2f3938; font-family: var(--serif); font-size: clamp(1.65rem,2.5vw,2.1rem); line-height: 1.35; }
.cold-sources > p:not(.article-kicker) { max-width: 720px; color: #59605d; }
.cold-sources ul { display: grid; gap: 0; margin: 38px 0 0; padding: 0; border-top: 1px solid rgba(32,51,56,.18); list-style: none; }
.cold-sources li { border-bottom: 1px solid rgba(32,51,56,.18); }
.cold-sources a { display: block; padding: 20px 0; color: #3f5659; font-size: .86rem; font-weight: 600; text-decoration: none !important; }
.cold-sources a:hover { color: #8a573a; }

@media (max-width: 1020px) {
  .article-hero-australia .article-hero-copy,.article-hero-cold .article-hero-copy { width: min(650px,64%); }
  .travel-checklist { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .travel-work-feature { grid-template-columns: 340px minmax(0,1fr); gap: 48px; }
  .travel-lessons { grid-template-columns: repeat(5,minmax(120px,1fr)); overflow-x: auto; }
}

@media (max-width: 700px) {
  .article-hero-australia,.article-hero-cold { min-height: 650px; padding-top: 128px; padding-bottom: 58px; }
  .article-hero-australia { background-position: 27% center; }
  .article-hero-australia::before { background: linear-gradient(0deg,rgba(17,17,15,.96) 0%,rgba(17,17,15,.76) 52%,rgba(17,17,15,.22) 100%); }
  .article-hero-cold { background-position: 31% center; }
  .article-hero-cold::before { background: linear-gradient(0deg,rgba(12,19,21,.97) 0%,rgba(12,19,21,.78) 53%,rgba(12,19,21,.2) 100%); }
  .article-hero-australia .article-hero-copy,.article-hero-cold .article-hero-copy { width: 100%; margin-left: 0; }
  .article-hero-australia h1,.article-hero-cold h1 { font-size: clamp(3rem,13vw,4rem); }
  .travel-opening,.cold-opening { grid-template-columns: 1fr; gap: 28px; padding-bottom: 60px; }
  .travel-opening-lead,.cold-opening-lead { font-size: 1.85rem; }
  .travel-map figcaption { grid-template-columns: 1fr; gap: 8px; padding: 20px; }
  .travel-checklist { grid-template-columns: 1fr; }
  .travel-checklist section { min-height: 180px; }
  .travel-checklist h3 { margin-top: 30px; }
  .travel-work-feature { grid-template-columns: 1fr; gap: 34px; }
  .travel-work-feature figure { height: 440px; }
  .travel-video { min-height: 310px; align-items: flex-end; padding: 25px 22px; }
  .travel-video-play { width: 50px; height: 50px; margin-right: 14px; }
  .travel-group-photo img { height: 470px; }
  .travel-prose-two { grid-template-columns: 1fr; gap: 0; }
  .travel-prose-two > div:last-child { padding-top: 0; }
  .travel-field-photo img { height: 440px; }
  .travel-lessons { grid-template-columns: 1fr; overflow: hidden; }
  .travel-lessons span { min-height: 80px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.13); }
  .travel-lessons span:last-child { border-bottom: 0; }
  .cold-editorial-note { grid-template-columns: 1fr; gap: 12px; padding: 25px 22px; }
  .cold-self-photo img { height: 310px; }
  .cold-experience-grid { grid-template-columns: 1fr; }
  .cold-experience-grid section { min-height: 185px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.13); }
  .cold-experience-grid h3 { margin-top: 30px; }
  .cold-illustration { grid-template-columns: 1fr; }
  .cold-illustration img { height: 330px; }
  .cold-illustration figcaption { font-size: 1.2rem; }
  .cold-evidence-intro,.cold-evidence-balance { grid-template-columns: 1fr; gap: 0; }
  .cold-evidence-balance section { min-height: 245px; padding: 31px 24px; }
  .cold-evidence-balance section + section { border-top: 1px solid rgba(255,255,255,.13); border-left: 0; }
  .cold-evidence-balance h3 { margin-top: 34px; }
  .cold-quote { padding: 48px 24px; }
  .cold-quote p { font-size: 2.1rem; }
  .cold-practice-list li { grid-template-columns: 42px 1fr; gap: 9px; padding: 25px 0; }
  .cold-water-photo img { height: 360px; }
}

/* Final navigation and privacy review — 2026-10-03. */
[id] { scroll-margin-top: 110px; }
.mobile-nav[hidden] { display: none !important; }
.mobile-nav { max-height: calc(100dvh - 110px); overflow-y: auto; }
.menu-toggle { min-width: 44px; min-height: 44px; }
.site-footer .footer-legal { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 12px 28px; border-top: 1px solid rgba(255,255,255,.14); padding-top: 24px; }
.site-footer nav a, .site-footer nav span { font-size: .875rem; line-height: 1.5; overflow-wrap: anywhere; }
.site-footer .footer-legal a { padding: 7px 0; }
.privacy-summary { padding: 18px 20px; border: 1px solid rgba(71,59,47,.2); border-radius: 10px; background: #f0ebe3; color: #3f3932; font-size: .875rem; line-height: 1.65; }
.privacy-summary > strong { display: block; margin-bottom: 8px; }
.privacy-summary p { margin: 0; }
.privacy-summary a, .check-label a { text-underline-offset: 3px; }
.contact-form .check-label { font-size: .875rem; line-height: 1.6; }
.contact-form .check-label input { flex: 0 0 20px; min-width: 20px; width: 20px; height: 20px; margin-top: 3px; }
.contact-form input, .contact-form select, .contact-form textarea { font-size: 1rem; min-width: 0; }
.contact-form .contact-honeypot input { min-width: 0; }
.legal-page { padding-top: 165px; padding-bottom: 85px; background: #ede9e2; color: #34312d; }
.legal-heading, .legal-draft, .legal-content { max-width: 860px; margin-left: auto; margin-right: auto; }
.legal-heading h1 { margin: 20px 0; font: 500 clamp(2.8rem, 5vw, 4.6rem)/1.04 var(--serif); letter-spacing: -.035em; overflow-wrap: break-word; }
.legal-heading > p:last-child { color: #625b53; font-size: .9rem; }
.legal-draft, .legal-pending { padding: 20px 24px; border-left: 3px solid #a87953; background: #e2d8cb; font-size: 1rem; line-height: 1.7; }
.legal-draft { margin-top: 32px; margin-bottom: 40px; }
.legal-draft strong, .legal-pending strong { display: block; margin-bottom: 5px; }
.legal-content { font-size: 1rem; line-height: 1.8; }
.legal-content section { margin-top: 46px; }
.legal-content h2 { margin-bottom: 19px; font: 500 clamp(1.6rem, 3vw, 2.2rem)/1.2 var(--serif); letter-spacing: -.02em; }
.legal-content p, .legal-content li, .legal-content dd { overflow-wrap: anywhere; }
.legal-content li { margin-bottom: 16px; }
.legal-content a { text-underline-offset: 4px; }
.legal-content a:hover { color: #81532f; }
.legal-details { margin: 0; }
.legal-details > div { display: grid; grid-template-columns: 180px minmax(0,1fr); gap: 24px; padding: 17px 0; border-bottom: 1px solid rgba(52,49,45,.15); }
.legal-details dt { font-weight: 700; }
.legal-details dd { margin: 0; }
.legal-index { display: flex; flex-wrap: wrap; gap: 12px 22px; }
.legal-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 30px; }
.legal-actions .button-secondary { color: #34312d; border-color: #817367; }
@media (max-width: 700px) {
  .legal-page { padding-top: 130px; padding-bottom: 55px; }
  .legal-details > div { grid-template-columns: 1fr; gap: 4px; }
  .legal-draft, .legal-pending { padding: 18px; }
  .site-footer .footer-legal { gap: 8px 22px; }
  .privacy-summary { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
.contact-form .form-note { font-size: .875rem; line-height: 1.6; text-align: left; }
.contact-form .check-label { display: flex; gap: 10px; align-items: flex-start; }

/* Exploration: responsive framing and readable details, with unchanged content. */
body[data-page="exploracion"] .comprenderme-hero {
  grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr);
  gap: clamp(28px, 4vw, 56px);
  min-height: 100svh;
  padding-top: clamp(108px, 14svh, 136px);
  padding-bottom: clamp(32px, 6svh, 60px);
}
body[data-page="exploracion"] .service-hero-copy { min-width: 0; }
body[data-page="exploracion"] .service-hero-copy h1 {
  margin-bottom: 24px;
  font-size: clamp(3.25rem, min(5.7vw, 9svh), 5.25rem);
  line-height: 1.01;
  letter-spacing: -.045em;
  text-wrap: balance;
}
body[data-page="exploracion"] .comprenderme-hero .eyebrow {
  margin-bottom: 18px;
  font-size: .8125rem;
  line-height: 1.4;
  letter-spacing: .1em;
}
body[data-page="exploracion"] .comprenderme-hero .eyebrow span { flex: 0 0 24px; }
body[data-page="exploracion"] .service-hero-copy .lead {
  max-width: 36rem;
  margin-bottom: 26px;
  font-size: clamp(1rem, 1.3vw, 1.125rem);
  line-height: 1.6;
}
body[data-page="exploracion"] .service-page .button {
  max-width: 100%;
  min-height: 52px;
  gap: 10px;
  padding: 12px 18px;
  font-size: 1rem;
  line-height: 1.35;
  text-align: center;
}
body[data-page="exploracion"] .service-page .button > span { flex-shrink: 0; }
body[data-page="exploracion"] .comprenderme-hero .credential-row {
  margin-top: 26px;
  gap: 8px 10px;
  font-size: .75rem;
  line-height: 1.5;
  letter-spacing: .035em;
}
body[data-page="exploracion"] .process-steps { min-width: 0; width: 100%; margin-top: 0; }
body[data-page="exploracion"] .process-steps article {
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 12px;
  padding: clamp(20px, 3svh, 28px) clamp(20px, 2.5vw, 32px);
}
body[data-page="exploracion"] .process-steps article > span { padding-top: 4px; font-size: .75rem; }
body[data-page="exploracion"] .process-steps h2 {
  margin-bottom: 10px;
  font-size: clamp(1.5rem, 2vw, 1.75rem);
  line-height: 1.15;
}
body[data-page="exploracion"] .process-steps p { font-size: 1rem; line-height: 1.6; }
body[data-page="exploracion"] .fit-simple,
body[data-page="exploracion"] .deliverable { padding-block: clamp(64px, 8vw, 96px); }
body[data-page="exploracion"] .fit-simple-copy { margin-bottom: 40px; }
body[data-page="exploracion"] .fit-simple-copy h2 {
  max-width: 760px;
  font-size: clamp(2.4rem, 4.6vw, 4.3rem);
  line-height: 1.04;
}
body[data-page="exploracion"] .fit-simple-list p {
  min-height: 0;
  padding: 26px clamp(20px, 2.5vw, 32px);
  font-size: clamp(1.25rem, 1.8vw, 1.5rem);
  line-height: 1.4;
}
body[data-page="exploracion"] .fit-simple-list span { margin-bottom: 18px; font-size: .75rem; }
body[data-page="exploracion"] .fit-note {
  gap: clamp(24px, 4vw, 52px);
  margin-top: 36px;
  padding: 32px clamp(24px, 3vw, 40px);
}
body[data-page="exploracion"] .fit-note h3 { font-size: clamp(1.65rem, 2.7vw, 2.1rem); line-height: 1.15; }
body[data-page="exploracion"] .fit-note > div:last-child > p { font-size: 1rem; line-height: 1.65; }
body[data-page="exploracion"] .deliverable { gap: clamp(32px, 5vw, 64px); }
body[data-page="exploracion"] .deliverable-copy { min-width: 0; }
body[data-page="exploracion"] .deliverable-items article { grid-template-columns: 28px minmax(0, 1fr); gap: 12px; padding: 24px 0; }
body[data-page="exploracion"] .deliverable-items article > span { padding-top: 4px; font-size: .75rem; }
body[data-page="exploracion"] .deliverable-items h3 { margin-bottom: 10px; font-size: clamp(1.5rem, 2.1vw, 1.8rem); line-height: 1.15; }
body[data-page="exploracion"] .deliverable-items p { max-width: 37rem; font-size: 1rem; line-height: 1.65; }
body[data-page="exploracion"] .interactive-map { min-width: 0; }
body[data-page="exploracion"] .map-demo-head { flex-wrap: wrap; gap: 8px 16px; }
body[data-page="exploracion"] .map-demo-head > span,
body[data-page="exploracion"] .map-demo-head button { font-size: .875rem; line-height: 1.4; }
body[data-page="exploracion"] .map-demo-head button { min-height: 40px; }
body[data-page="exploracion"] .map-demo-explanation { padding: 24px; }
body[data-page="exploracion"] .map-demo-explanation h3 { font-size: 1.5rem; line-height: 1.15; }
body[data-page="exploracion"] .map-demo-explanation > p:not(.mini-label) { font-size: 1rem; line-height: 1.6; }

@media (min-width: 901px) and (max-width: 1020px) {
  body[data-page="exploracion"] .comprenderme-hero { gap: 28px; }
  body[data-page="exploracion"] .service-hero-copy h1 { font-size: clamp(3rem, 5.5vw, 3.5rem); }
  body[data-page="exploracion"] .process-steps article { padding-inline: 20px; }
}

@media (max-width: 900px) {
  body[data-page="exploracion"] .comprenderme-hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 36px;
    min-height: 0;
    padding-top: 112px;
    padding-bottom: 56px;
  }
  body[data-page="exploracion"] .service-hero-copy,
  body[data-page="exploracion"] .process-steps { width: min(100%, 680px); margin-inline: auto; }
  body[data-page="exploracion"] .service-hero-copy h1 { max-width: 600px; font-size: clamp(2.4rem, 6.5vw, 3.7rem); }
}

@media (max-width: 760px) {
  body[data-page="exploracion"] .comprenderme-hero { gap: 32px; padding-top: 100px; padding-bottom: 44px; }
  body[data-page="exploracion"] .comprenderme-hero .eyebrow { margin-bottom: 14px; }
  body[data-page="exploracion"] .service-hero-copy h1 { margin-bottom: 18px; font-size: clamp(2.2rem, 9.6vw, 3.2rem); line-height: 1.04; }
  body[data-page="exploracion"] .service-hero-copy .lead { margin-bottom: 22px; font-size: 1rem; line-height: 1.55; }
  body[data-page="exploracion"] .service-hero-copy > .button { width: 100%; padding-inline: 14px; font-size: .9375rem; }
  body[data-page="exploracion"] .comprenderme-hero .credential-row { margin-top: 20px; }
  body[data-page="exploracion"] .process-steps article { padding: 22px 18px; }
  body[data-page="exploracion"] .fit-simple,
  body[data-page="exploracion"] .deliverable { padding-block: 60px; }
  body[data-page="exploracion"] .fit-simple-copy { margin-bottom: 28px; }
  body[data-page="exploracion"] .fit-simple-copy h2 { font-size: clamp(2.2rem, 9vw, 2.8rem); }
  body[data-page="exploracion"] .fit-simple-list p { grid-template-columns: 28px minmax(0, 1fr); gap: 12px; padding: 22px 0; }
  body[data-page="exploracion"] .fit-simple-list span { margin: 0; padding-top: 4px; }
  body[data-page="exploracion"] .fit-note { gap: 20px; margin-top: 28px; padding: 26px 20px; }
  body[data-page="exploracion"] .deliverable { gap: 32px; }
  body[data-page="exploracion"] .deliverable-copy h2 { margin-bottom: 20px; }
  body[data-page="exploracion"] .map-demo-explanation { padding: 22px 20px; }
  body[data-page="exploracion"] .deliverable-action .button { width: 100%; }
}

@media (max-width: 760px) and (max-height: 680px) {
  body[data-page="exploracion"] .comprenderme-hero { padding-top: 92px; }
  body[data-page="exploracion"] .comprenderme-hero .eyebrow { margin-bottom: 10px; }
  body[data-page="exploracion"] .service-hero-copy h1 { margin-bottom: 14px; }
  body[data-page="exploracion"] .service-hero-copy .lead { margin-bottom: 18px; line-height: 1.5; }
  body[data-page="exploracion"] .comprenderme-hero .credential-row { margin-top: 18px; }
}

/* Vivir fuera: responsive framing and readable details, with unchanged content. */
body[data-page="abroad"] .abroad-hero {
  grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr);
  gap: clamp(28px, 4vw, 56px);
  min-height: 100svh;
  padding-top: clamp(108px, 14svh, 136px);
  padding-bottom: clamp(32px, 6svh, 60px);
}
body[data-page="abroad"] .abroad-hero > div,
body[data-page="abroad"] .experience-copy,
body[data-page="abroad"] .abroad-resource-intro,
body[data-page="abroad"] .abroad-resource-list,
body[data-page="abroad"] .abroad-help > div { min-width: 0; }
body[data-page="abroad"] .abroad-page .eyebrow {
  font-size: .8125rem;
  line-height: 1.45;
  letter-spacing: .09em;
}
body[data-page="abroad"] .abroad-page .eyebrow span { flex: 0 0 24px; }
body[data-page="abroad"] .abroad-hero .eyebrow { margin-bottom: 18px; }
body[data-page="abroad"] .abroad-hero h1 {
  max-width: 760px;
  margin-bottom: 22px;
  font-size: clamp(2.9rem, min(4.7vw, 8.5svh), 4.65rem);
  line-height: 1.03;
  letter-spacing: -.045em;
  text-wrap: balance;
}
body[data-page="abroad"] .abroad-hero .lead {
  margin-bottom: 26px;
  font-size: clamp(1rem, 1.3vw, 1.125rem);
  line-height: 1.6;
}
body[data-page="abroad"] .abroad-page .button {
  max-width: 100%;
  min-height: 52px;
  gap: 10px;
  padding: 12px 18px;
  font-size: 1rem;
  line-height: 1.35;
  text-align: center;
}
body[data-page="abroad"] .abroad-page .button > span { flex-shrink: 0; }
body[data-page="abroad"] .abroad-hero .hero-place-note {
  align-self: center;
  width: 100%;
  max-width: 420px;
  margin: 0;
  padding: 20px;
}
body[data-page="abroad"] .hero-place-note > p { font-size: .8125rem; line-height: 1.4; letter-spacing: .075em; }
body[data-page="abroad"] .hero-place-note > p::before { flex: 0 0 20px; }
body[data-page="abroad"] .hero-place-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body[data-page="abroad"] .hero-place-grid > span { min-height: 90px; gap: 8px; padding: 16px 12px; }
body[data-page="abroad"] .hero-place-grid strong { font-size: clamp(1.2rem, 1.8vw, 1.45rem); line-height: 1.1; }
body[data-page="abroad"] .hero-place-grid small { font-size: .8125rem; line-height: 1.3; letter-spacing: .06em; }

body[data-page="abroad"] .abroad-feelings,
body[data-page="abroad"] .lived-experience,
body[data-page="abroad"] .abroad-resource,
body[data-page="abroad"] .abroad-help { padding-block: clamp(64px, 8vw, 96px); }
body[data-page="abroad"] .section-heading {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  align-items: center;
  gap: 22px clamp(28px, 4vw, 56px);
  margin-bottom: 40px;
}
body[data-page="abroad"] .section-heading h2,
body[data-page="abroad"] .experience-copy h2,
body[data-page="abroad"] .abroad-help h2 {
  font-size: clamp(2.4rem, 4vw, 3.65rem);
  line-height: 1.05;
  text-wrap: balance;
}
body[data-page="abroad"] .abroad-feelings .section-heading > .feelings-intro {
  max-width: none;
  margin: 0;
  padding: 22px 24px;
  font-size: clamp(1.3rem, 1.8vw, 1.6rem);
  line-height: 1.4;
}
body[data-page="abroad"] .feeling-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body[data-page="abroad"] .feeling-grid article { min-height: 0; padding: 26px; }
body[data-page="abroad"] .feeling-grid article > span { font-size: .75rem; }
body[data-page="abroad"] .feeling-grid h3 { margin: 24px 0 12px; font-size: 1.65rem; line-height: 1.15; }
body[data-page="abroad"] .feeling-grid p { font-size: 1rem; line-height: 1.6; }
body[data-page="abroad"] .lived-experience { gap: clamp(32px, 5vw, 64px); }
body[data-page="abroad"] .experience-copy > p:not(.eyebrow),
body[data-page="abroad"] .abroad-resource-intro > p:last-child,
body[data-page="abroad"] .abroad-help > div:first-child > p:not(.eyebrow) { font-size: 1rem; line-height: 1.7; }
body[data-page="abroad"] .experience-video-links { gap: 14px; margin-block: 24px; }
body[data-page="abroad"] .experience-video-links a { min-width: 0; min-height: 116px; gap: 10px; padding: 20px 38px 20px 18px; }
body[data-page="abroad"] .experience-video-links span { font-size: .75rem; line-height: 1.45; letter-spacing: .07em; }
body[data-page="abroad"] .experience-video-links strong { font-size: 1.25rem; line-height: 1.2; }
body[data-page="abroad"] .experience-video-links i { font-size: 1rem; }
body[data-page="abroad"] .journey-card { min-height: 560px; border-top-right-radius: 100px; }
body[data-page="abroad"] .journey-card-head span { font-size: .75rem; line-height: 1.4; }
body[data-page="abroad"] .journey-stop { width: min(200px, 80%); min-width: 0; padding: 12px 13px; }
body[data-page="abroad"] .journey-stop span { font-size: .75rem; line-height: 1.3; letter-spacing: .05em; }
body[data-page="abroad"] .journey-stop strong { margin: 4px 0; font-size: 1.35rem; line-height: 1.1; }
body[data-page="abroad"] .journey-stop small { max-width: none; font-size: .8125rem; line-height: 1.4; }
body[data-page="abroad"] .stop-ecuador { bottom: 12%; }
body[data-page="abroad"] .experience-card p.journey-card-note {
  top: auto;
  right: 24px;
  bottom: 18px;
  left: 24px;
  font-size: .75rem;
  line-height: 1.45;
  letter-spacing: .03em;
  text-align: center;
  white-space: normal;
  transform: none;
}

body[data-page="abroad"] .abroad-resource { gap: clamp(32px, 4vw, 56px); align-items: start; }
body[data-page="abroad"] .abroad-resource-intro h2 { font-size: clamp(2.3rem, 3.4vw, 3.3rem); line-height: 1.06; text-wrap: balance; }
body[data-page="abroad"] .abroad-resource-card { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
body[data-page="abroad"] .abroad-resource-list .abroad-resource-card > div { min-width: 0; padding: 28px; }
body[data-page="abroad"] .abroad-resource-meta { flex-wrap: wrap; gap: 6px 8px; font-size: .8125rem; line-height: 1.45; letter-spacing: .05em; }
body[data-page="abroad"] .abroad-resource-list .abroad-resource-card h3 { font-size: clamp(1.6rem, 2vw, 2rem); line-height: 1.12; }
body[data-page="abroad"] .abroad-resource-card > div > p:last-child { font-size: 1rem; line-height: 1.65; }
body[data-page="abroad"] .abroad-resource-secondary { gap: 16px; }
body[data-page="abroad"] .abroad-resource-story { grid-template-columns: 96px minmax(0, 1fr); min-height: 180px; }
body[data-page="abroad"] .abroad-resource-story > div { padding: 22px 18px; }
body[data-page="abroad"] .abroad-resource-story .abroad-resource-meta { margin-bottom: 12px; font-size: .75rem; }
body[data-page="abroad"] .abroad-resource-story h3 { font-size: 1.4rem; line-height: 1.18; }
body[data-page="abroad"] .abroad-resource-story > div > span { font-size: .875rem; line-height: 1.5; }
body[data-page="abroad"] .abroad-help { gap: clamp(32px, 5vw, 64px); }
body[data-page="abroad"] .abroad-help-list p { grid-template-columns: 28px minmax(0, 1fr); gap: 12px; padding: 24px 0; font-size: 1rem; line-height: 1.65; }
body[data-page="abroad"] .abroad-help-list p span { padding-top: 3px; font-size: .75rem; }

@media (max-width: 1020px) {
  body[data-page="abroad"] .section-heading { grid-template-columns: minmax(0, 1fr); }
  body[data-page="abroad"] .section-heading .eyebrow { grid-column: 1; margin: 0; }
  body[data-page="abroad"] .feeling-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-page="abroad"] .lived-experience { gap: 40px; }
  body[data-page="abroad"] .abroad-resource-intro,
  body[data-page="abroad"] .abroad-resource-list,
  body[data-page="abroad"] .experience-copy { width: min(100%, 760px); margin-inline: auto; }
  body[data-page="abroad"] .abroad-help > div:first-child { max-width: none; }
}

@media (max-width: 900px) {
  body[data-page="abroad"] .abroad-hero {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    gap: 28px;
    padding-top: 112px;
    padding-bottom: 52px;
  }
  body[data-page="abroad"] .abroad-hero > div { width: min(100%, 680px); margin-inline: auto; }
  body[data-page="abroad"] .abroad-hero h1 { font-size: clamp(2.5rem, 6.3vw, 3.6rem); }
  body[data-page="abroad"] .abroad-hero .hero-place-note { max-width: 680px; justify-self: center; }
  body[data-page="abroad"] .hero-place-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  body[data-page="abroad"] .abroad-hero { padding-top: 100px; padding-bottom: 40px; }
  body[data-page="abroad"] .abroad-hero .eyebrow { margin-bottom: 14px; }
  body[data-page="abroad"] .abroad-hero h1 { margin-bottom: 18px; font-size: clamp(2.1rem, 8.8vw, 3.1rem); line-height: 1.05; }
  body[data-page="abroad"] .abroad-hero .lead { margin-bottom: 22px; font-size: 1rem; line-height: 1.55; }
  body[data-page="abroad"] .abroad-hero .button,
  body[data-page="abroad"] .abroad-help-list .button { width: 100%; }
  body[data-page="abroad"] .abroad-hero .hero-place-note { padding: 16px; }
  body[data-page="abroad"] .hero-place-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-page="abroad"] .hero-place-grid > span { min-height: 74px; padding: 12px; }
  body[data-page="abroad"] .abroad-feelings,
  body[data-page="abroad"] .lived-experience,
  body[data-page="abroad"] .abroad-resource,
  body[data-page="abroad"] .abroad-help { padding-block: 60px; }
  body[data-page="abroad"] .section-heading { margin-bottom: 30px; gap: 22px; }
  body[data-page="abroad"] .section-heading h2,
  body[data-page="abroad"] .experience-copy h2,
  body[data-page="abroad"] .abroad-resource-intro h2,
  body[data-page="abroad"] .abroad-help h2 { font-size: clamp(2.15rem, 8.5vw, 2.75rem); line-height: 1.08; }
  body[data-page="abroad"] .abroad-feelings .section-heading > .feelings-intro { padding: 20px; font-size: 1.3rem; }
  body[data-page="abroad"] .feeling-grid { grid-template-columns: minmax(0, 1fr); }
  body[data-page="abroad"] .feeling-grid article { padding: 24px; }
  body[data-page="abroad"] .feeling-grid h3 { margin-top: 20px; }
  body[data-page="abroad"] .experience-video-links a { min-height: 98px; }
  body[data-page="abroad"] .journey-card {
    display: grid;
    align-content: start;
    gap: 18px;
    min-height: 0;
    padding: 24px;
    border-top-right-radius: 64px;
  }
  body[data-page="abroad"] .journey-stop { position: relative; inset: auto; width: min(100%, 240px); }
  body[data-page="abroad"] .journey-stop:nth-of-type(even) { justify-self: end; }
  body[data-page="abroad"] .experience-card p.journey-card-note { position: relative; inset: auto; margin-top: 2px; }
  body[data-page="abroad"] .abroad-resource-card { grid-template-columns: minmax(0, 1fr); }
  body[data-page="abroad"] .abroad-resource-list .abroad-resource-card figure { min-height: 0; max-height: none; aspect-ratio: 16 / 10; }
  body[data-page="abroad"] .abroad-resource-list .abroad-resource-card > div { padding: 26px 22px; }
  body[data-page="abroad"] .abroad-resource-list .abroad-resource-card h3 { font-size: clamp(1.6rem, 6.5vw, 1.85rem); }
  body[data-page="abroad"] .abroad-resource-secondary { grid-template-columns: minmax(0, 1fr); }
  body[data-page="abroad"] .abroad-resource-story { grid-template-columns: 96px minmax(0, 1fr); }
  body[data-page="abroad"] .abroad-resource-story > div { padding: 20px 16px; }
  body[data-page="abroad"] .abroad-help-list p { padding-block: 22px; }
}

@media (max-width: 400px) {
  body[data-page="abroad"] .abroad-resource-story { grid-template-columns: 88px minmax(0, 1fr); }
  body[data-page="abroad"] .abroad-resource-story > div { padding-inline: 14px; }
}

@media (max-width: 760px) and (max-height: 680px) {
  body[data-page="abroad"] .abroad-hero { padding-top: 92px; gap: 24px; }
  body[data-page="abroad"] .abroad-hero .eyebrow { margin-bottom: 10px; }
  body[data-page="abroad"] .abroad-hero h1 { margin-bottom: 14px; }
  body[data-page="abroad"] .abroad-hero .lead { margin-bottom: 18px; line-height: 1.5; }
}

/* Resource stories sit below the introduction, alongside the two guides. */
body[data-page="abroad"] .abroad-resource-overview {
  display: grid;
  align-content: start;
  gap: 28px;
  min-width: 0;
}
body[data-page="abroad"] .abroad-resource-overview .abroad-resource-secondary { grid-template-columns: minmax(0, 1fr); gap: 14px; }
body[data-page="abroad"] .abroad-resource-overview .abroad-resource-story { grid-template-columns: 104px minmax(0, 1fr); min-height: 0; }
body[data-page="abroad"] .abroad-resource-overview .abroad-resource-story figure { min-height: 148px; }
body[data-page="abroad"] .abroad-resource-overview .abroad-resource-story > div { padding: 16px 18px; }

@media (max-width: 1020px) {
  body[data-page="abroad"] .abroad-resource-overview { width: min(100%, 760px); margin-inline: auto; }
  body[data-page="abroad"] .abroad-resource-overview .abroad-resource-secondary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  body[data-page="abroad"] .abroad-resource-overview { gap: 24px; }
  body[data-page="abroad"] .abroad-resource-overview .abroad-resource-secondary { grid-template-columns: minmax(0, 1fr); }
  body[data-page="abroad"] .abroad-resource-overview .abroad-resource-story { grid-template-columns: 96px minmax(0, 1fr); }
}

@media (max-width: 400px) {
  body[data-page="abroad"] .abroad-resource-overview .abroad-resource-story { grid-template-columns: 88px minmax(0, 1fr); }
  body[data-page="abroad"] .abroad-resource-overview .abroad-resource-story > div { padding-inline: 14px; }
}

/* About: balance the portrait and biography while keeping all existing copy. */
body[data-page="home"] .about-home {
  grid-template-columns: minmax(280px, .85fr) minmax(0, 1.15fr);
  gap: clamp(32px, 4.5vw, 64px);
  padding-block: clamp(64px, 8vw, 96px);
}
body[data-page="home"] .about-visual {
  width: min(100%, 400px);
  min-height: 460px;
  padding: 24px;
}
body[data-page="home"] .about-visual p {
  width: 100%;
  max-width: none;
  padding: 15px 18px;
  background: rgba(245,241,233,.95);
  font-size: .9375rem;
  line-height: 1.55;
}
body[data-page="home"] .about-copy { min-width: 0; }
body[data-page="home"] .about-copy .eyebrow { margin-bottom: 16px; font-size: .875rem; line-height: 1.4; }
body[data-page="home"] .about-copy .eyebrow span { flex: 0 0 24px; }
body[data-page="home"] .about-copy h2 {
  max-width: 630px;
  margin-bottom: 22px;
  font-size: clamp(2.4rem, 3.7vw, 3.5rem);
  line-height: 1.06;
  text-wrap: balance;
}
body[data-page="home"] .about-copy > p:not(.eyebrow) { margin-bottom: 18px; font-size: 1rem; line-height: 1.7; }
body[data-page="home"] .about-credentials { margin-top: 24px; gap: 10px; }
body[data-page="home"] .about-credentials span { max-width: 100%; padding: 10px 12px; font-size: .875rem; line-height: 1.4; }

@media (max-width: 1020px) {
  body[data-page="home"] .about-home { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  body[data-page="home"] .about-visual { width: min(100%, 370px); min-height: 430px; }
  body[data-page="home"] .about-copy { width: min(100%, 680px); margin-inline: auto; }
}

@media (max-width: 760px) {
  body[data-page="home"] .about-home { gap: 28px; padding-block: 60px; }
  body[data-page="home"] .about-visual { width: min(100%, 340px); min-height: 410px; padding: 18px; }
  body[data-page="home"] .about-visual p { padding: 14px; }
  body[data-page="home"] .about-copy h2 { margin-bottom: 20px; font-size: clamp(2.1rem, 8.8vw, 2.65rem); line-height: 1.08; }
  body[data-page="home"] .about-copy > p:not(.eyebrow) { line-height: 1.65; }
  body[data-page="home"] .about-credentials { margin-top: 22px; gap: 8px; }
}

/* Blog: compact cover, visible category controls, and readable article cards. */
body[data-page="blog"] .blog-hero {
  min-height: min(100svh, 700px);
  justify-content: center;
  padding-top: clamp(108px, 14svh, 136px);
  padding-bottom: 36px;
}
body[data-page="blog"] .blog-page .eyebrow { font-size: .8125rem; line-height: 1.45; letter-spacing: .09em; }
body[data-page="blog"] .blog-page .eyebrow span { flex: 0 0 24px; }
body[data-page="blog"] .blog-hero .eyebrow { margin-bottom: 18px; }
body[data-page="blog"] .blog-hero h1 {
  max-width: 760px;
  margin-bottom: 22px;
  font-size: clamp(3rem, min(5vw, 8svh), 4.8rem);
  line-height: 1.03;
  letter-spacing: -.045em;
  text-wrap: balance;
}
body[data-page="blog"] .blog-hero .lead { margin-bottom: 0; font-size: clamp(1rem, 1.3vw, 1.125rem); line-height: 1.6; }
body[data-page="blog"] .topic-filter { flex-wrap: wrap; gap: 8px; margin-top: 34px; padding-top: 22px; padding-bottom: 0; overflow: visible; }
body[data-page="blog"] .topic-filter button { min-height: 44px; padding: 10px 16px; font-size: .875rem; line-height: 1.35; white-space: nowrap; }
body[data-page="blog"] .articles { padding-top: 56px; padding-bottom: clamp(64px, 8vw, 96px); }
body[data-page="blog"] .featured-article { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); margin-bottom: 52px; }
body[data-page="blog"] .featured-article > div { min-width: 0; }
body[data-page="blog"] .featured-article .article-art { min-height: 0; max-height: 360px; aspect-ratio: 16 / 10; }
body[data-page="blog"] .featured-article h2 { font-size: clamp(2.25rem, 3.2vw, 3.3rem); line-height: 1.07; text-wrap: balance; }
body[data-page="blog"] .featured-article > div:last-child > p:not(.mini-label) { margin-bottom: 22px; font-size: 1rem; line-height: 1.65; }
body[data-page="blog"] .blog-page .mini-label { margin-bottom: 14px; font-size: .8125rem; line-height: 1.5; letter-spacing: .065em; }
body[data-page="blog"] .article-link { display: inline-block; padding-block: 8px; font-size: .9375rem; line-height: 1.4; }
body[data-page="blog"] .article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 30px; }
body[data-page="blog"] .article-card { display: flex; flex-direction: column; min-width: 0; padding-bottom: 28px; }
body[data-page="blog"] .article-card .article-art { flex-shrink: 0; min-height: 0; max-height: 280px; margin-bottom: 22px; aspect-ratio: 16 / 9; }
body[data-page="blog"] .article-art-image span { max-width: calc(100% - 36px); left: 18px; bottom: 16px; font-size: .75rem; line-height: 1.4; letter-spacing: .08em; }
body[data-page="blog"] .article-card h2 { font-size: clamp(1.6rem, 2.3vw, 2rem); line-height: 1.15; text-wrap: balance; }
body[data-page="blog"] .article-card > p:not(.mini-label) { margin-bottom: 18px; font-size: 1rem; line-height: 1.65; }
body[data-page="blog"] .article-card small { margin-top: auto; padding-top: 4px; font-size: .9375rem; line-height: 1.4; }
body[data-page="blog"] .blog-resources { gap: 24px; padding-block: clamp(64px, 8vw, 96px); }
body[data-page="blog"] .youtube-feature { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
body[data-page="blog"] .youtube-feature .video-scene.large { min-height: 360px; }
body[data-page="blog"] .youtube-feature > div:last-child { min-width: 0; padding: clamp(26px, 3vw, 36px); }
body[data-page="blog"] .youtube-feature h2 { font-size: clamp(2rem, 3vw, 2.65rem); line-height: 1.08; }
body[data-page="blog"] .youtube-feature p:not(.eyebrow) { font-size: 1rem; line-height: 1.65; }
body[data-page="blog"] .video-tag { font-size: .75rem; line-height: 1.4; }
body[data-page="blog"] .youtube-feature .button { max-width: 100%; min-height: 52px; padding: 12px 18px; font-size: 1rem; line-height: 1.35; text-align: center; }
body[data-page="blog"] .books-feature { min-width: 0; gap: 28px; padding: clamp(26px, 3vw, 36px); }
body[data-page="blog"] .books-feature h2 { font-size: clamp(1.9rem, 2.8vw, 2.5rem); line-height: 1.1; }
body[data-page="blog"] .books-feature p:not(.mini-label) { max-width: 420px; margin-bottom: 0; font-size: 1rem; line-height: 1.65; }

@media (max-width: 1020px) {
  body[data-page="blog"] .books-feature { min-height: 260px; }
}

@media (max-width: 760px) {
  body[data-page="blog"] .blog-hero { min-height: min(100svh, 640px); padding-top: 100px; padding-bottom: 32px; }
  body[data-page="blog"] .blog-hero .eyebrow { margin-bottom: 14px; }
  body[data-page="blog"] .blog-hero h1 { margin-bottom: 18px; font-size: clamp(2.15rem, 9vw, 3.1rem); line-height: 1.06; }
  body[data-page="blog"] .blog-hero .lead { font-size: 1rem; line-height: 1.55; }
  body[data-page="blog"] .topic-filter { margin-top: 26px; padding-top: 18px; }
  body[data-page="blog"] .topic-filter button { padding-inline: 12px; }
  body[data-page="blog"] .articles { padding-top: 44px; padding-bottom: 60px; }
  body[data-page="blog"] .featured-article { grid-template-columns: minmax(0, 1fr); gap: 26px; margin-bottom: 40px; }
  body[data-page="blog"] .featured-article .article-art { max-height: 320px; }
  body[data-page="blog"] .featured-article h2 { font-size: clamp(2rem, 8vw, 2.65rem); }
  body[data-page="blog"] .article-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  body[data-page="blog"] .article-card .article-art { max-height: 320px; margin-bottom: 20px; }
  body[data-page="blog"] .article-card h2 { font-size: clamp(1.65rem, 6.8vw, 2rem); }
  body[data-page="blog"] .blog-resources { padding-block: 60px; }
  body[data-page="blog"] .youtube-feature { grid-template-columns: minmax(0, 1fr); }
  body[data-page="blog"] .youtube-feature .video-scene.large { min-height: 210px; }
  body[data-page="blog"] .youtube-feature > div:last-child { padding: 26px 22px; }
  body[data-page="blog"] .youtube-feature h2 { font-size: clamp(1.9rem, 7.8vw, 2.4rem); }
  body[data-page="blog"] .youtube-feature .button { width: 100%; }
  body[data-page="blog"] .books-feature { min-height: 0; padding: 26px 22px; }
}

@media (max-width: 760px) and (max-height: 680px) {
  body[data-page="blog"] .blog-hero { padding-top: 92px; padding-bottom: 28px; }
  body[data-page="blog"] .blog-hero .eyebrow { margin-bottom: 10px; }
  body[data-page="blog"] .blog-hero h1 { margin-bottom: 14px; font-size: clamp(2.05rem, 9vw, 2.65rem); }
  body[data-page="blog"] .blog-hero .lead { line-height: 1.5; }
  body[data-page="blog"] .topic-filter { margin-top: 22px; padding-top: 16px; }
}

/* Contact: readable fields and privacy information in a fluid, aligned layout. */
body[data-page="contact"] .contact-shell {
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  align-items: start;
  gap: clamp(28px, 4vw, 56px);
  min-height: 100svh;
  padding-top: clamp(108px, 14svh, 136px);
  padding-bottom: clamp(48px, 6vw, 80px);
}
body[data-page="contact"] .contact-intro { min-width: 0; }
body[data-page="contact"] .contact-page .eyebrow { font-size: .875rem; line-height: 1.45; }
body[data-page="contact"] .contact-page .eyebrow span { flex: 0 0 24px; }
body[data-page="contact"] .contact-intro .eyebrow { margin-bottom: 18px; }
body[data-page="contact"] .contact-intro h1 {
  margin-bottom: 22px;
  font-size: clamp(2.5rem, 3.7vw, 3.85rem);
  line-height: 1.04;
  letter-spacing: -.04em;
  text-wrap: balance;
}
body[data-page="contact"] .contact-intro .lead { margin-bottom: 0; font-size: clamp(1rem, 1.3vw, 1.125rem); line-height: 1.6; }
body[data-page="contact"] .contact-direct { gap: 10px; margin-top: 26px; }
body[data-page="contact"] .contact-direct span { font-size: .9375rem; line-height: 1.5; }
body[data-page="contact"] .contact-direct a { width: fit-content; max-width: 100%; font-size: clamp(1.25rem, 2vw, 1.6rem); line-height: 1.4; overflow-wrap: anywhere; }
body[data-page="contact"] .contact-trust { gap: 12px; margin-top: 26px; }
body[data-page="contact"] .contact-trust p { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 9px; align-items: start; font-size: .9375rem; line-height: 1.55; }
body[data-page="contact"] .contact-trust i { width: 20px; height: 20px; margin: 2px 0 0; }

body[data-page="contact"] .contact-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  width: 100%;
  min-width: 0;
  padding: clamp(24px, 2.5vw, 34px);
}
body[data-page="contact"] .contact-form > * { grid-column: 1 / -1; min-width: 0; }
body[data-page="contact"] .form-head { flex-wrap: wrap; align-items: baseline; gap: 6px 14px; }
body[data-page="contact"] .form-head .mini-label { margin: 0; font-size: .8125rem; line-height: 1.4; }
body[data-page="contact"] .form-head span { font-size: .75rem; line-height: 1.45; }
body[data-page="contact"] .contact-form > label { gap: 8px; margin: 0; font-size: .9375rem; line-height: 1.45; }
body[data-page="contact"] .contact-form > label:not(.check-label) > input,
body[data-page="contact"] .contact-form > label > select,
body[data-page="contact"] .contact-form > label > textarea { min-height: 48px; padding: 12px; font-size: 1rem; line-height: 1.4; }
body[data-page="contact"] .contact-form > label > textarea { height: 144px; min-height: 144px; line-height: 1.5; }
body[data-page="contact"] .contact-form input:focus-visible,
body[data-page="contact"] .contact-form select:focus-visible,
body[data-page="contact"] .contact-form textarea:focus-visible { outline: 2px solid #895638; outline-offset: 3px; }
body[data-page="contact"] .contact-form .check-label { gap: 10px; font-size: .875rem; line-height: 1.6; }
body[data-page="contact"] .contact-form .check-label > span { min-width: 0; overflow-wrap: anywhere; }
body[data-page="contact"] .contact-form .form-note { margin: 0; font-size: .875rem; line-height: 1.55; }
body[data-page="contact"] .privacy-summary { padding: 16px 18px; font-size: .875rem; line-height: 1.6; overflow-wrap: anywhere; }
body[data-page="contact"] .form-submit { min-height: 52px; margin: 0; padding: 12px 18px; font-size: 1rem; line-height: 1.35; }
body[data-page="contact"] .contact-status { margin: 0; font-size: .9375rem; line-height: 1.55; overflow-wrap: anywhere; }
body[data-page="contact"] .contact-email-fallback { display: flex; align-items: center; justify-content: center; min-height: 44px; margin: 0; padding: 6px 8px; font-size: .9375rem; line-height: 1.5; }

body[data-page="contact"] .contact-options { padding-block: clamp(64px, 8vw, 96px); }
body[data-page="contact"] .section-heading { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 22px clamp(28px, 4vw, 56px); margin-bottom: 36px; }
body[data-page="contact"] .section-heading h2 { font-size: clamp(2.25rem, 3.5vw, 3.3rem); line-height: 1.07; }
body[data-page="contact"] .section-heading > p:last-child { max-width: none; font-size: 1rem; line-height: 1.65; }
body[data-page="contact"] .contact-option-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body[data-page="contact"] .contact-option-grid a { display: flex; flex-direction: column; min-height: 0; min-width: 0; padding: 26px; }
body[data-page="contact"] .contact-option-grid a > span { font-size: .75rem; line-height: 1.4; }
body[data-page="contact"] .contact-option-grid h3 { margin: 24px 0 12px; font-size: clamp(1.5rem, 2.3vw, 1.85rem); line-height: 1.15; }
body[data-page="contact"] .contact-option-grid p { margin-bottom: 18px; font-size: 1rem; line-height: 1.65; }
body[data-page="contact"] .contact-option-grid small { margin-top: auto; padding-top: 6px; font-size: .9375rem; line-height: 1.4; }
body[data-page="contact"] .urgent-note { display: grid; grid-template-columns: minmax(0, .6fr) minmax(0, 1.4fr); gap: 12px 24px; margin-top: 28px; padding: 20px 24px; font-size: .9375rem; line-height: 1.6; }

@media (min-width: 601px) {
  body[data-page="contact"] .contact-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-page="contact"] .contact-form > label:nth-of-type(-n+2) { grid-column: auto; }
}

@media (max-width: 1020px) {
  body[data-page="contact"] .contact-shell { grid-template-columns: minmax(0, 1fr); min-height: 0; gap: 36px; padding-top: 112px; }
  body[data-page="contact"] .contact-intro,
  body[data-page="contact"] .contact-form { width: min(100%, 720px); margin-inline: auto; }
  body[data-page="contact"] .contact-intro h1 { max-width: 680px; font-size: clamp(2.5rem, 5.5vw, 3.6rem); }
  body[data-page="contact"] .section-heading { grid-template-columns: minmax(0, 1fr); }
  body[data-page="contact"] .section-heading .eyebrow { grid-column: 1; margin: 0; }
}

@media (max-width: 760px) {
  body[data-page="contact"] .contact-shell { gap: 30px; padding-top: 100px; padding-bottom: 44px; }
  body[data-page="contact"] .contact-intro .eyebrow { margin-bottom: 14px; }
  body[data-page="contact"] .contact-intro h1 { margin-bottom: 18px; font-size: clamp(2.1rem, 8.5vw, 2.9rem); line-height: 1.07; }
  body[data-page="contact"] .contact-intro .lead { font-size: 1rem; line-height: 1.55; }
  body[data-page="contact"] .contact-direct,
  body[data-page="contact"] .contact-trust { margin-top: 22px; }
  body[data-page="contact"] .contact-form { padding: 24px 18px; }
  body[data-page="contact"] .privacy-summary { padding: 16px 14px; }
  body[data-page="contact"] .contact-options { padding-block: 60px; }
  body[data-page="contact"] .section-heading { margin-bottom: 28px; }
  body[data-page="contact"] .section-heading h2 { font-size: clamp(2.1rem, 8.5vw, 2.75rem); }
  body[data-page="contact"] .contact-option-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  body[data-page="contact"] .contact-option-grid a { padding: 24px; }
  body[data-page="contact"] .urgent-note { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 20px; }
}

/* Home cover: fit the available screen while allowing enlarged text to reflow. */
.home-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
  align-items: center;
  gap: clamp(28px, 4vw, 56px);
  min-height: 100svh;
  padding-top: clamp(100px, 13svh, 130px);
  padding-bottom: 0;
}
.home-hero-copy { min-width: 0; padding-bottom: 36px; }
.home-hero-copy h1 {
  max-width: 100%;
  margin-bottom: 22px;
  font-size: clamp(2.65rem, min(4.5vw, 7svh), 4.85rem);
  line-height: 1.02;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.home-title-ending { display: inline-block; max-width: 100%; }
.home-hero .eyebrow { margin-bottom: 16px; font-size: .875rem; }
.home-hero-copy .lead {
  margin-bottom: 24px;
  font-size: clamp(1rem, 1.25vw, 1.125rem);
  line-height: 1.6;
}
.home-hero .hero-actions { gap: 14px; }
.home-hero .hero-actions .button { min-height: 50px; padding-inline: 18px; font-size: .9375rem; }
.home-hero .credential-row { margin-top: 26px; gap: 9px; font-size: .75rem; line-height: 1.4; }
.home-portrait {
  position: relative;
  inset: auto;
  align-self: end;
  min-width: 0;
  min-height: 0;
  height: min(700px, calc(100svh - 110px));
}
.home-portrait .portrait-image {
  inset: auto 0 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  object-position: center bottom;
}
.home-portrait .portrait-aura {
  right: -5%;
  bottom: 8%;
  width: 115%;
  height: auto;
  aspect-ratio: 1;
}
.home-portrait .portrait-label { left: 0; bottom: 30px; min-width: 0; max-width: 100%; }
.home-portrait .note-b { right: 0; bottom: 135px; }

@media (max-width: 1020px) and (min-width: 761px) {
  .home-hero { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 24px; }
  .home-hero-copy h1 { font-size: clamp(2.4rem, 4.6vw, 3rem); }
  .home-hero .hero-actions { flex-wrap: wrap; gap: 10px; }
  .home-hero .hero-actions .button { padding-inline: 14px; font-size: .875rem; }
}

@media (max-width: 760px) {
  .home-hero {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto auto auto auto;
    align-content: center;
    align-items: start;
    column-gap: 16px;
    row-gap: 0;
    padding-top: 88px;
    padding-bottom: 16px;
  }
  .home-hero-copy { display: contents; }
  .home-hero-copy.reveal { opacity: 1; transform: none; }
  .home-hero-copy > * { position: relative; z-index: 4; }
  .home-hero .eyebrow { grid-column: 1 / -1; grid-row: 1; margin-bottom: 12px; line-height: 1.3; }
  .home-hero-copy h1 {
    grid-column: 1 / -1;
    grid-row: 2;
    margin-bottom: 14px;
    font-size: clamp(1.85rem, min(8.7vw, 5svh), 2.6rem);
    line-height: 1.04;
    letter-spacing: -.04em;
  }
  .home-hero-copy .lead {
    grid-column: 1 / -1;
    grid-row: 3;
    margin-bottom: 16px;
    font-size: 1rem;
    line-height: 1.45;
  }
  .home-hero .hero-actions {
    grid-column: 1;
    grid-row: 4;
    flex-direction: column;
    align-items: stretch;
    gap: 9px;
    padding-top: 4px;
  }
  .home-hero .hero-actions .button {
    width: 100%;
    min-height: 46px;
    padding: 8px 10px;
    gap: 7px;
    font-size: .875rem;
    line-height: 1.3;
    text-align: center;
  }
  .home-hero .hero-actions .button svg { flex: 0 0 16px; }
  .home-hero .credential-row {
    grid-column: 1;
    grid-row: 5;
    align-self: start;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    max-width: none;
    margin-top: 14px;
    font-size: .75rem;
    line-height: 1.35;
    letter-spacing: .025em;
  }
  .home-hero .credential-row i { display: none; }
  .home-hero .credential-row span:first-child { text-transform: none; letter-spacing: 0; }
  .home-portrait {
    position: relative;
    inset: auto;
    grid-column: 2;
    grid-row: 4 / 6;
    align-self: end;
    min-height: 0;
    height: clamp(190px, 29svh, 260px);
  }
  .home-portrait .portrait-image { right: 0; bottom: 0; height: 100%; }
  .home-portrait .portrait-aura { right: -10%; bottom: 10%; width: 120%; }
  .home-portrait .portrait-aura::before { inset: 16%; }
  .home-portrait .portrait-aura::after { inset: 32%; }
  .home-portrait .portrait-label { left: 0; right: 0; bottom: 0; min-width: 0; padding: 8px; gap: 3px; }
  .home-portrait .portrait-label span { font-size: .875rem; }
  /* The full qualification remains visible beside the portrait. */
  .home-portrait .portrait-label small { display: none; }
}

@media (max-width: 760px) and (max-height: 680px) {
  .home-hero { padding-top: 84px; padding-bottom: 10px; }
  .home-hero .eyebrow { margin-bottom: 8px; }
  .home-hero-copy h1 { margin-bottom: 8px; font-size: clamp(1.65rem, 8.4vw, 2rem); }
  .home-hero-copy .lead { margin-bottom: 12px; line-height: 1.4; }
  .home-hero .hero-actions { gap: 8px; padding-top: 0; }
  .home-hero .hero-actions .button { min-height: 44px; padding-block: 6px; }
  .home-hero .credential-row { margin-top: 10px; gap: 4px; line-height: 1.25; }
}
