/* Homepage: purpose → source guides → study paths → method → project direction. */
.landing-page { margin:0; background:var(--color-bg-canvas); color:var(--color-ink-primary); font:400 16px/1.65 var(--font-sans); }
.landing-page *, .landing-page *::before, .landing-page *::after { box-sizing:border-box; }
.landing-page a { color:inherit; text-decoration:none; }
.landing-page h1,.landing-page h2,.landing-page h3,.landing-page p { margin:0; }
.landing-wrap { width:min(100% - 64px,1160px); margin-inline:auto; }
.landing-section { margin-top:clamp(64px,7vw,100px); scroll-margin-top: calc(var(--site-header-size, calc(84px + var(--safe-area-top))) + 16px); }
.landing-eyebrow { display:flex; align-items:center; gap:8px; font:600 11px/1.5 var(--font-sans); letter-spacing:.075em; text-transform:uppercase; color:var(--color-ink-muted); }
.landing-eyebrow .ui-icon { width:17px; height:17px; color:var(--color-accent-primary); }
.editorial-dot { width:6px; height:6px; background:var(--color-accent-primary); border-radius:50%; flex-shrink:0; }
.landing-hero { padding-top:clamp(42px,5vw,70px); }
.hero-stage { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:36px; align-items:center; }
.landing-page h1 { font:400 clamp(44px,5.2vw,76px)/1.03 var(--font-serif); letter-spacing:-.035em; margin-top:22px; text-wrap:balance; }
.landing-page h1 em,.landing-page h2 em { color:var(--color-accent-primary); font-weight:inherit; }
.hero-description { max-width:560px; font-size:clamp(16px,1.5vw,18px); line-height:1.7; color:var(--color-ink-secondary); margin-top:25px !important; text-wrap:pretty; }
.landing-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.hero-copy .landing-actions { margin-top:28px; }
.landing-page .c-btn { display:inline-flex; align-items:center; gap:12px; min-height:48px; padding:12px 20px; }
.landing-page .c-btn--primary { color:var(--color-cta-ink); }
.hero-footnote { color:var(--color-ink-muted); font-size:12px; margin-top:18px !important; }
.hero-object { position:relative; display:grid; place-items:center; margin:0; padding:12px; aspect-ratio:1; isolation:isolate; }
.hero-object::before { content:""; position:absolute; inset:18%; z-index:-1; border-radius:50%; background:radial-gradient(circle,color-mix(in srgb,var(--color-accent-peach) 50%,transparent),transparent 70%); filter:blur(28px); }
.hero-object img { width:100%; height:auto; display:block; filter:drop-shadow(0 24px 26px rgb(62 36 7 / 11%)); animation:hero-float 9s ease-in-out infinite; }
@keyframes hero-float { 0%,100%{transform:translateY(0) rotate(-2deg)} 50%{transform:translateY(-9px) rotate(1deg)} }
.hero-reading-rail { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding:26px 0; margin-top:40px; border-block:1px solid var(--color-border-medium); }
.hero-reading-rail p { display:flex; align-items:center; gap:14px; font-size:12px; line-height:1.6; color:var(--color-ink-muted); }
.hero-reading-rail .ui-icon { width:23px; height:23px; color:var(--color-accent-primary); }
.hero-reading-rail strong { display:block; font-size:14px; color:var(--color-ink-primary); font-weight:600; }
.landing-chapters { display:flex; gap:8px 28px; flex-wrap:wrap; padding-top:8px; }
.landing-chapters a { display:inline-flex; align-items:center; min-height:44px; font-size:12px; color:var(--color-ink-muted); }
.landing-chapters a:hover,.landing-text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.landing-page h2 { font:400 clamp(32px,3.4vw,47px)/1.12 var(--font-serif); letter-spacing:-.025em; margin-top:13px; text-wrap:balance; }
.project-intro { display:grid; grid-template-columns:1fr 1.1fr; gap:70px; }
.project-intro-copy { padding-top:4px; color:var(--color-ink-secondary); }
.project-intro-copy .project-lede { font-size:20px; line-height:1.6; color:var(--color-ink-primary); }
.project-intro-copy > p + p { margin-top:18px; }
.project-intro-copy .landing-text-link { margin-top:18px; }
.landing-text-link { display:inline-flex; align-items:center; gap:9px; min-height:44px; font-size:14px; font-weight:600; }
.landing-text-link .ui-icon { width:17px; height:17px; }
.landing-section-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:28px; }
.landing-section-heading p:not(.landing-eyebrow) { max-width:600px; font-size:16px; line-height:1.7; color:var(--color-ink-secondary); margin-top:14px; }
.landing-section-heading > .landing-text-link { flex-shrink:0; }
.landing-discoveries { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.landing-discovery { display:flex; flex-direction:column; min-width:0; border:1px solid var(--color-border-medium); border-radius:var(--radius-lg); background:var(--color-bg-card); overflow:hidden; transition:border-color .2s,transform .2s; }
.landing-discovery:hover { border-color:var(--color-ink-subtle); transform:translateY(-4px); }
.discovery-art { height:190px; padding:34px 16px 12px; display:grid; place-items:center; position:relative; border-bottom:1px solid var(--color-border-medium); background:var(--color-bg-card-subtle); }
.discovery-art img { width:100%; height:100%; min-height:0; object-fit:contain; transition:transform .35s var(--ease-editorial); }
.landing-discovery:hover .discovery-art img { transform:scale(1.035); }
.art-index { position:absolute; top:14px; left:18px; font:10px var(--font-mono); color:var(--color-ink-muted); }
.landing-discovery-body { display:flex; flex-direction:column; gap:14px; padding:24px; flex:1; }
.landing-discovery-meta { font:500 11px/1.5 var(--font-sans); color:var(--color-ink-muted); display:flex; flex-wrap:wrap; gap:8px; }
.landing-page .landing-discovery h3 { font:400 28px/1.17 var(--font-serif); letter-spacing:-.02em; }
.landing-discovery-summary { color:var(--color-ink-secondary); font-size:14px; line-height:1.65; }
.landing-discovery-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; border-top:1px solid var(--color-border-subtle); padding-top:16px; margin-top:auto; }
.landing-discovery-footer .c-badge { font:500 11px/1.4 var(--font-sans); text-transform:none; letter-spacing:0; }
.landing-read-time { display:inline-flex;align-items:center;gap:6px;color:var(--color-ink-muted); font-size:11px; white-space:nowrap; }
.landing-read-time .ui-icon { width:14px; height:14px; }
.discovery-open { display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:600; }
.discovery-open .ui-icon { width:16px; height:16px; }
.landing-caption { color:var(--color-ink-muted); font-size:12px; line-height:1.7; margin-top:16px !important; }
.exploration-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--color-border-medium); border-radius:var(--radius-lg); overflow:hidden; }
.exploration-card { padding:30px; background:var(--color-bg-card); position:relative; display:flex; flex-direction:column; align-items:start; }
.exploration-card + .exploration-card { border-left:1px solid var(--color-border-medium); }
.exploration-card:hover { background:var(--color-bg-card-subtle); }
.exploration-number { font:11px var(--font-mono); color:var(--color-ink-subtle); position:absolute; top:30px; right:30px; }
.lens-icon { display:grid; place-items:center; width:48px; height:48px; border:1px solid var(--color-border-medium); border-radius:14px; color:var(--color-accent-primary); margin-bottom:26px; }
.lens-icon .ui-icon { width:25px; height:25px; }
.exploration-card h3 { font:400 29px/1.2 var(--font-serif); letter-spacing:-.015em; margin-bottom:15px; }
.exploration-card p { color:var(--color-ink-secondary); font-size:14px; line-height:1.7; margin-bottom:20px; }
.exploration-card .landing-text-link { margin-top:auto; }
.method-section { padding-block:60px; border-block:1px solid var(--color-border-medium); background:var(--color-bg-card-subtle); }
.method-inner { display:grid; grid-template-columns:1fr 1fr; gap:90px; }
.method-intro p:not(.landing-eyebrow) { max-width:440px; margin-top:24px; color:var(--color-ink-secondary); }
.method-intro .landing-text-link { margin-top:18px; }
.method-steps { margin:0; padding:0; list-style:none; }
.method-steps li { display:flex; gap:22px; padding:20px 0; border-bottom:1px solid var(--color-border-medium); }
.method-steps li:first-child { padding-top:0; }
.method-steps li:last-child { padding-bottom:0; border:0; }
.method-number { padding-top:6px; font:11px var(--font-mono); color:var(--color-accent-primary); }
.method-steps h3 { font:400 25px/1.2 var(--font-serif); }
.method-steps p { color:var(--color-ink-secondary); font-size:14px; margin-top:7px; }
.ecosystem-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.ecosystem-card { display:flex; flex-direction:column; align-items:start; min-width:0; padding:32px; border:1px solid var(--color-border-medium); border-radius:var(--radius-lg); background:var(--color-bg-card); }
.ecosystem-card--future { background:var(--color-bg-card-subtle); }
.ecosystem-card-header { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-width:0; margin-bottom:20px; }
.ecosystem-status { font-size:12px; line-height:1.5; padding:5px 10px; border-radius:var(--radius-pill); text-align:left; }
.ecosystem-icon { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; border:1px solid var(--color-border-medium); border-radius:12px; color:var(--color-accent-primary); background:var(--color-bg-card); }
.ecosystem-icon .ui-icon { display:block; width:24px; height:24px; }
.ecosystem-card h3 { max-width:100%; font:400 clamp(28px,2.6vw,34px)/1.15 var(--font-serif); letter-spacing:-.02em; text-wrap:pretty; margin-bottom:14px; }
.ecosystem-card p { max-width:440px; color:var(--color-ink-secondary); margin-bottom:24px; }
.ecosystem-card a { max-width:100%; min-width:0; margin-top:auto; }
.ecosystem-card a > span { min-width:0; overflow-wrap:break-word; }
.partner-strip { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:22px; padding:24px 0; border-bottom:1px solid var(--color-border-medium); }
.partner-strip p { color:var(--color-ink-secondary); font-size:14px; }
.partner-strip strong { color:var(--color-ink-primary); font-weight:600; }
.home-faq { display:grid; grid-template-columns:.75fr 1.25fr; gap:80px; }
.home-faq-list details { border-bottom:1px solid var(--color-border-medium); }
.home-faq-list details:first-child { border-top:1px solid var(--color-border-medium); }
.home-faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:21px 4px 21px 0; list-style:none; cursor:pointer; font-size:16px; font-weight:500; }
.home-faq-list summary::-webkit-details-marker { display:none; }
.home-faq-list summary .ui-icon { width:18px; height:18px; }
.home-faq-list details[open] summary .ui-icon { transform:rotate(45deg); }
.home-faq-list details p { color:var(--color-ink-secondary); font-size:15px; line-height:1.75; padding-bottom:20px; }
.home-faq-list details a { display:inline-flex; align-items:center; gap:7px; min-height:44px; margin-bottom:12px; color:var(--color-accent-primary); font-size:14px; }
.follow-section { text-align:center; padding:0 0 72px; }
.follow-section .landing-eyebrow,.follow-section .landing-actions { justify-content:center; }
.follow-section h2 { font-size:clamp(40px,4.5vw,60px); }
.follow-section > p:not(.landing-eyebrow) { max-width:500px; margin:20px auto 0; color:var(--color-ink-secondary); }
.follow-section .landing-actions { margin-top:26px; }
#shareStatus { min-height:20px; }
@media(max-width:1000px) { .hero-stage{gap:20px}.landing-discoveries{gap:14px}.landing-discovery-body{padding:20px}.landing-page .landing-discovery h3{font-size:25px}.exploration-card{padding:24px}.project-intro{gap:40px}.method-inner{gap:40px}.home-faq{gap:40px} }
@media(max-width:760px) { .landing-wrap{width:calc(100% - 40px)}.hero-stage{grid-template-columns:1fr}.hero-copy{max-width:610px}.hero-object{position:absolute;right:10px;top:90px;width:28%;opacity:.13;pointer-events:none;z-index:-1}.landing-hero{position:relative;isolation:isolate}.hero-copy .hero-description{max-width:550px}.hero-reading-rail{margin-top:30px;gap:14px}.hero-reading-rail p{align-items:start}.hero-reading-rail .ui-icon{width:19px;height:19px}.project-intro,.method-inner,.home-faq{grid-template-columns:1fr;gap:28px}.landing-section-heading{align-items:start;flex-direction:column;gap:12px}.landing-discoveries{grid-template-columns:1fr}.landing-discovery{display:grid;grid-template-columns:150px 1fr}.discovery-art{height:100%;border-bottom:0;border-right:1px solid var(--color-border-medium)}.discovery-art svg{height:95px}.exploration-grid{grid-template-columns:1fr}.exploration-card + .exploration-card{border-left:0;border-top:1px solid var(--color-border-medium)}.exploration-card{padding:28px}.ecosystem-grid{grid-template-columns:1fr}.ecosystem-card{padding:24px}.ecosystem-card h3{font-size:29px}.partner-strip{align-items:start;flex-direction:column;gap:8px}.method-section{padding-block:44px}.hero-description{font-size:17px} }
@media(max-width:520px) { .landing-wrap{width:calc(100% - 36px)}.landing-hero{padding-top:36px}.hero-stage{gap:14px}.landing-page h1{font-size:clamp(42px,11.2vw,56px);max-width:370px}.hero-object{position:relative;right:auto;top:auto;width:100%;height:235px;padding:0;opacity:1;z-index:0;aspect-ratio:auto}.hero-object img{width:235px}.hero-copy .landing-actions{gap:10px}.hero-copy .c-btn{width:100%;justify-content:center}.hero-footnote{font-size:11px}.hero-reading-rail{grid-template-columns:1fr;gap:18px;margin-top:0;padding-block:23px}.hero-reading-rail p{align-items:center}.landing-chapters{gap:0 18px}.project-intro-copy .project-lede{font-size:18px}.landing-discovery{display:flex}.discovery-art{height:175px;border-bottom:1px solid var(--color-border-medium);border-right:0}.landing-discovery-body{padding:24px}.landing-page .landing-discovery h3{font-size:29px}.ecosystem-grid{grid-template-columns:1fr}.home-faq-list summary{font-size:15px}.follow-section .c-btn{width:100%;justify-content:center}.landing-page h2{font-size:36px} }
@media(prefers-reduced-motion:reduce) { .hero-object img{animation:none}.landing-discovery{transition:none}.landing-discovery:hover{transform:none} }

@media(prefers-reduced-motion:reduce){.discovery-art img{transition:none}.landing-discovery:hover .discovery-art img{transform:none}}
