/* The Ops Layer · Home v3 system (Claude Design handoff, 2 Oct 2026). Source: Design Handoff/home-v3.html */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:#000}
a{color:inherit}a:hover{color:inherit}
.ol *,.ol *::before,.ol *::after{box-sizing:border-box}
:where(.ol) p,:where(.ol) h2,:where(.ol) h3,:where(.ol) figure,:where(.ol) blockquote{margin:0}
:where(.ol) button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:left}
.ol a:focus-visible,.ol button:focus-visible,.ol summary:focus-visible,.ol [tabindex]:focus-visible{outline:2px solid #F26B21;outline-offset:4px}
.ic{width:1em;height:1em;fill:currentColor;flex:none;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--pad);position:relative}
.d{font-family:var(--disp);font-weight:700;letter-spacing:-.022em;line-height:1;text-wrap:balance}
.d em{font-style:italic}
.sec{position:relative;padding-block:clamp(140px,14vw,230px)}
.h2{font-size:clamp(40px,4.6vw,76px)}
.lead{font-size:clamp(18px,1.4vw,21px);line-height:1.66;font-weight:300;color:var(--on-d);max-width:42ch;text-wrap:pretty}
.small{font-size:15px;line-height:1.75;color:var(--on-d2);text-wrap:pretty}

/* living background */
.bg{position:fixed;inset:0;width:100%;height:100%;z-index:-2;display:block;opacity:0;transition:opacity 2.6s var(--ease);pointer-events:none}
.bg.on{opacity:1}
.tex{position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 70% at 78% 40%,rgba(242,107,33,.32),rgba(120,40,10,.12) 45%,transparent 70%),#000;display:none}
.ol.no-gl .tex,.ol.is-static .tex{display:block}
.ol.is-static .bg{display:none}

/* reveal */
.ol.js:not(.is-static) [data-r]{opacity:0;translate:0 34px;filter:blur(6px);transition:opacity 1.2s var(--ex),translate 1.4s var(--ex),filter 1.2s var(--ex);transition-delay:var(--d,0ms)}
.ol.js:not(.is-static) [data-r].in{opacity:1;translate:0 0;filter:blur(0)}
.ln{display:block;overflow:hidden;padding-bottom:.14em;margin-bottom:-.14em}
.ln>span{display:block}
.ol.js:not(.is-static) .ln>span{transform:translateY(112%) rotate(2.5deg);transform-origin:0 100%;transition:transform 1.6s var(--ex);transition-delay:var(--d,0ms)}
.ol.js:not(.is-static).loaded .hero .ln>span,.ol.js:not(.is-static) .in .ln>span,.ol.js:not(.is-static) .ln.in>span{transform:none}


/* Divi is plumbing only: flatten its wrappers so sections render edge to edge */
.ol #page-container{padding-top:0!important;margin-top:0!important;background:transparent}
.ol #main-content,.ol #et-main-area{overflow:visible;background:transparent}
.ol .et_pb_section{padding:0;background:transparent}
.ol .et_pb_row{width:100%;max-width:none;padding:0;margin:0}
.ol .et_pb_row::after{display:none}
.ol .et_pb_column{width:100%;margin:0}
.ol .et_pb_module,.ol .et_pb_code{margin:0;padding:0}
.ol .et_pb_code_inner{display:contents}
.ol #et-boc .et-l p:last-of-type{padding-bottom:0}
.ol #main-footer{display:none}
