/* HumanAI Dyad: shared Lyra UI foundations over the existing page layouts. */
body.lyra {
 --bg:var(--lyra-bg); --bg-light:var(--lyra-surface); --bg-card:#08080bd9;
 --text:var(--lyra-text); --text-muted:#b5b1bd; --text-dim:#a59cab;
 --accent-blue:var(--lyra-zune-orange); --accent-purple:var(--lyra-accent); --accent-pink:var(--lyra-accent); --accent-gold:#e8c784;
 --border:var(--lyra-border); --border-hover:#ff62b955;
 --font-display:var(--lyra-font); --font-body:var(--lyra-font); --font-mono:var(--lyra-mono);
 font-size:17px; line-height:1.75; overflow-x:visible;
}
html { scroll-padding-top:105px; }
body.lyra::before,body.lyra::after { display:none; }
.lyra a { color:inherit; }
.lyra a:focus-visible,.lyra button:focus-visible { outline:2px solid var(--lyra-focus); outline-offset:5px; }
.lyra .container { max-width:1304px; padding-inline:32px; }
.lyra h1,.lyra h2,.lyra h3 { font-family:var(--lyra-font); text-wrap:balance; }
.lyra h1 { font-weight:400; letter-spacing:-.05em; }
.lyra h2 { font-size:clamp(2.25rem,4.3vw,4rem); line-height:1.12; font-weight:400; letter-spacing:-.04em; }
.lyra h3 { font-size:1.5rem; font-weight:500; letter-spacing:-.025em; }
.lyra p { margin-bottom:16px; }
.lyra .section-header { text-align:left; max-width:950px; margin:0 0 44px; }
.lyra .section-subtitle { margin-left:0; max-width:780px; color:var(--text-muted); font-size:1.05rem; }
.lyra .section-tag,.lyra .hero-eyebrow { color:var(--lyra-accent); font-family:var(--lyra-font); font-size:.72rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.lyra .section-divider { display:none; }
.lyra section { padding-block:88px; }
.lyra .medium-section,.lyra .book-section { background:transparent; }
.lyra section:not(.hero) + section { border-top:1px solid var(--lyra-border); }
.lyra > header { background:#0d0d0f73; backdrop-filter:blur(14px); border:0; margin-bottom:-100px; }
.lyra > header.scrolled { background:#0d0d0fed; }
.lyra nav { min-height:100px; gap:24px; }
.lyra .logo img { width:180px; height:64px; object-fit:contain; background:transparent; }
.lyra .nav-links { display:flex; gap:24px; font-size:.86rem; font-weight:400; letter-spacing:0; text-transform:none; }
.lyra .nav-links a { min-height:44px; display:flex; align-items:center; color:var(--text-muted); border-bottom:2px solid transparent; }
.lyra .nav-links a:hover,.lyra .nav-links a[aria-current] { color:var(--lyra-text); border-color:var(--lyra-accent); }
.lyra .nav-links a::after { display:none; }
.lyra .menu-toggle { display:none; }
.skip-link { position:fixed; z-index:200; top:10px; left:16px; padding:10px 18px; background:var(--lyra-raised); transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.lyra .hero { position:relative; isolation:isolate; text-align:left; padding:190px 0 100px; min-height:790px; border:0; background:linear-gradient(90deg,#0d0d0fe6,#0d0d0f93 54%,#0d0d0f25),linear-gradient(0deg,var(--lyra-bg),transparent 40%),none center / cover; }
.lyra .hero::before,.lyra .hero::after { display:none; }
.lyra .hero h1 { font-size:clamp(3rem,5.7vw,5.5rem); max-width:940px; margin:0 0 30px; line-height:1.07; }
.lyra .hero .em-pink { color:var(--lyra-text); }
.lyra .hero-subtitle { max-width:760px; margin:0 0 28px; font-size:1.1rem; color:#e1dbe4; }
.lyra .hero-meta,.lyra .hero-roles,.lyra .hero-location { max-width:780px; margin:20px 0; color:#ded6e2; }
.lyra .hero-buttons { justify-content:flex-start; gap:12px; margin-top:32px; }
.lyra .l-button { font-family:var(--lyra-font); font-size:.88rem; font-weight:500; letter-spacing:0; min-height:46px; padding:12px 20px; border-radius:var(--lyra-radius); box-shadow:none; transform:none; }
.lyra .l-button.primary { background:var(--lyra-control-gradient); color:var(--lyra-on-accent); border:1px solid transparent; }
.lyra .btn-secondary { background:#121216c9; color:var(--lyra-text); border:1px solid var(--lyra-control-border); }
.lyra .btn-primary::before,.lyra .btn-secondary::before { display:none; }
.lyra .btn-primary:hover,.lyra .btn-secondary:hover { filter:brightness(1.12); transform:none; }
.lyra .btn-primary svg { stroke:currentColor; }
.lyra :is(.belief-card,.who-card,.medium-card,.tier,.plain-card,.author-card,.cap-card,.cred-card,.thesis-item,.work-entry) {
 background:linear-gradient(135deg,#ffffff06,transparent 45%),linear-gradient(145deg,#020204ef,#09090bd9);
 border:1px solid var(--lyra-border); border-radius:var(--lyra-radius-panel); box-shadow:inset 0 1px #ffffff08; padding:30px;
}
.lyra :is(.belief-card,.who-card,.medium-card,.plain-card,.cap-card,.cred-card):hover { transform:none; border-color:var(--border-hover); background-color:#111114; }
.lyra :is(.belief-card,.who-card,.medium-card,.tier,.plain-card,.author-card,.cap-card,.cred-card,.thesis-item)::before { display:none; }
.lyra :is(.belief-card,.who-card,.medium-card,.tier,.plain-card,.author-card,.cap-card,.cred-card) p { color:var(--text-muted); font-size:1rem; line-height:1.75; }
.lyra .medium-card { display:flex; flex-direction:column; }
.lyra .medium-card h3 { color:var(--lyra-text); font-size:1.7rem; }
.lyra .medium-read-link { color:var(--lyra-accent); margin-top:auto; padding-top:18px; }
.lyra .medium-tag,.lyra .tag,.lyra .belief-icon { color:var(--lyra-accent); background:var(--lyra-selection); border-color:var(--lyra-border); }
.lyra .tiers-list { gap:18px; }
.lyra .tier h3 { display:flex; align-items:center; gap:18px; }
.lyra .tier-number { background:none; color:var(--lyra-accent); font-size:2.3rem; font-weight:300; margin:0; }
.lyra .tier p { margin-left:0; }
.lyra .book-grid { gap:70px; }
.lyra .book-cover-wrapper { padding:25px; }
.lyra .book-cover-wrapper::before,.lyra .book-cover-wrapper::after { display:none; }
.lyra :is(.about-book-card,.why-card,.positioning-card,.accountability-card,.engage-wrap,.download-card) { background:linear-gradient(135deg,#0a0a0c,#020203); border:1px solid var(--lyra-border); border-radius:var(--lyra-radius-panel); padding:44px; }
.lyra .why-card { max-width:880px; margin-inline:auto; }
.lyra .why-card p,.lyra .about-book-card p,.lyra .positioning-card p { color:var(--text-muted); font-family:var(--lyra-font); font-size:1.05rem; line-height:1.85; }
.lyra :is(.why-card,.about-book-card,.positioning-card) .pullquote { font-family:var(--lyra-font-editorial); font-style:italic; font-size:clamp(1.7rem,3vw,2.5rem); color:var(--lyra-text); border-left:3px solid var(--lyra-accent); padding-left:24px; }
.lyra .download-card h2,.lyra .accountability-card h2 { color:var(--lyra-text); }
.lyra .download-card p,.lyra .download-meta { color:var(--text-muted); }
.lyra .bio-container { max-width:none; background:#060608; border-color:var(--lyra-border); box-shadow:none; }
.lyra .bio-photo-bg { background-image:url('images/catie-photo.jpg'); filter:none; opacity:.2; background-position:center top; }
.lyra .bio-photo-overlay { background:linear-gradient(0deg,#050507 20%,#05050755); }
.lyra .bio-inner { padding:44px; }
.lyra .two-minds-header { text-align:left; margin-bottom:32px; }
.lyra .two-minds-title { font-family:var(--lyra-font-editorial); font-style:italic; font-weight:400; font-size:clamp(2rem,4vw,3.5rem); background:var(--lyra-brand-text-gradient); background-clip:text; }
.shared-authors-photo { width:100%; height:auto; display:block; border-radius:12px; margin:24px 0; }
.lyra .dyad-portraits { display:flex; justify-content:space-between; gap:24px; margin:0 0 30px; }
.lyra .dyad-portraits img,.lyra .dyad-portraits > span { display:none; }
.lyra .dyad-portraits figure:first-child { order:2; }
.lyra .dyad-portraits figcaption { color:var(--text-muted); font-size:.85rem; }
.lyra .bio-col { background:#030306ba; padding:26px; border:1px solid var(--lyra-border); border-radius:var(--lyra-radius-panel); }
.lyra .bio-name,.lyra .author-name { font-family:var(--lyra-font); font-size:2.4rem; font-weight:400; color:var(--lyra-text); }
.lyra .bio-role,.lyra .author-role,.lyra .bio-card-label,.lyra .author-label { color:var(--lyra-accent); }
.lyra .bio-details li { color:var(--text-muted); }
.lyra .bio-detail-label { color:#d6cbd9; }
.lyra .ai-badge { color:var(--lyra-accent); background:none; border:0; vertical-align:super; font-size:.55em; padding:0; margin-left:3px; }
.lyra #contact { background:var(--lyra-surface); }
.lyra #contact .section-header { max-width:850px; }
.lyra #contact a[href^="mailto"] { background:var(--lyra-control-gradient) !important; color:var(--lyra-on-accent) !important; border-radius:var(--lyra-radius) !important; box-shadow:none !important; }
.lyra > footer { background:var(--lyra-surface); border:0; color:var(--text-muted); font-size:.8rem; padding:30px 0; }
.lyra > footer a { color:var(--lyra-accent); }
.lyra .back-to-top { background:#101014ed; color:var(--lyra-accent); border-color:var(--lyra-border); }
.lyra .reveal,.lyra .animated-heading,.lyra .animated-heading .line { opacity:1; transform:none; animation:none; transition:none; }
.lyra .work-title { font-size:1.4rem; color:var(--lyra-text); }
.lyra .work-org { color:var(--lyra-accent); }
.lyra .work-dates { color:var(--text-muted); }
.lyra .cv-page .hero { min-height:700px; }
@media(max-width:1000px) { .lyra .nav-links { gap:16px; }.lyra .logo img { width:155px; } }
@media(max-width:800px) {
 .lyra .container { padding-inline:22px; }
 .lyra nav { min-height:80px; flex-wrap:wrap; }
 .lyra > header { margin-bottom:-80px; }
 .lyra .logo img { height:54px; }
 .lyra.js-enabled .menu-toggle { display:inline-flex; }
 .lyra .nav-links { flex-wrap:wrap; }
 .lyra.js-enabled .nav-links { display:none; position:absolute; top:100%; left:0; right:0; padding:16px 22px; background:#101014fa; border-bottom:1px solid var(--lyra-border); }
 .lyra.js-enabled .nav-links.open { display:grid; gap:4px; }
 .lyra .hero { padding:145px 0 70px; min-height:760px; background-position:62% center; }
 .lyra .hero h1 { font-size:clamp(2.7rem,8.6vw,4.5rem); }
 .lyra .hero-subtitle { font-size:1rem; }
 .lyra .hero-buttons { flex-wrap:wrap; }
 .lyra .hero-buttons a { white-space:normal; }
 .lyra section { padding-block:64px; }
 .lyra .book-grid { gap:36px; }
 .lyra .bio-inner,.lyra :is(.about-book-card,.why-card,.positioning-card,.accountability-card,.engage-wrap,.download-card) { padding:26px; }
 .lyra .bio-grid { grid-template-columns:1fr; }
 .lyra .plain-grid,.lyra .authors-grid,.lyra .cap-grid,.lyra .cred-grid { grid-template-columns:1fr; }
 .lyra .work-header { flex-direction:column; align-items:flex-start; gap:8px; }
}
@media(max-width:420px) { .lyra .hero-buttons { flex-direction:column; align-items:stretch; }.lyra .hero-buttons a { width:100%; }.lyra :is(.belief-card,.who-card,.medium-card,.tier,.plain-card,.author-card,.cap-card,.cred-card) { padding:23px; }.lyra .bio-inner { padding:18px; }.lyra .bio-col { padding:20px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
@media(prefers-reduced-transparency:reduce) { .lyra > header,.lyra > header.scrolled { background:var(--lyra-bg); backdrop-filter:none; } }
/* Keep important content visible immediately, including with reduced motion. */
.lyra .hero :is(h1,.hero-eyebrow,.hero-subtitle,.hero-buttons,.hero-meta,.hero-roles,.hero-location) { opacity:1; animation:none; transform:none; }
.lyra .hero-subtitle,.lyra .section-subtitle { font-weight:400; }
.lyra .hero h1 .em-pink { background:none; -webkit-text-fill-color:currentColor; font-style:normal; }
.lyra :is(.beliefs-grid,.who-cards,.medium-grid,.book-grid) { max-width:none; }
.lyra .tiers-list { max-width:none; }
.lyra .about-book-card { max-width:980px; margin-left:0; }
.lyra > footer a { text-decoration:underline; text-underline-offset:4px; }
.framework-page .bio-grid .bio-col:first-child { order:2; }
.lyra.cv-page .hero { min-height:760px; background:linear-gradient(90deg,#0d0d0ff5,#0d0d0fc9 60%,#0d0d0f20),linear-gradient(0deg,var(--lyra-bg),transparent 50%),url('images/catie-photo.jpg') right 25% / auto 130% no-repeat; }
@media(max-width:800px) { .lyra.cv-page .hero { background-size:auto,auto,auto 100%; background-position:center,center,65% center; } }

.lyra .logo a { display:flex; align-items:center; gap:10px; white-space:nowrap; }
.lyra .logo img { width:48px; height:48px; }
.brand-wordmark { font-size:1.45rem; font-weight:300; letter-spacing:-.035em; }
.brand-wordmark sup { font-size:.42em; vertical-align:super; margin-left:2px; margin-right:3px; color:var(--lyra-accent); }
.lyra .ai-badge-hero { position:static; display:inline; top:auto; right:auto; vertical-align:super; font-family:var(--lyra-font); font-size:.25em; line-height:1; letter-spacing:0; -webkit-text-fill-color:var(--lyra-accent); }
.lyra.cv-page .hero { background-color:var(--lyra-bg); background-size:auto,auto,auto 100%; background-position:center,center,right top; }
.lyra .hero-location { font-family:var(--lyra-font); font-size:.85rem; letter-spacing:0; text-transform:none; }
@media(max-width:800px) { .brand-wordmark { font-size:1.2rem; }.lyra .logo img { width:40px; height:40px; }.lyra.cv-page .hero { background-position:center,center,65% top; } }

/* Preserve the site's own imagery. No new hero artwork. */
.lyra .hero,.lyra.cv-page .hero { background:var(--lyra-bg); }
.lyra .bio-photo-bg { background-image:url('images/catie-photo.jpg'); filter:saturate(.5) brightness(.28); opacity:1; }
.lyra .dyad-portraits { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); }
.lyra .dyad-portraits img { display:block; }
.lyra .dyad-portraits > span { display:block; }
.lyra .dyad-portraits figure:first-child { order:0; }
.framework-page .bio-grid .bio-col:first-child { order:0; }
.lyra .logo img { width:180px; height:64px; }
@media(max-width:800px) { .lyra .logo img { width:155px; height:54px; } }

/* Restore the approved logo and shared author photograph only. */
.lyra .logo img { width:48px; height:48px; }
.framework-page .bio-photo-bg { background-image:url('images/dyad-together.png'); filter:none; opacity:.2; }
.lyra .dyad-portraits { display:flex; justify-content:space-between; gap:24px; margin:0 0 30px; }
.lyra .dyad-portraits img,.lyra .dyad-portraits > span { display:none; }
.lyra .dyad-portraits figure:first-child { order:2; }
.framework-page .bio-grid .bio-col:first-child { order:2; }
@media(max-width:800px) { .lyra .logo img { width:40px; height:40px; } }

/* The shared photo carries the author cards, as on Catie X Lyra. */
.framework-page .authors-photo-stage { position:relative; margin-top:24px; isolation:isolate; }
.framework-page .authors-photo-stage .shared-authors-photo { margin:0; }
.framework-page .authors-photo-stage .bio-grid { position:absolute; inset:auto 20px 20px; gap:16px; margin:0; align-items:stretch; }
.framework-page .authors-photo-stage .bio-col { min-width:0; padding:22px; background:linear-gradient(135deg,#030305f0,#101015e8); backdrop-filter:blur(12px); }
.framework-page .authors-photo-stage .bio-name { font-size:2rem; }
.framework-page .authors-photo-stage .bio-role { font-size:.74rem; }
.framework-page .authors-photo-stage .bio-details { margin-top:16px; }
.framework-page .authors-photo-stage .bio-details li { font-size:.78rem; line-height:1.5; padding-block:6px; }
.framework-page .authors-photo-stage .bio-card-label { margin-bottom:12px; }
@media(max-width:1100px) {
 .framework-page .authors-photo-stage .bio-grid { position:relative; inset:auto; margin:-48px 14px 0; grid-template-columns:1fr 1fr; }
}
@media(max-width:700px) {
 .framework-page .authors-photo-stage .bio-grid { margin:-20px 8px 0; grid-template-columns:1fr; }
 .framework-page .authors-photo-stage .bio-col { padding:22px; }
}
@media(prefers-reduced-transparency:reduce) { .framework-page .authors-photo-stage .bio-col { background:#070709; backdrop-filter:none; } }

/* Book explanation and its pull quote read side by side. */
.framework-page .about-book-card { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:44px; max-width:none; }
.framework-page .about-book-card > .pullquote { margin:0; font-size:clamp(1.7rem,2.4vw,2.2rem); line-height:1.5; }
.framework-page .about-book-explanation p:last-child { margin-bottom:0; }
@media(max-width:800px) { .framework-page .about-book-card { grid-template-columns:1fr; gap:28px; } }
/* Present the three partnership tiers as parallel columns. */
.framework-page .tiers-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.framework-page .tiers-list .tier { min-width:0; margin:0; }
.framework-page .tiers-list .tier h3 { flex-direction:column; align-items:flex-start; gap:14px; line-height:1.3; }
.framework-page .tiers-list .tier p { margin:18px 0 0; }
@media(max-width:800px) { .framework-page .tiers-list { grid-template-columns:1fr; } }

.lyra > footer .family-logo-link { display:inline-flex; vertical-align:middle; margin-left:24px; text-decoration:none; }
.family-logo-link img { display:block; width:140px; height:64px; object-fit:contain; }
@media(max-width:600px) { .lyra > footer .family-logo-link { display:flex; width:max-content; margin:18px auto 0; } }
/* Share heading/body rows so wrapped titles cannot shift the descriptions. */
.framework-page .tiers-list .tier {
  display:grid;
  grid-row:span 2;
  grid-template-rows:subgrid;
  row-gap:18px;
}
.framework-page .tiers-list .tier h3 { margin:0; justify-content:flex-start; }
.framework-page .tiers-list .tier p { margin:0; padding:0; align-self:start; }
/* Compact author overlays, leaving more of the shared portrait visible. */
.framework-page .authors-photo-stage .bio-grid { gap:14px; }
.framework-page .authors-photo-stage .bio-col { padding:16px 18px; }
.framework-page .authors-photo-stage .bio-name { font-size:1.65rem; margin:0 0 8px; }
.framework-page .authors-photo-stage .bio-card-label { margin-bottom:8px; font-size:.6rem; }
.framework-page .authors-photo-stage .bio-role { font-size:.7rem; line-height:1.5; margin-bottom:8px; }
.framework-page .authors-photo-stage .bio-details { margin-top:10px; }
.framework-page .authors-photo-stage .bio-details li { padding-block:4px; margin-bottom:0; font-size:.74rem; line-height:1.4; }
.framework-page .authors-photo-stage .bio-detail-label { font-size:.58rem; }

/* Reclaim the removed hero eyebrow's space. */
.framework-page .hero { min-height:0; padding-top:150px; padding-bottom:76px; }
@media(max-width:800px) { .framework-page .hero { padding-top:110px; padding-bottom:52px; } }

/* A quiet starfield frames the authors; the foreground portrait stays intact. */
.framework-page .bio-photo-bg {
  background-image:url('images/dyad-starfield.svg');
  background-size:cover;
  background-position:center top;
  filter:none;
  opacity:1;
}
.framework-page .bio-photo-overlay { background:linear-gradient(180deg,#05070e08,#05070e18 60%,#05070e55); }
/* Keep the gradient outline above the starfield without covering the content. */
.framework-page .bio-container { border:1px solid transparent; }
.framework-page .bio-container::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(28deg,#fa8610,#f23d50 48%,#ec008c);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask-composite:exclude;
  pointer-events:none;
}

/* Attributed editorial coverage, alongside the authors it features. */
.framework-page .press-feature { display:grid; grid-template-columns:1.3fr 1fr; gap:44px; align-items:center; margin-top:32px; padding:32px; border:1px solid var(--lyra-border); border-radius:var(--lyra-radius-panel); background:linear-gradient(125deg,#ffffff05,transparent 50%),#050507; }
.framework-page .press-feature h3 { font-size:clamp(1.6rem,2.5vw,2.25rem); line-height:1.25; margin-bottom:18px; }
.framework-page .press-feature p { color:var(--text-muted); font-size:.95rem; line-height:1.7; }
.framework-page .press-feature .section-tag { color:var(--lyra-accent); font-size:.7rem; }
.framework-page .press-feature .press-article-title { color:var(--lyra-text); font-size:1rem; }
.framework-page .press-feature .press-byline { font-size:.78rem; margin-bottom:20px; }
.framework-page .press-feature .l-button { display:inline-flex; gap:16px; align-items:center; }
.framework-page .press-feature > div > p:last-child { margin-bottom:0; }
@media(max-width:800px) { .framework-page .press-feature { grid-template-columns:1fr; gap:24px; padding:24px; } }
