@font-face{font-family:'RF Grotesk';src:url('../assets/fonts/RFGrotesk-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'RF Grotesk';src:url('../assets/fonts/RFGrotesk-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}

:root{
  --rf-paper:#efeeeb;
  --rf-black:#111;
  --rf-red:#f0443b;
  --rf-line-dark:rgba(255,255,255,.18);
  --rf-line-light:rgba(17,17,17,.22);
  --rf-pad:clamp(28px,3.6vw,56px);
  --rf-left:32%;
}
html,body{font-family:'RF Grotesk',Arial,Helvetica,sans-serif}
body{background:#171717}
main{overflow:clip}
.hero,.manifest,.capabilities,.orchestration,.interfaces,.method,.proof,.cv,.contact{font-family:'RF Grotesk',Arial,Helvetica,sans-serif}
.section-label{font-family:inherit!important;font-size:12px!important;font-weight:400!important;line-height:1!important;letter-spacing:.01em!important;text-transform:none!important}
.section-label span{color:var(--rf-red)!important}
h1,h2,h3,p,li,a,dt,dd{font-family:inherit}
em{color:var(--rf-red)}

/* Hero remains the approved light composition, now with the same grotesk as every scene. */
.hero{background:var(--rf-paper)!important;color:var(--rf-black)!important}
.hero-title{font-family:'RF Grotesk',Arial,Helvetica,sans-serif!important;font-weight:400!important;letter-spacing:-.07em!important;line-height:.78!important}
.site-header,.hero-links,.hero-role{font-family:inherit!important}

/* Shared reference grammar */
.manifest,.capabilities,.interfaces,.proof,.contact{background:var(--rf-black)!important;color:#f5f4f0!important}
.orchestration,.method,.cv{background:var(--rf-paper)!important;color:var(--rf-black)!important}
.manifest,.capabilities,.orchestration,.interfaces,.method,.proof,.cv,.contact{border-top:1px solid currentColor!important}
.capabilities,.orchestration,.interfaces,.method,.proof,.cv,.contact{position:relative}
.capabilities:before,.orch-stage:before,.interfaces:before,.method:before,.proof-stage:before,.cv:before,.contact:before{
  position:absolute;left:var(--rf-pad);top:clamp(145px,15vh,210px);z-index:0;
  font-size:clamp(190px,24vw,360px);font-weight:400;line-height:.72;letter-spacing:-.105em;
  color:transparent;-webkit-text-stroke:1px currentColor;opacity:.38;pointer-events:none
}
.capabilities:before{content:'01'}
.orch-stage:before{content:'02'}
.interfaces:before{content:'03'}
.method:before{content:'04'}
.proof-stage:before{content:'05'}
.cv:before{content:'06'}
.contact:before{content:'07'}
.capabilities:before,.interfaces:before,.proof-stage:before,.contact:before{-webkit-text-stroke:1.25px rgba(245,244,240,.78);opacity:1}
.orch-stage:before,.method:before,.cv:before{-webkit-text-stroke:1.25px rgba(17,17,17,.52);opacity:1}
.capabilities>.section-label,.interfaces>.section-label,.method>.section-label,.cv>.section-label,.contact>.section-label,
.orch-stage>.section-label,.proof-header>.section-label{position:relative;z-index:3;color:var(--rf-red)!important}

/* Intro: exact centered black/red cadence from the locked still. */
.manifest{min-height:760px!important;padding:34px var(--rf-pad) 55px!important;display:grid!important;grid-template-rows:auto 1fr auto!important}
.manifest .section-label{color:var(--rf-red)!important}
.manifest-copy{align-self:center!important;justify-self:center!important;width:min(920px,78vw)!important;text-align:center!important;margin:0!important}
.manifest h2{font-size:clamp(48px,5.4vw,78px)!important;line-height:1.03!important;letter-spacing:-.055em!important;font-weight:700!important;max-width:920px!important;margin:0 auto 34px!important}
.manifest-copy>p{font-size:clamp(17px,1.35vw,21px)!important;line-height:1.34!important;max-width:700px!important;margin:0 auto 30px!important;color:#d2d1cc!important}
.manifest .pill{display:inline-flex!important;min-width:172px!important;justify-content:center!important;padding:13px 24px!important;border:1px solid rgba(255,255,255,.42)!important;border-radius:999px!important;font-size:14px!important}
.manifest-rule{border-top:1px solid var(--rf-line-dark)!important;padding-top:18px!important;color:#8e8d88!important;font-size:11px!important;letter-spacing:.05em!important}

/* Capabilities: outlined ordinal on the left, one dense editorial ledger on the right. */
.capabilities{min-height:1180px!important;padding:32px var(--rf-pad) 110px!important}
.capabilities>.ordinal-portal{display:none!important}
.capabilities .section-intro,.capabilities .cap-list,.capabilities .cap-note{position:relative;z-index:2;width:calc(100% - var(--rf-left))!important;margin-left:var(--rf-left)!important}
.capabilities .section-intro{display:block!important;padding-top:95px!important;margin-bottom:55px!important}
.capabilities .section-intro h2{font-size:clamp(48px,5vw,72px)!important;line-height:.98!important;letter-spacing:-.055em!important;font-weight:700!important;margin:0 0 20px!important;max-width:760px!important}
.capabilities .section-intro p{font-size:18px!important;line-height:1.35!important;max-width:600px!important;color:#bdbcb7!important;margin:0!important}
.cap-list{border-top:1px solid var(--rf-line-dark)!important}
.cap-list li{display:grid!important;grid-template-columns:54px minmax(0,1fr) 28px!important;align-items:start!important;gap:16px!important;padding:18px 0!important;border-bottom:1px solid var(--rf-line-dark)!important;background:transparent!important;color:inherit!important}
.cap-list li>span,.cap-list li>b{font-size:12px!important;font-weight:400!important;color:#8d8c87!important;padding-top:7px!important}
.cap-list h3{font-size:clamp(22px,2.15vw,31px)!important;line-height:1.05!important;letter-spacing:-.035em!important;font-weight:400!important;margin:0!important}
.cap-list p{font-size:15px!important;line-height:1.35!important;color:#a8a7a2!important;max-width:700px!important;margin:8px 0 0!important}
@media (min-width:801px){.cap-list p{max-height:0!important;opacity:0!important;overflow:hidden!important;margin-top:0!important;transition:max-height .35s ease,opacity .25s ease,margin .35s ease}.cap-list li:hover p,.cap-list li:focus-within p{max-height:120px!important;opacity:1!important;margin-top:8px!important}}
.cap-note{display:grid!important;grid-template-columns:1fr 1fr!important;gap:34px!important;border-top:1px solid var(--rf-line-dark)!important;padding-top:26px!important;margin-top:55px!important;color:#aaa9a4!important;font-size:14px!important}

/* LLM orchestration: same 32/68 ledger, inverted to light. */
.orchestration{color:var(--rf-black)!important}
.orch-stage{background:var(--rf-paper)!important;color:var(--rf-black)!important;padding:32px var(--rf-pad) 70px!important;overflow:hidden!important}
.orch-stage>header,.orch-lines,.orch-progress{position:relative;z-index:2;width:calc(100% - var(--rf-left))!important;margin-left:var(--rf-left)!important}
.orch-stage>header{padding-top:90px!important}
.orch-stage .kicker{font-size:15px!important;color:#686762!important;margin:0 0 15px!important}
.orch-stage h2{font-size:clamp(48px,5vw,72px)!important;line-height:.98!important;letter-spacing:-.055em!important;font-weight:700!important;margin:0 0 50px!important;text-align:left!important}
.orch-lines{border-top:1px solid var(--rf-line-light)!important;min-height:330px!important}
.orch-line{grid-template-columns:54px minmax(220px,.8fr) 1.2fr!important;gap:18px!important;padding:24px 0!important;border-bottom:1px solid var(--rf-line-light)!important;background:var(--rf-paper)!important}
.orch-line>span{font-size:12px!important;color:#777671!important}
.orch-line h3{font-size:clamp(23px,2.1vw,30px)!important;line-height:1!important;letter-spacing:-.035em!important;font-weight:400!important;margin:0!important}
.orch-line p{font-size:15px!important;line-height:1.4!important;color:#55544f!important;margin:0!important}
.orch-progress{border-top:1px solid var(--rf-black)!important;margin-top:22px!important}

/* Interfaces: black, three border-only rows instead of cards. */
.interfaces{min-height:1240px!important;padding:32px var(--rf-pad) 100px!important}
.interfaces>h2,.interface-strip{position:relative;z-index:2;width:calc(100% - var(--rf-left))!important;margin-left:var(--rf-left)!important}
.interfaces>h2{font-size:clamp(48px,5vw,72px)!important;line-height:.98!important;letter-spacing:-.055em!important;font-weight:700!important;margin-top:95px!important;margin-bottom:55px!important}
.interface-strip{display:block!important;border-top:1px solid var(--rf-line-dark)!important}
.interface{min-height:250px!important;padding:24px 0 32px!important;border-bottom:1px solid var(--rf-line-dark)!important;display:grid!important;grid-template-columns:54px minmax(260px,.85fr) 1.15fr!important;gap:18px!important;align-items:start!important;background:transparent!important;color:inherit!important;overflow:hidden!important}
.interface>span{font-size:11px!important;color:#8e8d88!important;grid-column:1!important}
.interface h3{font-size:clamp(25px,2.5vw,36px)!important;line-height:1.02!important;letter-spacing:-.04em!important;font-weight:400!important;margin:0!important;grid-column:2!important}
.interface p{font-size:16px!important;line-height:1.42!important;color:#aaa9a4!important;margin:0!important;grid-column:3!important}
.interface .wipe{background:var(--rf-red)!important;opacity:.92!important;mix-blend-mode:normal!important;z-index:0!important}
.interface>*:not(.wipe){position:relative;z-index:1}

/* Method: light continuation, same number/content relationship. */
.method{min-height:1120px!important;padding:32px var(--rf-pad) 100px!important}
.method>header,.method-list,.method-note{position:relative;z-index:2;width:calc(100% - var(--rf-left))!important;margin-left:var(--rf-left)!important}
.method>header{display:block!important;padding-top:95px!important;margin-bottom:50px!important}
.method h2{font-size:clamp(48px,5vw,72px)!important;line-height:.98!important;letter-spacing:-.055em!important;font-weight:700!important;margin:0 0 20px!important}
.method>header p{font-size:18px!important;line-height:1.4!important;color:#5f5e59!important;max-width:620px!important;margin:0!important}
.method-list{border-top:1px solid var(--rf-line-light)!important}
.method-list li{display:grid!important;grid-template-columns:54px minmax(220px,.75fr) 1.25fr!important;gap:18px!important;align-items:start!important;padding:19px 0!important;border-bottom:1px solid var(--rf-line-light)!important}
.method-list b{font-size:12px!important;color:#777671!important;font-weight:400!important}
.method-list h3{font-size:clamp(23px,2.15vw,31px)!important;line-height:1!important;letter-spacing:-.035em!important;font-weight:400!important;margin:0!important}
.method-list p{font-size:15px!important;color:#5f5e59!important;margin:0!important}
.method-note{display:grid!important;grid-template-columns:1fr 1fr!important;gap:34px!important;padding-top:32px!important;color:#64635e!important;font-size:14px!important}

/* Proof: black horizontal filmstrip with flat editorial panels. */
.proof{background:var(--rf-black)!important;color:#f5f4f0!important}
.proof-stage{background:var(--rf-black)!important;color:#f5f4f0!important;padding:32px var(--rf-pad) 60px!important;overflow:hidden!important;width:100vw!important;max-width:100vw!important}
.proof-header{position:relative;z-index:2;width:calc(68vw - (2 * var(--rf-pad)))!important;margin-left:32vw!important;padding-top:88px!important}
.proof-header h2{font-size:clamp(48px,5vw,72px)!important;line-height:.98!important;letter-spacing:-.055em!important;font-weight:700!important;margin:0 0 45px!important;text-align:left!important}
.filmstrip{position:relative;z-index:2;gap:0!important;padding-left:32vw!important}
.filmstrip article{background:transparent!important;border:0!important;border-top:1px solid var(--rf-line-dark)!important;border-right:1px solid var(--rf-line-dark)!important;padding:18px 28px 30px 0!important;margin-right:38px!important;color:inherit!important}
.filmstrip article>span{font-size:11px!important;color:#8f8e89!important}
.filmstrip img,.proof-type{filter:grayscale(1)!important;border:0!important;margin:20px 0!important}
.filmstrip h3{font-size:clamp(25px,2.35vw,34px)!important;line-height:1.02!important;letter-spacing:-.04em!important;font-weight:400!important;margin:0 0 13px!important}
.filmstrip p{font-size:14px!important;line-height:1.42!important;color:#aaa9a4!important}
.proof-type{font-family:inherit!important;font-weight:700!important;letter-spacing:-.055em!important}

/* CV: light ledger with ordinal; sheets are evidence, not decoration. */
.cv{min-height:1250px!important;padding:32px var(--rf-pad) 110px!important;background:var(--rf-paper)!important}
.cv-grid{position:relative;z-index:2;width:calc(100% - var(--rf-left))!important;margin-left:var(--rf-left)!important;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr)!important;gap:clamp(36px,5vw,80px)!important;padding-top:95px!important}
.cv h2{font-size:clamp(48px,5vw,72px)!important;line-height:.98!important;letter-spacing:-.055em!important;font-weight:700!important;margin:0 0 24px!important}
.cv-copy>p{font-size:16px!important;line-height:1.4!important;color:#5f5e59!important;margin:0 0 22px!important}
.tech-ledger{border-top:1px solid var(--rf-line-light)!important}
.tech-ledger>div{grid-template-columns:130px 1fr!important;padding:14px 0!important;border-bottom:1px solid var(--rf-line-light)!important}
.tech-ledger dt{font-size:11px!important;text-transform:uppercase!important;letter-spacing:.06em!important;color:#777671!important}
.tech-ledger dd{font-size:14px!important;line-height:1.35!important}
.cv-download{border:1px solid var(--rf-black)!important;border-radius:999px!important;padding:13px 18px!important;font-size:14px!important}
.cv-sheets{min-height:720px!important}
.sheet{box-shadow:0 18px 50px rgba(0,0,0,.16)!important;border:1px solid #aaa!important}

/* Contact: black, restrained display and ledger links. */
.contact{min-height:920px!important;padding:32px var(--rf-pad) 70px!important;background:var(--rf-black)!important;color:#f5f4f0!important}
.contact>h2,.contact-grid{position:relative;z-index:2;width:calc(100% - var(--rf-left))!important;margin-left:var(--rf-left)!important}
.contact>h2{font-size:clamp(52px,6.5vw,96px)!important;line-height:.9!important;letter-spacing:-.06em!important;font-weight:700!important;margin-top:95px!important;margin-bottom:55px!important;color:#f5f4f0!important;-webkit-text-stroke:0!important}
.contact>h2:after{display:none!important}
.contact-grid{grid-template-columns:.85fr 1.15fr!important;gap:60px!important}
.contact-grid>p{font-size:16px!important;line-height:1.45!important;color:#aaa9a4!important;margin:0!important}
.contact-links{border-top:1px solid var(--rf-line-dark)!important}
.contact-links a{grid-template-columns:90px 1fr 24px!important;padding:18px 0!important;border-bottom:1px solid var(--rf-line-dark)!important}
.contact-links span{font-size:11px!important;color:#8e8d88!important}
.contact-links strong{font-size:18px!important;font-weight:400!important}
footer{background:var(--rf-black)!important;color:#aaa9a4!important;border-top:1px solid var(--rf-line-dark)!important;font-family:inherit!important;font-size:11px!important}

@media (max-width:800px){
  :root{--rf-left:0%}
  .capabilities:before,.orch-stage:before,.interfaces:before,.method:before,.proof-stage:before,.cv:before,.contact:before{font-size:clamp(150px,52vw,220px);top:108px;left:16px;opacity:.18}
  .manifest-copy{width:100%!important}
  .manifest h2{font-size:clamp(38px,11vw,52px)!important}
  .capabilities .section-intro,.capabilities .cap-list,.capabilities .cap-note,.orch-stage>header,.orch-lines,.orch-progress,.interfaces>h2,.interface-strip,.method>header,.method-list,.method-note,.proof-header,.cv-grid,.contact>h2,.contact-grid{width:100%!important;margin-left:0!important}
  .capabilities .section-intro,.orch-stage>header,.interfaces>h2,.method>header,.proof-header,.cv-grid,.contact>h2{padding-top:150px!important}
  .capabilities,.interfaces,.method,.cv,.contact{padding-left:16px!important;padding-right:16px!important}
  .orch-stage,.proof-stage{padding-left:16px!important;padding-right:16px!important}
  .capabilities .section-intro h2,.orch-stage h2,.interfaces>h2,.method h2,.proof-header h2,.cv h2{font-size:clamp(42px,12vw,58px)!important}
  .cap-note,.method-note{grid-template-columns:1fr!important}
  .orch-line,.interface,.method-list li{grid-template-columns:42px 1fr!important}
  .orch-line p,.interface p,.method-list p{grid-column:2!important;margin-top:10px!important}
  .interface h3{grid-column:2!important}
  .proof-header{width:100%!important;margin-left:0!important}
  .filmstrip{padding-left:0!important}
  .cv-grid{grid-template-columns:1fr!important}
  .contact-grid{grid-template-columns:1fr!important}
  .contact>h2{font-size:clamp(44px,14vw,62px)!important}
}
