.iv-contracts-page { overflow: clip; background: radial-gradient(circle at 78% 12%, rgba(58,70,51,.22), transparent 28rem), #101210; }
.iv-contract-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.72fr); gap: clamp(50px,8vw,140px); min-height: 720px; padding: 180px var(--page) 110px; border-bottom: 1px solid var(--line); }
.iv-contract-hero h1 { max-width: 840px; margin: 70px 0 30px; font-size: clamp(72px,8vw,138px); line-height: .92; letter-spacing: -.075em; }
.iv-contract-hero h1 em,
.iv-contract-note h2 em { color: #7e8876; font-style: normal; font-weight: 400; }
.iv-contract-hero p { max-width: 720px; color: var(--muted); font-size: clamp(18px,1.55vw,24px); line-height: 1.6; }
.iv-contract-orbit { position: relative; align-self: center; min-height: 520px; }
.iv-contract-orbit:before { content: ""; position: absolute; inset: 9%; border-radius: 50%; background: radial-gradient(circle, rgba(216,207,194,.24), rgba(58,70,51,.18) 32%, transparent 68%); filter: blur(4px); animation: iv-contract-pulse 7s ease-in-out infinite; }
.iv-contract-orbit i { position: absolute; inset: 12%; border: 1px solid rgba(216,207,194,.18); border-radius: 50%; animation: iv-contract-spin 18s linear infinite; }
.iv-contract-orbit i:nth-of-type(2) { inset: 25%; animation-direction: reverse; animation-duration: 12s; }
.iv-contract-orbit i:nth-of-type(3) { inset: 38%; animation-duration: 8s; }
.iv-contract-orbit span { position: absolute; padding: 9px 13px; border: 1px solid rgba(216,207,194,.25); border-radius: 999px; color: #c7c2ba; background: #151815; font-family: var(--mono); font-size: 9px; letter-spacing: .12em; }
.iv-contract-orbit span:nth-of-type(1) { left: 7%; top: 22%; }
.iv-contract-orbit span:nth-of-type(2) { right: 2%; top: 29%; }
.iv-contract-orbit span:nth-of-type(3) { left: 15%; bottom: 18%; }
.iv-contract-orbit span:nth-of-type(4) { right: 9%; bottom: 13%; }
.iv-contract-orbit b { position: absolute; inset: 0; display: grid; place-items: center; color: #faf9f6; font-size: clamp(62px,7vw,112px); letter-spacing: -.08em; }
.iv-contract-flow,
.iv-contract-clauses,
.iv-scope-section { padding: clamp(90px,10vw,170px) var(--page); }
.iv-contract-timeline { display: grid; grid-template-columns: repeat(5,1fr); gap: 1px; margin-top: 70px; overflow: hidden; border: 1px solid var(--line); border-radius: 32px; background: var(--line); }
.iv-contract-timeline article { min-height: 360px; padding: 27px; background: #151715; }
.iv-contract-timeline article:nth-child(3) { color: #1f1f1f; background: #d8cfc2; }
.iv-contract-timeline span { color: #879081; font-family: var(--mono); font-size: 10px; letter-spacing: .13em; }
.iv-contract-timeline h3 { margin: 100px 0 18px; font-size: clamp(25px,2.3vw,39px); }
.iv-contract-timeline p { min-height: 92px; color: var(--muted); line-height: 1.55; }
.iv-contract-timeline article:nth-child(3) p,
.iv-contract-timeline article:nth-child(3) span,
.iv-contract-timeline article:nth-child(3) i { color: #3a4633; }
.iv-contract-timeline i { color: #9ea598; font-family: var(--mono); font-size: 9px; font-style: normal; letter-spacing: .08em; }
.iv-contract-clauses { border-top: 1px solid var(--line); }
.iv-clause-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-top: 70px; }
.iv-clause-grid article { min-height: 300px; padding: 28px; border: 1px solid var(--line); border-radius: 28px; background: rgba(250,249,246,.015); transition: transform .4s, background .4s; }
.iv-clause-grid article:hover { transform: translateY(-6px); background: rgba(58,70,51,.14); }
.iv-clause-grid span { color: #838c7d; font-family: var(--mono); font-size: 10px; }
.iv-clause-grid h3 { margin: 82px 0 17px; font-size: 28px; }
.iv-clause-grid p { color: var(--muted); line-height: 1.62; }
.iv-scope-section { border-top: 1px solid var(--line); }
.iv-scope-list { margin-top: 70px; border-top: 1px solid var(--line); }
.iv-scope-list article { scroll-margin-top: 120px; border-bottom: 1px solid var(--line); }
.iv-scope-list button { display: grid; width: 100%; grid-template-columns: 80px 1fr 54px; align-items: center; padding: 28px 0; border: 0; color: #faf9f6; background: transparent; text-align: left; cursor: pointer; }
.iv-scope-list button span { color: #858d81; font-family: var(--mono); font-size: 10px; }
.iv-scope-list button strong { font-size: clamp(28px,4vw,58px); letter-spacing: -.04em; }
.iv-scope-list button i { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid var(--line); border-radius: 50%; font-size: 24px; font-style: normal; transition: transform .35s, background .35s; }
.iv-scope-list button[aria-expanded="true"] i { color: #1f1f1f; background: #d8cfc2; transform: rotate(45deg); }
.iv-scope-list article > div { display: grid; grid-template-columns: 1fr 1.35fr auto; gap: 30px; padding: 10px 0 38px 80px; }
.iv-scope-list article > div p { margin: 0; color: var(--muted); line-height: 1.65; }
.iv-scope-list article > div a { align-self: end; color: #d8cfc2; white-space: nowrap; }
.iv-contract-note { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px,8vw,130px); margin: 0 var(--page) clamp(90px,10vw,170px); padding: clamp(35px,5vw,76px); border-radius: 34px; color: #1f1f1f; background: #d8cfc2; }
.iv-contract-note span { font-family: var(--mono); font-size: 10px; letter-spacing: .13em; }
.iv-contract-note h2 { margin: 30px 0 0; font-size: clamp(46px,5.8vw,90px); line-height: .95; letter-spacing: -.055em; }
.iv-contract-note p { font-size: 17px; line-height: 1.7; }
.iv-contract-note a { display: inline-block; margin-top: 30px; color: #1f1f1f; font-weight: 700; }
@keyframes iv-contract-spin { to { transform: rotate(360deg); } }
@keyframes iv-contract-pulse { 50% { transform: scale(.92); filter: blur(10px); } }
@media (max-width: 1050px) {
  .iv-contract-hero { grid-template-columns: 1fr; padding-top: 145px; }
  .iv-contract-orbit { min-height: 430px; }
  .iv-contract-timeline { grid-template-columns: repeat(2,1fr); }
  .iv-clause-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 700px) {
  .iv-contract-hero { min-height: auto; padding-top: 120px; }
  .iv-contract-hero h1 { margin-top: 45px; font-size: clamp(58px,18vw,82px); }
  .iv-contract-orbit { min-height: 330px; }
  .iv-contract-timeline,
  .iv-clause-grid,
  .iv-contract-note { grid-template-columns: 1fr; }
  .iv-contract-timeline article { min-height: 280px; }
  .iv-contract-timeline h3 { margin-top: 55px; }
  .iv-scope-list button { grid-template-columns: 45px 1fr 48px; }
  .iv-scope-list article > div { grid-template-columns: 1fr; padding-left: 45px; }
}
