/* Quiet kinetic brand texture, behind content and outside the reading tools. */
.ambient-field { position:absolute; right:2%; top:14%; width:43%; height:64%; max-height:440px; pointer-events:none; z-index:-1; overflow:hidden; border-radius:50%; mask-image:radial-gradient(ellipse,#000 48%,transparent 74%); }
.ambient-ribbon { position:absolute; width:150%; height:29%; left:-20%; top:25%; border:1px solid #90bbb066; border-radius:50%; background:linear-gradient(110deg,transparent,#dbeee66e,transparent); transform:rotate(-26deg); animation:ribbon-drift 16s ease-in-out infinite alternate; }
.ribbon-two { top:40%; border-color:#bdacd15c; background:linear-gradient(100deg,transparent,#e8e1f260,transparent); animation-delay:-5s; }
.ribbon-three { top:55%; border-color:#d5b4a45c; background:linear-gradient(100deg,transparent,#f5e5db60,transparent); animation-delay:-10s; }
.ambient-orbit { position:absolute; width:55%; aspect-ratio:1; border:1px solid #88b5ad55; border-radius:50%; left:22%; top:15%; animation:orbit-turn 35s linear infinite; }
.ambient-orbit::after { content:""; width:7px; height:7px; position:absolute; top:12%; left:12%; border-radius:50%; background:#689e92; box-shadow:0 0 15px #aacbbb; }
.orbit-two { width:76%; left:11%; top:2%; border-color:#b8abc155; animation-direction:reverse; animation-duration:45s; }
.orbit-two::after { background:#a18eb6; }
.orbit-three { width:34%; left:33%; top:27%; border-color:#d8b3a655; animation-duration:25s; }
.orbit-three::after { background:#c49b83; }
@keyframes ribbon-drift { from { transform:translateY(-12px) rotate(-26deg); } to { transform:translateY(18px) rotate(-15deg); } }
@keyframes orbit-turn { to { transform:rotate(360deg); } }
@keyframes colour-drift { from { background-position:0% 40%; } to { background-position:100% 65%; } }
main>section::before,.research-hero::before,.research-feature::before,.research-closing::before { background-size:130% 130%; animation:colour-drift 24s ease-in-out infinite alternate; }
.hero-copy { position:relative; z-index:1; }
html { scroll-behavior:auto; }
@media(max-width:860px) { .ambient-field { width:64%; right:-5%; top:8%; opacity:.65; height:45%; } }
@media(max-width:600px) { .ambient-field { width:83%; right:-9%; top:3%; height:34%; opacity:.55; } }
@media(prefers-reduced-motion:reduce) { .ambient-ribbon,.ambient-orbit,main>section::before,.research-hero::before,.research-feature::before,.research-closing::before { animation:none; } }
.reduce-motion .ambient-ribbon,.reduce-motion .ambient-orbit,.reduce-motion main>section::before { animation:none; }

/* One material and colour language; content, rather than viewport height, sets rhythm. */
main#main-content>section:not(#method) { min-height:0; padding-block:64px; }
main#main-content>#hero { min-height:clamp(540px,72svh,720px); padding-block:56px; }
main#main-content>#publications { padding-block:48px; }
main#main-content>#contact { padding-block:56px; }
main#main-content>section { --chapter-tint:#faf6eb; }
main#main-content>section::before { background:radial-gradient(ellipse at 85% 60%,#faf6eb,transparent 68%); background-size:130% 130%; }
main#main-content .team-portrait,main#main-content .team-grid article:nth-child(2) .team-portrait,main#main-content .team-grid article:nth-child(3) .team-portrait { background:linear-gradient(135deg,#eee4cd,#fffdf8); }
main#main-content .method-stage { background:#ffffffd9; border-color:#e4dac4; box-shadow:0 12px 35px #96722d08; }
main#main-content .outcome-visual>span { background:#fcf9f1; border-color:#e4dac4; }
main#main-content .outcome-visual>strong,main#main-content .method-stage-head>.mono { color:#96722d; }
main#main-content .recommendation { background:#faf6eb; border-color:#e4dac4; }
main#main-content .window-bar { background:#faf6eb; }
main#main-content .scenario-tabs>button[aria-selected=true] { background:#faf6eb; border-bottom-color:#96722d; color:#96722d; }
main#main-content .recommendation-top>.mono,main#main-content .recommendation-foot>span,main#main-content .confidence { color:#96722d; }
.ambient-ribbon.ribbon-two,.ambient-ribbon.ribbon-three { border-color:#96b5a955; background:linear-gradient(100deg,transparent,#e0ede660,transparent); }
.ambient-orbit.orbit-two,.ambient-orbit.orbit-three { border-color:#95b4a655; }
.ambient-orbit.orbit-two::after,.ambient-orbit.orbit-three::after { background:#789a8a; }
#hero .ambient-field { opacity:.35; }
.depth-object { position:absolute; width:340px; height:340px; right:2%; top:calc(50% - 170px); perspective:900px; pointer-events:none; z-index:0; }
.depth-assembly { position:absolute; inset:35px; transform-style:preserve-3d; transform:rotateX(58deg) rotateZ(-32deg); animation:depth-breathe 12s ease-in-out infinite alternate; }
.depth-plate { position:absolute; inset:0; border:1px solid #a8c0b2; border-radius:36px; background:linear-gradient(145deg,#ffffffeb,#dbe9e0d9); box-shadow:8px 8px 0 #d3e2d8,12px 16px 24px #96722d15; }
.plate-back { transform:translateZ(-58px); opacity:.55; }
.plate-middle { transform:translateZ(-29px); opacity:.75; }
.plate-front { display:flex; justify-content:center; align-items:center; gap:14px; background:linear-gradient(140deg,#fff,#eee4cd); }
.plate-front i { display:block; width:55px; height:82px; border:1px solid #86a897; border-radius:50%; box-shadow:inset 0 0 0 8px #edf4ef,inset 0 0 0 9px #a8c0b2,3px 8px 15px #96722d12; transform:rotate(25deg); }
.plate-front i:nth-child(2) { transform:rotate(-25deg); }
.plate-front i:last-child { width:32px; height:32px; position:absolute; top:178px; transform:none; }
.depth-shadow { position:absolute; inset:auto 35px 35px; height:25px; border-radius:50%; background:#75988622; filter:blur(15px); }
@keyframes depth-breathe { from { transform:translateY(-7px) rotateX(58deg) rotateZ(-32deg); } to { transform:translateY(9px) rotateX(50deg) rotateZ(-26deg); } }
#hero .hero-copy { max-width:calc(100% - 290px); }
#hero h1 { font-size:clamp(43px,5.7vw,78px); }
#hero .hero-one-liner { max-width:550px; }
.chapter-thread { position:relative; width:100%; height:30px; margin-top:22px; pointer-events:none; overflow:hidden; grid-column:1/-1; }
.chapter-thread>span { position:absolute; height:1px; width:100%; top:15px; background:linear-gradient(90deg,transparent,#d1bb89 20%,#d1bb89 80%,transparent); }
.chapter-thread>i { position:absolute; top:12px; width:7px; height:7px; border-radius:50%; background:#a5813a; box-shadow:0 0 0 5px #f5edde; animation:thread-flow 15s ease-in-out infinite; }
.chapter-thread>i:nth-of-type(2) { animation-delay:-5s; }
.chapter-thread>i:nth-of-type(3) { animation-delay:-10s; }
@keyframes thread-flow { 0% { left:3%; opacity:0; } 15%,85% { opacity:1; } 100% { left:97%; opacity:0; } }
.compact-publications>a { transition:transform 240ms,background 240ms; }
.compact-publications>a:hover { transform:translateY(-4px); background:#fcf9f1; }
.review-window { transition:box-shadow 240ms; }
.review-window:hover { box-shadow:0 12px 35px #96722d17; }
.resource-site .research-overview .research-hero::before,.resource-site .research-overview .research-feature::before,.resource-site .research-overview .research-closing::before { background:radial-gradient(ellipse at 85% 55%,#faf6eb,transparent 68%); background-size:130% 130%; }
.resource-site .research-overview .research-feature-article { border-color:#e4dac4; box-shadow:0 12px 35px #96722d08; }
.resource-site .research-overview .research-feature-meta { color:#96722d; }
.resource-site .research-overview .research-domains article,.resource-site .research-overview .research-domains article:nth-child(2),.resource-site .research-overview .research-domains article:nth-child(3),.resource-site .research-overview .research-lab-link { background:linear-gradient(135deg,#faf6eb,#fff); border-color:#e4dac4; }
.resource-site .research-overview .research-milestone { background:radial-gradient(ellipse at 85% 50%,#faf6eb,transparent 70%); }
.resource-site .research-overview .research-references a { background:#fbf8f0; border-color:#e4dac4; }
@media(max-width:1100px) { .depth-object { width:270px; height:270px; top:calc(50% - 135px); right:0; } .depth-assembly { inset:25px; } .plate-front i { width:44px; height:68px; } .plate-front i:last-child { top:145px; } #hero .hero-copy { max-width:calc(100% - 230px); } }
@media(max-width:860px) { #hero .hero-copy { max-width:100%; } .depth-object { opacity:.2; right:-10px; top:10px; z-index:-1; } main#main-content>section:not(#method) { padding-block:48px; } main#main-content>#hero { min-height:520px; } main#main-content>#contact,main#main-content>#publications { padding-block:42px; } }
@media(max-width:600px) { main#main-content>#hero { min-height:560px; } #hero h1 { font-size:40px; } .depth-object { top:0; width:230px; height:230px; opacity:.18; } .plate-front i:last-child { top:125px; } .chapter-thread { margin-top:15px; } }
@media(prefers-reduced-motion:reduce) { .depth-assembly,.chapter-thread>i { animation:none; } .chapter-thread>i { left:50%; } .compact-publications>a { transition:none; } .compact-publications>a:hover { transform:none; } }
.reduce-motion .depth-assembly,.reduce-motion .chapter-thread>i { animation:none; }
main#main-content .prototype-label { background:#f2ead9; color:#96722d; }
main#main-content #catch-grid i { background:#96722d; }
main#main-content #catch-grid i.miss,main#main-content .chart-legend .miss { background:#e8dfcd; }
.resource-site .research-toolkit>div>button>div { background:linear-gradient(135deg,#eee4cd,#fffdf8)!important; border-color:#e4dac4; }
.resource-site .research-toolkit>div>button>div>svg,.resource-site .research-toolkit>div>button>div>span { color:#96722d; }
main#main-content>section#hero { min-height:clamp(520px,65svh,640px); padding-block:48px; }
main#main-content>section#publications { padding-block:42px; }
main#main-content>section#contact { padding-block:48px; }
main#main-content>section#contact h2 em { color:#96722d; }
main#main-content>section#contact p { color:#66635b; }
@media(max-width:860px) { main#main-content>section#hero { min-height:520px; padding-block:44px; } main#main-content>section#publications,main#main-content>section#contact { padding-block:36px; } }
@media(max-width:860px) { .ambient-field,.research-hero .ambient-field { right:0; } }
@media(max-width:860px) { main#main-content>section#hero,.resource-site .research-hero { overflow:clip; } }
/* Gold is the single brand accent; the illustration tells the oversight story. */
:root { --gold:#96722d; --gold-soft:#f2ead9; --orange:#96722d; }
#hero h1 em,.topic-label { color:#96722d; }
main#main-content>section#hero { display:grid; grid-template-columns:1.3fr .9fr; gap:45px; align-items:center; min-height:580px; padding-block:66px; }
#hero .hero-copy { max-width:100%; }
#hero h1 { font-size:clamp(42px,5.5vw,76px); }
.oversight-art { position:relative; height:390px; margin:0; perspective:1000px; }
.art-orbit { position:absolute; width:340px; height:340px; border:1px solid #d6bf8e66; border-radius:50%; top:5px; left:calc(50% - 170px); box-shadow:0 0 0 32px #f4eddf55,0 0 0 64px #f9f5eb55; }
.art-orbit::after { content:""; position:absolute; top:15%; left:14%; width:6px; height:6px; border-radius:50%; background:#b18c46; box-shadow:0 0 0 6px #f3ead7; }
.art-recommendation,.art-review { position:absolute; border:1px solid #e2d7bf; background:linear-gradient(135deg,#fff,#fbf7ed); border-radius:10px; box-shadow:4px 5px 0 #f0e6d1,0 16px 35px #8e702618; padding:25px; }
.art-recommendation { width:85%; left:0; top:28px; transform:rotateY(-9deg) rotateZ(-4deg); animation:review-float 9s ease-in-out infinite alternate; }
.art-review { width:75%; right:0; top:156px; transform:rotateY(-7deg) rotateZ(3deg); animation:review-float 9s ease-in-out -4s infinite alternate; }
.oversight-art .mono { display:block; font-size:9px; letter-spacing:1.2px; color:#96722d; }
.oversight-art strong { display:block; font-size:22px; font-weight:500; letter-spacing:-.5px; margin-top:14px; }
.art-document-lines { display:grid; gap:8px; margin-top:20px; }
.art-document-lines i { display:block; width:80%; height:3px; background:#e9e3d5; border-radius:3px; }
.art-document-lines i:nth-child(2) { width:95%; }
.art-document-lines i:last-child { width:56%; }
.art-signature { display:block; width:70%; height:24px; border-bottom:1px solid #cfb982; transform:skewY(-5deg); margin-top:10px; }
.art-question { position:absolute; left:8%; bottom:48px; display:flex; align-items:center; gap:14px; padding:14px 18px; background:#25241f; border-radius:7px; color:#fff; box-shadow:0 9px 25px #8e70261a; }
.art-question strong { font-size:15px; margin:0; letter-spacing:0; }
.art-lens { display:block; width:27px; height:27px; border:1px solid #d7b873; border-radius:50%; box-shadow:inset 0 0 0 5px #25241f,inset 0 0 0 6px #a68849; }
.oversight-art figcaption { position:absolute; bottom:0; width:100%; text-align:center; color:#776e5c; font-size:11px; }
@keyframes review-float { from { translate:0 -4px; } to { translate:0 7px; } }
.ambient-ribbon,.ambient-ribbon.ribbon-two,.ambient-ribbon.ribbon-three { border-color:#ceb98155; background:linear-gradient(110deg,transparent,#f3ead760,transparent); }
.ambient-orbit,.ambient-orbit.orbit-two,.ambient-orbit.orbit-three { border-color:#ccb58055; }
.ambient-orbit::after,.ambient-orbit.orbit-two::after,.ambient-orbit.orbit-three::after { background:#b28d45; box-shadow:0 0 15px #d8c593; }
.application-list article { position:relative; padding-right:75px; }
.domain-art { position:absolute; width:64px; height:72px; right:0; top:28px; perspective:300px; }
.domain-art i { position:absolute; width:42px; height:54px; left:4px; top:2px; border:1px solid #d3bd8b; border-radius:3px; background:linear-gradient(130deg,#fff,#f6efdf); transform:rotate(-9deg); box-shadow:3px 5px 8px #96722d0c; }
.domain-art i:nth-child(2) { translate:6px 6px; transform:rotate(-2deg); }
.domain-art i:nth-child(3) { translate:12px 12px; transform:rotate(5deg); }
.domain-art span { position:absolute; top:30px; left:31px; width:16px; height:16px; border-radius:50%; border:1px solid #b38c42; animation:document-pulse 5s ease-in-out infinite alternate; }
.insurance-art i { border-radius:18px 18px 6px 6px; }
@keyframes document-pulse { to { box-shadow:0 0 0 5px #eddfbc77; } }
@media(max-width:1000px) { main#main-content>section#hero { gap:24px; grid-template-columns:1.2fr .9fr; } .oversight-art strong { font-size:20px; } .art-question strong { font-size:14px; } }
@media(max-width:860px) { main#main-content>section#hero { grid-template-columns:1fr; padding-block:48px; gap:35px; } .oversight-art { width:min(420px,100%); justify-self:center; height:365px; } .art-orbit { width:300px; height:300px; left:calc(50% - 150px); } }
@media(max-width:600px) { main#main-content>section#hero { padding-block:36px; gap:26px; } .oversight-art { height:330px; } .art-recommendation,.art-review { padding:20px; } .art-review { top:140px; } .art-question { bottom:36px; left:4%; } .application-list article { padding-right:65px; } }
@media(prefers-reduced-motion:reduce) { .art-recommendation,.art-review,.domain-art span { animation:none; } }
.reduce-motion .art-recommendation,.reduce-motion .art-review,.reduce-motion .domain-art span { animation:none; }
.compact-publications>a::after { content:""; position:absolute; right:8px; bottom:12px; width:27px; height:36px; border:1px solid #dac69a; border-left:3px solid #c6a96a; border-radius:2px 4px 4px 2px; background:linear-gradient(90deg,#f4ecd9,#fffaf0); box-shadow:3px 3px 0 #f0e5cc; transform:rotate(7deg); opacity:.48; pointer-events:none; }
.compact-publications>a { padding-right:44px; }
