.theme-picker{flex:1 0 100%;display:flex;align-items:center;justify-content:center;gap:22px;padding:27px 0 4px;margin-top:12px;border-top:1px solid rgb(var(--pf-d4bc8a,212 188 138) / .18);color:var(--paper,#f1e6d2)}
.theme-picker-label{font-size:12px;font-weight:500;letter-spacing:.01em;color:inherit;opacity:.8}
.theme-swatches{display:flex;align-items:center;gap:12px}.theme-swatch{appearance:none;position:relative;width:48px;height:48px;min-width:48px;padding:7px;display:grid;place-items:center;border:1px solid transparent;border-radius:50%;background:none;cursor:pointer;box-shadow:none;transition:border-color .22s,transform .22s!important;isolation:isolate}
.theme-swatch>span{display:block;width:32px;height:32px;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff25,0 3px 8px #0002;pointer-events:none}.theme-swatch[data-theme-choice=prairie]>span{background:linear-gradient(135deg,#173b32 0%,#173b32 46%,#c8ceb8 50%,#f1e6d2 54%,#f1e6d2 100%)}.theme-swatch[data-theme-choice=blue]>span{background:linear-gradient(135deg,#f5a7ce 0%,#f5a7ce 46%,#947eaf 50%,#132b51 54%,#132b51 100%)}.theme-swatch[data-theme-choice=copper]>span{background:linear-gradient(135deg,#202326 0%,#202326 46%,#856959 50%,#dfad88 54%,#dfad88 100%)}
.theme-swatch[aria-pressed=true]{border-color:var(--accent,#d4bc8a)}.theme-swatch:hover{transform:translateY(-2px)!important;background:none;box-shadow:none}.theme-swatch:active{transform:scale(.95)!important}.theme-swatch:focus-visible{outline:2px solid var(--accent,#d4bc8a);outline-offset:3px}.theme-swatch:before,.theme-swatch:after{content:none!important}
footer{flex-wrap:wrap}.theme-only-footer{display:flex;padding:24px 6%}.theme-only-footer .theme-picker{margin-top:0}.theme-changing body,.theme-changing main,.theme-changing section,.theme-changing article,.theme-changing footer,.theme-changing .header{transition:background-color .32s ease,color .32s ease,border-color .32s ease}
@media(max-width:600px){.theme-picker{gap:12px;flex-direction:column;padding-top:24px}.theme-picker-label{font-size:11px}.theme-swatch{width:48px;height:48px}}
@media(prefers-reduced-motion:reduce){.theme-changing body,.theme-changing main,.theme-changing section,.theme-changing article,.theme-changing footer,.theme-changing .header,.theme-swatch{transition:none!important}.theme-swatch:hover{transform:none!important}}
.theme-picker{order:10}
/* Maintain readable contact headlines on each theme's light closing section. */
.contact h2,.contact h2 em,.contact .light-pass,.contact .light-pass em{--text-base:var(--pine);--text-highlight:var(--pine);background:none!important;color:var(--pine)!important;-webkit-text-fill-color:var(--pine)!important}

/* Central atmospheric light: circular falloff, always behind the content.
   Uses theme channels so Prairie, Blue Hour and Ember stay cohesive. */
.opening-sticky::after{
 content:"";position:absolute;left:50%;top:50%;width: min(112vw,110svh);aspect-ratio:1;
 transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;z-index:0;
 background:radial-gradient(circle at center,
 rgb(var(--pf-d4bc8a,212 188 138) / .20) 0%,
 rgb(var(--pf-82947b,130 148 123) / .16) 22%,
 rgb(var(--pf-82947b,130 148 123) / .075) 43%,
 rgb(var(--pf-173b32,23 59 50) / .025) 61%,transparent 74%);
}
.opening .hero-title,.opening .hero-foot{z-index:2}
.opening .scroll-story{z-index:3}
/* Keep the same central light as the footage fades and the service text rises. */
.opening .story-backdrop{
 display:block;position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:radial-gradient(circle at 50% 50%,
 rgb(var(--pf-d4bc8a,212 188 138) / .18) 0%,
 rgb(var(--pf-82947b,130 148 123) / .14) 18%,
 rgb(var(--pf-173b32,23 59 50) / .07) 36%,transparent 65%);
}
@media(forced-colors:active){.opening-sticky::after,.opening .story-backdrop{display:none}}

/* Pointer light lives on the background plane; panels remain opaque above it. */
.pf-light-position{position:relative}
.pf-light-surface{isolation:isolate}
.pf-ambient-light,.pf-edge-light{display:none;pointer-events:none!important;position:absolute;inset:0;border-radius:inherit;opacity:0;transition:opacity .3s ease}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .pf-ambient-light{display:block;z-index:-1;background:radial-gradient(circle 410px at var(--light-x,50%) var(--light-y,50%),rgb(var(--pf-d4bc8a,212 188 138) / .16),rgb(var(--pf-82947b,130 148 123) / .09) 32%,transparent 76%)}
 .opening-sticky>.pf-ambient-light{z-index:1}
 .pf-edge-light{display:block;z-index:10;padding:2px;background:radial-gradient(circle 210px at var(--light-x,50%) var(--light-y,50%),rgb(var(--pf-d4bc8a,212 188 138) / .85),rgb(var(--pf-82947b,130 148 123) / .35) 45%,transparent 78%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}
 html:not(.pf-cursor-light) .pf-ambient-light,html:not(.pf-cursor-light) .pf-edge-light,html:has(dialog[open]) .pf-ambient-light,html:has(dialog[open]) .pf-edge-light{opacity:0!important}
 .pf-cursor-light .opening-sticky::after{opacity:0}
 .pf-cursor-light .opening .story-backdrop{background:none}
}
@media(forced-colors:active){.pf-ambient-light,.pf-edge-light{display:none!important}}
.opening-sticky::after{transition:opacity .3s ease}

/* Prairie Window logo: one consistent lockup in every toolbar state. */
.header .brand-full .wordmark-image{width:110px;max-height:44px}
@media(max-width:800px){.header .brand{width:85px;flex-basis:85px}.header .brand-full .wordmark-image{width:85px;max-height:36px}}
@media(max-width:360px){.header .brand-full .wordmark-image{width:72px!important;max-width:72px!important;max-height:32px!important}}
/* A native vector viewfinder cursor: exact hotspot, no trailing overlay or latency. */
@media(hover:hover) and (pointer:fine){
 html,body,body *{cursor:url('cursor-frame.svg') 16 16,auto}
 a,button,[role="button"],label,summary,select,input[type="checkbox"],input[type="radio"],a *,button *,[role="button"] *{cursor:url('cursor-frame-active.svg') 16 16,pointer}
 input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),textarea,[contenteditable="true"]{cursor:text}
 input[type="range"],[role="slider"]{cursor:ew-resize}
 :disabled,[aria-disabled="true"]{cursor:not-allowed}
}
@media(forced-colors:active){html,body,body *{cursor:auto}a,button,[role="button"]{cursor:pointer}input,textarea{cursor:text}}

/* Restore the original bison, with a stable crossfade inside the fixed brand slot. */
.header .brand{position:relative;display:flex;align-items:center;justify-content:flex-start}
.header .brand-full,.header .brand.compact-brand .brand-full{display:flex;opacity:1;transform:translateY(0);transition:opacity .25s ease,transform .25s ease}
.header .brand-full .wordmark-image{width:105px;max-height:50px}
.header .brand-bison{position:absolute!important;inset:0;display:flex!important;align-items:center;justify-content:flex-start;width:100%!important;height:100%!important;opacity:0;transform:translateY(5px);transition:opacity .25s ease,transform .25s ease;pointer-events:none}
.header .brand-bison img{display:block;width:64px;height:auto;max-height:44px;object-fit:contain;filter:none}
.header .brand.compact-brand .brand-full{opacity:0;transform:translateY(-5px);pointer-events:none}
.header .brand.compact-brand .brand-bison{opacity:1;transform:translateY(0)}
@media(max-width:800px){.header .brand-full .wordmark-image{width:85px;max-height:40px}.header .brand-bison img{width:55px;max-height:35px}}
@media(prefers-reduced-motion:reduce){.header .brand-full,.header .brand-bison{transition:none!important;transform:none!important}}
/* Neon Reed cursor: a slender light-blade, with a theme-specific luminous rim. */
@media(hover:hover) and (pointer:fine){
 :root{--pf-cursor:url('cursor-neon-prairie.svg');--pf-cursor-active:url('cursor-neon-prairie-active.svg')}
 :root[data-pf-theme="blue"]{--pf-cursor:url('cursor-neon-blue.svg');--pf-cursor-active:url('cursor-neon-blue-active.svg')}
 :root[data-pf-theme="copper"]{--pf-cursor:url('cursor-neon-copper.svg');--pf-cursor-active:url('cursor-neon-copper-active.svg')}
 html,body,body *{cursor:var(--pf-cursor) 5 4,auto}
 a,button,[role="button"],label,summary,select,input[type="checkbox"],input[type="radio"],a *,button *,[role="button"] *{cursor:var(--pf-cursor-active) 5 4,pointer}
 input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),textarea,[contenteditable="true"]{cursor:text}
 input[type="range"],[role="slider"]{cursor:ew-resize}
 :disabled,[aria-disabled="true"]{cursor:not-allowed}
}
@media(forced-colors:active){html,body,body *{cursor:auto}a,button,[role="button"]{cursor:pointer}input,textarea{cursor:text}}
/* The restored mark is an actual sharp SVG image, not the former masked block. */
.header .brand-bison,.header .brand.compact-brand:hover .brand-bison{background:none!important;mask:none!important;-webkit-mask:none!important}

/* Original bison: precise theme tint on hover and keyboard focus. */
.header .brand-bison img{transition:opacity .24s ease}
.header .brand-bison::after{content:"";position:absolute;left:0;top:0;width:64px;height:100%;background:rgb(var(--pf-d4bc8a,212 188 138));mask:url('bison-mark.svg') left center/contain no-repeat;-webkit-mask:url('bison-mark.svg') left center/contain no-repeat;opacity:0;transition:opacity .24s ease;pointer-events:none}
.header .brand:is(:hover,:focus-visible) .brand-bison img{opacity:0}
.header .brand:is(:hover,:focus-visible) .brand-bison::after{opacity:1}
@media(max-width:800px){.header .brand-bison::after{width:55px}}
@media(prefers-reduced-motion:reduce){.header .brand-bison img,.header .brand-bison::after{transition:none}}
@media(forced-colors:active){.header .brand-bison::after{display:none}.header .brand:is(:hover,:focus-visible) .brand-bison img{opacity:1}}
