@font-face{font-family:StudioSerif;src:url('assets/fonts/studio-serif.woff2') format('woff2');font-display:swap;font-weight:400}
@font-face{font-family:Inter;src:url('assets/fonts/studio-sans.woff2') format('woff2');font-display:swap;font-weight:100 900}
:root{
  --ivory:#F5F3ED;
  --paper:#FCFCFA;
  --surface:#FFFFFF;
  --mineral:#F8FAFC;
  --ink:#182630;
  --navy:#203E52;
  --slate:#53636B;
  --brass:#A17E51;
  --line:#D9D8D0;
  --line-strong:#BFC2B8;
  --line-tech:#C7D2D9;
  --surface-deep:#14232D;
  --surface-code:#162630;
  --shadow-float:0 3px 6px rgba(24,38,48,.025),0 16px 42px rgba(24,38,48,.075);
  --shadow-raised:0 4px 20px rgba(24,38,48,.045);
  --maxw:1440px;
  --gutter:clamp(24px,4.2vw,72px);
  --content-readable:740px;
  --title-hero:clamp(40px,3.7vw,58px);
  --title-page:clamp(32px,3vw,44px);
  --title-section:clamp(26px,2.35vw,35px);
  --title-publication:clamp(18px,1.5vw,21px);
  --space-1:8px;
  --space-2:16px;
  --space-3:24px;
  --space-4:36px;
  --space-5:56px;
  --space-6:88px;
  --space-7:120px;
  --ease-studio:cubic-bezier(.22,1,.36,1);
  --transition-ui:220ms var(--ease-studio);
  --sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --serif:StudioSerif,Georgia,serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--ivory);color:var(--ink);font:15px/1.68 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip;display:flex;flex-direction:column;min-height:100vh}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
