/* ENGINE brand layer. Extends house-styles.css without changing application behavior. */
@font-face{font-family:"Alegreya";src:url("/fonts/Alegreya-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Alegreya";src:url("/fonts/Alegreya-Medium.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Alegreya";src:url("/fonts/Alegreya-Italic.ttf") format("truetype");font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:"Fraunces";src:url("/fonts/Fraunces-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Fraunces";src:url("/fonts/Fraunces-Medium.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Fraunces";src:url("/fonts/Fraunces-Semibold.ttf") format("truetype");font-style:normal;font-weight:600;font-display:swap}
:root{--accent:var(--ink);--card:transparent;--hairline:var(--paper-deep);--muted:var(--mute);--green-deep:var(--ink);--orange:var(--oxblood);--gold:var(--ochre);--shadow:none}
:root{--cream:var(--paper);--navy:var(--ink);--white:var(--paper);--text:var(--ink);--rule:var(--brass);--teal:var(--green)}
html,body{min-height:100%;background-color:var(--paper)}
body{color:var(--ink);background-image:repeating-linear-gradient(0deg,rgba(27,37,54,.02) 0 1px,transparent 1px 3px);font-family:"Alegreya",Georgia,"Times New Roman",serif;font-size:19px;line-height:1.6}
body,button,input,textarea,select,label,nav,table,summary,footer,.project-button,.project-kicker,.project-message,.project-status,.project-next,.project-due,.ledger-head,.imprint-description{font-family:"Alegreya",Georgia,"Times New Roman",serif!important}
html:root body,html:root body *,html:root body *::before,html:root body *::after{font-family:"Alegreya",Georgia,"Times New Roman",serif!important}
body *{text-shadow:none!important}
.symbol-sheet{position:absolute}
.page,body>main{width:auto;max-width:1180px;margin:0 auto;padding:0 clamp(18px,4vw,56px)}
.page>main{width:auto;margin:0;padding:0}
header,header.jh-engine-header{position:static;overflow:visible;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;padding:22px 0 16px;border:0;border-bottom:2px solid var(--ink);border-radius:0;background:transparent;box-shadow:none}
header::after{display:none}
.engine-mark{width:42px!important;height:68px!important;color:var(--ink);filter:none!important;background:none!important}
.engine-house-identity{display:flex;align-items:center;gap:16px;width:100%;margin:0 0 24px;padding:0 0 18px;border-bottom:2px solid var(--ink)}
.engine-house-identity .engine-mark{flex:none}
.engine-house-copy{display:grid;line-height:1.1}
.engine-house-copy strong{font-family:"Fraunces",Georgia,serif!important;font-size:27px;font-weight:600;font-variation-settings:"opsz" 96,"SOFT" 50}
.engine-house-copy em{margin-top:2px;color:var(--mute);font-size:14px;font-weight:400}
.engine-house-copy small{margin-top:5px;color:var(--mute);font-size:14px;font-weight:400}
.jh-engine-logo{display:none!important}
body>main>header:not(.mast),header.jh-engine-header:not(.mast){display:block!important;padding:24px 0!important;border:0!important;background:transparent!important}
body>main>header:not(.mast) .brand,header.jh-engine-header:not(.mast) .brand{display:block}
body>main>header:not(.mast) .brand-line,header.jh-engine-header:not(.mast) .brand-line{display:none}
body>main>header:not(.mast) h1,header.jh-engine-header:not(.mast) h1{margin:0 0 8px;font-size:clamp(34px,5vw,54px)!important;line-height:1.05!important}
body>main>header:not(.mast) .system-line,header.jh-engine-header:not(.mast) .system-line{margin:0 0 18px;color:var(--mute)!important;font-size:18px!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important}
body>main>header:not(.mast) nav,header.jh-engine-header:not(.mast) nav{justify-content:flex-start!important;margin:18px 0 0!important;padding:12px 0 0!important;border:0!important;border-top:1px solid var(--brass)!important;background:transparent!important}
.mast .wordmark{font-family:"Fraunces",serif;font-size:27px;font-weight:600;line-height:1.08;letter-spacing:.01em;color:var(--ink)}
.mast .wordmark small{display:block;margin:1px 0 0;font-family:"Alegreya",serif;font-size:14px;font-weight:400;font-style:italic;letter-spacing:0;color:var(--mute)}
.imprint-line{display:block;margin-top:4px;font-family:"Alegreya",serif;font-size:14px;font-weight:400;letter-spacing:0;color:var(--mute)}
.workshop-index{display:flex;align-items:baseline;gap:10px 18px;padding:16px 0;border-bottom:1px solid var(--brass);flex-wrap:wrap;font-size:16px}
.workshop-index span{font-family:"Fraunces",Georgia,serif!important;font-size:20px;font-weight:500}
.workshop-index a{color:var(--ink);border-bottom-color:transparent}
.workshop-index a:hover{border-bottom-color:var(--ink)}
nav.top,nav.top-knowledge-nav{display:flex;justify-self:end;gap:22px;padding:0;border:0;background:none;box-shadow:none;font-size:16px}
nav.top a,.top-knowledge-nav a{padding:0 0 2px;border:0;border-bottom:1px solid transparent;color:var(--ink);font-size:inherit;font-weight:400;letter-spacing:0;text-transform:none}
nav.top a:hover,nav.top a[aria-current],.top-knowledge-nav a:hover,.top-knowledge-nav a[aria-current]{border-bottom-color:var(--ink);color:var(--ink);text-decoration:none}
h1,h2,h3,h4,.mast .wordmark,.imprint-name,.project-heading h2,.project-card h3,.dialog-inner h2{font-family:"Fraunces",Georgia,serif!important;font-variation-settings:"opsz" 96,"SOFT" 50;color:var(--ink);letter-spacing:-.005em;text-transform:none}
html:root body h1,html:root body h2,html:root body h3,html:root body h4,html:root body h5,html:root body h6,html:root body .mast .wordmark,html:root body .imprint-name{font-family:"Fraunces",Georgia,serif!important;font-variation-settings:"opsz" 96,"SOFT" 50;font-weight:500!important}
button,.project-button,.dialog-button,input,textarea,select{border-radius:0!important;box-shadow:none!important;font-family:inherit}
button,.button,.project-button,.dialog-button,input,textarea,select{letter-spacing:0!important;text-transform:none!important}
button,.project-button,.dialog-button{transition:none!important}
button:hover,.project-button:hover,.dialog-button:hover{transform:none!important}
footer,.page>footer{display:block;margin-top:44px;padding:22px 0 44px;border:0;border-top:2px solid var(--ink);color:var(--mute);background:transparent!important;font-size:15px;line-height:1.7}
footer a{color:var(--ink)}
dialog{width:min(500px,calc(100% - 28px));padding:0;border:1px solid var(--brass);border-radius:0;color:var(--ink);background:var(--paper);box-shadow:none}
dialog::backdrop{background:rgba(27,37,54,.58);backdrop-filter:none}
.dialog-inner,.gate{display:block;padding:28px 30px 30px;background:rgba(221,227,214,.35)}
.gate-mark{display:block;width:56px;height:82px;margin-bottom:14px;color:var(--ink)}
.dialog-inner h2,.gate h2{margin:0 0 6px;font-size:30px;font-weight:400;line-height:1.05}
.dialog-inner p,.gate p{margin:0 0 18px;color:var(--mute)}
.dialog-inner label,.gate label{display:block;margin:0 0 6px;color:var(--ink);font-size:16px;font-weight:400;text-transform:none}
.dialog-inner input,.gate input{width:100%;margin:0 0 10px;padding:9px 12px;border:1px solid var(--brass);background:var(--paper);color:var(--ink);font:inherit}
.dialog-actions{display:flex;justify-content:flex-start;margin:0}
.dialog-button{display:inline-block;padding:9px 16px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);font-weight:400}
.dialog-button.primary{background:var(--ink);color:var(--paper)}
.auth-link{width:max-content;margin:0}
.dialog-message.or{min-height:0;margin:16px 0 10px;font-style:italic}
:focus-visible{outline:3px solid var(--ink)!important;outline-offset:3px}
.card,.project-card,.eta-row,.status,.lead>.status,.lead>.status.engine-console{border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
.card,.project-card,.eta-row,.status,.lead>.status,.lead>.status.engine-console,.weekly-summary .offering,.intelligence,.command-entry,.top-knowledge-nav,.engine-row-actions,.academic-count{background-image:none!important;box-shadow:none!important}
.card:hover,.project-card:hover,.eta-row:hover{transform:none!important;box-shadow:none!important}
.eyebrow,.project-kicker,.work-group-kicker,.academic-kicker,.course-code,.engine-console-kicker,.intelligence-kicker{color:var(--mute)!important;font-family:"Alegreya",Georgia,serif!important;font-size:16px!important;font-weight:400!important;font-style:italic;letter-spacing:0!important;text-transform:none!important}
.top-knowledge-nav,.intelligence-tabs,.engine-row-actions,.academic-count,.intelligence-new,.project-timing{border-radius:0!important}
.super::after,header::after,.priority::before{display:none!important}
@media(max-width:760px){
 .page,body>main{padding:0 18px}
 header,header.jh-engine-header{grid-template-columns:auto minmax(0,1fr);gap:14px}
 nav.top,nav.top-knowledge-nav{grid-column:1/-1;justify-self:start;gap:18px;overflow-x:auto;max-width:100%;padding-bottom:3px}
 .engine-mark{width:36px!important;height:58px!important}
 .imprint-line{line-height:1.35}
 .workshop-index{gap:8px 14px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* House type scale: operational pages use the same hierarchy as the brand book. */
html:root body{font-size:19px!important;line-height:1.62!important}
html:root body h1{font-size:clamp(38px,5.4vw,66px)!important;font-weight:400!important;line-height:1.04!important;letter-spacing:-.012em!important}
html:root body h2{font-size:clamp(28px,3.2vw,38px)!important;font-weight:500!important;line-height:1.12!important;letter-spacing:-.005em!important}
html:root body h3,html:root body h4{font-size:22px!important;font-weight:500!important;line-height:1.2!important;letter-spacing:0!important}
html:root body .project-heading h2{font-size:clamp(38px,4.5vw,50px)!important;line-height:1.05!important}
html:root body nav a,html:root body button,html:root body .button,html:root body .project-button,html:root body .dialog-button,html:root body input,html:root body textarea,html:root body select,html:root body label,html:root body summary{font-size:16px!important;font-weight:400!important;line-height:1.35!important;letter-spacing:0!important}
html:root body footer,html:root body .aside,html:root body .quiet,html:root body .project-meta,html:root body .item-meta,html:root body figcaption{font-size:15px!important;line-height:1.55!important}
html:root body .mast .wordmark small,html:root body .imprint-line,html:root body .engine-house-copy em,html:root body .engine-house-copy small{font-size:14px!important;line-height:1.35!important}
@media(max-width:760px){html:root body{font-size:18px!important}}
