/* Public adaptation of the visual field guide. No private case data or runtime claims. */
:root { --g64-green:#385d3c; --g64-lime:#d4ef8b; --g64-paper:#f3f2e9; --g64-line:#d6dccb; }
.engine-link { display:inline-block; margin-top:13px; color:var(--g64-green); font-size:12px; text-decoration:none; }
.engine-link:hover { text-decoration:underline; }
.g64-engine, .g64-research { padding:105px 0; }
.g64-engine { background:var(--g64-paper); border-block:1px solid var(--g64-line); overflow:hidden; }
.g64-kicker { margin:0 0 25px; font:500 10px/1.6 var(--sans); letter-spacing:.14em; text-transform:uppercase; }
.g64-kicker::before { content:""; display:inline-block; width:5px; height:5px; background:currentColor; border-radius:50%; margin:0 9px 2px 0; }
.g64-heading-row { display:flex; align-items:flex-end; justify-content:space-between; gap:55px; }
.g64-engine h2, .g64-research h2, .g64-depth-copy h2 { margin:0; font:400 clamp(42px,4.5vw,67px)/1.04 var(--serif); letter-spacing:-.035em; }
.g64-engine h2 em, .g64-research h2 em, .g64-evolution h3 em { font-style:italic; color:var(--g64-green); }
.g64-intro { margin:0 0 4px; max-width:360px; color:#61695c; font-size:14px; line-height:1.8; }
.g64-engine-grid { display:grid; grid-template-columns:.85fr 1.15fr; align-items:center; gap:65px; margin-top:38px; }
.g64-controls { max-width:410px; padding:20px 0; }
.g64-tabs { display:flex; flex-direction:column; border-top:1px solid var(--g64-line); }
.g64-tabs button { display:grid; grid-template-columns:30px 1fr 18px; gap:14px; align-items:center; background:transparent; color:var(--ink); border:0; border-bottom:1px solid var(--g64-line); padding:18px 15px; font-size:13px; text-align:left; }
.g64-tabs button>span { font-size:10px; color:#6b7661; }
.g64-tabs button>b { font-size:18px; font-weight:400; opacity:0; }
.g64-tabs button[aria-selected="true"] { background:#e1e8d1; border-radius:3px; }
.g64-tabs button[aria-selected="true"]>b { opacity:1; }
.g64-tabs button:hover { background:#e9eddf; }
.g64-tab-copy { padding-top:30px; min-height:230px; }
.g64-tab-copy h3 { margin:0 0 16px; font:400 31px/1.15 var(--serif); letter-spacing:-.025em; }
.g64-tab-copy p { margin:0; max-width:390px; font-size:13px; line-height:1.8; color:#5d6657; }
.g64-small-proof { display:block; margin-top:18px; font-size:10px; color:#58734e; }
.g64-text-link { display:inline-flex; align-items:center; gap:25px; font-size:12px; text-decoration:none; border-bottom:1px solid #9bac87; padding-bottom:6px; margin-top:15px; }
.g64-text-link:hover { color:var(--g64-green); }
.g64-constellation { position:relative; margin:0; min-width:0; isolation:isolate; }
.g64-constellation>svg { width:100%; height:auto; aspect-ratio:600/550; }
.g64-orbit { transform-origin:300px 270px; animation:g64-orbit 80s linear infinite; }
.g64-orbit-reverse { animation-direction:reverse; animation-duration:120s; }
.g64-faceted-star { transform-origin:300px 270px; animation:g64-breathe 8s ease-in-out infinite; }
.g64-map-label { position:absolute; padding:13px 16px; background:#fffef8ef; border:1px solid #d3dcc5; border-radius:3px; box-shadow:0 9px 24px #243d2608; max-width:200px; transition:background .3s; }
.g64-map-label small { display:block; margin-bottom:6px; color:#6b7661; font-size:8px; line-height:1.5; letter-spacing:.09em; text-transform:uppercase; }
.g64-map-label strong { display:block; font-size:12px; line-height:1.5; font-weight:500; }
.g64-map-label-a { top:23%; left:0; transform:rotate(-5deg); }
.g64-map-label-b { top:7%; right:9px; transform:rotate(5deg); }
.g64-map-label-c { bottom:15%; right:10px; transform:rotate(-3deg); background:#eaf1da; border-color:#adbf8c; }
.g64-constellation figcaption { position:absolute; bottom:0; left:0; right:0; text-align:center; color:#6c745f; font-size:9px; line-height:1.6; }
.g64-constellation figcaption button { display:block; margin:8px auto 0; border:1px solid #cbd4bd; border-radius:3px; background:transparent; color:#4e6743; font-size:9px; padding:5px 10px; }
.g64-principles { display:grid; grid-template-columns:repeat(3,1fr); margin-top:60px; border-block:1px solid var(--g64-line); }
.g64-principles>div { padding:30px 34px; border-right:1px solid var(--g64-line); }
.g64-principles>div:first-child { padding-left:0; }
.g64-principles>div:last-child { padding-right:0; border:0; }
.g64-principles svg { width:55px; height:38px; color:var(--g64-green); margin-bottom:22px; }
.g64-principles h3 { margin:0 0 8px; font:500 15px/1.4 var(--sans); letter-spacing:-.015em; }
.g64-principles p { max-width:285px; margin:0; font-size:12px; line-height:1.75; color:#646d5c; }
.g64-depth-section { background:#18281e; color:#f2f2e7; padding:85px 0; overflow:hidden; }
.g64-depth-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.g64-document-art { margin:0; min-width:0; }
.g64-document-art svg { width:100%; height:auto; }
.g64-document-art figcaption { font-size:9px; color:#adbda3; text-align:center; line-height:1.6; max-width:410px; margin:0 auto; }
.g64-depth-copy .g64-kicker { color:var(--g64-lime); }
.g64-depth-copy h2 { font-size:clamp(38px,3.6vw,54px); }
.g64-depth-copy h2 em { color:var(--g64-lime); font-style:italic; }
.g64-depth-copy>p { margin:24px 0 0; font-size:13px; line-height:1.9; color:#bdcbb4; max-width:420px; }
.g64-depth-notes { border-block:1px solid #ffffff25; margin-top:28px; font-size:12px; }
.g64-depth-notes summary { cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:17px 0; list-style:none; }
.g64-depth-notes summary>span { font-size:20px; transition:transform .2s; }
.g64-depth-notes[open] summary>span { transform:rotate(45deg); }
.g64-depth-notes p { color:#bdcbb4; font-size:12px; line-height:1.8; margin:0 0 18px; }
.g64-sheet-top { animation:g64-sheet-top 9s ease-in-out infinite; }
.g64-sheet-bottom { animation:g64-sheet-bottom 9s ease-in-out infinite; }
.g64-research { background:#fffef9; }
.g64-research-tabs { margin:44px 0 22px; display:flex; gap:8px; }
.g64-research-tabs button { color:var(--ink); background:transparent; border:1px solid var(--g64-line); border-radius:3px; padding:13px 18px; font-size:12px; text-align:left; }
.g64-research-tabs button>span { font-size:9px; opacity:.65; margin-left:15px; }
.g64-research-tabs button[aria-selected="true"] { background:#253d2b; border-color:#253d2b; color:#f4f4e9; }
.g64-research-panel { display:grid; grid-template-columns:.8fr 1.6fr; border:1px solid var(--g64-line); border-radius:5px; background:var(--g64-paper); overflow:hidden; }
.g64-result-summary { padding:37px 32px; border-right:1px solid var(--g64-line); }
.g64-result-summary>.g64-kicker { font-size:9px; margin-bottom:24px; }
.g64-result-summary>strong { display:block; font:400 92px/1 var(--serif); letter-spacing:-.06em; color:var(--g64-green); }
.g64-result-summary>strong>span { font-size:.55em; margin-left:5px; }
.g64-result-summary h3 { font:400 27px/1.15 var(--serif); margin:20px 0 15px; letter-spacing:-.02em; }
.g64-result-summary p { font-size:11px; line-height:1.9; margin:0; color:#616a59; }
.g64-data-label { margin-top:23px; display:inline-block; font-size:9px; color:#536a45; background:#e1e7d3; border-radius:3px; padding:6px 9px; }
.g64-chart { padding:37px 35px 25px; min-width:0; align-self:center; }
.g64-chart-title { display:flex; justify-content:space-between; gap:15px; align-items:start; padding-bottom:26px; }
.g64-chart-title h3 { margin:0; font:500 13px/1.5 var(--sans); max-width:260px; }
.g64-chart-title>span { font-size:9px; color:#6e785f; white-space:nowrap; }
.g64-bar-row { display:grid; grid-template-columns:135px 1fr 62px; align-items:center; gap:16px; margin:23px 0; }
.g64-bar-name { font-size:12px; line-height:1.3; }
.g64-bar-name>span { display:block; font-size:9px; color:#65725a; margin-top:5px; }
.g64-bar-track { height:35px; border-radius:3px; background:repeating-linear-gradient(90deg,#e3e7da 0,#e3e7da calc(25% - 1px),#ccd5bf calc(25% - 1px),#ccd5bf 25%); overflow:hidden; }
.g64-bar-track>div { width:var(--g64-value); height:100%; background:#a7b69b; border-radius:3px; }
.g64-bar-highlight .g64-bar-track>div { background:var(--g64-green); }
.g64-bar-highlight .g64-bar-name { font-weight:600; }
.g64-bar-row>strong { font:400 27px/1 var(--serif); text-align:right; letter-spacing:-.04em; }
.g64-chart-axis { margin-left:151px; margin-right:78px; display:flex; justify-content:space-between; font-size:9px; color:#6c765e; }
.g64-chart-caption { border-top:1px solid var(--g64-line); padding-top:17px; margin-top:25px; font-size:10px; line-height:1.8; color:#66715d; }
.g64-methodology { border-bottom:1px solid var(--g64-line); font-size:12px; }
.g64-methodology>summary { display:flex; justify-content:space-between; align-items:center; gap:20px; list-style:none; padding:22px 0; cursor:pointer; }
.g64-methodology>summary>span { font-size:20px; }
.g64-methodology[open]>summary>span { transform:rotate(45deg); }
.g64-method-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; padding:8px 0 28px; }
.g64-method-grid h3 { font:500 12px/1.5 var(--sans); margin:0 0 10px; }
.g64-method-grid p { font-size:11px; line-height:1.8; color:#66715d; margin:0; }
.g64-evolution { display:grid; grid-template-columns:.9fr 1.6fr; gap:60px; margin-top:75px; align-items:center; }
.g64-evolution-copy h3 { font:400 32px/1.15 var(--serif); margin:0; letter-spacing:-.025em; }
.g64-evolution-copy .g64-kicker { margin-bottom:18px; }
.g64-evolution-copy p:last-child { color:#64715a; font-size:11px; max-width:330px; line-height:1.8; margin-top:15px; }
.g64-milestones { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,1fr); }
.g64-milestones li { border-top:1px solid #a8bb94; padding:24px 22px 16px; position:relative; }
.g64-milestone-dot { width:7px; height:7px; position:absolute; top:-4px; left:22px; background:#81956e; border-radius:50%; }
.g64-milestones small { font-size:9px; line-height:1.5; display:block; min-height:28px; color:#68755c; }
.g64-milestones strong { display:block; margin-top:13px; font:400 50px/1 var(--serif); letter-spacing:-.055em; }
.g64-milestones strong>span { font-size:28px; margin-left:3px; }
.g64-milestones p { font-size:10px; line-height:1.7; margin:12px 0 0; color:#64715a; }
.g64-milestone-current { background:#e9efdc; color:var(--g64-green); border-radius:0 0 4px 4px; }
.g64-milestone-current .g64-milestone-dot { background:var(--g64-green); box-shadow:0 0 0 4px #dce7c8; }
.g64-evolution-caption { margin:25px 0 0; font-size:9px; color:#748067; text-align:right; }
@keyframes g64-orbit { to { transform:rotate(360deg); } }
@keyframes g64-breathe { 50% { transform:scale(1.035); } }
@keyframes g64-sheet-top { 50% { transform:translateY(-8px); } }
@keyframes g64-sheet-bottom { 50% { transform:translateY(8px); } }
.g64-story-paused .g64-orbit, .g64-story-paused .g64-faceted-star, .g64-story-paused .g64-sheet { animation-play-state:paused; }
.g64-motion-off .g64-orbit, .g64-motion-off .g64-faceted-star, .g64-motion-off .g64-sheet { animation-play-state:paused; }
.g64-engine:focus-within .g64-orbit, .g64-engine:focus-within .g64-faceted-star { animation-play-state:paused; }
@media(min-width:1600px) { .g64-engine-grid { gap:100px; } }
@media(max-width:1100px) {
 .g64-engine-grid { gap:35px; grid-template-columns:.9fr 1.1fr; }
 .g64-heading-row { gap:35px; }
 .g64-intro { max-width:310px; font-size:13px; }
 .g64-map-label { max-width:165px; padding:11px 12px; }
 .g64-map-label strong { font-size:10px; }
 .g64-depth-grid { gap:40px; }
 .g64-result-summary { padding:30px 23px; }
 .g64-chart { padding:30px 23px; }
 .g64-bar-row { grid-template-columns:110px 1fr 56px; gap:12px; }
 .g64-chart-axis { margin-left:122px; margin-right:68px; }
 .g64-evolution { gap:25px; }
 .g64-milestones li { padding-inline:13px; }
 .g64-milestone-dot { left:13px; }
 .g64-milestones strong { font-size:43px; }
}
@media(max-width:760px) {
 .g64-engine, .g64-research { padding:65px 0; }
 .g64-heading-row { display:block; }
 .g64-engine h2, .g64-research h2 { font-size:44px; }
 .g64-intro { margin-top:24px; max-width:410px; font-size:13px; }
 .g64-kicker { font-size:9px; margin-bottom:20px; }
 .g64-engine-grid { display:flex; flex-direction:column-reverse; gap:18px; margin-top:25px; }
 .g64-constellation { width:100%; max-width:560px; }
 .g64-controls { max-width:none; width:100%; padding-bottom:0; }
 .g64-tab-copy { min-height:220px; padding-top:25px; }
 .g64-tab-copy h3 { font-size:30px; }
 .g64-tab-copy p { max-width:100%; font-size:12px; }
 .g64-map-label { max-width:149px; padding:10px 11px; }
 .g64-map-label-a { top:24%; }
 .g64-map-label-b { top:7%; right:5px; }
 .g64-map-label-c { bottom:14%; right:3px; }
 .g64-map-label small { font-size:7px; }
 .g64-map-label strong { font-size:10px; }
 .g64-constellation figcaption { font-size:8px; bottom:-8px; }
 .g64-principles { grid-template-columns:1fr; margin-top:35px; }
 .g64-principles>div, .g64-principles>div:first-child, .g64-principles>div:last-child { padding:24px 0 24px 65px; border:0; border-bottom:1px solid var(--g64-line); position:relative; }
 .g64-principles>div:last-child { border-bottom:0; }
 .g64-principles svg { position:absolute; left:0; top:26px; width:42px; }
 .g64-principles p { max-width:100%; font-size:11px; }
 .g64-depth-section { padding:55px 0 65px; }
 .g64-depth-grid { grid-template-columns:1fr; gap:32px; }
 .g64-depth-copy h2 { font-size:39px; }
 .g64-depth-copy>p { font-size:12px; }
 .g64-document-art figcaption { font-size:8px; }
 .g64-research-tabs { margin-top:30px; gap:6px; }
 .g64-research-tabs button { padding:11px 13px; font-size:11px; flex:1; }
 .g64-research-tabs button>span { display:block; margin:3px 0 0; font-size:8px; }
 .g64-research-panel { grid-template-columns:1fr; }
 .g64-result-summary { padding:26px 22px; border-right:0; border-bottom:1px solid var(--g64-line); }
 .g64-result-summary>strong { font-size:82px; }
 .g64-result-summary h3 { font-size:29px; }
 .g64-result-summary p { font-size:11px; }
 .g64-chart { padding:25px 18px; }
 .g64-chart-title { display:block; padding-bottom:8px; }
 .g64-chart-title>span { display:block; margin-top:8px; }
 .g64-bar-row { grid-template-columns:90px minmax(0,1fr) 49px; gap:9px; margin:23px 0; }
 .g64-bar-name { font-size:10px; }
 .g64-bar-name>span { font-size:8px; }
 .g64-bar-track { height:31px; }
 .g64-bar-row>strong { font-size:23px; }
 .g64-chart-axis { margin-left:99px; margin-right:58px; font-size:8px; }
 .g64-chart-caption { font-size:9px; }
 .g64-methodology>summary { font-size:11px; line-height:1.7; }
 .g64-method-grid { grid-template-columns:1fr; gap:20px; }
 .g64-evolution { grid-template-columns:1fr; gap:30px; margin-top:50px; }
 .g64-evolution-copy h3 { font-size:31px; }
 .g64-evolution-copy p:last-child { max-width:100%; }
 .g64-milestones li { padding:20px 10px 15px; }
 .g64-milestones small { font-size:8px; min-height:40px; }
 .g64-milestones strong { font-size:36px; }
 .g64-milestones strong>span { font-size:21px; }
 .g64-milestones p { font-size:9px; }
 .g64-evolution-caption { font-size:8px; text-align:left; margin-top:18px; }
}
@media(max-width:360px) {
 .g64-engine h2, .g64-research h2 { font-size:38px; }
 .g64-map-label { max-width:129px; padding:8px 9px; }
 .g64-map-label strong { font-size:9px; }
 .g64-bar-row { grid-template-columns:78px minmax(0,1fr) 43px; gap:7px; }
 .g64-chart-axis { margin-left:85px; margin-right:50px; }
 .g64-bar-row>strong { font-size:21px; }
 .g64-milestones li { padding-inline:7px; }
 .g64-milestones strong { font-size:32px; }
}
@media(prefers-reduced-motion:reduce) {
 .g64-orbit, .g64-faceted-star, .g64-sheet { animation:none; }
 #g64-motion { display:none; }
}
@media print {
 .g64-research-panel[hidden], .g64-tab-copy[hidden] { display:grid !important; }
 .g64-tabs, .g64-research-tabs { display:none; }
 .g64-orbit, .g64-faceted-star, .g64-sheet { animation:none; }
 .g64-research-panel { break-inside:avoid; margin-bottom:25px; }
}
