@font-face{font-family:Inter;src:url(inter-latin.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Manrope;src:url(manrope.woff2) format("woff2");font-style:normal;font-weight:200 800;font-display:swap}@font-face{font-family:Newsreader;src:url(newsreader.woff2) format("woff2");font-style:normal;font-weight:200 800;font-display:swap}
:root{--paper:#fffdf6;--ink:#121225;--plum:#581846;--gold:#c57e08;--muted:#5f6174;--line:#d9cdd5;--sans:Manrope,Arial,sans-serif;--serif:Newsreader,Georgia,serif;--gutter:clamp(22px,5.1vw,72px);color-scheme:light;font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:16px;line-height:1.65}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}p{margin:0 0 1.15em;color:var(--muted)}h1,h2,h3{line-height:1.13;letter-spacing:-.045em;margin:0 0 .5em;font-weight:750}h1{font-size:clamp(2.4rem,5vw,4.2rem)}h2{font-size:clamp(1.8rem,3vw,2.8rem)}h3{font-size:1.45rem}img{max-width:100%;height:auto}figure{margin:0}figcaption,.small{font-size:.86rem;line-height:1.65;color:var(--muted)}strong{font-weight:750}em{font-style:normal}.wrap{width:min(100%,1230px);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:60px}.kicker{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.17em;color:var(--plum);margin-bottom:25px}.lede{font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.6;max-width:35em}.large-copy{font-size:1.2rem;line-height:1.7}.small{font-size:.875rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--gold);outline-offset:5px;border-radius:2px}.skip-link{position:absolute;left:20px;top:-120px;z-index:100;background:var(--paper);border:2px solid var(--plum);padding:10px 20px}.skip-link:focus{top:10px}html{scroll-behavior:smooth;scroll-padding-top:24px}.staging-strip{background:#f4ecf1;border-bottom:1px solid #e3d9df;font-size:.72rem;color:#642c53}.staging-strip>.wrap{display:flex;justify-content:space-between;gap:20px;padding-block:6px}.staging-strip a{text-decoration:underline;text-underline-offset:3px}
.site-header{min-height:120px;display:flex;align-items:center;justify-content:space-between;gap:35px}.brand{display:block;flex-shrink:0}.brand-lockup{display:flex;align-items:center;gap:12px}.brand img{width:40px;height:40px;object-fit:contain}.brand strong{display:block;font-family:Inter,Arial,sans-serif;font-size:24px;font-weight:700;line-height:32px;letter-spacing:normal;background:linear-gradient(90deg,#d97706,#eab308,#b45309);color:#9a5900;background-clip:text;-webkit-text-fill-color:transparent}.brand small{display:block;padding-left:52px;color:var(--muted);font-size:.75rem;line-height:1.4;letter-spacing:.025em}.site-header nav{display:flex;gap:30px;align-items:center}.site-header nav a{font-size:.93rem;min-height:44px;display:flex;align-items:center;border-bottom:1px solid transparent}.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--plum);border-color:var(--plum)}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);min-height:44px;padding:8px 13px}.menu-toggle span{margin-left:8px;font-size:1.25rem}
.hero{position:relative;min-height:0;padding-block:clamp(32px,4.5vw,64px) clamp(56px,7vw,96px)}.hero-copy{position:relative;width:100%;max-width:1040px}.hero h1{font-size:clamp(3rem,5.65vw,4.8rem);font-weight:800;line-height:1.025;letter-spacing:-.058em;margin:0 0 23px;max-width:20ch}.hero h1 span,.hero h1 em{display:block}.hero h1 em{color:var(--plum);font-style:normal}.hero-mission{font-size:clamp(1.2rem,2.1vw,1.65rem);line-height:1.45;letter-spacing:-.03em;margin-bottom:27px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px 30px;margin-top:26px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:var(--plum);color:var(--paper);padding:13px 23px;border:1px solid var(--plum);border-radius:5px;font-weight:600;font-size:1rem;min-height:52px;line-height:1.5}.button:hover{background:#3a1030}.button.outline{color:var(--ink);background:transparent;border-color:#8f587e}.button.outline:hover{background:#f1e8ed}.text-link{display:inline-flex;align-items:center;gap:13px;color:var(--plum);border-bottom:1px solid currentColor;padding:8px 0;line-height:1.4;font-size:.95rem;font-weight:650}.text-link:hover{color:#8c265e}.text-link span{font-size:1.2rem}
.branch-tree{display:grid;grid-template-columns:1.5fr 1fr;gap:12%;padding-top:65px;padding-bottom:80px;padding-left:calc(var(--gutter) + 50px);position:relative}.tree-junction{position:absolute;left:calc(var(--gutter) + 21px);right:calc(var(--gutter) + 30%);top:-10px;height:72px;pointer-events:none}.tree-junction i{position:absolute;width:65%;height:72px;border:1px solid var(--plum);border-bottom:0;border-radius:20px 0 0 0}.tree-junction i+i{left:65%;width:50%;border-color:var(--gold);border-radius:0 22px 0 0;border-left:0}.branch{padding-left:29px;position:relative}.branch:before{content:"";position:absolute;left:0;top:0;bottom:75px;border-left:1px solid var(--plum)}.tools-branch:before{border-color:var(--gold)}.branch-heading:before,.branch-leaf:before{content:"";position:absolute;width:16px;height:16px;border-radius:50%;left:-37px;top:6px;background:var(--plum);outline:5px solid var(--paper)}.tools-branch .branch-heading:before,.tools-branch .branch-leaf:before{background:var(--gold)}.branch-heading{position:relative}.branch-heading h2{font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.055em}.branch-heading p:last-child{font-size:1.15rem;line-height:1.6;margin-bottom:0}.branch-leaf{margin-block:40px;position:relative}.branch-leaf h3{font-size:1.75rem;line-height:1.2;letter-spacing:-.045em}.branch-leaf h3 a:hover{color:var(--plum)}.branch-leaf p{font-size:1rem;line-height:1.65}.leaf-meta{font-size:.72rem!important;color:var(--plum);margin-bottom:8px!important;letter-spacing:.035em}.branch-leaf:before{left:-37px;top:10px}
.timeline-feature{border-top:1px solid var(--line);padding-block:80px;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.timeline-feature h2{font-size:clamp(2.1rem,4vw,3.1rem);letter-spacing:-.045em}.timeline-feature p{font-size:1.05rem;max-width:30em}.timeline-sheet{border:1px solid #dbccbb;padding:30px 35px;background:#faf4e6;border-radius:5px}.sheet-label{font-size:.7rem!important;letter-spacing:.14em;text-transform:uppercase;color:#704600;font-weight:750;padding-bottom:19px;border-bottom:1px solid #dccdb9}.timeline-sheet ol{list-style:none;margin:24px 0 30px;padding-left:18px;border-left:1px solid #c99639}.timeline-sheet li{margin-bottom:26px;position:relative;padding-left:13px}.timeline-sheet li:last-child{margin-bottom:0}.timeline-sheet li:before{content:"";width:9px;height:9px;background:var(--gold);border-radius:50%;position:absolute;left:-23px;top:10px}.timeline-sheet time{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;display:block;color:#775114;margin-bottom:4px}.timeline-sheet strong{font-size:1.05rem;line-height:1.5}.timeline-sheet .small{font-size:.8rem}.author-section{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;border-top:1px solid var(--line);padding-block:76px 88px}.author-section>div:last-child{padding-top:40px}
.page-header{padding-block:45px 65px;border-bottom:1px solid var(--line)}.page-header h1{max-width:16em}.page-header .lede{margin-bottom:0}.research-directory{padding-top:45px;padding-bottom:85px}.research-controls{display:block;max-width:760px}.research-controls>label{display:block;font-size:.8rem;font-weight:650;margin-bottom:10px}.research-controls>div{display:flex;gap:12px}.research-controls input{flex:1;min-width:100px;border:1px solid #b1a4ae;padding:12px 15px;border-radius:3px;background:transparent;color:var(--ink)}.research-controls select{border:1px solid #b1a4ae;border-radius:3px;background:var(--paper);padding:10px;color:var(--ink);max-width:100%}.small-button{padding:10px 16px;min-height:48px}.search-status{font-size:.8rem;margin:22px 0 32px}.index-row{display:grid;grid-template-columns:190px 1fr 30px;gap:26px;border-top:1px solid var(--line);padding:36px 0 42px}.index-meta{font-size:.78rem;display:flex;flex-direction:column;gap:12px;color:var(--muted);padding-top:8px}.index-meta span:first-child{color:var(--plum);font-weight:700}.index-row h2{font-size:clamp(1.7rem,3vw,2.55rem);max-width:20em}.index-row h2 a:hover{color:var(--plum)}.index-row p{max-width:45em;font-size:1.05rem;line-height:1.7}.row-arrow{font-size:1.9rem;color:var(--plum)}.resource-row{background:#f8f1e4;margin-inline:-20px;padding-inline:20px}.editorial-note{border-left:3px solid var(--gold);background:#f8f3e7;padding:25px 30px;margin-block:35px}.editorial-note p:last-child{margin-bottom:0}.editorial-note h2{font-size:1.6rem}.empty-state{padding:40px 0;font-size:1.2rem}
.tool-row{display:grid;grid-template-columns:40px 100px 1fr;gap:30px;padding-block:58px;border-bottom:1px solid var(--line)}.tool-number{font-family:var(--serif);font-size:2.3rem;color:var(--plum);line-height:1}.tool-row img{width:96px;height:96px;object-fit:contain}.tool-row h2{font-size:2.6rem}.tool-row .large-copy{margin-bottom:12px}.product-hero{padding-block:48px 70px;display:grid;grid-template-columns:1.8fr 1fr;gap:70px;align-items:center;border-bottom:1px solid var(--line)}.product-hero>div>p:not(.kicker){max-width:35em}.product-hero figure{text-align:center;padding:40px;background:#f7f0e4;border-radius:50%}.product-hero figure img{width:120px;height:120px}.product-hero figcaption{margin-top:20px;font-size:.75rem}.split-section{display:grid;grid-template-columns:1fr 1.2fr;gap:25px 10%;padding-block:65px;border-bottom:1px solid var(--line)}.split-section .kicker{grid-column:1/-1;margin-bottom:0}.split-section p{margin-top:0}.features-section{padding-block:65px}.feature-list{margin:35px 0 0}.feature-list>div{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;padding:25px 0;border-top:1px solid var(--line)}.feature-list dt{font-size:1.2rem;font-weight:750;display:flex;gap:22px}.feature-list dt span{color:var(--gold);font-weight:500;font-size:.9rem;min-width:24px;padding-top:5px}.feature-list dd{margin:0;color:var(--muted)}.context-examples{padding-block:60px;background:#f7f0e4}.context-examples dl{display:flex;gap:45px;flex-wrap:wrap}.context-examples dt{font-size:1.2rem;color:var(--plum)}.context-examples dd{margin:6px 0 20px;font-size:.95rem}.getting-started{padding-block:65px}.getting-started ol{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding:25px 0 0;list-style-position:inside;counter-reset:steps}.getting-started li{list-style:none}.getting-started li:before{counter-increment:steps;content:"0" counter(steps);font-size:.75rem;color:var(--plum);display:block;margin-bottom:18px}.getting-started h3{font-size:1.3rem}.resource-end{display:grid;grid-template-columns:1.3fr 1fr;gap:12%;padding-block:65px;border-top:1px solid var(--line)}.resource-end .text-link{display:flex;width:fit-content;margin-bottom:15px}.resource-grid{padding-block:55px 80px;display:grid;grid-template-columns:1fr 1fr;gap:35px}.resource-card{padding:30px;border:1px solid var(--line);border-radius:5px}.resource-card:first-child{grid-column:1/-1;background:#f8f0e2}.resource-card h2{max-width:20em;font-size:2.2rem}.resource-card p{max-width:45em}.about-copy{display:grid;grid-template-columns:1fr 1.3fr;gap:12%;padding-block:65px;border-bottom:1px solid var(--line)}.about-copy>div:last-child{max-width:44em}.contact-section{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;padding-block:65px 100px}.contact-email{font-size:clamp(1.25rem,2.2vw,1.8rem);color:var(--plum);overflow-wrap:anywhere;font-weight:650}.contact-section aside h2{font-size:1.75rem}.contact-links .text-link{display:flex;width:fit-content;margin-bottom:15px}.copy-status{font-size:.875rem;min-height:1.6em;margin:16px 0 0}.policy-copy{padding-block:25px 75px}.policy-text{max-width:750px;margin-inline:auto;font-size:1.1rem;line-height:1.8}.policy-text h2{font-size:1.65rem;margin-top:40px}.policy-text a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.site-footer{background:linear-gradient(110deg,#412038,#301b2c);color:var(--paper);padding-block:45px 27px;margin-top:45px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:45px;padding-bottom:35px}.footer-top h2{font-family:var(--serif);font-size:2.5rem;font-weight:400;letter-spacing:-.025em}.footer-email{font-size:1.15rem}.site-footer .brand small{color:#ddd0d8}.site-footer .brand strong{background:none;-webkit-text-fill-color:var(--paper);color:var(--paper)}.footer-bottom{display:flex;flex-wrap:wrap;gap:18px 35px;justify-content:space-between;border-top:1px solid #ffffff33;padding-top:25px;font-size:.75rem}.footer-bottom nav{display:flex;gap:18px;flex-wrap:wrap}.footer-bottom nav a{min-height:34px;display:inline-flex;align-items:center}.footer-bottom a:hover,.footer-email:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom>span{color:#ded2da}
@media(min-width:1500px){.hero h1{font-size:4.8rem}}
@media(max-width:1000px){.site-header nav{gap:18px}.site-header{gap:20px}.hero h1{font-size:5.7vw}.hero .actions{gap:15px}.branch-tree{gap:9%;padding-left:calc(var(--gutter) + 25px)}.index-row{grid-template-columns:150px 1fr 20px;gap:22px}}
@media(max-width:800px){.site-header{min-height:96px;flex-wrap:wrap;padding-block:22px;position:relative}.menu-toggle{display:block;margin-left:auto}.site-header nav{display:none;width:100%;flex-direction:column;gap:0;align-items:stretch;padding:10px 0 0}.site-header nav.is-open{display:flex}.site-header nav a{padding:9px 0;border-bottom:1px solid var(--line);font-size:1rem}.hero{padding-top:30px;min-height:0}.hero-copy{width:100%}.hero h1{font-size:clamp(2.8rem,7.3vw,4.15rem);max-width:13em}.hero-mission{font-size:1.3rem}.branch-tree{padding-top:55px;gap:7%}.tree-junction{top:-16px}.branch-leaf h3{font-size:1.45rem}.branch-heading h2{font-size:1.8rem}.branch-heading p:last-child{font-size:1rem}.timeline-feature{gap:7%;padding-block:60px}.timeline-sheet{padding:25px}.index-row{grid-template-columns:1fr 30px;gap:15px}.index-meta{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:10px 20px}.index-row h2{font-size:2rem}.research-controls>div{flex-wrap:wrap}.research-controls input{flex-basis:100%}.tool-row{gap:20px;grid-template-columns:25px 80px 1fr}.tool-row img{width:80px;height:80px}.product-hero{gap:35px}.product-hero figure{padding:25px;border-radius:5px}.about-copy,.contact-section{gap:7%}.footer-top{gap:25px}.footer-top h2{font-size:2rem}}
@media(max-width:600px){:root{--gutter:24px}.staging-strip{font-size:.66rem}.brand small{font-size:.7rem}.hero{padding-bottom:78px}.hero h1{font-size:clamp(2.45rem,9.2vw,3.3rem);letter-spacing:-.055em;max-width:12em}.hero-copy .kicker{font-size:.66rem;margin-bottom:23px}.hero-mission{font-size:1.15rem}.hero .actions{display:flex;gap:12px}.button{font-size:.95rem;padding:12px 17px;min-height:48px;gap:13px}.hero .button{width:100%;max-width:300px;justify-content:space-between}.branch-tree{display:block;padding-left:calc(var(--gutter) + 12px);padding-top:35px;padding-bottom:30px}.tree-junction{left:calc(var(--gutter) + 12px);width:70%;height:45px;top:-10px;right:auto}.tree-junction i{width:100%;height:45px;border-radius:20px 20px 0 0;border-right:0}.tree-junction i+i{display:none}.branch{padding-left:25px;padding-bottom:40px}.branch:before{bottom:20px}.branch-heading h2{font-size:2rem}.branch-leaf h3{font-size:1.55rem}.branch-heading:before,.branch-leaf:before{left:-33px}.branch-leaf{margin-block:32px}.timeline-feature,.author-section,.about-copy,.contact-section,.resource-end,.split-section{display:block;padding-block:45px}.timeline-feature>div+div,.author-section>div+div,.about-copy>div+div,.contact-section>aside,.resource-end>div+div{margin-top:35px}.timeline-feature h2{font-size:2.2rem}.timeline-sheet{padding:25px}.author-section>div:last-child{padding-top:0}.page-header{padding-block:30px 45px}.page-header h1{font-size:2.55rem}.page-header .lede{font-size:1.15rem}.research-directory{padding-top:30px}.index-row{padding-block:28px}.index-row h2{font-size:1.8rem;overflow-wrap:anywhere}.index-row p{font-size:1rem}.index-meta{font-size:.72rem}.research-controls select{flex:1;min-width:150px}.resource-row{margin-inline:-12px;padding-inline:12px}.editorial-note{padding:22px;margin-block:25px}.tool-row{grid-template-columns:30px 1fr;padding-block:38px}.tool-row img{width:64px;height:64px}.tool-row>div:last-child{grid-column:1/-1}.tool-row h2{font-size:2.1rem}.product-hero{display:block;padding-block:30px 45px}.product-hero h1{font-size:2.65rem}.product-hero figure{margin:35px 0 0;display:flex;align-items:center;gap:24px;text-align:left;width:fit-content;padding:25px;border-radius:5px}.product-hero figure img{width:96px;height:96px}.product-hero figcaption{margin:0}.split-section .kicker{margin-bottom:20px}.features-section,.getting-started{padding-block:45px}.feature-list>div{display:block;padding-block:20px}.feature-list dd{margin-left:46px;margin-top:10px}.getting-started ol{display:block}.getting-started li{margin-bottom:30px}.context-examples{padding-block:35px}.context-examples dl{display:block}.resource-grid{display:block;padding-block:35px}.resource-card{margin-bottom:25px;padding:25px}.resource-card h2{font-size:1.9rem}.policy-text{font-size:1rem;line-height:1.85}.policy-text h2{font-size:1.45rem}.footer-top{display:block}.footer-top .brand{margin-top:35px}.footer-top h2{font-size:2.2rem}.footer-email{font-size:1rem}.footer-bottom{display:block}.footer-bottom nav{margin-bottom:20px;gap:12px 22px}.site-footer{padding-block:35px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}




/* Open Branches content links remain recognizable before hover. The common
   header and breadcrumbs are isolated in navigation.css. */
.hero .desktop-break{display:none}
main :is(h1,h2,h3) a:not(.button){text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:#b79cab;text-underline-offset:.15em}
main :is(p,dd,td,figcaption) a:not(.button):not(.brand){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
main :is(h1,h2,h3,p,dd,td,figcaption) a:hover{text-decoration-thickness:2px}
main .button,main .button:hover{text-decoration:none}
.text-link{border-bottom:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.text-link>span[aria-hidden="true"]{display:inline-block;text-decoration:none}
main [id]{scroll-margin-top:16px}