::selection{background:#DCE4EC;color:var(--ink)}
[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Skip Link */
.skip{position:fixed;z-index:300;top:12px;left:12px;padding:10px 18px;background:var(--ink);color:var(--surface);font:12px var(--mono);transform:translateY(-200%)}
.skip:focus{transform:none}

/* HEADER V3  -  Institutional Signature */
.spec-bar{background:var(--surface-deep);color:#D9E2EC;font:10px/1.4 var(--mono);letter-spacing:.055em;border-bottom:1px solid #30424D}
.spec-bar-inner{max-width:var(--maxw);margin:0 auto;padding:6px var(--gutter);min-height:30px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:nowrap}
.spec-badge{color:#E6D5B8;font-weight:600}
.spec-divider{display:inline-block;width:1px;height:9px;margin:0 12px;background:#62727A;vertical-align:middle}
.spec-bar a{color:#FFFFFF;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}

.site-header{position:sticky;top:0;z-index:100;background:rgba(245,243,237,.97);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.header-inner{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:clamp(16px,2vw,34px)}
.brand{display:flex;align-items:center;gap:16px;text-decoration:none;flex-shrink:0}
.brand-code{width:46px;height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;font:600 12px/1 var(--mono);letter-spacing:-.02em;color:var(--surface);background:var(--ink);border:1px solid var(--ink)}
.brand-code-line{color:#C4A77D;margin:0 1px}
.brand-text{display:flex;flex-direction:column}
.brand-name{font:700 13px/1.25 var(--sans);letter-spacing:.095em;color:var(--ink);text-transform:uppercase}
.brand-sub{font:10px/1.35 var(--mono);letter-spacing:.01em;color:var(--slate);margin-top:4px;max-width:260px}

.main-nav{display:flex;align-items:center;margin-left:auto;gap:clamp(15px,1.65vw,28px)}
.main-nav a{font:500 13px/1.3 var(--sans);color:var(--slate);padding:10px 0;position:relative;white-space:nowrap;transition:color var(--transition-ui)}
.main-nav a:hover,.main-nav a[aria-current="page"]{color:var(--ink)}
.main-nav a[aria-current="page"]::after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--navy)}

.header-cta{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;min-height:43px;padding:0 17px;background:var(--ink);color:var(--surface);font:600 11px/1 var(--mono);letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;border:1px solid var(--ink);transition:background var(--transition-ui),border-color var(--transition-ui)}
.header-cta:hover{background:var(--navy);border-color:var(--navy)}
.header-cta span{font-size:14px;line-height:1}

.mobile-menu{display:none}

/* Layout Container */
main{flex:1 0 auto;display:block;width:100%}
header,footer,section,div{min-width:0}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}

/* V3 Typography Hierarchy */
h1,h2,h3,h4{margin:0;color:var(--ink);font-family:var(--sans);font-weight:600;letter-spacing:-.025em;line-height:1.12}
h1{font-size:var(--title-page);line-height:1.12;letter-spacing:-.035em;text-wrap:balance}
.page-index .hero-left h1{font-size:var(--title-hero);line-height:1.065;letter-spacing:-.042em}
h2{font-size:var(--title-section);line-height:1.16;letter-spacing:-.03em;text-wrap:balance}
h3{font-size:clamp(18px,1.5vw,22px);line-height:1.3;letter-spacing:-.02em}
.serif-accent{font-family:var(--serif);font-weight:400;letter-spacing:-.01em}
p{margin:0 0 16px;color:var(--slate)}
p a,li a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.eyebrow{font:600 10px/1.5 var(--mono);letter-spacing:.085em;text-transform:uppercase;color:var(--navy);margin:0 0 16px;display:flex;align-items:center;gap:10px}
.eyebrow::before{content:'';display:inline-block;width:6px;height:6px;background:var(--brass);flex:0 0 auto}
.standfirst{font-size:clamp(15px,1.15vw,16.5px);line-height:1.72;color:var(--slate);max-width:560px;margin-bottom:0}
.rule{height:1px;width:44px;background:var(--brass);margin:24px 0 22px}
.text-link{display:inline-flex;align-items:center;gap:10px;font:600 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--brass);padding:8px 0;margin-top:6px;text-decoration:none;transition:color var(--transition-ui),border-color var(--transition-ui)}
.text-link:hover{color:var(--navy);border-color:var(--navy)}

/* HERO V3  -  Top & Base Optically Aligned Composition */
.hero-split{position:relative;isolation:isolate;background:linear-gradient(155deg,#F7F5F0 0%,#F5F3ED 58%,#F0EEE7 100%);padding:clamp(48px,4.8vw,78px) 0 clamp(56px,5.4vw,86px);border-bottom:1px solid var(--line)}
.hero-grid{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:clamp(40px,4.5vw,72px);align-items:stretch}
.hero-left{min-width:0;display:flex;flex-direction:column;justify-content:space-between;border-top:2px solid var(--ink);padding-top:22px;border-bottom:1px solid var(--line-strong);padding-bottom:20px}
.hero-left-top{display:block}
.hero-left .eyebrow{margin-top:0;margin-bottom:18px;font-size:10.5px;letter-spacing:.075em;color:var(--ink)}
.hero-left h1{max-width:640px;margin-bottom:20px}
.hero-left .standfirst{max-width:550px;margin-bottom:0}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 18px}
.compat-note{font:500 11.5px/1.55 var(--mono);color:var(--navy);background:rgba(255,255,255,.72);border:1px solid var(--line-strong);border-left:3px solid var(--brass);padding:10px 14px;margin:0 0 20px;max-width:560px}
.compat-note strong{color:var(--ink);font-weight:600}
.mobile-tier-strip{display:none}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;background:var(--ink);color:var(--surface);font:600 11.5px/1 var(--mono);letter-spacing:.055em;text-transform:uppercase;padding:14px 20px;border:1px solid var(--ink);transition:background var(--transition-ui),border-color var(--transition-ui)}
.btn-primary:hover{background:var(--navy);border-color:var(--navy)}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;background:var(--surface);color:var(--ink);font:600 11.5px/1 var(--mono);letter-spacing:.055em;text-transform:uppercase;padding:14px 20px;border:1px solid var(--line-strong);transition:border-color var(--transition-ui),background var(--transition-ui)}
.btn-secondary:hover{border-color:var(--ink);background:var(--paper)}

.hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;border-top:1px solid var(--line-strong);padding-top:18px;margin-top:auto}
.metric-box{border-left:1px solid var(--brass);padding-left:12px}
.metric-val{font:600 11px/1.2 var(--mono);letter-spacing:-.015em;color:var(--ink);display:block}
.metric-lbl{font:12px/1.4 var(--sans);color:var(--slate);margin-top:5px;display:block}
.hero-right{min-width:0;display:flex;flex-direction:column}
.hero-right .inspector-shell{flex:1;display:flex;flex-direction:column;justify-content:space-between}

/* STUDIO OFFER SELECTOR V3  -  Optically Balanced Interactive Panel */
.inspector-shell{overflow:hidden;background:var(--surface);border:1px solid var(--line-strong);border-top:2px solid var(--ink)}
.inspector-topbar{min-height:46px;padding:11px 20px;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px;font:600 10.5px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.inspector-topbar span.tag{flex:0 0 auto;text-align:right;line-height:1.4;color:var(--navy);font-weight:600}
.inspector-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line);background:#EDF2F4}
.insp-tab{appearance:none;border:0;border-right:1px solid var(--line);background:transparent;min-width:0;min-height:62px;padding:12px 16px 11px;text-align:left;cursor:pointer;font:600 11.5px/1.35 var(--mono);color:var(--slate);position:relative;transition:background var(--transition-ui),color var(--transition-ui)}
.insp-tab:last-child{border-right:0}
.insp-tab:hover{background:var(--surface);color:var(--ink)}
.insp-tab.active{background:var(--surface);color:var(--ink);box-shadow:inset 0 -3px 0 var(--navy)}
.insp-tab small{display:block;font-weight:400;font-size:10px;line-height:1.4;color:var(--slate);margin-top:4px}

.inspector-body{padding:clamp(18px,2vw,26px);background:var(--surface);flex:1}
.insp-grid{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(0,.72fr);gap:clamp(16px,1.8vw,24px);align-items:stretch}
.insp-card{background:#F6F8F9;border:1px solid var(--line-tech);padding:16px 18px;min-width:0;display:flex;flex-direction:column;justify-content:space-between}
.insp-card-title{font:600 10px/1.4 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--navy);margin-bottom:12px;display:block}
.insp-clause-title{font:600 clamp(17px,1.3vw,20px)/1.3 var(--sans);letter-spacing:-.025em;color:var(--ink);margin-bottom:10px}
.insp-rationale{font:13px/1.65 var(--sans);color:var(--slate);margin:0 0 16px}
.insp-code{background:var(--surface-code);color:#E2E8F0;border:0;box-shadow:inset 3px 0 0 #728B99;padding:15px 17px;font:10.5px/1.65 var(--mono);tab-size:2;white-space:pre-wrap;word-break:break-word;overflow-x:hidden;max-width:100%;margin:0}
.insp-meta-list{list-style:none;padding:0;margin:0;display:grid;gap:0;font:11px/1.45 var(--mono)}
.insp-meta-list li{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:10px;padding:11px 0;border-bottom:1px solid var(--line);align-items:start}
.insp-meta-list li:last-child{border-bottom:0;padding-bottom:0}
.insp-meta-key{color:var(--slate);line-height:1.45}
.insp-meta-val{color:var(--ink);font-weight:500;text-align:left;line-height:1.5;overflow-wrap:anywhere}
.status-pill{display:inline-block;padding:4px 7px;white-space:normal;text-align:left;font:600 10px/1.4 var(--mono);background:#EBF3FA;color:var(--navy);border:1px solid #B8D0E6}
.inspector-footer{min-height:48px;background:#F4F7F8;border-top:1px solid var(--line);padding:11px 20px;display:flex;justify-content:space-between;align-items:center;gap:15px;font:10px/1.45 var(--mono);color:var(--slate)}
.inspector-footer a{flex:0 0 auto;color:var(--navy);font-weight:600;font-size:11px;text-decoration:underline;text-underline-offset:3px}

/* Scope Strip */
.scope-line{background:var(--paper);border-bottom:1px solid var(--line);padding:13px var(--gutter);font:600 10.5px/1.4 var(--mono);letter-spacing:.065em;text-transform:uppercase;color:var(--navy)}
.scope-line p{max-width:var(--maxw);margin:0 auto;color:var(--navy)}

/* Standard Page Heading */
.library-heading{max-width:var(--maxw);margin:0 auto;padding:clamp(48px,4.8vw,72px) var(--gutter) clamp(38px,3.8vw,56px);border-bottom:1px solid var(--line)}
.library-heading h1{max-width:860px}
.library-heading .standfirst{max-width:720px}
.article-byline{font:10.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--slate);margin-top:18px}

/* SECTION COMPOSITION V3 */
.chapter{max-width:var(--maxw);margin:0 auto;padding:clamp(64px,6.2vw,98px) var(--gutter);border-bottom:1px solid var(--line);width:100%}
.chapter-head{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);column-gap:clamp(36px,5.5vw,90px);align-items:end;margin-bottom:clamp(32px,3.6vw,52px)}
.chapter-head h2{max-width:680px}
.chapter-note{max-width:500px;justify-self:end;font-size:14.5px;line-height:1.76;color:var(--slate);margin:0}

/* Dark Architectural Showcase Section (02 / System Intelligence) */
.chapter-dark{background:var(--surface-deep);color:#E2E8F0;border-bottom:1px solid #2A3F50;width:100%}
.chapter-dark-inner{max-width:var(--maxw);margin:0 auto;padding:clamp(68px,6.8vw,104px) var(--gutter)}
.chapter-dark .eyebrow{color:#D8C39D}
.chapter-dark h2,.chapter-dark h3{color:#FFFFFF}
.chapter-dark .chapter-note,.chapter-dark p{color:#B8C7D4}
.arch-map{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:24px;align-items:stretch;margin-top:16px}
.arch-master{background:#1B2E3B;border:1px solid #456275;padding:30px 28px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 14px 36px rgba(0,0,0,.18)}
.arch-master pre{background:#111D25;color:#E2E8F0;border-left:3px solid #D8C39D;padding:16px 18px;font:11px/1.65 var(--mono);margin:18px 0;overflow-x:auto;white-space:pre-wrap}
.arch-downstream{display:grid;gap:14px}
.arch-node{background:#1B2E3B;border:1px solid #314959;padding:20px 22px;display:flex;flex-direction:column;justify-content:space-between}
.arch-node-code{font:600 10px/1.4 var(--mono);letter-spacing:.08em;color:#D8C39D;text-transform:uppercase;margin-bottom:10px;display:block}
.arch-node h3{font-size:18px;line-height:1.3;margin-bottom:8px;color:#FFFFFF}
.arch-node p{font-size:13.5px;line-height:1.66;color:#B8C7D4;margin-bottom:14px}
.arch-node-ref{font:10.5px/1.45 var(--mono);color:#E2E8F0;background:#13212A;border-left:2px solid var(--brass);padding:9px 12px}

/* ARCHITECTURE PRICING V3  -  Deliverable Plateaus */
.tier-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch;margin-top:20px}
.tier-card{background:var(--paper);border:1px solid var(--line-strong);padding:clamp(24px,2.1vw,34px);display:flex;flex-direction:column;justify-content:flex-start;min-width:0;position:relative;box-shadow:none;transition:transform var(--transition-ui),border-color var(--transition-ui),box-shadow var(--transition-ui)}
.tier-card.featured{border:1px solid var(--navy);background:var(--surface);box-shadow:0 10px 32px rgba(24,38,48,.045)}
.tier-card:hover{transform:translateY(-3px);border-color:var(--navy);box-shadow:var(--shadow-raised)}
.tier-code{font:600 10px/1.5 var(--mono);letter-spacing:.07em;color:#916A3C;text-transform:uppercase;margin-bottom:18px;display:block}
.tier-title{font:600 22px/1.2 var(--sans);letter-spacing:-.025em;color:var(--ink);margin-bottom:6px}
.tier-role{font:500 13px/1.45 var(--sans);color:var(--navy);margin-bottom:4px}
.tier-price{font:600 clamp(32px,3vw,42px)/1.12 var(--mono);letter-spacing:-.04em;color:var(--ink);margin:22px 0 8px;font-variant-numeric:tabular-nums}
.tier-unit{font:11px/1.55 var(--mono);color:var(--slate);padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:18px}
.tier-desc{font-size:14px;line-height:1.72;color:var(--slate);margin-bottom:22px}
.tier-specs{list-style:none;padding:0;margin:0 0 28px;border-top:1px solid var(--line);font:13px/1.5 var(--sans)}
.tier-specs li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.tier-specs li span{font-family:var(--mono);font-size:10.5px;color:var(--navy);font-weight:600;white-space:nowrap;text-align:right}
.tier-card>a:last-child{margin-top:auto;min-height:46px}

/* VALUE LEVER / MARKET COMPARISON BLOCK */
.lever-banner{background:var(--surface);border:1px solid var(--line-strong);border-left:4px solid var(--navy);padding:22px 26px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.lever-banner strong{display:block;font:600 clamp(17px,1.4vw,21px)/1.3 var(--sans);color:var(--ink);letter-spacing:-.02em;margin-bottom:4px}
.lever-banner p{margin:0;font-size:14px;color:var(--slate);max-width:780px}
.evidence-table td.col-highlight,.evidence-table th.col-highlight{background:#F0F6FA;color:var(--ink);font-weight:600;border-left:1px solid #B8D0E6;border-right:1px solid #B8D0E6}
.evidence-table th.col-highlight{background:var(--navy);color:#FFFFFF}

/* METHOD V3  -  Continuous Sequence */
.editorial-rows{border-top:1px solid var(--line-strong)}
.editorial-row{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:clamp(20px,3vw,48px);align-items:start;margin:0;padding:30px 0;background:transparent;border:0;border-bottom:1px solid var(--line)}
.editorial-row .number{font:600 11.5px/1.4 var(--mono);color:var(--navy);background:transparent;border:0;border-left:2px solid var(--brass);padding:4px 0 4px 12px;text-align:left}
.editorial-row h3{font-size:clamp(19px,1.65vw,23px);letter-spacing:-.022em;line-height:1.3;margin-bottom:8px;font-family:var(--sans)}
.editorial-row p{margin:0;max-width:780px;font-size:14.5px;line-height:1.76}
.editorial-row>a{align-self:center;font:600 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--navy);background:transparent;border:0;border-bottom:1px solid var(--brass);padding:9px 0;white-space:nowrap}
.editorial-row>a:hover{color:var(--ink);border-color:var(--ink)}

/* Deliverables & Downloadable Demonstration Files Grid */
.sample-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sample-card{background:var(--paper);border:1px solid var(--line-strong);padding:26px;display:flex;flex-direction:column;justify-content:space-between;transition:border-color var(--transition-ui),box-shadow var(--transition-ui)}
.sample-card.is-downloadable{background:var(--surface);border-color:var(--navy)}
.sample-card:hover{border-color:var(--navy);box-shadow:var(--shadow-raised)}
.sample-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;font:600 10.5px/1 var(--mono);color:#916A3C}
.sample-format{background:var(--surface);border:1px solid var(--line);padding:4px 8px;color:var(--ink)}
.sample-card h3{font-size:18px;margin-bottom:8px}
.sample-card p{font-size:13.5px;line-height:1.68;margin-bottom:16px}
.sample-trace{font:10.5px/1.5 var(--mono);background:#F4F7F8;border:1px solid var(--line-tech);padding:10px 12px;color:var(--ink);margin-bottom:14px}
.sample-dl{display:inline-flex;align-items:center;gap:8px;font:600 11px/1 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--navy);border-bottom:1px solid var(--brass);padding:6px 0;align-self:flex-start}
.sample-dl:hover{color:var(--ink);border-color:var(--ink)}

/* Repository Tree Block */
.repo-tree{background:var(--surface-code);color:#E2E8F0;font:12px/1.68 var(--mono);padding:24px 28px;border:1px solid #314959;overflow-x:auto;margin:16px 0 0}

/* Evidence & Cross-Walk Tables */
.table-wrap{margin:20px 0 28px;overflow-x:auto;border:1px solid #AEB9BE;background:var(--surface);width:100%}
.evidence-table{width:100%;border-collapse:collapse;font-size:13.5px;line-height:1.55}
.evidence-table caption{text-align:left;padding:13px 18px;font:600 10.5px/1.4 var(--mono);letter-spacing:.065em;text-transform:uppercase;color:var(--ink);background:#F4F7F8;border-bottom:1px solid var(--line)}
.evidence-table th{background:var(--surface-deep);color:var(--surface);text-align:left;padding:13px 18px;font:600 10px/1.3 var(--mono);letter-spacing:.065em;text-transform:uppercase}
.evidence-table td{padding:14px 18px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--slate)}
.evidence-table tr:last-child td{border-bottom:0}
.evidence-table td:first-child{font-family:var(--mono);font-size:11.5px;color:var(--ink);font-weight:600}

/* Interactive Scope Calculator & Anti-Duplicate Configurator */
.calc-grid{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(0,.72fr);gap:36px;align-items:start;margin-top:20px}
.calc-options{display:grid;gap:12px}
.calc-option{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;border:1px solid var(--line-strong);background:var(--paper);cursor:pointer;transition:border-color var(--transition-ui),background var(--transition-ui)}
.calc-option:hover{border-color:var(--navy);background:var(--surface)}
.calc-option.is-included{opacity:.72;background:#F4F7F8;border-style:dashed;cursor:not-allowed}
.calc-option input{margin-top:4px;accent-color:var(--navy);transform:scale(1.15)}
.calc-option strong{display:block;font:600 15.5px/1.3 var(--sans);color:var(--ink);margin-bottom:5px}
.calc-option span{display:block;font-size:13.5px;line-height:1.65;color:var(--slate)}
.calc-variant-box{background:var(--surface);border:1px solid var(--navy);padding:18px 20px;margin:4px 0 8px}
.calc-variant-box label{display:block;font:600 10.5px/1.4 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--navy);margin-bottom:8px}
.calc-variant-box select{width:100%;border:1px solid var(--line-strong);padding:11px 14px;background:var(--paper);color:var(--ink);font:500 14px/1.4 var(--sans);border-radius:0}
.calc-summary{background:var(--surface-deep);color:var(--surface);padding:32px 30px;border:1px solid #30424D;position:sticky;top:108px;box-shadow:var(--shadow-float)}
.calc-summary .eyebrow{color:#D8C39D}
.calc-price{font:600 44px/1 var(--mono);letter-spacing:-.04em;color:var(--surface);margin:14px 0;font-variant-numeric:tabular-nums}
.calc-meta{list-style:none;padding:0;margin:16px 0;border-top:1px solid #2C4255;font:11.5px/1.55 var(--mono)}
.calc-meta li{padding:9px 0;border-bottom:1px solid #2C4255;color:#E2E8F0}
.calc-cta{display:inline-flex;width:100%;align-items:center;justify-content:center;margin-top:18px;background:#C4A77D;border:1px solid #C4A77D;color:var(--ink);font:700 11px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;padding:16px 20px;text-decoration:none;transition:background var(--transition-ui)}
.calc-cta:hover{background:#D8C39D;border-color:#D8C39D}

/* Written Intake Form & Generated Scope of Work Dossier */
.intake-form{max-width:1040px;margin-top:20px;background:var(--surface);border:1px solid var(--line-strong);padding:clamp(24px,3vw,38px);box-shadow:var(--shadow-raised)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:18px}
.form-field{display:grid;gap:6px}
.form-field label{font:600 10.5px/1.3 var(--mono);letter-spacing:.065em;text-transform:uppercase;color:var(--navy)}
.form-help{font:12px/1.45 var(--sans);color:var(--slate);margin-top:-2px}
.form-field input,.form-field select,.form-field textarea{width:100%;min-width:0;border:1px solid var(--line-strong);padding:11px 14px;background:var(--paper);color:var(--ink);font:14px/1.5 var(--sans);border-radius:0}
.form-field textarea{min-height:110px;resize:vertical}
.btn-submit{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);background:var(--ink);color:var(--surface);font:600 11.5px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;padding:16px 26px;cursor:pointer;transition:background var(--transition-ui)}
.btn-submit:hover{background:var(--navy);border-color:var(--navy)}
.form-status{margin-top:14px;font:12px/1.5 var(--mono);color:var(--navy)}
.dossier-preview{margin-top:24px;background:#F4F7F8;border:1px solid var(--navy);padding:24px}
.dossier-preview pre{background:var(--surface-code);color:#E2E8F0;padding:18px;font:11.5px/1.6 var(--mono);overflow-x:auto;margin:12px 0 16px}
.dossier-actions{display:flex;flex-wrap:wrap;gap:12px}

/* RESEARCH V3  -  Balanced 3-Column Editorial Rows (Zero Right Dead Space) */
.publication-list{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
.chapter .publication-list{padding:0}
.publication-row{display:grid;grid-template-columns:230px minmax(0,1fr) auto;gap:clamp(24px,3.5vw,52px);align-items:start;padding:28px 0;background:transparent;border:0;border-top:1px solid var(--line);margin:0}
.publication-row:last-child{border-bottom:1px solid var(--line)}
.publication-row .eyebrow{font-size:9.5px;margin-bottom:6px}
.pub-meta{font:10px/1.45 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--slate);margin-top:4px}
.publication-row h2,.publication-row h3{font-size:var(--title-publication);letter-spacing:-.018em;line-height:1.38;margin-bottom:8px;font-family:var(--sans);max-width:780px}
.publication-row h2 a:hover,.publication-row h3 a:hover{color:var(--navy)}
.publication-row p{max-width:820px;margin:0;font-size:14px;line-height:1.72}
.publication-row>a{align-self:center;font:600 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--navy);border-bottom:1px solid var(--brass);padding:8px 0;white-space:nowrap}
.publication-row>a:hover{color:var(--ink);border-color:var(--ink)}

.research-article{max-width:var(--maxw);margin:0 auto;padding:36px var(--gutter) 72px;border-bottom:1px solid var(--line)}
.article-contents{padding:24px 28px;border:1px solid var(--line-strong);background:var(--paper);margin-bottom:34px}
.article-contents ol{list-style:none;padding:0;margin:10px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px 24px}
.article-contents a{font:500 12.5px/1.4 var(--mono);color:var(--navy);text-decoration:none;border-bottom:1px solid var(--brass);padding-bottom:2px}
.research-article h2{font-size:24px;margin:40px 0 14px}
.research-article p{font-size:15px;line-height:1.8;color:var(--slate);margin-bottom:16px;max-width:var(--content-readable)}
.research-article p strong{color:var(--ink);font-weight:600}
.article-callout{border-left:3px solid var(--navy);background:var(--paper);border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 26px;margin:28px 0;max-width:860px}
.article-callout p{margin:0;color:var(--ink);font-size:14.5px;line-height:1.75}

/* Legal 2-Column Layout */
.legal-grid{max-width:var(--maxw);margin:0 auto;padding:48px var(--gutter) 84px;display:grid;grid-template-columns:280px minmax(0,1fr);gap:clamp(36px,5vw,84px);align-items:start}
.legal-nav{position:sticky;top:110px;background:var(--paper);border:1px solid var(--line-strong);padding:22px 24px}
.legal-nav ol{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:10px}
.legal-nav a{font:500 12px/1.45 var(--mono);color:var(--navy);display:block;padding:4px 0;border-bottom:1px solid var(--line)}
.legal-nav a:hover{color:var(--ink);border-color:var(--brass)}
.legal-body h2{font-size:22px;margin:36px 0 12px;letter-spacing:-.02em}
.legal-body h2:first-child{margin-top:0}
.legal-body p{font-size:14.5px;line-height:1.78;color:var(--slate);max-width:760px;margin-bottom:14px}

/* Contractual Remediation Warranty Block V3 (Balanced 2-Column Panel) */
.perspective{width:100%;background:var(--paper);border-bottom:1px solid var(--line)}
.perspective-inner{max-width:var(--maxw);margin:0 auto;padding:clamp(52px,5.2vw,80px) var(--gutter);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,5vw,76px);align-items:center}
.perspective h2{font-size:clamp(24px,2.2vw,32px);line-height:1.2;letter-spacing:-.028em;margin-bottom:12px}
.perspective p{font-size:14.5px;line-height:1.75;color:var(--slate);margin-bottom:0;max-width:620px}
.warranty-card{background:var(--surface);border:1px solid var(--line-strong);border-left:3px solid var(--navy);padding:24px 28px}
.warranty-list{list-style:none;padding:0;margin:0 0 16px;font:12.5px/1.55 var(--sans);color:var(--ink)}
.warranty-list li{padding:8px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px}
.warranty-list li span{font-family:var(--mono);font-size:11px;color:var(--navy);font-weight:600;white-space:nowrap}

/* INSTITUTIONAL FOOTER V3  -  Full-Width 4-Column Dark Blue Banner */
.site-footer{background:var(--surface-deep);color:#D9E2EC;padding:0 var(--gutter);margin-top:auto;border-top:1px solid #30424D;width:100%}
.footer-main{max-width:var(--maxw);margin:0 auto;padding:clamp(60px,6vw,88px) 0 56px;display:grid;grid-template-columns:minmax(280px,1.7fr) repeat(3,minmax(150px,1fr));gap:clamp(28px,4vw,64px);align-items:start}
.footer-identity{max-width:380px}
.footer-brand{display:inline-flex;align-items:center;gap:12px;color:#FFFFFF;font:700 14px/1.3 var(--sans);letter-spacing:.085em;text-transform:uppercase}
.footer-brand-badge{padding:5px 8px;background:#1B2E3B;border:1px solid #456275;color:#E6D5B8;font:600 10.5px/1 var(--mono)}
.footer-identity p{margin:16px 0 20px;color:#B8C7D4;font-size:13.5px;line-height:1.72}
.footer-desk{display:inline-block;font:600 11px/1.4 var(--mono);color:#E6D5B8;border-bottom:1px solid #A17E51;padding-bottom:3px}
.site-footer nav{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.site-footer nav h2{color:#D8C39D;margin:0 0 6px;font:600 10.5px/1.4 var(--mono);letter-spacing:.085em;text-transform:uppercase}
.site-footer nav a{color:#E3E9ED;font:13px/1.45 var(--sans);text-decoration:none;transition:color var(--transition-ui)}
.site-footer nav a:hover{color:#FFFFFF;text-decoration:underline;text-underline-offset:4px}
.footer-legal{max-width:var(--maxw);margin:0 auto;border-top:1px solid #2A3F50;padding:22px 0 28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px 28px;font:10.5px/1.5 var(--mono);color:#B8C7D4}
.footer-legal a{color:#FFFFFF}

/* Responsive Breakpoints */
@media(max-width:1120px){
  .main-nav,.header-cta{display:none}
  .mobile-menu{display:block}
  .mobile-menu summary{font:600 11px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;cursor:pointer;padding:11px 15px;border:1px solid var(--ink);list-style:none;color:var(--ink);background:var(--surface)}
  .mobile-menu summary::-webkit-details-marker{display:none}
  .mobile-menu nav{position:absolute;top:100%;left:0;right:0;background:var(--surface);padding:16px var(--gutter) 24px;border-bottom:2px solid var(--ink);display:grid;gap:4px;box-shadow:var(--shadow-float)}
  .mobile-menu nav a{padding:12px 0;border-bottom:1px solid var(--line);font:600 13.5px/1.3 var(--sans);color:var(--ink)}
  .header-inner{min-height:72px}
  .hero-grid,.tier-cards{grid-template-columns:1fr;gap:36px}
  .hero-left{padding-top:0}
  .hero-left h1{max-width:780px}
  .hero-left .standfirst{max-width:720px}
  .hero-metrics{max-width:750px;margin-top:12px}
  .tier-card{max-width:760px}
}
@media(max-width:980px){
  .chapter-head,.sample-grid,.calc-grid,.form-row,.perspective-inner,.arch-map,.legal-grid{grid-template-columns:1fr;gap:22px}
  .legal-nav{position:static}
  .chapter-note{justify-self:start;max-width:680px}
  .editorial-row,.publication-row{grid-template-columns:1fr;gap:12px}
  .editorial-row>a,.publication-row>a{justify-self:start}
  .evidence-table{min-width:640px}
  .footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .inspector-topbar{flex-direction:column;align-items:flex-start}
  .inspector-topbar span.tag{max-width:none;text-align:left}
  .insp-grid{grid-template-columns:1fr}
  .inspector-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .insp-tab{min-height:62px}
  .insp-meta-list li{grid-template-columns:1fr 1.5fr}
  .inspector-footer{flex-direction:column;align-items:flex-start}
}
@media(max-width:600px){
  .spec-bar-inner{min-height:27px;padding-block:5px}
  .spec-bar-inner>span{font-size:9px;line-height:1.45}
  .spec-bar-inner>a{display:none}
  .header-inner{min-height:66px}
  .brand-code{width:38px;height:38px;font-size:10px}
  .brand{gap:10px}
  .brand-sub{max-width:195px;font-size:9px}
  .brand-name{font-size:11px}
  .hero-split{padding:44px 0 58px}
  .page-index .hero-left h1{font-size:clamp(32px,8.5vw,42px);line-height:1.1;letter-spacing:-.035em}
  .hero-left .standfirst{font-size:15px;line-height:1.7}
  .hero-actions{flex-direction:column;width:100%}
  .hero-actions .btn-primary,.hero-actions .btn-secondary{width:100%;text-align:center;justify-content:center}
  .mobile-tier-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 18px;font:600 10.5px/1.35 var(--mono)}
  .mobile-tier-pill{background:var(--surface);border:1px solid var(--line-strong);border-top:2px solid var(--navy);padding:9px 10px;color:var(--ink)}
  .mobile-tier-pill span{display:block;font-weight:400;font-size:9.5px;color:var(--slate);margin-top:3px}
  .hero-metrics{grid-template-columns:1fr;gap:12px}
  .chapter{padding:60px var(--gutter)}
  .footer-main{grid-template-columns:1fr 1fr;gap:34px 20px;padding:52px 0 42px}
  .footer-identity{grid-column:1 / -1}
  .footer-legal{flex-direction:column;align-items:flex-start}
}
@media(hover:none){
  .tier-card:hover{transform:none}
}

/* V3.3.1 Header Aliases & Mobile Hero Overflow Fix */
.skip, .skip-link {
  position: absolute;
  top: -100px;
  left: 16px;
  background: var(--surface-deep);
  color: var(--paper);
  padding: 10px 16px;
  z-index: 9999;
  font-family: var(--mono);
  font-size: 12px;
  text-decoration: none;
}
.skip:focus, .skip-link:focus { top: 12px; }
.inspector-shell, .inspector-body { max-width: 100%; overflow-x: auto; }
@media (max-width: 980px) {
  html, body { overflow-x: hidden; max-width: 100vw; }
  .inspector-shell .evidence-table { min-width: 0 !important; width: 100% !important; table-layout: fixed; }
  .inspector-shell .evidence-table th, .inspector-shell .evidence-table td { white-space: normal !important; word-break: break-word; padding: 8px 10px; font-size: 12px; }
  .spec-bar-inner, .top-strip-inner { flex-wrap: wrap; gap: 6px; padding: 8px var(--gutter); }
}
