:root {
  --ink: #0a0a09;
  --ink-soft: #151512;
  --paper: #f0ede6;
  --paper-deep: #e5e0d6;
  --gold: #bb9251;
  --gold-light: #e3c682;
  --gold-muted: #8e7042;
  --line: rgba(187, 146, 81, 0.32);
  --muted: #78736a;
  --serif: "Playfair Display", Georgia, serif;
  --sans: "Manrope", Arial, sans-serif;
  --mono: "DM Mono", monospace;
  --pad: clamp(1.35rem, 4vw, 4.75rem);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.5; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
img { display: block; max-width: 100%; }

.skip-link { position: absolute; z-index: 200; left: 1rem; top: -4rem; background: var(--gold-light); color: var(--ink); padding: .75rem 1rem; font-weight: 700; }
.skip-link:focus { top: 1rem; }

.site-header { position: fixed; z-index: 90; left: 0; right: 0; top: 0; display: flex; align-items: center; justify-content: space-between; padding: 1.05rem var(--pad); border-bottom: 1px solid rgba(255,255,255,.11); color: #fff; transition: background .35s ease, padding .35s ease, box-shadow .35s ease; }
.site-header.is-scrolled { padding-top: .7rem; padding-bottom: .7rem; background: rgba(10,10,9,.94); backdrop-filter: blur(14px); box-shadow: 0 5px 28px rgba(0,0,0,.18); }
.brand { display: inline-flex; align-items: center; gap: .62rem; min-width: max-content; }
.brand img { width: 43px; height: 43px; object-fit: contain; }
.brand-lockup { display: flex; flex-direction: column; line-height: 1; gap: .24rem; }
.brand-lockup strong { font-family: var(--serif); letter-spacing: .155em; font-size: .98rem; font-weight: 600; }
.brand-lockup span { color: var(--gold-light); font-family: var(--mono); font-size: .43rem; font-weight: 500; letter-spacing: .22em; }
.header-actions { display: flex; align-items: center; gap: .68rem; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: .85rem; min-height: 2.85rem; padding: .75rem 1.15rem; border: 1px solid transparent; font-family: var(--sans); font-size: .71rem; font-weight: 700; letter-spacing: .045em; line-height: 1; text-transform: uppercase; transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease; white-space: nowrap; }
.button:hover { transform: translateY(-2px); }
.button-gold { background: var(--gold-light); color: #17130b; border-color: var(--gold-light); }
.button-gold:hover { background: #f0d998; border-color: #f0d998; }
.button-ghost { border-color: rgba(255,255,255,.52); color: #fff; }
.button-ghost:hover { border-color: var(--gold-light); color: var(--gold-light); }
.button-dark { background: var(--ink); color: var(--gold-light); border-color: var(--ink); margin-top: 1.6rem; }
.button-dark:hover { background: #24221c; }
.button-large { padding: .96rem 1.38rem; min-height: 3.3rem; }

.hero { position: relative; min-height: max(760px, 100svh); display: flex; flex-direction: column; justify-content: center; isolation: isolate; color: #fff; background: var(--ink); overflow: hidden; }
.hero-image { position: absolute; z-index: -3; inset: 0; background-image: linear-gradient(90deg, rgba(8,8,7,.9) 0%, rgba(8,8,7,.68) 44%, rgba(8,8,7,.38) 100%), linear-gradient(0deg, rgba(8,8,7,.5) 0%, transparent 38%), url('/manus-storage/sQ55lJRiuwhq_1145cd17.jpg'); background-position: center center; background-repeat: no-repeat; background-size: cover; transform: scale(1.025); animation: slowZoom 19s ease-out forwards; }
.hero-grain { position: absolute; z-index: -1; inset: 0; opacity: .14; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; }
.hero-content { width: min(790px, calc(100% - (var(--pad) * 2))); margin: 7rem var(--pad) 4rem; }
.eyebrow { display: flex; align-items: center; gap: .72rem; margin: 0 0 1.25rem; color: var(--gold-muted); font-family: var(--mono); font-size: .65rem; font-weight: 500; letter-spacing: .12em; line-height: 1.3; text-transform: uppercase; }
.eyebrow span { display: inline-block; width: 25px; height: 1px; background: currentColor; }
.eyebrow.light { color: var(--gold-light); }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: var(--serif); font-weight: 500; letter-spacing: -.045em; line-height: .98; }
h1 { max-width: 760px; margin-bottom: 1.55rem; font-size: clamp(3.5rem, 7.2vw, 7.2rem); }
h1 em, h2 em, h3 em { color: var(--gold-light); font-style: italic; }
.hero-copy { max-width: 560px; margin-bottom: 2.2rem; color: rgba(255,255,255,.75); font-size: clamp(1rem, 1.35vw, 1.17rem); line-height: 1.7; }
.hero-actions { display: flex; align-items: center; gap: 1.65rem; }
.text-link { display: inline-flex; align-items: center; gap: .55rem; padding: .6rem 0; border-bottom: 1px solid currentColor; font-size: .74rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; transition: color .2s ease; }
.text-link:hover { color: var(--gold-light); }
.text-link-light { color: #fff; }
.hero-bottom { position: absolute; bottom: 1.35rem; left: var(--pad); right: var(--pad); display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; color: rgba(255,255,255,.63); font-family: var(--mono); font-size: .54rem; letter-spacing: .1em; }
.hero-bottom > :last-child { text-align: right; }
.scroll-cue { display: flex; flex-direction: column; align-items: center; gap: .6rem; }
.scroll-cue i { display: block; width: 1px; height: 32px; background: linear-gradient(var(--gold-light), transparent); animation: scrollPulse 2.2s ease-in-out infinite; }

.section { padding: clamp(5.8rem, 10vw, 10rem) var(--pad); }
.trust-bar { display: grid; grid-template-columns: repeat(4, 1fr); background: var(--ink-soft); color: #fff; border-top: 1px solid rgba(255,255,255,.07); }
.trust-item { min-height: 177px; padding: 2.1rem var(--pad); display: flex; flex-direction: column; justify-content: center; border-right: 1px solid rgba(255,255,255,.09); }
.trust-item:last-child { border-right: 0; }
.trust-number { margin-bottom: .55rem; color: var(--gold-light); font-family: var(--serif); font-size: clamp(2rem, 3vw, 3.05rem); letter-spacing: -.05em; line-height: .9; }
.trust-number span { font-family: var(--sans); font-size: .56em; }
.trust-label { max-width: 185px; margin: 0; color: rgba(255,255,255,.6); font-family: var(--mono); font-size: .61rem; line-height: 1.55; letter-spacing: .06em; text-transform: uppercase; }

.section-heading { max-width: 790px; margin-bottom: clamp(3rem, 6vw, 5.3rem); }
.heading-wide { max-width: none; display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(230px, .62fr); align-items: end; gap: 4rem; }
.section-heading h2, .process h2, .analysis h2, .why h2, .faq h2, .final-cta h2 { margin-bottom: 0; font-size: clamp(2.75rem, 5vw, 5.3rem); }
.section-heading > p { margin: 0 0 .5rem; color: #5a5650; font-size: .95rem; line-height: 1.72; }
.opportunities { background: var(--paper); }
.opportunity-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(10,10,9,.15); border-left: 1px solid rgba(10,10,9,.15); }
.opportunity-card { min-height: 305px; padding: 1.5rem 1.5rem 1.65rem; display: flex; flex-direction: column; border-bottom: 1px solid rgba(10,10,9,.15); border-right: 1px solid rgba(10,10,9,.15); transition: background .28s ease, color .28s ease; }
.opportunity-card:hover { background: var(--ink); color: #fff; }
.card-top { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: auto; }
.card-index { color: #9d978d; font-family: var(--mono); font-size: .61rem; letter-spacing: .06em; }
.opportunity-card svg { width: 43px; height: 43px; fill: none; stroke: var(--gold); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.2; }
.opportunity-card h3 { margin: 2rem 0 .65rem; font-family: var(--serif); font-size: 1.64rem; font-weight: 500; letter-spacing: -.035em; line-height: 1.05; }
.opportunity-card h3 span { color: var(--gold); }
.opportunity-card p { max-width: 275px; margin-bottom: 1.2rem; color: #67635c; font-size: .79rem; line-height: 1.65; }
.opportunity-card:hover p { color: rgba(255,255,255,.62); }
.risk { width: max-content; padding: .34rem .55rem; border: 1px solid currentColor; font-family: var(--mono); font-size: .54rem; letter-spacing: .07em; text-transform: uppercase; }
.risk-low { color: #76836e; }.risk-medium { color: #9b7e48; }.risk-high { color: #9a5f50; }
.opportunity-card:hover .risk-low, .opportunity-card:hover .risk-medium, .opportunity-card:hover .risk-high { color: var(--gold-light); }

.process { background: var(--ink); color: #fff; overflow: hidden; }
.process-intro { max-width: 720px; margin-bottom: clamp(4.2rem, 8vw, 7.3rem); }
.process-intro h2 { max-width: 650px; color: #f3f0e9; }
.process-intro > p:last-child { max-width: 500px; margin: 1.6rem 0 0; color: rgba(255,255,255,.56); font-size: .95rem; line-height: 1.7; }
.process-line { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; padding: 0; margin: 0; list-style: none; }
.process-line::before { content: ""; position: absolute; top: 1.15rem; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, var(--gold) 0 12%, rgba(187,146,81,.24) 12% 100%); }
.process-line li { padding-top: 3.3rem; }
.process-line span { position: absolute; top: 0; display: grid; place-items: center; width: 2.35rem; height: 2.35rem; border: 1px solid var(--gold); border-radius: 50%; background: var(--ink); color: var(--gold-light); font-family: var(--mono); font-size: .55rem; }
.process-line h3 { margin: 0 0 .8rem; color: #f3f0e9; font-family: var(--serif); font-size: 1.5rem; font-weight: 500; letter-spacing: -.035em; line-height: 1.1; }
.process-line p { max-width: 200px; margin: 0; color: rgba(255,255,255,.5); font-size: .75rem; line-height: 1.65; }

.analysis { display: grid; grid-template-columns: .75fr 1.25fr; align-items: center; gap: clamp(3rem, 7vw, 9rem); background: #dbd5c8; overflow: hidden; }
.analysis-copy { max-width: 470px; }
.analysis-copy > p:not(.eyebrow) { margin: 1.6rem 0 0; color: #5d574e; line-height: 1.75; }
.analysis-visual { position: relative; min-height: 560px; display: flex; align-items: center; justify-content: center; padding: clamp(2rem, 5vw, 4.5rem); overflow: hidden; background: #2c2b27; box-shadow: 18px 18px 0 rgba(10,10,9,.12); }
.analysis-photo { position: absolute; inset: 0; background: linear-gradient(rgba(12,12,10,.5), rgba(12,12,10,.75)), url('/manus-storage/rJetwm3SjHa7_73e994c9.jpg') center / cover; filter: grayscale(.7); transform: scale(1.06); }
.paper-card { position: relative; z-index: 1; width: min(100%, 480px); padding: 1.45rem; background: rgba(245,243,237,.95); color: var(--ink); box-shadow: 0 18px 60px rgba(0,0,0,.3); filter: blur(2px); opacity: .78; transform: rotate(-2deg); }
.paper-head, .paper-location, .paper-metrics { display: flex; align-items: center; justify-content: space-between; gap: 1rem; font-family: var(--mono); font-size: .56rem; letter-spacing: .08em; text-transform: uppercase; }
.paper-head { padding-bottom: 1rem; border-bottom: 1px solid rgba(10,10,9,.2); }.paper-location { padding: .9rem 0; color: #686057; }.paper-location i { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); }
.paper-main { display: grid; grid-template-columns: 1fr 1.15fr; gap: .9rem; padding: 1.1rem 0; border-top: 1px solid rgba(10,10,9,.13); border-bottom: 1px solid rgba(10,10,9,.13); }.paper-main div { display: flex; flex-direction: column; gap: .35rem; }.paper-main small, .paper-metrics small { color: #857b70; font-size: .58rem; }.paper-main strong { font-family: var(--serif); font-size: 1.12rem; font-weight: 500; line-height: 1.2; }.struck { text-decoration: line-through; text-decoration-thickness: 1px; }
.paper-metrics { align-items: flex-start; padding: 1rem 0; }.paper-metrics div { flex: 1; display: flex; flex-direction: column; gap: .32rem; }.paper-metrics b { font-family: var(--sans); font-size: .58rem; font-weight: 700; line-height: 1.35; }.paper-lines { display: grid; gap: .55rem; }.paper-lines i { display: block; width: 100%; height: 3px; background: rgba(10,10,9,.12); }.paper-lines i:nth-child(2) { width: 83%; }.paper-lines i:nth-child(3) { width: 65%; }
.lock-overlay { position: absolute; z-index: 2; left: 50%; top: 50%; display: flex; flex-direction: column; align-items: center; gap: .85rem; color: var(--gold-light); transform: translate(-50%,-50%); }.lock-icon { display: grid; place-items: center; width: 70px; height: 70px; border: 1px solid rgba(227,198,130,.65); border-radius: 50%; background: rgba(10,10,9,.82); backdrop-filter: blur(6px); }.lock-icon svg { width: 30px; fill: none; stroke: var(--gold-light); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; }.lock-overlay > span { padding: .43rem .65rem; background: rgba(10,10,9,.8); font-family: var(--mono); font-size: .57rem; letter-spacing: .11em; white-space: nowrap; }

.why { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); gap: clamp(3rem, 8vw, 11rem); align-items: center; background: #eeeae1; }
.why-image { position: relative; min-height: 580px; overflow: hidden; background: #d8d2c7; }.why-image img { width: 100%; height: 100%; min-height: 580px; object-fit: cover; filter: saturate(.65) contrast(1.03); }.image-label { position: absolute; left: 1.35rem; bottom: 1.35rem; padding: .78rem .92rem; background: rgba(10,10,9,.84); color: #fff; font-family: var(--serif); font-size: 1rem; line-height: 1.25; }.image-label span { display: block; margin-top: .3rem; color: var(--gold-light); font-family: var(--mono); font-size: .49rem; letter-spacing: .08em; text-transform: uppercase; }
.why h2 { max-width: 570px; }.why-list { padding: 0; margin: clamp(2rem, 4vw, 3.2rem) 0 0; list-style: none; border-top: 1px solid rgba(10,10,9,.17); }.why-list li { display: grid; grid-template-columns: 2.1rem 1fr; gap: .55rem; padding: 1.13rem 0; border-bottom: 1px solid rgba(10,10,9,.17); }.why-list > li > span { padding-top: .18rem; color: var(--gold-muted); font-family: var(--mono); font-size: .57rem; }.why-list p { margin: 0; }.why-list strong { display: block; font-family: var(--serif); font-size: 1.17rem; font-weight: 500; letter-spacing: -.025em; line-height: 1.2; }.why-list small { display: block; margin-top: .3rem; color: #777167; font-size: .72rem; line-height: 1.5; }

.audiences { background: var(--paper); }.audience-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(10,10,9,.18); border: 1px solid rgba(10,10,9,.18); }.audience-card { position: relative; min-height: 354px; padding: 1.45rem; display: flex; flex-direction: column; background: var(--paper); transition: background .28s ease, color .28s ease; overflow: hidden; }.audience-card:hover, .audience-featured { background: var(--ink); color: #fff; }.audience-no { color: #9d978d; font-family: var(--mono); font-size: .59rem; }.audience-icon { margin: auto 0 1.35rem; color: var(--gold); font-family: var(--serif); font-size: 3.7rem; line-height: .7; }.audience-card h3 { margin: 0 0 .75rem; font-family: var(--serif); font-size: 2rem; font-weight: 500; letter-spacing: -.045em; line-height: .98; }.audience-card h3 em { color: var(--gold); }.audience-card p { max-width: 295px; margin: 0; color: #69645d; font-size: .76rem; line-height: 1.6; }.audience-card:hover p, .audience-featured p { color: rgba(255,255,255,.58); }.card-arrow { position: absolute; right: 1.45rem; bottom: 1.35rem; color: var(--gold); font-size: 1.35rem; transition: transform .2s ease; }.audience-card:hover .card-arrow { transform: translateX(5px); }

.faq { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(4rem, 9vw, 11rem); background: var(--ink-soft); color: #fff; }.faq-intro h2 { color: #f3f0e9; }.faq-list { border-top: 1px solid rgba(255,255,255,.2); }.faq details { border-bottom: 1px solid rgba(255,255,255,.2); }.faq summary { position: relative; display: flex; justify-content: space-between; gap: 1rem; padding: 1.25rem 0; cursor: pointer; color: #eee9df; font-family: var(--serif); font-size: clamp(1.15rem, 1.45vw, 1.45rem); letter-spacing: -.025em; line-height: 1.2; list-style: none; }.faq summary::-webkit-details-marker { display: none; }.faq summary span, .faq summary span::after { width: 14px; height: 1px; background: var(--gold-light); transition: transform .25s ease; }.faq summary span { position: relative; flex: 0 0 14px; margin-top: .58em; }.faq summary span::after { position: absolute; content: ""; transform: rotate(90deg); }.faq details[open] summary span::after { transform: rotate(0deg); }.faq details p { max-width: 600px; margin: 0; padding: 0 2rem 1.35rem 0; color: rgba(255,255,255,.59); font-size: .79rem; line-height: 1.7; }

.final-cta { position: relative; min-height: 650px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 5rem var(--pad); isolation: isolate; overflow: hidden; background: #080808; color: #fff; text-align: center; }.final-cta::before { content: ""; position: absolute; z-index: -1; inset: 0; background: repeating-linear-gradient(90deg, transparent 0, transparent calc(25% - 1px), rgba(227,198,130,.07) calc(25% - 1px), rgba(227,198,130,.07) 25%); mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent); }.final-cta h2 { margin: 0 0 2.2rem; color: #f5f1e8; }.final-cta .eyebrow { justify-content: center; }.final-orb { position: absolute; z-index: -2; border-radius: 50%; filter: blur(4px); pointer-events: none; }.orb-one { width: 520px; height: 520px; right: -220px; top: -260px; background: radial-gradient(circle, rgba(187,146,81,.27), transparent 70%); }.orb-two { width: 400px; height: 400px; left: -190px; bottom: -240px; background: radial-gradient(circle, rgba(187,146,81,.19), transparent 70%); }

.site-footer { padding: 3.3rem var(--pad) 1.5rem; background: #0a0a09; color: #fff; }.footer-main { display: grid; grid-template-columns: 1fr 1.25fr auto; gap: 2rem; align-items: start; padding-bottom: 3.2rem; border-bottom: 1px solid rgba(255,255,255,.15); }.footer-brand { width: max-content; }.footer-details p { margin: 0 0 .36rem; color: rgba(255,255,255,.54); font-size: .7rem; line-height: 1.5; }.footer-details p:first-child { color: #f1ede4; font-family: var(--serif); font-size: 1.03rem; }.footer-links { display: flex; flex-direction: column; align-items: flex-end; gap: .55rem; }.footer-links a { color: var(--gold-light); font-family: var(--mono); font-size: .58rem; letter-spacing: .06em; text-transform: uppercase; }.footer-links a:hover { color: #fff; }.footer-bottom { display: grid; grid-template-columns: minmax(0, 1.8fr) auto; gap: 2rem; align-items: end; padding-top: 1.45rem; }.footer-bottom p { margin: 0; color: rgba(255,255,255,.36); font-size: .58rem; line-height: 1.65; }.footer-bottom p:first-child { max-width: 820px; }.footer-bottom p:last-child { color: rgba(255,255,255,.48); font-family: var(--mono); font-size: .52rem; letter-spacing: .07em; white-space: nowrap; }
.mobile-access { display: none; }

.js .reveal { opacity: 0; transform: translateY(21px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }.js .reveal.in-view { opacity: 1; transform: translateY(0); }.js .opportunity-card.reveal:nth-child(2), .js .audience-card.reveal:nth-child(2), .js .process-line li.reveal:nth-child(2) { transition-delay: .07s; }.js .opportunity-card.reveal:nth-child(3), .js .audience-card.reveal:nth-child(3), .js .process-line li.reveal:nth-child(3) { transition-delay: .14s; }.js .opportunity-card.reveal:nth-child(4), .js .process-line li.reveal:nth-child(4) { transition-delay: .09s; }.js .opportunity-card.reveal:nth-child(5) { transition-delay: .16s; }.js .opportunity-card.reveal:nth-child(6) { transition-delay: .23s; }

@keyframes slowZoom { to { transform: scale(1.1); } } @keyframes scrollPulse { 50% { transform: scaleY(.55); opacity: .35; } }
@media (max-width: 920px) { .trust-bar { grid-template-columns: repeat(2, 1fr); }.trust-item:nth-child(2) { border-right: 0; }.trust-item:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.09); }.heading-wide, .analysis, .why, .faq { grid-template-columns: 1fr; gap: 3.4rem; }.heading-wide > p { max-width: 480px; }.opportunity-grid { grid-template-columns: repeat(2, 1fr); }.process-line { grid-template-columns: repeat(2, 1fr); row-gap: 3.5rem; }.process-line::before { display: none; }.process-line li { border-top: 1px solid rgba(187,146,81,.3); }.process-line span { top: -1.15rem; }.process-line li:nth-child(n+3) span { top: calc(50% - 1.15rem); }.why-image, .why-image img { min-height: 430px; }.footer-main { grid-template-columns: 1fr 1fr; }.footer-links { align-items: flex-start; }.footer-brand { grid-column: 1 / -1; }.footer-bottom { grid-template-columns: 1fr; } }
@media (max-width: 640px) { :root { --pad: 1.25rem; }.site-header { padding: .76rem var(--pad); }.brand img { width: 37px; height: 37px; }.brand-lockup strong { font-size: .8rem; }.brand-lockup span { font-size: .37rem; }.header-actions .button-ghost { display: none; }.header-actions .button { min-height: 2.45rem; padding: .65rem .78rem; font-size: .58rem; }.hero { min-height: 720px; }.hero-image { background-position: 57% center; }.hero-content { width: calc(100% - (var(--pad) * 2)); margin: 7.2rem var(--pad) 5rem; }.hero-copy { font-size: .96rem; line-height: 1.65; }.hero-actions { align-items: flex-start; flex-direction: column; gap: .7rem; }.hero-bottom { grid-template-columns: 1fr; bottom: 1.4rem; text-align: left; }.hero-bottom > :first-child, .hero-bottom > :last-child { display: none; }.scroll-cue { align-items: flex-start; }.trust-item { min-height: 146px; padding: 1.6rem var(--pad); }.trust-number { font-size: 2.15rem; }.section { padding-top: 4.6rem; padding-bottom: 4.6rem; }.section-heading h2, .process h2, .analysis h2, .why h2, .faq h2, .final-cta h2 { font-size: clamp(2.5rem, 12vw, 3.5rem); }.opportunity-grid { grid-template-columns: 1fr; }.opportunity-card { min-height: 270px; }.process-intro { margin-bottom: 3.4rem; }.process-line { grid-template-columns: 1fr; gap: 2.3rem; }.process-line li:nth-child(n+3) span { top: -1.15rem; }.analysis { gap: 2.7rem; }.analysis-visual { min-height: 420px; padding: 1.2rem; box-shadow: 9px 9px 0 rgba(10,10,9,.12); }.paper-card { padding: 1rem; }.paper-head, .paper-location, .paper-metrics { font-size: .46rem; }.paper-main strong { font-size: .93rem; }.lock-icon { width: 62px; height: 62px; }.why-image, .why-image img { min-height: 370px; }.why { gap: 2.8rem; }.why-list strong { font-size: 1.02rem; }.audience-cards { grid-template-columns: 1fr; }.audience-card { min-height: 292px; }.faq { gap: 2.8rem; }.faq details p { font-size: .75rem; }.final-cta { min-height: 560px; padding-top: 4rem; padding-bottom: 4rem; }.footer-main { grid-template-columns: 1fr; gap: 1.7rem; }.footer-brand { grid-column: auto; }.footer-links { flex-direction: row; flex-wrap: wrap; column-gap: 1rem; row-gap: .65rem; }.footer-bottom { gap: 1rem; }.mobile-access { position: fixed; z-index: 89; right: 1rem; bottom: 1rem; display: flex; align-items: center; gap: .65rem; padding: .88rem 1.05rem; background: var(--gold-light); color: var(--ink); box-shadow: 0 8px 24px rgba(0,0,0,.28); font-size: .61rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }.mobile-access span { font-size: 1rem; }.site-footer { padding-bottom: 6.1rem; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }


/* Acceso compacto para inversores con sesión en pantallas pequeñas. */
.login-short { display: none; }

/* Documentación pública complementaria. */
.legal-shell { background: var(--paper); }
.legal-shell .legal-header { position: relative; background: var(--ink); }
.legal-page { width: min(100%, 980px); margin: 0 auto; padding: clamp(5rem, 10vw, 9rem) var(--pad); }
.legal-page h1 { margin-bottom: clamp(3rem, 6vw, 5rem); font-size: clamp(3.4rem, 8vw, 6.6rem); }
.legal-content { display: grid; gap: 0; border-top: 1px solid rgba(10,10,9,.18); }
.legal-content section { display: grid; grid-template-columns: minmax(190px, .7fr) minmax(0, 1.3fr); gap: 2rem; padding: 1.65rem 0; border-bottom: 1px solid rgba(10,10,9,.18); }
.legal-content h2 { margin: 0; font-family: var(--serif); font-size: 1.42rem; font-weight: 500; letter-spacing: -.025em; line-height: 1.15; }
.legal-content p { margin: 0; color: #5d574e; font-size: .92rem; line-height: 1.75; }
.legal-content strong { color: var(--ink); }
.legal-footer { padding-top: 1.5rem; }

@media (max-width: 640px) {
  .header-actions .button-ghost.button-login { display: inline-flex; padding-inline: .7rem; }
  .button-login .login-full { display: none; }
  .button-login .login-short { display: inline; }
  .legal-page { padding-top: 4.5rem; padding-bottom: 4.5rem; }
  .legal-content section { grid-template-columns: 1fr; gap: .65rem; padding: 1.35rem 0; }
  .legal-content h2 { font-size: 1.25rem; }
  .legal-header .button { padding-inline: .75rem; }
}


/* Procedencia de oportunidades: off-market, obra nueva y red profesional. */
.origination { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr); gap: clamp(2.5rem, 7vw, 8.5rem); align-items: end; padding: clamp(4rem, 7vw, 7rem) var(--pad); background: #e5e0d6; border-bottom: 1px solid rgba(10,10,9,.16); }
.origination-intro h2 { max-width: 660px; margin: 0; font-family: var(--serif); font-size: clamp(2.4rem, 4.3vw, 4.7rem); font-weight: 500; letter-spacing: -.045em; line-height: .98; }
.origination-detail { max-width: 480px; padding-bottom: .35rem; }
.origination-tags { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.2rem; }
.origination-tags span { padding: .42rem .58rem; border: 1px solid rgba(10,10,9,.32); color: var(--gold-muted); font-family: var(--mono); font-size: .56rem; letter-spacing: .08em; text-transform: uppercase; }
.origination-detail p { margin: 0; color: #5a554d; font-size: .92rem; line-height: 1.72; }

@media (max-width: 920px) { .origination { grid-template-columns: 1fr; gap: 2rem; } .origination-detail { max-width: 550px; } }
@media (max-width: 640px) { .origination { padding-top: 3.6rem; padding-bottom: 3.6rem; } .origination-intro h2 { font-size: clamp(2.35rem, 11vw, 3.4rem); } .origination-detail p { font-size: .84rem; } }


/* Portada pública de Velstand Capital — inversión inmobiliaria */
.brand-text-only { gap: 0; }
.investor-hero .hero-image { background-image: linear-gradient(90deg, rgba(8,8,7,.91) 0%, rgba(8,8,7,.69) 44%, rgba(8,8,7,.34) 100%), linear-gradient(0deg, rgba(8,8,7,.52) 0%, transparent 46%), url('/manus-storage/async-images/cVJ1lmPytcPoXwCwtAQxjn/image-4.webp'); }
.hero-note { margin: 1.3rem 0 0; color: rgba(255,255,255,.58); font-family: var(--mono); font-size: .58rem; letter-spacing: .065em; text-transform: uppercase; }
.decision { background: var(--paper); }
.decision-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(10,10,9,.15); border-left: 1px solid rgba(10,10,9,.15); }
.decision-card { min-height: 250px; padding: 1.8rem; border-right: 1px solid rgba(10,10,9,.15); border-bottom: 1px solid rgba(10,10,9,.15); }
.decision-card > span { color: var(--gold-muted); font-family: var(--mono); font-size: .6rem; letter-spacing: .08em; }
.decision-card h3 { margin: 3.4rem 0 .7rem; font-family: var(--serif); font-size: 1.7rem; font-weight: 500; letter-spacing: -.04em; }
.decision-card p { max-width: 260px; margin: 0; color: #69645d; font-size: .82rem; line-height: 1.65; }
.numbers-section { color: #fff; background: #111f2a; }
.numbers-inner { display: grid; grid-template-columns: minmax(0,.95fr) minmax(430px,1fr); gap: 3.6rem 5.5rem; max-width: 1200px; margin: 0 auto; padding: clamp(5.8rem,10vw,9rem) var(--pad); }
.numbers-copy h2 { max-width: 570px; color: #f7f2e9; font-size: clamp(2.75rem,5vw,5.25rem); }
.numbers-copy > p:last-child { max-width: 550px; margin: 1.5rem 0 0; color: #c3d0d4; font-size: 1rem; line-height: 1.75; }
.numbers-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.numbers-grid article { min-height: 155px; padding: 1.45rem; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.035); }
.numbers-grid p { margin: 0; color: #b7c4ca; font-size: .75rem; line-height: 1.45; }
.numbers-grid strong { display: block; margin-top: 1.7rem; color: #f8f4ed; font-family: var(--serif); font-size: clamp(2.45rem,4vw,3.7rem); font-weight: 500; letter-spacing: -.055em; line-height: .82; }
.numbers-grid small { display: block; margin-top: .55rem; color: var(--gold-light); font-size: .65rem; line-height: 1.4; }
.numbers-detail { max-width: 820px; padding-top: 1.8rem; grid-column: 1 / -1; border-top: 1px solid rgba(255,255,255,.2); }
.numbers-detail h3 { margin: 0 0 .75rem; color: #f5f1e9; font-family: var(--serif); font-size: 2rem; font-weight: 500; letter-spacing: -.04em; }
.numbers-detail > p:not(.eyebrow) { max-width: 660px; margin: 0 0 1.25rem; color: #c5d0d4; font-size: .88rem; line-height: 1.7; }
.team-section { display: grid; grid-template-columns: minmax(290px,.62fr) minmax(0,1fr); gap: clamp(3rem,8vw,10rem); align-items: center; background: #e6e0d5; }
.team-media { position: relative; min-height: 480px; overflow: hidden; background: #102131; }
.team-media::after { position: absolute; inset: 0; content: ''; border: 1px solid rgba(227,198,130,.55); }
.team-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; image-rendering: auto; }
.team-media span { position: absolute; z-index: 1; left: 1.4rem; bottom: 1.3rem; color: #fff; font-family: var(--serif); font-size: 2.1rem; font-weight: 500; letter-spacing: -.06em; line-height: .82; text-shadow: 0 2px 15px rgba(0,0,0,.55); }
.team-copy { max-width: 660px; padding: 1rem 0; }
.team-copy h2 { margin-bottom: 1.05rem; font-size: clamp(3rem,5vw,5.2rem); }
.team-copy > p:not(.eyebrow):not(.team-name) { max-width: 640px; margin: 0 0 1.05rem; color: #514e47; font-size: .98rem; line-height: 1.75; }
.team-name { margin: 0 0 1.6rem; color: #17242d; font-family: var(--serif); font-size: 1.35rem; font-weight: 600; letter-spacing: -.025em; }
.team-name span { color: #6e665c; font-family: var(--sans); font-size: .74em; font-weight: 500; }
.team-credentials { display: flex; max-width: 670px; margin: 1.8rem 0; flex-wrap: wrap; gap: 8px; }
.team-credentials span { padding: .5rem .65rem; border: 1px solid rgba(10,10,9,.18); color: #3b4548; font-family: var(--mono); font-size: .56rem; letter-spacing: .02em; }
.support-section { display: grid; min-height: 570px; grid-template-columns: minmax(0,.88fr) minmax(0,1fr); color: #f3f0e9; background: #19303b; }
.support-image { min-height: 460px; }
.support-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.support-content { max-width: 650px; padding: clamp(5rem,8vw,8rem) clamp(2rem,7vw,8rem); }
.support-content h2 { font-size: clamp(2.8rem,5vw,5rem); }
.support-content > p:not(.eyebrow) { margin: 1.5rem 0; color: #d0d9da; font-size: .97rem; line-height: 1.73; }
.support-content ul { display: grid; margin: 0; padding: 0; gap: .8rem; list-style: none; }
.support-content li { position: relative; padding-left: 1.2rem; color: #e4e8e5; font-size: .8rem; line-height: 1.55; }
.support-content li::before { position: absolute; left: 0; top: .5rem; width: 6px; height: 6px; content: ''; border: 1px solid var(--gold-light); transform: rotate(45deg); }
.fees-section { background: var(--paper); }
.fee-cards { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid rgba(10,10,9,.15); background: rgba(10,10,9,.15); gap: 1px; }
.fee-cards article, .fee-cards aside { display: flex; min-height: 216px; padding: 1.75rem; flex-direction: column; background: #f9f7f1; }
.fee-cards p { margin: 0; color: #676158; font-size: .76rem; }
.fee-cards strong { display: block; margin: auto 0 1rem; color: #151512; font-family: var(--serif); font-size: 2.8rem; font-weight: 500; letter-spacing: -.055em; }
.fee-cards span { color: #777168; font-size: .72rem; line-height: 1.55; }
.fee-cards aside { min-height: 164px; grid-column: 1 / -1; color: #fff; background: #111f2a; }
.fee-cards aside p { color: var(--gold-light); font-family: var(--mono); font-size: .58rem; letter-spacing: .1em; }
.fee-cards aside strong { margin: .65rem 0; color: #f5f0e7; font-size: 3.1rem; }.fee-cards aside strong em { color: var(--gold-light); font-family: var(--sans); font-size: .3em; font-style: normal; letter-spacing: .06em; }.fee-cards aside span { max-width: 760px; color: #c2cdd0; }
.site-footer { display: grid; grid-template-columns: 200px 1fr; color: #c2ced1; background: #111f2a; }
.footer-brand-panel { display: grid; min-height: 260px; place-items: center; padding: 1.4rem; background: #172637; }
.footer-brand-panel img { max-width: 150px; max-height: 150px; object-fit: cover; }
.footer-columns { display: grid; padding: 3.8rem var(--pad); grid-template-columns: 1fr 1fr .7fr 1.45fr; gap: 2.4rem; align-content: center; }
.footer-title { margin: 0 0 .6rem; color: var(--gold-light); font-family: var(--mono); font-size: .57rem; letter-spacing: .11em; }.footer-columns p { margin: 0; font-size: .75rem; line-height: 1.75; }.footer-columns a { display: block; color: #e5eaeb; font-size: .75rem; line-height: 1.75; }.footer-columns a:hover { color: var(--gold-light); }.footer-legal { color: #9aabb1; font-size: .68rem !important; line-height: 1.7 !important; }.footer-links { display: flex; margin-top: .9rem !important; flex-wrap: wrap; gap: .8rem; }.footer-links a { display: inline; color: #b8c5c9; }
@media (max-width: 900px) { .numbers-inner, .team-section, .support-section { grid-template-columns: 1fr; }.numbers-inner { gap: 2.6rem; }.numbers-copy h2 { max-width: 720px; }.team-media { min-height: 420px; }.team-copy { max-width: 100%; }.support-image { max-height: 480px; }.support-content { max-width: 760px; padding: 5rem var(--pad); }.footer-columns { grid-template-columns: 1fr 1fr; }.footer-columns > :last-child { grid-column: 1 / -1; } }
@media (max-width: 640px) { .decision-grid, .numbers-grid, .fee-cards { grid-template-columns: 1fr; }.decision-card { min-height: 190px; }.decision-card h3 { margin-top: 2.1rem; }.numbers-inner { padding: 5.2rem var(--pad); }.numbers-grid article { min-height: 130px; }.numbers-detail { padding-top: 1.25rem; }.team-section { padding: 0; }.team-media { min-height: 380px; }.team-copy { padding: 4.8rem var(--pad); }.team-copy h2 { font-size: 3.65rem; }.support-content { padding: 4.7rem var(--pad); }.fee-cards aside { grid-column: auto; }.site-footer { grid-template-columns: 1fr; }.footer-brand-panel { min-height: 175px; }.footer-brand-panel img { max-width: 125px; max-height: 125px; }.footer-columns { padding: 3rem var(--pad); grid-template-columns: 1fr; gap: 1.8rem; }.footer-columns > :last-child { grid-column: auto; } }


/* Selector multilingüe y soporte RTL de la portada pública. */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.language-select {
  min-height: 2.5rem;
  inline-size: 3.55rem;
  padding-block: .45rem;
  padding-inline: .55rem;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 0;
  background: rgba(10,10,9,.38);
  color: #fff;
  font-family: var(--mono);
  font-size: .62rem;
  font-weight: 500;
  letter-spacing: .08em;
  line-height: 1;
  cursor: pointer;
}

.language-select:hover,
.language-select:focus-visible {
  border-color: var(--gold-light);
  outline: none;
}

.language-select option {
  background: var(--ink);
  color: #fff;
}

html[lang="ar"] {
  --sans: "IBM Plex Sans Arabic", Tahoma, Arial, sans-serif;
  --serif: "Noto Naskh Arabic", "IBM Plex Sans Arabic", Tahoma, serif;
}

html[lang="ar"] h1,
html[lang="ar"] h2,
html[lang="ar"] h3 {
  letter-spacing: -.02em;
  line-height: 1.2;
}

html[lang="ar"] .eyebrow,
html[lang="ar"] .hero-note,
html[lang="ar"] .trust-label,
html[lang="ar"] .footer-title,
html[lang="ar"] .language-select {
  letter-spacing: 0;
}

html[dir="rtl"] .language-select {
  direction: ltr;
}

html[dir="rtl"] .investor-hero .hero-image {
  background-image: linear-gradient(270deg, rgba(8,8,7,.91) 0%, rgba(8,8,7,.69) 44%, rgba(8,8,7,.34) 100%), linear-gradient(0deg, rgba(8,8,7,.52) 0%, transparent 46%), url('/manus-storage/async-images/cVJ1lmPytcPoXwCwtAQxjn/image-4.webp');
}

html[dir="rtl"] .hero-content {
  margin-inline: var(--pad);
}

html[dir="rtl"] .hero-bottom {
  inset-inline: var(--pad);
  left: auto;
  right: auto;
}

html[dir="rtl"] .hero-bottom > :last-child {
  text-align: start;
}

html[dir="rtl"] .process-line::before {
  background: linear-gradient(270deg, var(--gold) 0 12%, rgba(187,146,81,.24) 12% 100%);
}

html[dir="rtl"] .team-media span {
  inset-inline-start: 1.4rem;
  left: auto;
}

html[dir="rtl"] .support-content li {
  padding-inline-start: 1.2rem;
  padding-left: 0;
}

html[dir="rtl"] .support-content li::before {
  inset-inline-start: 0;
  left: auto;
}

html[dir="rtl"] .faq details p {
  padding-inline-end: 2rem;
  padding-right: 0;
}

html[dir="rtl"] .footer-columns,
html[dir="rtl"] .section-heading > p,
html[dir="rtl"] .team-copy,
html[dir="rtl"] .numbers-detail,
html[dir="rtl"] .support-content {
  text-align: start;
}

@media (max-width: 640px) {
  .header-actions {
    gap: .4rem;
  }

  .language-select {
    min-height: 2.45rem;
    inline-size: 3.15rem;
    padding-inline: .4rem;
    font-size: .57rem;
  }

  html[dir="rtl"] .hero-content {
    margin-inline: var(--pad);
  }

  html[dir="rtl"] .faq details p {
    padding-inline-end: 0;
  }
}
