/* JR Capital — page styles on top of industry.css (the design-system base). */
/* Shared with R&R Grandeur Properties: Cormorant Garamond headlines over Inter,
   white grounds (#fff) throughout, and the same gold rule —
   bright gold (#c9a227) only on navy, deep gold (#7a600f) on light grounds,
   because bright gold on ivory is 2.2:1 and fails WCAG AA. */
:root{--font-heading:'Cormorant Garamond','Iowan Old Style',Georgia,'Times New Roman',serif;--font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;font-synthesis-weight:none;--navy:#0e2340;--navy-deep:#0a1a31;--navy-line:rgba(255,255,255,.16);--ivory:#ffffff;--ivory-deep:#eae2d2;--white:#fff;--ink:#1d1f20;--line:#dcd5c8;--ease:cubic-bezier(.22,.61,.36,1);--head-h:72px;--color-bg:var(--ivory);--color-surface:var(--white);--color-text:var(--ink);--color-divider:var(--line);--color-accent:#1d456f;--color-accent-300:#8fb0d0;--color-accent-600:#193c60;--color-accent-700:#14304d;--color-accent-800:#102741;--color-accent-900:#0e2340;--gold:#c9a227;--gold-deep:#7a600f;--gold-ink:var(--gold-deep);--gold-press:#a8861f;--band:var(--white);--edge:#cbc2b1;--acc-ink:var(--gold-deep);--muted:#5d5d60;--edge-soft:var(--line);--field:var(--white);--field-ink:var(--navy);--field-rule:var(--line);}
:root[data-theme="dark"]{--band:color-mix(in srgb,var(--gold) 14%,#111417);--edge:color-mix(in srgb,#e7e9ea 38%,transparent);--color-bg:#111417;--color-surface:#181c20;--color-text:#e7e9ea;--color-divider:color-mix(in srgb,#e7e9ea 20%,transparent);--acc-ink:var(--gold);--muted:#9a9da1;--field:#1d2d3d;--field-ink:#e7e9ea;--field-rule:color-mix(in srgb,#e7e9ea 34%,transparent);--edge-soft:var(--color-divider)}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
section[id],[id="top"]{scroll-margin-top:calc(var(--head-h) - 8px)}
body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-weight:600;letter-spacing:0}
h1,h2,h3{font-family:var(--font-heading);letter-spacing:-.01em}
h4{font-family:var(--font-body);letter-spacing:-.01em}
a{color:var(--acc-ink);text-underline-offset:3px}
a:hover{color:var(--gold-deep)}
:focus-visible{outline:2px solid var(--acc-ink);outline-offset:3px}
::selection{background:rgba(201,162,39,.32)}
.skip{position:absolute;left:-9999px;top:0;z-index:60;background:var(--gold);color:var(--navy);padding:10px 16px;font-weight:600}
.skip:focus{left:16px;top:16px}
/* Even chapters (02, 04, 06, 08, 10) keep their glow but sit on white, as on
   R&R. Text and gold marks use the same tokens as every other section. */
.band{background:var(--white);color:var(--color-text)}
/* Light chapters alternate white and cream between the navy bands, so the page
   runs cream → navy → white → navy → cream, as on R&R (tone-white / tone-light).
   These sections are max-width boxes, so the white is bled to the viewport
   edges with a spread shadow clipped to the section's own height. */
#problem,#platform,#process{background:var(--white);box-shadow:0 0 0 100vmax var(--white);clip-path:inset(0 -100vmax)}
.navy-band{background:var(--field);color:var(--field-ink)}
.blueprint{border-color:var(--edge)}
.table th{border-bottom-color:var(--edge)}

/* ── Buttons: R&R's gold pill with navy text ──────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:8px;padding:16px 28px;border:1px solid transparent;border-radius:999px;font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;line-height:1.2;cursor:pointer;transition:background 240ms ease,color 240ms ease,border-color 240ms ease}
.btn-primary{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.btn-primary:hover{background:#d9b43c;border-color:#d9b43c;color:var(--navy)}
.btn-primary:active{background:var(--gold-press);border-color:var(--gold-press)}
/* Outline pill on light grounds (R&R's ghost button, in ink instead of white). */
.btn-secondary{background:transparent;color:var(--navy);border-color:color-mix(in srgb,var(--navy) 45%,transparent)}
.btn-secondary:hover{background:transparent;border-color:var(--gold-deep);color:var(--gold-deep)}
.btn:focus-visible{outline:2px solid var(--acc-ink);outline-offset:3px}
.btn [data-arrow]{display:inline-block;transition:transform .3s var(--ease)}
.btn:hover [data-arrow]{transform:translateX(5px)}
.table tbody tr{transition:background .2s var(--ease)}
.table td,.table th{transition:color .2s var(--ease)}
[data-criteria-item]{transition:background .26s var(--ease),padding-left .26s var(--ease)}
[data-criteria-item]:hover{background:color-mix(in srgb,var(--gold) 16%,transparent);padding-left:10px}
.input{transition:border-color .26s var(--ease),background .26s var(--ease)}
.field:focus-within > label,.dfield:focus-within label{color:var(--acc-ink)}
.dfield label{transition:color .26s var(--ease)}
[data-step-line]{transform:scaleX(1);transform-origin:left center}
[data-asset]{transition:background .3s var(--ease)}
[data-asset]:hover{background:color-mix(in srgb,#f2f2f3 6%,transparent)}

/* ── Header: R&R's 72px navy bar; glass.css frosts it once the page scrolls ── */
.site-head{position:sticky;top:0;z-index:40;color:#fff;background:var(--navy);transition:background 320ms ease,box-shadow 320ms ease}
.site-head.is-solid{box-shadow:0 1px 0 rgba(201,162,39,.35),0 8px 24px rgba(6,14,28,.18)}
.head-in{max-width:1560px;margin:0 auto;height:var(--head-h);padding:0 64px;display:flex;align-items:center;gap:28px}
.brand{display:inline-flex;align-items:center;margin-right:auto;text-decoration:none;color:#fff}
.navlinks{display:flex;align-items:center;gap:26px}
.navlink{position:relative;font-size:12.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.86);text-decoration:none;padding:6px 0;white-space:nowrap;transition:color 240ms ease}
.navlink::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 320ms var(--ease)}
.navlink:hover,.navlink[aria-current="page"]{color:#fff}
.navlink:hover::after,.navlink[aria-current="page"]::after{transform:scaleX(1)}
.head-cta{flex:none;font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--navy);background:var(--gold);padding:11px 18px;border-radius:999px;transition:background 240ms ease}
.head-cta:hover{background:#d9b43c;color:var(--navy)}
.site-head :focus-visible{outline-color:var(--gold)}
@media (max-width:1279px){.navlinks{display:none}}
@media (max-width:520px){:root{--head-h:64px}.head-cta{padding:9px 12px;font-size:11.5px;letter-spacing:.08em}.hide-s{display:none}.head-in{gap:12px}}

/* ── Footer: R&R's layout ─────────────────────────────────────────────────── */
.site-foot{background:var(--white);color:#3c3c3e;border-top:3px solid var(--gold)}
.foot-in{max-width:1560px;margin:0 auto;padding:64px 64px 28px}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:40px;padding-bottom:44px;border-bottom:1px solid var(--line)}
.foot-addr{margin:22px 0 0;font-size:14px;color:#3c3c3e}
.foot-k{font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:16px}
.foot-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.foot-list li{font-size:14.5px}
.foot-link{color:var(--navy);text-decoration:none;transition:color 200ms ease}
.foot-list .foot-link{color:var(--navy);font-weight:500}
.foot-link:hover{color:var(--gold-deep)}
.foot-disc{display:grid;gap:12px;margin:28px 0 0;max-width:100ch;font-size:12.5px;line-height:1.7;color:var(--muted)}
.foot-disc p{margin:0}
.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;font-size:13px;color:var(--muted)}
.foot-legal{display:flex;flex-wrap:wrap;align-items:center;gap:22px}
@media (max-width:1000px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr}}

[data-step]{min-width:0;padding-bottom:34px}
[data-step]:last-child{padding-bottom:0}
[data-step]:last-child [data-step-line]{display:none}
[data-arm] [data-arm-img]{filter:brightness(.46);transition:filter .52s cubic-bezier(.22,.61,.36,1)}
[data-arm].is-active [data-arm-img]{filter:brightness(.82)}
[data-arm] [data-arm-scrim]{background:linear-gradient(to top,color-mix(in srgb,var(--color-accent-900) 90%,transparent),color-mix(in srgb,var(--color-accent-900) 38%,transparent))}
[data-arm] h4,[data-arm] [data-arm-body] p{color:#f2f2f3}
[data-arm] [data-arm-n]{color:color-mix(in srgb,#f2f2f3 72%,transparent)}
[data-arm].is-passed [data-arm-n]{color:color-mix(in srgb,#f2f2f3 82%,transparent)}
[data-arm].is-active [data-arm-n]{color:#f2f2f3;transform:scale(1.04)}
[data-arm-t]::after{background:#f2f2f3}
[data-arm]{position:relative;cursor:pointer;display:flex;flex-direction:column;flex:0 0 86px;min-width:0;overflow:hidden;transition:flex-basis .52s cubic-bezier(.22,.61,.36,1),flex-grow .52s cubic-bezier(.22,.61,.36,1),background .42s cubic-bezier(.22,.61,.36,1)}
[data-arm].is-active{flex:1 1 0%;background:color-mix(in srgb,var(--color-accent) 8%,transparent)}
[data-arm]::before{content:"";position:absolute;left:0;right:0;top:-1px;height:3px;background:var(--color-accent);transform:scaleX(0);transform-origin:left center;transition:transform .42s cubic-bezier(.22,.61,.36,1)}
[data-arm].is-active::before{transform:scaleX(1)}
[data-arm] [data-arm-body]{position:absolute;left:20px;right:20px;bottom:24px;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .44s cubic-bezier(.22,.61,.36,1),transform .44s cubic-bezier(.22,.61,.36,1)}
[data-arm].is-active [data-arm-body]{opacity:1;transform:none;pointer-events:auto}
@media (max-width:760px){[data-arms]{flex-wrap:wrap !important;min-height:0 !important}[data-arm] [data-arm-img]{filter:brightness(.46);transition:filter .52s cubic-bezier(.22,.61,.36,1)}
[data-arm].is-active [data-arm-img]{filter:brightness(.82)}
[data-arm] [data-arm-scrim]{background:linear-gradient(to top,color-mix(in srgb,var(--color-accent-900) 90%,transparent),color-mix(in srgb,var(--color-accent-900) 38%,transparent))}
[data-arm] h4,[data-arm] [data-arm-body] p{color:#f2f2f3}
[data-arm] [data-arm-n]{color:color-mix(in srgb,#f2f2f3 72%,transparent)}
[data-arm].is-passed [data-arm-n]{color:color-mix(in srgb,#f2f2f3 82%,transparent)}
[data-arm].is-active [data-arm-n]{color:#f2f2f3;transform:scale(1.04)}
[data-arm-t]::after{background:#f2f2f3}
[data-arm]{flex:1 1 100% !important;overflow:visible}[data-arm] [data-arm-body]{position:static;left:auto;right:auto;bottom:auto;opacity:1;transform:none;pointer-events:auto;margin-top:16px}}

.is-sent .dfield{display:none}
.dstatus{display:none;margin:0}
.dstatus.is-shown{display:block}
.dstatus.is-ok{color:var(--color-accent-700)}
.dstatus.is-bad{color:var(--color-neutral-800)}
:root[data-theme="dark"] .dstatus.is-ok{color:var(--gold)}
:root[data-theme="dark"] .dstatus.is-bad{color:var(--color-neutral-300)}
.dfield label{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase}
.tl{position:relative;margin-top:30px}
.tl-rail{position:absolute;left:18px;top:22px;bottom:26px;width:1px}
.tl-track{position:absolute;inset:0;background:var(--edge-soft)}
.tl-fill{position:absolute;left:0;top:0;width:1px;height:0;background:var(--gold-deep)}
.tl-grid{position:relative;display:grid;grid-template-columns:1fr}
.tl-grid > *{min-width:0}
.tl-step{position:relative;display:grid;grid-template-columns:37px 210px minmax(0,1fr);gap:0 28px;align-items:start;padding:24px 0 26px;background:none;border:0;margin:0;font:inherit;text-align:left;cursor:pointer;color:inherit}
.tl-step:focus-visible{outline:2px solid var(--gold-deep);outline-offset:4px}
.tl-node{position:relative;display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:var(--band);box-shadow:inset 0 0 0 1px var(--edge);transition:box-shadow .34s cubic-bezier(.22,.61,.36,1),transform .34s cubic-bezier(.22,.61,.36,1)}
.tl-ring{position:absolute;inset:-5px;border-radius:50%;box-shadow:0 0 0 1px var(--gold-deep);opacity:0;transform:scale(.9);transition:opacity .34s ease,transform .34s cubic-bezier(.22,.61,.36,1)}
.tl-dot{position:absolute;inset:0;border-radius:50%;background:var(--gold-deep);opacity:0;transition:opacity .34s ease}
.tl-step.is-on .tl-n{color:#fff !important}
.tl-n{position:relative;font-weight:700;font-size:12.5px;letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--muted);transition:color .34s ease}
.tl-t{grid-column:2;display:block;font-family:var(--font-heading);font-weight:600;font-size:26px;line-height:1.1;margin:0;color:var(--muted);transition:color .36s ease}
.tl-b{grid-column:3;display:block;font-size:15px;line-height:1.6;max-width:58ch;color:var(--muted);margin:0;transition:color .44s ease}
.tl-step.is-past .tl-node{box-shadow:inset 0 0 0 1px var(--gold-deep)}
.tl-step.is-past .tl-n{color:var(--gold-deep)}
.tl-step.is-on .tl-node{transform:scale(1.04);box-shadow:inset 0 0 0 1px var(--gold-deep)}
.tl-step.is-on .tl-dot{opacity:1}
.tl-step.is-on .tl-ring{opacity:1;transform:scale(1)}
.tl-step.is-on .tl-t{color:var(--color-accent-900)}
.tl-step.is-on .tl-b{color:var(--color-text);animation:tlEnter .44s cubic-bezier(.22,.61,.36,1) both}
@keyframes tlEnter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (hover:hover){.tl-step:hover .tl-node{transform:scale(1.03);box-shadow:inset 0 0 0 1px var(--gold-deep)}.tl-step:hover .tl-t{color:var(--color-accent-900)}.tl-step:hover .tl-b{color:var(--color-text)}}
@media (max-width:820px){.tl-step{grid-template-columns:37px minmax(0,1fr);gap:0 22px}.tl-node{grid-row:1/span 2}.tl-t{margin-bottom:9px}.tl-b{grid-column:2;font-size:14.5px}}
@media (prefers-reduced-motion:reduce){.tl-node,.tl-ring,.tl-dot,.tl-n,.tl-t,.tl-b{transition:none !important}.tl-step.is-on .tl-b{animation:none !important}.tl-fill{height:100% !important}}
[data-chapter]{grid-template-columns:240px minmax(0,1fr)}
@media (max-width:940px){[data-chapter],section > div[style*="240px"]{grid-template-columns:minmax(0,1fr) !important}}
@media (max-width:940px){[data-rail]{position:static !important;top:auto !important}}
/* Scroll reveals (R&R's): nothing is hidden at load. main.js marks only items
   still below the fold once the visitor starts scrolling, and unmarks each as
   it arrives. No script, no observer or reduced motion: nothing is ever hidden. */
.pre{opacity:0;transform:translateY(48px)}
.rev{transition:opacity 900ms var(--ease),transform 900ms var(--ease);transition-delay:var(--d,0ms)}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important}.pre{opacity:1;transform:none}}
/* Phones: the 64px desktop gutter would leave too little room for content. */
@media (max-width:700px){[data-gutter]{padding-left:20px !important;padding-right:20px !important}}
/* Long-form pages (legal): same layout as R&R's. */
.legal{max-width:964px;margin:0 auto;padding:clamp(48px,6vw,88px) 64px clamp(64px,7vw,104px)}
.crumbs{display:flex;align-items:center;gap:12px;margin-bottom:30px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.crumbs a{color:var(--navy);text-decoration:none}
.crumbs a:hover{color:var(--gold-deep)}
.crumbs-sep{color:var(--gold-deep)}
.legal h1,.legal-body h2{font-variant-numeric:lining-nums}
.legal h1{font-weight:600;font-size:clamp(42px,5vw,64px);line-height:1.04;color:var(--navy);margin:0 0 14px}
.legal-date{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--muted);padding-bottom:32px;margin-bottom:40px;border-bottom:1px solid var(--line)}
.legal-note{margin:0 0 32px;padding:22px 26px;font-size:16.5px;line-height:1.65;color:#3c3c3e;text-align:justify;background:rgba(201,162,39,.08);border-left:3px solid var(--gold)}
.legal-note strong{color:var(--navy)}
.legal-body h2{font-weight:600;font-size:clamp(26px,2.4vw,32px);line-height:1.15;color:var(--navy);margin:48px 0 14px}
.legal-body h3{font-family:var(--font-body);font-weight:600;font-size:17px;line-height:1.3;letter-spacing:0;color:var(--navy);margin:26px 0 10px}
.legal-body p,.legal-body li{font-size:16.5px;line-height:1.72;color:#3c3c3e;text-align:justify}
.legal-body p{margin:0 0 16px}
.legal-body ul{padding-left:22px;margin:0 0 18px}
.legal-body li{margin-bottom:8px}
.legal-body li::marker{color:var(--gold-deep)}
.legal-body strong{color:var(--navy);font-weight:600}
.legal-body a{color:var(--gold-deep)}
@media (max-width:640px){.legal-note,.legal-body p{hyphens:auto}.legal-body li{text-align:left}}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* ── Open layouts (fewer lines and boxes) ─────────────────────────────────── */
/* Dark band: six stages in rows of 3 (all 6 across on wide screens), four traits 2×2 (4 across). */
.stages{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 32px;padding:34px 0 0}
.traits{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;padding:52px 0 0}
@media (min-width:640px){.stages{grid-template-columns:repeat(3,minmax(0,1fr))}.traits{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1280px){.stages{grid-template-columns:repeat(6,minmax(0,1fr))}.traits{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* 02 Value creation: 2×2, or all 4 on one line from 1280px. */
.quad{display:grid;grid-template-columns:minmax(0,1fr);gap:40px 30px}
@media (min-width:640px){.quad{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1280px){.quad{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* 08 Standards: open columns, 3 across on wide screens. */
.standards{display:grid;grid-template-columns:minmax(0,1fr);gap:40px 36px}
@media (min-width:640px){.standards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.standards{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* 06 bullets: gold squares instead of rules. */
.squares{gap:4px}
.squares li{position:relative;padding:6px 0 6px 22px}
.squares li::before{content:"";position:absolute;left:0;top:calc(6px + .75em - 4px);width:8px;height:8px;background:var(--gold-deep);transition:transform .36s cubic-bezier(.34,1.56,.64,1) calc(var(--i,0) * 90ms)}
.squares [data-criteria-item]:hover{padding-left:30px}
.squares.is-waiting li::before{transform:scale(0)}
/* Chapter numbers: short gold line under the number; on narrow screens the label sits beside it. */
.rail-line{display:block;width:44px;height:2px;margin-top:14px;background:var(--acc-ink);transform-origin:left center;transition:transform .7s cubic-bezier(.22,.61,.36,1) .25s}
[data-rail].pre .rail-line{transform:scaleX(0)}
@media (max-width:940px){[data-rail]{display:flex;align-items:center;gap:18px}[data-rail] .rail-l{margin:0 !important}}

/* ── Micro-animations ─────────────────────────────────────────────────────── */
/* Scroll progress along the bottom of the header. */
.scroll-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left center;pointer-events:none}
/* Dark band: gold line draws across above the stages; square markers on wide screens. */
.stages::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--gold);transform-origin:left center;transition:transform 1.1s cubic-bezier(.22,.61,.36,1)}
.stages.is-waiting::before{transform:scaleX(0)}
.stage-t{transition:color .26s cubic-bezier(.22,.61,.36,1),transform .26s cubic-bezier(.22,.61,.36,1)}
.stage:hover .stage-t{color:var(--gold-deep);transform:translateX(6px)}
@media (min-width:1280px){.stage{position:relative}.stage::before{content:"";position:absolute;left:0;top:-38px;width:8px;height:8px;background:var(--gold);transition:transform .3s cubic-bezier(.22,.61,.36,1)}.stage:hover::before{transform:scale(1.6)}}
/* 02 numbers and 06 codes slide right. */
.slide-n{transition:transform .3s cubic-bezier(.22,.61,.36,1)}
.slide-item:hover .slide-n{transform:translateX(8px)}
/* 07 market names turn gold and shift. */
.city{transition:color .26s cubic-bezier(.22,.61,.36,1),transform .26s cubic-bezier(.22,.61,.36,1)}
.city-row:hover .city{color:var(--gold-deep);transform:translateX(6px)}
/* 08 standards: gold bar above each one stretches. */
.standard-bar{display:block;width:28px;height:3px;margin:0 0 18px;background:var(--acc-ink);transition:width .42s cubic-bezier(.22,.61,.36,1)}
.standard:hover .standard-bar{width:72px}
/* 11 contact links: underline grows in. */
.grow-link{text-decoration:none;background:linear-gradient(currentColor,currentColor) left bottom/0 1px no-repeat;padding-bottom:2px;transition:background-size .36s cubic-bezier(.22,.61,.36,1)}
.grow-link:hover,.grow-link:focus-visible{background-size:100% 1px}
