@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500;1,600&family=DM+Sans:wght@400;500;600&display=swap");

:root { --ivory:#f8f4ea; --paper:#fffdf8; --navy:#102a45; --ink:#29425b; --gold:#ad8240; --line:#d9cfbd; --muted:#747779; --narra-ease:cubic-bezier(.22,.75,.2,1); font-family:"DM Sans",sans-serif; color:var(--navy); background:var(--ivory); }
* { box-sizing:border-box; }
.ph-icon {
  display: block;
  width: 1em;
  height: 1em;
  flex: none;
  fill: currentColor;
}
body { margin:0; overflow-x:hidden; background:radial-gradient(circle at 73% 11%,#fffdf7 0,transparent 25rem),var(--ivory); }
.skip-link { position:absolute; left:-999px; }.skip-link:focus { top:1rem; left:1rem; z-index:20; padding:.65rem .85rem; color:var(--navy); background:#fff; outline:2px solid var(--gold); }
.site-header { display:flex; align-items:center; justify-content:space-between; width:min(1440px,calc(100% - 4rem)); height:74px; margin:auto; border-bottom:1px solid var(--line); }
.brand { display:inline-flex; align-items:center; gap:.45rem; color:var(--navy); text-decoration:none; }.brand-mark { display:block; width:2rem; height:2rem; object-fit:contain; flex:none; }.brand-wordmark,.site-footer strong { color:var(--navy); font:600 1.15rem "Cormorant Garamond",Georgia,serif; letter-spacing:.32em; }.status { color:#8c6630; font-size:.67rem; font-weight:600; letter-spacing:.19em; text-transform:uppercase; }
.brand:focus-visible,.access-button:focus-visible,.context a:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.hero { position:relative; display:grid; grid-template-columns:minmax(0,37%) minmax(0,1fr); align-items:center; gap:clamp(2.5rem,3vw,3.25rem); width:min(1440px,calc(100% - 4rem)); height:537px; margin:auto; padding:1.65rem 0 2.2rem; }
.hero-copy,.workspace { position:relative; z-index:1; }.hero-copy { align-self:center; padding-left:.65rem; transform:translateY(-6px); }
.hero h1 { display:grid; margin:0 0 1.05rem; color:var(--navy); font:500 clamp(3.55rem,4.7vw,4.45rem)/.94 "Cormorant Garamond",Georgia,serif; letter-spacing:-.02em; }.hero h1 span { display:block; white-space:nowrap; }.hero h1 i { color:var(--gold); font-style:normal; }
.lede { max-width:29rem; margin:0; color:#273b50; font:500 clamp(1.02rem,1.28vw,1.18rem)/1.42 "Cormorant Garamond",Georgia,serif; }.promise { margin:1.28rem 0 1.35rem; color:#315573; font-size:.62rem; font-weight:600; letter-spacing:.16em; line-height:1.6; text-transform:uppercase; }
.access-button { position:relative; display:inline-flex; align-items:center; justify-content:center; min-width:18.8rem; padding:.88rem 1.2rem; border-radius:999px; color:#f6e0a1; background:#102e4b; box-shadow:0 8px 18px #102a4524; font:500 1.25rem/1 "Cormorant Garamond",Georgia,serif; text-decoration:none; transition:background 180ms var(--narra-ease),box-shadow 180ms var(--narra-ease),transform 180ms var(--narra-ease); }.cta-arrow { position:absolute; right:1.25rem; opacity:0; transition:opacity 160ms var(--narra-ease),transform 180ms var(--narra-ease); }.access-button:hover,.access-button:focus-visible { background:#163957; box-shadow:0 11px 22px #102a4530; transform:translateY(-1px); }.access-button:hover .cta-arrow,.access-button:focus-visible .cta-arrow { opacity:1; transform:translateX(3px); }.audience { margin:1rem 0 0; color:#354152; font:500 .82rem/1.5 "Cormorant Garamond",Georgia,serif; }.audience b { padding:0 .23rem; color:var(--gold); }
.workspace { width:100%; aspect-ratio:1.77; overflow:hidden; border:1px solid #d3c9b9; border-radius:10px; background:var(--paper); box-shadow:0 17px 32px #102a4524; transform:translateY(-5px); }.workspace-header { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; height:51px; border-bottom:1px solid #e7dfd1; }.workspace-file { display:flex; align-items:center; gap:.58rem; min-width:0; padding-left:.9rem; color:#55575c; font:500 .72rem "Cormorant Garamond",Georgia,serif; white-space:nowrap; }.workspace-mark { display:grid; width:27px; height:27px; place-items:center; border-radius:5px; color:#f4df9f; background:var(--navy); font:500 1.05rem "Cormorant Garamond",Georgia,serif; }.chevron { color:#7e7f7d; font-family:"DM Sans",sans-serif; }.workspace-nav { display:flex; align-self:stretch; gap:clamp(.85rem,1.65vw,1.55rem); color:#5e6269; font:500 .72rem "Cormorant Garamond",Georgia,serif; }.workspace-nav > * { display:grid; align-items:center; }.workspace-nav strong { color:var(--navy); border-bottom:2px solid var(--gold); font-weight:600; }.workspace-tools { justify-self:end; display:flex; gap:.7rem; padding-right:.85rem; color:#4d5965; font-size:.8rem; letter-spacing:.1em; }
.workspace-body { display:grid; height:calc(100% - 51px); grid-template-columns:22% 55% 23%; }.workspace aside { min-width:0; }.chapters { display:flex; flex-direction:column; gap:.28rem; padding:.95rem .7rem .65rem; border-right:1px solid #e7dfd1; color:#4d535c; }.chapters > p,.context > p { margin:0 0:.55rem; color:#79736a; font-size:.48rem; font-weight:600; letter-spacing:.13em; }.chapter-entry { display:grid; grid-template-columns:18px minmax(0,1fr); align-items:start; gap:.28rem; padding:.35rem .2rem; border-left:2px solid transparent; }.chapter-entry i { color:#8b8d8c; font-size:.82rem; font-style:normal; }.chapter-entry b { display:grid; gap:.12rem; color:#3f454e; font:500 .61rem/1.2 "Playfair Display",Georgia,serif; }.chapter-entry small { color:#73757b; font:400 .52rem/1.2 "Playfair Display",Georgia,serif; }.chapter-entry.active { margin:0 -.7rem; padding-left:.9rem; border-left-color:var(--navy); background:#f4eddd; }.new-chapter { margin-top:auto; padding:.35rem .1rem; color:#4f5660; font:500 .57rem "Playfair Display",Georgia,serif; }
.chapter-entry .ph-icon { width:.82rem; height:.82rem; color:#8b8d8c; }.new-chapter { display:flex; align-items:center; gap:.28rem; }.new-chapter .ph-icon { width:.7rem; height:.7rem; }
.editor { display:flex; min-width:0; flex-direction:column; padding:1.65rem clamp(1rem,2.3vw,2.15rem) 0; color:#2a2d32; font:400 clamp(.69rem,.84vw,.84rem)/1.55 "Playfair Display",Georgia,serif; }.chapter { margin:0; text-align:center; color:#171a20; font:500 clamp(1.15rem,1.7vw,1.52rem)/1.2 "Playfair Display",Georgia,serif; letter-spacing:.02em; }.editor h2 { margin:.23rem 0 .8rem; text-align:center; font:italic 500 clamp(.87rem,1.1vw,1.04rem)/1.2 "Playfair Display",Georgia,serif; }.ornament { margin:0 0 .8rem; color:var(--gold); font-size:.72rem; text-align:center; }.editor > p:not(.chapter) { max-width:31rem; margin:.25rem auto .55rem; }.editor-status { display:flex; gap:.78rem; margin-top:auto; padding:.62rem 0; border-top:1px solid #e7dfd1; color:#85817b; font:400 .45rem "DM Sans",sans-serif; white-space:nowrap; }
.context { display:flex; flex-direction:column; gap:.36rem; padding:.95rem .75rem .65rem; border-left:1px solid #e7dfd1; background:#fcf9f3; }.context > div { display:grid; grid-template-columns:20px minmax(0,1fr) auto; align-items:center; gap:.32rem; min-height:39px; padding:.35rem .42rem; border:1px solid #e1d9cc; border-radius:5px; }.context i { color:var(--navy); font-size:.9rem; font-style:normal; text-align:center; }.context span { display:grid; gap:.09rem; color:#282f38; font:500 .61rem/1.1 "Playfair Display",Georgia,serif; }.context b { color:#353c47; font:.44rem/1 "DM Sans",sans-serif; letter-spacing:.1em; text-transform:uppercase; }.context em { color:#646970; font-size:.88rem; font-style:normal; }.context a { margin-top:auto; color:#384656; font:500 .56rem "Playfair Display",Georgia,serif; text-decoration:none; }
.context > div > .ph-icon:first-child { width:.9rem; height:.9rem; color:var(--navy); justify-self:center; }.context > div > .ph-icon:last-child { width:.88rem; height:.88rem; color:#646970; }
.story-thread { position:absolute; z-index:0; width:100%; overflow:visible; pointer-events:none; }.story-thread .story-thread-path,.story-thread .thread-context-link { fill:none; stroke:var(--gold); stroke-width:1.05; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }.story-thread .thread-node,.story-thread .context-thread-node,.story-thread .journey-thread-node { fill:var(--gold); stroke:var(--ivory); stroke-width:3; vector-effect:non-scaling-stroke; transform-box:fill-box; transform-origin:center; }.hero-thread { right:0; bottom:-14px; left:0; z-index:2; height:450px; }.mobile-hero-thread,.mobile-journey-thread { display:none; }.hero-thread .context-thread-node { stroke:var(--paper); }.thread-sparkle { opacity:0; filter:drop-shadow(0 0 1px #fff7c9f2) drop-shadow(0 0 4px #be8b38a6); }.thread-sparkle-star { fill:#f6d98e; stroke:#b88436; stroke-width:.35; transform-box:fill-box; transform-origin:center; }.thread-sparkle-core { fill:#fff8d7; stroke:none; }.thread-sparkle.sparkle-active { opacity:1; }.thread-sparkle.sparkle-active .thread-sparkle-star { animation:thread-twinkle 800ms ease-in-out infinite; }
.journey { position:relative; min-height:168px; overflow:hidden; padding:1.1rem max(2rem,calc((100% - 1440px)/2)) 1rem; border-top:1px solid #ded4c4; border-bottom:1px solid #ded4c4; background:#faf6ed; }.journey ol { position:relative; z-index:1; display:grid; grid-template-columns:repeat(5,1fr); margin:0; padding:0; list-style:none; }.journey li { min-width:0; padding:0 1.35rem; text-align:center; border-right:1px solid #dfd4c3; }.journey li:last-child { border-right:0; }.journey-icon { display:grid; width:42px; height:42px; place-items:center; margin:auto; border:1px solid #bd934c; border-radius:50%; color:#efcf85; background:var(--navy); }.journey-icon .ph-icon { width:21px; height:21px; }.journey h3 { margin:.7rem 0 .26rem; color:#182d45; font:500 1.05rem/1 "Playfair Display",Georgia,serif; letter-spacing:.035em; text-transform:uppercase; }.journey p { max-width:13rem; margin:0 auto; color:#414653; font:400 .64rem/1.38 "Playfair Display",Georgia,serif; }.journey-thread { top:0; right:max(2rem,calc((100% - 1440px)/2)); left:max(2rem,calc((100% - 1440px)/2)); height:85px; }.journey-thread .journey-glint { stroke:#faf6ed; }
.site-footer { display:grid; grid-template-columns:1fr 1.2fr 1fr; align-items:center; min-height:91px; padding:1.3rem max(2rem,calc((100% - 1440px)/2)); color:var(--navy); background:#fbf8f1; }.site-footer strong { font-size:1.02rem; }.site-footer p { margin:0; padding:0 2rem; border-right:1px solid #dfd5c6; border-left:1px solid #dfd5c6; color:#a17738; text-align:center; font:italic 500 .96rem/1.4 "Playfair Display",Georgia,serif; }.site-footer p span { color:#26384b; font-style:normal; }.site-footer small { justify-self:end; font:500 .83rem "Playfair Display",Georgia,serif; }.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; }
@media (max-width:1100px) { .hero { grid-template-columns:1fr; height:auto; gap:2.2rem; padding-top:2.6rem; }.hero-copy { max-width:610px; padding-left:0; }.hero h1 { font-size:clamp(3.4rem,8vw,4.2rem); }.workspace { max-width:900px; transform:none; }.desktop-hero-thread { display:none; }.mobile-hero-thread { display:block; top:calc(100% - .25rem); left:6%; z-index:0; width:88%; height:72px; }.journey { padding-right:1rem; padding-left:1rem; }.journey li { padding-right:.65rem; padding-left:.65rem; }.motion-ready.motion-enter [data-motion="workspace"] { animation-name:narra-workspace-mobile; } }
@media (max-width:680px) { .site-header,.hero { width:min(100% - 2rem,1440px); }.site-header { height:68px; }.brand { gap:.34rem; }.brand-mark { width:1.75rem; height:1.75rem; }.brand-wordmark { font-size:1rem; letter-spacing:.27em; }.status { font-size:.58rem; }.hero { min-height:0; padding:2.75rem 0 2rem; }.hero h1 { font-size:clamp(3rem,14vw,3.8rem); }.hero h1 span { white-space:normal; }.lede { font-size:1rem; }.promise { font-size:.56rem; }.access-button { width:100%; min-width:0; }.workspace { aspect-ratio:auto; }.workspace-header { grid-template-columns:minmax(0,1fr) auto; height:auto; min-height:48px; }.workspace-file { padding:.55rem .65rem; font-size:.56rem; }.workspace-mark { width:23px; height:23px; }.workspace-nav { grid-column:1/-1; grid-row:2; justify-content:space-around; gap:.45rem; min-height:38px; overflow-x:auto; padding:0 .65rem; font-size:.56rem; white-space:nowrap; }.workspace-tools { display:none; }.workspace-body { height:auto; grid-template-columns:34% 66%; }.chapters { padding:.72rem .43rem; }.chapters > p { font-size:.42rem; }.chapter-entry { grid-template-columns:13px minmax(0,1fr); gap:.12rem; padding:.27rem .05rem; }.chapter-entry i { font-size:.63rem; }.chapter-entry b { font-size:.54rem; }.chapter-entry small { font-size:.47rem; }.chapter-entry.active { margin:0 -.43rem; padding-left:.55rem; }.editor { padding:1rem .85rem 0; font-size:.71rem; line-height:1.48; }.editor h2 { font-size:.87rem; }.editor > p:not(.chapter) { margin-bottom:.48rem; }.editor-status { gap:.35rem; overflow:hidden; font-size:.4rem; }.context { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.32rem; padding:.75rem .55rem; border-top:1px solid #e7dfd1; border-left:0; }.context > p,.context a { grid-column:1/-1; margin:0; }.context > div { min-height:36px; }.context > div:last-of-type { grid-column:1/-1; }.context span { font-size:.57rem; }.context b { font-size:.41rem; }.context a { padding-top:.2rem; }.journey { min-height:0; padding:1.55rem 1rem; }.journey ol { grid-template-columns:1fr; row-gap:1rem; }.journey li { display:grid; grid-template-columns:42px minmax(0,1fr); grid-template-areas:"icon title" "icon copy"; column-gap:.78rem; min-height:90px; padding:0; text-align:left; border:0; }.journey li:last-child { grid-column:auto; }.journey-icon { grid-area:icon; align-self:start; margin:0; }.journey h3 { grid-area:title; margin:.2rem 0 .28rem; text-align:left; }.journey p { grid-area:copy; max-width:none; margin:0; font-size:.66rem; text-align:left; }.journey-thread { display:none; }.mobile-journey-thread { display:block; top:1.55rem; left:0; z-index:0; width:100%; height:540px; }.mobile-hero-thread path,.mobile-journey-thread path { stroke:#b78d4a; opacity:.76; }.site-footer { grid-template-columns:1fr; gap:.75rem; padding:1.6rem 1.25rem; text-align:center; }.site-footer p { margin:0; padding:.75rem 0; border-top:1px solid #dfd5c6; border-bottom:1px solid #dfd5c6; border-right:0; border-left:0; }.site-footer small { justify-self:center; } }

@keyframes narra-fade { from { opacity:0; } to { opacity:1; } }
@keyframes narra-rise { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@keyframes narra-workspace { from { opacity:0; transform:translateY(7px) scale(.985); } to { opacity:1; transform:translateY(-5px) scale(1); } }
@keyframes narra-workspace-mobile { from { opacity:0; transform:translateY(10px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes draw-story-thread { from { stroke-dashoffset:1; } to { stroke-dashoffset:0; } }
@keyframes node-arrive { from { opacity:0; transform:scale(.82); } to { opacity:1; transform:scale(1); } }
@keyframes node-response { 0%,100% { transform:scale(1); } 48% { transform:scale(1.2); } }
@keyframes thread-twinkle { 0%,100% { opacity:.82; transform:scale(.92); } 48% { opacity:1; transform:scale(1.08); } }

.motion-ready.motion-enter [data-motion="header"] { animation:narra-fade 340ms var(--narra-ease) both; }.motion-ready.motion-enter [data-motion="headline"] { animation:narra-rise 520ms var(--narra-ease) both; }.motion-ready.motion-enter [data-motion="headline"]:nth-child(1) { animation-delay:70ms; }.motion-ready.motion-enter [data-motion="headline"]:nth-child(2) { animation-delay:120ms; }.motion-ready.motion-enter [data-motion="headline"]:nth-child(3) { animation-delay:170ms; }.motion-ready.motion-enter [data-motion="supporting-copy"] { animation:narra-rise 440ms var(--narra-ease) 280ms both; }.motion-ready.motion-enter [data-motion="promise"] { animation:narra-rise 420ms var(--narra-ease) 350ms both; }.motion-ready.motion-enter [data-motion="cta"] { animation:narra-rise 440ms var(--narra-ease) 430ms both; }.motion-ready.motion-enter [data-motion="audience"] { animation:narra-rise 400ms var(--narra-ease) 500ms both; }.motion-ready.motion-enter [data-motion="workspace"] { animation:narra-workspace 620ms var(--narra-ease) 420ms both; }
.motion-ready .hero-thread .story-thread-path,.motion-ready .mobile-hero-thread .story-thread-path,.motion-ready .hero-thread .thread-context-link { stroke-dasharray:1; stroke-dashoffset:1; }.motion-ready.motion-enter .hero-thread .story-thread-path,.motion-ready.motion-enter .mobile-hero-thread .story-thread-path { animation:draw-story-thread 1650ms var(--narra-ease) 650ms both; }.motion-ready .hero-thread .thread-node,.motion-ready .mobile-hero-thread .thread-node,.motion-ready .hero-thread .context-thread-node { opacity:0; }.motion-ready.hero-thread-complete .hero-thread .thread-context-link { animation:draw-story-thread 640ms var(--narra-ease) both; }.motion-ready.hero-thread-complete .hero-thread .thread-node,.motion-ready.hero-thread-complete .mobile-hero-thread .thread-node { animation:node-arrive 360ms var(--narra-ease) both; }.motion-ready.hero-thread-complete .hero-thread .thread-node:nth-of-type(2),.motion-ready.hero-thread-complete .mobile-hero-thread .thread-node:nth-of-type(2) { animation-delay:120ms; }.motion-ready.hero-thread-complete .hero-thread .thread-node:nth-of-type(3) { animation-delay:220ms; }.motion-ready.hero-thread-complete .hero-thread .context-thread-node { animation:node-arrive 320ms var(--narra-ease) both; }.motion-ready.hero-thread-complete .hero-thread .context-thread-node:nth-of-type(5) { animation-delay:100ms; }.motion-ready.hero-thread-complete .hero-thread .context-thread-node:nth-of-type(6) { animation-delay:200ms; }.motion-ready.hero-thread-complete .hero-thread .context-thread-node:nth-of-type(7) { animation-delay:300ms; }.thread-node.node-response { animation:node-response 380ms var(--narra-ease); }
.motion-ready.journey-active .journey-thread .story-thread-path,.motion-ready.journey-active .mobile-journey-thread .story-thread-path { stroke-dasharray:1; stroke-dashoffset:1; animation:draw-story-thread 1450ms var(--narra-ease) both; }.motion-ready.journey-active .journey-thread .journey-thread-node,.motion-ready.journey-active .mobile-journey-thread .journey-thread-node { opacity:0; animation:node-arrive 340ms var(--narra-ease) both; }.motion-ready.journey-active .journey-thread .journey-thread-node:nth-of-type(2),.motion-ready.journey-active .mobile-journey-thread .journey-thread-node:nth-of-type(2) { animation-delay:460ms; }.motion-ready.journey-active .journey-thread .journey-thread-node:nth-of-type(3),.motion-ready.journey-active .mobile-journey-thread .journey-thread-node:nth-of-type(3) { animation-delay:900ms; }.motion-ready.journey-active .mobile-journey-thread .journey-thread-node:nth-of-type(4) { animation-delay:1120ms; }.motion-ready.journey-active .mobile-journey-thread .journey-thread-node:nth-of-type(5) { animation-delay:1320ms; }.motion-ready.journey-active .journey li { animation:narra-rise 410ms var(--narra-ease) both; }.motion-ready.journey-active .journey li:nth-child(1) { animation-delay:240ms; }.motion-ready.journey-active .journey li:nth-child(2) { animation-delay:320ms; }.motion-ready.journey-active .journey li:nth-child(3) { animation-delay:400ms; }.motion-ready.journey-active .journey li:nth-child(4) { animation-delay:480ms; }.motion-ready.journey-active .journey li:nth-child(5) { animation-delay:560ms; }
.motion-paused * { animation-play-state:paused !important; }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }.thread-sparkle { display:none; }.access-button:hover,.access-button:focus-visible { transform:none; }.access-button:hover .cta-arrow,.access-button:focus-visible .cta-arrow { opacity:0; transform:none; } }
