/* Operant business solutions. Original brand, connected experience. */
.op-experience{--xp-line:rgba(243,240,232,.15);--xp-orange:#d98a1d}
.op-experience main{overflow:clip}
.op-experience .page-hero.solution-hero{isolation:isolate;position:relative;padding:clamp(8.5rem,12vw,12rem) 0 clamp(4rem,8vw,7rem);overflow:hidden;background:#0c0d0f}
.solution-hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 84% 40%,rgba(217,138,29,.08),transparent 56%)}
.op-experience .solution-hero .hero-bg{background:linear-gradient(130deg,rgba(255,255,255,.025),transparent 45%);opacity:1}
.op-experience .solution-hero .page-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(2rem,5vw,6rem);align-items:center}
.op-experience .solution-hero h1{font-size:clamp(2.5rem,4.8vw,5.6rem);line-height:1.045;letter-spacing:-.055em;max-width:14ch;text-wrap:balance}
.op-experience .solution-hero .lead{max-width:48ch;line-height:1.7;font-size:clamp(1.02rem,1.35vw,1.2rem);margin-top:1.8rem}
.solution-hero-art{position:relative;min-width:0;perspective:1200px}
.solution-visual{position:relative;display:block;margin:0;border:1px solid var(--xp-line);border-radius:3px;background:linear-gradient(145deg,#171719,#0a0b0e);color:#f3f0e8;box-shadow:0 32px 80px rgba(0,0,0,.25);overflow:hidden}
.solution-visual:before{content:"";position:absolute;top:0;left:18%;right:18%;height:1px;background:linear-gradient(90deg,transparent,#d98a1d,transparent)}
.solution-art-top{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.1rem 1.3rem;border-bottom:1px solid rgba(243,240,232,.08);font:500 .62rem/1.5 var(--f-mono,monospace);letter-spacing:.12em;color:#e6b46d}
.solution-art-caption{color:#b2b0ad;letter-spacing:.02em;text-align:right}
.solution-visual svg{width:100%;height:auto;display:block}
.solution-visual figcaption{padding:1rem 1.35rem 1.35rem;font-size:.8rem;line-height:1.6;color:#c6c3bd;border-top:1px solid rgba(243,240,232,.07)}
.solution-hero-note .answer{margin:1rem 0 0;padding:1.1rem 1.35rem;background:rgba(243,240,232,.035);border:1px solid var(--xp-line);box-shadow:none;border-radius:2px}
.solution-hero-note .answer .mono{color:#dda657;font-size:.65rem}
.solution-hero-note .answer p{font-size:.88rem;line-height:1.7;color:#ccc9c3}
.op-experience .op-opening-promise{max-width:35rem;font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.7}
.op-experience .op-opening h1{font-size:clamp(3.1rem,6.8vw,7.5rem);max-width:10.5ch}
.solution-explorer{position:relative;background:#101113;color:#f3f0e8;padding:clamp(4rem,9vw,9rem) 0;border-top:1px solid var(--xp-line);border-bottom:1px solid var(--xp-line)}
.solution-intro{display:grid;grid-template-columns:1.1fr 1fr;column-gap:8%;align-items:end;margin-bottom:3rem}
.solution-intro>.label{grid-column:1/-1;color:#e2ad61}
.solution-intro h2{margin:0;font-size:clamp(2.7rem,5.4vw,6rem);line-height:1.03;letter-spacing:-.055em}
.solution-intro h2 em{font-style:normal;color:#d98a1d}
.solution-intro>p:last-child{max-width:42ch;font-size:1.05rem;color:#c8c5be;line-height:1.8}
.solution-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--xp-line);margin-bottom:1.5rem}
.solution-tabs button{min-height:76px;display:flex;gap:.8rem;align-items:center;justify-content:flex-start;border:0;border-right:1px solid var(--xp-line);border-bottom:2px solid transparent;color:#c9c6c0;background:transparent;padding:1.15rem 1.3rem;text-align:left;font:500 .95rem/1.4 var(--f-sans,Arial,sans-serif);cursor:pointer;transition:background .2s,color .2s}
.solution-tabs button:last-child{border-right:0}
.solution-tabs button span:first-child{font:500 .65rem var(--f-mono,monospace);color:#b79768}
.solution-tabs button span:last-child{margin-left:auto}
.solution-tabs button[aria-selected=true]{background:rgba(217,138,29,.09);color:#f3f0e8;border-bottom-color:#d98a1d}
.solution-tabs button:hover{background:rgba(243,240,232,.055)}
.solution-tabs button:focus-visible,.solution-secondary:focus-visible{outline:2px solid #f6bb66;outline-offset:4px}
.solution-path{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,6rem);padding:clamp(1.7rem,4vw,4rem);border:1px solid var(--xp-line);background:linear-gradient(130deg,#171719,#0b0c0e);margin-bottom:1rem}
.solution-path[hidden],[data-solution-controls][hidden]{display:none!important}
.solution-path-index{font:500 .68rem/1.5 var(--f-mono,monospace);letter-spacing:.12em;text-transform:uppercase;color:#dda657}
.solution-path h3{font-size:clamp(2rem,3.1vw,3.5rem);line-height:1.13;letter-spacing:-.04em;margin:1.1rem 0}
.solution-before{color:#bbb8b3;line-height:1.8;font-size:.98rem}
.solution-build{margin:1.8rem 0;border-left:2px solid #d98a1d;padding-left:1.2rem}
.solution-build>.mono{font-size:.62rem;color:#e4af65;letter-spacing:.1em;text-transform:uppercase}
.solution-build p{margin:.55rem 0 0;font-size:1rem;line-height:1.7;color:#f3f0e8}
.solution-path-steps{display:flex;gap:.65rem;flex-wrap:wrap;counter-reset:xpsteps;padding:0;margin:1.5rem 0 2rem;list-style:none}
.solution-path-steps li{counter-increment:xpsteps;font-size:.72rem;color:#cac7c0;display:flex;align-items:center;gap:.4rem}
.solution-path-steps li:before{content:counter(xpsteps,decimal-leading-zero);font-size:.6rem;color:#d98a1d}
.solution-path-steps li:not(:last-child):after{content:"/";color:#615b52;margin-left:.3rem}
.solution-path .btn{font-size:.82rem;max-width:100%;min-height:48px;white-space:normal}
.solution-secondary{display:block;width:fit-content;font-size:.8rem;color:#c8c1b6;margin-top:1rem;text-decoration:underline;text-underline-offset:5px}
.solution-tail{font-size:.86rem;color:#aaa69e;max-width:76ch;line-height:1.8;margin:1.5rem 0 0}
.op-experience .sec-head h2{text-wrap:balance;letter-spacing:-.04em}
.op-experience .cols>div{position:relative;border-top:1px solid rgba(217,138,29,.3);padding-top:1.5rem}
.op-experience .cols .n{color:#bd812c;font-family:var(--f-mono,monospace);font-size:.7rem;letter-spacing:.12em}
.op-experience .steps{position:relative}
.op-experience .steps li{border-top-color:rgba(217,138,29,.35);padding-top:1.8rem}
.op-experience .media-frame{border-radius:3px;overflow:hidden}
.op-experience .work{transition:border-color .2s,box-shadow .2s}
.op-experience .spec-row{transition:background .2s,padding .2s;border-top-color:rgba(243,240,232,.17)}
.op-experience .spec-row:hover{background:rgba(217,138,29,.035)}
.op-experience .faq details[open]{border-left:2px solid #d98a1d;padding-left:1.1rem}
.op-experience .linklist a{min-height:60px}
.op-experience .finale{background:radial-gradient(ellipse at 50% 100%,rgba(217,138,29,.11),transparent 65%),#101113}
.op-experience .preferred-source-badge{display:inline-block;max-width:160px;opacity:.7}
.op-experience .preferred-source-badge:hover{opacity:1}
.op-experience .preferred-source-badge img{max-width:100%;height:auto}
.op-experience .site-footer .line{color:#e2b879}
.op-experience .dd-panel{max-height:min(75vh,650px);overflow-y:auto;overscroll-behavior:contain}
.op-experience .mobile-nav{overscroll-behavior:contain}
.legacy-experience>main{padding-top:5.5rem}
.legacy-experience .site-header .wrap,.legacy-experience .site-footer>.wrap{width:min(1320px,calc(100% - 64px));max-width:1320px;margin-inline:auto}
.legacy-experience .site-header .brand{display:inline-flex;align-items:center;flex-shrink:0}
.legacy-experience .site-header .brand img{width:132px;height:29px;max-width:none}
.legacy-experience .mobile-nav .wrap{width:min(1320px,calc(100% - 40px));margin:auto}
.legacy-experience .site-footer{margin-top:4rem}
.legacy-experience .site-footer .ft-col h2{font:500 .7rem/1.5 var(--f-mono,monospace);letter-spacing:.1em;text-transform:uppercase;overflow-wrap:normal;margin:0 0 1rem}
.legacy-experience .site-footer .ft-brand p{font-size:.88rem;line-height:1.75}
.service-story .ba-col>p:last-child{font-size:1rem;line-height:1.8}
.article-toc{border-block:1px solid var(--xp-line);padding:1.5rem 0;margin:2rem 0}
.article-toc ul{display:flex;flex-wrap:wrap;gap:.8rem 1.6rem;list-style:none;padding:0}
.article-toc a{color:inherit;text-underline-offset:5px}
@media(prefers-reduced-motion:no-preference){
 .art-signal{animation:xp-pulse 4s ease-in-out infinite}.art-signal-second{animation-delay:2s}
 .solution-visual:hover .art-connections{stroke:#f6bd6b}
 @keyframes xp-pulse{0%,100%{opacity:.3}50%{opacity:1}}
}
.op-motion-paused .art-signal,html[data-motion=off] .art-signal,.xp-document-hidden .art-signal{animation-play-state:paused}
@media(min-width:1100px){.solution-hero-art>.solution-visual{transform:rotateY(-6deg) rotateX(3deg);transform-origin:center}.solution-hero-art>.solution-visual:hover{transform:none;transition:transform .5s}}
@media(max-width:1000px){
 .op-experience .solution-hero .page-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:2rem}
 .solution-art-top{font-size:.52rem;padding:.85rem}.solution-visual figcaption{font-size:.74rem;padding:.85rem}
 .solution-path{padding:2rem;gap:2rem}.solution-path .solution-visual{box-shadow:none}
}
@media(max-width:760px){
 .legacy-experience .site-footer .ft-top{grid-template-columns:1fr 1fr;gap:2rem 1.25rem}
 .legacy-experience .site-footer .ft-brand{grid-column:1/-1}
 .op-experience .page-hero.solution-hero{padding:8rem 0 3rem}
 .op-experience .solution-hero .page-hero-grid{grid-template-columns:1fr;gap:2.5rem}
 .op-experience .solution-hero h1{font-size:clamp(2.6rem,10.5vw,4rem);max-width:15ch}
 .op-experience .solution-hero .lead{font-size:1rem;line-height:1.7}
 .solution-hero-art{max-width:580px;width:100%}
 .solution-art-top{font-size:.6rem}.solution-visual figcaption{font-size:.79rem}
 .op-experience .op-opening h1{font-size:clamp(2.9rem,10.8vw,5.4rem);line-height:1.02}
 .op-experience .op-opening-promise{font-size:.98rem;max-width:35ch;line-height:1.6}
 .solution-intro{grid-template-columns:1fr;gap:1.3rem;margin-bottom:2rem}
 .solution-intro h2{font-size:clamp(2.8rem,11vw,4.3rem)}
 .solution-intro>p:last-child{font-size:.98rem;margin:0}
 .solution-tabs{grid-template-columns:1fr}.solution-tabs button{min-height:54px;padding:.9rem 1rem;border-right:0;border-bottom:1px solid var(--xp-line)}
 .solution-tabs button[aria-selected=true]{box-shadow:inset 3px 0 #d98a1d;border-bottom-color:var(--xp-line)}
 .solution-path{grid-template-columns:1fr;padding:1.4rem;gap:2rem}
 .solution-path h3{font-size:2.2rem}.solution-path .solution-visual{order:2}
 .solution-tail{font-size:.8rem}.solution-path-steps{display:grid;gap:.75rem}
 .solution-path-steps li:after{display:none}
 .solution-hero .btn-row{gap:.8rem}.solution-hero .btn-row .btn{font-size:.84rem}
}
@media(max-width:390px){.op-experience .solution-hero h1{font-size:2.55rem}.solution-path{padding:1.1rem}.solution-art-top{letter-spacing:.04em}.solution-tabs button{font-size:.86rem}}
