/* The opaque menu masks one separate soft radial-gradient backlight. */
body[data-colorway=paper]{background:var(--paper)}
html[data-colorway=blue-green]{background:#fff}
.colorway-controls{position:absolute;right:42px;top:91px;display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);border-radius:28px;pointer-events:auto}
.colorway-controls>span{font:8px Arial,Helvetica,sans-serif;letter-spacing:.8px;padding:0 9px;color:var(--muted)}
.colorway-controls button{border:0;border-radius:22px;min-height:38px;padding:9px 13px;font:10px Arial,Helvetica,sans-serif;background:transparent}
.colorway-controls button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.colorway-controls button:hover{box-shadow:inset 0 0 0 1px var(--line)}
.menu-ground,.wheel-halo{position:absolute;pointer-events:none}
.menu-ground{inset:2.5%;border-radius:inherit;background:var(--paper);z-index:0}
.wheel-halo{display:block;opacity:var(--halo-opacity,0);inset:-135px;z-index:-1;background:radial-gradient(ellipse at var(--halo-x,50%) var(--halo-y,50%),hsl(var(--halo-hue,160) 74% 43% / .48) 0%,hsl(var(--halo-hue,160) 74% 48% / .26) 38%,hsl(var(--halo-hue,160) 70% 52% / .06) 66%,transparent 95%);filter:blur(32px);border-radius:50%}
.dial{isolation:isolate;background:transparent;box-shadow:none}
.dial>svg{position:relative;z-index:1}
body[data-colorway=blue-green]{--paper:#fff;--ink:#07120c;--muted:#3c5044;--line:#537567;--accent:#078645;background:#fff;color:var(--ink)}
body[data-colorway=blue-green]:before{opacity:0}
.browsing .wheel-halo{display:none}
.browsing .menu-ground{inset:0}
body[data-colorway=blue-green] .dial{background:transparent;box-shadow:none}
body[data-colorway=blue-green]:not(.browsing) .dial>svg{stroke:#183f3599}
body:not(.browsing) .dial>svg path{fill:transparent}
body[data-colorway=blue-green] .category-control:hover{color:var(--ink)}
body[data-colorway=blue-green] .category-control[aria-current],body[data-colorway=blue-green] .colorway-controls button[aria-pressed=true]{background:#edf7f8;color:#07120c}
@media(max-width:800px){.colorway-controls{left:96px;right:22px;top:100px;width:max-content;max-width:calc(100% - 118px);gap:2px;padding:3px}.colorway-controls>span{font-size:7px;padding:0 5px}.colorway-controls button{font-size:9px;padding:8px 9px;min-height:38px}.wheel-halo{inset:-78px;filter:blur(24px)}body:not(.browsing) .landing-copy{top:160px}}
@media(max-height:600px){body:not(.browsing){position:relative;min-height:var(--landing-height)}body:not(.browsing) #navigator{position:absolute;height:var(--landing-height);bottom:auto}body:not(.browsing) .landing-copy{position:absolute}body:not(.browsing) footer{position:absolute;bottom:0}}
@media(max-width:359px){.colorway-controls>span{display:none}}

/* Primary menu structure is stronger than supporting rules. */
.dial>svg{stroke-width:2.2}
.category-control svg{stroke-width:2.1}
.browsing .dial{border-width:1.6px}

body[data-colorway=paper] .wheel-halo{background:radial-gradient(ellipse at var(--halo-x,50%) var(--halo-y,50%),rgb(var(--halo-r,79) var(--halo-g,132) var(--halo-b,109) / .48) 0%,rgb(var(--halo-r,79) var(--halo-g,132) var(--halo-b,109) / .26) 38%,rgb(var(--halo-r,79) var(--halo-g,132) var(--halo-b,109) / .06) 66%,transparent 95%)}
.wheel-sector-link{pointer-events:all;cursor:pointer}
body:not(.browsing) .dial>svg .wheel-sector-link:hover path,body:not(.browsing) .dial>svg path.hovered{fill:var(--sector-hover)}
body:not(.browsing) .dial>svg .wheel-sector-link:active path{fill:var(--sector-pressed)}
body[data-colorway=paper]{--sector-hover:#bcc98c;--sector-pressed:#a6b873}
body[data-colorway=blue-green]{--sector-hover:#bcc98c;--sector-pressed:#a6b873}
body:not(.browsing) .category-control{transform:translate(var(--x),calc(var(--y) + var(--lift,0px))) scale(var(--node-scale,1))}
body:not(.browsing) .category-control:hover,body:not(.browsing) .category-control[data-hovered=true]{--lift:-2px;--node-scale:1.035;color:var(--ink)}
body:not(.browsing) .category-control:active{--node-scale:.98}
.hub{width:var(--hub-size);height:var(--hub-size);font-size:20px;font-weight:700;border-radius:50%;gap:5px;transition:transform .85s cubic-bezier(.65,0,.16,1),opacity .5s,background .2s}
body:not(.browsing) .hub:hover,body:not(.browsing) .hub:focus-visible{background:var(--sector-hover)}
body:not(.browsing) .hub:active{background:var(--sector-pressed)}
.hub-star{margin-bottom:8px}
@media(max-width:800px){.hub{font-size:17px}.hub-star{font-size:25px}}
@media(prefers-reduced-motion:reduce){body:not(.browsing) .category-control{--lift:0px!important;--node-scale:1!important}}
body[data-colorway]:not(.browsing) .dial>svg{stroke:var(--ink)}
@media(max-width:800px){.brand-meta{position:absolute;left:23px;top:70px}.header-right{flex-shrink:0;white-space:nowrap}.brand-group{min-width:0}}

/* Preview10: stronger real paper grain beneath content, never over project imagery. */
body[data-colorway=paper]:before{z-index:0;opacity:.84;background-size:980px;filter:brightness(.85) contrast(1.5)}
body[data-colorway=paper] .menu-ground:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:url('/assets/paper-scan.png') repeat;background-size:980px;mix-blend-mode:multiply;opacity:.84;filter:brightness(.85) contrast(1.5)}
body[data-colorway].browsing .category-control[aria-current]{background:var(--sector-hover);color:var(--ink)}
