:root {
  --individual-ink: #101012;
  --individual-graphite: #232326;
  --individual-silver: #d7d7dc;
}

.individual-hero {
  min-height: 820px;
  display: grid;
  align-items: center;
  padding: 80px 0 86px;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 82% 18%, rgba(255, 255, 255, .12), transparent 29%),
    radial-gradient(circle at 15% 92%, rgba(255, 255, 255, .07), transparent 31%),
    #0d0d0f;
}
.individual-hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(430px, .95fr); align-items: center; gap: clamp(46px, 6vw, 92px); }
.individual-hero-copy { min-width: 0; }
.breadcrumb { display: flex; gap: 9px; margin: 0 0 52px; color: #88888e; font-size: 12px; }
.breadcrumb a:hover { color: #fff; }
.individual-hero .eyebrow { color: #a9a9af; }
.individual-hero h1 { max-width: 760px; margin: 0 0 27px; font-size: clamp(52px, 6vw, 84px); line-height: .97; letter-spacing: -.057em; }
.individual-hero .hero-copy { max-width: 720px; margin: 0; color: #b8b8be; font-size: clamp(19px, 1.75vw, 23px); }
.individual-hero .hero-actions { justify-content: flex-start; }
.individual-hero .button.primary { border-color: #fff; color: #000; background: #fff; }
.individual-hero .button-light { border-color: #55555b; color: #fff; }
.individual-hero .microcopy { color: #85858b; }

.blueprint { min-width: 0; overflow: hidden; border: 1px solid rgba(255, 255, 255, .14); border-radius: 32px; background: rgba(31, 31, 34, .82); box-shadow: 0 44px 100px rgba(0, 0, 0, .46); transform: perspective(1400px) rotateY(-2deg) rotateX(1deg) scale(.985); }
.blueprint-bar, .blueprint-foot { display: flex; align-items: center; justify-content: space-between; padding: 17px 20px; color: #96969c; font-size: 10px; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }
.blueprint-bar { border-bottom: 1px solid rgba(255, 255, 255, .1); }
.blueprint-state { display: flex; align-items: center; gap: 7px; }
.blueprint-state i { width: 7px; height: 7px; border-radius: 50%; background: #f4f4f6; box-shadow: 0 0 0 4px rgba(255, 255, 255, .08); }
.blueprint-canvas { height: 455px; position: relative; }
.blueprint-grid { position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.16) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.16) 1px, transparent 1px); background-size: 38px 38px; mask-image: radial-gradient(circle, #000, transparent 82%); }
.blueprint-core { width: 178px; height: 178px; display: grid; place-content: center; position: absolute; z-index: 2; top: 50%; left: 50%; padding: 24px; translate: -50% -50%; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; background: linear-gradient(145deg, #f7f7f9, #b9b9be); color: #111; text-align: center; box-shadow: 0 28px 60px rgba(0,0,0,.34); }
.blueprint-core::after { content: "Q"; position: absolute; inset: 0; display: grid; place-content: center; color: #000; opacity: .045; font-size: 116px; font-weight: 800; }
.blueprint-core small, .blueprint-core span { color: #5c5c61; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.blueprint-core strong { margin: 7px 0; font-size: 23px; letter-spacing: -.035em; }
.blueprint-node { min-width: 110px; display: flex; align-items: center; gap: 11px; position: absolute; z-index: 2; padding: 14px 15px; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(15,15,17,.86); box-shadow: 0 15px 38px rgba(0,0,0,.28); }
.blueprint-node small { color: #74747a; font-size: 9px; }
.blueprint-node strong { font-size: 13px; }
.node-data { top: 58px; left: 28px; }
.node-rules { top: 54px; right: 27px; }
.node-api { bottom: 54px; left: 27px; }
.node-users { right: 29px; bottom: 58px; }
.blueprint-line { width: 128px; height: 1px; position: absolute; z-index: 1; left: 50%; background: linear-gradient(90deg, rgba(255,255,255,.15), rgba(255,255,255,.6)); transform-origin: left center; }
.line-data { top: 49%; rotate: -142deg; }
.line-rules { top: 49%; rotate: -38deg; }
.line-api { top: 51%; rotate: 142deg; }
.line-users { top: 51%; rotate: 38deg; }
.blueprint-foot { justify-content: space-around; border-top: 1px solid rgba(255, 255, 255, .1); }

.individual-section { padding: 118px 0; }
.individual-section h2, .individual-cta h2 { margin: 10px 0 24px; font-size: clamp(43px, 5.3vw, 72px); line-height: 1; letter-spacing: -.052em; }
.section-head { margin-bottom: 52px; }
.split-head { display: grid; grid-template-columns: minmax(180px, .34fr) minmax(0, 1fr); gap: 60px; align-items: start; }
.split-head h2 { max-width: 880px; margin-top: 0; }
.split-head .intro { margin-left: 0; }
.intro-follow { margin-top: 18px !important; }
.signal-grid { min-width: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.signal-card { min-width: 0; min-height: 330px; display: flex; flex-direction: column; padding: 34px; border: 1px solid #e2e2e5; border-radius: 28px; background: #f7f7f9; }
.signal-card > span { color: #85858b; font-size: 12px; font-weight: 750; letter-spacing: .1em; }
.signal-card h3 { margin: auto 0 15px; overflow-wrap: anywhere; font-size: 29px; line-height: 1.05; letter-spacing: -.04em; }
.signal-card p { margin: 0; color: var(--mid); font-size: 16px; line-height: 1.5; }
.signal-card-dark { color: #fff; background: #111113; box-shadow: 0 30px 70px rgba(0,0,0,.17); }
.signal-card-dark p { color: #a8a8ae; }

.applications-section { background: #f4f4f6; }
.centered-head { max-width: 920px; margin-right: auto; margin-left: auto; text-align: center; }
.application-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.application-card { min-height: 385px; padding: 36px; border: 1px solid #e1e1e4; border-radius: 30px; background: #fff; box-shadow: 0 18px 50px rgba(0,0,0,.055); }
.application-card > small { display: block; margin-top: 42px; color: #77777d; font-size: 11px; font-weight: 750; letter-spacing: .12em; }
.application-card h3 { max-width: 500px; margin: 12px 0 15px; font-size: clamp(28px, 3vw, 39px); line-height: 1.03; letter-spacing: -.045em; }
.application-card p { max-width: 560px; margin: 0; color: var(--mid); font-size: 17px; line-height: 1.5; }
.application-card-dark { border-color: #111; color: #fff; background: #111113; }
.application-card-dark p { color: #aaaab0; }
.application-icon { width: 78px; height: 78px; display: grid; grid-template-columns: repeat(3, 1fr); align-items: end; gap: 5px; padding: 17px; border-radius: 20px; background: #f0f0f2; }
.application-icon span { display: block; border-radius: 8px; background: #1c1c1f; }
.application-icon span:nth-child(1) { height: 45%; }.application-icon span:nth-child(2) { height: 86%; }.application-icon span:nth-child(3) { height: 63%; }
.document-icon { display: block; position: relative; }.document-icon span { height: 4px !important; margin: 8px 0; border-radius: 4px; }.document-icon span:nth-child(3) { width: 60%; }
.flow-icon { background: #29292d; }.flow-icon span { border: 2px solid #fff; background: transparent; }.flow-icon span:nth-child(1) { height: 35%; }.flow-icon span:nth-child(2) { height: 65%; }.flow-icon span:nth-child(3) { height: 100%; }
.portal-icon { grid-template-columns: 1fr 1fr; align-items: stretch; }.portal-icon span:first-child { grid-column: 1 / -1; height: 13px; }.portal-icon span:nth-child(2), .portal-icon span:nth-child(3) { height: 28px; }
.section-note { max-width: 850px; margin: 28px auto 0; color: #68686d; font-size: 14px; line-height: 1.5; text-align: center; }

.process-section { color: #fff; background: #0d0d0f; }
.process-head { max-width: 900px; }
.process-section .section-label { color: #85858b; }
.process-section .intro { margin-left: 0; color: #aaaab0; }
.individual-process { margin: 64px 0 0; padding: 0; list-style: none; border-top: 1px solid #333338; counter-reset: steps; }
.individual-process li { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 30px; padding: 34px 0; border-bottom: 1px solid #333338; }
.process-number { color: #737379; font-size: 13px; font-weight: 750; letter-spacing: .12em; }
.individual-process h3 { margin: 0 0 10px; font-size: 29px; letter-spacing: -.035em; }
.individual-process p { max-width: 890px; margin: 0; color: #aaaab0; font-size: 17px; line-height: 1.55; }
.process-note { display: grid; grid-template-columns: 34px 1fr; gap: 14px; margin-top: 28px; padding: 20px 22px; border: 1px solid #36363b; border-radius: 17px; background: #171719; }
.process-note span { width: 27px; height: 27px; display: grid; place-content: center; border: 1px solid #66666c; border-radius: 50%; color: #c7c7cc; font-size: 12px; font-weight: 800; }
.process-note p { margin: 2px 0 0; color: #9f9fa5; font-size: 14px; line-height: 1.5; }
.section-action { margin-top: 32px; }
.process-section .button.primary { border-color: #fff; color: #000; background: #fff; }

.scope-section { background: #fff; }
.scope-layout { display: grid; grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr); gap: 70px 90px; }
.scope-copy { position: sticky; top: 105px; align-self: start; }
.scope-copy h2 { font-size: clamp(42px, 4.7vw, 66px); }
.scope-copy .intro { margin-left: 0; }
.scope-stack { display: grid; gap: 14px; }
.scope-stack article { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 22px; padding: 29px; border: 1px solid #e1e1e4; border-radius: 24px; background: #f7f7f9; }
.scope-stack article > span { width: 40px; height: 40px; display: grid; place-content: center; border-radius: 50%; background: #111; color: #fff; font-size: 11px; font-weight: 750; }
.scope-stack h3 { margin: 3px 0 10px; font-size: 24px; letter-spacing: -.035em; }
.scope-stack p { margin: 0; color: var(--mid); font-size: 16px; line-height: 1.5; }
.scope-change { grid-column: 2; margin: -45px 0 0; padding: 0 8px; color: #66666c; font-size: 14px; line-height: 1.55; }

.commercial-section { background: #f4f4f6; }
.commercial-grid { display: grid; grid-template-columns: 1fr 1fr .8fr; gap: 18px; align-items: stretch; }
.commercial-card { min-height: 445px; padding: 33px; border: 1px solid #dedee2; border-radius: 30px; background: #fff; box-shadow: 0 18px 46px rgba(0,0,0,.055); }
.commercial-card-license { color: #fff; background: #111113; box-shadow: 0 30px 70px rgba(0,0,0,.18); }
.commercial-top { display: flex; justify-content: space-between; color: #7c7c82; font-size: 11px; font-weight: 750; letter-spacing: .1em; }
.commercial-card h3 { margin: 90px 0 18px; font-size: 34px; letter-spacing: -.04em; }
.commercial-card p { color: var(--mid); font-size: 16px; line-height: 1.53; }
.commercial-card-license p { color: #aaaab0; }
.commercial-card-costs h3 { margin-top: 90px; }
.price-line { display: grid; grid-template-columns: .8fr 1.2fr; gap: 40px; margin-top: 22px; padding: 25px 29px; border: 1px solid #d8d8dc; border-radius: 20px; background: rgba(255,255,255,.7); }
.price-line strong { font-size: 17px; }.price-line span { color: #66666c; font-size: 13px; line-height: 1.5; }

.control-section { color: #fff; background: #111113; }
.control-head { max-width: 940px; }
.control-head .section-label { color: #85858b; }
.control-head .intro { margin-left: 0; color: #aaaab0; }
.control-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #343439; border-left: 1px solid #343439; }
.control-grid article { min-height: 330px; padding: 29px; border-right: 1px solid #343439; border-bottom: 1px solid #343439; }
.control-mark { display: block; color: #74747a; font-size: 11px; font-weight: 750; letter-spacing: .1em; }
.control-grid h3 { margin: 90px 0 13px; font-size: 25px; line-height: 1.08; letter-spacing: -.035em; }
.control-grid p { margin: 0; color: #a4a4aa; font-size: 15px; line-height: 1.5; }
.control-disclaimer { max-width: 830px; margin: 28px 0 0; color: #85858b; font-size: 13px; line-height: 1.5; }

.faq-section { background: #fff; }
.faq-layout { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); gap: 80px; align-items: start; }
.faq-intro { position: sticky; top: 105px; }
.faq-intro h2 { margin-top: 12px; font-size: clamp(40px, 4.6vw, 64px); }
.faq-intro p { color: var(--mid); font-size: 17px; line-height: 1.5; }
.faq { border-top: 1px solid #d8d8dc; }
.faq details { border-bottom: 1px solid #d8d8dc; }
.faq summary { position: relative; padding: 25px 48px 25px 0; cursor: pointer; list-style: none; font-size: 19px; font-weight: 700; letter-spacing: -.02em; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; top: 21px; right: 3px; color: #74747a; font-size: 27px; font-weight: 400; }
.faq details[open] summary::after { content: "–"; }
.faq details p { max-width: 760px; margin: -4px 48px 25px 0; color: var(--mid); font-size: 16px; line-height: 1.55; }

.individual-cta { padding: 122px 0 78px; color: #fff; background: #000; text-align: center; }
.individual-cta .section-label { color: #85858b; }
.individual-cta h2 { max-width: 970px; margin-right: auto; margin-left: auto; }
.individual-cta > .container > p { max-width: 770px; margin: 0 auto 31px; color: #aaaab0; font-size: 20px; line-height: 1.45; }
.individual-cta .button { border-color: #fff; color: #000; background: #fff; }
.cta-steps { display: flex; align-items: center; justify-content: center; gap: 13px; margin-top: 66px; color: #8c8c92; font-size: 12px; font-weight: 650; }
.cta-steps i { width: 32px; height: 1px; background: #404045; }

@media (max-width: 1050px) {
  .individual-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(350px, .8fr); gap: 38px; }
  .blueprint { transform: none; }
  .commercial-grid { grid-template-columns: 1fr 1fr; }
  .commercial-card-costs { grid-column: 1 / -1; min-height: 320px; }
  .control-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
  .individual-hero { padding: 58px 0 72px; }
  .individual-hero-grid, .split-head, .scope-layout, .faq-layout { grid-template-columns: 1fr; }
  .breadcrumb { margin-bottom: 36px; }
  .blueprint { width: min(620px, 100%); margin: 10px auto 0; }
  .signal-grid { grid-template-columns: 1fr; }
  .signal-card { min-height: 260px; }
  .scope-copy, .faq-intro { position: static; }
  .scope-change { grid-column: 1; margin-top: -42px; }
  .application-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .individual-section { padding: 82px 0; }
  .individual-hero h1 { font-size: clamp(43px, 13vw, 62px); }
  .individual-hero .hero-actions { align-items: stretch; }
  .individual-hero .button { width: 100%; }
  .blueprint-canvas { height: 390px; }
  .blueprint-core { width: 144px; height: 144px; }
  .blueprint-node { min-width: 92px; padding: 11px; }
  .node-data, .node-api { left: 13px; }.node-rules, .node-users { right: 13px; }
  .blueprint-line { width: 100px; }
  .signal-card, .application-card, .commercial-card { padding: 27px; border-radius: 24px; }
  .application-card { min-height: 350px; }
  .individual-process li { grid-template-columns: 48px minmax(0, 1fr); gap: 12px; }
  .individual-process h3 { font-size: 24px; }
  .scope-stack article { grid-template-columns: 1fr; }
  .scope-change { margin-top: -40px; }
  .commercial-grid, .price-line, .control-grid { grid-template-columns: 1fr; }
  .commercial-card-costs { grid-column: auto; }
  .commercial-card { min-height: 380px; }
  .control-grid article { min-height: 275px; }
  .control-grid h3 { margin-top: 60px; }
  .cta-steps { display: grid; grid-template-columns: 1fr; }
  .cta-steps i { width: 1px; height: 18px; margin: auto; }
}

@media (prefers-reduced-motion: no-preference) {
  .blueprint { animation: blueprint-float 7s ease-in-out infinite; }
  @keyframes blueprint-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -8px; } }
}
