/* Nova site-wide shared component styles. */

.sidebar-expand-btn.nova-menu-button {
    position: fixed;
    z-index: 1400;
    display: flex !important;
    top: 7px;
    right: auto !important;
    left: 12px !important;
    width: 46px;
    height: 46px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border: 1px solid var(--accent-gold);
    background: var(--accent-gold);
    color: #090b0e;
    box-shadow: none;
    border-radius: 4px;
    cursor: pointer;
    font-family: var(--font-mono);
    transition: filter .2s ease, transform .2s ease;
}

/* High-specificity global placement: outranks legacy page-level menu rules. */
html body #sidebarFloatingExpandBtn.nova-menu-button {
    top: 7px !important;
    right: auto !important;
    left: 12px !important;
}

/* Protocol magazine system: shared by every protocol as each is converted. */
.protocol-magazine { padding-top: 38px; }
.protocol-magazine-kicker { color: var(--accent-gold); font: 800 12px/1.4 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; }
.protocol-magazine-lead { display: grid; grid-template-columns: minmax(150px,.42fr) minmax(0,1.58fr); gap: 38px; align-items: end; margin: 32px 0 42px; padding-bottom: 42px; border-bottom: 6px solid var(--text-dark); }
.protocol-magazine-number { color: var(--nova-signal-red,#bd3d3d); font: 900 clamp(110px,14vw,190px)/.72 var(--font-sans); letter-spacing: -.1em; }
.protocol-magazine-title span,.protocol-magazine-section-title span { display: block; margin-bottom: 13px; color: var(--nova-signal-red,#bd3d3d); font: 800 12px/1.4 var(--font-mono); letter-spacing: .13em; text-transform: uppercase; }
.protocol-magazine-title h1 { margin: 0; max-width: none; color: var(--text-dark); font-size: clamp(48px,6vw,78px); line-height: .92; letter-spacing: -.06em; }
.protocol-magazine-title h1 em { color: var(--accent-gold); font-family: var(--font-serif); font-weight: 500; }
.protocol-magazine-intro { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr); gap: 38px; margin-bottom: 48px; }
.protocol-magazine-intro p { margin: 0 0 16px; font-size: clamp(20px,2vw,28px); line-height: 1.35; }
.protocol-magazine-intro blockquote { display: flex; align-items: center; margin: 0; padding: 28px 30px; border-left: 8px solid var(--nova-signal-red,#bd3d3d); background: var(--bg-sidebar); color: var(--text-dark); font-size: clamp(20px,2vw,27px); line-height: 1.3; }
.protocol-magazine-intro blockquote,.protocol-magazine-intro blockquote * { color: var(--text-dark) !important; }
.protocol-magazine-arrivals { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0 0 54px; border-block: 1px solid var(--border-light); }
.protocol-magazine-arrivals > div { padding: 25px 24px; border-right: 1px solid var(--border-light); }
.protocol-magazine-arrivals > div:last-child { border-right: 0; }
.protocol-magazine-arrivals span { color: var(--accent-gold); font: 800 13px var(--font-mono); }
.protocol-magazine-arrivals strong { display: block; margin: 15px 0 9px; color: var(--text-dark); font-size: 24px; }
.protocol-magazine-arrivals small { display: block; color: var(--text-body); font-size: 14px; line-height: 1.45; }
.protocol-magazine-section { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: clamp(28px,4vw,56px); align-items: start; padding: 34px 0; border-top: 1px solid var(--border-light); }
.protocol-magazine-section-title { min-width: 0; }
.protocol-magazine-section-title h2 { margin: 0; max-width: none; color: var(--text-dark); font-size: clamp(30px,2.6vw,38px); line-height: 1.04; letter-spacing: -.035em; overflow-wrap: normal; word-break: normal; }
.protocol-magazine-copy { max-width: 720px; }
.protocol-magazine-copy p { margin: 0 0 19px; font-size: 19px; line-height: 1.65; }
.protocol-magazine-section--signal { border-top: 5px solid var(--nova-signal-red,#bd3d3d); }
.protocol-magazine-rule { margin: 22px 0; padding: 42px 0; border-block: 1px solid var(--border-light); background: transparent; color: var(--text-dark); }
.protocol-magazine-rule-grid { display: block; margin-top: 30px; }
.protocol-magazine-rule-word { color: var(--nova-signal-red,#bd3d3d); font-family: Arial,Helvetica,sans-serif; font-size: clamp(68px,9vw,122px); font-weight: 900; line-height: .82; letter-spacing: -.07em; }
.protocol-magazine-rule blockquote { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin: 34px 0 0; padding: 0; border: 0; }
.protocol-magazine-rule blockquote p { margin: 0; padding: 22px 24px; border-top: 4px solid var(--nova-signal-red,#bd3d3d); background: var(--bg-sidebar); color: var(--text-dark); font-size: clamp(19px,1.8vw,25px); font-style: normal; line-height: 1.4; }
.protocol-magazine-rule blockquote strong { font-style: normal; }
.protocol-magazine-rule,.protocol-magazine-rule * { color: var(--text-dark); }
.protocol-magazine-rule .protocol-magazine-kicker { color: var(--nova-signal-red,#bd3d3d); }
.protocol-magazine-rule .protocol-magazine-rule-word { color: var(--nova-signal-red,#bd3d3d); }
.protocol-magazine-research { margin-top: 28px; padding: 44px; border-left: 9px solid var(--nova-signal-red,#bd3d3d); background: var(--bg-sidebar); }
.protocol-magazine-research h2 { margin: 16px 0 20px; font-size: clamp(34px,4vw,56px); line-height: .98; }
.protocol-magazine-research p { font-size: 18px; }
.protocol-magazine-research > div:last-child { display: flex; gap: 22px; flex-wrap: wrap; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--border-light); }
.protocol-detail-standard { padding-top: 20px; }
@media(min-width:769px){
  .protocol-detail-hero::before{background-image:url('/images/nova-operational-protocols-hero.webp')!important;background-position:center!important;background-size:cover!important;filter:none!important}
  .protocol-detail-hero--one-second-doctrine::before{background-image:url('/images/one-second-doctrine-hero.webp')!important}
}
@media(max-width:820px){
  .protocol-magazine-lead,.protocol-magazine-intro,.protocol-magazine-section,.protocol-magazine-rule-grid{grid-template-columns:1fr}
  .protocol-magazine-number{font-size:96px}
  .protocol-magazine-title h1{font-size:clamp(42px,12vw,62px)}
  .protocol-magazine-section{gap:22px;padding:28px 0}
  .protocol-magazine-section-title h2{font-size:clamp(30px,8vw,36px)}
  .protocol-magazine-arrivals{grid-template-columns:1fr}
  .protocol-magazine-arrivals>div{border-right:0;border-bottom:1px solid var(--border-light)}
  .protocol-magazine-arrivals>div:last-child{border-bottom:0}
  .protocol-magazine-rule{padding:30px 0}
  .protocol-magazine-research{padding:30px 24px}
  .protocol-magazine-rule blockquote{grid-template-columns:1fr;margin-top:26px}
}
@media(max-width:768px){.protocol-detail-hero::before{background:#090d12!important;background-image:none!important;filter:none!important}}

body.dark-theme .sidebar-expand-btn.nova-menu-button {
    box-shadow: none;
}

/* Portfolio magazine and project reveal system. */
.portfolio-magazine{max-width:1180px;padding-top:20px}.portfolio-intro{padding:28px 0 48px;border-bottom:6px solid var(--text-dark)}.portfolio-intro h1{max-width:950px;margin:20px 0 34px;font-size:clamp(52px,7vw,96px);line-height:.9;letter-spacing:-.06em}.portfolio-intro h1 em{color:var(--accent-gold);font-family:var(--font-serif);font-weight:500}.portfolio-intro-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;max-width:960px}.portfolio-intro-copy p{margin:0;font-size:clamp(18px,1.8vw,24px);line-height:1.45}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:42px 0 56px}.portfolio-card{appearance:none;display:block;min-width:0;padding:0;border:1px solid var(--border-light);background:var(--bg-paper);color:var(--text-dark);text-align:left;cursor:pointer;transition:transform .25s ease,border-color .25s ease}.portfolio-card:hover,.portfolio-card:focus-visible{transform:translateY(-5px);border-color:var(--nova-signal-red,#bd3d3d);outline:0}.portfolio-card-image-wrap{position:relative;display:block;overflow:hidden;background:#111820}.portfolio-card-image{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1)}.portfolio-card:hover .portfolio-card-image{transform:scale(1.025)}.portfolio-card-number{position:absolute;left:18px;bottom:14px;color:#fff;font:800 14px var(--font-mono);letter-spacing:.12em}.portfolio-card-copy{display:block;padding:22px}.portfolio-card-kicker{display:block;color:var(--nova-signal-red,#bd3d3d);font:800 12px/1.4 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.portfolio-card-copy strong{display:block;margin:12px 0 18px;font-size:clamp(25px,3vw,38px);line-height:1}.portfolio-card-copy>span:last-child{font:800 12px var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.portfolio-thesis{padding:44px;border-left:9px solid var(--nova-signal-red,#bd3d3d);background:var(--bg-sidebar)}.portfolio-thesis h2{max-width:900px;margin:16px 0 22px;font-size:clamp(34px,4.5vw,64px);line-height:1}.portfolio-thesis p{max-width:820px;margin:0;font-size:19px;line-height:1.65}.portfolio-overlay{position:fixed;inset:0;z-index:2198;background:rgba(5,7,10,.72);opacity:0;transition:opacity .42s ease}.portfolio-overlay.is-open{opacity:1}.portfolio-project-panel{position:fixed;inset:24px;z-index:2199;overflow:auto;background:var(--bg-paper);color:var(--text-dark);border:1px solid var(--border-light);opacity:0;transform:translate3d(0,45px,0) scale(.96);transition:opacity .38s ease,transform .42s cubic-bezier(.16,1,.3,1)}.portfolio-project-panel.is-open{opacity:1;transform:translate3d(0,0,0) scale(1)}.portfolio-panel-bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:0 28px;background:var(--bg-paper);border-bottom:1px solid var(--border-light);font:800 12px var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.portfolio-panel-close{appearance:none;border:0;background:transparent;color:var(--text-dark);font-size:36px;line-height:1;cursor:pointer}.portfolio-panel-content{width:min(1180px,calc(100% - 64px));margin:0 auto;padding:64px 0 90px}.portfolio-panel-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:50px;align-items:end}.portfolio-panel-heading h2{margin:14px 0 0;font-size:clamp(52px,7vw,100px);line-height:.88;letter-spacing:-.06em}.portfolio-panel-heading p{margin:0;font-size:clamp(19px,2vw,27px);line-height:1.45}.portfolio-panel-image{display:block;width:100%;height:auto;margin:54px 0;border:1px solid var(--border-light)}.portfolio-panel-analysis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.portfolio-panel-analysis>div{padding:28px;border-top:5px solid var(--nova-signal-red,#bd3d3d);background:var(--bg-sidebar)}.portfolio-panel-analysis span{font:800 12px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-gold)}.portfolio-panel-analysis h3{margin:14px 0;font-size:28px}.portfolio-panel-analysis p{margin:0;font-size:18px;line-height:1.6}.portfolio-panel-link{display:inline-flex;margin-top:30px;padding:16px 20px;background:var(--accent-gold);color:#090b0e;text-decoration:none;font:800 12px var(--font-mono);letter-spacing:.1em;text-transform:uppercase}body.portfolio-panel-open{overflow:hidden}
@media(max-width:768px){.portfolio-intro-copy,.portfolio-grid,.portfolio-panel-heading,.portfolio-panel-analysis{grid-template-columns:1fr}.portfolio-grid{gap:16px}.portfolio-intro{padding-top:10px}.portfolio-intro h1{font-size:clamp(46px,14vw,68px)}.portfolio-thesis{padding:30px 24px}.portfolio-project-panel{inset:0}.portfolio-panel-bar{padding:0 18px}.portfolio-panel-content{width:calc(100% - 40px);padding:42px 0 70px}.portfolio-panel-heading{gap:24px}.portfolio-panel-heading h2{font-size:clamp(46px,14vw,70px)}.portfolio-panel-image{margin:38px 0}.portfolio-panel-analysis>div{padding:24px}}

.portfolio-grid{display:block;border-bottom:3px solid var(--nova-signal-red,#bd3d3d)}
.portfolio-card{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);align-items:center;width:100%;padding:38px 0;border:0;border-top:3px solid var(--nova-signal-red,#bd3d3d);background:transparent;transition:background-color .25s ease}
.portfolio-card:hover,.portfolio-card:focus-visible{transform:none;background:var(--bg-sidebar);border-color:var(--border-light)}
.portfolio-card-image-wrap{align-self:center;background:#111820}
.portfolio-card-image{height:auto;min-height:0;aspect-ratio:auto;object-fit:contain}
.portfolio-card-copy{display:flex;flex-direction:column;justify-content:center;padding:32px 38px}
.portfolio-card-copy strong{margin:14px 0 28px;font-size:clamp(30px,4vw,52px);line-height:.95}
.portfolio-card-description{display:block;margin:0 0 26px;font-size:18px;line-height:1.55;color:var(--text-body)}
.portfolio-intro-copy{max-width:none;gap:22px}
.portfolio-intro-copy p{display:flex;flex-direction:column;gap:18px;padding:28px 30px;border-top:5px solid var(--nova-signal-red,#bd3d3d);background:var(--bg-sidebar)}
.portfolio-intro-copy p:last-child{border-top-color:var(--accent-gold)}
.portfolio-intro-copy strong{font-size:clamp(25px,3vw,40px);line-height:1.05;letter-spacing:-.035em;color:var(--text-dark)}
.portfolio-intro-copy span{font-size:17px;line-height:1.55;color:var(--text-body)}
@media(max-width:768px){.portfolio-card{grid-template-columns:1fr;padding:24px 0}.portfolio-card-copy{padding:24px 8px 12px}.portfolio-card-image{height:auto;min-height:0}}

.sticky-header .header-left {
    padding-left: 58px;
}

.sticky-header .header-right {
    padding-right: 0;
}

.sidebar-expand-btn.nova-menu-button:hover,
.sidebar-expand-btn.nova-menu-button:focus {
    border-color: var(--accent-gold);
    background: var(--accent-gold);
    color: #090b0e;
    filter: brightness(1.06);
}

.nova-menu-button .hamburger-line {
    display: block;
    width: 19px;
    height: 2px;
    flex: 0 0 2px;
    border-radius: 2px;
    background: currentColor;
}

@media (max-width: 1100px) {
    .left-nav.nova-mobile-ready,
    .left-nav.nova-mobile-ready.collapsed {
        position: fixed !important;
        top: 60px !important;
        bottom: 0 !important;
        left: 0 !important;
        z-index: 1300 !important;
        display: flex !important;
        width: min(370px, 90vw) !important;
        height: auto !important;
        padding: 18px 20px 40px !important;
        border-right: 1px solid var(--border-light) !important;
        border-bottom: 0 !important;
        background: var(--bg-sidebar) !important;
        box-shadow: 18px 0 48px rgba(0, 0, 0, 0.2);
        overflow-y: auto;
        opacity: 1;
        transform: translateX(0);
        pointer-events: auto;
        transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease;
    }

    .left-nav.nova-mobile-ready.collapsed {
        opacity: 0;
        transform: translateX(-105%);
        pointer-events: none;
    }

}

@media (max-width: 768px) {
    body.nova-mobile-nav-open {
        overflow: hidden;
    }
}

@media (max-width: 430px) {
    .sticky-header #themeToggle { display: none; }
    .sticky-header .header-left { padding-left: 50px; }
    .sticky-header .header-right { padding-right: 0; }
}

/* Global shell normalization for legacy papers. These rules intentionally
   outrank page-local utility CSS so every document uses the same controls. */
html body .scroll-bottom-container {
    position: fixed !important;
    right: 16px !important;
    bottom: max(16px, env(safe-area-inset-bottom)) !important;
    left: auto !important;
    z-index: 1450 !important;
    display: block !important;
    width: 52px !important;
    height: 52px !important;
    transform: none !important;
}

html body .scroll-bottom-container > .scroll-bottom-btn:not(#scrollActionBtn) {
    display: none !important;
}

html body .scroll-bottom-container > #scrollActionBtn {
    display: flex !important;
    width: 52px !important;
    height: 52px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--accent-gold) !important;
    border-radius: 50% !important;
    background: var(--accent-gold) !important;
    color: #090b0e !important;
    font: 700 20px/1 var(--font-mono) !important;
    box-shadow: 0 7px 22px rgba(87, 61, 18, .3) !important;
}

html body #sidebarFloatingExpandBtn {
    font-size: 0 !important;
}

html body #sidebarFloatingExpandBtn .hamburger-line {
    display: block !important;
}
/* Homepage acquisition due-diligence panel */
.nova-under-hood {
    margin: 42px 0 34px;
    padding: 36px 0 38px;
    border-top: 7px solid var(--nova-signal-red, #b63a3a);
    border-bottom: 1px solid var(--border-light);
    color: var(--text-dark);
}

.nova-under-hood-heading h2 {
    margin: 12px 0 30px;
    font: 900 clamp(42px, 5vw, 72px)/.9 "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -.06em;
    text-transform: uppercase;
}

.nova-under-hood-heading h2 span,
.nova-under-hood-heading h2 strong { display: block; }
.nova-under-hood-heading h2 span { color: var(--nova-signal-red, #b63a3a); }
.nova-under-hood-heading h2 strong { color: var(--text-dark); }
.nova-under-hood-kicker {
    color: var(--accent-gold);
    font: 750 12px/1.2 var(--font-mono);
    letter-spacing: .14em;
    text-transform: uppercase;
}

.nova-under-hood-audit {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border-top: 1px solid var(--border-light);
    border-bottom: 1px solid var(--border-light);
}
.nova-under-hood-audit p {
    margin: 0;
    padding: 20px 16px;
    font-size: clamp(14px, calc(1.2vw - 2px), 16px);
    font-weight: 650;
    line-height: 1.4;
}
.nova-under-hood-audit p + p { border-left: 1px solid var(--border-light); }
.nova-under-hood-question {
    max-width: 900px;
    margin: 34px 0;
    font: 800 clamp(27px, 3.2vw, 45px)/1.02 "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -.04em;
}
.nova-under-hood-assumption {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.35fr);
    gap: 22px 36px;
    align-items: end;
    padding: 30px 0;
    border-top: 1px solid var(--border-light);
    border-bottom: 1px solid var(--border-light);
}
.nova-under-hood-assumption > p { margin: 0; font-size: 17px; line-height: 1.45; }
.nova-under-hood-equation {
    display: flex;
    align-items: center;
    gap: .18em;
    font: 900 clamp(46px, 5.5vw, 78px)/.8 "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    letter-spacing: -.07em;
    text-transform: uppercase;
}
.nova-under-hood-equation span { color: var(--accent-gold); }
.nova-under-hood-answer { grid-column: 2; color: var(--nova-signal-red, #b63a3a); }
.nova-under-hood-explanation {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 36px;
    padding: 34px 0;
}
.nova-under-hood-explanation p { margin: 0; font-size: clamp(17px, 1.65vw, 23px); line-height: 1.35; }
.nova-under-hood-problem {
    color: var(--nova-signal-red, #b63a3a);
    font-size: clamp(28px, 3.1vw, 44px) !important;
    line-height: 1 !important;
}
.nova-under-hood-close {
    padding: 26px 30px;
    border-left: 7px solid var(--accent-gold);
    background: var(--bg-sidebar);
}
.nova-under-hood-close p { margin: 0 0 10px; font-size: 17px; line-height: 1.4; }
.nova-under-hood-close p:last-child { margin-bottom: 0; }
.nova-under-hood-close > p:first-child {
    font-size: clamp(27px, 3vw, 42px);
    line-height: 1;
}
.nova-under-hood-command { color: var(--nova-signal-red, #b63a3a); }
.nova-under-hood-domain {
    padding-top: 10px;
    border-top: 1px solid var(--border-light);
    font-family: var(--font-mono);
    letter-spacing: .08em;
    text-transform: uppercase;
}

html body .nova-get-started-sidebar.nova-inline-analyzer {
    position: static;
    top: auto;
    display: block;
    width: 100%;
    height: auto;
    margin: 0 0 34px;
    padding: 0;
    border: 0;
    background: transparent;
}
html body .nova-inline-analyzer .nova-speed-tool {
    width: 100%;
}
html body .nova-inline-analyzer #novaSpeedToolUrl {
    height: 54px;
    padding: 0 16px;
    border: 1px solid var(--accent-gold);
    border-left-width: 6px;
    background: var(--bg-main);
    box-shadow: 0 8px 22px rgba(128, 91, 29, .12);
    color: var(--text-dark);
    font-size: 16px;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
html body .nova-inline-analyzer #novaSpeedToolUrl::placeholder {
    color: var(--text-muted);
    opacity: .88;
}
html body .nova-inline-analyzer #novaSpeedToolUrl:hover {
    box-shadow: 0 9px 25px rgba(128, 91, 29, .18);
}
html body .nova-inline-analyzer #novaSpeedToolUrl:focus {
    border-color: var(--nova-signal-red, #b63a3a);
    outline: 3px solid color-mix(in srgb, var(--accent-gold) 30%, transparent);
    outline-offset: 2px;
    box-shadow: 0 10px 28px rgba(128, 91, 29, .2);
}
.nova-method-panels {
    display: grid;
    gap: 12px;
    margin-top: 16px;
}
.nova-method-panel {
    border: 1px solid var(--border-light);
    border-top: 5px solid var(--accent-gold);
    background: var(--bg-main);
}
.nova-method-panel.is-animating { overflow: hidden; }
.nova-method-panel summary {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) 22px;
    gap: 10px;
    align-items: center;
    min-height: 44px;
    padding: 8px 14px;
    color: var(--text-dark);
    cursor: pointer;
    list-style: none;
}
.nova-method-panel summary::-webkit-details-marker { display: none; }
.nova-method-panel summary > span {
    color: var(--nova-signal-red, #b63a3a);
    font: 800 14px/1 var(--font-mono);
}
.nova-method-panel summary > strong {
    font: 850 clamp(15px, 1.65vw, 20px)/1.05 "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -.025em;
}
.nova-method-panel summary > b {
    color: var(--accent-gold);
    font: 400 22px/1 "Helvetica Neue", Helvetica, Arial, sans-serif;
    text-align: center;
    transition: transform .42s cubic-bezier(.22, 1, .36, 1);
}
.nova-method-panel[open] summary > b { transform: rotate(45deg); }
.nova-method-panel[open] summary { border-bottom: 1px solid var(--border-light); }
.nova-method-panel-body { padding: 26px 30px 32px; }
.nova-method-panel-body section + section {
    margin-top: 28px;
    padding-top: 26px;
    border-top: 1px solid var(--border-light);
}
.nova-method-panel-body h3 {
    margin: 0 0 12px;
    color: var(--nova-signal-red, #b63a3a);
    font: 850 23px/1 "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -.025em;
}
.nova-method-panel-body p {
    margin: 0 0 13px;
    color: var(--text-body);
    font-size: 15px;
    line-height: 1.55;
}
.nova-industry-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 16px 0 18px;
    border: 1px solid var(--border-light);
}
.nova-industry-stats article { padding: 16px; }
.nova-industry-stats article + article { border-left: 1px solid var(--border-light); }
.nova-industry-stats span,
.nova-industry-stats small { display: block; }
.nova-industry-stats span {
    color: var(--text-body);
    font: 800 11px/1.25 var(--font-mono);
    letter-spacing: .045em;
    text-transform: uppercase;
}
.nova-industry-stats strong {
    display: block;
    margin: 9px 0 6px;
    color: var(--nova-signal-red, #b63a3a);
    font: 850 clamp(30px, 4vw, 46px)/.9 "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.nova-industry-stats small { color: var(--text-body); font-size: 12px; line-height: 1.35; }
.nova-speed-tool-results .nova-result-mobile-load {
    font-size: 14px;
    line-height: 1.1;
}
html body .nova-speed-tool-results .nova-result-metric-detail {
    display: block;
    margin-top: 4px;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: 0;
    text-transform: none;
}
.nova-speed-tool-results {
    --nova-result-good: #00b956;
    --nova-result-mid: #f39a18;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 22px;
    padding: 18px 8px;
    border-top: 1px solid var(--border-light);
    border-bottom: 1px solid var(--border-light);
}
.nova-speed-tool-results > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.nova-speed-tool-results span {
    order: 2;
    display: block;
    min-height: 30px;
    margin-top: 8px;
    color: var(--text-dark);
    font: 600 12px/1.25 "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: .015em;
    text-transform: none;
}
.nova-speed-tool-results strong {
    --nova-result-color: var(--text-muted);
    --nova-gauge-value: 0;
    position: relative;
    order: 1;
    display: grid;
    width: 50px;
    height: 50px;
    place-items: center;
    border-radius: 50%;
    color: var(--nova-result-color);
    font: 400 17px/1 "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
    white-space: nowrap;
    isolation: isolate;
}
.nova-speed-tool-results strong::before {
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background: conic-gradient(from 0deg, var(--nova-result-color) 0 calc(var(--nova-gauge-value) * 1%), color-mix(in srgb, var(--nova-result-color) 16%, transparent) calc(var(--nova-gauge-value) * 1%) 100%);
    content: "";
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 0);
    mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 0);
}
.nova-speed-tool-results strong.is-good { --nova-result-color: var(--nova-result-good); }
.nova-speed-tool-results strong.is-mid { --nova-result-color: var(--nova-result-mid); }
.nova-speed-tool-results strong.is-bad { --nova-result-color: var(--nova-signal-red, #b63a3a); }
.nova-speed-tool-results strong small { font-size: .62em; }
.nova-method-lead {
    color: var(--text-dark) !important;
    font-size: 19px !important;
    font-weight: 700;
    line-height: 1.4 !important;
}
.nova-method-formula {
    padding: 16px 18px;
    border-left: 5px solid var(--accent-gold);
    background: var(--bg-sidebar);
    color: var(--text-dark) !important;
    font-family: var(--font-mono);
    overflow-wrap: anywhere;
}
.nova-method-table { border: 1px solid var(--border-light); margin: 18px 0; }
.nova-method-table > div {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 10px 14px;
    color: var(--text-body);
    font-size: 14px;
}
.nova-method-table > div:first-child {
    background: var(--bg-sidebar);
    color: var(--text-dark);
    font: 800 12px/1.3 var(--font-mono);
    letter-spacing: .06em;
    text-transform: uppercase;
}
.nova-method-table > div + div { border-top: 1px solid var(--border-light); }
.nova-method-table strong { color: var(--accent-gold); }
.nova-method-sources { display: grid; gap: 8px; }
.nova-method-sources h3 { margin-bottom: 4px; }
.nova-method-sources a {
    display: grid;
    gap: 5px;
    padding: 16px 18px;
    border: 1px solid var(--border-light);
    color: var(--text-dark);
    text-decoration: none;
}
.nova-method-sources a:hover,
.nova-method-sources a:focus-visible { border-color: var(--accent-gold); }
.nova-method-sources span {
    color: var(--nova-signal-red, #b63a3a);
    font: 800 11px/1.2 var(--font-mono);
    letter-spacing: .08em;
    text-transform: uppercase;
}
.nova-method-sources strong { font-size: 17px; }
.nova-method-sources small { color: var(--text-muted); font-size: 13px; line-height: 1.35; }
.nova-method-caution {
    margin: 28px 0 0 !important;
    padding: 18px;
    border-left: 5px solid var(--nova-signal-red, #b63a3a);
    background: var(--bg-sidebar);
}
.nova-analysis-body {
    padding-bottom: 34px !important;
}
.nova-analysis-actions {
    position: static !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(920px, calc(100% - 56px));
    margin: 0 auto 42px;
    padding: 18px 0 0 !important;
    border-top: 1px solid #dedede;
}
@media (max-width: 600px) {
    .nova-analysis-body { padding-bottom: 28px !important; }
    .nova-analysis-actions {
        width: calc(100% - 36px);
        margin-bottom: 28px;
        padding: 16px 0 0 !important;
    }
}
.nova-loss-opening:empty { display: none; }

.nova-home-welcome {
    margin: 0 0 34px;
    padding: 0;
    border-top: 7px solid var(--nova-signal-red, #b63a3a);
    border-bottom: 1px solid var(--border-light);
    background: var(--bg-main);
}
.nova-home-welcome-lead {
    padding: 34px 38px 32px;
}
.nova-home-welcome-lead > span,
.nova-home-welcome-action span {
    display: block;
    color: var(--accent-gold);
    font: 800 12px/1.2 var(--font-mono);
    letter-spacing: .13em;
    text-transform: uppercase;
}
.nova-home-welcome-lead > span { margin-bottom: 16px; }
.nova-home-welcome-action span { margin-top: 16px; }
.nova-home-welcome h2 {
    max-width: 720px;
    margin: 0;
    color: var(--text-dark);
    font: 850 clamp(38px, 5vw, 68px)/.92 "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -.055em;
    text-transform: uppercase;
    border-bottom: 0;
}
.nova-home-welcome h2 strong {
    color: var(--nova-signal-red, #b63a3a);
}
.nova-home-welcome-contrast {
    display: grid;
    grid-template-columns: .36fr 1.64fr;
    align-items: baseline;
    padding: 27px 38px 31px;
}
.nova-home-welcome-contrast span {
    color: var(--nova-signal-red, #b63a3a);
    font: 900 clamp(52px, 7vw, 92px)/.78 "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -.07em;
    text-transform: uppercase;
}
.nova-home-welcome-contrast strong {
    color: var(--accent-gold);
    font: italic 700 clamp(32px, 4.4vw, 58px)/.92 Georgia, "Times New Roman", serif;
    letter-spacing: -.045em;
}
.nova-home-welcome-action {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 32px;
    align-items: center;
    padding: 28px 38px 32px;
    background: var(--bg-sidebar);
}
.nova-home-welcome-action p {
    max-width: 540px;
    margin: 0;
    color: var(--text-dark);
    font-size: 18px;
    line-height: 1.45;
}
.nova-home-welcome button {
    min-height: 52px;
    padding: 0 24px;
    border: 1px solid var(--accent-gold);
    background: var(--accent-gold);
    color: #090b0e;
    cursor: pointer;
    font: 900 13px/1 var(--font-mono);
    letter-spacing: .08em;
    text-transform: uppercase;
}
.nova-home-welcome button:hover,
.nova-home-welcome button:focus-visible { filter: brightness(1.08); }

@media (max-width: 760px) {
    .nova-under-hood { margin-top: 30px; padding-top: 26px; }
    .nova-under-hood-heading h2 { font-size: clamp(38px, 12vw, 58px); }
    .nova-under-hood-audit { grid-template-columns: 1fr; }
    .nova-under-hood-audit p + p { border-left: 0; border-top: 1px solid var(--border-light); }
    .nova-under-hood-assumption,
    .nova-under-hood-explanation { grid-template-columns: 1fr; }
    .nova-under-hood-answer { grid-column: auto; }
    .nova-under-hood-equation { font-size: clamp(44px, 14vw, 70px) !important; }
    .nova-under-hood-close { padding: 23px 20px; }
    .nova-home-welcome-lead,
    .nova-home-welcome-contrast,
    .nova-home-welcome-action { padding-left: 22px; padding-right: 22px; }
    .nova-home-welcome-contrast { grid-template-columns: 1fr; gap: 12px; }
    .nova-home-welcome-action { grid-template-columns: 1fr; gap: 22px; }
    .nova-home-welcome button { width: 100%; }
    .nova-method-panel summary { grid-template-columns: 26px minmax(0, 1fr) 18px; gap: 7px; min-height: 42px; padding: 7px 11px; }
    .nova-method-panel-body { padding: 22px 18px 26px; }
    .nova-industry-stats { grid-template-columns: 1fr; }
    .nova-industry-stats article + article { border-left: 0; border-top: 1px solid var(--border-light); }
}

/* Scroll-triggered panel reveal. */
.nova-scroll-reveal-ready .nova-scroll-rise {
    opacity: 0;
    transform: translate3d(0, 64px, 0);
    transition: opacity .8s ease, transform 1s cubic-bezier(.22, 1, .36, 1);
    will-change: opacity, transform;
}
.nova-scroll-reveal-ready .nova-scroll-rise.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    will-change: auto;
}
@media (max-width: 700px) {
    .nova-scroll-reveal-ready .nova-scroll-rise { transform: translate3d(0, 42px, 0); }
}
@media (prefers-reduced-motion: reduce) {
    .nova-scroll-reveal-ready .nova-scroll-rise,
    .nova-scroll-reveal-ready .nova-scroll-rise.is-visible {
        opacity: 1;
        transform: none;
        transition: none;
        will-change: auto;
    }
}

/* Nova research and resource directory footer. */
.nova-resource-footer{position:relative;z-index:2;width:100%;border-top:7px solid var(--nova-signal-red,#b63a3a);background:var(--bg-sidebar);color:var(--text-dark)}
.nova-resource-footer-inner{width:min(1180px,calc(100% - 64px));margin:0 auto;padding:54px 0 26px}
.nova-resource-footer-intro{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(320px,1.35fr);gap:14px 42px;padding-bottom:32px;border-bottom:1px solid var(--border-light)}
.nova-resource-footer-intro>span{color:var(--nova-signal-red,#b63a3a);font:800 10px/1.2 var(--font-mono);letter-spacing:.13em;text-transform:uppercase}
.nova-resource-footer-intro h2{margin:0;color:var(--text-dark);font:850 clamp(28px,3.2vw,44px)/.98 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:-.045em}
.nova-resource-footer-intro p{grid-column:2;max-width:720px;margin:0;color:var(--text-body);font-size:14px;line-height:1.55}
.nova-resource-footer-directory{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px;padding:34px 0 38px}
.nova-resource-footer-directory section{min-width:0}.nova-resource-footer-directory h3{margin:0 0 13px;color:var(--text-dark);font:850 12px/1.25 "Helvetica Neue",Helvetica,Arial,sans-serif}
.nova-resource-footer-directory ul{margin:0;padding:0;list-style:none}.nova-resource-footer-directory li+li{margin-top:9px}
.nova-resource-footer-directory a{color:var(--text-body);font-size:12px;line-height:1.35;text-decoration:none}.nova-resource-footer-directory a:hover,.nova-resource-footer-directory a:focus-visible{color:var(--accent-gold)}
.nova-resource-footer-directory button{margin-top:18px;padding:10px 12px;border:1px solid var(--accent-gold);background:transparent;color:var(--accent-gold);cursor:pointer;font:800 9px/1.2 var(--font-mono);letter-spacing:.07em;text-transform:uppercase}
.nova-resource-footer-directory button:hover,.nova-resource-footer-directory button:focus-visible{background:var(--accent-gold);color:#090b0e}
.nova-resource-footer-bottom{display:flex;justify-content:space-between;gap:24px;padding-top:20px;border-top:1px solid var(--border-light);color:var(--text-muted);font:700 9px/1.4 var(--font-mono);letter-spacing:.055em;text-transform:uppercase}
.nova-resource-footer-bottom p{min-width:0;margin:0;white-space:normal}.nova-resource-footer-bottom p:last-child{text-align:right}
@media(max-width:900px){.nova-resource-footer-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.nova-resource-footer-inner{width:min(100% - 36px,1180px);padding-top:38px}.nova-resource-footer-intro{grid-template-columns:1fr;gap:12px}.nova-resource-footer-intro p{grid-column:auto}.nova-resource-footer-directory{grid-template-columns:1fr;gap:26px}.nova-resource-footer-bottom{flex-direction:column;gap:8px}.nova-resource-footer-bottom p:last-child{text-align:left}}
