/* Shared density, form, and operational safeguards. Public brand styling is owned\n   by manual.css, loaded last only on the public Field Manual pages. */
@font-face{font-family:Manrope;src:url('/shared/fonts/manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:Newsreader;src:url('/shared/fonts/newsreader.woff2') format('woff2');font-weight:300 700;font-display:swap}
:root{--bg:#f4f2ec;--panel:#fffefa;--panel-sunk:#eae7df;--ink:#20282d;--muted:#596169;--line:#cbd0cd;--accent:#204e68;--accent-2:#985132;--accent-3:#d5ba75;--display:Manrope,system-ui,sans-serif;--display-weight:650;--display-spacing:-.035em;--display-leading:1.15;--lift:0 3px 12px #20282d0a;--lift-sm:0 2px 8px #20282d0a;--lift-md:0 5px 20px #20282d0c;--lift-lg:0 8px 28px #20282d12}
body,.fm-ground{background-image:none;line-height:1.6}.site-shell:before{opacity:.012}
.site-header{box-shadow:none}.brand small{letter-spacing:.05em;font-size:.66rem}.brand-mark{border-radius:50%}
.display-xl,.hero .display-xl{font-size:clamp(2.15rem,3.5vw,3.65rem);letter-spacing:-.045em;line-height:1.15;max-width:19ch}
.display-lg{font-size:clamp(1.85rem,2.7vw,2.8rem);max-width:25ch}.display-md{font-size:clamp(1.55rem,2vw,2.15rem)}
.hero .outline,.display .outline{background:transparent;color:var(--accent);padding:0}.hero-copy:before{background:none;color:var(--muted);padding:0;font-size:.65rem;letter-spacing:.1em}
.hero{min-height:0}.hero-grid{grid-template-columns:1.1fr .9fr;gap:3.5rem}.hero-copy{padding-block:4.5rem!important}.hero-copy .lede{font-size:1.08rem;max-width:48ch}.hero-art{min-height:600px;border:0;background:transparent}.hero-art:after{border-color:var(--line)}
.portrait-caption{transform:none;box-shadow:none;background:var(--panel);max-width:270px}.portrait-caption strong{font-size:1rem}.hero-motion-window{box-shadow:0 10px 30px #20282d20}
.section{padding-block:4.5rem}.section-head{border-bottom:1px solid var(--line);margin-bottom:2.2rem;padding-bottom:1.4rem}.section-head:after{display:none}
.button,.card,.stat-band,.demo-shell,.portal-shell,.private-gate,.film-frame{box-shadow:none}.button{letter-spacing:.04em;text-transform:none;font-size:.86rem;border-radius:3px}.button:hover{box-shadow:none;transform:translateY(-2px)}
.card:nth-child(n){transform:none}.card:after{display:none}.card:hover{box-shadow:0 12px 28px #20282d12;transform:translateY(-3px)}
.card h3{font-size:1.25rem;line-height:1.35;letter-spacing:-.02em}.kicker{color:var(--accent);font-size:.7rem;letter-spacing:.09em}
.stat strong{font-size:2.25rem}.stat span{font-size:.74rem}.film-frame{border:1px solid var(--line)}
.capability-marquee{width:100%;margin:0;transform:none;background:var(--ink);color:var(--bg)}.marquee-track span{color:var(--bg);font-weight:500;font-size:1rem}.marquee-track i{color:var(--accent-3)}
.page-hero{border-bottom:1px solid var(--line);padding-block:3.5rem}.page-hero:after{display:none}.page-hero .lede{font-size:1.06rem;max-width:65ch}.page-hero .display-xl{max-width:23ch}
.page-index{font-family:Newsreader,Georgia,serif;font-weight:400}.quote{font-family:Newsreader,Georgia,serif;font-weight:400;line-height:1.2}
.workflow-step:nth-child(n){transform:none}.architecture-item:nth-child(n){border-top:2px solid var(--accent)}
.project-universe{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.project-node{border-radius:3px;box-shadow:none;aspect-ratio:auto;min-height:112px;padding:1rem;text-align:left}.project-node span{display:block}.project-node:before{display:none}.project-node:hover,.project-node.active{box-shadow:none}.project-node small{display:block;font-size:.8rem;line-height:1.5;margin-top:.7rem}
.mobile-panel a{font-size:1.5rem;line-height:1.3;padding:.6rem 0}.desktop-nav{font-size:.7rem;letter-spacing:.03em}
.contact-form input,.contact-form textarea{font-size:1rem}.contact-form textarea{min-height:120px}.consent{display:flex;gap:.65rem;align-items:flex-start;font-size:.85rem}.consent input{width:20px;min-height:20px;flex:0 0 20px}.intake-trap{display:none!important}
.form-success{padding:1rem;border-left:3px solid #23734d;background:#edf6ee}.proof-note{padding:1rem 1.25rem;border-left:2px solid var(--accent);background:var(--panel);font-size:.85rem}.proof-note a{text-decoration:underline}
.app__head h1{font-size:clamp(1.6rem,2.3vw,2.2rem);line-height:1.2;letter-spacing:-.035em}.app__brand{font-size:1rem}.app__stamp{font-size:.68rem}.fm-table{font-size:.85rem}.fm-table th{font-size:.7rem}.fm-metric__value{font-variant-numeric:tabular-nums}.progress{overflow:hidden}
.request-editor{min-width:210px;margin-top:.7rem}.request-editor summary{cursor:pointer;font-size:.8rem;color:var(--accent)}.request-editor form{display:grid;gap:.8rem;padding-top:1rem}.request-editor label,.req-form>label{display:grid;gap:.35rem}.request-editor input,.request-editor select,.request-editor textarea,.req-form>label>input{width:100%;padding:.65rem;border:1px solid var(--line);background:var(--panel);font:inherit}.req-form input[type=checkbox]{width:auto}.action-error{padding:1rem;border:1px solid var(--risk);background:var(--risk-bg);color:var(--risk)}.inquiry-card{padding:1.4rem 0;border-bottom:1px solid var(--line)}.inquiry-card h2{font-size:1.25rem;margin:.8rem 0}.inquiry-card p{max-width:70ch}.inquiry-card a{text-decoration:underline}
.proof-link{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 0;color:var(--accent);font-weight:650}.data-table{width:100%;border-collapse:collapse;font-size:.85rem}.data-table th,.data-table td{text-align:left;padding:.85rem;border-bottom:1px solid var(--line)}.data-table th{font-size:.7rem;color:var(--muted)}
@media(max-width:1000px){.hero-grid{gap:1.5rem}.hero-art{min-height:520px}.project-universe{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.hero-grid{grid-template-columns:1fr}.hero-copy{padding-block:2.7rem!important}.hero .display-xl{font-size:2.35rem;max-width:19ch;letter-spacing:-.04em}.hero-art{min-height:460px;max-height:550px}.section{padding-block:3rem}.page-hero{padding-block:2.8rem}.section-head{gap:1rem}.page-hero .display-xl{font-size:2.1rem}.lede{font-size:1rem}.request-editor{min-width:190px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.film-frame video,.hero-motion-window video{display:block}.marquee-track{width:auto;flex-wrap:wrap}.marquee-track>span+span{display:none}}

.today-queue{list-style:none;padding:0;margin:0}.today-queue li+li{border-top:1px solid var(--line)}.today-queue a{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 0}.today-queue strong{font-size:.87rem;font-weight:600}.today-queue span{font-size:.75rem;color:var(--muted)}.contact-form [role=status]{text-transform:none;letter-spacing:0;font-size:.85rem;line-height:1.6}
@media(max-width:700px){.today-queue a{align-items:start;flex-direction:column;gap:.25rem}}

.system-exhibit{border:1px solid var(--line);background:#eef0ec;padding:1.5rem;min-height:340px;position:relative;overflow:hidden}.exhibit-head{display:flex;align-items:center;justify-content:space-between}.system-exhibit h3{font-family:Newsreader,Georgia,serif;font-size:2rem;font-weight:450;line-height:1.2;max-width:24ch;margin:1.4rem 0}.exhibit-flow{display:grid;grid-template-columns:1fr 64px 1fr;gap:.6rem;align-items:center}.exhibit-flow p{padding:.6rem 0;border-bottom:1px solid var(--line);font-size:.76rem;margin:0}.exhibit-hub{position:relative;display:grid;place-items:center;height:110px}.exhibit-hub span{border:1px solid var(--accent);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:.7rem;background:var(--panel);z-index:1}.exhibit-hub:before{content:'';height:1px;background:var(--accent);width:100%;position:absolute}.exhibit-hub i{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--accent);left:0;animation:exhibit-transfer 3s linear infinite}.exhibit-hub i:nth-of-type(2){animation-delay:1s}.exhibit-hub i:nth-of-type(3){animation-delay:2s}@keyframes exhibit-transfer{0%{transform:translateX(0);opacity:0}20%{opacity:1}80%{opacity:1}100%{transform:translateX(64px);opacity:0}}.exhibit-foot{font-size:.65rem!important;color:var(--muted);margin:1.5rem 0 0}.system-exhibit .proof-link{font-size:.78rem}

/* Local fixture banner is injected by the preview server, never by the build. */
.qa-banner{position:sticky;top:0;z-index:9999;background:#143c39;color:#fff;padding:10px 20px;text-align:center;font:600 12px/1.5 var(--font-sans, sans-serif);letter-spacing:.04em}
body:has(.qa-banner) .app__bar{position:relative}
/* Grid children must be allowed to shrink; long tabs and file inputs otherwise
   force the entire portal wider than a phone. Scrolling stays in each rail. */
.app__main{width:100%;min-width:0}.app__nav,.app__head,.ptabs__panel,#app-body{min-width:0}
.app__head p,.ptabs__name,.app__email{overflow-wrap:anywhere}
.app__nav{max-width:100%}.ptabs{max-width:100%;overflow-x:auto}
.ptabs__tab{color:var(--muted);text-decoration:none;opacity:1}.ptabs__tab.is-active{color:var(--accent)}
.today-queue a{color:var(--ink);text-decoration:none}.today-queue a:hover strong{text-decoration:underline;color:var(--accent)}
.req-form input[type=file]{max-width:100%;min-width:0}
@media(max-width:900px){.app__shell{grid-template-columns:minmax(0,1fr)}.app__nav{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:.25rem;padding:.6rem 1rem}.app__nav a{flex:0 0 auto;white-space:nowrap}.app__who{margin-left:0}.ptabs__bar{flex-wrap:wrap}.ptabs__id{max-width:100%}.app__main{padding-top:1.25rem}}

.request-delivery{min-width:220px;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.request-delivery label{display:grid;gap:.4rem}.request-delivery select{max-width:100%;font:inherit;padding:.6rem;border:1px solid var(--line);background:var(--panel)}.request-delivery button{margin-top:.75rem}
